@webref/css 5.4.4 → 6.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. package/CHANGELOG.md +66 -0
  2. package/CSS.json +450 -21
  3. package/README.md +4 -4
  4. package/SVG.json +42 -35
  5. package/compat.json +111 -75
  6. package/compositing.json +101 -12
  7. package/css-align.json +300 -30
  8. package/css-anchor.json +177 -19
  9. package/css-animations-2.json +37 -15
  10. package/css-animations.json +155 -31
  11. package/css-backgrounds-4.json +107 -32
  12. package/css-backgrounds.json +426 -59
  13. package/css-box.json +243 -20
  14. package/css-break.json +292 -11
  15. package/css-cascade-6.json +22 -13
  16. package/css-cascade.json +50 -15
  17. package/css-color-5.json +320 -35
  18. package/css-color-adjust.json +75 -8
  19. package/css-color.json +1100 -61
  20. package/css-conditional-4.json +11 -6
  21. package/css-conditional-5.json +38 -19
  22. package/css-conditional.json +28 -15
  23. package/css-contain-3.json +101 -26
  24. package/css-contain.json +71 -6
  25. package/css-content.json +291 -30
  26. package/css-counter-styles.json +455 -18
  27. package/css-display.json +250 -19
  28. package/css-easing.json +137 -25
  29. package/css-env.json +61 -6
  30. package/css-exclusions.json +65 -6
  31. package/css-extensions.json +20 -12
  32. package/css-flexbox.json +132 -11
  33. package/css-fonts-5.json +255 -13
  34. package/css-fonts.json +886 -74
  35. package/css-gcpm-4.json +30 -5
  36. package/css-gcpm.json +76 -15
  37. package/css-grid-3.json +10 -9
  38. package/css-grid.json +442 -42
  39. package/css-highlight-api.json +13 -5
  40. package/css-images-4.json +221 -68
  41. package/css-images-5.json +40 -0
  42. package/css-images.json +278 -33
  43. package/css-inline.json +525 -16
  44. package/css-layout-api.json +20 -0
  45. package/css-line-grid.json +80 -7
  46. package/css-lists.json +176 -21
  47. package/css-logical.json +125 -50
  48. package/css-masking.json +330 -47
  49. package/css-multicol-2.json +32 -5
  50. package/css-multicol.json +84 -13
  51. package/css-namespaces.json +15 -10
  52. package/css-nav.json +63 -7
  53. package/css-nesting.json +15 -0
  54. package/css-overflow-4.json +83 -10
  55. package/css-overflow.json +239 -18
  56. package/css-overscroll.json +110 -9
  57. package/css-page-floats.json +188 -16
  58. package/css-page.json +262 -67
  59. package/css-paint-api.json +8 -5
  60. package/css-position.json +269 -16
  61. package/css-properties-values-api.json +9 -7
  62. package/css-pseudo.json +67 -0
  63. package/css-regions.json +8 -7
  64. package/css-rhythm.json +69 -10
  65. package/css-round-display.json +47 -10
  66. package/css-ruby.json +137 -8
  67. package/css-scoping.json +27 -0
  68. package/css-scroll-anchoring.json +20 -5
  69. package/css-scroll-snap-2.json +272 -10
  70. package/css-scroll-snap.json +218 -29
  71. package/css-scrollbars.json +41 -6
  72. package/css-shadow-parts.json +8 -5
  73. package/css-shapes-2.json +190 -43
  74. package/css-shapes.json +130 -36
  75. package/css-size-adjust.json +26 -5
  76. package/css-sizing-4.json +404 -23
  77. package/css-sizing.json +231 -12
  78. package/css-speech.json +619 -35
  79. package/css-syntax.json +193 -92
  80. package/css-tables.json +10 -9
  81. package/css-text-4.json +800 -40
  82. package/css-text-decor-4.json +394 -23
  83. package/css-text-decor.json +159 -14
  84. package/css-text.json +371 -20
  85. package/css-transforms-2.json +177 -40
  86. package/css-transforms.json +137 -45
  87. package/css-transitions.json +33 -14
  88. package/css-ui.json +437 -42
  89. package/css-values-5.json +99 -14
  90. package/css-values.json +654 -146
  91. package/css-variables.json +12 -7
  92. package/css-view-transitions.json +45 -7
  93. package/css-will-change.json +36 -7
  94. package/css-writing-modes.json +141 -10
  95. package/fill-stroke.json +290 -35
  96. package/filter-effects-2.json +6 -5
  97. package/filter-effects.json +109 -45
  98. package/fullscreen.json +15 -0
  99. package/mathml-core.json +10 -9
  100. package/mediaqueries-5.json +505 -52
  101. package/mediaqueries.json +307 -40
  102. package/motion.json +99 -16
  103. package/package.json +1 -1
  104. package/scroll-animations.json +225 -24
  105. package/selectors.json +368 -30
  106. package/svg-strokes.json +8 -7
  107. package/upgrade-insecure-requests.json +26 -0
  108. package/html.json +0 -19
package/mediaqueries.json CHANGED
@@ -3,9 +3,10 @@
3
3
  "title": "Media Queries Level 4",
4
4
  "url": "https://drafts.csswg.org/mediaqueries-4/"
5
5
  },
6
- "properties": {},
7
- "atrules": {
8
- "@media": {
6
+ "properties": [],
7
+ "atrules": [
8
+ {
9
+ "name": "@media",
9
10
  "descriptors": [
10
11
  {
11
12
  "name": "width",
@@ -29,19 +30,55 @@
29
30
  "name": "orientation",
30
31
  "for": "@media",
31
32
  "value": "portrait | landscape",
32
- "type": "discrete"
33
+ "type": "discrete",
34
+ "values": [
35
+ {
36
+ "name": "portrait",
37
+ "prose": "The orientation media feature is portrait when the value of the height media feature is greater than or equal to the value of the width media feature.",
38
+ "type": "value",
39
+ "value": "portrait"
40
+ },
41
+ {
42
+ "name": "landscape",
43
+ "prose": "Otherwise orientation is landscape.",
44
+ "type": "value",
45
+ "value": "landscape"
46
+ }
47
+ ]
33
48
  },
34
49
  {
35
50
  "name": "resolution",
36
51
  "for": "@media",
37
52
  "value": "<resolution> | infinite",
38
- "type": "range"
53
+ "type": "range",
54
+ "values": [
55
+ {
56
+ "name": "infinite",
57
+ "prose": "For output mediums that have no physical constraints on resolution (such as outputting to vector graphics), this feature must match the infinite value. For the purpose of evaluating this media feature in the range context, infinite must be treated as larger than any possible <resolution>. (That is, a query like (resolution > 1000dpi) will be true for an infinite media.)",
58
+ "type": "value",
59
+ "value": "infinite"
60
+ }
61
+ ]
39
62
  },
40
63
  {
41
64
  "name": "scan",
42
65
  "for": "@media",
43
66
  "value": "interlace | progressive",
44
- "type": "discrete"
67
+ "type": "discrete",
68
+ "values": [
69
+ {
70
+ "name": "interlace",
71
+ "prose": "CRT and some types of plasma TV screens used “interlaced” rendering, where video frames alternated between specifying only the “even” lines on the screen and only the “odd” lines, exploiting various automatic mental image-correction abilities to produce smooth motion. This allowed them to simulate a higher FPS broadcast at half the bandwidth cost. When displaying on interlaced screens, authors should avoid very fast movement across the screen to avoid “combing”, and should ensure that details on the screen are wider than 1px to avoid “twitter”.",
72
+ "type": "value",
73
+ "value": "interlace"
74
+ },
75
+ {
76
+ "name": "progressive",
77
+ "prose": "A screen using “progressive” rendering displays each screen fully, and needs no special treatment. Most modern screens, and all computer screens, use progressive rendering.",
78
+ "type": "value",
79
+ "value": "progressive"
80
+ }
81
+ ]
45
82
  },
46
83
  {
47
84
  "name": "grid",
@@ -53,19 +90,73 @@
53
90
  "name": "update",
54
91
  "for": "@media",
55
92
  "value": "none | slow | fast",
56
- "type": "discrete"
93
+ "type": "discrete",
94
+ "values": [
95
+ {
96
+ "name": "none",
97
+ "prose": "Once it has been rendered, the layout can no longer be updated. Example: documents printed on paper.",
98
+ "type": "value",
99
+ "value": "none"
100
+ },
101
+ {
102
+ "name": "slow",
103
+ "prose": "The layout may change dynamically according to the usual rules of CSS, but the output device is not able to render or display changes quickly enough for them to be perceived as a smooth animation. Example: E-ink screens or severely under-powered devices.",
104
+ "type": "value",
105
+ "value": "slow"
106
+ },
107
+ {
108
+ "name": "fast",
109
+ "prose": "The layout may change dynamically according to the usual rules of CSS, and the output device is not unusually constrained in speed, so regularly-updating things like CSS Animations can be used. Example: computer screens.",
110
+ "type": "value",
111
+ "value": "fast"
112
+ }
113
+ ]
57
114
  },
58
115
  {
59
116
  "name": "overflow-block",
60
117
  "for": "@media",
61
118
  "value": "none | scroll | paged",
62
- "type": "discrete"
119
+ "type": "discrete",
120
+ "values": [
121
+ {
122
+ "name": "none",
123
+ "prose": "There is no affordance for overflow in the block axis; any overflowing content is simply not displayed. Examples: billboards",
124
+ "type": "value",
125
+ "value": "none"
126
+ },
127
+ {
128
+ "name": "scroll",
129
+ "prose": "Overflowing content in the block axis is exposed by allowing users to scroll to it. Examples: computer screens",
130
+ "type": "value",
131
+ "value": "scroll"
132
+ },
133
+ {
134
+ "name": "paged",
135
+ "prose": "Content is broken up into discrete pages; content that overflows one page in the block axis is displayed on the following page. Examples: printers, ebook readers",
136
+ "type": "value",
137
+ "value": "paged"
138
+ }
139
+ ]
63
140
  },
64
141
  {
65
142
  "name": "overflow-inline",
66
143
  "for": "@media",
67
144
  "value": "none | scroll",
68
- "type": "discrete"
145
+ "type": "discrete",
146
+ "values": [
147
+ {
148
+ "name": "none",
149
+ "prose": "There is no affordance for overflow in the inline axis; any overflowing content is simply not displayed.",
150
+ "type": "value",
151
+ "value": "none"
152
+ },
153
+ {
154
+ "name": "scroll",
155
+ "prose": "Overflowing content in the inline axis is exposed by allowing users to scroll to it.",
156
+ "type": "value",
157
+ "value": "scroll"
158
+ }
159
+ ]
69
160
  },
70
161
  {
71
162
  "name": "color",
@@ -89,19 +180,73 @@
89
180
  "name": "color-gamut",
90
181
  "for": "@media",
91
182
  "value": "srgb | p3 | rec2020",
92
- "type": "discrete"
183
+ "type": "discrete",
184
+ "values": [
185
+ {
186
+ "name": "srgb",
187
+ "prose": "The UA and output device can support approximately the sRGB gamut or more.",
188
+ "type": "value",
189
+ "value": "srgb"
190
+ },
191
+ {
192
+ "name": "p3",
193
+ "prose": "The UA and output device can support approximately the gamut specified by the Display P3 [Display-P3] Color Space or more.",
194
+ "type": "value",
195
+ "value": "p3"
196
+ },
197
+ {
198
+ "name": "rec2020",
199
+ "prose": "The UA and output device can support approximately the gamut specified by the ITU-R Recommendation BT.2020 Color Space or more.",
200
+ "type": "value",
201
+ "value": "rec2020"
202
+ }
203
+ ]
93
204
  },
94
205
  {
95
206
  "name": "pointer",
96
207
  "for": "@media",
97
208
  "value": "none | coarse | fine",
98
- "type": "discrete"
209
+ "type": "discrete",
210
+ "values": [
211
+ {
212
+ "name": "none",
213
+ "prose": "The primary input mechanism of the device does not include a pointing device.",
214
+ "type": "value",
215
+ "value": "none"
216
+ },
217
+ {
218
+ "name": "coarse",
219
+ "prose": "The primary input mechanism of the device includes a pointing device of limited accuracy. Examples include touchscreens and motion-detection sensors (like the Kinect peripheral for the Xbox.)",
220
+ "type": "value",
221
+ "value": "coarse"
222
+ },
223
+ {
224
+ "name": "fine",
225
+ "prose": "The primary input mechanism of the device includes an accurate pointing device. Examples include mice, touchpads, and drawing styluses.",
226
+ "type": "value",
227
+ "value": "fine"
228
+ }
229
+ ]
99
230
  },
100
231
  {
101
232
  "name": "hover",
102
233
  "for": "@media",
103
234
  "value": "none | hover",
104
- "type": "discrete"
235
+ "type": "discrete",
236
+ "values": [
237
+ {
238
+ "name": "none",
239
+ "prose": "Indicates that the primary pointing device can’t hover, or that there is no pointing device. Examples include touchscreens and screens that use a basic drawing stylus. Pointing devices that can hover, but for which doing so is inconvenient and not part of the normal way they are used, also match this value. For example, a touchscreen where a long press is treated as hovering would match hover: none.",
240
+ "type": "value",
241
+ "value": "none"
242
+ },
243
+ {
244
+ "name": "hover",
245
+ "prose": "Indicates that the primary pointing device can easily hover over parts of the page. Examples include mice and devices that physically point at the screen, like the Nintendo Wii controller.",
246
+ "type": "value",
247
+ "value": "hover"
248
+ }
249
+ ]
105
250
  },
106
251
  {
107
252
  "name": "any-pointer",
@@ -133,73 +278,195 @@
133
278
  "value": "<ratio>",
134
279
  "type": "range"
135
280
  }
281
+ ],
282
+ "values": [
283
+ {
284
+ "name": "not",
285
+ "prose": "An individual media query can have its result negated by prefixing it with the keyword not. If the media query would normally evaluate to true, prefixing it with not makes it evaluate to false, and vice versa.",
286
+ "type": "value",
287
+ "value": "not"
288
+ },
289
+ {
290
+ "name": "only",
291
+ "prose": "To hide these media queries from legacy user agents, the media query can be prefixed with the keyword only. The only keyword has no effect on the media query’s result, but will cause the media query to be parsed by legacy user agents as specifying the unknown media type “only”, and thus be ignored.",
292
+ "type": "value",
293
+ "value": "only"
294
+ },
295
+ {
296
+ "name": "all",
297
+ "prose": "Matches all devices.",
298
+ "type": "value",
299
+ "value": "all"
300
+ },
301
+ {
302
+ "name": "print",
303
+ "prose": "Matches printers, and devices intended to reproduce a printed display, such as a web browser showing a document in “Print Preview”.",
304
+ "type": "value",
305
+ "value": "print"
306
+ },
307
+ {
308
+ "name": "screen",
309
+ "prose": "Matches all devices that aren’t matched by print.",
310
+ "type": "value",
311
+ "value": "screen"
312
+ },
313
+ {
314
+ "name": "tty",
315
+ "type": "value",
316
+ "value": "tty"
317
+ },
318
+ {
319
+ "name": "tv",
320
+ "type": "value",
321
+ "value": "tv"
322
+ },
323
+ {
324
+ "name": "projection",
325
+ "type": "value",
326
+ "value": "projection"
327
+ },
328
+ {
329
+ "name": "handheld",
330
+ "type": "value",
331
+ "value": "handheld"
332
+ },
333
+ {
334
+ "name": "braille",
335
+ "type": "value",
336
+ "value": "braille"
337
+ },
338
+ {
339
+ "name": "embossed",
340
+ "type": "value",
341
+ "value": "embossed"
342
+ },
343
+ {
344
+ "name": "aural",
345
+ "type": "value",
346
+ "value": "aural"
347
+ },
348
+ {
349
+ "name": "speech",
350
+ "type": "value",
351
+ "value": "speech"
352
+ }
136
353
  ]
137
354
  }
138
- },
139
- "valuespaces": {
140
- "<media-query-list>": {
141
- "prose": "To parse a <media-query-list> production, parse a comma-separated list of component values, then parse each entry in the returned list as a <media-query>. Its value is the list of <media-query>s so produced."
142
- },
143
- "<mq-boolean>": {
144
- "prose": "The <mq-boolean> value type is an <integer> with the value 0 or 1. Any other integer value is invalid. Note that -0 is always equivalent to 0 in CSS, and so is also accepted as a valid <mq-boolean> value.",
145
- "value": "<integer [0,1]>"
355
+ ],
356
+ "selectors": [],
357
+ "values": [
358
+ {
359
+ "name": "<media-query-list>",
360
+ "prose": "To parse a <media-query-list> production, parse a comma-separated list of component values, then parse each entry in the returned list as a <media-query>. Its value is the list of <media-query>s so produced.",
361
+ "type": "type"
146
362
  },
147
- "<media-query>": {
363
+ {
364
+ "name": "<media-query>",
365
+ "type": "type",
148
366
  "value": "<media-condition> | [ not | only ]? <media-type> [ and <media-condition-without-or> ]?"
149
367
  },
150
- "<media-type>": {
368
+ {
369
+ "name": "<media-type>",
370
+ "type": "type",
151
371
  "value": "<ident>"
152
372
  },
153
- "<media-condition>": {
373
+ {
374
+ "name": "<media-condition>",
375
+ "type": "type",
154
376
  "value": "<media-not> | <media-in-parens> [ <media-and>* | <media-or>* ]"
155
377
  },
156
- "<media-condition-without-or>": {
378
+ {
379
+ "name": "<media-condition-without-or>",
380
+ "type": "type",
157
381
  "value": "<media-not> | <media-in-parens> <media-and>*"
158
382
  },
159
- "<media-not>": {
383
+ {
384
+ "name": "<media-not>",
385
+ "type": "type",
160
386
  "value": "not <media-in-parens>"
161
387
  },
162
- "<media-and>": {
388
+ {
389
+ "name": "<media-and>",
390
+ "type": "type",
163
391
  "value": "and <media-in-parens>"
164
392
  },
165
- "<media-or>": {
393
+ {
394
+ "name": "<media-or>",
395
+ "type": "type",
166
396
  "value": "or <media-in-parens>"
167
397
  },
168
- "<media-in-parens>": {
398
+ {
399
+ "name": "<media-in-parens>",
400
+ "type": "type",
169
401
  "value": "( <media-condition> ) | ( <media-feature> ) | <general-enclosed>"
170
402
  },
171
- "<media-feature>": {
403
+ {
404
+ "name": "<media-feature>",
405
+ "type": "type",
172
406
  "value": "[ <mf-plain> | <mf-boolean> | <mf-range> ]"
173
407
  },
174
- "<mf-plain>": {
408
+ {
409
+ "name": "<mf-plain>",
410
+ "type": "type",
175
411
  "value": "<mf-name> : <mf-value>"
176
412
  },
177
- "<mf-boolean>": {
413
+ {
414
+ "name": "<mf-boolean>",
415
+ "type": "type",
178
416
  "value": "<mf-name>"
179
417
  },
180
- "<mf-range>": {
418
+ {
419
+ "name": "<mf-range>",
420
+ "type": "type",
181
421
  "value": "<mf-name> <mf-comparison> <mf-value> | <mf-value> <mf-comparison> <mf-name> | <mf-value> <mf-lt> <mf-name> <mf-lt> <mf-value> | <mf-value> <mf-gt> <mf-name> <mf-gt> <mf-value>"
182
422
  },
183
- "<mf-name>": {
423
+ {
424
+ "name": "<mf-name>",
425
+ "type": "type",
184
426
  "value": "<ident>"
185
427
  },
186
- "<mf-value>": {
428
+ {
429
+ "name": "<mf-value>",
430
+ "type": "type",
187
431
  "value": "<number> | <dimension> | <ident> | <ratio>"
188
432
  },
189
- "<mf-lt>": {
433
+ {
434
+ "name": "<mf-lt>",
435
+ "type": "type",
190
436
  "value": "'<' '='?"
191
437
  },
192
- "<mf-gt>": {
438
+ {
439
+ "name": "<mf-gt>",
440
+ "type": "type",
193
441
  "value": "'>' '='?"
194
442
  },
195
- "<mf-eq>": {
443
+ {
444
+ "name": "<mf-eq>",
445
+ "type": "type",
196
446
  "value": "'='"
197
447
  },
198
- "<mf-comparison>": {
448
+ {
449
+ "name": "<mf-comparison>",
450
+ "type": "type",
199
451
  "value": "<mf-lt> | <mf-gt> | <mf-eq>"
200
452
  },
201
- "<general-enclosed>": {
453
+ {
454
+ "name": "<general-enclosed>",
455
+ "type": "type",
202
456
  "value": "[ <function-token> <any-value>? ) ] | [ ( <any-value>? ) ]"
457
+ },
458
+ {
459
+ "name": "<mq-boolean>",
460
+ "type": "type",
461
+ "value": "<integer [0,1]>"
462
+ }
463
+ ],
464
+ "warnings": [
465
+ {
466
+ "msg": "Duplicate definition",
467
+ "name": "<mq-boolean>",
468
+ "prose": "The <mq-boolean> value type is an <integer> with the value 0 or 1. Any other integer value is invalid. Note that -0 is always equivalent to 0 in CSS, and so is also accepted as a valid <mq-boolean> value.",
469
+ "type": "type"
203
470
  }
204
- }
471
+ ]
205
472
  }
package/motion.json CHANGED
@@ -3,8 +3,8 @@
3
3
  "title": "Motion Path Module Level 1",
4
4
  "url": "https://drafts.fxtf.org/motion-1/"
5
5
  },
6
- "properties": {
7
- "offset-path": {
6
+ "properties": [
7
+ {
8
8
  "name": "offset-path",
9
9
  "value": "none | <ray()> | <path()> | <url> | [ <basic-shape> && <coord-box>? ] | <coord-box>",
10
10
  "initial": "none",
@@ -15,12 +15,77 @@
15
15
  "canonicalOrder": "per grammar",
16
16
  "animationType": "by computed value",
17
17
  "media": "visual",
18
+ "values": [
19
+ {
20
+ "name": "ray()",
21
+ "value": "ray( [ <angle> && <size> && contain? ] )",
22
+ "type": "function",
23
+ "values": [
24
+ {
25
+ "name": "<angle>",
26
+ "prose": "The offset path is a line segment that starts from the position of the box and proceeds in the direction defined by the specified <angle>. As with CSS gradients, <angle> values are interpreted as bearing angles, with 0deg pointing up and positive angles representing clockwise rotation.",
27
+ "type": "value",
28
+ "value": "<angle>"
29
+ },
30
+ {
31
+ "name": "<size>",
32
+ "prose": "Decides the path length used when offset-distance is expressed as a percentage, using the distance to the containing box. For <size> values other than sides, the path length is independent of <angle>. It is defined as: <size> = [ closest-side | closest-corner | farthest-side | farthest-corner | sides ]",
33
+ "type": "value",
34
+ "value": "<size>",
35
+ "values": [
36
+ {
37
+ "name": "closest-side",
38
+ "prose": "The perpendicular distance is measured between the initial position and the closest side of the box from it.",
39
+ "type": "value",
40
+ "value": "closest-side"
41
+ },
42
+ {
43
+ "name": "closest-corner",
44
+ "prose": "The distance is measured between the initial position and the closest corner of the box from it.",
45
+ "type": "value",
46
+ "value": "closest-corner"
47
+ },
48
+ {
49
+ "name": "farthest-side",
50
+ "prose": "The perpendicular distance is measured between the initial position and the farthest side of the box from it.",
51
+ "type": "value",
52
+ "value": "farthest-side"
53
+ },
54
+ {
55
+ "name": "farthest-corner",
56
+ "prose": "The distance is measured between the initial position and the farthest corner of the box from it.",
57
+ "type": "value",
58
+ "value": "farthest-corner"
59
+ },
60
+ {
61
+ "name": "sides",
62
+ "prose": "The distance is measured between the initial position and the intersection of the ray with the box. If the initial position is not within the box, the distance is 0.",
63
+ "type": "value",
64
+ "value": "sides"
65
+ }
66
+ ]
67
+ },
68
+ {
69
+ "name": "contain",
70
+ "prose": "The used value of offset-distance is clamped so that the box is entirely contained within the path. If no offset-distance would lead to the box being enclosed by the path, the path size is minimally increased so that such an offset-distance exists.",
71
+ "type": "value",
72
+ "value": "contain"
73
+ }
74
+ ]
75
+ },
76
+ {
77
+ "name": "none",
78
+ "prose": "No offset path gets created. When offset-path is none, offset-distance and offset-rotate have no effect.",
79
+ "type": "value",
80
+ "value": "none"
81
+ }
82
+ ],
18
83
  "styleDeclaration": [
19
84
  "offset-path",
20
85
  "offsetPath"
21
86
  ]
22
87
  },
23
- "offset-distance": {
88
+ {
24
89
  "name": "offset-distance",
25
90
  "value": "<length-percentage>",
26
91
  "initial": "0",
@@ -36,7 +101,7 @@
36
101
  "offsetDistance"
37
102
  ]
38
103
  },
39
- "offset-position": {
104
+ {
40
105
  "name": "offset-position",
41
106
  "value": "auto | <position>",
42
107
  "initial": "auto",
@@ -52,7 +117,7 @@
52
117
  "offsetPosition"
53
118
  ]
54
119
  },
55
- "offset-anchor": {
120
+ {
56
121
  "name": "offset-anchor",
57
122
  "value": "auto | <position>",
58
123
  "initial": "auto",
@@ -68,7 +133,7 @@
68
133
  "offsetAnchor"
69
134
  ]
70
135
  },
71
- "offset-rotate": {
136
+ {
72
137
  "name": "offset-rotate",
73
138
  "value": "[ auto | reverse ] || <angle>",
74
139
  "initial": "auto",
@@ -79,12 +144,26 @@
79
144
  "canonicalOrder": "per grammar",
80
145
  "animationType": "by computed value",
81
146
  "media": "visual",
147
+ "values": [
148
+ {
149
+ "name": "auto",
150
+ "prose": "Indicates that the object is rotated (over time if offset-distance is animated) by the angle of the direction (i.e., directional tangent vector) of the offset path, relative to the positive x-axis. If specified in combination with <angle>, the computed value of <angle> is added to the computed value of auto.",
151
+ "type": "value",
152
+ "value": "auto"
153
+ },
154
+ {
155
+ "name": "reverse",
156
+ "prose": "Indicates that the object is rotated (over time if offset-distance is animated) by the angle of the direction (i.e., directional tangent vector) of the offset path, relative to the positive x-axis, plus 180 degrees. If specified in combination with <angle>, the computed value of <angle> is added to the computed value of reverse.",
157
+ "type": "value",
158
+ "value": "reverse"
159
+ }
160
+ ],
82
161
  "styleDeclaration": [
83
162
  "offset-rotate",
84
163
  "offsetRotate"
85
164
  ]
86
165
  },
87
- "offset": {
166
+ {
88
167
  "name": "offset",
89
168
  "value": "[ <'offset-position'>? [ <'offset-path'> [ <'offset-distance'> || <'offset-rotate'> ]? ]? ]! [ / <'offset-anchor'> ]?",
90
169
  "initial": "see individual properties",
@@ -98,14 +177,18 @@
98
177
  "offset"
99
178
  ]
100
179
  }
101
- },
102
- "atrules": {},
103
- "valuespaces": {
104
- "<ray()>": {
105
- "value": "ray( [ <angle> && <size> && contain? ] )"
106
- },
107
- "<path()>": {
108
- "value": "path( <string> )"
180
+ ],
181
+ "atrules": [],
182
+ "selectors": [],
183
+ "values": [],
184
+ "warnings": [
185
+ {
186
+ "msg": "Dangling value",
187
+ "name": "path()",
188
+ "value": "path( <string> )",
189
+ "pureSyntax": true,
190
+ "type": "function",
191
+ "for": "offsetpath-pathfunc"
109
192
  }
110
- }
193
+ ]
111
194
  }
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": "5.4.4",
4
+ "version": "6.1.0",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/w3c/webref.git"