@webref/css 6.3.4 → 6.4.1

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.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "spec": {
3
3
  "title": "CSS Anchor Positioning",
4
- "url": "https://drafts.csswg.org/css-anchor-1/"
4
+ "url": "https://drafts.csswg.org/css-anchor-position-1/"
5
5
  },
6
6
  "properties": [
7
7
  {
@@ -23,7 +23,7 @@
23
23
  },
24
24
  {
25
25
  "name": "default",
26
- "prose": "Behaves as the value of anchor-default on the element.",
26
+ "prose": "Behaves identically to <anchor-element>, but draws its value from anchor-default on the element.",
27
27
  "type": "value",
28
28
  "value": "default"
29
29
  },
@@ -142,16 +142,10 @@
142
142
  },
143
143
  {
144
144
  "name": "implicit",
145
- "prose": "Selects one of the implicit anchor elements defined for the element, if possible.",
145
+ "prose": "Selects the implicit anchor element defined for the element, if possible.",
146
146
  "type": "value",
147
147
  "value": "implicit"
148
148
  },
149
- {
150
- "name": "popover",
151
- "prose": "If the element has an implicit anchor element defined by the Popover API, uses that if possible.",
152
- "type": "value",
153
- "value": "popover"
154
- },
155
149
  {
156
150
  "name": "auto",
157
151
  "prose": "The auto and auto-same keywords indicate automatic anchor positioning. See § 2.1.1 Automatic Anchor Positioning for details.",
@@ -223,7 +217,7 @@
223
217
  {
224
218
  "name": "<anchor-element>",
225
219
  "type": "type",
226
- "value": "<dashed-ident> | implicit | popover"
220
+ "value": "<dashed-ident> | implicit"
227
221
  },
228
222
  {
229
223
  "name": "<anchor-side>",
@@ -28,7 +28,7 @@
28
28
  "percentages": "N/A",
29
29
  "computedValue": "list, each item either a case-sensitive css identifier or the keywords none, auto.",
30
30
  "canonicalOrder": "per grammar",
31
- "animatable": "no",
31
+ "animationType": "not animatable",
32
32
  "styleDeclaration": [
33
33
  "animation-timeline",
34
34
  "animationTimeline"
@@ -169,6 +169,126 @@
169
169
  "borderColor"
170
170
  ]
171
171
  },
172
+ {
173
+ "name": "border-top-radius",
174
+ "value": "<length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]?",
175
+ "initial": "0",
176
+ "appliesTo": "all elements (but see prose)",
177
+ "inherited": "no",
178
+ "percentages": "Refer to corresponding dimension of the border box.",
179
+ "computedValue": "see individual properties",
180
+ "canonicalOrder": "per grammar",
181
+ "animatable": "see individual properties",
182
+ "styleDeclaration": [
183
+ "border-top-radius",
184
+ "borderTopRadius"
185
+ ]
186
+ },
187
+ {
188
+ "name": "border-right-radius",
189
+ "value": "<length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]?",
190
+ "initial": "0",
191
+ "appliesTo": "all elements (but see prose)",
192
+ "inherited": "no",
193
+ "percentages": "Refer to corresponding dimension of the border box.",
194
+ "computedValue": "see individual properties",
195
+ "canonicalOrder": "per grammar",
196
+ "animatable": "see individual properties",
197
+ "styleDeclaration": [
198
+ "border-right-radius",
199
+ "borderRightRadius"
200
+ ]
201
+ },
202
+ {
203
+ "name": "border-bottom-radius",
204
+ "value": "<length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]?",
205
+ "initial": "0",
206
+ "appliesTo": "all elements (but see prose)",
207
+ "inherited": "no",
208
+ "percentages": "Refer to corresponding dimension of the border box.",
209
+ "computedValue": "see individual properties",
210
+ "canonicalOrder": "per grammar",
211
+ "animatable": "see individual properties",
212
+ "styleDeclaration": [
213
+ "border-bottom-radius",
214
+ "borderBottomRadius"
215
+ ]
216
+ },
217
+ {
218
+ "name": "border-left-radius",
219
+ "value": "<length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]?",
220
+ "initial": "0",
221
+ "appliesTo": "all elements (but see prose)",
222
+ "inherited": "no",
223
+ "percentages": "Refer to corresponding dimension of the border box.",
224
+ "computedValue": "see individual properties",
225
+ "canonicalOrder": "per grammar",
226
+ "animatable": "see individual properties",
227
+ "styleDeclaration": [
228
+ "border-left-radius",
229
+ "borderLeftRadius"
230
+ ]
231
+ },
232
+ {
233
+ "name": "border-block-start-radius",
234
+ "value": "<length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]?",
235
+ "initial": "0",
236
+ "appliesTo": "all elements (but see prose)",
237
+ "inherited": "no",
238
+ "percentages": "Refer to corresponding dimension of the border box.",
239
+ "computedValue": "see individual properties",
240
+ "canonicalOrder": "per grammar",
241
+ "animatable": "see individual properties",
242
+ "styleDeclaration": [
243
+ "border-block-start-radius",
244
+ "borderBlockStartRadius"
245
+ ]
246
+ },
247
+ {
248
+ "name": "border-block-end-radius",
249
+ "value": "<length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]?",
250
+ "initial": "0",
251
+ "appliesTo": "all elements (but see prose)",
252
+ "inherited": "no",
253
+ "percentages": "Refer to corresponding dimension of the border box.",
254
+ "computedValue": "see individual properties",
255
+ "canonicalOrder": "per grammar",
256
+ "animatable": "see individual properties",
257
+ "styleDeclaration": [
258
+ "border-block-end-radius",
259
+ "borderBlockEndRadius"
260
+ ]
261
+ },
262
+ {
263
+ "name": "border-inline-start-radius",
264
+ "value": "<length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]?",
265
+ "initial": "0",
266
+ "appliesTo": "all elements (but see prose)",
267
+ "inherited": "no",
268
+ "percentages": "Refer to corresponding dimension of the border box.",
269
+ "computedValue": "see individual properties",
270
+ "canonicalOrder": "per grammar",
271
+ "animatable": "see individual properties",
272
+ "styleDeclaration": [
273
+ "border-inline-start-radius",
274
+ "borderInlineStartRadius"
275
+ ]
276
+ },
277
+ {
278
+ "name": "border-inline-end-radius",
279
+ "value": "<length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]?",
280
+ "initial": "0",
281
+ "appliesTo": "all elements (but see prose)",
282
+ "inherited": "no",
283
+ "percentages": "Refer to corresponding dimension of the border box.",
284
+ "computedValue": "see individual properties",
285
+ "canonicalOrder": "per grammar",
286
+ "animatable": "see individual properties",
287
+ "styleDeclaration": [
288
+ "border-inline-end-radius",
289
+ "borderInlineEndRadius"
290
+ ]
291
+ },
172
292
  {
173
293
  "name": "border-radius",
174
294
  "value": "<length-percentage [0,∞]>{1,4} [ / <length-percentage [0,∞]>{1,4} ]?",
package/css-box.json CHANGED
@@ -97,25 +97,25 @@
97
97
  },
98
98
  {
99
99
  "name": "block-start",
100
- "prose": "For in-flow boxes and floats contained by this box, margins adjacent to the box’s specified edges are truncated to zero. It also truncates any margins collapsed with such a margin.",
100
+ "prose": "For in-flow boxes and floats contained by this box, margins adjacent to the box’s specified edges are truncated to zero. It also truncates any descendant margins collapsed with such a margin (but not its own, its siblings’, or its ancestors’).",
101
101
  "type": "value",
102
102
  "value": "block-start"
103
103
  },
104
104
  {
105
105
  "name": "inline-start",
106
- "prose": "For in-flow boxes and floats contained by this box, margins adjacent to the box’s specified edges are truncated to zero. It also truncates any margins collapsed with such a margin.",
106
+ "prose": "For in-flow boxes and floats contained by this box, margins adjacent to the box’s specified edges are truncated to zero. It also truncates any descendant margins collapsed with such a margin (but not its own, its siblings’, or its ancestors’).",
107
107
  "type": "value",
108
108
  "value": "inline-start"
109
109
  },
110
110
  {
111
111
  "name": "inline-end",
112
- "prose": "For in-flow boxes and floats contained by this box, margins adjacent to the box’s specified edges are truncated to zero. It also truncates any margins collapsed with such a margin.",
112
+ "prose": "For in-flow boxes and floats contained by this box, margins adjacent to the box’s specified edges are truncated to zero. It also truncates any descendant margins collapsed with such a margin (but not its own, its siblings’, or its ancestors’).",
113
113
  "type": "value",
114
114
  "value": "inline-end"
115
115
  },
116
116
  {
117
117
  "name": "block-end",
118
- "prose": "For in-flow boxes and floats contained by this box, margins adjacent to the box’s specified edges are truncated to zero. It also truncates any margins collapsed with such a margin.",
118
+ "prose": "For in-flow boxes and floats contained by this box, margins adjacent to the box’s specified edges are truncated to zero. It also truncates any descendant margins collapsed with such a margin (but not its own, its siblings’, or its ancestors’).",
119
119
  "type": "value",
120
120
  "value": "block-end"
121
121
  },
@@ -9,25 +9,20 @@
9
9
  "name": "@scope",
10
10
  "prose": "The @scope block at-rule allows authors to scope style rules in CSS, with the application of weak scoping proximity between the scoping root and the subject of each style rule.",
11
11
  "descriptors": [],
12
- "value": "@scope (<scope-start>) [to (<scope-end>)]? { <stylesheet> }"
12
+ "value": "@scope [(<scope-start>)]? [to (<scope-end>)]? { <stylesheet> }"
13
13
  }
14
14
  ],
15
15
  "selectors": [],
16
16
  "values": [
17
17
  {
18
18
  "name": "<scope-start>",
19
- "prose": "The <scope-start> is a <forgiving-selector-list>. Each element matched by <scope-start> is a scoping element, creating a scope with itself as the scoping root.",
20
- "type": "type"
19
+ "type": "type",
20
+ "value": "<forgiving-selector-list>"
21
21
  },
22
22
  {
23
23
  "name": "<scope-end>",
24
- "prose": "The <scope-end> is a <forgiving-selector-list> that is scoped by the <scope-start> selector, with the scoping roots as :scope elements. Each element matched by <scope-end> is a scoping limit. The scoping limit elements define the lower bounds of a scope, so that scoped selectors are not able to match any scoping limit elements, or any elements nested within them.",
25
- "type": "type"
26
- },
27
- {
28
- "name": "<selector-scope>",
29
24
  "type": "type",
30
- "value": "( <scope-start> [/ <scope-end>]? )"
25
+ "value": "<forgiving-selector-list>"
31
26
  }
32
27
  ]
33
28
  }
package/css-color-5.json CHANGED
@@ -59,6 +59,22 @@
59
59
  ],
60
60
  "selectors": [],
61
61
  "values": [
62
+ {
63
+ "name": "<color>",
64
+ "prose": "Colors in CSS are represented by the <color> type:",
65
+ "type": "type",
66
+ "value": "<absolute-color-base> | currentcolor | <system-color> | <device-cmyk()>"
67
+ },
68
+ {
69
+ "name": "<absolute-color-base>",
70
+ "type": "type",
71
+ "value": "<hex-color> | <absolute-color-function> | <named-color> | transparent"
72
+ },
73
+ {
74
+ "name": "<absolute-color-function>",
75
+ "type": "type",
76
+ "value": "<rgb()> | <rgba()> | <hsl()> | <hsla()> | <hwb()> | <lab()> | <lch()> | <oklab()> | <oklch()> | <color()>"
77
+ },
62
78
  {
63
79
  "name": "color-mix()",
64
80
  "type": "function",
@@ -67,23 +83,23 @@
67
83
  {
68
84
  "name": "rgb()",
69
85
  "type": "function",
70
- "value": "rgb( [<percentage> | none]{3} [ / [<alpha-value> | none] ]? ) | rgb( [<number> | none]{3} [ / [<alpha-value> | none] ]? ) | rgb( [ from <color> ]? [ <number> | <percentage> | none]{3} [ / [<alpha-value> | none] ]? )",
86
+ "value": "rgb( [ from <color> ]? [ <number> | <percentage> | none]{3} [ / [<alpha-value> | none] ]? )",
71
87
  "values": [
72
88
  {
73
89
  "name": "r",
74
- "prose": "r, g, and b are all <number>s that correspond to the origin color’s red, green, and blue channels after its conversion to sRGB. 255.0 is equivalent to 100%.",
90
+ "prose": "r, g, and b are all <number>s that correspond to the origin color’s red, green, and blue channels after conversion, if required to sRGB. 255.0 is equivalent to 100%.",
75
91
  "type": "value",
76
92
  "value": "r"
77
93
  },
78
94
  {
79
95
  "name": "g",
80
- "prose": "r, g, and b are all <number>s that correspond to the origin color’s red, green, and blue channels after its conversion to sRGB. 255.0 is equivalent to 100%.",
96
+ "prose": "r, g, and b are all <number>s that correspond to the origin color’s red, green, and blue channels after conversion, if required to sRGB. 255.0 is equivalent to 100%.",
81
97
  "type": "value",
82
98
  "value": "g"
83
99
  },
84
100
  {
85
101
  "name": "b",
86
- "prose": "r, g, and b are all <number>s that correspond to the origin color’s red, green, and blue channels after its conversion to sRGB. 255.0 is equivalent to 100%.",
102
+ "prose": "r, g, and b are all <number>s that correspond to the origin color’s red, green, and blue channels after conversion, if required to sRGB. 255.0 is equivalent to 100%.",
87
103
  "type": "value",
88
104
  "value": "b"
89
105
  },
@@ -95,6 +111,11 @@
95
111
  }
96
112
  ]
97
113
  },
114
+ {
115
+ "name": "rgba()",
116
+ "type": "function",
117
+ "value": "rgba( [ from <color> ]? [ <number> | <percentage> | none]{3} [ / [<alpha-value> | none] ]? )"
118
+ },
98
119
  {
99
120
  "name": "<alpha-value>",
100
121
  "type": "type",
@@ -107,19 +128,19 @@
107
128
  "values": [
108
129
  {
109
130
  "name": "h",
110
- "prose": "h is an <angle> that corresponds to the origin color’s HSL hue after its conversion to sRGB, normalized to a [0, 360] range",
131
+ "prose": "h is an <angle> that corresponds to the origin color’s HSL hue after conversion, if required to sRGB, normalized to a [0, 360] range",
111
132
  "type": "value",
112
133
  "value": "h"
113
134
  },
114
135
  {
115
136
  "name": "s",
116
- "prose": "s and l are <percentage>s that correspond to the origin color’s HSL saturation and lightness, after its conversion to sRGB",
137
+ "prose": "s and l are <percentage>s that correspond to the origin color’s HSL saturation and lightness, after conversion, if required to sRGB",
117
138
  "type": "value",
118
139
  "value": "s"
119
140
  },
120
141
  {
121
142
  "name": "l",
122
- "prose": "s and l are <percentage>s that correspond to the origin color’s HSL saturation and lightness, after its conversion to sRGB",
143
+ "prose": "s and l are <percentage>s that correspond to the origin color’s HSL saturation and lightness, after conversion, if required to sRGB",
123
144
  "type": "value",
124
145
  "value": "l"
125
146
  },
@@ -131,6 +152,11 @@
131
152
  }
132
153
  ]
133
154
  },
155
+ {
156
+ "name": "hsla()",
157
+ "type": "function",
158
+ "value": "hsla([from <color>]? [<hue> | none] [<percentage> | <number> | none] [<percentage> | <number> | none] [ / [<alpha-value> | none] ]? )"
159
+ },
134
160
  {
135
161
  "name": "hwb()",
136
162
  "type": "function",
@@ -138,19 +164,19 @@
138
164
  "values": [
139
165
  {
140
166
  "name": "h",
141
- "prose": "h is an <angle> that corresponds to the origin color’s HWB hue after its conversion to sRGB, normalized to a [0, 360] range",
167
+ "prose": "h is an <angle> that corresponds to the origin color’s HWB hue after conversion, if required to sRGB, normalized to a [0, 360] range",
142
168
  "type": "value",
143
169
  "value": "h"
144
170
  },
145
171
  {
146
172
  "name": "w",
147
- "prose": "w and b are <percentage>s that correspond to the origin color’s HWB whiteness and blackness after its conversion to sRGB",
173
+ "prose": "w and b are <percentage>s that correspond to the origin color’s HWB whiteness and blackness after conversion, if required to sRGB",
148
174
  "type": "value",
149
175
  "value": "w"
150
176
  },
151
177
  {
152
178
  "name": "b",
153
- "prose": "w and b are <percentage>s that correspond to the origin color’s HWB whiteness and blackness after its conversion to sRGB",
179
+ "prose": "w and b are <percentage>s that correspond to the origin color’s HWB whiteness and blackness after conversion, if required to sRGB",
154
180
  "type": "value",
155
181
  "value": "b"
156
182
  },
@@ -169,19 +195,19 @@
169
195
  "values": [
170
196
  {
171
197
  "name": "l",
172
- "prose": "l is a <number> that corresponds to the origin color’s CIE Lightness",
198
+ "prose": "l is a <number> that corresponds to the origin color’s CIE Lightness after conversion, if required, to CIE Lab",
173
199
  "type": "value",
174
200
  "value": "l"
175
201
  },
176
202
  {
177
203
  "name": "a",
178
- "prose": "a and b are <number>s that correspond to the origin color’s CIELab a and b axes",
204
+ "prose": "a and b are <number>s that correspond to the origin color’s CIELab a and b axes after conversion, if required, to CIE Lab",
179
205
  "type": "value",
180
206
  "value": "a"
181
207
  },
182
208
  {
183
209
  "name": "b",
184
- "prose": "a and b are <number>s that correspond to the origin color’s CIELab a and b axes",
210
+ "prose": "a and b are <number>s that correspond to the origin color’s CIELab a and b axes after conversion, if required, to CIE Lab",
185
211
  "type": "value",
186
212
  "value": "b"
187
213
  },
@@ -200,19 +226,19 @@
200
226
  "values": [
201
227
  {
202
228
  "name": "l",
203
- "prose": "l is a <number> that corresponds to the origin color’s Oklab Lightness",
229
+ "prose": "l is a <number> that corresponds to the origin color’s Oklab Lightness after conversion, if required, to Oklab",
204
230
  "type": "value",
205
231
  "value": "l"
206
232
  },
207
233
  {
208
234
  "name": "a",
209
- "prose": "a and b are <number>s that correspond to the origin color’s Oklab a and b axes",
235
+ "prose": "a and b are <number>s that correspond to the origin color’s Oklab a and b axes after conversion, if required, to Oklab",
210
236
  "type": "value",
211
237
  "value": "a"
212
238
  },
213
239
  {
214
240
  "name": "b",
215
- "prose": "a and b are <number>s that correspond to the origin color’s Oklab a and b axes",
241
+ "prose": "a and b are <number>s that correspond to the origin color’s Oklab a and b axes after conversion, if required, to Oklab",
216
242
  "type": "value",
217
243
  "value": "b"
218
244
  },
@@ -231,19 +257,19 @@
231
257
  "values": [
232
258
  {
233
259
  "name": "l",
234
- "prose": "l is a <number> that corresponds to the origin color’s CIE Lightness",
260
+ "prose": "l is a <number> that corresponds to the origin color’s CIE Lightness after conversion, if required, to CIE LCH",
235
261
  "type": "value",
236
262
  "value": "l"
237
263
  },
238
264
  {
239
265
  "name": "c",
240
- "prose": "c is a <number> that corresponds to the origin color’s LCH chroma",
266
+ "prose": "c is a <number> that corresponds to the origin color’s LCH chroma after conversion, if required, to CIE LCH",
241
267
  "type": "value",
242
268
  "value": "c"
243
269
  },
244
270
  {
245
271
  "name": "h",
246
- "prose": "h is an <angle> that corresponds to the origin color’s LCH hue, normalized to a [0, 360] range.",
272
+ "prose": "h is an <angle> that corresponds to the origin color’s LCH hue, after conversion, if required, to CIE LCH, normalized to a [0, 360] range.",
247
273
  "type": "value",
248
274
  "value": "h"
249
275
  },
@@ -262,19 +288,19 @@
262
288
  "values": [
263
289
  {
264
290
  "name": "l",
265
- "prose": "l is a <number> that corresponds to the origin color’s Oklab Lightness",
291
+ "prose": "l is a <number> that corresponds to the origin color’s Oklab Lightness after conversion, if required, to Oklch",
266
292
  "type": "value",
267
293
  "value": "l"
268
294
  },
269
295
  {
270
296
  "name": "c",
271
- "prose": "c is a <number> that corresponds to the origin color’s Oklch chroma",
297
+ "prose": "c is a <number> that corresponds to the origin color’s Oklch chroma after conversion, if required, to Oklch",
272
298
  "type": "value",
273
299
  "value": "c"
274
300
  },
275
301
  {
276
302
  "name": "h",
277
- "prose": "h is an <angle> that corresponds to the origin color’s Oklch hue, normalized to a [0, 360] range.",
303
+ "prose": "h is an <angle> that corresponds to the origin color’s Oklch hue, after conversion, if required, to Oklch, normalized to a [0, 360] range.",
278
304
  "type": "value",
279
305
  "value": "h"
280
306
  },
@@ -293,37 +319,37 @@
293
319
  "values": [
294
320
  {
295
321
  "name": "r",
296
- "prose": "r, g, and b are all <number>s that correspond to the origin color’s red, green, and blue channels after its conversion to the predefined RGB color space.",
322
+ "prose": "r, g, and b are all <number>s that correspond to the origin color’s red, green, and blue channels after conversion, if required to the predefined RGB color space.",
297
323
  "type": "value",
298
324
  "value": "r"
299
325
  },
300
326
  {
301
327
  "name": "g",
302
- "prose": "r, g, and b are all <number>s that correspond to the origin color’s red, green, and blue channels after its conversion to the predefined RGB color space.",
328
+ "prose": "r, g, and b are all <number>s that correspond to the origin color’s red, green, and blue channels after conversion, if required to the predefined RGB color space.",
303
329
  "type": "value",
304
330
  "value": "g"
305
331
  },
306
332
  {
307
333
  "name": "b",
308
- "prose": "r, g, and b are all <number>s that correspond to the origin color’s red, green, and blue channels after its conversion to the predefined RGB color space.",
334
+ "prose": "r, g, and b are all <number>s that correspond to the origin color’s red, green, and blue channels after conversion, if required to the predefined RGB color space.",
309
335
  "type": "value",
310
336
  "value": "b"
311
337
  },
312
338
  {
313
339
  "name": "x",
314
- "prose": "x, y, z are all <number>s that correspond to the origin color’s X, Y and Z channels after its conversion to relative CIE XYZ color space adapted to the relevant white point.",
340
+ "prose": "x, y, z are all <number>s that correspond to the origin color’s X, Y and Z channels after conversion, if required to relative CIE XYZ color space adapted to the relevant white point.",
315
341
  "type": "value",
316
342
  "value": "x"
317
343
  },
318
344
  {
319
345
  "name": "y",
320
- "prose": "x, y, z are all <number>s that correspond to the origin color’s X, Y and Z channels after its conversion to relative CIE XYZ color space adapted to the relevant white point.",
346
+ "prose": "x, y, z are all <number>s that correspond to the origin color’s X, Y and Z channels after conversion, if required to relative CIE XYZ color space adapted to the relevant white point.",
321
347
  "type": "value",
322
348
  "value": "y"
323
349
  },
324
350
  {
325
351
  "name": "z",
326
- "prose": "x, y, z are all <number>s that correspond to the origin color’s X, Y and Z channels after its conversion to relative CIE XYZ color space adapted to the relevant white point.",
352
+ "prose": "x, y, z are all <number>s that correspond to the origin color’s X, Y and Z channels after conversion, if required to relative CIE XYZ color space adapted to the relevant white point.",
327
353
  "type": "value",
328
354
  "value": "z"
329
355
  }
package/css-color.json CHANGED
@@ -825,12 +825,32 @@
825
825
  {
826
826
  "name": "rgb()",
827
827
  "type": "function",
828
- "value": "rgb( [<percentage> | none]{3} [ / [<alpha-value> | none] ]? ) | rgb( [<number> | none]{3} [ / [<alpha-value> | none] ]? ) | rgb( <percentage>#{3} , <alpha-value>? ) | rgb( <number>#{3} , <alpha-value>? ) | rgb( [<percentage> | none]{3} [ / [<alpha-value> | none] ]? ) | rgb( [<number> | none]{3} [ / [<alpha-value> | none] ]? )"
828
+ "value": "[ <legacy-rgb-syntax> | <modern-rgb-syntax> ]"
829
829
  },
830
830
  {
831
831
  "name": "rgba()",
832
- "prose": "Also, an rgba() legacy color syntax also exists, with an identical grammar and behavior to rgb().",
833
- "type": "function"
832
+ "type": "function",
833
+ "value": "[ <legacy-rgba-syntax> | <modern-rgba-syntax> ]"
834
+ },
835
+ {
836
+ "name": "<legacy-rgb-syntax>",
837
+ "type": "type",
838
+ "value": "rgb( <percentage>#{3} , <alpha-value>? ) | rgb( <number>#{3} , <alpha-value>? )"
839
+ },
840
+ {
841
+ "name": "<legacy-rgba-syntax>",
842
+ "type": "type",
843
+ "value": "rgba( <percentage>#{3} , <alpha-value>? ) | rgba( <number>#{3} , <alpha-value>? )"
844
+ },
845
+ {
846
+ "name": "<modern-rgb-syntax>",
847
+ "type": "type",
848
+ "value": "rgb( [ <number> | <percentage> | none]{3} [ / [<alpha-value> | none] ]? )"
849
+ },
850
+ {
851
+ "name": "<modern-rgba-syntax>",
852
+ "type": "type",
853
+ "value": "rgba( [ <number> | <percentage> | none]{3} [ / [<alpha-value> | none] ]? )"
834
854
  },
835
855
  {
836
856
  "name": "<hex-color>",
@@ -966,11 +986,11 @@
966
986
  {
967
987
  "name": "hsl()",
968
988
  "type": "function",
969
- "value": "hsl( [<hue> | none] [<percentage> | none] [<percentage> | none] [ / [<alpha-value> | none] ]? ) | hsl( <hue>, <percentage>, <percentage>, <alpha-value>? ) | hsl( [<hue> | none] [<percentage> | none] [<percentage> | none] [ / [<alpha-value> | none] ]? )",
989
+ "value": "[ <legacy-hsl-syntax> | <modern-hsl-syntax> ]",
970
990
  "values": [
971
991
  {
972
992
  "name": "HSL",
973
- "prose": "HSL colors are specified as a triplet of hue, saturation, and lightness. The syntax of the hsl() function is:",
993
+ "prose": "HSL colors are specified as a triplet of hue, saturation, and lightness. The syntax of the hsl() and hsla() functions is:",
974
994
  "type": "value",
975
995
  "value": "HSL"
976
996
  }
@@ -978,8 +998,28 @@
978
998
  },
979
999
  {
980
1000
  "name": "hsla()",
981
- "prose": "Also, an hsla() legacy color syntax also exists, with an identical grammar and behavior to hsl().",
982
- "type": "function"
1001
+ "type": "function",
1002
+ "value": "[ <legacy-hsla-syntax> | <modern-hsla-syntax> ]"
1003
+ },
1004
+ {
1005
+ "name": "<modern-hsl-syntax>",
1006
+ "type": "type",
1007
+ "value": "hsl( [<hue> | none] [<percentage> | <number> | none] [<percentage> | <number> | none] [ / [<alpha-value> | none] ]? )"
1008
+ },
1009
+ {
1010
+ "name": "<modern-hsla-syntax>",
1011
+ "type": "type",
1012
+ "value": "hsla( [<hue> | none] [<percentage> | <number> | none] [<percentage> | <number> | none] [ / [<alpha-value> | none] ]? )"
1013
+ },
1014
+ {
1015
+ "name": "<legacy-hsl-syntax>",
1016
+ "type": "type",
1017
+ "value": "hsl( <hue>, <percentage>, <percentage>, <alpha-value>? )"
1018
+ },
1019
+ {
1020
+ "name": "<legacy-hsla-syntax>",
1021
+ "type": "type",
1022
+ "value": "hsla( <hue>, <percentage>, <percentage>, <alpha-value>? )"
983
1023
  },
984
1024
  {
985
1025
  "name": "hwb()",
@@ -1053,31 +1093,31 @@
1053
1093
  "values": [
1054
1094
  {
1055
1095
  "name": "srgb",
1056
- "prose": "The srgb [SRGB] color space accepts three numeric parameters, representing the red, green, and blue channels of the color. In-gamut colors have all three components in the range [0, 1]. The whitepoint is D65. [SRGB] specifies two viewing conditions, encoding and typical. The [ICC] recommends using the encoding conditions for color conversion and for optimal viewing, which are the values in the table below. sRGB is the default color space for CSS, used for all the legacy color functions. It has the following characteristics: x y Red chromaticity 0.640 0.330 Green chromaticity 0.300 0.600 Blue chromaticity 0.150 0.060 White chromaticity D65 Transfer function see below White luminance 80.0 cd/m2 Black luminance 0.20 cd/m2 Image state display-referred Percentages Allowed for R, G and B Percent reference range for R,G,B: 0% = 0.0, 100% = 1.0 let sign = c < 0? -1 : 1; let abs = Math.abs(c); if (abs < 0.04045) { cl = c / 12.92; } else { cl = sign * (Math.pow((abs + 0.055) / 1.055, 2.4)); } c is the gamma-encoded red, green or blue component. cl is the corresponding linear-light component. Visualization of the sRGB color space in LCH. The primaries and secondaries are shown.",
1096
+ "prose": "The srgb [SRGB] color space accepts three numeric parameters, representing the red, green, and blue channels of the color. In-gamut colors have all three components in the range [0, 1]. The whitepoint is D65. [SRGB] specifies two viewing conditions, encoding and typical. The [ICC] recommends using the encoding conditions for color conversion and for optimal viewing, which are the values in the table below. sRGB is the default color space for CSS, used for all the legacy color functions. It has the following characteristics: x y Red chromaticity 0.640 0.330 Green chromaticity 0.300 0.600 Blue chromaticity 0.150 0.060 White chromaticity D65 Transfer function see below White luminance 80.0 cd/m Black luminance 0.20 cd/m Image state display-referred Percentages Allowed for R, G and B Percent reference range for R,G,B: 0% = 0.0, 100% = 1.0 let sign = c < 0? -1 : 1; let abs = Math.abs(c); if (abs < 0.04045) { cl = c / 12.92; } else { cl = sign * (Math.pow((abs + 0.055) / 1.055, 2.4)); } c is the gamma-encoded red, green or blue component. cl is the corresponding linear-light component. Visualization of the sRGB color space in LCH. The primaries and secondaries are shown.",
1057
1097
  "type": "value",
1058
1098
  "value": "srgb"
1059
1099
  },
1060
1100
  {
1061
1101
  "name": "srgb-linear",
1062
- "prose": "The srgb-linear [SRGB] color space accepts three numeric parameters, representing the red, green, and blue channels of the color. In-gamut colors have all three components in the range [0, 1]. The whitepoint is D65. It has the following characteristics: x y Red chromaticity 0.640 0.330 Green chromaticity 0.300 0.600 Blue chromaticity 0.150 0.060 White chromaticity D65 Transfer function unity, see below White luminance 80.0 cd/m2 Black luminance 0.20 cd/m2 Image state display-referred Percentages Allowed for R, G and B Percent reference range for R,G,B: 0% = 0.0, 100% = 1.0 cl = c; c is the red, green or blue component. cl is the corresponding linear-light component, which is identical. To avoid banding artifacts, a higher precision is required for srgb-linear than for srgb. For example, these are the same color color(srgb 0.691 0.139 0.259) color(srgb-linear 0.435 0.017 0.055)",
1102
+ "prose": "The srgb-linear [SRGB] color space accepts three numeric parameters, representing the red, green, and blue channels of the color. In-gamut colors have all three components in the range [0, 1]. The whitepoint is D65. It has the following characteristics: x y Red chromaticity 0.640 0.330 Green chromaticity 0.300 0.600 Blue chromaticity 0.150 0.060 White chromaticity D65 Transfer function unity, see below White luminance 80.0 cd/m Black luminance 0.20 cd/m Image state display-referred Percentages Allowed for R, G and B Percent reference range for R,G,B: 0% = 0.0, 100% = 1.0 cl = c; c is the red, green or blue component. cl is the corresponding linear-light component, which is identical. To avoid banding artifacts, a higher precision is required for srgb-linear than for srgb. For example, these are the same color color(srgb 0.691 0.139 0.259) color(srgb-linear 0.435 0.017 0.055)",
1063
1103
  "type": "value",
1064
1104
  "value": "srgb-linear"
1065
1105
  },
1066
1106
  {
1067
1107
  "name": "display-p3",
1068
- "prose": "The display-p3 [Display-P3] color space accepts three numeric parameters, representing the red, green, and blue channels of the color. In-gamut colors have all three components in the range [0, 1]. It uses the same primary chromaticities as [DCI-P3], but with a D65 whitepoint, and the same transfer curve as sRGB. Modern displays, TVs, laptop screens and phone screens are able to display all, or nearly all, of the display-p3 gamut. It has the following characteristics: x y Red chromaticity 0.680 0.320 Green chromaticity 0.265 0.690 Blue chromaticity 0.150 0.060 White chromaticity D65 Transfer function same as srgb White luminance 80.0 cd/m2 Black luminance 0.80 cd/m2 Image state display-referred Percentages Allowed for R, G and B Percent reference range for R,G,B: 0% = 0.0, 100% = 1.0 Visualization of the P3 color space in LCH. The primaries and secondaries are shown (but in sRGB, not in the correct colors). For comparison, the sRGB primaries and secondaries are also shown, as dashed circles. P3 primaries have higher Chroma.",
1108
+ "prose": "The display-p3 [Display-P3] color space accepts three numeric parameters, representing the red, green, and blue channels of the color. In-gamut colors have all three components in the range [0, 1]. It uses the same primary chromaticities as [DCI-P3], but with a D65 whitepoint, and the same transfer curve as sRGB. Modern displays, TVs, laptop screens and phone screens are able to display all, or nearly all, of the display-p3 gamut. It has the following characteristics: x y Red chromaticity 0.680 0.320 Green chromaticity 0.265 0.690 Blue chromaticity 0.150 0.060 White chromaticity D65 Transfer function same as srgb White luminance 80.0 cd/m Black luminance 0.80 cd/m Image state display-referred Percentages Allowed for R, G and B Percent reference range for R,G,B: 0% = 0.0, 100% = 1.0 Visualization of the P3 color space in LCH. The primaries and secondaries are shown (but in sRGB, not in the correct colors). For comparison, the sRGB primaries and secondaries are also shown, as dashed circles. P3 primaries have higher Chroma.",
1069
1109
  "type": "value",
1070
1110
  "value": "display-p3"
1071
1111
  },
1072
1112
  {
1073
1113
  "name": "a98-rgb",
1074
- "prose": "The a98-rgb color space accepts three numeric parameters, representing the red, green, and blue channels of the color. In-gamut colors have all three components in the range [0, 1]. The transfer curve is a gamma function, close to but not exactly 1/2.2. It has the following characteristics: x y Red chromaticity 0.6400 0.3300 Green chromaticity 0.2100 0.7100 Blue chromaticity 0.1500 0.0600 White chromaticity D65 Transfer function 256/563 White luminance 160.0 cd/m2 Black luminance 0.5557 cd/m2 Image state display-referred Percentages Allowed for R, G and B Percent reference range for R,G,B: 0% = 0.0, 100% = 1.0 Visualization of the A98 color space in LCH. The primaries and secondaries are shown (but in sRGB, not in the correct colors). For comparison, the sRGB primaries and secondaries are also shown, as dashed circles. a98 primaries have higher Chroma, especially the yellow, green and cyan.",
1114
+ "prose": "The a98-rgb color space accepts three numeric parameters, representing the red, green, and blue channels of the color. In-gamut colors have all three components in the range [0, 1]. The transfer curve is a gamma function, close to but not exactly 1/2.2. It has the following characteristics: x y Red chromaticity 0.6400 0.3300 Green chromaticity 0.2100 0.7100 Blue chromaticity 0.1500 0.0600 White chromaticity D65 Transfer function 256/563 White luminance 160.0 cd/m Black luminance 0.5557 cd/m Image state display-referred Percentages Allowed for R, G and B Percent reference range for R,G,B: 0% = 0.0, 100% = 1.0 Visualization of the A98 color space in LCH. The primaries and secondaries are shown (but in sRGB, not in the correct colors). For comparison, the sRGB primaries and secondaries are also shown, as dashed circles. a98 primaries have higher Chroma, especially the yellow, green and cyan.",
1075
1115
  "type": "value",
1076
1116
  "value": "a98-rgb"
1077
1117
  },
1078
1118
  {
1079
1119
  "name": "prophoto-rgb",
1080
- "prose": "The prophoto-rgb color space accepts three numeric parameters, representing the red, green, and blue channels of the color. In-gamut colors have all three components in the range [0, 1]. The transfer curve is a gamma function with a value of 1/1.8, and a small linear portion near black. The white point is D50, the same as is used by CIE Lab. Thus, conversion to CIE Lab does not require the chromatic adaptation step. The ProPhoto RGB space uses hyper-saturated, non physically realizable primaries. These were chosen to allow a wide color gamut and in particular, to minimize hue shifts under tonal manipulation. It is often used in digital photography as a wide gamut color space for the archival version of photographic images. The prophoto-rgb color space allows CSS to specify colors that will match colors in such images having the same RGB values. The ProPhoto RGB space was originally developed by Kodak and is described in [Wolfe]. It was standardized by ISO as [ROMM],[ROMM-RGB]. The white luminance is given as a range, and the viewing flare (and thus, the black luminance) is 0.5% to 1.0% of this. It has the following characteristics: x y Red chromaticity 0.734699 0.265301 Green chromaticity 0.159597 0.840403 Blue chromaticity 0.036598 0.000105 White chromaticity D50 Transfer function see below White luminance 160.0 to 640.0 cd/m2 Black luminance See text Image state display-referred Percentages Allowed for R, G and B Percent reference range for R,G,B: 0% = 0.0, 100% = 1.0 const E = 16/512; let sign = c < 0? -1 : 1; let abs = Math.abs(c); if (abs <= E) { cl = c / 16; } else { cl = sign * Math.pow(c, 1.8); } c is the gamma-encoded red, green or blue component. cl is the corresponding linear-light component. Visualization of the prophoto-rgb color space in LCH. The primaries and secondaries are shown (but in sRGB, not in the correct colors). For comparison, the sRGB primaries and secondaries are also shown, as dashed circles. prophoto-rgb primaries and secondaries have much higher Chroma, but much of this ultrawide gamut does not correspond to physically realizable colors.",
1120
+ "prose": "The prophoto-rgb color space accepts three numeric parameters, representing the red, green, and blue channels of the color. In-gamut colors have all three components in the range [0, 1]. The transfer curve is a gamma function with a value of 1/1.8, and a small linear portion near black. The white point is D50, the same as is used by CIE Lab. Thus, conversion to CIE Lab does not require the chromatic adaptation step. The ProPhoto RGB space uses hyper-saturated, non physically realizable primaries. These were chosen to allow a wide color gamut and in particular, to minimize hue shifts under tonal manipulation. It is often used in digital photography as a wide gamut color space for the archival version of photographic images. The prophoto-rgb color space allows CSS to specify colors that will match colors in such images having the same RGB values. The ProPhoto RGB space was originally developed by Kodak and is described in [Wolfe]. It was standardized by ISO as [ROMM],[ROMM-RGB]. The white luminance is given as a range, and the viewing flare (and thus, the black luminance) is 0.5% to 1.0% of this. It has the following characteristics: x y Red chromaticity 0.734699 0.265301 Green chromaticity 0.159597 0.840403 Blue chromaticity 0.036598 0.000105 White chromaticity D50 Transfer function see below White luminance 160.0 to 640.0 cd/m Black luminance See text Image state display-referred Percentages Allowed for R, G and B Percent reference range for R,G,B: 0% = 0.0, 100% = 1.0 const E = 16/512; let sign = c < 0? -1 : 1; let abs = Math.abs(c); if (abs <= E) { cl = c / 16; } else { cl = sign * Math.pow(c, 1.8); } c is the gamma-encoded red, green or blue component. cl is the corresponding linear-light component. Visualization of the prophoto-rgb color space in LCH. The primaries and secondaries are shown (but in sRGB, not in the correct colors). For comparison, the sRGB primaries and secondaries are also shown, as dashed circles. prophoto-rgb primaries and secondaries have much higher Chroma, but much of this ultrawide gamut does not correspond to physically realizable colors.",
1081
1121
  "type": "value",
1082
1122
  "value": "prophoto-rgb"
1083
1123
  },
package/css-easing.json CHANGED
@@ -100,7 +100,7 @@
100
100
  },
101
101
  {
102
102
  "name": "steps()",
103
- "value": "steps(<integer>[, <step-position> ]?)",
103
+ "value": "steps(<integer>, <step-position>?)",
104
104
  "type": "function",
105
105
  "values": [
106
106
  {
package/css-multicol.json CHANGED
@@ -42,7 +42,7 @@
42
42
  "percentages": "N/A",
43
43
  "computedValue": "specified value",
44
44
  "canonicalOrder": "per grammar",
45
- "animatable": "by computed value",
45
+ "animationType": "by computed value",
46
46
  "values": [
47
47
  {
48
48
  "name": "auto",
package/css-speech.json CHANGED
@@ -525,7 +525,7 @@
525
525
  "values": [
526
526
  {
527
527
  "name": "<family-name>",
528
- "prose": "Values are specific voice instances (e.g., Mike, comedian, mary, carlos2, \"valley girl\"). Like font-family names, voice names must either be given quoted as strings, or unquoted as a sequence of one or more identifiers. If a sequence of identifiers is given as a voice name, the computed value is the name converted to a string by joining all the identifiers in the sequence by single spaces. Voice names that happen to be the same as the gender keywords (male, female and neutral) or that happen to match the CSS-wide keywords or preserve must be quoted to disambiguate with these keywords. The keyword default is reserved for future use and must also be quoted when used as voice names. It is recommended to quote voice names that contain white space, digits, or punctuation characters other than hyphens—even if these voice names are valid in unquoted form—in order to improve code clarity. For example: voice-family: \"john doe\", \"Henry the-8th\";",
528
+ "prose": "Values are specific voice instances (e.g., Mike, comedian, mary, carlos2, \"valley girl\"). Like font-family names, voice names must either be given quoted as strings, or unquoted as a sequence of one or more CSS identifiers. If a sequence of identifiers is given as a voice name, the computed value is the name converted to a string by joining all the identifiers in the sequence by single spaces. Voice names that happen to be the same as the gender keywords (male, female and neutral) or that happen to match the CSS-wide keywords or preserve must be quoted to disambiguate with these keywords. The keyword default is reserved for future use and must also be quoted when used as voice names. It is recommended to quote voice names that contain white space, digits, or punctuation characters other than hyphens—even if these voice names are valid in unquoted form—in order to improve code clarity. For example: voice-family: \"john doe\", \"Henry the-8th\";",
529
529
  "type": "value",
530
530
  "value": "<family-name>"
531
531
  },
package/css-text-4.json CHANGED
@@ -880,7 +880,7 @@
880
880
  },
881
881
  {
882
882
  "name": "text-justify",
883
- "value": "auto | none | inter-word | inter-character",
883
+ "value": "[ auto | none | inter-word | inter-character ] || no-compress",
884
884
  "initial": "auto",
885
885
  "appliesTo": "text",
886
886
  "inherited": "yes",
@@ -924,6 +924,12 @@
924
924
  "prose": "Justification adjusts spacing as for auto except: Justification opportunities are disabled at word separators. Justification opportunities are disabled between Bopomofo characters",
925
925
  "type": "value",
926
926
  "value": "ruby"
927
+ },
928
+ {
929
+ "name": "no-compress",
930
+ "prose": "Justification must not compress spacing controlled by text-spacing-trim or text-autospace. (If this value is not specified, the justification process may reduce such spacing except when the spacing is at the start or end of the line.) This keyword used to be part of text-spacing; it might need renaming to be more specific now that it’s here, as it implies that e.g. U+0020 cannot be compressed.",
931
+ "type": "value",
932
+ "value": "no-compress"
927
933
  }
928
934
  ],
929
935
  "styleDeclaration": [
@@ -1058,10 +1064,10 @@
1058
1064
  ]
1059
1065
  },
1060
1066
  {
1061
- "name": "text-spacing",
1062
- "value": "normal | none | auto | no-compress || [ trim-start | space-start | space-first ] || [ trim-end | space-end | allow-end ] || [ trim-adjacent | space-adjacent ] || ideograph-alpha || ideograph-numeric || punctuation",
1067
+ "name": "text-autospace",
1068
+ "value": "normal | <autospace>",
1063
1069
  "initial": "normal",
1064
- "appliesTo": "block containers",
1070
+ "appliesTo": "text",
1065
1071
  "inherited": "yes",
1066
1072
  "percentages": "N/A",
1067
1073
  "computedValue": "specified keyword(s)",
@@ -1070,93 +1076,139 @@
1070
1076
  "values": [
1071
1077
  {
1072
1078
  "name": "normal",
1073
- "prose": "Specifies the baseline behavior, equivalent to space-start trim-end trim-adjacent ideograph-alpha ideograph-numeric.",
1079
+ "prose": "Same behavior as ideograph-alpha ideograph-numeric.",
1074
1080
  "type": "value",
1075
1081
  "value": "normal"
1076
1082
  },
1077
1083
  {
1078
- "name": "none",
1079
- "prose": "Turns off all text-spacing features. All fullwidth characters are set with full-width glyphs.",
1084
+ "name": "no-autospace",
1085
+ "prose": "No automatic space is inserted.",
1080
1086
  "type": "value",
1081
- "value": "none"
1087
+ "value": "no-autospace"
1082
1088
  },
1083
1089
  {
1084
- "name": "auto",
1085
- "prose": "The user agent chooses a set of typographically high quality spacing values. Different user agents running on different platforms may pick different values.",
1090
+ "name": "insert",
1091
+ "prose": "The specified spacing is automatically inserted if there are no space characters of any kind (Unicode general category Z) already there. If neither insert nor replace are specified, the behavior is the same as insert.",
1086
1092
  "type": "value",
1087
- "value": "auto"
1093
+ "value": "insert"
1088
1094
  },
1089
1095
  {
1090
- "name": "no-compress",
1091
- "prose": "Justification must not compress text-spacing. (If this value is not specified, the justification process may reduce autospacing except when the spacing is at the start or end of the line.)",
1096
+ "name": "replace",
1097
+ "prose": "The specified spacing is automatically inserted even if there is already a space (U+0020) at that point; additionally, the space (U+0020) is removed. Other types of space characters (Unicode general category Z) suppress automatic spacing, as for insert.",
1092
1098
  "type": "value",
1093
- "value": "no-compress"
1099
+ "value": "replace"
1094
1100
  },
1095
1101
  {
1096
- "name": "space-start",
1097
- "prose": "Set fullwidth opening punctuation with full-width glyphs (spaced) at the start of each line.",
1102
+ "name": "ideograph-alpha",
1103
+ "prose": "Creates extra spacing between runs of ideographs and non-ideographic letters, see § 8.4.1 Inter-script Spacing.",
1098
1104
  "type": "value",
1099
- "value": "space-start"
1105
+ "value": "ideograph-alpha"
1100
1106
  },
1101
1107
  {
1102
- "name": "trim-start",
1103
- "prose": "Set fullwidth opening punctuation with half-width glyphs (flush) at the start of each line.",
1108
+ "name": "ideograph-numeric",
1109
+ "prose": "Creates extra spacing between runs of ideographs and non-ideographic numerals, see § 8.4.1 Inter-script Spacing.",
1104
1110
  "type": "value",
1105
- "value": "trim-start"
1111
+ "value": "ideograph-numeric"
1106
1112
  },
1107
1113
  {
1108
- "name": "space-first",
1109
- "prose": "Behaves as space-start on the first line the block container and each line after a forced line break but as trim-start on all other lines.",
1114
+ "name": "punctuation",
1115
+ "prose": "Creates extra non-breaking spacing around punctuation as required by language-specific typographic conventions. In this level, if the element’s content language is French, narrow no-break space (U+202F) and no-break space (U+00A0) is inserted where required by French typographic guidelines. Otherwise this value has no effect. However future specifications may add automatic spacing behavior for other languages.",
1110
1116
  "type": "value",
1111
- "value": "space-first"
1117
+ "value": "punctuation"
1118
+ }
1119
+ ],
1120
+ "styleDeclaration": [
1121
+ "text-autospace",
1122
+ "textAutospace"
1123
+ ]
1124
+ },
1125
+ {
1126
+ "name": "text-spacing-trim",
1127
+ "value": "<spacing-trim> | auto",
1128
+ "initial": "space-first",
1129
+ "appliesTo": "text",
1130
+ "inherited": "yes",
1131
+ "percentages": "N/A",
1132
+ "computedValue": "specified keyword(s)",
1133
+ "canonicalOrder": "per grammar",
1134
+ "animationType": "discrete",
1135
+ "values": [
1136
+ {
1137
+ "name": "space-all",
1138
+ "prose": "All fullwidth punctuation characters are set with full-width glyphs (spaced).",
1139
+ "type": "value",
1140
+ "value": "space-all"
1112
1141
  },
1113
1142
  {
1114
- "name": "allow-end",
1115
- "prose": "Set fullwidth closing punctuation with half-width glyphs (flush) at the end of each line if it does not otherwise fit prior to justification; otherwise set the punctuation with full-width glyphs.",
1143
+ "name": "trim-auto",
1144
+ "prose": "Set fullwidth opening punctuation with half-width glyphs (flush) at the start of each line; set fullwidth closing punctuation with half-width glyphs (flush) at the end of each line; and collapse spacing between punctuation glyphs as described below.",
1116
1145
  "type": "value",
1117
- "value": "allow-end"
1146
+ "value": "trim-auto"
1118
1147
  },
1119
1148
  {
1120
- "name": "space-end",
1121
- "prose": "Set fullwidth closing punctuation with full-width glyphs (spaced) at the end of each line.",
1149
+ "name": "space-first",
1150
+ "prose": "Set fullwidth opening punctuation with full-width glyphs (spaced) on the first line the block container. Otherwise as trim-auto (unless allow-end is also specified).",
1122
1151
  "type": "value",
1123
- "value": "space-end"
1152
+ "value": "space-first"
1124
1153
  },
1125
1154
  {
1126
- "name": "trim-end",
1127
- "prose": "Set fullwidth closing punctuation with half-width glyphs (flush) at the end of each line.",
1155
+ "name": "allow-end",
1156
+ "prose": "Set fullwidth closing punctuation with half-width glyphs (flush) at the end of each line if it does not otherwise fit prior to justification, else set the punctuation with full-width glyphs. Otherwise as trim-auto (unless space-first is also specified).",
1128
1157
  "type": "value",
1129
- "value": "trim-end"
1158
+ "value": "allow-end"
1130
1159
  },
1131
1160
  {
1132
- "name": "space-adjacent",
1133
- "prose": "Set fullwidth opening punctuation with full-width glyphs (spaced) when not at the start of the line. Set fullwidth closing punctuation with full-width glyphs (spaced) when not at the end of the line.",
1161
+ "name": "auto",
1162
+ "prose": "The user agent chooses a set of typographically high quality spacing values. Different user agents running on different platforms may pick different values. Do we need auto? It would be weird for the author to choose platform-dependent behavior at the start of the first line, and it should otherwise use trim-auto.",
1163
+ "type": "value",
1164
+ "value": "auto"
1165
+ }
1166
+ ],
1167
+ "styleDeclaration": [
1168
+ "text-spacing-trim",
1169
+ "textSpacingTrim"
1170
+ ]
1171
+ },
1172
+ {
1173
+ "name": "text-spacing",
1174
+ "value": "normal | none | auto | <autospace> || <spacing-trim>",
1175
+ "initial": "see individual properties",
1176
+ "appliesTo": "text",
1177
+ "inherited": "yes",
1178
+ "percentages": "N/A",
1179
+ "computedValue": "specified keyword(s)",
1180
+ "animationType": "discrete",
1181
+ "canonicalOrder": "per grammar",
1182
+ "values": [
1183
+ {
1184
+ "name": "normal",
1185
+ "prose": "Specifies the baseline behavior, setting each sub-property to its initial value. Equivalent to space-first ideograph-alpha ideograph-numeric.",
1134
1186
  "type": "value",
1135
- "value": "space-adjacent"
1187
+ "value": "normal"
1136
1188
  },
1137
1189
  {
1138
- "name": "trim-adjacent",
1139
- "prose": "Collapse spacing between punctuation glyphs as described below.",
1190
+ "name": "none",
1191
+ "prose": "Turns off all text-spacing features: sets text-spacing-trim to space-all and text-autospace to no-autospace.",
1140
1192
  "type": "value",
1141
- "value": "trim-adjacent"
1193
+ "value": "none"
1142
1194
  },
1143
1195
  {
1144
- "name": "ideograph-alpha",
1145
- "prose": "Creates extra spacing between runs of ideographs and non-ideographic letters, see § 8.4.1 Inter-script Spacing.",
1196
+ "name": "auto",
1197
+ "prose": "Sets both text-spacing-trim and text-autospace to auto.",
1146
1198
  "type": "value",
1147
- "value": "ideograph-alpha"
1199
+ "value": "auto"
1148
1200
  },
1149
1201
  {
1150
- "name": "ideograph-numeric",
1151
- "prose": "Creates extra spacing between runs of ideographs and non-ideographic numerals, see § 8.4.1 Inter-script Spacing.",
1202
+ "name": "<spacing-trim>",
1203
+ "prose": "Sets text-spacing-trim to the specified value. If no <autospace> value is given, text-autospace is set to its initial value.",
1152
1204
  "type": "value",
1153
- "value": "ideograph-numeric"
1205
+ "value": "<spacing-trim>"
1154
1206
  },
1155
1207
  {
1156
- "name": "punctuation",
1157
- "prose": "Creates extra non-breaking spacing around punctuation as required by language-specific typographic conventions. In this level, if the element’s content language is French, narrow no-break space (U+202F) and no-break space (U+00A0) is inserted where required by French typographic guidelines. Otherwise this value has no effect. However future specifications may add automatic spacing behavior for other languages. Integrate rules for correcting incorrect spaces? Issue 318",
1208
+ "name": "<autospace>",
1209
+ "prose": "Sets text-autospace to the specified value. If no <spacing-trim> value is given, text-spacing-trim is set to its initial value.",
1158
1210
  "type": "value",
1159
- "value": "punctuation"
1211
+ "value": "<autospace>"
1160
1212
  }
1161
1213
  ],
1162
1214
  "styleDeclaration": [
@@ -1224,7 +1276,7 @@
1224
1276
  },
1225
1277
  {
1226
1278
  "name": "first",
1227
- "prose": "An opening bracket or quote at the start of the first formatted line of an element hangs. This applies to all characters in the Unicode categories Ps, Pf, Pi plus the ASCII quote marks U+0027 ' APOSTROPHE and U+0022 \" QUOTATION MARK.",
1279
+ "prose": "An opening bracket, quote, or ideographic space at the start of the first formatted line of an element hangs. This applies to all characters in the Unicode categories Ps, Pf, Pi plus the ASCII quote marks U+0027 ' APOSTROPHE and U+0022 \" QUOTATION MARK and the IDEOGRAPHIC SPACE U+3000.",
1228
1280
  "type": "value",
1229
1281
  "value": "first"
1230
1282
  },
@@ -1255,5 +1307,16 @@
1255
1307
  ],
1256
1308
  "atrules": [],
1257
1309
  "selectors": [],
1258
- "values": []
1310
+ "values": [
1311
+ {
1312
+ "name": "<autospace>",
1313
+ "type": "type",
1314
+ "value": "no-autospace | [ ideograph-alpha || ideograph-numeric || punctuation ] || [ insert | replace ]"
1315
+ },
1316
+ {
1317
+ "name": "<spacing-trim>",
1318
+ "type": "type",
1319
+ "value": "space-all | trim-auto | [ allow-end || space-first ]"
1320
+ }
1321
+ ]
1259
1322
  }
package/css-text.json CHANGED
@@ -94,7 +94,7 @@
94
94
  },
95
95
  {
96
96
  "name": "break-spaces",
97
- "prose": "The behavior is identical to that of pre-wrap, except that: Any sequence of preserved white space or other space separators always takes up space, including at the end of the line. Tests white-space-intrinsic-size-001.html (live test) (source) white-space-intrinsic-size-002.html (live test) (source) A line breaking opportunity exists after every preserved white space character and after every other space separator (including between adjacent spaces). Tests overflow-wrap-break-word-002.html (live test) (source) overflow-wrap-anywhere-002.html (live test) (source) break-spaces-001.html (live test) (source) break-spaces-002.html (live test) (source) break-spaces-003.html (live test) (source) break-spaces-004.html (live test) (source) break-spaces-005.html (live test) (source) break-spaces-006.html (live test) (source) break-spaces-007.html (live test) (source) break-spaces-008.html (live test) (source) break-spaces-009.html (live test) (source) break-spaces-010.html (live test) (source) break-spaces-051.html (live test) (source) break-spaces-052.html (live test) (source) white-space-pre-034.html (live test) (source) textarea-break-spaces-001.html (live test) (source) textarea-break-spaces-002.html (live test) (source) break-spaces-before-first-char-001.html (live test) (source) break-spaces-before-first-char-002.html (live test) (source) break-spaces-before-first-char-003.html (live test) (source) break-spaces-before-first-char-004.html (live test) (source) break-spaces-before-first-char-005.html (live test) (source) break-spaces-before-first-char-006.html (live test) (source) break-spaces-before-first-char-007.html (live test) (source) break-spaces-before-first-char-008.html (live test) (source) break-spaces-before-first-char-009.html (live test) (source) break-spaces-before-first-char-010.html (live test) (source) break-spaces-before-first-char-011.html (live test) (source) break-spaces-before-first-char-012.html (live test) (source) break-spaces-before-first-char-013.html (live test) (source) break-spaces-before-first-char-014.html (live test) (source) break-spaces-before-first-char-015.html (live test) (source) break-spaces-before-first-char-016.html (live test) (source) break-spaces-before-first-char-017.html (live test) (source) break-spaces-before-first-char-018.html (live test) (source) break-spaces-before-first-ideographic-char-001.html (live test) (source) break-spaces-before-first-ideographic-char-002.html (live test) (source) break-spaces-before-first-ideographic-char-003.html (live test) (source) break-spaces-before-first-ideographic-char-004.html (live test) (source) break-spaces-before-first-ideographic-char-005.html (live test) (source) break-spaces-before-first-ideographic-char-006.html (live test) (source) break-spaces-before-first-ideographic-char-007.html (live test) (source) break-spaces-before-first-ideographic-char-008.html (live test) (source) break-spaces-before-first-ideographic-char-009.html (live test) (source) break-spaces-before-first-ideographic-char-010.html (live test) (source) break-spaces-before-first-ideographic-char-011.html (live test) (source) break-spaces-before-first-ideographic-char-012.html (live test) (source) break-spaces-before-first-ideographic-char-013.html (live test) (source) break-spaces-before-first-ideographic-char-014.html (live test) (source) break-spaces-before-first-ideographic-char-015.html (live test) (source) break-spaces-before-first-ideographic-char-016.html (live test) (source) break-spaces-before-first-ideographic-char-017.html (live test) (source) break-spaces-before-first-ideographic-char-018.html (live test) (source) tab-stop-threshold-005.html (live test) (source) tab-stop-threshold-006.html (live test) (source) word-break-break-all-017.html (live test) (source) break-spaces-tab-001.html (live test) (source) break-spaces-tab-002.html (live test) (source) break-spaces-tab-003.html (live test) (source) break-spaces-tab-004.html (live test) (source) break-spaces-tab-005.html (live test) (source) break-spaces-tab-006.html (live test) (source) break-spaces-with-overflow-wrap-001.html (live test) (source) break-spaces-with-overflow-wrap-002.html (live test) (source) break-spaces-with-overflow-wrap-003.html (live test) (source) break-spaces-with-overflow-wrap-004.html (live test) (source) break-spaces-with-overflow-wrap-005.html (live test) (source) break-spaces-with-overflow-wrap-006.html (live test) (source) break-spaces-with-overflow-wrap-007.html (live test) (source) break-spaces-with-overflow-wrap-008.html (live test) (source) break-spaces-with-overflow-wrap-009.html (live test) (source) break-spaces-with-overflow-wrap-010.html (live test) (source) break-spaces-with-ideographic-space-001.html (live test) (source) break-spaces-with-ideographic-space-002.html (live test) (source) break-spaces-with-ideographic-space-003.html (live test) (source) break-spaces-with-ideographic-space-004.html (live test) (source) break-spaces-with-ideographic-space-005.html (live test) (source) break-spaces-with-ideographic-space-006.html (live test) (source) break-spaces-with-ideographic-space-007.html (live test) (source) break-spaces-with-ideographic-space-008.html (live test) (source) break-spaces-with-ideographic-space-009.html (live test) (source) break-spaces-with-ideographic-space-010.html (live test) (source) line-break-anywhere-and-white-space-008.html (live test) (source) line-break-anywhere-and-white-space-009.html (live test) (source) ws-break-spaces-applies-to-001.html (live test) (source) ws-break-spaces-applies-to-002.html (live test) (source) ws-break-spaces-applies-to-003.html (live test) (source) ws-break-spaces-applies-to-005.html (live test) (source) ws-break-spaces-applies-to-006.html (live test) (source) ws-break-spaces-applies-to-007.html (live test) (source) ws-break-spaces-applies-to-008.html (live test) (source) ws-break-spaces-applies-to-009.html (live test) (source) ws-break-spaces-applies-to-010.html (live test) (source) ws-break-spaces-applies-to-011.html (live test) (source) ws-break-spaces-applies-to-012.html (live test) (source) ws-break-spaces-applies-to-013.html (live test) (source) ws-break-spaces-applies-to-014.html (live test) (source) ws-break-spaces-applies-to-015.html (live test) (source) break-spaces-newline-011.html (live test) (source) break-spaces-newline-012.html (live test) (source) break-spaces-newline-013.html (live test) (source) break-spaces-newline-014.html (live test) (source) break-spaces-newline-015.html (live test) (source) break-spaces-newline-016.html (live test) (source) trailing-ideographic-space-break-spaces-001.html (live test) (source) trailing-ideographic-space-break-spaces-002.html (live test) (source) trailing-ideographic-space-break-spaces-003.html (live test) (source) trailing-ideographic-space-break-spaces-004.html (live test) (source) trailing-ideographic-space-break-spaces-005.html (live test) (source) trailing-ideographic-space-break-spaces-006.html (live test) (source) trailing-ideographic-space-break-spaces-007.html (live test) (source) trailing-ideographic-space-break-spaces-008.html (live test) (source)",
97
+ "prose": "The behavior is identical to that of pre-wrap, except that: Any sequence of preserved white space or other space separators always takes up space, including at the end of the line. A line breaking opportunity exists after every preserved white space character and after every other space separator (including between adjacent spaces).",
98
98
  "type": "value",
99
99
  "value": "break-spaces"
100
100
  },
@@ -86,9 +86,8 @@
86
86
  "inherited": "no",
87
87
  "percentages": "N/A",
88
88
  "computedValue": "see individual properties",
89
- "canonicalOrder": "per grammar",
90
- "animatable": "no",
91
89
  "animationType": "not animatable",
90
+ "canonicalOrder": "per grammar",
92
91
  "styleDeclaration": [
93
92
  "transition"
94
93
  ]
package/mathml-core.json CHANGED
@@ -13,7 +13,7 @@
13
13
  },
14
14
  {
15
15
  "name": "text-transform",
16
- "newValues": "math-auto | math-bold | math-italic | math-bold-italic | math-double-struck | math-bold-fraktur | math-script | math-bold-script | math-fraktur | math-sans-serif | math-bold-sans-serif | math-sans-serif-italic | math-sans-serif-bold-italic | math-monospace | math-initial | math-tailed | math-looped | math-stretched",
16
+ "newValues": "math-auto",
17
17
  "styleDeclaration": [
18
18
  "text-transform",
19
19
  "textTransform"
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": "6.3.4",
4
+ "version": "6.4.1",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/w3c/webref.git"
package/webvtt.json ADDED
@@ -0,0 +1,27 @@
1
+ {
2
+ "spec": {
3
+ "title": "WebVTT: The Web Video Text Tracks Format",
4
+ "url": "https://w3c.github.io/webvtt/"
5
+ },
6
+ "properties": [],
7
+ "atrules": [],
8
+ "selectors": [
9
+ {
10
+ "name": "::cue",
11
+ "prose": "The ::cue pseudo-element (with no argument) matches any list of WebVTT Node Objects constructed for the matched element, with the exception that the properties corresponding to the background shorthand must be applied to the WebVTT cue background box rather than the list of WebVTT Node Objects."
12
+ },
13
+ {
14
+ "name": "::cue()",
15
+ "value": "::cue(selector)"
16
+ },
17
+ {
18
+ "name": "::cue-region",
19
+ "prose": "The ::cue-region pseudo-element (with no argument) matches any list of WebVTT region objects constructed for the matched element."
20
+ },
21
+ {
22
+ "name": "::cue-region()",
23
+ "value": "::cue-region(selector)"
24
+ }
25
+ ],
26
+ "values": []
27
+ }