@webref/css 6.24.0 → 6.24.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.
@@ -0,0 +1,412 @@
1
+ {
2
+ "spec": {
3
+ "title": "Animation Triggers",
4
+ "url": "https://drafts.csswg.org/animation-triggers-1/"
5
+ },
6
+ "properties": [
7
+ {
8
+ "name": "trigger-scope",
9
+ "href": "https://drafts.csswg.org/animation-triggers-1/#propdef-trigger-scope",
10
+ "value": "none | all | <dashed-ident>#",
11
+ "initial": "none",
12
+ "appliesTo": "all elements",
13
+ "inherited": "no",
14
+ "percentages": "n/a",
15
+ "computedValue": "as specified",
16
+ "canonicalOrder": "per grammar",
17
+ "animationType": "not animatable",
18
+ "values": [
19
+ {
20
+ "name": "none",
21
+ "prose": "No changes in trigger name scope.",
22
+ "href": "https://drafts.csswg.org/animation-triggers-1/#valdef-trigger-scope-none",
23
+ "type": "value",
24
+ "value": "none"
25
+ },
26
+ {
27
+ "name": "all",
28
+ "prose": "Specifies that all trigger names defined by this element or its descendants—​whose scope is not already limited by a descendant using trigger-scope—​to be in scope only for this element’s flat tree descendants; and limits descendants to only match trigger names to triggers within this subtree. This value only affects trigger names in the same tree scope, as if it were a strictly matched tree-scoped name. (That is, trigger-scope: all acts identically to trigger-scope: --foo, --bar, ..., listing all relevant trigger names.)",
29
+ "href": "https://drafts.csswg.org/animation-triggers-1/#valdef-trigger-scope-all",
30
+ "type": "value",
31
+ "value": "all"
32
+ },
33
+ {
34
+ "name": "<dashed-ident>",
35
+ "prose": "Specifies that a matching trigger name defined by this element or its descendants—​whose scope is not already limited by a descendant using trigger-scope—​to be in scope only for this element’s flat tree descendants; and limits descendants to only match these trigger names to triggers within this subtree. The <dashed-ident> represents a strictly matched tree-scoped name, i.e. it can only match against trigger names in the same shadow tree.[CSS-SCOPING-1]",
36
+ "href": "https://drafts.csswg.org/animation-triggers-1/#valdef-trigger-scope-dashed-ident",
37
+ "type": "value",
38
+ "value": "<dashed-ident>"
39
+ }
40
+ ],
41
+ "styleDeclaration": [
42
+ "trigger-scope",
43
+ "triggerScope"
44
+ ]
45
+ },
46
+ {
47
+ "name": "timeline-trigger-name",
48
+ "href": "https://drafts.csswg.org/animation-triggers-1/#propdef-timeline-trigger-name",
49
+ "value": "none | <dashed-ident>#",
50
+ "initial": "none",
51
+ "appliesTo": "all elements",
52
+ "inherited": "no",
53
+ "percentages": "N/A",
54
+ "computedValue": "as specified",
55
+ "canonicalOrder": "per grammar",
56
+ "animationType": "not animatable",
57
+ "styleDeclaration": [
58
+ "timeline-trigger-name",
59
+ "timelineTriggerName"
60
+ ]
61
+ },
62
+ {
63
+ "name": "timeline-trigger-source",
64
+ "href": "https://drafts.csswg.org/animation-triggers-1/#propdef-timeline-trigger-source",
65
+ "value": "<single-animation-timeline>#",
66
+ "initial": "auto",
67
+ "appliesTo": "all elements",
68
+ "inherited": "no",
69
+ "percentages": "N/A",
70
+ "computedValue": "list, each item either the keyword none, the keyword auto, a case-sensitive css identifier, a computed scroll() function, or a computed view() function",
71
+ "canonicalOrder": "per grammar",
72
+ "animationType": "not animatable",
73
+ "styleDeclaration": [
74
+ "timeline-trigger-source",
75
+ "timelineTriggerSource"
76
+ ]
77
+ },
78
+ {
79
+ "name": "timeline-trigger-activation-range",
80
+ "href": "https://drafts.csswg.org/animation-triggers-1/#propdef-timeline-trigger-activation-range",
81
+ "value": "[ <'timeline-trigger-activation-range-start'> <'timeline-trigger-activation-range-end'>? ]#",
82
+ "initial": "see individual properties",
83
+ "appliesTo": "see individual properties",
84
+ "inherited": "see individual properties",
85
+ "percentages": "see individual properties",
86
+ "computedValue": "see individual properties",
87
+ "animationType": "see individual properties",
88
+ "canonicalOrder": "per grammar",
89
+ "styleDeclaration": [
90
+ "timeline-trigger-activation-range",
91
+ "timelineTriggerActivationRange"
92
+ ],
93
+ "longhands": [
94
+ "timeline-trigger-activation-range-start",
95
+ "timeline-trigger-activation-range-end"
96
+ ]
97
+ },
98
+ {
99
+ "name": "timeline-trigger-activation-range-start",
100
+ "href": "https://drafts.csswg.org/animation-triggers-1/#propdef-timeline-trigger-activation-range-start",
101
+ "value": "[ normal | <length-percentage> | <timeline-range-name> <length-percentage>? ]#",
102
+ "initial": "normal",
103
+ "appliesTo": "all elements",
104
+ "inherited": "no",
105
+ "percentages": "relative to the specified named timeline range if one was specified, else to the entire timeline",
106
+ "computedValue": "list, each item either the keyword normal or a timeline range and progress percentage",
107
+ "canonicalOrder": "per grammar",
108
+ "animationType": "not animatable",
109
+ "styleDeclaration": [
110
+ "timeline-trigger-activation-range-start",
111
+ "timelineTriggerActivationRangeStart"
112
+ ]
113
+ },
114
+ {
115
+ "name": "timeline-trigger-activation-range-end",
116
+ "href": "https://drafts.csswg.org/animation-triggers-1/#propdef-timeline-trigger-activation-range-end",
117
+ "value": "[ normal | <length-percentage> | <timeline-range-name> <length-percentage>? ]#",
118
+ "initial": "normal",
119
+ "appliesTo": "all elements",
120
+ "inherited": "no",
121
+ "percentages": "relative to the specified named timeline range if one was specified, else to the entire timeline",
122
+ "computedValue": "list, each item either the keyword normal or a timeline range and progress percentage",
123
+ "canonicalOrder": "per grammar",
124
+ "animationType": "not animatable",
125
+ "styleDeclaration": [
126
+ "timeline-trigger-activation-range-end",
127
+ "timelineTriggerActivationRangeEnd"
128
+ ]
129
+ },
130
+ {
131
+ "name": "timeline-trigger-active-range",
132
+ "href": "https://drafts.csswg.org/animation-triggers-1/#propdef-timeline-trigger-active-range",
133
+ "value": "[ <'timeline-trigger-active-range-start'> <'timeline-trigger-active-range-end'>? ]#",
134
+ "initial": "see individual properties",
135
+ "appliesTo": "see individual properties",
136
+ "inherited": "see individual properties",
137
+ "percentages": "see individual properties",
138
+ "computedValue": "see individual properties",
139
+ "animationType": "see individual properties",
140
+ "canonicalOrder": "per grammar",
141
+ "values": [
142
+ {
143
+ "name": "auto",
144
+ "prose": "The start (for timeline-trigger-active-range-start) or end (for timeline-trigger-active-range-end) is equal to the start/end of the timeline trigger’s activation range.",
145
+ "href": "https://drafts.csswg.org/animation-triggers-1/#valdef-timeline-trigger-active-range-auto",
146
+ "type": "value",
147
+ "value": "auto"
148
+ }
149
+ ],
150
+ "styleDeclaration": [
151
+ "timeline-trigger-active-range",
152
+ "timelineTriggerActiveRange"
153
+ ],
154
+ "longhands": [
155
+ "timeline-trigger-active-range-start",
156
+ "timeline-trigger-active-range-end"
157
+ ]
158
+ },
159
+ {
160
+ "name": "timeline-trigger-active-range-start",
161
+ "href": "https://drafts.csswg.org/animation-triggers-1/#propdef-timeline-trigger-active-range-start",
162
+ "value": "[ auto | normal | <length-percentage> | <timeline-range-name> <length-percentage>? ]#",
163
+ "initial": "auto",
164
+ "appliesTo": "all elements",
165
+ "inherited": "no",
166
+ "percentages": "relative to the specified named timeline range if one was specified, else to the entire timeline",
167
+ "computedValue": "list, each item either the keyword normal or a timeline range and progress percentage",
168
+ "canonicalOrder": "per grammar",
169
+ "animationType": "not animatable",
170
+ "values": [
171
+ {
172
+ "name": "auto",
173
+ "prose": "The start (for timeline-trigger-active-range-start) or end (for timeline-trigger-active-range-end) is equal to the start/end of the timeline trigger’s activation range.",
174
+ "href": "https://drafts.csswg.org/animation-triggers-1/#valdef-timeline-trigger-active-range-auto",
175
+ "type": "value",
176
+ "value": "auto"
177
+ }
178
+ ],
179
+ "styleDeclaration": [
180
+ "timeline-trigger-active-range-start",
181
+ "timelineTriggerActiveRangeStart"
182
+ ]
183
+ },
184
+ {
185
+ "name": "timeline-trigger-active-range-end",
186
+ "href": "https://drafts.csswg.org/animation-triggers-1/#propdef-timeline-trigger-active-range-end",
187
+ "value": "[ auto | normal | <length-percentage> | <timeline-range-name> <length-percentage>? ]#",
188
+ "initial": "auto",
189
+ "appliesTo": "all elements",
190
+ "inherited": "no",
191
+ "percentages": "relative to the specified named timeline range if one was specified, else to the entire timeline",
192
+ "computedValue": "list, each item either the keyword normal or a timeline range and progress percentage",
193
+ "canonicalOrder": "per grammar",
194
+ "animationType": "not animatable",
195
+ "values": [
196
+ {
197
+ "name": "auto",
198
+ "prose": "The start (for timeline-trigger-active-range-start) or end (for timeline-trigger-active-range-end) is equal to the start/end of the timeline trigger’s activation range.",
199
+ "href": "https://drafts.csswg.org/animation-triggers-1/#valdef-timeline-trigger-active-range-auto",
200
+ "type": "value",
201
+ "value": "auto"
202
+ }
203
+ ],
204
+ "styleDeclaration": [
205
+ "timeline-trigger-active-range-end",
206
+ "timelineTriggerActiveRangeEnd"
207
+ ]
208
+ },
209
+ {
210
+ "name": "timeline-trigger",
211
+ "href": "https://drafts.csswg.org/animation-triggers-1/#propdef-timeline-trigger",
212
+ "value": "none | [ <'timeline-trigger-name'> <'timeline-trigger-source'> <'timeline-trigger-activation-range'> [ '/' <'timeline-trigger-active-range'> ]? ]#",
213
+ "initial": "see individual properties",
214
+ "appliesTo": "see individual properties",
215
+ "inherited": "see individual properties",
216
+ "percentages": "see individual properties",
217
+ "computedValue": "see individual properties",
218
+ "animationType": "see individual properties",
219
+ "canonicalOrder": "per grammar",
220
+ "values": [
221
+ {
222
+ "name": "none",
223
+ "prose": "A value of none is equivalent to none none normal.",
224
+ "href": "https://drafts.csswg.org/animation-triggers-1/#valdef-timeline-trigger-none",
225
+ "type": "value",
226
+ "value": "none"
227
+ }
228
+ ],
229
+ "styleDeclaration": [
230
+ "timeline-trigger",
231
+ "timelineTrigger"
232
+ ],
233
+ "longhands": [
234
+ "timeline-trigger-name",
235
+ "timeline-trigger-source",
236
+ "timeline-trigger-activation-range",
237
+ "timeline-trigger-active-range"
238
+ ]
239
+ },
240
+ {
241
+ "name": "event-trigger-name",
242
+ "href": "https://drafts.csswg.org/animation-triggers-1/#propdef-event-trigger-name",
243
+ "value": "none | <dashed-ident>#",
244
+ "initial": "none",
245
+ "appliesTo": "all elements",
246
+ "inherited": "no",
247
+ "percentages": "N/A",
248
+ "computedValue": "as specified",
249
+ "canonicalOrder": "per grammar",
250
+ "animationType": "not animatable",
251
+ "styleDeclaration": [
252
+ "event-trigger-name",
253
+ "eventTriggerName"
254
+ ]
255
+ },
256
+ {
257
+ "name": "event-trigger-source",
258
+ "href": "https://drafts.csswg.org/animation-triggers-1/#propdef-event-trigger-source",
259
+ "value": "[ none | <event-trigger-event>+ [ / <event-trigger-event>+ ]? ]#",
260
+ "initial": "none",
261
+ "appliesTo": "all elements",
262
+ "inherited": "no",
263
+ "percentages": "N/A",
264
+ "computedValue": "as specified",
265
+ "canonicalOrder": "per grammar",
266
+ "animationType": "not animatable",
267
+ "values": [
268
+ {
269
+ "name": "none",
270
+ "prose": "The corresponding entry in the coordinated value list does not define a trigger.",
271
+ "href": "https://drafts.csswg.org/animation-triggers-1/#valdef-event-trigger-source-none",
272
+ "type": "value",
273
+ "value": "none"
274
+ },
275
+ {
276
+ "name": "<event-trigger-event>+ [ / <event-trigger-event>+ ]?",
277
+ "prose": "Defines what event(s) the event trigger responds to. If a / is used in the value, the event trigger is stateful; the set of events before the / are the event trigger’s enter events, while those after the / are the exit events. (The same events can occur in both sets.) Otherwise, the event trigger is stateless, and the provided events are its enter events.",
278
+ "href": "https://drafts.csswg.org/animation-triggers-1/#valdef-event-trigger-source-event-trigger-event--event-trigger-event",
279
+ "type": "value",
280
+ "value": "<event-trigger-event>+ [ / <event-trigger-event>+ ]?"
281
+ }
282
+ ],
283
+ "styleDeclaration": [
284
+ "event-trigger-source",
285
+ "eventTriggerSource"
286
+ ]
287
+ },
288
+ {
289
+ "name": "event-trigger",
290
+ "href": "https://drafts.csswg.org/animation-triggers-1/#propdef-event-trigger",
291
+ "value": "none | [ <'event-trigger-name'> <'event-trigger-source'> ]#",
292
+ "initial": "none",
293
+ "appliesTo": "all elements",
294
+ "inherited": "no",
295
+ "percentages": "N/A",
296
+ "computedValue": "as specified",
297
+ "animationType": "not animatable",
298
+ "canonicalOrder": "per grammar",
299
+ "values": [
300
+ {
301
+ "name": "none",
302
+ "prose": "A value of none is equivalent to none none.",
303
+ "href": "https://drafts.csswg.org/animation-triggers-1/#valdef-event-trigger-none",
304
+ "type": "value",
305
+ "value": "none"
306
+ }
307
+ ],
308
+ "styleDeclaration": [
309
+ "event-trigger",
310
+ "eventTrigger"
311
+ ]
312
+ },
313
+ {
314
+ "name": "animation-trigger",
315
+ "href": "https://drafts.csswg.org/animation-triggers-1/#propdef-animation-trigger",
316
+ "value": "[ none | [ <dashed-ident> <animation-action>+ ]+ ]#",
317
+ "initial": "none",
318
+ "appliesTo": "all elements",
319
+ "inherited": "no",
320
+ "percentages": "N/A",
321
+ "computedValue": "as specified",
322
+ "canonicalOrder": "per grammar",
323
+ "animationType": "not animatable",
324
+ "values": [
325
+ {
326
+ "name": "none",
327
+ "prose": "The corresponding animation is not a triggered animation.",
328
+ "href": "https://drafts.csswg.org/animation-triggers-1/#valdef-animation-trigger-none",
329
+ "type": "value",
330
+ "value": "none"
331
+ },
332
+ {
333
+ "name": "[ <dashed-ident> <animation-action>+ ]+",
334
+ "prose": "The corresponding animation is a triggered animation, responding to the triggers named by each <dashed-ident>, and responding by taking the action named by the corresponding <animation-action>. (See § 2.1 Trigger Name Scoping: the trigger-scope property for how <dashed-ident>s are resolved to triggers.) How many <animation-action>s a trigger accepts, and what exactly activates them, is determined by the type of the trigger. (Event triggers take one and possibly an optional second, depending on whether they’re stateless or stateful; timeline triggers take one and optionally a second.) Specifying the wrong number of actions (too many or too few) is valid syntactically, but causes the trigger to have no effect. If multiple triggers occur simultaneously, they take effect in the order specified. If the same <dashed-ident> is specified multiple times, all but the last have no effect.",
335
+ "href": "https://drafts.csswg.org/animation-triggers-1/#valdef-animation-trigger--dashed-ident-animation-action",
336
+ "type": "value",
337
+ "value": "[ <dashed-ident> <animation-action>+ ]+"
338
+ }
339
+ ],
340
+ "styleDeclaration": [
341
+ "animation-trigger",
342
+ "animationTrigger"
343
+ ]
344
+ }
345
+ ],
346
+ "atrules": [],
347
+ "selectors": [],
348
+ "values": [
349
+ {
350
+ "name": "<event-trigger-event>",
351
+ "href": "https://drafts.csswg.org/animation-triggers-1/#typedef-event-trigger-event",
352
+ "type": "type",
353
+ "value": "activate | interest | click | touch | dblclick | keypress(<string>) | ..."
354
+ },
355
+ {
356
+ "name": "<animation-action>",
357
+ "prose": "The possible <animation-action> values, and what effect they have in each animation state:",
358
+ "href": "https://drafts.csswg.org/animation-triggers-1/#typedef-animation-action",
359
+ "type": "type",
360
+ "values": [
361
+ {
362
+ "name": "none",
363
+ "href": "https://drafts.csswg.org/animation-triggers-1/#valdef-animation-action-none",
364
+ "type": "value",
365
+ "value": "none"
366
+ },
367
+ {
368
+ "name": "play",
369
+ "href": "https://drafts.csswg.org/animation-triggers-1/#valdef-animation-action-play",
370
+ "type": "value",
371
+ "value": "play"
372
+ },
373
+ {
374
+ "name": "play-once",
375
+ "href": "https://drafts.csswg.org/animation-triggers-1/#valdef-animation-action-play-once",
376
+ "type": "value",
377
+ "value": "play-once"
378
+ },
379
+ {
380
+ "name": "play-forwards",
381
+ "href": "https://drafts.csswg.org/animation-triggers-1/#valdef-animation-action-play-forwards",
382
+ "type": "value",
383
+ "value": "play-forwards"
384
+ },
385
+ {
386
+ "name": "play-backwards",
387
+ "href": "https://drafts.csswg.org/animation-triggers-1/#valdef-animation-action-play-backwards",
388
+ "type": "value",
389
+ "value": "play-backwards"
390
+ },
391
+ {
392
+ "name": "pause",
393
+ "href": "https://drafts.csswg.org/animation-triggers-1/#valdef-animation-action-pause",
394
+ "type": "value",
395
+ "value": "pause"
396
+ },
397
+ {
398
+ "name": "reset",
399
+ "href": "https://drafts.csswg.org/animation-triggers-1/#valdef-animation-action-reset",
400
+ "type": "value",
401
+ "value": "reset"
402
+ },
403
+ {
404
+ "name": "replay",
405
+ "href": "https://drafts.csswg.org/animation-triggers-1/#valdef-animation-action-replay",
406
+ "type": "value",
407
+ "value": "replay"
408
+ }
409
+ ]
410
+ }
411
+ ]
412
+ }
package/css-align.json CHANGED
@@ -278,7 +278,7 @@
278
278
  {
279
279
  "name": "row-gap",
280
280
  "href": "https://drafts.csswg.org/css-align-3/#propdef-row-gap",
281
- "value": "normal | <length-percentage [0,∞]>",
281
+ "value": "normal | <length-percentage [0,∞]> | <line-width>",
282
282
  "initial": "normal",
283
283
  "appliesTo": "multi-column containers, flex containers, grid containers",
284
284
  "inherited": "no",
@@ -303,7 +303,7 @@
303
303
  {
304
304
  "name": "column-gap",
305
305
  "href": "https://drafts.csswg.org/css-align-3/#propdef-column-gap",
306
- "value": "normal | <length-percentage [0,∞]>",
306
+ "value": "normal | <length-percentage [0,∞]> | <line-width>",
307
307
  "initial": "normal",
308
308
  "appliesTo": "multi-column containers, flex containers, grid containers",
309
309
  "inherited": "no",
@@ -361,7 +361,7 @@
361
361
  "grid-row-gap",
362
362
  "gridRowGap"
363
363
  ],
364
- "value": "normal | <length-percentage [0,∞]>"
364
+ "value": "normal | <length-percentage [0,∞]> | <line-width>"
365
365
  },
366
366
  {
367
367
  "name": "grid-column-gap",
@@ -371,7 +371,7 @@
371
371
  "grid-column-gap",
372
372
  "gridColumnGap"
373
373
  ],
374
- "value": "normal | <length-percentage [0,∞]>"
374
+ "value": "normal | <length-percentage [0,∞]> | <line-width>"
375
375
  },
376
376
  {
377
377
  "name": "grid-gap",
@@ -67,344 +67,6 @@
67
67
  "animation-timeline",
68
68
  "animationTimeline"
69
69
  ]
70
- },
71
- {
72
- "name": "animation-trigger",
73
- "href": "https://drafts.csswg.org/css-animations-2/#propdef-animation-trigger",
74
- "value": "[ none | [ <dashed-ident> <animation-action>+ ]+ ]#",
75
- "initial": "none",
76
- "appliesTo": "all elements",
77
- "inherited": "no",
78
- "percentages": "N/A",
79
- "computedValue": "as specified",
80
- "canonicalOrder": "per grammar",
81
- "animationType": "not animatable",
82
- "values": [
83
- {
84
- "name": "none",
85
- "prose": "The corresponding animation is not a triggered animation.",
86
- "href": "https://drafts.csswg.org/css-animations-2/#valdef-animation-trigger-none",
87
- "type": "value",
88
- "value": "none"
89
- },
90
- {
91
- "name": "[ <dashed-ident> <animation-action>+ ]+",
92
- "prose": "The corresponding animation is a triggered animation, responding to the triggers named by each <dashed-ident>, and responding by taking the action named by the corresponding <animation-action>. (See § 5.1 Trigger Name Scoping: the trigger-scope property for how <dashed-ident>s are resolved to triggers.) How many <animation-action>s a trigger accepts, and what exactly activates them, is determined by the type of the trigger. (Event triggers take one and possibly an optional second, depending on whether they’re stateless or stateful; timeline triggers take one and optionally a second.) Specifying the wrong number of actions (too many or too few) is valid syntactically, but causes the trigger to have no effect. If multiple triggers occur simultaneously, they take effect in the order specified. If the same <dashed-ident> is specified multiple times, all but the last have no effect.",
93
- "href": "https://drafts.csswg.org/css-animations-2/#valdef-animation-trigger--dashed-ident-animation-action",
94
- "type": "value",
95
- "value": "[ <dashed-ident> <animation-action>+ ]+"
96
- }
97
- ],
98
- "styleDeclaration": [
99
- "animation-trigger",
100
- "animationTrigger"
101
- ]
102
- },
103
- {
104
- "name": "trigger-scope",
105
- "href": "https://drafts.csswg.org/css-animations-2/#propdef-trigger-scope",
106
- "value": "none | all | <dashed-ident>#",
107
- "initial": "none",
108
- "appliesTo": "all elements",
109
- "inherited": "no",
110
- "percentages": "n/a",
111
- "computedValue": "as specified",
112
- "canonicalOrder": "per grammar",
113
- "animationType": "not animatable",
114
- "values": [
115
- {
116
- "name": "none",
117
- "prose": "No changes in trigger name scope.",
118
- "href": "https://drafts.csswg.org/css-animations-2/#valdef-trigger-scope-none",
119
- "type": "value",
120
- "value": "none"
121
- },
122
- {
123
- "name": "all",
124
- "prose": "Specifies that all trigger names defined by this element or its descendants—​whose scope is not already limited by a descendant using trigger-scope—​to be in scope only for this element’s flat tree descendants; and limits descendants to only match trigger names to triggers within this subtree. This value only affects trigger names in the same tree scope, as if it were a strictly matched tree-scoped name. (That is, trigger-scope: all acts identically to trigger-scope: --foo, --bar, ..., listing all relevant trigger names.)",
125
- "href": "https://drafts.csswg.org/css-animations-2/#valdef-trigger-scope-all",
126
- "type": "value",
127
- "value": "all"
128
- },
129
- {
130
- "name": "<dashed-ident>",
131
- "prose": "Specifies that a matching trigger name defined by this element or its descendants—​whose scope is not already limited by a descendant using trigger-scope—​to be in scope only for this element’s flat tree descendants; and limits descendants to only match these trigger names to triggers within this subtree. The <dashed-ident> represents a strictly matched tree-scoped name, i.e. it can only match against trigger names in the same shadow tree.[CSS-SCOPING-1]",
132
- "href": "https://drafts.csswg.org/css-animations-2/#valdef-trigger-scope-dashed-ident",
133
- "type": "value",
134
- "value": "<dashed-ident>"
135
- }
136
- ],
137
- "styleDeclaration": [
138
- "trigger-scope",
139
- "triggerScope"
140
- ]
141
- },
142
- {
143
- "name": "timeline-trigger-name",
144
- "href": "https://drafts.csswg.org/css-animations-2/#propdef-timeline-trigger-name",
145
- "value": "none | <dashed-ident>#",
146
- "initial": "none",
147
- "appliesTo": "all elements",
148
- "inherited": "no",
149
- "percentages": "N/A",
150
- "computedValue": "as specified",
151
- "canonicalOrder": "per grammar",
152
- "animationType": "not animatable",
153
- "styleDeclaration": [
154
- "timeline-trigger-name",
155
- "timelineTriggerName"
156
- ]
157
- },
158
- {
159
- "name": "timeline-trigger-source",
160
- "href": "https://drafts.csswg.org/css-animations-2/#propdef-timeline-trigger-source",
161
- "value": "<single-animation-timeline>#",
162
- "initial": "auto",
163
- "appliesTo": "all elements",
164
- "inherited": "no",
165
- "percentages": "N/A",
166
- "computedValue": "list, each item either the keyword none, the keyword auto, a case-sensitive css identifier, a computed scroll() function, or a computed view() function",
167
- "canonicalOrder": "per grammar",
168
- "animationType": "not animatable",
169
- "styleDeclaration": [
170
- "timeline-trigger-source",
171
- "timelineTriggerSource"
172
- ]
173
- },
174
- {
175
- "name": "timeline-trigger-range",
176
- "href": "https://drafts.csswg.org/css-animations-2/#propdef-timeline-trigger-range",
177
- "value": "[ <'timeline-trigger-range-start'> <'timeline-trigger-range-end'>? ]#",
178
- "initial": "see individual properties",
179
- "appliesTo": "see individual properties",
180
- "inherited": "see individual properties",
181
- "percentages": "see individual properties",
182
- "computedValue": "see individual properties",
183
- "animationType": "see individual properties",
184
- "canonicalOrder": "per grammar",
185
- "styleDeclaration": [
186
- "timeline-trigger-range",
187
- "timelineTriggerRange"
188
- ],
189
- "longhands": [
190
- "timeline-trigger-range-start",
191
- "timeline-trigger-range-end"
192
- ]
193
- },
194
- {
195
- "name": "timeline-trigger-range-start",
196
- "href": "https://drafts.csswg.org/css-animations-2/#propdef-timeline-trigger-range-start",
197
- "value": "[ normal | <length-percentage> | <timeline-range-name> <length-percentage>? ]#",
198
- "initial": "normal",
199
- "appliesTo": "all elements",
200
- "inherited": "no",
201
- "percentages": "relative to the specified named timeline range if one was specified, else to the entire timeline",
202
- "computedValue": "list, each item either the keyword normal or a timeline range and progress percentage",
203
- "canonicalOrder": "per grammar",
204
- "animationType": "not animatable",
205
- "styleDeclaration": [
206
- "timeline-trigger-range-start",
207
- "timelineTriggerRangeStart"
208
- ]
209
- },
210
- {
211
- "name": "timeline-trigger-range-end",
212
- "href": "https://drafts.csswg.org/css-animations-2/#propdef-timeline-trigger-range-end",
213
- "value": "[ normal | <length-percentage> | <timeline-range-name> <length-percentage>? ]#",
214
- "initial": "normal",
215
- "appliesTo": "all elements",
216
- "inherited": "no",
217
- "percentages": "relative to the specified named timeline range if one was specified, else to the entire timeline",
218
- "computedValue": "list, each item either the keyword normal or a timeline range and progress percentage",
219
- "canonicalOrder": "per grammar",
220
- "animationType": "not animatable",
221
- "styleDeclaration": [
222
- "timeline-trigger-range-end",
223
- "timelineTriggerRangeEnd"
224
- ]
225
- },
226
- {
227
- "name": "timeline-trigger-exit-range",
228
- "href": "https://drafts.csswg.org/css-animations-2/#propdef-timeline-trigger-exit-range",
229
- "value": "[ <'timeline-trigger-exit-range-start'> <'timeline-trigger-exit-range-end'>? ]#",
230
- "initial": "see individual properties",
231
- "appliesTo": "see individual properties",
232
- "inherited": "see individual properties",
233
- "percentages": "see individual properties",
234
- "computedValue": "see individual properties",
235
- "animationType": "see individual properties",
236
- "canonicalOrder": "per grammar",
237
- "values": [
238
- {
239
- "name": "auto",
240
- "prose": "The start (for timeline-trigger-exit-range-start) or end (for timeline-trigger-exit-range-end) is equal to the start/end of the timeline trigger’s enter range.",
241
- "href": "https://drafts.csswg.org/css-animations-2/#valdef-timeline-trigger-exit-range-auto",
242
- "type": "value",
243
- "value": "auto"
244
- }
245
- ],
246
- "styleDeclaration": [
247
- "timeline-trigger-exit-range",
248
- "timelineTriggerExitRange"
249
- ],
250
- "longhands": [
251
- "timeline-trigger-exit-range-start",
252
- "timeline-trigger-exit-range-end"
253
- ]
254
- },
255
- {
256
- "name": "timeline-trigger-exit-range-start",
257
- "href": "https://drafts.csswg.org/css-animations-2/#propdef-timeline-trigger-exit-range-start",
258
- "value": "[ auto | normal | <length-percentage> | <timeline-range-name> <length-percentage>? ]#",
259
- "initial": "auto",
260
- "appliesTo": "all elements",
261
- "inherited": "no",
262
- "percentages": "relative to the specified named timeline range if one was specified, else to the entire timeline",
263
- "computedValue": "list, each item either the keyword normal or a timeline range and progress percentage",
264
- "canonicalOrder": "per grammar",
265
- "animationType": "not animatable",
266
- "values": [
267
- {
268
- "name": "auto",
269
- "prose": "The start (for timeline-trigger-exit-range-start) or end (for timeline-trigger-exit-range-end) is equal to the start/end of the timeline trigger’s enter range.",
270
- "href": "https://drafts.csswg.org/css-animations-2/#valdef-timeline-trigger-exit-range-auto",
271
- "type": "value",
272
- "value": "auto"
273
- }
274
- ],
275
- "styleDeclaration": [
276
- "timeline-trigger-exit-range-start",
277
- "timelineTriggerExitRangeStart"
278
- ]
279
- },
280
- {
281
- "name": "timeline-trigger-exit-range-end",
282
- "href": "https://drafts.csswg.org/css-animations-2/#propdef-timeline-trigger-exit-range-end",
283
- "value": "[ auto | normal | <length-percentage> | <timeline-range-name> <length-percentage>? ]#",
284
- "initial": "auto",
285
- "appliesTo": "all elements",
286
- "inherited": "no",
287
- "percentages": "relative to the specified named timeline range if one was specified, else to the entire timeline",
288
- "computedValue": "list, each item either the keyword normal or a timeline range and progress percentage",
289
- "canonicalOrder": "per grammar",
290
- "animationType": "not animatable",
291
- "values": [
292
- {
293
- "name": "auto",
294
- "prose": "The start (for timeline-trigger-exit-range-start) or end (for timeline-trigger-exit-range-end) is equal to the start/end of the timeline trigger’s enter range.",
295
- "href": "https://drafts.csswg.org/css-animations-2/#valdef-timeline-trigger-exit-range-auto",
296
- "type": "value",
297
- "value": "auto"
298
- }
299
- ],
300
- "styleDeclaration": [
301
- "timeline-trigger-exit-range-end",
302
- "timelineTriggerExitRangeEnd"
303
- ]
304
- },
305
- {
306
- "name": "timeline-trigger",
307
- "href": "https://drafts.csswg.org/css-animations-2/#propdef-timeline-trigger",
308
- "value": "none | [ <'timeline-trigger-name'> <'timeline-trigger-source'> <'timeline-trigger-range'> [ '/' <'timeline-trigger-exit-range'> ]? ]#",
309
- "initial": "see individual properties",
310
- "appliesTo": "see individual properties",
311
- "inherited": "see individual properties",
312
- "percentages": "see individual properties",
313
- "computedValue": "see individual properties",
314
- "animationType": "see individual properties",
315
- "canonicalOrder": "per grammar",
316
- "values": [
317
- {
318
- "name": "none",
319
- "prose": "A value of none is equivalent to none none normal.",
320
- "href": "https://drafts.csswg.org/css-animations-2/#valdef-timeline-trigger-none",
321
- "type": "value",
322
- "value": "none"
323
- }
324
- ],
325
- "styleDeclaration": [
326
- "timeline-trigger",
327
- "timelineTrigger"
328
- ],
329
- "longhands": [
330
- "timeline-trigger-name",
331
- "timeline-trigger-source",
332
- "timeline-trigger-range",
333
- "timeline-trigger-exit-range"
334
- ]
335
- },
336
- {
337
- "name": "event-trigger-name",
338
- "href": "https://drafts.csswg.org/css-animations-2/#propdef-event-trigger-name",
339
- "value": "none | <dashed-ident>#",
340
- "initial": "none",
341
- "appliesTo": "all elements",
342
- "inherited": "no",
343
- "percentages": "N/A",
344
- "computedValue": "as specified",
345
- "canonicalOrder": "per grammar",
346
- "animationType": "not animatable",
347
- "styleDeclaration": [
348
- "event-trigger-name",
349
- "eventTriggerName"
350
- ]
351
- },
352
- {
353
- "name": "event-trigger-source",
354
- "href": "https://drafts.csswg.org/css-animations-2/#propdef-event-trigger-source",
355
- "value": "[ none | <event-trigger-event>+ [ / <event-trigger-event>+ ]? ]#",
356
- "initial": "none",
357
- "appliesTo": "all elements",
358
- "inherited": "no",
359
- "percentages": "N/A",
360
- "computedValue": "as specified",
361
- "canonicalOrder": "per grammar",
362
- "animationType": "not animatable",
363
- "values": [
364
- {
365
- "name": "none",
366
- "prose": "The corresponding entry in the coordinated value list does not define a trigger.",
367
- "href": "https://drafts.csswg.org/css-animations-2/#valdef-event-trigger-source-none",
368
- "type": "value",
369
- "value": "none"
370
- },
371
- {
372
- "name": "<event-trigger-event>+ [ / <event-trigger-event>+ ]?",
373
- "prose": "Defines what event(s) the event trigger responds to. If a / is used in the value, the event trigger is stateful; the set of events before the / are the event trigger’s enter events, while those after the / are the exit events. (The same events can occur in both sets.) Otherwise, the event trigger is stateless, and the provided events are its enter events.",
374
- "href": "https://drafts.csswg.org/css-animations-2/#valdef-event-trigger-source-event-trigger-event--event-trigger-event",
375
- "type": "value",
376
- "value": "<event-trigger-event>+ [ / <event-trigger-event>+ ]?"
377
- }
378
- ],
379
- "styleDeclaration": [
380
- "event-trigger-source",
381
- "eventTriggerSource"
382
- ]
383
- },
384
- {
385
- "name": "event-trigger",
386
- "href": "https://drafts.csswg.org/css-animations-2/#propdef-event-trigger",
387
- "value": "none | [ <'event-trigger-name'> <'event-trigger-source'> ]#",
388
- "initial": "none",
389
- "appliesTo": "all elements",
390
- "inherited": "no",
391
- "percentages": "N/A",
392
- "computedValue": "as specified",
393
- "canonicalOrder": "per grammar",
394
- "animationType": "not animatable",
395
- "values": [
396
- {
397
- "name": "none",
398
- "prose": "A value of none is equivalent to none none.",
399
- "href": "https://drafts.csswg.org/css-animations-2/#valdef-event-trigger-none",
400
- "type": "value",
401
- "value": "none"
402
- }
403
- ],
404
- "styleDeclaration": [
405
- "event-trigger",
406
- "eventTrigger"
407
- ]
408
70
  }
409
71
  ],
410
72
  "atrules": [],
@@ -459,73 +121,11 @@
459
121
  }
460
122
  ]
461
123
  },
462
- {
463
- "name": "<animation-action>",
464
- "prose": "The possible <animation-action> values, and what effect they have in each animation state:",
465
- "href": "https://drafts.csswg.org/css-animations-2/#typedef-animation-action",
466
- "type": "type",
467
- "values": [
468
- {
469
- "name": "none",
470
- "href": "https://drafts.csswg.org/css-animations-2/#valdef-animation-action-none",
471
- "type": "value",
472
- "value": "none"
473
- },
474
- {
475
- "name": "play",
476
- "href": "https://drafts.csswg.org/css-animations-2/#valdef-animation-action-play",
477
- "type": "value",
478
- "value": "play"
479
- },
480
- {
481
- "name": "play-once",
482
- "href": "https://drafts.csswg.org/css-animations-2/#valdef-animation-action-play-once",
483
- "type": "value",
484
- "value": "play-once"
485
- },
486
- {
487
- "name": "play-forwards",
488
- "href": "https://drafts.csswg.org/css-animations-2/#valdef-animation-action-play-forwards",
489
- "type": "value",
490
- "value": "play-forwards"
491
- },
492
- {
493
- "name": "play-backwards",
494
- "href": "https://drafts.csswg.org/css-animations-2/#valdef-animation-action-play-backwards",
495
- "type": "value",
496
- "value": "play-backwards"
497
- },
498
- {
499
- "name": "pause",
500
- "href": "https://drafts.csswg.org/css-animations-2/#valdef-animation-action-pause",
501
- "type": "value",
502
- "value": "pause"
503
- },
504
- {
505
- "name": "reset",
506
- "href": "https://drafts.csswg.org/css-animations-2/#valdef-animation-action-reset",
507
- "type": "value",
508
- "value": "reset"
509
- },
510
- {
511
- "name": "replay",
512
- "href": "https://drafts.csswg.org/css-animations-2/#valdef-animation-action-replay",
513
- "type": "value",
514
- "value": "replay"
515
- }
516
- ]
517
- },
518
124
  {
519
125
  "name": "<single-animation>",
520
126
  "value": "<'animation-duration'> || <easing-function> || <'animation-delay'> || <single-animation-iteration-count> || <single-animation-direction> || <single-animation-fill-mode> || <single-animation-play-state> || [ none | <keyframes-name> ] || <single-animation-timeline>",
521
127
  "href": "https://drafts.csswg.org/css-animations-2/#typedef-single-animation",
522
128
  "type": "type"
523
- },
524
- {
525
- "name": "<event-trigger-event>",
526
- "href": "https://drafts.csswg.org/css-animations-2/#typedef-event-trigger-event",
527
- "type": "type",
528
- "value": "activate | click | touch | dblclick | keypress(<string>) | ..."
529
129
  }
530
130
  ]
531
131
  }
package/css-borders.json CHANGED
@@ -662,24 +662,31 @@
662
662
  "values": [
663
663
  {
664
664
  "name": "thin",
665
- "prose": "Negative values are invalid. The thin, medium, and thick keywords are equivalent to 1px, 3px, and 5px, respectively.",
665
+ "prose": "Negative values are invalid. The thin, medium, and thick keywords are equivalent to 1px, 3px, and 5px, respectively. The hairline keyword is a UA-defined length, less than or equal to 1px and equal to an integer number of device pixels at the default page zoom, which represents a \"just visible\" line. (While it can be as large as 1px, on many devices it will be approximately 0.3px to 0.5px.)",
666
666
  "href": "https://drafts.csswg.org/css-borders-4/#valdef-line-width-thin",
667
667
  "type": "value",
668
668
  "value": "thin"
669
669
  },
670
670
  {
671
671
  "name": "medium",
672
- "prose": "Negative values are invalid. The thin, medium, and thick keywords are equivalent to 1px, 3px, and 5px, respectively.",
672
+ "prose": "Negative values are invalid. The thin, medium, and thick keywords are equivalent to 1px, 3px, and 5px, respectively. The hairline keyword is a UA-defined length, less than or equal to 1px and equal to an integer number of device pixels at the default page zoom, which represents a \"just visible\" line. (While it can be as large as 1px, on many devices it will be approximately 0.3px to 0.5px.)",
673
673
  "href": "https://drafts.csswg.org/css-borders-4/#valdef-line-width-medium",
674
674
  "type": "value",
675
675
  "value": "medium"
676
676
  },
677
677
  {
678
678
  "name": "thick",
679
- "prose": "Negative values are invalid. The thin, medium, and thick keywords are equivalent to 1px, 3px, and 5px, respectively.",
679
+ "prose": "Negative values are invalid. The thin, medium, and thick keywords are equivalent to 1px, 3px, and 5px, respectively. The hairline keyword is a UA-defined length, less than or equal to 1px and equal to an integer number of device pixels at the default page zoom, which represents a \"just visible\" line. (While it can be as large as 1px, on many devices it will be approximately 0.3px to 0.5px.)",
680
680
  "href": "https://drafts.csswg.org/css-borders-4/#valdef-line-width-thick",
681
681
  "type": "value",
682
682
  "value": "thick"
683
+ },
684
+ {
685
+ "name": "hairline",
686
+ "prose": "Negative values are invalid. The thin, medium, and thick keywords are equivalent to 1px, 3px, and 5px, respectively. The hairline keyword is a UA-defined length, less than or equal to 1px and equal to an integer number of device pixels at the default page zoom, which represents a \"just visible\" line. (While it can be as large as 1px, on many devices it will be approximately 0.3px to 0.5px.)",
687
+ "href": "https://drafts.csswg.org/css-borders-4/#valdef-line-width-hairline",
688
+ "type": "value",
689
+ "value": "hairline"
683
690
  }
684
691
  ],
685
692
  "styleDeclaration": [
@@ -2658,28 +2665,35 @@
2658
2665
  "name": "<line-width>",
2659
2666
  "href": "https://drafts.csswg.org/css-borders-4/#typedef-line-width",
2660
2667
  "type": "type",
2661
- "value": "<length [0,∞]> | thin | medium | thick",
2668
+ "value": "<length [0,∞]> | hairline | thin | medium | thick",
2662
2669
  "values": [
2663
2670
  {
2664
2671
  "name": "thin",
2665
- "prose": "Negative values are invalid. The thin, medium, and thick keywords are equivalent to 1px, 3px, and 5px, respectively.",
2672
+ "prose": "Negative values are invalid. The thin, medium, and thick keywords are equivalent to 1px, 3px, and 5px, respectively. The hairline keyword is a UA-defined length, less than or equal to 1px and equal to an integer number of device pixels at the default page zoom, which represents a \"just visible\" line. (While it can be as large as 1px, on many devices it will be approximately 0.3px to 0.5px.)",
2666
2673
  "href": "https://drafts.csswg.org/css-borders-4/#valdef-line-width-thin",
2667
2674
  "type": "value",
2668
2675
  "value": "thin"
2669
2676
  },
2670
2677
  {
2671
2678
  "name": "medium",
2672
- "prose": "Negative values are invalid. The thin, medium, and thick keywords are equivalent to 1px, 3px, and 5px, respectively.",
2679
+ "prose": "Negative values are invalid. The thin, medium, and thick keywords are equivalent to 1px, 3px, and 5px, respectively. The hairline keyword is a UA-defined length, less than or equal to 1px and equal to an integer number of device pixels at the default page zoom, which represents a \"just visible\" line. (While it can be as large as 1px, on many devices it will be approximately 0.3px to 0.5px.)",
2673
2680
  "href": "https://drafts.csswg.org/css-borders-4/#valdef-line-width-medium",
2674
2681
  "type": "value",
2675
2682
  "value": "medium"
2676
2683
  },
2677
2684
  {
2678
2685
  "name": "thick",
2679
- "prose": "Negative values are invalid. The thin, medium, and thick keywords are equivalent to 1px, 3px, and 5px, respectively.",
2686
+ "prose": "Negative values are invalid. The thin, medium, and thick keywords are equivalent to 1px, 3px, and 5px, respectively. The hairline keyword is a UA-defined length, less than or equal to 1px and equal to an integer number of device pixels at the default page zoom, which represents a \"just visible\" line. (While it can be as large as 1px, on many devices it will be approximately 0.3px to 0.5px.)",
2680
2687
  "href": "https://drafts.csswg.org/css-borders-4/#valdef-line-width-thick",
2681
2688
  "type": "value",
2682
2689
  "value": "thick"
2690
+ },
2691
+ {
2692
+ "name": "hairline",
2693
+ "prose": "Negative values are invalid. The thin, medium, and thick keywords are equivalent to 1px, 3px, and 5px, respectively. The hairline keyword is a UA-defined length, less than or equal to 1px and equal to an integer number of device pixels at the default page zoom, which represents a \"just visible\" line. (While it can be as large as 1px, on many devices it will be approximately 0.3px to 0.5px.)",
2694
+ "href": "https://drafts.csswg.org/css-borders-4/#valdef-line-width-hairline",
2695
+ "type": "value",
2696
+ "value": "hairline"
2683
2697
  }
2684
2698
  ]
2685
2699
  },
@@ -57,7 +57,7 @@
57
57
  "name": "<color-function>",
58
58
  "href": "https://drafts.csswg.org/css-color-hdr-1/#typedef-color-function",
59
59
  "type": "type",
60
- "value": "<rgb()> | <rgba()> | <hsl()> | <hsla()> | <hwb()> | <lab()> | <lch()> | <oklab()> | <oklch()> | <ictcp()> | <jzazbz()> | <jzczhz()> | <alpha()> | <color()>"
60
+ "value": "<rgb()> | <rgba()> | <hsl()> | <hsla()> | <hwb()> | <lab()> | <lch()> | <oklab()> | <oklch()> | <ictcp()> | <jzazbz()> | <jzczhz()> | <alpha()> | <color()> | <hdr-color()>"
61
61
  },
62
62
  {
63
63
  "name": "ictcp()",
@@ -0,0 +1,57 @@
1
+ {
2
+ "spec": {
3
+ "title": "CSS Image Animation",
4
+ "url": "https://drafts.csswg.org/css-image-animation-1/"
5
+ },
6
+ "properties": [
7
+ {
8
+ "name": "image-animation",
9
+ "href": "https://drafts.csswg.org/css-image-animation-1/#propdef-image-animation",
10
+ "value": "normal | paused | running",
11
+ "initial": "normal",
12
+ "appliesTo": "content images and elements with decorative images",
13
+ "inherited": "yes",
14
+ "percentages": "n/a",
15
+ "computedValue": "as specified",
16
+ "canonicalOrder": "per grammar",
17
+ "animationType": "discrete",
18
+ "values": [
19
+ {
20
+ "name": "normal",
21
+ "prose": "The animation of animated images is run normally, as determined by the image format and the host language. Further, all animated images with the same absolute URL, the same image data, and with an image-animation computed value of normal' must be rendered synchronized to the same timeline as a group, with the timeline starting at the time of the least recent addition to the group.",
22
+ "href": "https://drafts.csswg.org/css-image-animation-1/#valdef-image-animation-normal",
23
+ "type": "value",
24
+ "value": "normal"
25
+ },
26
+ {
27
+ "name": "paused",
28
+ "prose": "Animated images are rendered as if they were static images: the user agent must not run any animation it contains.",
29
+ "href": "https://drafts.csswg.org/css-image-animation-1/#valdef-image-animation-paused",
30
+ "type": "value",
31
+ "value": "paused"
32
+ },
33
+ {
34
+ "name": "running",
35
+ "prose": "Like normal, the animation of animated images is run normally, as determined by the image format and the host language, However, animation timelines are scoped per element: among the content image and decorative images of a single element, any animated images with the same absolute URL, the same image data, and with an image-animation computed value of running must be rendered synchronized to the same timeline as a group, distinct from the timeline of images in other elements, with the timeline starting at the time of the least recent addition to the group.",
36
+ "href": "https://drafts.csswg.org/css-image-animation-1/#valdef-image-animation-running",
37
+ "type": "value",
38
+ "value": "running"
39
+ }
40
+ ],
41
+ "styleDeclaration": [
42
+ "image-animation",
43
+ "imageAnimation"
44
+ ]
45
+ }
46
+ ],
47
+ "atrules": [],
48
+ "selectors": [
49
+ {
50
+ "name": ":animated-image",
51
+ "prose": "The :animated-image pseudo-class represents content image elements where a animated image has been loaded. For the animated-image pseudo-class to match, the image must not only be in a format that is capable of animation, but must also be an actually animated image.",
52
+ "href": "https://drafts.csswg.org/css-image-animation-1/#selectordef-animated-image",
53
+ "value": ":animated-image"
54
+ }
55
+ ],
56
+ "values": []
57
+ }
package/css-mixins.json CHANGED
@@ -31,7 +31,7 @@
31
31
  "name": "@mixin",
32
32
  "href": "https://drafts.csswg.org/css-mixins-1/#at-ruledef-mixin",
33
33
  "descriptors": [],
34
- "value": "@mixin <function-token> <function-parameter>#? ) { <declaration-rule-list> }"
34
+ "value": "@mixin <function-token> <function-parameter>#? ) { <declaration-rule-list> } | @mixin <dashed-ident> { <declaration-rule-list> }"
35
35
  },
36
36
  {
37
37
  "name": "@result",
@@ -45,6 +45,11 @@
45
45
  "descriptors": [],
46
46
  "value": "@contents [ { <declaration-list> } ]?"
47
47
  },
48
+ {
49
+ "name": "@macro",
50
+ "href": "https://drafts.csswg.org/css-mixins-1/#macro-rule",
51
+ "descriptors": []
52
+ },
48
53
  {
49
54
  "name": "@apply",
50
55
  "href": "https://drafts.csswg.org/css-mixins-1/#at-ruledef-apply",
package/css-page.json CHANGED
@@ -228,6 +228,37 @@
228
228
  "value": "<length>"
229
229
  }
230
230
  ]
231
+ },
232
+ {
233
+ "name": "page-margin-safety",
234
+ "href": "https://drafts.csswg.org/css-page-3/#descdef-page-page-margin-safety",
235
+ "for": "@page",
236
+ "value": "none | clamp | add",
237
+ "initial": "auto",
238
+ "computedValue": "as specified",
239
+ "values": [
240
+ {
241
+ "name": "none",
242
+ "prose": "Margins are not affected by unprintable regions",
243
+ "href": "https://drafts.csswg.org/css-page-3/#valdef-page-page-margin-safety-none",
244
+ "type": "value",
245
+ "value": "none"
246
+ },
247
+ {
248
+ "name": "clamp",
249
+ "prose": "The used margin values will be the maximum of the resolved value, and <safe-printable-inset> for the given side.",
250
+ "href": "https://drafts.csswg.org/css-page-3/#valdef-page-page-margin-safety-clamp",
251
+ "type": "value",
252
+ "value": "clamp"
253
+ },
254
+ {
255
+ "name": "add",
256
+ "prose": "The used margin values will be the resolved value, plus <safe-printable-inset> for the given side.",
257
+ "href": "https://drafts.csswg.org/css-page-3/#valdef-page-page-margin-safety-add",
258
+ "type": "value",
259
+ "value": "add"
260
+ }
261
+ ]
231
262
  }
232
263
  ],
233
264
  "value": "@page <page-selector-list>? { <declaration-rule-list> }",
@@ -378,6 +409,12 @@
378
409
  "href": "https://drafts.csswg.org/css-page-3/#typedef-pseudo-page",
379
410
  "type": "type",
380
411
  "value": ": [ left | right | first | blank ]"
412
+ },
413
+ {
414
+ "name": "<safe-printable-inset>",
415
+ "prose": "Let this value be <safe-printable-inset>, which is a <length>.",
416
+ "href": "https://drafts.csswg.org/css-page-3/#typedef-safe-printable-inset",
417
+ "type": "type"
381
418
  }
382
419
  ]
383
420
  }
@@ -115,7 +115,7 @@
115
115
  {
116
116
  "name": "text-decoration-thickness",
117
117
  "href": "https://drafts.csswg.org/css-text-decor-4/#propdef-text-decoration-thickness",
118
- "value": "auto | from-font | <length-percentage>",
118
+ "value": "auto | from-font | <length-percentage> | <line-width>",
119
119
  "initial": "auto",
120
120
  "appliesTo": "all elements",
121
121
  "inherited": "no",
@@ -144,6 +144,13 @@
144
144
  "href": "https://drafts.csswg.org/css-text-decor-4/#valdef-text-decoration-thickness-length-percentage",
145
145
  "type": "value",
146
146
  "value": "<length-percentage>"
147
+ },
148
+ {
149
+ "name": "<line-width>",
150
+ "prose": "A length value specifies the thickness of text decoration lines as a fixed length. A percentage value specifies the thickness of text decoration lines as a percentage of 1em. The UA should round the actual value to the nearest integer device pixel, and ensure it is at least one device pixel.",
151
+ "href": "https://drafts.csswg.org/css-text-decor-4/#valdef-text-decoration-thickness-line-width",
152
+ "type": "value",
153
+ "value": "<line-width>"
147
154
  }
148
155
  ],
149
156
  "styleDeclaration": [
package/css-values.json CHANGED
@@ -742,6 +742,13 @@
742
742
  "href": "https://drafts.csswg.org/css-values-4/#valdef-rounding-strategy-to-zero",
743
743
  "type": "value",
744
744
  "value": "to-zero"
745
+ },
746
+ {
747
+ "name": "line-width",
748
+ "prose": "If A is non-negative and B is omitted, A is snapped as a border width. Otherwise, identical to nearest, except that if A is positive (non-zero) and one of lower B or upper B is zero, choose the non-zero one, then snap as a border width.",
749
+ "href": "https://drafts.csswg.org/css-values-4/#valdef-rounding-strategy-line-width",
750
+ "type": "value",
751
+ "value": "line-width"
745
752
  }
746
753
  ]
747
754
  },
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.24.0",
4
+ "version": "6.24.1",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/w3c/webref.git"