@webref/css 4.2.3 → 4.3.2

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 (55) hide show
  1. package/CSS.json +15 -0
  2. package/css-align.json +2 -2
  3. package/css-animations-2.json +3 -3
  4. package/css-animations.json +3 -3
  5. package/css-box.json +4 -4
  6. package/css-break.json +2 -2
  7. package/css-cascade-6.json +6 -0
  8. package/css-color-5.json +1 -1
  9. package/css-color.json +22 -0
  10. package/css-contain-3.json +9 -3
  11. package/css-content.json +9 -9
  12. package/css-counter-styles.json +3 -0
  13. package/css-easing.json +7 -7
  14. package/css-extensions.json +3 -0
  15. package/css-fonts.json +19 -37
  16. package/css-gcpm-4.json +1 -0
  17. package/css-gcpm.json +2 -0
  18. package/css-grid.json +7 -4
  19. package/css-highlight-api.json +13 -0
  20. package/css-images-4.json +16 -1
  21. package/css-images.json +13 -6
  22. package/css-inline.json +1 -1
  23. package/css-lists.json +3 -0
  24. package/css-masking.json +15 -6
  25. package/css-overflow.json +1 -1
  26. package/css-page.json +3 -3
  27. package/css-position.json +1 -8
  28. package/css-rhythm.json +2 -2
  29. package/css-scroll-snap-2.json +5 -5
  30. package/css-scroll-snap.json +11 -11
  31. package/css-shapes-2.json +14 -19
  32. package/css-shapes.json +9 -7
  33. package/css-size-adjust.json +2 -6
  34. package/css-sizing.json +7 -11
  35. package/css-syntax.json +95 -4
  36. package/css-text-4.json +2 -11
  37. package/css-text.json +1 -8
  38. package/css-transforms-2.json +3 -0
  39. package/css-transforms.json +5 -2
  40. package/css-transitions.json +1 -1
  41. package/css-ui.json +10 -4
  42. package/css-values-5.json +10 -0
  43. package/css-values.json +67 -25
  44. package/css-variables.json +3 -0
  45. package/css-writing-modes.json +1 -1
  46. package/fill-stroke.json +0 -3
  47. package/filter-effects.json +6 -6
  48. package/mediaqueries-5.json +6 -0
  49. package/mediaqueries.json +7 -0
  50. package/motion.json +0 -3
  51. package/package.json +1 -1
  52. package/scroll-animations.json +0 -3
  53. package/selectors.json +6 -0
  54. package/css-layout-api.json +0 -13
  55. package/svg-animations.json +0 -13
package/css-masking.json CHANGED
@@ -325,6 +325,21 @@
325
325
  },
326
326
  "descriptors": {},
327
327
  "valuespaces": {
328
+ "<rect()>": {
329
+ "value": "rect( <top>, <right>, <bottom>, <left> )"
330
+ },
331
+ "<top>": {
332
+ "prose": "<top>, <right>, <bottom>, and <left> may either have a <length> value or auto. Negative lengths are permitted. The value auto means that a given edge of the clipping region will be the same as the edge of the element’s generated border box (i.e., auto means the same as 0 for <top> and <left>, the same as the used value of the height plus the sum of vertical padding and border widths for <bottom>, and the same as the used value of the width plus the sum of the horizontal padding and border widths for <right>, such that four auto values result in the clipping region being the same as the element’s border box)."
333
+ },
334
+ "<right>": {
335
+ "prose": "<top>, <right>, <bottom>, and <left> may either have a <length> value or auto. Negative lengths are permitted. The value auto means that a given edge of the clipping region will be the same as the edge of the element’s generated border box (i.e., auto means the same as 0 for <top> and <left>, the same as the used value of the height plus the sum of vertical padding and border widths for <bottom>, and the same as the used value of the width plus the sum of the horizontal padding and border widths for <right>, such that four auto values result in the clipping region being the same as the element’s border box)."
336
+ },
337
+ "<bottom>": {
338
+ "prose": "<top>, <right>, <bottom>, and <left> may either have a <length> value or auto. Negative lengths are permitted. The value auto means that a given edge of the clipping region will be the same as the edge of the element’s generated border box (i.e., auto means the same as 0 for <top> and <left>, the same as the used value of the height plus the sum of vertical padding and border widths for <bottom>, and the same as the used value of the width plus the sum of the horizontal padding and border widths for <right>, such that four auto values result in the clipping region being the same as the element’s border box)."
339
+ },
340
+ "<left>": {
341
+ "prose": "<top>, <right>, <bottom>, and <left> may either have a <length> value or auto. Negative lengths are permitted. The value auto means that a given edge of the clipping region will be the same as the edge of the element’s generated border box (i.e., auto means the same as 0 for <top> and <left>, the same as the used value of the height plus the sum of vertical padding and border widths for <bottom>, and the same as the used value of the width plus the sum of the horizontal padding and border widths for <right>, such that four auto values result in the clipping region being the same as the element’s border box)."
342
+ },
328
343
  "<clip-source>": {
329
344
  "value": "<url>"
330
345
  },
@@ -345,12 +360,6 @@
345
360
  },
346
361
  "<mask-layer>": {
347
362
  "value": "<mask-reference> || <position> [ / <bg-size> ]? ||<repeat-style> || <geometry-box> || [ <geometry-box> | no-clip ] || <compositing-operator> || <masking-mode>"
348
- },
349
- "<rect()>": {
350
- "value": "rect( <top>, <right>, <bottom>, <left> )"
351
- },
352
- "<url>": {
353
- "prose": "A URL reference to a mask element (for example url(commonmasks.svg#mask)) or to a CSS image."
354
363
  }
355
364
  }
356
365
  }
package/css-overflow.json CHANGED
@@ -200,7 +200,7 @@
200
200
  },
201
201
  "max-lines": {
202
202
  "name": "max-lines",
203
- "value": "none | <integer>",
203
+ "value": "none | <integer [1,∞]>",
204
204
  "initial": "none",
205
205
  "appliesTo": "block containers which are also fragmentation containers that capture region breaks",
206
206
  "inherited": "no",
package/css-page.json CHANGED
@@ -58,6 +58,9 @@
58
58
  ]
59
59
  },
60
60
  "valuespaces": {
61
+ "<page-size>": {
62
+ "prose": "A page size can be specified using one of the following media names. This is the equivalent of specifying size using length values. The definition of the media names comes from Media Standardized Names [PWGMSN]."
63
+ },
61
64
  "<page-selector-list>": {
62
65
  "value": "<page-selector>#"
63
66
  },
@@ -66,9 +69,6 @@
66
69
  },
67
70
  "<pseudo-page>": {
68
71
  "value": "':' [ left | right | first | blank ]"
69
- },
70
- "<page-size>": {
71
- "prose": "A page size can be specified using one of the following media names. This is the equivalent of specifying size using length values. The definition of the media names comes from Media Standardized Names [PWGMSN]."
72
72
  }
73
73
  }
74
74
  }
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-rhythm.json CHANGED
@@ -6,7 +6,7 @@
6
6
  "properties": {
7
7
  "block-step-size": {
8
8
  "name": "block-step-size",
9
- "value": "none | <length>",
9
+ "value": "none | <length [0,∞]>",
10
10
  "initial": "none",
11
11
  "appliesTo": "block-level boxes",
12
12
  "inherited": "no",
@@ -85,7 +85,7 @@
85
85
  },
86
86
  "line-height-step": {
87
87
  "name": "line-height-step",
88
- "value": "<length>",
88
+ "value": "<length [0,∞]>",
89
89
  "initial": "0px",
90
90
  "appliesTo": "block containers",
91
91
  "inherited": "yes",
@@ -6,7 +6,7 @@
6
6
  "properties": {
7
7
  "scroll-start": {
8
8
  "name": "scroll-start",
9
- "value": "[ auto | start | end | center | left | right | top | bottom | <length-percentage> ]{1,2}",
9
+ "value": "[ auto | start | end | center | left | right | top | bottom | <length-percentage [0,∞]> ]{1,2}",
10
10
  "initial": "see individual properties",
11
11
  "appliesTo": "see individual properties",
12
12
  "inherited": "see individual properties",
@@ -36,7 +36,7 @@
36
36
  },
37
37
  "scroll-start-x": {
38
38
  "name": "scroll-start-x",
39
- "value": "auto | start | end | center | <length-percentage>",
39
+ "value": "auto | start | end | center | <length-percentage [0,∞]>",
40
40
  "initial": "auto",
41
41
  "appliesTo": "scroll containers",
42
42
  "inherited": "no",
@@ -51,7 +51,7 @@
51
51
  },
52
52
  "scroll-start-y": {
53
53
  "name": "scroll-start-y",
54
- "value": "auto | start | end | center | <length-percentage>",
54
+ "value": "auto | start | end | center | <length-percentage [0,∞]>",
55
55
  "initial": "auto",
56
56
  "appliesTo": "scroll containers",
57
57
  "inherited": "no",
@@ -66,7 +66,7 @@
66
66
  },
67
67
  "scroll-start-inline": {
68
68
  "name": "scroll-start-inline",
69
- "value": "auto | start | end | center | <length-percentage>",
69
+ "value": "auto | start | end | center | <length-percentage [0,∞]>",
70
70
  "initial": "auto",
71
71
  "appliesTo": "scroll containers",
72
72
  "inherited": "no",
@@ -81,7 +81,7 @@
81
81
  },
82
82
  "scroll-start-block": {
83
83
  "name": "scroll-start-block",
84
- "value": "auto | start | end | center | <length-percentage>",
84
+ "value": "auto | start | end | center | <length-percentage [0,∞]>",
85
85
  "initial": "auto",
86
86
  "appliesTo": "scroll containers",
87
87
  "inherited": "no",
@@ -21,7 +21,7 @@
21
21
  },
22
22
  "scroll-padding": {
23
23
  "name": "scroll-padding",
24
- "value": "[ auto | <length-percentage> ]{1,4}",
24
+ "value": "[ auto | <length-percentage [0,∞]> ]{1,4}",
25
25
  "initial": "auto",
26
26
  "appliesTo": "scroll containers",
27
27
  "inherited": "no",
@@ -81,7 +81,7 @@
81
81
  },
82
82
  "scroll-padding-top": {
83
83
  "name": "scroll-padding-top",
84
- "value": "auto | <length-percentage>",
84
+ "value": "auto | <length-percentage [0,∞]>",
85
85
  "initial": "auto",
86
86
  "appliesTo": "scroll containers",
87
87
  "inherited": "no",
@@ -96,7 +96,7 @@
96
96
  },
97
97
  "scroll-padding-right": {
98
98
  "name": "scroll-padding-right",
99
- "value": "auto | <length-percentage>",
99
+ "value": "auto | <length-percentage [0,∞]>",
100
100
  "initial": "auto",
101
101
  "appliesTo": "scroll containers",
102
102
  "inherited": "no",
@@ -111,7 +111,7 @@
111
111
  },
112
112
  "scroll-padding-bottom": {
113
113
  "name": "scroll-padding-bottom",
114
- "value": "auto | <length-percentage>",
114
+ "value": "auto | <length-percentage [0,∞]>",
115
115
  "initial": "auto",
116
116
  "appliesTo": "scroll containers",
117
117
  "inherited": "no",
@@ -126,7 +126,7 @@
126
126
  },
127
127
  "scroll-padding-left": {
128
128
  "name": "scroll-padding-left",
129
- "value": "auto | <length-percentage>",
129
+ "value": "auto | <length-percentage [0,∞]>",
130
130
  "initial": "auto",
131
131
  "appliesTo": "scroll containers",
132
132
  "inherited": "no",
@@ -141,7 +141,7 @@
141
141
  },
142
142
  "scroll-padding-inline-start": {
143
143
  "name": "scroll-padding-inline-start",
144
- "value": "auto | <length-percentage>",
144
+ "value": "auto | <length-percentage [0,∞]>",
145
145
  "initial": "auto",
146
146
  "appliesTo": "scroll containers",
147
147
  "inherited": "no",
@@ -156,7 +156,7 @@
156
156
  },
157
157
  "scroll-padding-block-start": {
158
158
  "name": "scroll-padding-block-start",
159
- "value": "auto | <length-percentage>",
159
+ "value": "auto | <length-percentage [0,∞]>",
160
160
  "initial": "auto",
161
161
  "appliesTo": "scroll containers",
162
162
  "inherited": "no",
@@ -171,7 +171,7 @@
171
171
  },
172
172
  "scroll-padding-inline-end": {
173
173
  "name": "scroll-padding-inline-end",
174
- "value": "auto | <length-percentage>",
174
+ "value": "auto | <length-percentage [0,∞]>",
175
175
  "initial": "auto",
176
176
  "appliesTo": "scroll containers",
177
177
  "inherited": "no",
@@ -186,7 +186,7 @@
186
186
  },
187
187
  "scroll-padding-block-end": {
188
188
  "name": "scroll-padding-block-end",
189
- "value": "auto | <length-percentage>",
189
+ "value": "auto | <length-percentage [0,∞]>",
190
190
  "initial": "auto",
191
191
  "appliesTo": "scroll containers",
192
192
  "inherited": "no",
@@ -201,7 +201,7 @@
201
201
  },
202
202
  "scroll-padding-block": {
203
203
  "name": "scroll-padding-block",
204
- "value": "[ auto | <length-percentage> ]{1,2}",
204
+ "value": "[ auto | <length-percentage [0,∞]> ]{1,2}",
205
205
  "initial": "auto",
206
206
  "appliesTo": "scroll containers",
207
207
  "inherited": "no",
@@ -216,7 +216,7 @@
216
216
  },
217
217
  "scroll-padding-inline": {
218
218
  "name": "scroll-padding-inline",
219
- "value": "[ auto | <length-percentage> ]{1,2}",
219
+ "value": "[ auto | <length-percentage [0,∞]> ]{1,2}",
220
220
  "initial": "auto",
221
221
  "appliesTo": "scroll containers",
222
222
  "inherited": "no",
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 [0,∞]> | 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
  }
@@ -6,7 +6,7 @@
6
6
  "properties": {
7
7
  "text-size-adjust": {
8
8
  "name": "text-size-adjust",
9
- "value": "auto | none | <percentage>",
9
+ "value": "auto | none | <percentage [0,∞]>",
10
10
  "initial": "auto",
11
11
  "appliesTo": "all elements",
12
12
  "inherited": "yes",
@@ -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
@@ -6,7 +6,7 @@
6
6
  "properties": {
7
7
  "width": {
8
8
  "name": "width",
9
- "value": "auto | <length-percentage> | min-content | max-content | fit-content(<length-percentage>)",
9
+ "value": "auto | <length-percentage [0,∞]> | min-content | max-content | fit-content(<length-percentage [0,∞]>)",
10
10
  "initial": "auto",
11
11
  "appliesTo": "all elements except non-replaced inlines",
12
12
  "inherited": "no",
@@ -20,7 +20,7 @@
20
20
  },
21
21
  "height": {
22
22
  "name": "height",
23
- "value": "auto | <length-percentage> | min-content | max-content | fit-content(<length-percentage>)",
23
+ "value": "auto | <length-percentage [0,∞]> | min-content | max-content | fit-content(<length-percentage [0,∞]>)",
24
24
  "initial": "auto",
25
25
  "appliesTo": "all elements except non-replaced inlines",
26
26
  "inherited": "no",
@@ -34,7 +34,7 @@
34
34
  },
35
35
  "min-width": {
36
36
  "name": "min-width",
37
- "value": "auto | <length-percentage> | min-content | max-content | fit-content(<length-percentage>)",
37
+ "value": "auto | <length-percentage [0,∞]> | min-content | max-content | fit-content(<length-percentage [0,∞]>)",
38
38
  "initial": "auto",
39
39
  "appliesTo": "all elements that accept width or height",
40
40
  "inherited": "no",
@@ -49,7 +49,7 @@
49
49
  },
50
50
  "min-height": {
51
51
  "name": "min-height",
52
- "value": "auto | <length-percentage> | min-content | max-content | fit-content(<length-percentage>)",
52
+ "value": "auto | <length-percentage [0,∞]> | min-content | max-content | fit-content(<length-percentage [0,∞]>)",
53
53
  "initial": "auto",
54
54
  "appliesTo": "all elements that accept width or height",
55
55
  "inherited": "no",
@@ -64,7 +64,7 @@
64
64
  },
65
65
  "max-width": {
66
66
  "name": "max-width",
67
- "value": "none | <length-percentage> | min-content | max-content | fit-content(<length-percentage>)",
67
+ "value": "none | <length-percentage [0,∞]> | min-content | max-content | fit-content(<length-percentage [0,∞]>)",
68
68
  "initial": "none",
69
69
  "appliesTo": "all elements that accept width or height",
70
70
  "inherited": "no",
@@ -79,7 +79,7 @@
79
79
  },
80
80
  "max-height": {
81
81
  "name": "max-height",
82
- "value": "none | <length-percentage> | min-content | max-content | fit-content(<length-percentage>)",
82
+ "value": "none | <length-percentage [0,∞]> | min-content | max-content | fit-content(<length-percentage [0,∞]>)",
83
83
  "initial": "none",
84
84
  "appliesTo": "all elements that accept width or height",
85
85
  "inherited": "no",
@@ -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
  },