@webref/css 6.6.2 → 6.7.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.
@@ -167,7 +167,7 @@
167
167
  "values": [
168
168
  {
169
169
  "name": "<counter-style-name>",
170
- "prose": "<counter-style-name> is a <custom-ident> that is not an ASCII case-insensitive match for none. When used here, to define a counter style, it also cannot be any of the non-overrideable counter-style names (in other uses that merely reference a counter style, such as the extend system, these are allowed). The <counter-style-name> is a tree-scoped name.",
170
+ "prose": "<counter-style-name> is a <custom-ident> that is not an ASCII case-insensitive match for none. When used here, to define a counter style, it also cannot be any of the non-overridable counter-style names (in other uses that merely reference a counter style, such as the extend system, these are allowed). The <counter-style-name> is a tree-scoped name.",
171
171
  "type": "type",
172
172
  "values": [
173
173
  {
package/css-display.json CHANGED
@@ -73,7 +73,7 @@
73
73
  "values": [
74
74
  {
75
75
  "name": "<integer>",
76
- "prose": "The reading-order property controls the order in which elements are rendered to speech or are navigated to when using (linear) sequention navigation methods. It takes a single <integer> value, which specifies which ordinal group the item belongs to. Sibling elements are ordered starting from the lowest numbered ordinal group and going up; elements with the same ordinal group are keep the order they appear in the source document.",
76
+ "prose": "The reading-order property controls the order in which elements are rendered to speech or are navigated to when using (linear) sequential navigation methods. It takes a single <integer> value, which specifies which ordinal group the item belongs to. Sibling elements are ordered starting from the lowest numbered ordinal group and going up; elements with the same ordinal group are keep the order they appear in the source document.",
77
77
  "type": "value",
78
78
  "value": "<integer>"
79
79
  }
package/css-fonts.json CHANGED
@@ -378,10 +378,39 @@
378
378
  "fontSynthesisSmallCaps"
379
379
  ]
380
380
  },
381
+ {
382
+ "name": "font-synthesis-position",
383
+ "value": "auto | none",
384
+ "initial": "auto",
385
+ "appliesTo": "all elements and text",
386
+ "inherited": "yes",
387
+ "percentages": "N/A",
388
+ "computedValue": "specified keyword",
389
+ "canonicalOrder": "per grammar",
390
+ "animationType": "discrete",
391
+ "values": [
392
+ {
393
+ "name": "auto",
394
+ "prose": "Synthesis of superscript and subscript forms is required",
395
+ "type": "value",
396
+ "value": "auto"
397
+ },
398
+ {
399
+ "name": "none",
400
+ "prose": "Synthesis of superscript and subscript forms is not allowed",
401
+ "type": "value",
402
+ "value": "none"
403
+ }
404
+ ],
405
+ "styleDeclaration": [
406
+ "font-synthesis-position",
407
+ "fontSynthesisPosition"
408
+ ]
409
+ },
381
410
  {
382
411
  "name": "font-synthesis",
383
- "value": "none | [ weight || style || small-caps]",
384
- "initial": "weight style small-caps",
412
+ "value": "none | [ weight || style || small-caps || position]",
413
+ "initial": "weight style small-caps position",
385
414
  "appliesTo": "all elements and text",
386
415
  "inherited": "yes",
387
416
  "percentages": "N/A",
package/css-grid-3.json CHANGED
@@ -11,8 +11,8 @@
11
11
  "appliesTo": "grid containers",
12
12
  "inherited": "no",
13
13
  "percentages": "refer to corresponding dimension of the content area",
14
- "computedValue": "the keyword none or the keyword masonry or a computed track list",
15
- "animationType": "see CSS Grid",
14
+ "computedValue": "the keyword none or the keyword masonry or a [[computed track list]]",
15
+ "animationType": "see CSS Grid Level 2",
16
16
  "styleDeclaration": [
17
17
  "grid-template-columns",
18
18
  "gridTemplateColumns"
@@ -25,8 +25,8 @@
25
25
  "appliesTo": "grid containers",
26
26
  "inherited": "no",
27
27
  "percentages": "refer to corresponding dimension of the content area",
28
- "computedValue": "the keyword none or the keyword masonry or a computed track list",
29
- "animationType": "see CSS Grid",
28
+ "computedValue": "the keyword none or the keyword masonry or a [[computed track list]]",
29
+ "animationType": "see CSS Grid Level 2",
30
30
  "styleDeclaration": [
31
31
  "grid-template-rows",
32
32
  "gridTemplateRows"
package/css-grid.json CHANGED
@@ -29,7 +29,7 @@
29
29
  },
30
30
  {
31
31
  "name": "subgrid <line-name-list>?",
32
- "prose": "The subgrid value indicates that the grid will adopt the spanned portion of its parent grid in that axis (the subgridded axis). Rather than being specified explicitly, the sizes of the grid rows/columns will be taken from the parent grid's definition, and the subgrid’s items will participate in the intrinsic size calculations (CSS Grid Layout 1 § 11.5 Resolve Intrinsic Track Sizes) of any tracks shared with the parent grid. Essentially, subgrids provide the ability to pass grid parameters down through nested elements, and content-based sizing information back up to their parent grid. The <line-name-list> argument allows local naming of the grid lines shared with the parent grid: if a <line-name-list> is given, the specified <line-names>s are assigned to the lines of the subgrid’s explicit grid, one per line, starting with line 1. Excess <line-names> are ignored. If there is no parent grid, or if the grid container is otherwised forced to establish an independent formatting context (for example, due to layout containment [CSS-CONTAIN-2] or absolute positioning [CSS-POSITION-3]), the used value is the initial value, none, and the grid container is not a subgrid. An axis that is not subgridded is a standalone axis.",
32
+ "prose": "The subgrid value indicates that the grid will adopt the spanned portion of its parent grid in that axis (the subgridded axis). Rather than being specified explicitly, the sizes of the grid rows/columns will be taken from the parent grid's definition, and the subgrid’s items will participate in the intrinsic size calculations (CSS Grid Layout 1 § 11.5 Resolve Intrinsic Track Sizes) of any tracks shared with the parent grid. Essentially, subgrids provide the ability to pass grid parameters down through nested elements, and content-based sizing information back up to their parent grid. The <line-name-list> argument allows local naming of the grid lines shared with the parent grid: if a <line-name-list> is given, the specified <line-names>s are assigned to the lines of the subgrid’s explicit grid, one per line, starting with line 1. Excess <line-names> are ignored. If there is no parent grid, or if the grid container is otherwise forced to establish an independent formatting context (for example, due to layout containment [CSS-CONTAIN-2] or absolute positioning [CSS-POSITION-3]), the used value is the initial value, none, and the grid container is not a subgrid. An axis that is not subgridded is a standalone axis.",
33
33
  "type": "value",
34
34
  "value": "subgrid <line-name-list>?"
35
35
  },
@@ -52,8 +52,8 @@
52
52
  },
53
53
  {
54
54
  "name": "minmax()",
55
- "value": "minmax()",
56
- "type": "value"
55
+ "value": "minmax(min, max)",
56
+ "type": "function"
57
57
  },
58
58
  {
59
59
  "name": "auto",
@@ -75,8 +75,8 @@
75
75
  },
76
76
  {
77
77
  "name": "fit-content()",
78
- "value": "fit-content()",
79
- "type": "value"
78
+ "value": "fit-content( <length-percentage> )",
79
+ "type": "function"
80
80
  }
81
81
  ],
82
82
  "styleDeclaration": [
@@ -109,7 +109,7 @@
109
109
  },
110
110
  {
111
111
  "name": "subgrid <line-name-list>?",
112
- "prose": "The subgrid value indicates that the grid will adopt the spanned portion of its parent grid in that axis (the subgridded axis). Rather than being specified explicitly, the sizes of the grid rows/columns will be taken from the parent grid's definition, and the subgrid’s items will participate in the intrinsic size calculations (CSS Grid Layout 1 § 11.5 Resolve Intrinsic Track Sizes) of any tracks shared with the parent grid. Essentially, subgrids provide the ability to pass grid parameters down through nested elements, and content-based sizing information back up to their parent grid. The <line-name-list> argument allows local naming of the grid lines shared with the parent grid: if a <line-name-list> is given, the specified <line-names>s are assigned to the lines of the subgrid’s explicit grid, one per line, starting with line 1. Excess <line-names> are ignored. If there is no parent grid, or if the grid container is otherwised forced to establish an independent formatting context (for example, due to layout containment [CSS-CONTAIN-2] or absolute positioning [CSS-POSITION-3]), the used value is the initial value, none, and the grid container is not a subgrid. An axis that is not subgridded is a standalone axis.",
112
+ "prose": "The subgrid value indicates that the grid will adopt the spanned portion of its parent grid in that axis (the subgridded axis). Rather than being specified explicitly, the sizes of the grid rows/columns will be taken from the parent grid's definition, and the subgrid’s items will participate in the intrinsic size calculations (CSS Grid Layout 1 § 11.5 Resolve Intrinsic Track Sizes) of any tracks shared with the parent grid. Essentially, subgrids provide the ability to pass grid parameters down through nested elements, and content-based sizing information back up to their parent grid. The <line-name-list> argument allows local naming of the grid lines shared with the parent grid: if a <line-name-list> is given, the specified <line-names>s are assigned to the lines of the subgrid’s explicit grid, one per line, starting with line 1. Excess <line-names> are ignored. If there is no parent grid, or if the grid container is otherwise forced to establish an independent formatting context (for example, due to layout containment [CSS-CONTAIN-2] or absolute positioning [CSS-POSITION-3]), the used value is the initial value, none, and the grid container is not a subgrid. An axis that is not subgridded is a standalone axis.",
113
113
  "type": "value",
114
114
  "value": "subgrid <line-name-list>?"
115
115
  },
@@ -132,8 +132,8 @@
132
132
  },
133
133
  {
134
134
  "name": "minmax()",
135
- "value": "minmax()",
136
- "type": "value"
135
+ "value": "minmax(min, max)",
136
+ "type": "function"
137
137
  },
138
138
  {
139
139
  "name": "auto",
@@ -155,8 +155,8 @@
155
155
  },
156
156
  {
157
157
  "name": "fit-content()",
158
- "value": "fit-content()",
159
- "type": "value"
158
+ "value": "fit-content( <length-percentage> )",
159
+ "type": "function"
160
160
  }
161
161
  ],
162
162
  "styleDeclaration": [
package/css-images-4.json CHANGED
@@ -227,7 +227,7 @@
227
227
  {
228
228
  "name": "<linear-color-stop>",
229
229
  "type": "type",
230
- "value": "<color> && <color-stop-length>?"
230
+ "value": "<color> <color-stop-length>?"
231
231
  },
232
232
  {
233
233
  "name": "<linear-color-hint>",
@@ -247,7 +247,7 @@
247
247
  {
248
248
  "name": "<angular-color-stop>",
249
249
  "type": "type",
250
- "value": "<color> && <color-stop-angle>?"
250
+ "value": "<color> <color-stop-angle>?"
251
251
  },
252
252
  {
253
253
  "name": "<angular-color-hint>",
@@ -298,7 +298,7 @@
298
298
  },
299
299
  {
300
300
  "name": "<color-stripe>",
301
- "prose": "Each <color-stripe> entry defines a solid-color stripe with the specified <color> and thickness. If the thickness is omitted, it defaults to 1fr. Thickness values are intepreted as follows:",
301
+ "prose": "Each <color-stripe> entry defines a solid-color stripe with the specified <color> and thickness. If the thickness is omitted, it defaults to 1fr. Thickness values are interpreted as follows:",
302
302
  "type": "type",
303
303
  "value": "<color> && [ <length-percentage> | <flex> ]?"
304
304
  },
package/css-masking.json CHANGED
@@ -592,7 +592,7 @@
592
592
  {
593
593
  "name": "<mask-layer>",
594
594
  "type": "type",
595
- "value": "<mask-reference> || <position> [ / <bg-size> ]? ||<repeat-style> || <geometry-box> || [ <geometry-box> | no-clip ] || <compositing-operator> || <masking-mode>"
595
+ "value": "<mask-reference> || <position> [ / <bg-size> ]? || <repeat-style> || <geometry-box> || [ <geometry-box> | no-clip ] || <compositing-operator> || <masking-mode>"
596
596
  }
597
597
  ],
598
598
  "warnings": [
@@ -23,7 +23,7 @@
23
23
  {
24
24
  "name": "initial-value",
25
25
  "for": "@property",
26
- "value": "<declaration-value>",
26
+ "value": "<declaration-value>?",
27
27
  "initial": "the guaranteed-invalid value (but see prose)"
28
28
  }
29
29
  ],
package/css-regions.json CHANGED
@@ -6,7 +6,7 @@
6
6
  "properties": [
7
7
  {
8
8
  "name": "flow-into",
9
- "value": "none | <ident> [element|content]?",
9
+ "value": "none | <ident> [element | content]?",
10
10
  "initial": "none",
11
11
  "appliesTo": "All elements, but not pseudo-elements such as ::first-line, ::first-letter, ::before or ::after.",
12
12
  "inherited": "no",
package/css-sizing.json CHANGED
@@ -42,8 +42,8 @@
42
42
  },
43
43
  {
44
44
  "name": "fit-content()",
45
- "value": "fit-content()",
46
- "type": "value"
45
+ "value": "fit-content(<length-percentage [0,∞]>)",
46
+ "type": "function"
47
47
  }
48
48
  ],
49
49
  "styleDeclaration": [
@@ -88,8 +88,8 @@
88
88
  },
89
89
  {
90
90
  "name": "fit-content()",
91
- "value": "fit-content()",
92
- "type": "value"
91
+ "value": "fit-content(<length-percentage [0,∞]>)",
92
+ "type": "function"
93
93
  }
94
94
  ],
95
95
  "styleDeclaration": [
@@ -134,8 +134,8 @@
134
134
  },
135
135
  {
136
136
  "name": "fit-content()",
137
- "value": "fit-content()",
138
- "type": "value"
137
+ "value": "fit-content(<length-percentage [0,∞]>)",
138
+ "type": "function"
139
139
  }
140
140
  ],
141
141
  "styleDeclaration": [
@@ -181,8 +181,8 @@
181
181
  },
182
182
  {
183
183
  "name": "fit-content()",
184
- "value": "fit-content()",
185
- "type": "value"
184
+ "value": "fit-content(<length-percentage [0,∞]>)",
185
+ "type": "function"
186
186
  }
187
187
  ],
188
188
  "styleDeclaration": [
@@ -228,8 +228,8 @@
228
228
  },
229
229
  {
230
230
  "name": "fit-content()",
231
- "value": "fit-content()",
232
- "type": "value"
231
+ "value": "fit-content(<length-percentage [0,∞]>)",
232
+ "type": "function"
233
233
  }
234
234
  ],
235
235
  "styleDeclaration": [
@@ -275,8 +275,8 @@
275
275
  },
276
276
  {
277
277
  "name": "fit-content()",
278
- "value": "fit-content()",
279
- "type": "value"
278
+ "value": "fit-content(<length-percentage [0,∞]>)",
279
+ "type": "function"
280
280
  }
281
281
  ],
282
282
  "styleDeclaration": [
package/css-text-4.json CHANGED
@@ -58,47 +58,8 @@
58
58
  ]
59
59
  },
60
60
  {
61
- "name": "word-boundary-detection",
62
- "value": "normal | manual | auto(<lang>)",
63
- "initial": "normal",
64
- "appliesTo": "text",
65
- "inherited": "yes",
66
- "percentages": "N/A",
67
- "computedValue": "as specified (However, see special provision for unsupported <lang>)",
68
- "canonicalOrder": "per grammar",
69
- "animationType": "discrete",
70
- "values": [
71
- {
72
- "name": "manual",
73
- "prose": "Linguistic analysis is not used in any language or writing system to determine line wrapping opportunities not indicated by the markup or characters of the element. The user agent must not insert virtual word boundaries. Typographic character units with class SA in [UAX14] must be treated as if they had class AL (i.e. assuming word-break: normal and a value of line-break other than anywhere, there is no soft wrap opportunity between pairs of such characters). Authors using this value for Southeast Asian languages are expected to manually indicate word boundaries, for instance using wbr or U+200B. Otherwise, there will be no soft wrap opportunity and the text may overflow.",
74
- "type": "value",
75
- "value": "manual"
76
- },
77
- {
78
- "name": "normal",
79
- "prose": "The user agent must not insert virtual word boundaries, except within runs of characters belonging to Southeast Asian languages, where content analysis must be performed to determine where to insert virtual word boundaries. As with manual, typographic character units with class SA in [UAX14] must be treated as if they had class AL; however, the user agent must additionally analyse the content of a run of such characters and insert virtual word boundaries where appropriate. Within the constraints set by this specification, the specific algorithm used is UA-dependent. As various languages can be written in scripts which use the characters with class SA, if the content language is known, the user agent should use this information to tailor its analysis. In order to avoid unexpected overflow, if the user agent is unable to perform this analysis for any subset of the characters with class SA—for example due to lacking a dictionary for certain languages—there must be a soft wrap opportunity between pairs of typographic letter units in that subset.",
80
- "type": "value",
81
- "value": "normal"
82
- },
83
- {
84
- "name": "auto()",
85
- "value": "auto()",
86
- "type": "value"
87
- },
88
- {
89
- "name": "<lang>",
90
- "prose": "<lang> must be a valid CSS <ident> or <string>. It represents an IETF BCP 47 language range (see [BCP47]). If the UA does not support word-boundary detection for all languages represented by the specified range, that specified value is invalid (and will cause the declaration to be ignored).",
91
- "type": "type"
92
- }
93
- ],
94
- "styleDeclaration": [
95
- "word-boundary-detection",
96
- "wordBoundaryDetection"
97
- ]
98
- },
99
- {
100
- "name": "word-boundary-expansion",
101
- "value": "none | space | ideographic-space",
61
+ "name": "word-space-transform",
62
+ "value": "none | [ space | ideographic-space ] && auto-phrase?",
102
63
  "initial": "none",
103
64
  "appliesTo": "text",
104
65
  "inherited": "yes",
@@ -115,25 +76,31 @@
115
76
  },
116
77
  {
117
78
  "name": "space",
118
- "prose": "Instances of U+200B ZERO WIDTH SPACE within the child text of this element are replaced by U+0020 SPACE.",
79
+ "prose": "Expandable separators within the child text of this element are replaced by U+0020 SPACE.",
119
80
  "type": "value",
120
81
  "value": "space"
121
82
  },
122
83
  {
123
84
  "name": "ideographic-space",
124
- "prose": "Instances of U+200B ZERO WIDTH SPACE within the child text of this element are replaced by U+3000 IDEOGRAPHIC SPACE.",
85
+ "prose": "Expandable separators within the child text of this element are replaced by U+3000 IDEOGRAPHIC SPACE.",
125
86
  "type": "value",
126
87
  "value": "ideographic-space"
88
+ },
89
+ {
90
+ "name": "auto-phrase",
91
+ "prose": "If the content language is known and the user agent supports linguistic analysis for this language, the user agent must detect phrase boundaries. If a word-separator character, other space separator, or U+200B ZERO WIDTH SPACE character does not already occur at that boundary, then the UA must insert a virtual expandable separator. If this value is omitted, or if the content language is unknown, or if the user agent does not support detecting phrase boundaries for that language, there are no virtual expandable separator.",
92
+ "type": "value",
93
+ "value": "auto-phrase"
127
94
  }
128
95
  ],
129
96
  "styleDeclaration": [
130
- "word-boundary-expansion",
131
- "wordBoundaryExpansion"
97
+ "word-space-transform",
98
+ "wordSpaceTransform"
132
99
  ]
133
100
  },
134
101
  {
135
102
  "name": "white-space",
136
- "value": "normal | pre | nowrap | pre-wrap | pre-line | <'white-space-collapse'> || <'text-wrap'> || <'white-space-trim'>",
103
+ "value": "normal | pre | nowrap | pre-wrap | pre-line | <'white-space-collapse'> || <'text-wrap-mode'> || <'white-space-trim'>",
137
104
  "initial": "normal",
138
105
  "appliesTo": "text",
139
106
  "inherited": "yes",
@@ -211,7 +178,7 @@
211
178
  },
212
179
  {
213
180
  "name": "discard",
214
- "prose": "This value directs user agents to “discard” all white space in the element. Does this preserve line break opportunities or no? Do we need a distinct \"hide\" value? If it preserves line break opportunities, maybe it should be replaced with a word-boundary-expansion value?",
181
+ "prose": "This value directs user agents to “discard” all white space in the element. Does this preserve line break opportunities or no? Do we need a distinct \"hide\" value? If it preserves line break opportunities, maybe it should be replaced with a word-space-transform value?",
215
182
  "type": "value",
216
183
  "value": "discard"
217
184
  }
@@ -273,7 +240,7 @@
273
240
  },
274
241
  {
275
242
  "name": "word-break",
276
- "value": "normal | keep-all | break-all | break-word",
243
+ "value": "normal | break-all | keep-all | manual | auto-phrase | break-word",
277
244
  "initial": "normal",
278
245
  "appliesTo": "text",
279
246
  "inherited": "yes",
@@ -284,7 +251,7 @@
284
251
  "values": [
285
252
  {
286
253
  "name": "normal",
287
- "prose": "Words break according to their customary rules, as described above. Korean, which commonly exhibits two different behaviors, allows breaks between any two consecutive Hangul/Hanja. For Ethiopic, which also exhibits two different behaviors, such breaks within words are not allowed.",
254
+ "prose": "Words break according to their customary rules, as described above. Korean, which commonly exhibits two different behaviors, allows breaks between any two consecutive Hangul/Hanja. For Ethiopic, which also exhibits two different behaviors, such breaks within words are not allowed. Some writing systems require specific processing to obtain the customarily expected soft wrap opportunities, as described in § 5.2.1 Analytical Word Breaking.",
288
255
  "type": "value",
289
256
  "value": "normal"
290
257
  },
@@ -296,10 +263,22 @@
296
263
  },
297
264
  {
298
265
  "name": "keep-all",
299
- "prose": "Breaking is forbidden within “words”: implicit soft wrap opportunities between typographic letter units (or other typographic character units belonging to the NU, AL, AI, or ID Unicode line breaking classes [UAX14]) are suppressed, i.e. breaks are prohibited between pairs of such characters (regardless of line-break settings other than anywhere) except where opportunities exist due to dictionary-based breaking. Otherwise this option is equivalent to normal. In this style, sequences of CJK characters do not break.",
266
+ "prose": "Breaking is forbidden within “words”: implicit soft wrap opportunities between typographic letter units (or other typographic character units belonging to the NU, AL, AI, or ID Unicode line breaking classes [UAX14]) are suppressed, i.e. breaks are prohibited between pairs of such characters (regardless of line-break settings other than anywhere) except where opportunities exist due to § 5.2.1.1 Lexical Word Breaking. Otherwise this option is equivalent to normal. In this style, sequences of CJK characters do not break.",
300
267
  "type": "value",
301
268
  "value": "keep-all"
302
269
  },
270
+ {
271
+ "name": "manual",
272
+ "prose": "Behaves the same as normal, except that § 5.2.1.1 Lexical Word Breaking must not be performed. Specifically, typographic character units with class SA in [UAX14] must be treated as if they had class AL (i.e. assuming a value of line-break other than anywhere, there is no soft wrap opportunity between pairs of such characters). alternatively, this value could be based on keep-all rather than normal. Yet another variant is to merge this behavior with keep-all.",
273
+ "type": "value",
274
+ "value": "manual"
275
+ },
276
+ {
277
+ "name": "auto-phrase",
278
+ "prose": "Behaves the same as normal, except that this value directs the user agent to perform language-specific content analysis to prioritize keeping natural phrases (of multiple words) together. If the content language of the element is unknown, or if the user agent does not know how to detect phrase boundaries for that particular language, this value must behave as normal. Otherwise, the user agent should detect phrase boundaries and suppress soft wrap opportunities within each phrase. Regardless of the content language and support for phrase boundary detection, hyphenation opportunities are suppressed as if hyphens: none had been specified.",
279
+ "type": "value",
280
+ "value": "auto-phrase"
281
+ },
303
282
  {
304
283
  "name": "break-word",
305
284
  "prose": "For compatibility with legacy content, the word-break property also supports a deprecated break-word keyword. When specified, this has the same effect as word-break: normal and overflow-wrap: anywhere, regardless of the actual value of the overflow-wrap property.",
@@ -535,13 +514,13 @@
535
514
  "values": [
536
515
  {
537
516
  "name": "normal",
538
- "prose": "Lines may break only at allowed break points. However, the restrictions introduced by word-break: keep-all may be relaxed to match word-break: normal if there are no otherwise-acceptable break points in the line.",
517
+ "prose": "Lines may break only at allowed break points. However, the restrictions introduced by word-break: keep-all may be relaxed to match word-break: normal if there are no otherwise-acceptable break points in the line. Also, the restrictions introduced by word-break: auto-phrase are relaxed if there are no otherwise-acceptable break points in the line: If suppressing soft wrap opportunities within a particular phrase would cause that phrase to overflow even when placed on an otherwise empty line, the user agent must fall back to the same soft wrap opportunities as normal within that phrase. If that is not enough to prevent overflow, suppression of hyphenation opportunities must also be abandoned within each line that would overflow. As an intermediary measure, user agents may also detect multiple levels of phrases, choosing to shorter ones (possibly down to individual words) when longer ones would lead to overflow. The soft wrap opportunities obtained by relaxing the restrictions introduced by word-break: keep-all and word-break: auto-phrase are not considered when calculating min-content intrinsic sizes.",
539
518
  "type": "value",
540
519
  "value": "normal"
541
520
  },
542
521
  {
543
522
  "name": "anywhere",
544
- "prose": "An otherwise unbreakable sequence of characters may be broken at an arbitrary point if there are no otherwise-acceptable break points in the line. Shaping characters are still shaped as if the word were not broken, and grapheme clusters must stay together as one unit. No hyphenation character is inserted at the break point. Soft wrap opportunities introduced by anywhere are considered when calculating min-content intrinsic sizes.",
523
+ "prose": "An otherwise unbreakable sequence of characters may be broken at an arbitrary point if there are no otherwise-acceptable break points in the line. Shaping characters are still shaped as if the word were not broken, and grapheme clusters must stay together as one unit. No hyphenation character is inserted at the break point. Soft wrap opportunities introduced by anywhere are considered when calculating min-content intrinsic sizes. In the case of word-break: auto-phrase, these additional soft wrap opportunities are only introduced if relaxing the restrictions introduced by word-break: auto-phrase as described in overflow-wrap: normal is insufficient to prevent overflow.",
545
524
  "type": "value",
546
525
  "value": "anywhere"
547
526
  },
@@ -574,9 +553,24 @@
574
553
  },
575
554
  {
576
555
  "name": "text-wrap",
577
- "value": "wrap | nowrap | balance | stable | pretty",
556
+ "value": "<text-wrap-mode> || <text-wrap-style>",
578
557
  "initial": "wrap",
579
- "appliesTo": "text and block containers",
558
+ "appliesTo": "see individual properties",
559
+ "inherited": "see individual properties",
560
+ "percentages": "see individual properties",
561
+ "computedValue": "see individual properties",
562
+ "canonicalOrder": "per grammar",
563
+ "animationType": "see individual properties",
564
+ "styleDeclaration": [
565
+ "text-wrap",
566
+ "textWrap"
567
+ ]
568
+ },
569
+ {
570
+ "name": "text-wrap-mode",
571
+ "value": "wrap | nowrap",
572
+ "initial": "wrap",
573
+ "appliesTo": "text",
580
574
  "inherited": "yes",
581
575
  "percentages": "n/a",
582
576
  "computedValue": "specified keyword",
@@ -585,7 +579,7 @@
585
579
  "values": [
586
580
  {
587
581
  "name": "wrap",
588
- "prose": "Inline-level content may break across lines at allowed soft wrap opportunities, as determined by the line-breaking rules in effect in order to minimize inline-axis overflow. The exact algorithm is UA-defined. The algorithm may consider multiple lines when making break decisions. The UA may bias for speed over best layout. The UA must not attempt to even out all lines (including the last) as for balance. This value selects the UA’s preferred (or most Web-compatible) wrapping algorithm.",
582
+ "prose": "Content may break across lines at allowed soft wrap opportunities, as determined by the line-breaking rules in effect, in order to minimize inline-axis overflow.",
589
583
  "type": "value",
590
584
  "value": "wrap"
591
585
  },
@@ -594,29 +588,52 @@
594
588
  "prose": "Inline-level content does not break across lines; content that does not fit within the block container overflows it.",
595
589
  "type": "value",
596
590
  "value": "nowrap"
591
+ }
592
+ ],
593
+ "styleDeclaration": [
594
+ "text-wrap-mode",
595
+ "textWrapMode"
596
+ ]
597
+ },
598
+ {
599
+ "name": "text-wrap-style",
600
+ "value": "auto| balance | stable | pretty",
601
+ "initial": "auto",
602
+ "appliesTo": "block containers hat establish an inline formatting context",
603
+ "inherited": "yes",
604
+ "percentages": "n/a",
605
+ "computedValue": "specified keyword",
606
+ "canonicalOrder": "per grammar",
607
+ "animationType": "discrete",
608
+ "values": [
609
+ {
610
+ "name": "auto",
611
+ "prose": "The exact algorithm for selecting which soft wrap opportunity to break at is UA-defined. The algorithm may consider multiple lines when making break decisions. The UA may bias for speed over best layout. The UA must not attempt to even out all lines (including the last) as for balance. This value selects the UA’s preferred (or most Web-compatible) wrapping algorithm.",
612
+ "type": "value",
613
+ "value": "auto"
597
614
  },
598
615
  {
599
616
  "name": "balance",
600
- "prose": "Same as wrap for inline boxes. For block containers that establish an inline formatting context, line breaks are chosen to balance the remaining (empty) space in each line box, if better balance than wrap is possible. This must not change the number of line boxes the block would contain if text-wrap were set to wrap. The remaining space to consider is that which remains after placing floats and inline content, but before any adjustments due to text justification. Line boxes are balanced when the standard deviation from the average inline-size of the remaining space in each line box is reduced over the block (including lines that end in a forced break). The exact algorithm is UA-defined. UAs may treat this value as wrap if there are more than ten lines to balance.",
617
+ "prose": "Line breaks are chosen to balance the remaining (empty) space in each line box, if better balance than auto is possible. This must not change the number of line boxes the block would contain if text-wrap were set to auto. The remaining space to consider is that which remains after placing floats and inline content, but before any adjustments due to text justification. Line boxes are balanced when the standard deviation from the average inline-size of the remaining space in each line box is reduced over the block (including lines that end in a forced break). The exact algorithm is UA-defined. UAs may treat this value as auto if there are more than ten lines to balance.",
601
618
  "type": "value",
602
619
  "value": "balance"
603
620
  },
604
621
  {
605
622
  "name": "stable",
606
- "prose": "When applied to a block container that establishes an inline formatting context, specifies that content on subsequent lines should not be considered when making break decisions so that when editing text any content before the cursor remains stable; otherwise equivalent to wrap,",
623
+ "prose": "Specifies that content on subsequent lines should not be considered when making break decisions so that when editing text any content before the cursor remains stable; otherwise equivalent to auto,",
607
624
  "type": "value",
608
625
  "value": "stable"
609
626
  },
610
627
  {
611
628
  "name": "pretty",
612
- "prose": "When applied to a block container that establishes an inline formatting context, specifies the UA should bias for better layout over speed, and is expected to consider multiple lines, when making break decisions. Otherwise equivalent to wrap,",
629
+ "prose": "Specifies the UA should bias for better layout over speed, and is expected to consider multiple lines, when making break decisions. Otherwise equivalent to auto,",
613
630
  "type": "value",
614
631
  "value": "pretty"
615
632
  }
616
633
  ],
617
634
  "styleDeclaration": [
618
- "text-wrap",
619
- "textWrap"
635
+ "text-wrap-style",
636
+ "textWrapStyle"
620
637
  ]
621
638
  },
622
639
  {
@@ -3,7 +3,23 @@
3
3
  "title": "CSS Transitions Level 2",
4
4
  "url": "https://drafts.csswg.org/css-transitions-2/"
5
5
  },
6
- "properties": [],
6
+ "properties": [
7
+ {
8
+ "name": "transition-behavior",
9
+ "value": "<transition-behavior-value>#",
10
+ "initial": "normal",
11
+ "appliesTo": "all elements",
12
+ "inherited": "no",
13
+ "percentages": "N/A",
14
+ "computedValue": "as specified",
15
+ "canonicalOrder": "per grammar",
16
+ "animationType": "not animatable",
17
+ "styleDeclaration": [
18
+ "transition-behavior",
19
+ "transitionBehavior"
20
+ ]
21
+ }
22
+ ],
7
23
  "atrules": [
8
24
  {
9
25
  "name": "@starting-style",
@@ -12,5 +28,16 @@
12
28
  }
13
29
  ],
14
30
  "selectors": [],
15
- "values": []
31
+ "values": [
32
+ {
33
+ "name": "<transition-behavior-value>",
34
+ "value": "normal | allow-discrete",
35
+ "type": "type"
36
+ },
37
+ {
38
+ "name": "<single-transition>",
39
+ "value": "[ none | <single-transition-property> ] || <time> || <easing-function> || <time> || <transition-behavior-value>",
40
+ "type": "type"
41
+ }
42
+ ]
16
43
  }
package/css-ui.json CHANGED
@@ -50,20 +50,26 @@
50
50
  },
51
51
  {
52
52
  "name": "outline-color",
53
- "value": "[ <color> | <image-1D> ] | invert",
54
- "initial": "invert",
53
+ "value": "auto | [ <color> | <image-1D> ] | invert",
54
+ "initial": "auto",
55
55
  "appliesTo": "all elements",
56
56
  "inherited": "no",
57
57
  "percentages": "N/A",
58
- "computedValue": "The computed value for invert is invert. For <color> values, see CSS Color 4 § 14. Resolving <color> Values in [CSS-COLOR-4]. For <image-1D> values, see CSS Images 4 § 4 1D Image Values: the <image-1D> type and stripes() notation in [CSS-IMAGES-4].",
58
+ "computedValue": "see below",
59
59
  "canonicalOrder": "per grammar",
60
60
  "animationType": "by computed value",
61
61
  "values": [
62
62
  {
63
63
  "name": "invert",
64
- "prose": "The outline-color property accepts all values of <border-color>, as well as the keyword invert. invert is expected to perform a color inversion on the pixels on the screen. This is a common trick to ensure the focus border is visible, regardless of color background.",
64
+ "prose": "the user agent is expected to perform a color inversion on the pixels on the screen. This is a common trick to ensure the focus border is visible, regardless of color background. Conformant UAs may ignore the invert value on platforms that do not support color inversion of the pixels on the screen. If the UA does not support the invert value, then it must reject that value at parse-time, and the initial value of the outline-color property is the currentColor keyword.",
65
65
  "type": "value",
66
66
  "value": "invert"
67
+ },
68
+ {
69
+ "name": "auto",
70
+ "prose": "When outline-style is auto, outline-color: auto represents the accent color. When outline-style is not auto, outline-color: auto computes to another value (see below).",
71
+ "type": "value",
72
+ "value": "auto"
67
73
  }
68
74
  ],
69
75
  "styleDeclaration": [
@@ -673,7 +679,7 @@
673
679
  "values": [
674
680
  {
675
681
  "name": "<outline-line-style>",
676
- "prose": "<outline-line-style> accepts the same values as <line-style> (CSS Backgrounds 3 § 3.2 Line Patterns: the border-style properties) with the same meaning, except that hidden is not a legal outline style. In addition, the outline-style property accepts the value auto. The auto value permits the user agent to render a custom outline style, typically a style which is either a user interface default for the platform, or perhaps a style that is richer than can be described in detail in CSS, e.g. a rounded edge outline with semi-translucent outer pixels that appears to glow. As such, this specification does not define how the outline-color and outline-width are incorporated or used (if at all) when rendering auto style outlines. User agents may treat auto as solid.",
682
+ "prose": "<outline-line-style> accepts the same values as <line-style> (CSS Backgrounds 3 § 3.2 Line Patterns: the border-style properties) with the same meaning, except that hidden is not a legal outline style. In addition, the outline-style property accepts the value auto.",
677
683
  "type": "type"
678
684
  },
679
685
  {
package/motion.json CHANGED
@@ -42,7 +42,7 @@
42
42
  },
43
43
  {
44
44
  "name": "<basic-shape>",
45
- "prose": "The offset path is the equivalent path of the <basic-shape> function. For all <basic-shape>s, if they accept an ''at <position>'' argument but that argument is omitted, and the element defines an offset starting position via offset-position, it uses the specified offset starting position for that argument. Otherwise it defaults as specified for each function. The <coord-box> provides the [=/reference box=] for the <basic-shape>.",
45
+ "prose": "The offset path is the equivalent path of the <basic-shape> function. For all <basic-shape>s, if they accept an at <position> argument but that argument is omitted, and the element defines an offset starting position via offset-position, it uses the specified offset starting position for that argument. Otherwise it defaults as specified for each function. The <coord-box> provides the [=/reference box=] for the <basic-shape>.",
46
46
  "type": "value",
47
47
  "value": "<basic-shape>"
48
48
  },
@@ -77,7 +77,7 @@
77
77
  {
78
78
  "name": "offset-position",
79
79
  "value": "normal | auto | <position>",
80
- "initial": "auto",
80
+ "initial": "normal",
81
81
  "appliesTo": "transformable elements",
82
82
  "inherited": "no",
83
83
  "percentages": "Refer to the size of containing block",