@@ -187,6 +187,85 @@ ruleTester.run("no-invalid-properties", rule, {
187187 // },
188188 // },
189189 // },
190+
191+ // relative rgb() values
192+ "a { color: rgb(25 25 25 / 50%) }" ,
193+ "a { color: rgb(from hsl(0 100% 50%) r g b) }" ,
194+ "a { color: rgb(from hsl(0 100% 50%) 132 132 224) }" ,
195+ "a { color: rgb(from #123456 calc(r + 40) calc(g + 40) b) }" ,
196+ "a { color: rgb(from hwb(120deg 10% 20%) r g calc(b + 200)) }" ,
197+ "a { color: rgb(from hsl(0 100% 50%) r 80 80) }" ,
198+ "a { color: rgb(from hsl(0 100% 50% / 0.8) r g b / alpha) }" ,
199+ "a { color: rgb(from hsl(0 100% 50% / 0.8) r g b / 0.5) }" ,
200+ "a { color: rgb(from hsl(0 100% 50%) calc(r/2) calc(g + 25) calc(b + 175) / calc(alpha - 0.1)) }" ,
201+
202+ // relative rgba() values
203+ "a { color: rgba(25 25 25 / 50%) }" ,
204+ "a { color: rgba(from hsl(0 100% 50%) r g b) }" ,
205+ "a { color: rgba(from hsl(0 100% 50%) 132 132 224) }" ,
206+ "a { color: rgba(from #123456 calc(r + 40) calc(g + 40) b) }" ,
207+ "a { color: rgba(from hwb(120deg 10% 20%) r g calc(b + 200)) }" ,
208+ "a { color: rgba(from hsl(0 100% 50%) r 80 80) }" ,
209+ "a { color: rgba(from hsl(0 100% 50% / 0.8) r g b / alpha) }" ,
210+ "a { color: rgba(from hsl(0 100% 50% / 0.8) r g b / 0.5) }" ,
211+ "a { color: rgba(from hsl(0 100% 50%) calc(r/2) calc(g + 25) calc(b + 175) / calc(alpha - 0.1)) }" ,
212+
213+ // relative hsl() values
214+ "a { color: hsl(50 80% 40%) }" ,
215+ "a { color: hsl(150deg 30% 60%) }" ,
216+ "a { color: hsl(0.3turn 60% 45% / 0.7) }" ,
217+ "a { color: hsl(0 80% 50% / 25%) }" ,
218+ "a { color: hsl(none 75% 25%) }" ,
219+ "a { color: hsl(from green h s l / 0.5) }" ,
220+ "a { color: hsl(from #123456 h s calc(l + 20)) }" ,
221+ "a { color: hsl(from rgb(200 0 0) calc(h + 30) s calc(l + 30)) }" ,
222+
223+ // relative hsla() values
224+ "a { color: hsla(50 80% 40%) }" ,
225+ "a { color: hsla(150deg 30% 60%) }" ,
226+ "a { color: hsla(0.3turn 60% 45% / 0.7) }" ,
227+ "a { color: hsla(0 80% 50% / 25%) }" ,
228+ "a { color: hsla(none 75% 25%) }" ,
229+ "a { color: hsla(from green h s l / 0.5) }" ,
230+ "a { color: hsla(from #123456 h s calc(l + 20)) }" ,
231+ "a { color: hsla(from rgb(200 0 0) calc(h + 30) s calc(l + 30)) }" ,
232+
233+ // relative hwb() values
234+ "a { color: hwb(12 50% 0%) }" ,
235+ "a { color: hwb(50deg 30% 40%) }" ,
236+ "a { color: hwb(0.5turn 10% 0% / 0.5) }" ,
237+ "a { color: hwb(0 100% 0% / 50%) }" ,
238+ "a { color: hwb(from green h w b / 0.5) }" ,
239+ "a { color: hwb(from #123456 h calc(w + 30) b) }" ,
240+ "a { color: hwb(from lch(40% 70 240deg) h w calc(b - 30)) }" ,
241+
242+ // relative lab() values
243+ "a { color: lab(29.2345% 39.3825 20.0664) }" ,
244+ "a { color: lab(52.2345% 40.1645 59.9971 / .5) }" ,
245+ "a { color: lab(from green l a b / 0.5) }" ,
246+ "a { color: lab(from #123456 calc(l + 10) a b) }" ,
247+ "a { color: lab(from hsl(180 100% 50%) calc(l - 10) a b) }" ,
248+
249+ // relative oklab() values
250+ "a { color: oklab(29.2345% 39.3825 20.0664) }" ,
251+ "a { color: oklab(52.2345% 40.1645 59.9971 / .5) }" ,
252+ "a { color: oklab(from green l a b / 0.5) }" ,
253+ "a { color: oklab(from #123456 calc(l + 10) a b) }" ,
254+ "a { color: oklab(from hsl(180 100% 50%) calc(l - 10) a b) }" ,
255+
256+ // relative lch() values
257+ "a { color: lch(29.2345% 44.2 27) }" ,
258+ "a { color: lch(52.2345% 72.2 56.2 / .5) }" ,
259+ "a { color: lch(from green l c h / 0.5) }" ,
260+ "a { color: lch(from #123456 calc(l + 10) c h) }" ,
261+ "a { color: lch(from hsl(180 100% 50%) calc(l - 10) c h) }" ,
262+
263+ // relative oklch() values
264+ "a { color: oklch(29.2345% 44.2 27) }" ,
265+ "a { color: oklch(52.2345% 72.2 56.2 / .5) }" ,
266+ "a { color: oklch(from green l c h / 0.5) }" ,
267+ "a { color: oklch(from #123456 calc(l + 10) c h) }" ,
268+ "a { color: oklch(from hsl(180 100% 50%) calc(l - 10) c h) }" ,
190269 ] ,
191270 invalid : [
192271 {
0 commit comments