@eslint/css-tree 3.6.3 → 3.6.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/data.cjs CHANGED
@@ -181,7 +181,7 @@ module.exports = {
181
181
  "counters()": "counters( <counter-name> , <string> , <counter-style>? )",
182
182
  "cross-fade()": "cross-fade( <cf-mixing-image> , <cf-final-image>? )",
183
183
  "cubic-bezier()": "cubic-bezier( [<number [0,1]> , <number>]#{2} )",
184
- "cubic-bezier-timing-function": "ease|ease-in|ease-out|ease-in-out|<cubic-bezier()>",
184
+ "cubic-bezier-easing-function": "ease|ease-in|ease-out|ease-in-out|cubic-bezier( <number [0,1]> , <number> , <number [0,1]> , <number> )",
185
185
  "custom-color-space": "<dashed-ident>",
186
186
  "custom-params": "<dashed-ident> [<number>|<percentage>|none]+",
187
187
  "dasharray": "[[<length-percentage>|<number>]+]#",
@@ -219,8 +219,9 @@ module.exports = {
219
219
  "fixed-repeat": "repeat( [<integer [1,∞]>] , [<line-names>? <fixed-size>]+ <line-names>? )",
220
220
  "fixed-size": "<fixed-breadth>|minmax( <fixed-breadth> , <track-breadth> )|minmax( <inflexible-breadth> , <fixed-breadth> )",
221
221
  "font-stretch-absolute": "normal|ultra-condensed|extra-condensed|condensed|semi-condensed|semi-expanded|expanded|extra-expanded|ultra-expanded|<percentage>",
222
- "font-variant-css21": "[normal|small-caps]",
222
+ "font-variant-css2": "normal|small-caps",
223
223
  "font-weight-absolute": "normal|bold|<number [1,1000]>",
224
+ "font-width-css3": "normal|ultra-condensed|extra-condensed|condensed|semi-condensed|semi-expanded|expanded|extra-expanded|ultra-expanded",
224
225
  "form-control-identifier": "select",
225
226
  "frequency-percentage": "<frequency>|<percentage>",
226
227
  "generic-complete": "serif|sans-serif|system-ui|cursive|fantasy|math|monospace",
@@ -232,12 +233,12 @@ module.exports = {
232
233
  "grayscale()": "grayscale( [<number>|<percentage>]? )",
233
234
  "grid-line": "auto|<custom-ident>|[<integer>&&<custom-ident>?]|[span&&[<integer>||<custom-ident>]]",
234
235
  "historical-lig-values": "[historical-ligatures|no-historical-ligatures]",
235
- "hsl()": "hsl( <hue> , <percentage> , <percentage> , <alpha-value>? )|hsl( [<hue>|none] [<percentage>|<number>|none] [<percentage>|<number>|none] [/ [<alpha-value>|none]]? )",
236
- "hsla()": "hsla( <hue> , <percentage> , <percentage> , <alpha-value>? )|hsla( [<hue>|none] [<percentage>|<number>|none] [<percentage>|<number>|none] [/ [<alpha-value>|none]]? )",
236
+ "hsl()": "<legacy-hsl-syntax>|<modern-hsl-syntax>",
237
+ "hsla()": "<legacy-hsla-syntax>|<modern-hsla-syntax>",
237
238
  "hue": "<number>|<angle>",
238
239
  "hue-interpolation-method": "[shorter|longer|increasing|decreasing] hue",
239
240
  "hue-rotate()": "hue-rotate( [<angle>|<zero>]? )",
240
- "hwb()": "hwb( [<hue>|none] [<percentage>|<number>|none] [<percentage>|<number>|none] [/ [<alpha-value>|none]]? )",
241
+ "hwb()": "<legacy-hwb-syntax>|<modern-hwb-syntax>",
241
242
  "hypot()": "hypot( <calc-sum># )",
242
243
  "image": "<url>|<image()>|<image-set()>|<element()>|<paint()>|<cross-fade()>|<gradient>",
243
244
  "image()": "image( <image-tags>? [<image-src>? , <color>?]! )",
@@ -251,10 +252,10 @@ module.exports = {
251
252
  "keyframe-block": "<keyframe-selector># { <declaration-list> }",
252
253
  "keyframe-selector": "from|to|<percentage [0,100]>|<timeline-range-name> <percentage>",
253
254
  "keyframes-name": "<custom-ident>|<string>",
254
- "lab()": "lab( [<percentage>|<number>|none] [<percentage>|<number>|none] [<percentage>|<number>|none] [/ [<alpha-value>|none]]? )",
255
+ "lab()": "<legacy-lab-syntax>|<modern-lab-syntax>",
255
256
  "layer()": "layer( <layer-name> )",
256
257
  "layer-name": "<ident> ['.' <ident>]*",
257
- "lch()": "lch( [<percentage>|<number>|none] [<percentage>|<number>|none] [<hue>|none] [/ [<alpha-value>|none]]? )",
258
+ "lch()": "<legacy-lch-syntax>|<modern-lch-syntax>",
258
259
  "leader()": "leader( <leader-type> )",
259
260
  "leader-type": "dotted|solid|space|<string>",
260
261
  "length-percentage": "<length>|<percentage>",
@@ -309,8 +310,8 @@ module.exports = {
309
310
  "numeric-fraction-values": "[diagonal-fractions|stacked-fractions]",
310
311
  "numeric-spacing-values": "[proportional-nums|tabular-nums]",
311
312
  "offset-path": "<ray()>|<url>|<basic-shape>",
312
- "oklab()": "oklab( [<percentage>|<number>|none] [<percentage>|<number>|none] [<percentage>|<number>|none] [/ [<alpha-value>|none]]? )",
313
- "oklch()": "oklch( [<percentage>|<number>|none] [<percentage>|<number>|none] [<hue>|none] [/ [<alpha-value>|none]]? )",
313
+ "oklab()": "<legacy-oklab-syntax>|<modern-oklab-syntax>",
314
+ "oklch()": "<legacy-oklch-syntax>|<modern-oklch-syntax>",
314
315
  "opacity()": "opacity( [<number>|<percentage>]? )",
315
316
  "opacity-value": "<number>|<percentage>",
316
317
  "outline-line-style": "none|dotted|dashed|solid|double|groove|ridge|inset|outset",
@@ -360,8 +361,8 @@ module.exports = {
360
361
  "repeating-linear-gradient()": "repeating-linear-gradient( [<linear-gradient-syntax>] )",
361
362
  "repeating-radial-gradient()": "repeating-radial-gradient( [<radial-gradient-syntax>] )",
362
363
  "reversed-counter-name": "reversed( <counter-name> )",
363
- "rgb()": "rgb( <percentage>#{3} , <alpha-value>? )|rgb( <number>#{3} , <alpha-value>? )|rgb( [<number>|<percentage>|none]{3} [/ [<alpha-value>|none]]? )",
364
- "rgba()": "rgba( <percentage>#{3} , <alpha-value>? )|rgba( <number>#{3} , <alpha-value>? )|rgba( [<number>|<percentage>|none]{3} [/ [<alpha-value>|none]]? )",
364
+ "rgb()": "<legacy-rgb-syntax>|<modern-rgb-syntax>",
365
+ "rgba()": "<legacy-rgba-syntax>|<modern-rgba-syntax>",
365
366
  "rotate()": "rotate( [<angle>|<zero>] )",
366
367
  "rotate3d()": "rotate3d( <number> , <number> , <number> , [<angle>|<zero>] )",
367
368
  "rotateX()": "rotateX( [<angle>|<zero>] )",
@@ -425,6 +426,7 @@ module.exports = {
425
426
  "symbols()": "symbols( <symbols-type>? [<string>|<image>]+ )",
426
427
  "symbols-type": "cyclic|numeric|alphabetic|symbolic|fixed",
427
428
  "system-color": "AccentColor|AccentColorText|ActiveText|ButtonBorder|ButtonFace|ButtonText|Canvas|CanvasText|Field|FieldText|GrayText|Highlight|HighlightText|LinkText|Mark|MarkText|SelectedItem|SelectedItemText|VisitedText",
429
+ "system-family-name": "caption|icon|menu|message-box|small-caption|status-bar",
428
430
  "tan()": "tan( <calc-sum> )",
429
431
  "target": "<target-counter()>|<target-counters()>|<target-text()>",
430
432
  "target-counter()": "target-counter( [<string>|<url>] , <custom-ident> , <counter-style>? )",
@@ -485,7 +487,6 @@ module.exports = {
485
487
  "attr-name": "<wq-name>",
486
488
  "attr-fallback": "<any-value>",
487
489
  "bottom": "<length>|auto",
488
- "cubic-bezier-easing-function": "ease|ease-in|ease-out|ease-in-out|cubic-bezier( <number [0,1]> , <number> , <number [0,1]> , <number> )",
489
490
  "generic-voice": "[<age>? <gender> <integer>?]",
490
491
  "gender": "male|female|neutral",
491
492
  "generic-script-specific": "generic( kai )|generic( fangsong )|generic( nastaliq )",
@@ -520,13 +521,33 @@ module.exports = {
520
521
  "url-modifier": "<ident>|<function-token> <any-value> )",
521
522
  "number-zero-one": "<number [0,1]>",
522
523
  "number-one-or-greater": "<number [1,∞]>",
524
+ "rgb-component": "r|g|b|alpha",
525
+ "legacy-rgb-syntax": "rgb( <percentage>#{3} , <alpha-value>? )|rgb( <number>#{3} , <alpha-value>? )|rgb( [<number>|<percentage>|none]{3} [/ [<alpha-value>|none]]? )",
526
+ "modern-rgb-syntax": "rgb( from <color> [<number>|<percentage>|<rgb-component>]{3} [/ [<alpha-value>|<rgb-component>]]? )",
527
+ "legacy-rgba-syntax": "rgba( <percentage>#{3} , <alpha-value>? )|rgba( <number>#{3} , <alpha-value>? )|rgba( [<number>|<percentage>|none]{3} [/ [<alpha-value>|none]]? )",
528
+ "modern-rgba-syntax": "rgba( from <color> [<number>|<percentage>|<rgb-component>]{3} [/ [<alpha-value>|<rgb-component>]]? )",
529
+ "hsl-component": "h|s|l|alpha",
530
+ "legacy-hsl-syntax": "hsl( <hue> , <percentage> , <percentage> , <alpha-value>? )|hsl( [<hue>|none] [<percentage>|<number>|none] [<percentage>|<number>|none] [/ [<alpha-value>|none]]? )",
531
+ "modern-hsl-syntax": "hsl( from <color> [<hue>|<percentage>|<number>|<hsl-component>|none] [<percentage>|<number>|<hsl-component>|none] [<percentage>|<number>|<hsl-component>|none] [/ [<alpha-value>|<hsl-component>|none]]? )",
532
+ "legacy-hsla-syntax": "hsla( <hue> , <percentage> , <percentage> , <alpha-value>? )|hsla( [<hue>|none] [<percentage>|<number>|none] [<percentage>|<number>|none] [/ [<alpha-value>|none]]? )",
533
+ "modern-hsla-syntax": "hsla( from <color> [<hue>|<percentage>|<number>|<hsl-component>|none] [<percentage>|<number>|<hsl-component>|none] [<percentage>|<number>|<hsl-component>|none] [/ [<alpha-value>|<hsl-component>|none]]? )",
534
+ "hwb-component": "h|w|b",
535
+ "legacy-hwb-syntax": "hwb( [<hue>|none] [<percentage>|<number>|none] [<percentage>|<number>|none] [/ [<alpha-value>|none]]? )",
536
+ "modern-hwb-syntax": "hwb( from <color> [<hue>|<percentage>|<number>|<hwb-component>|none] [<percentage>|<number>|<hwb-component>|none] [<percentage>|<number>|<hwb-component>|none] [/ [<alpha-value>|<hwb-component>|none]]? )",
537
+ "lab-component": "l|a|b|alpha",
538
+ "legacy-lab-syntax": "lab( [<percentage>|<number>|none] [<percentage>|<number>|none] [<percentage>|<number>|none] [/ [<alpha-value>|none]]? )",
539
+ "modern-lab-syntax": "lab( from <color> [<number>|<percentage>|<lab-component>]{3} [/ [<alpha-value>|<lab-component>]]? )",
540
+ "legacy-oklab-syntax": "oklab( [<percentage>|<number>|none] [<percentage>|<number>|none] [<percentage>|<number>|none] [/ [<alpha-value>|none]]? )",
541
+ "modern-oklab-syntax": "oklab( from <color> [<number>|<percentage>|<lab-component>]{3} [/ [<alpha-value>|<lab-component>]]? )",
542
+ "lch-component": "l|c|h|alpha",
543
+ "legacy-lch-syntax": "lch( [<percentage>|<number>|none] [<percentage>|<number>|none] [<hue>|none] [/ [<alpha-value>|none]]? )",
544
+ "modern-lch-syntax": "lch( from <color> [<number>|<percentage>|<lch-component>]{3} [/ [<alpha-value>|<lch-component>]]? )",
545
+ "legacy-oklch-syntax": "oklch( [<percentage>|<number>|none] [<percentage>|<number>|none] [<hue>|none] [/ [<alpha-value>|none]]? )",
546
+ "modern-oklch-syntax": "oklch( from <color> [<number>|<percentage>|<lch-component>]{3} [/ [<alpha-value>|<lch-component>]]? )",
523
547
  "xyz-space": "xyz|xyz-d50|xyz-d65",
524
548
  "style-condition": "not <style-in-parens>|<style-in-parens> [[and <style-in-parens>]*|[or <style-in-parens>]*]",
525
549
  "-non-standard-display": "-ms-inline-flexbox|-ms-grid|-ms-inline-grid|-webkit-flex|-webkit-inline-flex|-webkit-box|-webkit-inline-box|-moz-inline-stack|-moz-box|-moz-inline-box",
526
- "inset-area": "[[left|center|right|span-left|span-right|x-start|x-end|span-x-start|span-x-end|x-self-start|x-self-end|span-x-self-start|span-x-self-end|span-all]||[top|center|bottom|span-top|span-bottom|y-start|y-end|span-y-start|span-y-end|y-self-start|y-self-end|span-y-self-start|span-y-self-end|span-all]|[block-start|center|block-end|span-block-start|span-block-end|span-all]||[inline-start|center|inline-end|span-inline-start|span-inline-end|span-all]|[self-block-start|self-block-end|span-self-block-start|span-self-block-end|span-all]||[self-inline-start|self-inline-end|span-self-inline-start|span-self-inline-end|span-all]|[start|center|end|span-start|span-end|span-all]{1,2}|[self-start|center|self-end|span-self-start|span-self-end|span-all]{1,2}]",
527
- "font-variant-css2": "normal|small-caps",
528
- "font-width-css3": "normal|ultra-condensed|extra-condensed|condensed|semi-condensed|semi-expanded|expanded|extra-expanded|ultra-expanded",
529
- "system-family-name": "caption|icon|menu|message-box|small-caption|status-bar"
550
+ "inset-area": "[[left|center|right|span-left|span-right|x-start|x-end|span-x-start|span-x-end|x-self-start|x-self-end|span-x-self-start|span-x-self-end|span-all]||[top|center|bottom|span-top|span-bottom|y-start|y-end|span-y-start|span-y-end|y-self-start|y-self-end|span-y-self-start|span-y-self-end|span-all]|[block-start|center|block-end|span-block-start|span-block-end|span-all]||[inline-start|center|inline-end|span-inline-start|span-inline-end|span-all]|[self-block-start|self-block-end|span-self-block-start|span-self-block-end|span-all]||[self-inline-start|self-inline-end|span-self-inline-start|span-self-inline-end|span-all]|[start|center|end|span-start|span-end|span-all]{1,2}|[self-start|center|self-end|span-self-start|span-self-end|span-all]{1,2}]"
530
551
  },
531
552
  "properties": {
532
553
  "--*": "<declaration-value>",
@@ -587,7 +608,6 @@ module.exports = {
587
608
  "-moz-context-properties": "none|[fill|fill-opacity|stroke|stroke-opacity]#",
588
609
  "-moz-float-edge": "border-box|content-box|margin-box|padding-box",
589
610
  "-moz-force-broken-image-icon": "0|1",
590
- "-moz-image-region": "<shape>|auto",
591
611
  "-moz-orient": "inline|block|horizontal|vertical",
592
612
  "-moz-outline-radius": "<outline-radius>{1,4} [/ <outline-radius>{1,4}]?",
593
613
  "-moz-outline-radius-bottomleft": "<outline-radius>",
@@ -643,7 +663,7 @@ module.exports = {
643
663
  "animation-composition": "<single-animation-composition>#",
644
664
  "animation-delay": "<time>#",
645
665
  "animation-direction": "<single-animation-direction>#",
646
- "animation-duration": "<time>#",
666
+ "animation-duration": "[auto|<time [0s,∞]>]#",
647
667
  "animation-fill-mode": "<single-animation-fill-mode>#",
648
668
  "animation-iteration-count": "<single-animation-iteration-count>#",
649
669
  "animation-name": "[none|<keyframes-name>]#",
@@ -832,6 +852,7 @@ module.exports = {
832
852
  "font-variant-position": "normal|sub|super",
833
853
  "font-variation-settings": "normal|[<string> <number>]#",
834
854
  "font-weight": "<font-weight-absolute>|bolder|lighter",
855
+ "font-width": "normal|<percentage [0,∞]>|ultra-condensed|extra-condensed|condensed|semi-condensed|semi-expanded|expanded|extra-expanded|ultra-expanded",
835
856
  "forced-color-adjust": "auto|none|preserve-parent-color",
836
857
  "gap": "<'row-gap'> <'column-gap'>?",
837
858
  "grid": "<'grid-template'>|<'grid-template-rows'> / [auto-flow&&dense?] <'grid-auto-columns'>?|[auto-flow&&dense?] <'grid-auto-rows'>? / <'grid-template-columns'>",
@@ -1005,6 +1026,7 @@ module.exports = {
1005
1026
  "row-gap": "normal|<length-percentage>",
1006
1027
  "ruby-align": "start|center|space-between|space-around",
1007
1028
  "ruby-merge": "separate|collapse|auto",
1029
+ "ruby-overhang": "auto|none",
1008
1030
  "ruby-position": "[alternate||[over|under]]|inter-character",
1009
1031
  "rx": "<length>|<percentage>",
1010
1032
  "ry": "<length>|<percentage>",
@@ -1056,6 +1078,7 @@ module.exports = {
1056
1078
  "stop-color": "<'color'>",
1057
1079
  "stop-opacity": "<'opacity'>",
1058
1080
  "stroke": "<paint>",
1081
+ "stroke-color": "<color>",
1059
1082
  "stroke-dasharray": "none|[<svg-length>+]#",
1060
1083
  "stroke-dashoffset": "<svg-length>",
1061
1084
  "stroke-linecap": "butt|round|square",
@@ -1120,7 +1143,7 @@ module.exports = {
1120
1143
  "view-timeline-inset": "[[auto|<length-percentage>]{1,2}]#",
1121
1144
  "view-timeline-name": "[none|<dashed-ident>]#",
1122
1145
  "view-transition-class": "none|<custom-ident>+",
1123
- "view-transition-name": "none|<custom-ident>",
1146
+ "view-transition-name": "none|<custom-ident>|match-element",
1124
1147
  "visibility": "visible|hidden|collapse",
1125
1148
  "white-space": "normal|pre|pre-wrap|pre-line|<'white-space-collapse'>||<'text-wrap-mode'>",
1126
1149
  "white-space-collapse": "collapse|preserve|preserve-breaks|preserve-spaces|break-spaces",
@@ -1200,7 +1223,7 @@ module.exports = {
1200
1223
  "additive-symbols": "[<integer [0,∞]>&&<symbol>]#",
1201
1224
  "fallback": "<counter-style-name>",
1202
1225
  "negative": "<symbol> <symbol>?",
1203
- "pad": "<integer>&&<symbol>",
1226
+ "pad": "<integer [0,∞]>&&<symbol>",
1204
1227
  "prefix": "<symbol>",
1205
1228
  "range": "[[<integer>|infinite]{2}]#|auto",
1206
1229
  "speak-as": "auto|bullets|numbers|words|spell-out|<counter-style-name>",
@@ -1344,9 +1367,11 @@ module.exports = {
1344
1367
  "types": "none|<custom-ident>+"
1345
1368
  }
1346
1369
  },
1347
- "nest": {
1348
- "prelude": "<complex-selector-list>",
1349
- "descriptors": null
1370
+ "font-features-values": {
1371
+ "prelude": "[<string>|<custom-ident>]+",
1372
+ "descriptors": {
1373
+ "font-display": "auto|block|swap|fallback|optional"
1374
+ }
1350
1375
  }
1351
1376
  }
1352
1377
  };
package/dist/data.js CHANGED
@@ -181,7 +181,7 @@ export default {
181
181
  "counters()": "counters( <counter-name> , <string> , <counter-style>? )",
182
182
  "cross-fade()": "cross-fade( <cf-mixing-image> , <cf-final-image>? )",
183
183
  "cubic-bezier()": "cubic-bezier( [<number [0,1]> , <number>]#{2} )",
184
- "cubic-bezier-timing-function": "ease|ease-in|ease-out|ease-in-out|<cubic-bezier()>",
184
+ "cubic-bezier-easing-function": "ease|ease-in|ease-out|ease-in-out|cubic-bezier( <number [0,1]> , <number> , <number [0,1]> , <number> )",
185
185
  "custom-color-space": "<dashed-ident>",
186
186
  "custom-params": "<dashed-ident> [<number>|<percentage>|none]+",
187
187
  "dasharray": "[[<length-percentage>|<number>]+]#",
@@ -219,8 +219,9 @@ export default {
219
219
  "fixed-repeat": "repeat( [<integer [1,∞]>] , [<line-names>? <fixed-size>]+ <line-names>? )",
220
220
  "fixed-size": "<fixed-breadth>|minmax( <fixed-breadth> , <track-breadth> )|minmax( <inflexible-breadth> , <fixed-breadth> )",
221
221
  "font-stretch-absolute": "normal|ultra-condensed|extra-condensed|condensed|semi-condensed|semi-expanded|expanded|extra-expanded|ultra-expanded|<percentage>",
222
- "font-variant-css21": "[normal|small-caps]",
222
+ "font-variant-css2": "normal|small-caps",
223
223
  "font-weight-absolute": "normal|bold|<number [1,1000]>",
224
+ "font-width-css3": "normal|ultra-condensed|extra-condensed|condensed|semi-condensed|semi-expanded|expanded|extra-expanded|ultra-expanded",
224
225
  "form-control-identifier": "select",
225
226
  "frequency-percentage": "<frequency>|<percentage>",
226
227
  "generic-complete": "serif|sans-serif|system-ui|cursive|fantasy|math|monospace",
@@ -232,12 +233,12 @@ export default {
232
233
  "grayscale()": "grayscale( [<number>|<percentage>]? )",
233
234
  "grid-line": "auto|<custom-ident>|[<integer>&&<custom-ident>?]|[span&&[<integer>||<custom-ident>]]",
234
235
  "historical-lig-values": "[historical-ligatures|no-historical-ligatures]",
235
- "hsl()": "hsl( <hue> , <percentage> , <percentage> , <alpha-value>? )|hsl( [<hue>|none] [<percentage>|<number>|none] [<percentage>|<number>|none] [/ [<alpha-value>|none]]? )",
236
- "hsla()": "hsla( <hue> , <percentage> , <percentage> , <alpha-value>? )|hsla( [<hue>|none] [<percentage>|<number>|none] [<percentage>|<number>|none] [/ [<alpha-value>|none]]? )",
236
+ "hsl()": "<legacy-hsl-syntax>|<modern-hsl-syntax>",
237
+ "hsla()": "<legacy-hsla-syntax>|<modern-hsla-syntax>",
237
238
  "hue": "<number>|<angle>",
238
239
  "hue-interpolation-method": "[shorter|longer|increasing|decreasing] hue",
239
240
  "hue-rotate()": "hue-rotate( [<angle>|<zero>]? )",
240
- "hwb()": "hwb( [<hue>|none] [<percentage>|<number>|none] [<percentage>|<number>|none] [/ [<alpha-value>|none]]? )",
241
+ "hwb()": "<legacy-hwb-syntax>|<modern-hwb-syntax>",
241
242
  "hypot()": "hypot( <calc-sum># )",
242
243
  "image": "<url>|<image()>|<image-set()>|<element()>|<paint()>|<cross-fade()>|<gradient>",
243
244
  "image()": "image( <image-tags>? [<image-src>? , <color>?]! )",
@@ -251,10 +252,10 @@ export default {
251
252
  "keyframe-block": "<keyframe-selector># { <declaration-list> }",
252
253
  "keyframe-selector": "from|to|<percentage [0,100]>|<timeline-range-name> <percentage>",
253
254
  "keyframes-name": "<custom-ident>|<string>",
254
- "lab()": "lab( [<percentage>|<number>|none] [<percentage>|<number>|none] [<percentage>|<number>|none] [/ [<alpha-value>|none]]? )",
255
+ "lab()": "<legacy-lab-syntax>|<modern-lab-syntax>",
255
256
  "layer()": "layer( <layer-name> )",
256
257
  "layer-name": "<ident> ['.' <ident>]*",
257
- "lch()": "lch( [<percentage>|<number>|none] [<percentage>|<number>|none] [<hue>|none] [/ [<alpha-value>|none]]? )",
258
+ "lch()": "<legacy-lch-syntax>|<modern-lch-syntax>",
258
259
  "leader()": "leader( <leader-type> )",
259
260
  "leader-type": "dotted|solid|space|<string>",
260
261
  "length-percentage": "<length>|<percentage>",
@@ -309,8 +310,8 @@ export default {
309
310
  "numeric-fraction-values": "[diagonal-fractions|stacked-fractions]",
310
311
  "numeric-spacing-values": "[proportional-nums|tabular-nums]",
311
312
  "offset-path": "<ray()>|<url>|<basic-shape>",
312
- "oklab()": "oklab( [<percentage>|<number>|none] [<percentage>|<number>|none] [<percentage>|<number>|none] [/ [<alpha-value>|none]]? )",
313
- "oklch()": "oklch( [<percentage>|<number>|none] [<percentage>|<number>|none] [<hue>|none] [/ [<alpha-value>|none]]? )",
313
+ "oklab()": "<legacy-oklab-syntax>|<modern-oklab-syntax>",
314
+ "oklch()": "<legacy-oklch-syntax>|<modern-oklch-syntax>",
314
315
  "opacity()": "opacity( [<number>|<percentage>]? )",
315
316
  "opacity-value": "<number>|<percentage>",
316
317
  "outline-line-style": "none|dotted|dashed|solid|double|groove|ridge|inset|outset",
@@ -360,8 +361,8 @@ export default {
360
361
  "repeating-linear-gradient()": "repeating-linear-gradient( [<linear-gradient-syntax>] )",
361
362
  "repeating-radial-gradient()": "repeating-radial-gradient( [<radial-gradient-syntax>] )",
362
363
  "reversed-counter-name": "reversed( <counter-name> )",
363
- "rgb()": "rgb( <percentage>#{3} , <alpha-value>? )|rgb( <number>#{3} , <alpha-value>? )|rgb( [<number>|<percentage>|none]{3} [/ [<alpha-value>|none]]? )",
364
- "rgba()": "rgba( <percentage>#{3} , <alpha-value>? )|rgba( <number>#{3} , <alpha-value>? )|rgba( [<number>|<percentage>|none]{3} [/ [<alpha-value>|none]]? )",
364
+ "rgb()": "<legacy-rgb-syntax>|<modern-rgb-syntax>",
365
+ "rgba()": "<legacy-rgba-syntax>|<modern-rgba-syntax>",
365
366
  "rotate()": "rotate( [<angle>|<zero>] )",
366
367
  "rotate3d()": "rotate3d( <number> , <number> , <number> , [<angle>|<zero>] )",
367
368
  "rotateX()": "rotateX( [<angle>|<zero>] )",
@@ -425,6 +426,7 @@ export default {
425
426
  "symbols()": "symbols( <symbols-type>? [<string>|<image>]+ )",
426
427
  "symbols-type": "cyclic|numeric|alphabetic|symbolic|fixed",
427
428
  "system-color": "AccentColor|AccentColorText|ActiveText|ButtonBorder|ButtonFace|ButtonText|Canvas|CanvasText|Field|FieldText|GrayText|Highlight|HighlightText|LinkText|Mark|MarkText|SelectedItem|SelectedItemText|VisitedText",
429
+ "system-family-name": "caption|icon|menu|message-box|small-caption|status-bar",
428
430
  "tan()": "tan( <calc-sum> )",
429
431
  "target": "<target-counter()>|<target-counters()>|<target-text()>",
430
432
  "target-counter()": "target-counter( [<string>|<url>] , <custom-ident> , <counter-style>? )",
@@ -485,7 +487,6 @@ export default {
485
487
  "attr-name": "<wq-name>",
486
488
  "attr-fallback": "<any-value>",
487
489
  "bottom": "<length>|auto",
488
- "cubic-bezier-easing-function": "ease|ease-in|ease-out|ease-in-out|cubic-bezier( <number [0,1]> , <number> , <number [0,1]> , <number> )",
489
490
  "generic-voice": "[<age>? <gender> <integer>?]",
490
491
  "gender": "male|female|neutral",
491
492
  "generic-script-specific": "generic( kai )|generic( fangsong )|generic( nastaliq )",
@@ -520,13 +521,33 @@ export default {
520
521
  "url-modifier": "<ident>|<function-token> <any-value> )",
521
522
  "number-zero-one": "<number [0,1]>",
522
523
  "number-one-or-greater": "<number [1,∞]>",
524
+ "rgb-component": "r|g|b|alpha",
525
+ "legacy-rgb-syntax": "rgb( <percentage>#{3} , <alpha-value>? )|rgb( <number>#{3} , <alpha-value>? )|rgb( [<number>|<percentage>|none]{3} [/ [<alpha-value>|none]]? )",
526
+ "modern-rgb-syntax": "rgb( from <color> [<number>|<percentage>|<rgb-component>]{3} [/ [<alpha-value>|<rgb-component>]]? )",
527
+ "legacy-rgba-syntax": "rgba( <percentage>#{3} , <alpha-value>? )|rgba( <number>#{3} , <alpha-value>? )|rgba( [<number>|<percentage>|none]{3} [/ [<alpha-value>|none]]? )",
528
+ "modern-rgba-syntax": "rgba( from <color> [<number>|<percentage>|<rgb-component>]{3} [/ [<alpha-value>|<rgb-component>]]? )",
529
+ "hsl-component": "h|s|l|alpha",
530
+ "legacy-hsl-syntax": "hsl( <hue> , <percentage> , <percentage> , <alpha-value>? )|hsl( [<hue>|none] [<percentage>|<number>|none] [<percentage>|<number>|none] [/ [<alpha-value>|none]]? )",
531
+ "modern-hsl-syntax": "hsl( from <color> [<hue>|<percentage>|<number>|<hsl-component>|none] [<percentage>|<number>|<hsl-component>|none] [<percentage>|<number>|<hsl-component>|none] [/ [<alpha-value>|<hsl-component>|none]]? )",
532
+ "legacy-hsla-syntax": "hsla( <hue> , <percentage> , <percentage> , <alpha-value>? )|hsla( [<hue>|none] [<percentage>|<number>|none] [<percentage>|<number>|none] [/ [<alpha-value>|none]]? )",
533
+ "modern-hsla-syntax": "hsla( from <color> [<hue>|<percentage>|<number>|<hsl-component>|none] [<percentage>|<number>|<hsl-component>|none] [<percentage>|<number>|<hsl-component>|none] [/ [<alpha-value>|<hsl-component>|none]]? )",
534
+ "hwb-component": "h|w|b",
535
+ "legacy-hwb-syntax": "hwb( [<hue>|none] [<percentage>|<number>|none] [<percentage>|<number>|none] [/ [<alpha-value>|none]]? )",
536
+ "modern-hwb-syntax": "hwb( from <color> [<hue>|<percentage>|<number>|<hwb-component>|none] [<percentage>|<number>|<hwb-component>|none] [<percentage>|<number>|<hwb-component>|none] [/ [<alpha-value>|<hwb-component>|none]]? )",
537
+ "lab-component": "l|a|b|alpha",
538
+ "legacy-lab-syntax": "lab( [<percentage>|<number>|none] [<percentage>|<number>|none] [<percentage>|<number>|none] [/ [<alpha-value>|none]]? )",
539
+ "modern-lab-syntax": "lab( from <color> [<number>|<percentage>|<lab-component>]{3} [/ [<alpha-value>|<lab-component>]]? )",
540
+ "legacy-oklab-syntax": "oklab( [<percentage>|<number>|none] [<percentage>|<number>|none] [<percentage>|<number>|none] [/ [<alpha-value>|none]]? )",
541
+ "modern-oklab-syntax": "oklab( from <color> [<number>|<percentage>|<lab-component>]{3} [/ [<alpha-value>|<lab-component>]]? )",
542
+ "lch-component": "l|c|h|alpha",
543
+ "legacy-lch-syntax": "lch( [<percentage>|<number>|none] [<percentage>|<number>|none] [<hue>|none] [/ [<alpha-value>|none]]? )",
544
+ "modern-lch-syntax": "lch( from <color> [<number>|<percentage>|<lch-component>]{3} [/ [<alpha-value>|<lch-component>]]? )",
545
+ "legacy-oklch-syntax": "oklch( [<percentage>|<number>|none] [<percentage>|<number>|none] [<hue>|none] [/ [<alpha-value>|none]]? )",
546
+ "modern-oklch-syntax": "oklch( from <color> [<number>|<percentage>|<lch-component>]{3} [/ [<alpha-value>|<lch-component>]]? )",
523
547
  "xyz-space": "xyz|xyz-d50|xyz-d65",
524
548
  "style-condition": "not <style-in-parens>|<style-in-parens> [[and <style-in-parens>]*|[or <style-in-parens>]*]",
525
549
  "-non-standard-display": "-ms-inline-flexbox|-ms-grid|-ms-inline-grid|-webkit-flex|-webkit-inline-flex|-webkit-box|-webkit-inline-box|-moz-inline-stack|-moz-box|-moz-inline-box",
526
- "inset-area": "[[left|center|right|span-left|span-right|x-start|x-end|span-x-start|span-x-end|x-self-start|x-self-end|span-x-self-start|span-x-self-end|span-all]||[top|center|bottom|span-top|span-bottom|y-start|y-end|span-y-start|span-y-end|y-self-start|y-self-end|span-y-self-start|span-y-self-end|span-all]|[block-start|center|block-end|span-block-start|span-block-end|span-all]||[inline-start|center|inline-end|span-inline-start|span-inline-end|span-all]|[self-block-start|self-block-end|span-self-block-start|span-self-block-end|span-all]||[self-inline-start|self-inline-end|span-self-inline-start|span-self-inline-end|span-all]|[start|center|end|span-start|span-end|span-all]{1,2}|[self-start|center|self-end|span-self-start|span-self-end|span-all]{1,2}]",
527
- "font-variant-css2": "normal|small-caps",
528
- "font-width-css3": "normal|ultra-condensed|extra-condensed|condensed|semi-condensed|semi-expanded|expanded|extra-expanded|ultra-expanded",
529
- "system-family-name": "caption|icon|menu|message-box|small-caption|status-bar"
550
+ "inset-area": "[[left|center|right|span-left|span-right|x-start|x-end|span-x-start|span-x-end|x-self-start|x-self-end|span-x-self-start|span-x-self-end|span-all]||[top|center|bottom|span-top|span-bottom|y-start|y-end|span-y-start|span-y-end|y-self-start|y-self-end|span-y-self-start|span-y-self-end|span-all]|[block-start|center|block-end|span-block-start|span-block-end|span-all]||[inline-start|center|inline-end|span-inline-start|span-inline-end|span-all]|[self-block-start|self-block-end|span-self-block-start|span-self-block-end|span-all]||[self-inline-start|self-inline-end|span-self-inline-start|span-self-inline-end|span-all]|[start|center|end|span-start|span-end|span-all]{1,2}|[self-start|center|self-end|span-self-start|span-self-end|span-all]{1,2}]"
530
551
  },
531
552
  "properties": {
532
553
  "--*": "<declaration-value>",
@@ -587,7 +608,6 @@ export default {
587
608
  "-moz-context-properties": "none|[fill|fill-opacity|stroke|stroke-opacity]#",
588
609
  "-moz-float-edge": "border-box|content-box|margin-box|padding-box",
589
610
  "-moz-force-broken-image-icon": "0|1",
590
- "-moz-image-region": "<shape>|auto",
591
611
  "-moz-orient": "inline|block|horizontal|vertical",
592
612
  "-moz-outline-radius": "<outline-radius>{1,4} [/ <outline-radius>{1,4}]?",
593
613
  "-moz-outline-radius-bottomleft": "<outline-radius>",
@@ -643,7 +663,7 @@ export default {
643
663
  "animation-composition": "<single-animation-composition>#",
644
664
  "animation-delay": "<time>#",
645
665
  "animation-direction": "<single-animation-direction>#",
646
- "animation-duration": "<time>#",
666
+ "animation-duration": "[auto|<time [0s,∞]>]#",
647
667
  "animation-fill-mode": "<single-animation-fill-mode>#",
648
668
  "animation-iteration-count": "<single-animation-iteration-count>#",
649
669
  "animation-name": "[none|<keyframes-name>]#",
@@ -832,6 +852,7 @@ export default {
832
852
  "font-variant-position": "normal|sub|super",
833
853
  "font-variation-settings": "normal|[<string> <number>]#",
834
854
  "font-weight": "<font-weight-absolute>|bolder|lighter",
855
+ "font-width": "normal|<percentage [0,∞]>|ultra-condensed|extra-condensed|condensed|semi-condensed|semi-expanded|expanded|extra-expanded|ultra-expanded",
835
856
  "forced-color-adjust": "auto|none|preserve-parent-color",
836
857
  "gap": "<'row-gap'> <'column-gap'>?",
837
858
  "grid": "<'grid-template'>|<'grid-template-rows'> / [auto-flow&&dense?] <'grid-auto-columns'>?|[auto-flow&&dense?] <'grid-auto-rows'>? / <'grid-template-columns'>",
@@ -1005,6 +1026,7 @@ export default {
1005
1026
  "row-gap": "normal|<length-percentage>",
1006
1027
  "ruby-align": "start|center|space-between|space-around",
1007
1028
  "ruby-merge": "separate|collapse|auto",
1029
+ "ruby-overhang": "auto|none",
1008
1030
  "ruby-position": "[alternate||[over|under]]|inter-character",
1009
1031
  "rx": "<length>|<percentage>",
1010
1032
  "ry": "<length>|<percentage>",
@@ -1056,6 +1078,7 @@ export default {
1056
1078
  "stop-color": "<'color'>",
1057
1079
  "stop-opacity": "<'opacity'>",
1058
1080
  "stroke": "<paint>",
1081
+ "stroke-color": "<color>",
1059
1082
  "stroke-dasharray": "none|[<svg-length>+]#",
1060
1083
  "stroke-dashoffset": "<svg-length>",
1061
1084
  "stroke-linecap": "butt|round|square",
@@ -1120,7 +1143,7 @@ export default {
1120
1143
  "view-timeline-inset": "[[auto|<length-percentage>]{1,2}]#",
1121
1144
  "view-timeline-name": "[none|<dashed-ident>]#",
1122
1145
  "view-transition-class": "none|<custom-ident>+",
1123
- "view-transition-name": "none|<custom-ident>",
1146
+ "view-transition-name": "none|<custom-ident>|match-element",
1124
1147
  "visibility": "visible|hidden|collapse",
1125
1148
  "white-space": "normal|pre|pre-wrap|pre-line|<'white-space-collapse'>||<'text-wrap-mode'>",
1126
1149
  "white-space-collapse": "collapse|preserve|preserve-breaks|preserve-spaces|break-spaces",
@@ -1200,7 +1223,7 @@ export default {
1200
1223
  "additive-symbols": "[<integer [0,∞]>&&<symbol>]#",
1201
1224
  "fallback": "<counter-style-name>",
1202
1225
  "negative": "<symbol> <symbol>?",
1203
- "pad": "<integer>&&<symbol>",
1226
+ "pad": "<integer [0,∞]>&&<symbol>",
1204
1227
  "prefix": "<symbol>",
1205
1228
  "range": "[[<integer>|infinite]{2}]#|auto",
1206
1229
  "speak-as": "auto|bullets|numbers|words|spell-out|<counter-style-name>",
@@ -1344,9 +1367,11 @@ export default {
1344
1367
  "types": "none|<custom-ident>+"
1345
1368
  }
1346
1369
  },
1347
- "nest": {
1348
- "prelude": "<complex-selector-list>",
1349
- "descriptors": null
1370
+ "font-features-values": {
1371
+ "prelude": "[<string>|<custom-ident>]+",
1372
+ "descriptors": {
1373
+ "font-display": "auto|block|swap|fallback|optional"
1374
+ }
1350
1375
  }
1351
1376
  }
1352
1377
  };
package/dist/version.cjs CHANGED
@@ -1 +1 @@
1
- module.exports = "3.6.3";
1
+ module.exports = "3.6.6";
package/dist/version.js CHANGED
@@ -1 +1 @@
1
- export const version = "3.6.3";
1
+ export const version = "3.6.6";
@@ -11,7 +11,7 @@ const EXIT_REASON_MATCH = 'Match';
11
11
  const EXIT_REASON_MISMATCH = 'Mismatch';
12
12
  const EXIT_REASON_ITERATION_LIMIT = 'Maximum iteration number exceeded (please fill an issue on https://github.com/csstree/csstree/issues)';
13
13
 
14
- const ITERATION_LIMIT = 15000;
14
+ const ITERATION_LIMIT = 150000;
15
15
  export let totalIterationCount = 0;
16
16
 
17
17
  function reverseList(list) {
@@ -5,8 +5,8 @@ export default {
5
5
  this.MediaQueryList()
6
6
  );
7
7
  },
8
- block(nested = false) {
9
- return this.Block(nested);
8
+ block(nested = false, { allowNestedRules = false } = {}) {
9
+ return this.Block(nested, { allowNestedRules });
10
10
  }
11
11
  }
12
12
  };
@@ -33,7 +33,7 @@ export const structure = {
33
33
  block: ['Block', null]
34
34
  };
35
35
 
36
- export function parse(isDeclaration = false) {
36
+ export function parse(isDeclaration = false, { allowNestedRules = false } = {}) {
37
37
  const start = this.tokenStart;
38
38
  let name;
39
39
  let nameLowerCase;
@@ -67,10 +67,10 @@ export function parse(isDeclaration = false) {
67
67
  case LeftCurlyBracket:
68
68
  if (hasOwnProperty.call(this.atrule, nameLowerCase) &&
69
69
  typeof this.atrule[nameLowerCase].block === 'function') {
70
- block = this.atrule[nameLowerCase].block.call(this, isDeclaration);
70
+ block = this.atrule[nameLowerCase].block.call(this, isDeclaration, { allowNestedRules });
71
71
  } else {
72
72
  // TODO: should consume block content as Raw?
73
- block = this.Block(isDeclarationBlockAtrule.call(this));
73
+ block = this.Block(isDeclaration || isDeclarationBlockAtrule.call(this), { allowNestedRules });
74
74
  }
75
75
 
76
76
  break;
@@ -99,7 +99,7 @@ export function parse(isStyleBlock, { allowNestedRules = false } = {}) {
99
99
  break;
100
100
 
101
101
  case AtKeyword:
102
- children.push(this.parseWithFallback(this.Atrule.bind(this, isStyleBlock), consumeRaw));
102
+ children.push(this.parseWithFallback(this.Atrule.bind(this, isStyleBlock, { allowNestedRules }), consumeRaw));
103
103
  break;
104
104
 
105
105
  default:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eslint/css-tree",
3
- "version": "3.6.3",
3
+ "version": "3.6.6",
4
4
  "description": "A tool set for CSS: fast detailed parser (CSS → AST), walker (AST traversal), generator (AST → CSS) and lexer (validation and matching) based on specs and browser implementations",
5
5
  "author": "Roman Dvornov <rdvornov@gmail.com> (https://github.com/lahmatiy)",
6
6
  "license": "MIT",
@@ -107,7 +107,7 @@
107
107
  "test:types": "tsc -p tests/types/tsconfig.json"
108
108
  },
109
109
  "dependencies": {
110
- "mdn-data": "2.21.0",
110
+ "mdn-data": "2.23.0",
111
111
  "source-map-js": "^1.0.1"
112
112
  },
113
113
  "devDependencies": {