@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
@@ -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
  }
@@ -21,7 +21,7 @@
21
21
  },
22
22
  "transition-duration": {
23
23
  "name": "transition-duration",
24
- "value": "<time>#",
24
+ "value": "<time [0s,∞]>#",
25
25
  "initial": "0s",
26
26
  "appliesTo": "all elements",
27
27
  "inherited": "no",
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,30 +6,90 @@
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
+ "<url()>": {
28
+ "prose": "Typically, a <url> is written with the url() or src() functional notations:"
29
+ },
30
+ "<src()>": {
31
+ "prose": "Typically, a <url> is written with the url() or src() functional notations:"
32
+ },
33
+ "<url-modifier>": {
34
+ "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."
35
+ },
36
+ "<zero>": {
37
+ "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."
38
+ },
39
+ "<dimension>": {
40
+ "prose": "The general term dimension refers to a number with a unit attached to it; and is denoted by <dimension>."
41
+ },
42
+ "<length-percentage>": {
43
+ "value": "[ <length> | <percentage> ]"
44
+ },
45
+ "<frequency-percentage>": {
46
+ "value": "[ <frequency> | <percentage> ]"
47
+ },
48
+ "<angle-percentage>": {
49
+ "value": "[ <angle> | <percentage> ]"
50
+ },
51
+ "<time-percentage>": {
52
+ "value": "[ <time> | <percentage> ]"
11
53
  },
12
54
  "<ratio>": {
55
+ "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
56
  "value": "<number [0,∞]> [ / <number [0,∞]> ]?"
14
57
  },
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> ] ]"
58
+ "<angle>": {
59
+ "prose": "Angle values are <dimension>s denoted by <angle>. The angle unit identifiers are:"
60
+ },
61
+ "<time>": {
62
+ "prose": "Time values are dimensions denoted by <time>. The time unit identifiers are:"
63
+ },
64
+ "<frequency>": {
65
+ "prose": "Frequency values are dimensions denoted by <frequency>. The frequency unit identifiers are:"
66
+ },
67
+ "<resolution>": {
68
+ "prose": "Resolution units are dimensions denoted by <resolution>. The resolution unit identifiers are:"
17
69
  },
18
70
  "<calc()>": {
71
+ "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
72
  "value": "calc( <calc-sum> )"
20
73
  },
21
74
  "<min()>": {
75
+ "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
76
  "value": "min( <calc-sum># )"
23
77
  },
24
78
  "<max()>": {
79
+ "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
80
  "value": "max( <calc-sum># )"
26
81
  },
27
82
  "<clamp()>": {
83
+ "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
84
  "value": "clamp( <calc-sum>#{3} )"
29
85
  },
30
86
  "<round()>": {
31
87
  "value": "round( <rounding-strategy>?, <calc-sum>, <calc-sum> )"
32
88
  },
89
+ "<rounding-strategy>": {
90
+ "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:",
91
+ "value": "nearest | up | down | to-zero"
92
+ },
33
93
  "<mod()>": {
34
94
  "value": "mod( <calc-sum>, <calc-sum> )"
35
95
  },
@@ -78,6 +138,9 @@
78
138
  "<sign()>": {
79
139
  "value": "sign( <calc-sum> )"
80
140
  },
141
+ "<quirky-length>": {
142
+ "prose": "When CSS is being parsed in quirks mode, <quirky-length> is a type of <length> that is only valid in certain properties:"
143
+ },
81
144
  "<calc-sum>": {
82
145
  "value": "<calc-product> [ [ '+' | '-' ] <calc-product> ]*"
83
146
  },
@@ -89,27 +152,6 @@
89
152
  },
90
153
  "<calc-constant>": {
91
154
  "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
155
  }
114
156
  }
115
157
  }
@@ -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
  }
@@ -80,7 +80,7 @@
80
80
  },
81
81
  "text-combine-upright": {
82
82
  "name": "text-combine-upright",
83
- "value": "none | all | [ digits <integer>? ]",
83
+ "value": "none | all | [ digits <integer [2,4]>? ]",
84
84
  "initial": "none",
85
85
  "appliesTo": "inline boxes and text",
86
86
  "inherited": "yes",
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
  }
@@ -86,6 +86,12 @@
86
86
  },
87
87
  "descriptors": {},
88
88
  "valuespaces": {
89
+ "<url>": {
90
+ "prose": "A filter reference to a filter element. For example url(commonfilters.svg#filter). If the filter references a non-existent object or the referenced object is not a filter element, then the whole filter chain is ignored. No filter is applied to the object."
91
+ },
92
+ "<number-optional-number>": {
93
+ "value": "<number> <number>?"
94
+ },
89
95
  "<filter-value-list>": {
90
96
  "value": "[ <filter-function> | <url> ]+"
91
97
  },
@@ -124,12 +130,6 @@
124
130
  },
125
131
  "<filter()>": {
126
132
  "value": "filter( [ <image> | <string> ], <filter-value-list> )"
127
- },
128
- "<number-optional-number>": {
129
- "value": "<number> <number>?"
130
- },
131
- "<url>": {
132
- "prose": "A filter reference to a filter element. For example url(commonfilters.svg#filter). If the filter references a non-existent object or the referenced object is not a filter element, then the whole filter chain is ignored. No filter is applied to the object."
133
133
  }
134
134
  }
135
135
  }
@@ -303,6 +303,12 @@
303
303
  ]
304
304
  },
305
305
  "valuespaces": {
306
+ "<media-query-list>": {
307
+ "prose": "To parse a <media-query-list> production, parse a comma-separated list of component values, then parse each entry in the returned list as a <media-query>. Its value is the list of <media-query>s so produced."
308
+ },
309
+ "<mq-boolean>": {
310
+ "prose": "The <mq-boolean> value type is an <integer> with the value 0 or 1. Any other integer value is invalid. Note that -0 is always equivalent to 0 in CSS, and so is also accepted as a valid <mq-boolean> value."
311
+ },
306
312
  "<media-query>": {
307
313
  "value": "<media-condition> | [ not | only ]? <media-type> [ and <media-condition-without-or> ]?"
308
314
  },
package/mediaqueries.json CHANGED
@@ -175,6 +175,13 @@
175
175
  ]
176
176
  },
177
177
  "valuespaces": {
178
+ "<media-query-list>": {
179
+ "prose": "To parse a <media-query-list> production, parse a comma-separated list of component values, then parse each entry in the returned list as a <media-query>. Its value is the list of <media-query>s so produced."
180
+ },
181
+ "<mq-boolean>": {
182
+ "prose": "The <mq-boolean> value type is an <integer> with the value 0 or 1. Any other integer value is invalid. Note that -0 is always equivalent to 0 in CSS, and so is also accepted as a valid <mq-boolean> value.",
183
+ "value": "<integer [0,1]>"
184
+ },
178
185
  "<media-query>": {
179
186
  "value": "<media-condition> | [ not | only ]? <media-type> [ and <media-condition-without-or> ]?"
180
187
  },
package/motion.json CHANGED
@@ -106,9 +106,6 @@
106
106
  },
107
107
  "<path()>": {
108
108
  "value": "path( <string> )"
109
- },
110
- "<size>": {
111
- "prose": "Decides the path length used when offset-distance is expressed as a percentage, using the distance to the containing box. For <size> values other than sides, the path length is independent of <angle>. It is defined as: <size> = [ closest-side | closest-corner | farthest-side | farthest-corner | sides ]"
112
109
  }
113
110
  }
114
111
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@webref/css",
3
3
  "description": "CSS definitions of the web platform",
4
- "version": "4.2.3",
4
+ "version": "4.3.2",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/w3c/webref.git"
@@ -39,9 +39,6 @@
39
39
  },
40
40
  "<element-offset-edge>": {
41
41
  "value": "start | end"
42
- },
43
- "<selector()>": {
44
- "value": "selector()"
45
42
  }
46
43
  }
47
44
  }
package/selectors.json CHANGED
@@ -6,6 +6,12 @@
6
6
  "properties": {},
7
7
  "descriptors": {},
8
8
  "valuespaces": {
9
+ "<forgiving-selector-list>": {
10
+ "prose": "The <forgiving-selector-list> production instead parses each selector in the list individually, simply ignoring ones that fail to parse, so the remaining selectors can still be used."
11
+ },
12
+ "<forgiving-relative-selector-list>": {
13
+ "prose": "<forgiving-relative-selector-list> is identical to <forgiving-selector-list>, except it parses its components as <relative-selector> rather than <complex-selector>."
14
+ },
9
15
  "<selector-list>": {
10
16
  "value": "<complex-selector-list>"
11
17
  },
@@ -1,13 +0,0 @@
1
- {
2
- "spec": {
3
- "title": "CSS Layout API Level 1",
4
- "url": "https://drafts.css-houdini.org/css-layout-api-1/"
5
- },
6
- "properties": {},
7
- "descriptors": {},
8
- "valuespaces": {
9
- "<layout()>": {
10
- "value": "layout()"
11
- }
12
- }
13
- }
@@ -1,13 +0,0 @@
1
- {
2
- "spec": {
3
- "title": "SVG Animations",
4
- "url": "https://svgwg.org/specs/animations/"
5
- },
6
- "properties": {},
7
- "descriptors": {},
8
- "valuespaces": {
9
- "<control-point>": {
10
- "value": "<number> ,? <number> ,? <number> ,? <number>"
11
- }
12
- }
13
- }