@webref/css 4.2.1 → 4.3.0

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.
Files changed (47) hide show
  1. package/CSS.json +27 -0
  2. package/compat.json +8 -17
  3. package/css-animations-2.json +3 -3
  4. package/css-animations.json +3 -0
  5. package/css-cascade-6.json +6 -0
  6. package/css-color-5.json +21 -6
  7. package/css-color.json +23 -1
  8. package/css-conditional-5.json +2 -2
  9. package/css-contain-3.json +9 -0
  10. package/css-content.json +9 -8
  11. package/css-counter-styles.json +3 -0
  12. package/css-easing.json +19 -7
  13. package/css-extensions.json +3 -0
  14. package/css-fonts.json +12 -30
  15. package/css-grid.json +6 -3
  16. package/css-highlight-api.json +13 -0
  17. package/css-images-4.json +15 -15
  18. package/css-images.json +8 -8
  19. package/css-lists.json +3 -0
  20. package/css-masking.json +15 -6
  21. package/css-overflow.json +4 -4
  22. package/css-page-floats.json +2 -2
  23. package/css-page.json +3 -3
  24. package/css-position.json +1 -8
  25. package/css-shapes-2.json +14 -19
  26. package/css-shapes.json +9 -7
  27. package/css-size-adjust.json +1 -5
  28. package/css-sizing.json +1 -5
  29. package/css-syntax.json +95 -4
  30. package/css-text-4.json +2 -11
  31. package/css-text.json +1 -8
  32. package/css-transforms-2.json +3 -0
  33. package/css-transforms.json +5 -2
  34. package/css-ui.json +10 -4
  35. package/css-values-5.json +10 -0
  36. package/css-values.json +121 -25
  37. package/css-variables.json +3 -0
  38. package/fill-stroke.json +0 -3
  39. package/filter-effects.json +6 -6
  40. package/mediaqueries-5.json +6 -0
  41. package/mediaqueries.json +6 -0
  42. package/motion.json +0 -3
  43. package/package.json +1 -1
  44. package/scroll-animations.json +0 -3
  45. package/selectors.json +6 -0
  46. package/css-layout-api.json +0 -13
  47. package/svg-animations.json +0 -13
package/css-position.json CHANGED
@@ -181,12 +181,5 @@
181
181
  }
182
182
  },
183
183
  "descriptors": {},
184
- "valuespaces": {
185
- "<length>": {
186
- "prose": "The inset is a fixed distance from the reference edge. Negative values are allowed."
187
- },
188
- "<percentage>": {
189
- "prose": "The inset is a percentage relative to the containing block’s size in the corresponding axis (e.g. width for left or right, height for top and bottom). For sticky positioned boxes, the inset is instead relative to the relevant scrollport’s size. Negative values are allowed."
190
- }
191
- }
184
+ "valuespaces": {}
192
185
  }
package/css-shapes-2.json CHANGED
@@ -37,49 +37,44 @@
37
37
  },
38
38
  "descriptors": {},
39
39
  "valuespaces": {
40
- "<shape()>": {
41
- "value": "shape( <'fill-rule'>? from <coordinate-pair>, <shape-command>#)"
42
- },
43
40
  "<shape-command>": {
41
+ "prose": "The sequence of <shape-command>s represent further path data commands. Each command’s starting point is the previous command’s ending point.",
44
42
  "value": "<move-command> | <line-command> | <hv-line-command> | <curve-command> | <smooth-command> | <arc-command> | close"
45
43
  },
46
44
  "<coordinate-pair>": {
47
- "value": "<length-percentage>{2}",
48
- "prose": "Defines a pair of coordinates, representing a rightward and downward offset, respectively, from a specified reference point. Percentages are resolved against the width or height, respectively, of the reference box."
45
+ "value": "<length-percentage>{2}"
49
46
  },
50
47
  "<by-to>": {
51
- "value": "by | to",
52
- "prose": "Every command can be specified in \"absolute\" or \"relative\" coordinates, determined by their <by-to> component. to indicates that any <coordinate-pair>s in the command are relative to the top-left corner of the reference box, while by indicates that the <coordinate-pair>s are relative to the command’s starting point."
48
+ "value": "by | to"
53
49
  },
54
50
  "<move-command>": {
55
- "value": "move <by-to> <coordinate-pair>",
56
- "prose": "Adds a moveto command to the list of path data commands, with an ending point specified by the <coordinate-pair>. This draws nothing, and merely \"moves the pen\" for the next command."
51
+ "value": "move <by-to> <coordinate-pair>"
57
52
  },
58
53
  "<line-command>": {
59
- "value": "line <by-to> <coordinate-pair>",
60
- "prose": "Adds a lineto command to the list of path data commands, with an ending point specified by the <coordinate-pair>. This draws a straight line from the command’s starting point to its ending point."
54
+ "value": "line <by-to> <coordinate-pair>"
61
55
  },
62
56
  "<hv-line-command>": {
63
- "value": "[hline | vline] <by-to> <length-percentage>",
64
- "prose": "Adds a horizontal (for hline) or vertical (for vline) lineto command to the list of path data commands. This is equivalent to a line command with the <length-percentage> given as the horizontal or vertical component, respectively, of the <coordinate-pair>, and the other component specified appropriately to make the line horizontal or vertical."
57
+ "value": "[hline | vline] <by-to> <length-percentage>"
65
58
  },
66
59
  "<curve-command>": {
67
- "value": "curve <by-to> <coordinate-pair> via <coordinate-pair>{1,2}",
68
- "prose": "Adds a Bézier curve command to the list of path data commands, ending at the point specified by the first <coordinate-pair>. The via component specifies control points for the curve: if a single <coordinate-pair> is provided, the command specifies a quadratic curve; if two <coordinate-pair>s are provided, it specifies a cubic curve."
60
+ "value": "curve <by-to> <coordinate-pair> via <coordinate-pair>{1,2}"
69
61
  },
70
62
  "<smooth-command>": {
71
- "value": "smooth <by-to> <coordinate-pair> [via <coordinate-pair>]?",
72
- "prose": "Adds a smooth Bézier curve command to the list of path data commands, ending at the point specified by the first <coordinate-pair>. The via component specifies control points for the curve: if it’s omitted, the command specifies a smooth quadratic curve; if it’s provided, if specifies a smooth cubic curve."
63
+ "value": "smooth <by-to> <coordinate-pair> [via <coordinate-pair>]?"
73
64
  },
74
65
  "<arc-command>": {
75
- "value": "arc <by-to> <coordinate-pair> of <length-percentage>{1,2} [ <arc-sweep> || <arc-size> || rotate <angle> ]?",
76
- "prose": "Add an elliptical arc command to the list of path data commands, ending at the point specified by the <coordinate-pair>. The of component specifies the size of the ellipse that the arc is taken from. The first <length-percentage> provides the horizontal radius of the ellipse and the second provides the vertical radius. Like for <coordinate-pair>s, <percentage> values are resolved against the width or height of the reference box, as appropriate. If only one <length-percentage> is provided, both radiuses use the provided value. In that case, <percentage> values are resolved against the direction-agnostic size of the reference box (similar to the circle() function). The ellipse described by the specified radiuses defaults to being axis-aligned, but can be rotated by specifying an <angle>. Similar to the rotate() transform function, positive angles specify a clockwise rotation, and negative angles specify a counterclockwise rotation. If omitted, this defaults to 0deg. The ending point, radiuses, and angle, taken together, usually define two possible ellipses that intersect the starting point and ending point, and each ellipse can be traced in either direction, for a total of four possible arcs. The <arc-sweep> and <arc-size> components specify which of these arcs is desired: <arc-sweep> can be cw or ccw, indicating that the arc that is traced around the ellipse clockwise or counter-clockwise from the center, respectively, must be chosen. If omitted, this defaults to ccw. Note: In the SVG arc command, cw corresponds to the value 1 for the sweep flag, and ccw to the value 0. <arc-size> can be large or small, indicating that the larger or smaller, respectively, of the two possible arcs must be chosen. If omitted, this defaults to small. Note: In the SVG arc command, large corresponds to the value 1 for the large flag, and small to the 0. Note: If the starting and ending points are on exactly opposite sides of the ellipse, both possible arcs are the same size, but also there is only one possible ellipse. In this case, the <arc-sweep> distinguishes which of the two possible arcs will be chosen, and <arc-size> has no effect. A depiction of the two possible ellipses, and four possible arcs, that can be chosen between."
66
+ "value": "arc <by-to> <coordinate-pair> of <length-percentage>{1,2} [ <arc-sweep> || <arc-size> || rotate <angle> ]"
77
67
  },
78
68
  "<arc-sweep>": {
69
+ "prose": "<arc-sweep> can be cw or ccw, indicating that the arc that is traced around the ellipse clockwise or counter-clockwise from the center, respectively, must be chosen. If omitted, this defaults to ccw.",
79
70
  "value": "cw | ccw"
80
71
  },
81
72
  "<arc-size>": {
73
+ "prose": "<arc-size> can be large or small, indicating that the larger or smaller, respectively, of the two possible arcs must be chosen. If omitted, this defaults to small.",
82
74
  "value": "large | small"
75
+ },
76
+ "<shape()>": {
77
+ "value": "shape( <'fill-rule'>? from <coordinate-pair>, <shape-command>#)"
83
78
  }
84
79
  }
85
80
  }
package/css-shapes.json CHANGED
@@ -52,11 +52,8 @@
52
52
  },
53
53
  "descriptors": {},
54
54
  "valuespaces": {
55
- "<basic-shape-rect>": {
56
- "value": "<inset()> | <rect()> | <xywh()>"
57
- },
58
- "<shape-box>": {
59
- "value": "<box> | margin-box"
55
+ "<basic-shape>": {
56
+ "prose": "The <basic-shape> type can be specified using basic shape functions. When using this syntax to define shapes, the reference box is defined by each property that uses <basic-shape> values. The coordinate system for the shape has its origin on the top-left corner of the reference box with the x-axis running to the right and the y-axis running downwards. All the lengths expressed in percentages are resolved from the used dimensions of the reference box."
60
57
  },
61
58
  "<inset()>": {
62
59
  "value": "inset( <length-percentage>{1,4} [ round <'border-radius'> ]? )"
@@ -80,8 +77,13 @@
80
77
  "value": "path( [<'fill-rule'>,]? <string> )"
81
78
  },
82
79
  "<shape-radius>": {
83
- "value": "<length-percentage> | closest-side | farthest-side",
84
- "prose": "Defines a radius for a circle or ellipse. If omitted it defaults to closest-side. closest-side uses the length from the center of the shape to the closest side of the reference box. For circles, this is the closest side in any dimension. For ellipses, this is the closest side in the radius dimension. farthest-side uses the length from the center of the shape to the farthest side of the reference box. For circles, this is the farthest side in any dimension. For ellipses, this is the farthest side in the radius dimension."
80
+ "value": "<length-percentage> | closest-side | farthest-side"
81
+ },
82
+ "<basic-shape-rect>": {
83
+ "value": "<inset()> | <rect()> | <xywh()>"
84
+ },
85
+ "<shape-box>": {
86
+ "value": "<box> | margin-box"
85
87
  }
86
88
  }
87
89
  }
@@ -21,9 +21,5 @@
21
21
  }
22
22
  },
23
23
  "descriptors": {},
24
- "valuespaces": {
25
- "<percentage>": {
26
- "prose": "When displaying on a small device, renderers must not do size adjustment but instead the computed value of font-size must be multiplied by this percentage. Negative values are invalid."
27
- }
28
- }
24
+ "valuespaces": {}
29
25
  }
package/css-sizing.json CHANGED
@@ -119,9 +119,5 @@
119
119
  }
120
120
  },
121
121
  "descriptors": {},
122
- "valuespaces": {
123
- "<fit-content()>": {
124
- "value": "fit-content(<length-percentage>)"
125
- }
126
- }
122
+ "valuespaces": {}
127
123
  }
package/css-syntax.json CHANGED
@@ -6,14 +6,105 @@
6
6
  "properties": {},
7
7
  "descriptors": {},
8
8
  "valuespaces": {
9
- "<an+b>": {
10
- "value": "odd | even | <integer> | <n-dimension> | '+'? n | -n | <ndashdigit-dimension> | '+'? <ndashdigit-ident> | <dashndashdigit-ident> | <n-dimension> <signed-integer> | '+'? n <signed-integer> | -n <signed-integer> | <ndash-dimension> <signless-integer> | '+'? n- <signless-integer> | -n- <signless-integer> | <n-dimension> ['+' | '-'] <signless-integer> '+'? n ['+' | '-'] <signless-integer> | -n ['+' | '-'] <signless-integer>"
9
+ "<ident-token>": {
10
+ "prose": "The output of tokenization step is a stream of zero or more of the following tokens: <ident-token>, <function-token>, <at-keyword-token>, <hash-token>, <string-token>, <bad-string-token>, <url-token>, <bad-url-token>, <delim-token>, <number-token>, <percentage-token>, <dimension-token>, <whitespace-token>, <CDO-token>, <CDC-token>, <colon-token>, <semicolon-token>, <comma-token>, <[-token>, <]-token>, <(-token>, <)-token>, <{-token>, and <}-token>."
11
11
  },
12
- "<urange>": {
13
- "value": "u '+' <ident-token> '?'* | u <dimension-token> '?'* | u <number-token> '?'* | u <number-token> <dimension-token> | u <number-token> <number-token> | u '+' '?'+"
12
+ "<function-token>": {
13
+ "prose": "The output of tokenization step is a stream of zero or more of the following tokens: <ident-token>, <function-token>, <at-keyword-token>, <hash-token>, <string-token>, <bad-string-token>, <url-token>, <bad-url-token>, <delim-token>, <number-token>, <percentage-token>, <dimension-token>, <whitespace-token>, <CDO-token>, <CDC-token>, <colon-token>, <semicolon-token>, <comma-token>, <[-token>, <]-token>, <(-token>, <)-token>, <{-token>, and <}-token>."
14
+ },
15
+ "<at-keyword-token>": {
16
+ "prose": "The output of tokenization step is a stream of zero or more of the following tokens: <ident-token>, <function-token>, <at-keyword-token>, <hash-token>, <string-token>, <bad-string-token>, <url-token>, <bad-url-token>, <delim-token>, <number-token>, <percentage-token>, <dimension-token>, <whitespace-token>, <CDO-token>, <CDC-token>, <colon-token>, <semicolon-token>, <comma-token>, <[-token>, <]-token>, <(-token>, <)-token>, <{-token>, and <}-token>."
17
+ },
18
+ "<hash-token>": {
19
+ "prose": "The output of tokenization step is a stream of zero or more of the following tokens: <ident-token>, <function-token>, <at-keyword-token>, <hash-token>, <string-token>, <bad-string-token>, <url-token>, <bad-url-token>, <delim-token>, <number-token>, <percentage-token>, <dimension-token>, <whitespace-token>, <CDO-token>, <CDC-token>, <colon-token>, <semicolon-token>, <comma-token>, <[-token>, <]-token>, <(-token>, <)-token>, <{-token>, and <}-token>."
20
+ },
21
+ "<string-token>": {
22
+ "prose": "The output of tokenization step is a stream of zero or more of the following tokens: <ident-token>, <function-token>, <at-keyword-token>, <hash-token>, <string-token>, <bad-string-token>, <url-token>, <bad-url-token>, <delim-token>, <number-token>, <percentage-token>, <dimension-token>, <whitespace-token>, <CDO-token>, <CDC-token>, <colon-token>, <semicolon-token>, <comma-token>, <[-token>, <]-token>, <(-token>, <)-token>, <{-token>, and <}-token>."
23
+ },
24
+ "<bad-string-token>": {
25
+ "prose": "The output of tokenization step is a stream of zero or more of the following tokens: <ident-token>, <function-token>, <at-keyword-token>, <hash-token>, <string-token>, <bad-string-token>, <url-token>, <bad-url-token>, <delim-token>, <number-token>, <percentage-token>, <dimension-token>, <whitespace-token>, <CDO-token>, <CDC-token>, <colon-token>, <semicolon-token>, <comma-token>, <[-token>, <]-token>, <(-token>, <)-token>, <{-token>, and <}-token>."
26
+ },
27
+ "<url-token>": {
28
+ "prose": "The output of tokenization step is a stream of zero or more of the following tokens: <ident-token>, <function-token>, <at-keyword-token>, <hash-token>, <string-token>, <bad-string-token>, <url-token>, <bad-url-token>, <delim-token>, <number-token>, <percentage-token>, <dimension-token>, <whitespace-token>, <CDO-token>, <CDC-token>, <colon-token>, <semicolon-token>, <comma-token>, <[-token>, <]-token>, <(-token>, <)-token>, <{-token>, and <}-token>."
29
+ },
30
+ "<bad-url-token>": {
31
+ "prose": "The output of tokenization step is a stream of zero or more of the following tokens: <ident-token>, <function-token>, <at-keyword-token>, <hash-token>, <string-token>, <bad-string-token>, <url-token>, <bad-url-token>, <delim-token>, <number-token>, <percentage-token>, <dimension-token>, <whitespace-token>, <CDO-token>, <CDC-token>, <colon-token>, <semicolon-token>, <comma-token>, <[-token>, <]-token>, <(-token>, <)-token>, <{-token>, and <}-token>."
32
+ },
33
+ "<delim-token>": {
34
+ "prose": "The output of tokenization step is a stream of zero or more of the following tokens: <ident-token>, <function-token>, <at-keyword-token>, <hash-token>, <string-token>, <bad-string-token>, <url-token>, <bad-url-token>, <delim-token>, <number-token>, <percentage-token>, <dimension-token>, <whitespace-token>, <CDO-token>, <CDC-token>, <colon-token>, <semicolon-token>, <comma-token>, <[-token>, <]-token>, <(-token>, <)-token>, <{-token>, and <}-token>."
35
+ },
36
+ "<number-token>": {
37
+ "prose": "The output of tokenization step is a stream of zero or more of the following tokens: <ident-token>, <function-token>, <at-keyword-token>, <hash-token>, <string-token>, <bad-string-token>, <url-token>, <bad-url-token>, <delim-token>, <number-token>, <percentage-token>, <dimension-token>, <whitespace-token>, <CDO-token>, <CDC-token>, <colon-token>, <semicolon-token>, <comma-token>, <[-token>, <]-token>, <(-token>, <)-token>, <{-token>, and <}-token>."
38
+ },
39
+ "<percentage-token>": {
40
+ "prose": "The output of tokenization step is a stream of zero or more of the following tokens: <ident-token>, <function-token>, <at-keyword-token>, <hash-token>, <string-token>, <bad-string-token>, <url-token>, <bad-url-token>, <delim-token>, <number-token>, <percentage-token>, <dimension-token>, <whitespace-token>, <CDO-token>, <CDC-token>, <colon-token>, <semicolon-token>, <comma-token>, <[-token>, <]-token>, <(-token>, <)-token>, <{-token>, and <}-token>."
41
+ },
42
+ "<dimension-token>": {
43
+ "prose": "The output of tokenization step is a stream of zero or more of the following tokens: <ident-token>, <function-token>, <at-keyword-token>, <hash-token>, <string-token>, <bad-string-token>, <url-token>, <bad-url-token>, <delim-token>, <number-token>, <percentage-token>, <dimension-token>, <whitespace-token>, <CDO-token>, <CDC-token>, <colon-token>, <semicolon-token>, <comma-token>, <[-token>, <]-token>, <(-token>, <)-token>, <{-token>, and <}-token>."
44
+ },
45
+ "<whitespace-token>": {
46
+ "prose": "The output of tokenization step is a stream of zero or more of the following tokens: <ident-token>, <function-token>, <at-keyword-token>, <hash-token>, <string-token>, <bad-string-token>, <url-token>, <bad-url-token>, <delim-token>, <number-token>, <percentage-token>, <dimension-token>, <whitespace-token>, <CDO-token>, <CDC-token>, <colon-token>, <semicolon-token>, <comma-token>, <[-token>, <]-token>, <(-token>, <)-token>, <{-token>, and <}-token>."
47
+ },
48
+ "<CDO-token>": {
49
+ "prose": "The output of tokenization step is a stream of zero or more of the following tokens: <ident-token>, <function-token>, <at-keyword-token>, <hash-token>, <string-token>, <bad-string-token>, <url-token>, <bad-url-token>, <delim-token>, <number-token>, <percentage-token>, <dimension-token>, <whitespace-token>, <CDO-token>, <CDC-token>, <colon-token>, <semicolon-token>, <comma-token>, <[-token>, <]-token>, <(-token>, <)-token>, <{-token>, and <}-token>."
50
+ },
51
+ "<CDC-token>": {
52
+ "prose": "The output of tokenization step is a stream of zero or more of the following tokens: <ident-token>, <function-token>, <at-keyword-token>, <hash-token>, <string-token>, <bad-string-token>, <url-token>, <bad-url-token>, <delim-token>, <number-token>, <percentage-token>, <dimension-token>, <whitespace-token>, <CDO-token>, <CDC-token>, <colon-token>, <semicolon-token>, <comma-token>, <[-token>, <]-token>, <(-token>, <)-token>, <{-token>, and <}-token>."
53
+ },
54
+ "<colon-token>": {
55
+ "prose": "The output of tokenization step is a stream of zero or more of the following tokens: <ident-token>, <function-token>, <at-keyword-token>, <hash-token>, <string-token>, <bad-string-token>, <url-token>, <bad-url-token>, <delim-token>, <number-token>, <percentage-token>, <dimension-token>, <whitespace-token>, <CDO-token>, <CDC-token>, <colon-token>, <semicolon-token>, <comma-token>, <[-token>, <]-token>, <(-token>, <)-token>, <{-token>, and <}-token>."
56
+ },
57
+ "<semicolon-token>": {
58
+ "prose": "The output of tokenization step is a stream of zero or more of the following tokens: <ident-token>, <function-token>, <at-keyword-token>, <hash-token>, <string-token>, <bad-string-token>, <url-token>, <bad-url-token>, <delim-token>, <number-token>, <percentage-token>, <dimension-token>, <whitespace-token>, <CDO-token>, <CDC-token>, <colon-token>, <semicolon-token>, <comma-token>, <[-token>, <]-token>, <(-token>, <)-token>, <{-token>, and <}-token>."
59
+ },
60
+ "<comma-token>": {
61
+ "prose": "The output of tokenization step is a stream of zero or more of the following tokens: <ident-token>, <function-token>, <at-keyword-token>, <hash-token>, <string-token>, <bad-string-token>, <url-token>, <bad-url-token>, <delim-token>, <number-token>, <percentage-token>, <dimension-token>, <whitespace-token>, <CDO-token>, <CDC-token>, <colon-token>, <semicolon-token>, <comma-token>, <[-token>, <]-token>, <(-token>, <)-token>, <{-token>, and <}-token>."
62
+ },
63
+ "<[-token>": {
64
+ "prose": "The output of tokenization step is a stream of zero or more of the following tokens: <ident-token>, <function-token>, <at-keyword-token>, <hash-token>, <string-token>, <bad-string-token>, <url-token>, <bad-url-token>, <delim-token>, <number-token>, <percentage-token>, <dimension-token>, <whitespace-token>, <CDO-token>, <CDC-token>, <colon-token>, <semicolon-token>, <comma-token>, <[-token>, <]-token>, <(-token>, <)-token>, <{-token>, and <}-token>."
65
+ },
66
+ "<]-token>": {
67
+ "prose": "The output of tokenization step is a stream of zero or more of the following tokens: <ident-token>, <function-token>, <at-keyword-token>, <hash-token>, <string-token>, <bad-string-token>, <url-token>, <bad-url-token>, <delim-token>, <number-token>, <percentage-token>, <dimension-token>, <whitespace-token>, <CDO-token>, <CDC-token>, <colon-token>, <semicolon-token>, <comma-token>, <[-token>, <]-token>, <(-token>, <)-token>, <{-token>, and <}-token>."
68
+ },
69
+ "<(-token>": {
70
+ "prose": "The output of tokenization step is a stream of zero or more of the following tokens: <ident-token>, <function-token>, <at-keyword-token>, <hash-token>, <string-token>, <bad-string-token>, <url-token>, <bad-url-token>, <delim-token>, <number-token>, <percentage-token>, <dimension-token>, <whitespace-token>, <CDO-token>, <CDC-token>, <colon-token>, <semicolon-token>, <comma-token>, <[-token>, <]-token>, <(-token>, <)-token>, <{-token>, and <}-token>."
71
+ },
72
+ "<)-token>": {
73
+ "prose": "The output of tokenization step is a stream of zero or more of the following tokens: <ident-token>, <function-token>, <at-keyword-token>, <hash-token>, <string-token>, <bad-string-token>, <url-token>, <bad-url-token>, <delim-token>, <number-token>, <percentage-token>, <dimension-token>, <whitespace-token>, <CDO-token>, <CDC-token>, <colon-token>, <semicolon-token>, <comma-token>, <[-token>, <]-token>, <(-token>, <)-token>, <{-token>, and <}-token>."
74
+ },
75
+ "<{-token>": {
76
+ "prose": "The output of tokenization step is a stream of zero or more of the following tokens: <ident-token>, <function-token>, <at-keyword-token>, <hash-token>, <string-token>, <bad-string-token>, <url-token>, <bad-url-token>, <delim-token>, <number-token>, <percentage-token>, <dimension-token>, <whitespace-token>, <CDO-token>, <CDC-token>, <colon-token>, <semicolon-token>, <comma-token>, <[-token>, <]-token>, <(-token>, <)-token>, <{-token>, and <}-token>."
77
+ },
78
+ "<}-token>": {
79
+ "prose": "The output of tokenization step is a stream of zero or more of the following tokens: <ident-token>, <function-token>, <at-keyword-token>, <hash-token>, <string-token>, <bad-string-token>, <url-token>, <bad-url-token>, <delim-token>, <number-token>, <percentage-token>, <dimension-token>, <whitespace-token>, <CDO-token>, <CDC-token>, <colon-token>, <semicolon-token>, <comma-token>, <[-token>, <]-token>, <(-token>, <)-token>, <{-token>, and <}-token>."
14
80
  },
15
81
  "<EOF-token>": {
16
82
  "prose": "A conceptual token representing the end of the list of tokens. Whenever the list of tokens is empty, the next input token is always an <EOF-token>."
83
+ },
84
+ "<urange>": {
85
+ "prose": "Some constructs, such as the unicode-range descriptor for the @font-face rule, need a way to describe one or more unicode code points. The <urange> production represents a range of one or more unicode code points.",
86
+ "value": "u '+' <ident-token> '?'* | u <dimension-token> '?'* | u <number-token> '?'* | u <number-token> <dimension-token> | u <number-token> <number-token> | u '+' '?'+"
87
+ },
88
+ "<style-block>": {
89
+ "prose": "The <style-block> production represents the contents of a style rule’s block. It may only be used in grammars as the sole value in a block, and represents that the contents of the block must be parsed using the consume a style block’s contents algorithm."
90
+ },
91
+ "<declaration-list>": {
92
+ "prose": "The <declaration-list> production represents a list of declarations. It may only be used in grammars as the sole value in a block, and represents that the contents of the block must be parsed using the consume a list of declarations algorithm."
93
+ },
94
+ "<rule-list>": {
95
+ "prose": "Similarly, the <rule-list> production represents a list of rules, and may only be used in grammars as the sole value in a block. It represents that the contents of the block must be parsed using the consume a list of rules algorithm."
96
+ },
97
+ "<stylesheet>": {
98
+ "prose": "Finally, the <stylesheet> production represents a list of rules. It is identical to <rule-list>, except that blocks using it default to accepting all rules that aren’t otherwise limited to a particular context."
99
+ },
100
+ "<declaration-value>": {
101
+ "prose": "The <declaration-value> production matches any sequence of one or more tokens, so long as the sequence does not contain <bad-string-token>, <bad-url-token>, unmatched <)-token>, <]-token>, or <}-token>, or top-level <semicolon-token> tokens or <delim-token> tokens with a value of \"!\". It represents the entirety of what a valid declaration can have as its value."
102
+ },
103
+ "<any-value>": {
104
+ "prose": "The <any-value> production is identical to <declaration-value>, but also allows top-level <semicolon-token> tokens and <delim-token> tokens with a value of \"!\". It represents the entirety of what valid CSS can be in any context."
105
+ },
106
+ "<an+b>": {
107
+ "value": "odd | even | <integer> | <n-dimension> | '+'? n | -n | <ndashdigit-dimension> | '+'? <ndashdigit-ident> | <dashndashdigit-ident> | <n-dimension> <signed-integer> | '+'? n <signed-integer> | -n <signed-integer> | <ndash-dimension> <signless-integer> | '+'? n- <signless-integer> | -n- <signless-integer> | <n-dimension> ['+' | '-'] <signless-integer> | '+'? n ['+' | '-'] <signless-integer> | -n ['+' | '-'] <signless-integer>"
17
108
  }
18
109
  }
19
110
  }
package/css-text-4.json CHANGED
@@ -486,17 +486,8 @@
486
486
  },
487
487
  "descriptors": {},
488
488
  "valuespaces": {
489
- "<auto()>": {
490
- "value": "auto(<lang>)"
491
- },
492
- "<length-percentages>": {
493
- "prose": "Specifies extra spacing in addition to the intrinsic inter-word spacing defined by the font."
494
- },
495
- "<length>": {
496
- "prose": "Specifies additional spacing between typographic character units. Values may be negative, but there may be implementation-dependent limits."
497
- },
498
- "<percentage>": {
499
- "prose": "Gives the amount of the indent as a percentage of the block container’s own logical width. Percentages must be treated as 0 for the purpose of calculating intrinsic size contributions, but are always resolved normally when performing layout."
489
+ "<lang>": {
490
+ "prose": "<lang> must be a valid CSS <ident> or <string>. It represents an IETF BCP 47 language range (see [BCP47]). If the UA does not support word-boundary detection for all languages represented by the specified range, that specified value is invalid (and will cause the declaration to be ignored)."
500
491
  }
501
492
  }
502
493
  }
package/css-text.json CHANGED
@@ -245,12 +245,5 @@
245
245
  }
246
246
  },
247
247
  "descriptors": {},
248
- "valuespaces": {
249
- "<length>": {
250
- "prose": "Specifies extra spacing in addition to the intrinsic inter-word spacing defined by the font."
251
- },
252
- "<percentage>": {
253
- "prose": "Gives the amount of the indent as a percentage of the block container’s own logical width. Percentages must be treated as 0 for the purpose of calculating intrinsic size contributions, but are always resolved normally when performing layout."
254
- }
255
- }
248
+ "valuespaces": {}
256
249
  }
@@ -109,6 +109,9 @@
109
109
  },
110
110
  "descriptors": {},
111
111
  "valuespaces": {
112
+ "<transform-function>": {
113
+ "prose": "The value of the transform property is a list of <transform-function>. The set of allowed transform functions is given below. Wherever <angle> is used in this specification, a <number> that is equal to zero is also allowed, which is treated the same as an angle of zero degrees. A percentage for horizontal translations is relative to the width of the reference box. A percentage for vertical translations is relative to the height of the reference box. A percentage in a scale function is equivalent to a number, and serializes as a number in specified values. For example, scale3d(50%, 100%, 150%) serializes as scale3d(0.5, 1, 1.5)."
114
+ },
112
115
  "<scale()>": {
113
116
  "value": "scale( [ <number> | <percentage> ]#{1,2} )"
114
117
  },
@@ -51,8 +51,8 @@
51
51
  },
52
52
  "descriptors": {},
53
53
  "valuespaces": {
54
- "<transform-list>": {
55
- "value": "<transform-function>+"
54
+ "<transform-function>": {
55
+ "prose": "The value of the transform property is a list of <transform-function>. The set of allowed transform functions is given below. In the following functions, a <zero> behaves the same as 0deg (\"unitless 0\" angles are preserved for legacy compat). A percentage for horizontal translations is relative to the width of the reference box. A percentage for vertical translations is relative to the height of the reference box."
56
56
  },
57
57
  "<matrix()>": {
58
58
  "value": "matrix( <number>#{6} )"
@@ -86,6 +86,9 @@
86
86
  },
87
87
  "<skewY()>": {
88
88
  "value": "skewY( [ <angle> | <zero> ] )"
89
+ },
90
+ "<transform-list>": {
91
+ "value": "<transform-function>+"
89
92
  }
90
93
  }
91
94
  }
package/css-ui.json CHANGED
@@ -288,17 +288,23 @@
288
288
  },
289
289
  "descriptors": {},
290
290
  "valuespaces": {
291
- "<compat-auto>": {
292
- "value": "searchfield | textarea | push-button | slider-horizontal | checkbox | radio | square-button | menulist | listbox | meter | progress-bar | button"
291
+ "<outline-line-style>": {
292
+ "prose": "<outline-line-style> accepts the same values as <line-style> (CSS Backgrounds 3 § 3.2 Line Patterns: the border-style properties) with the same meaning, except that hidden is not a legal outline style. In addition, the outline-style property accepts the value auto. The auto value permits the user agent to render a custom outline style, typically a style which is either a user interface default for the platform, or perhaps a style that is richer than can be described in detail in CSS, e.g. a rounded edge outline with semi-translucent outer pixels that appears to glow. As such, this specification does not define how the outline-color and outline-width are incorporated or used (if at all) when rendering auto style outlines. User agents may treat auto as solid."
293
293
  },
294
- "<compat-special>": {
295
- "value": "textfield | menulist-button"
294
+ "<url-set>": {
295
+ "prose": "<url-set> is a limited version of image-set(), where only <url> and <url-set> can be used in the part of the <image-set-option> sub-production which would normally allow <image>."
296
296
  },
297
297
  "<id>": {
298
298
  "prose": "The <id> value is an ID selector [SELECT]. In response to directional navigation input corresponding to the property, the focus is navigated to the first element in tree order matching the selector. If this refers to the currently focused element, the directional navigation input respective to the nav- property is ignored — there is no need to refocus the same element. If no element matches the selector, the user agent automatically determines which element to navigate the focus to. If the focus is navigated to an element that was not otherwise focusable, it becomes focusable only as the result of this directional navigation, and the :focus pseudo-class matches the element while it is focused as such."
299
299
  },
300
300
  "<target-name>": {
301
301
  "prose": "The <target-name> parameter indicates the target frame for the focus navigation. It is a <string> and it MUST NOT start with the underscore \"_\" character. Error handling: if it does start with an underscore, \"_parent\" navigates to the parent frame, \"_root\" is treated as root, and other values navigate to a frame by that name if it exists. If the specified target frame does not exist, the parameter will be treated as the keyword current, which means to simply use the frame that the element is in. The keyword root indicates that the user agent should target the full window."
302
+ },
303
+ "<compat-auto>": {
304
+ "value": "searchfield | textarea | push-button | slider-horizontal | checkbox | radio | square-button | menulist | listbox | meter | progress-bar | button"
305
+ },
306
+ "<compat-special>": {
307
+ "value": "textfield | menulist-button"
302
308
  }
303
309
  }
304
310
  }
package/css-values-5.json CHANGED
@@ -6,9 +6,19 @@
6
6
  "properties": {},
7
7
  "descriptors": {},
8
8
  "valuespaces": {
9
+ "<toggle()>": {
10
+ "prose": "The toggle() expression allows descendant elements to cycle over a list of values instead of inheriting the same value."
11
+ },
12
+ "<toggle-value>": {
13
+ "prose": "where <toggle-value> is any CSS value that is valid where the expression is placed. If any of the values inside are not valid, then the entire toggle() expression is invalid. The toggle() expression may be used as the value of any property, but must be the only component in that property’s value."
14
+ },
9
15
  "<attr()>": {
16
+ "prose": "The attr() function substitutes the value of an attribute on an element into a property, similar to how the var() function substitutes a custom property value into a function.",
10
17
  "value": "attr( <q-name> <attr-type>? , <declaration-value>?)"
11
18
  },
19
+ "<dimension-unit>": {
20
+ "prose": "The <dimension-unit> production matches a literal \"%\" character (that is, a <delim-token> with a value of \"%\") or an ident whose value is any of the CSS units for <length>, <angle>, <time>, <frequency>, or <flex> values (such as px or ms)."
21
+ },
12
22
  "<attr-type>": {
13
23
  "value": "string | url | ident | color | number | percentage | length | angle | time | frequency | flex | <dimension-unit>"
14
24
  }
package/css-values.json CHANGED
@@ -6,27 +6,144 @@
6
6
  "properties": {},
7
7
  "descriptors": {},
8
8
  "valuespaces": {
9
- "<url>": {
10
- "value": "url( <string> <url-modifier>* ) | src( <string> <url-modifier>* )"
9
+ "<mix()>": {
10
+ "prose": "Interpolation of two values can be represented by the mix() functional notation, whose syntax is defined as follows:"
11
+ },
12
+ "<start-value>": {
13
+ "prose": "The value at the “start” (0%) of the interpolation range."
14
+ },
15
+ "<end-value>": {
16
+ "prose": "The value at the “end” (100%) of the interpolation range."
17
+ },
18
+ "<ident>": {
19
+ "prose": "CSS identifiers, generically denoted by <ident>, consist of a sequence of characters conforming to the <ident-token> grammar. [CSS-SYNTAX-3] Identifiers cannot be quoted; otherwise they would be interpreted as strings. CSS properties accept two classes of identifiers: pre-defined keywords and author-defined identifiers."
20
+ },
21
+ "<custom-ident>": {
22
+ "prose": "Some properties accept arbitrary author-defined identifiers as a component value. This generic data type is denoted by <custom-ident>, and represents any valid CSS identifier that would not be misinterpreted as a pre-defined keyword in that property’s value definition. Such identifiers are fully case-sensitive (meaning they’re compared using the \"identical to\" operation), even in the ASCII range (e.g. example and EXAMPLE are two different, unrelated user-defined identifiers)."
23
+ },
24
+ "<dashed-ident>": {
25
+ "prose": "The <dashed-ident> production is a <custom-ident>, with all the case-sensitivity that implies, with the additional restriction that it must start with two dashes (U+002D HYPHEN-MINUS)."
26
+ },
27
+ "<string>": {
28
+ "prose": "Strings are denoted by <string>. When written literally, they consist of a sequence of characters delimited by double quotes or single quotes, corresponding to the <string-token> production in the CSS Syntax Module [CSS-SYNTAX-3]."
29
+ },
30
+ "<url()>": {
31
+ "prose": "Typically, a <url> is written with the url() or src() functional notations:"
32
+ },
33
+ "<src()>": {
34
+ "prose": "Typically, a <url> is written with the url() or src() functional notations:"
35
+ },
36
+ "<url-modifier>": {
37
+ "prose": "The url() function supports specifying additional <url-modifier>s, which change the meaning or the interpretation of the URL somehow. A <url-modifier> is either an <ident> or a functional notation."
38
+ },
39
+ "<zero>": {
40
+ "prose": "The value <zero> represents a literal number with the value 0. Expressions that merely evaluate to a <number> with the value 0 (for example, calc(0)) do not match <zero>; only literal <number-token>s do."
41
+ },
42
+ "<dimension>": {
43
+ "prose": "The general term dimension refers to a number with a unit attached to it; and is denoted by <dimension>."
44
+ },
45
+ "<length-percentage>": {
46
+ "value": "[ <length> | <percentage> ]"
47
+ },
48
+ "<frequency-percentage>": {
49
+ "value": "[ <frequency> | <percentage> ]"
50
+ },
51
+ "<angle-percentage>": {
52
+ "value": "[ <angle> | <percentage> ]"
53
+ },
54
+ "<time-percentage>": {
55
+ "value": "[ <time> | <percentage> ]"
11
56
  },
12
57
  "<ratio>": {
58
+ "prose": "Ratio values are denoted by <ratio>, and represent the ratio of two numeric values. It most often represents an aspect ratio, relating a width (first) to a height (second).",
13
59
  "value": "<number [0,∞]> [ / <number [0,∞]> ]?"
14
60
  },
15
- "<position>": {
16
- "value": "[ [ left | center | right ] || [ top | center | bottom ] | [ left | center | right | <length-percentage> ] [ top | center | bottom | <length-percentage> ]? | [ [ left | right ] <length-percentage> ] && [ [ top | bottom ] <length-percentage> ] ]"
61
+ "<angle>": {
62
+ "prose": "Angle values are <dimension>s denoted by <angle>. The angle unit identifiers are:"
63
+ },
64
+ "<time>": {
65
+ "prose": "Time values are dimensions denoted by <time>. The time unit identifiers are:"
66
+ },
67
+ "<frequency>": {
68
+ "prose": "Frequency values are dimensions denoted by <frequency>. The frequency unit identifiers are:"
69
+ },
70
+ "<resolution>": {
71
+ "prose": "Resolution units are dimensions denoted by <resolution>. The resolution unit identifiers are:"
17
72
  },
18
73
  "<calc()>": {
74
+ "prose": "The calc() function is a math function that allows basic arithmetic to be performed on numerical values, using addition (+), subtraction (-), multiplication (*), division (/), and parentheses.",
19
75
  "value": "calc( <calc-sum> )"
20
76
  },
21
77
  "<min()>": {
78
+ "prose": "The min() or max() functions contain one or more comma-separated calculations, and represent the smallest (most negative) or largest (most positive) of them, respectively.",
22
79
  "value": "min( <calc-sum># )"
23
80
  },
24
81
  "<max()>": {
82
+ "prose": "The min() or max() functions contain one or more comma-separated calculations, and represent the smallest (most negative) or largest (most positive) of them, respectively.",
25
83
  "value": "max( <calc-sum># )"
26
84
  },
27
85
  "<clamp()>": {
86
+ "prose": "The clamp() function takes three calculations—a minimum value, a central value, and a maximum value—and represents its central calculation, clamped according to its min and max calculations, favoring the min calculation if it conflicts with the max. (That is, given clamp(MIN, VAL, MAX), it represents exactly the same value as max(MIN, min(VAL, MAX))).",
28
87
  "value": "clamp( <calc-sum>#{3} )"
29
88
  },
89
+ "<round(<rounding-strategy>?, A, B)>": {
90
+ "prose": "The round(<rounding-strategy>?, A, B) function contains an optional rounding strategy, and two calculations A and B, and returns the value of A, rounded according to the rounding strategy, to the nearest integer multiple of B either above or below A. The argument calculations can resolve to any <number>, <dimension>, or <percentage>, but must have the same type, or else the function is invalid; the result will have the same type as the arguments."
91
+ },
92
+ "<rounding-strategy>": {
93
+ "prose": "If A is exactly equal to an integer multiple of B, round() resolves to A exactly (preserving whether A is 0⁻ or 0⁺, if relevant). Otherwise, there are two integer multiples of B that are potentially \"closest\" to A, lower B which is closer to −∞ and upper B which is closer to +∞. The following <rounding-strategy>s dictate how to choose between them:",
94
+ "value": "nearest | up | down | to-zero"
95
+ },
96
+ "<mod(A, B)>": {
97
+ "prose": "The modulus functions mod(A, B) and rem(A, B) similarly contain two calculations A and B, and return the difference between A and the nearest integer multiple of B either above or below A. The argument calculations can resolve to any <number>, <dimension>, or <percentage>, but must have the same type, or else the function is invalid; the result will have the same type as the arguments."
98
+ },
99
+ "<rem(A, B)>": {
100
+ "prose": "The modulus functions mod(A, B) and rem(A, B) similarly contain two calculations A and B, and return the difference between A and the nearest integer multiple of B either above or below A. The argument calculations can resolve to any <number>, <dimension>, or <percentage>, but must have the same type, or else the function is invalid; the result will have the same type as the arguments."
101
+ },
102
+ "<sin(A)>": {
103
+ "prose": "The sin(A), cos(A), and tan(A) functions all contain a single calculation which must resolve to either a <number> or an <angle>, and compute their corresponding function by interpreting the result of their argument as radians. (That is, sin(45deg), sin(.125turn), and sin(3.14159 / 4) all represent the same value, approximately .707.) They all represent a <number>; sin() and cos() will always return a number between −1 and 1, while tan() can return any number between −∞ and +∞. (See § 10.9 Type Checking for details on how math functions handle ∞.)"
104
+ },
105
+ "<cos(A)>": {
106
+ "prose": "The sin(A), cos(A), and tan(A) functions all contain a single calculation which must resolve to either a <number> or an <angle>, and compute their corresponding function by interpreting the result of their argument as radians. (That is, sin(45deg), sin(.125turn), and sin(3.14159 / 4) all represent the same value, approximately .707.) They all represent a <number>; sin() and cos() will always return a number between −1 and 1, while tan() can return any number between −∞ and +∞. (See § 10.9 Type Checking for details on how math functions handle ∞.)"
107
+ },
108
+ "<tan(A)>": {
109
+ "prose": "The sin(A), cos(A), and tan(A) functions all contain a single calculation which must resolve to either a <number> or an <angle>, and compute their corresponding function by interpreting the result of their argument as radians. (That is, sin(45deg), sin(.125turn), and sin(3.14159 / 4) all represent the same value, approximately .707.) They all represent a <number>; sin() and cos() will always return a number between −1 and 1, while tan() can return any number between −∞ and +∞. (See § 10.9 Type Checking for details on how math functions handle ∞.)"
110
+ },
111
+ "<asin(A)>": {
112
+ "prose": "The asin(A), acos(A), and atan(A) functions are the \"arc\" or \"inverse\" trigonometric functions, representing the inverse function to their corresponding \"normal\" trig functions. All of them contain a single calculation which must resolve to a <number>, and compute their corresponding function, interpreting their result as a number of radians, representing an <angle>. The angle returned by asin() must be normalized to the range [-90deg, 90deg]; the angle returned by acos() to the range [0deg, 180deg]; and the angle returned by atan() to the range [-90deg, 90deg]."
113
+ },
114
+ "<acos(A)>": {
115
+ "prose": "The asin(A), acos(A), and atan(A) functions are the \"arc\" or \"inverse\" trigonometric functions, representing the inverse function to their corresponding \"normal\" trig functions. All of them contain a single calculation which must resolve to a <number>, and compute their corresponding function, interpreting their result as a number of radians, representing an <angle>. The angle returned by asin() must be normalized to the range [-90deg, 90deg]; the angle returned by acos() to the range [0deg, 180deg]; and the angle returned by atan() to the range [-90deg, 90deg]."
116
+ },
117
+ "<atan(A)>": {
118
+ "prose": "The asin(A), acos(A), and atan(A) functions are the \"arc\" or \"inverse\" trigonometric functions, representing the inverse function to their corresponding \"normal\" trig functions. All of them contain a single calculation which must resolve to a <number>, and compute their corresponding function, interpreting their result as a number of radians, representing an <angle>. The angle returned by asin() must be normalized to the range [-90deg, 90deg]; the angle returned by acos() to the range [0deg, 180deg]; and the angle returned by atan() to the range [-90deg, 90deg]."
119
+ },
120
+ "<atan2(A, B)>": {
121
+ "prose": "The atan2(A, B) function contains two comma-separated calculations, A and B. A and B can resolve to any <number>, <dimension>, or <percentage>, but must have the same type, or else the function is invalid. The function returns the <angle> between the positive X-axis and the point (B,A). The returned angle must be normalized to the interval (-180deg, 180deg] (that is, greater than -180deg, and less than or equal to 180deg)."
122
+ },
123
+ "<pow(A, B)>": {
124
+ "prose": "The pow(A, B) function contains two comma-separated calculations A and B, both of which must resolve to <number>s, and returns the result of raising A to the power of B, returning the value as a <number>."
125
+ },
126
+ "<sqrt(A)>": {
127
+ "prose": "The sqrt(A) function contains a single calculation which must resolve to a <number>, and returns the square root of the value as a <number>. (sqrt(X) and pow(X, .5) are basically equivalent, differing only in some error-handling; sqrt() is a common enough function that it is provided as a convenience.)"
128
+ },
129
+ "<hypot(A, …)>": {
130
+ "prose": "The hypot(A, …) function contains one or more comma-separated calculations, and returns the length of an N-dimensional vector with components equal to each of the calculations. (That is, the square root of the sum of the squares of its arguments.) The argument calculations can resolve to any <number>, <dimension>, or <percentage>, but must have the same type, or else the function is invalid; the result will have the same type as the arguments."
131
+ },
132
+ "<log(A, B?)>": {
133
+ "prose": "The log(A, B?) function contains one or two calculations (representing the value to be logarithmed, and the base of the logarithm, defaulting to e), which must resolve to <number>s, and returns the logarithm base B of the value A, as a <number>."
134
+ },
135
+ "<exp(A)>": {
136
+ "prose": "The exp(A) function contains one calculation which must resolve to a <number>, and returns the same value as pow(e, A) as a <number>."
137
+ },
138
+ "<abs(A)>": {
139
+ "prose": "The abs(A) function contains one calculation A, and returns the absolute value of A, as the same type as the input: if A’s numeric value is positive or 0⁺, just A again; otherwise -1 * A."
140
+ },
141
+ "<sign(A)>": {
142
+ "prose": "The sign(A) function contains one calculation A, and returns -1 if A’s numeric value is negative, +1 if A’s numeric value is positive, 0⁺ if A’s numeric value is 0⁺, and 0⁻ if A’s numeric value is 0⁻."
143
+ },
144
+ "<quirky-length>": {
145
+ "prose": "When CSS is being parsed in quirks mode, <quirky-length> is a type of <length> that is only valid in certain properties:"
146
+ },
30
147
  "<round()>": {
31
148
  "value": "round( <rounding-strategy>?, <calc-sum>, <calc-sum> )"
32
149
  },
@@ -89,27 +206,6 @@
89
206
  },
90
207
  "<calc-constant>": {
91
208
  "value": "e | pi | infinity | -infinity | NaN"
92
- },
93
- "<rounding-strategy>": {
94
- "value": "nearest | up | down | to-zero"
95
- },
96
- "<start-value>": {
97
- "prose": "The value at the “start” (0%) of the interpolation range."
98
- },
99
- "<end-value>": {
100
- "prose": "The value at the “end” (100%) of the interpolation range."
101
- },
102
- "<length-percentage>": {
103
- "value": "[ <length> | <percentage> ]"
104
- },
105
- "<frequency-percentage>": {
106
- "value": "[ <frequency> | <percentage> ]"
107
- },
108
- "<angle-percentage>": {
109
- "value": "[ <angle> | <percentage> ]"
110
- },
111
- "<time-percentage>": {
112
- "value": "[ <time> | <percentage> ]"
113
209
  }
114
210
  }
115
211
  }
@@ -6,6 +6,9 @@
6
6
  "properties": {},
7
7
  "descriptors": {},
8
8
  "valuespaces": {
9
+ "<custom-property-name>": {
10
+ "prose": "A custom property is any property whose name starts with two dashes (U+002D HYPHEN-MINUS), like --foo. The <custom-property-name> production corresponds to this: it’s defined as any <dashed-ident> (a valid identifier that starts with two dashes), except -- itself, which is reserved for future use by CSS. Custom properties are solely for use by authors and users; CSS will never give them a meaning beyond what is presented here."
11
+ },
9
12
  "<var()>": {
10
13
  "value": "var( <custom-property-name> , <declaration-value>? )"
11
14
  }
package/fill-stroke.json CHANGED
@@ -428,9 +428,6 @@
428
428
  },
429
429
  "<svg-paint>": {
430
430
  "value": "child | child( <integer> )"
431
- },
432
- "<child()>": {
433
- "value": "child(<integer>)"
434
431
  }
435
432
  }
436
433
  }