1export {};
2
3export type PropertyValue<TValue> = TValue extends Array<infer AValue>
4  ? Array<AValue extends infer TUnpacked & {} ? TUnpacked : AValue>
5  : TValue extends infer TUnpacked & {}
6  ? TUnpacked
7  : TValue;
8
9export interface StandardLonghandProperties<TLength = (string & {}) | 0, TTime = string & {}> {
10  /**
11   * The CSS **`align-content`** property sets the distribution of space between and around content items along a flexbox's cross-axis or a grid's block axis.
12   *
13   * **Syntax**: `normal | <baseline-position> | <content-distribution> | <overflow-position>? <content-position>`
14   *
15   * **Initial value**: `normal`
16   *
17   * ---
18   *
19   * _Supported in Flex Layout_
20   *
21   * |  Chrome  | Firefox |  Safari   |  Edge  |   IE   |
22   * | :------: | :-----: | :-------: | :----: | :----: |
23   * |  **29**  | **28**  |   **9**   | **12** | **11** |
24   * | 21 _-x-_ |         | 6.1 _-x-_ |        |        |
25   *
26   * ---
27   *
28   * _Supported in Grid Layout_
29   *
30   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
31   * | :----: | :-----: | :------: | :----: | :-: |
32   * | **57** | **52**  | **10.1** | **16** | No  |
33   *
34   * ---
35   *
36   * @see https://developer.mozilla.org/docs/Web/CSS/align-content
37   */
38  alignContent?: Property.AlignContent;
39  /**
40   * The CSS **`align-items`** property sets the `align-self` value on all direct children as a group. In Flexbox, it controls the alignment of items on the Cross Axis. In Grid Layout, it controls the alignment of items on the Block Axis within their grid area.
41   *
42   * **Syntax**: `normal | stretch | <baseline-position> | [ <overflow-position>? <self-position> ]`
43   *
44   * **Initial value**: `normal`
45   *
46   * ---
47   *
48   * _Supported in Flex Layout_
49   *
50   * |  Chrome  | Firefox | Safari  |  Edge  |   IE   |
51   * | :------: | :-----: | :-----: | :----: | :----: |
52   * |  **52**  | **20**  |  **9**  | **12** | **11** |
53   * | 21 _-x-_ |         | 7 _-x-_ |        |        |
54   *
55   * ---
56   *
57   * _Supported in Grid Layout_
58   *
59   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
60   * | :----: | :-----: | :------: | :----: | :-: |
61   * | **57** | **52**  | **10.1** | **16** | No  |
62   *
63   * ---
64   *
65   * @see https://developer.mozilla.org/docs/Web/CSS/align-items
66   */
67  alignItems?: Property.AlignItems;
68  /**
69   * The **`align-self`** CSS property overrides a grid or flex item's `align-items` value. In Grid, it aligns the item inside the grid area. In Flexbox, it aligns the item on the cross axis.
70   *
71   * **Syntax**: `auto | normal | stretch | <baseline-position> | <overflow-position>? <self-position>`
72   *
73   * **Initial value**: `auto`
74   *
75   * ---
76   *
77   * _Supported in Flex Layout_
78   *
79   * |  Chrome  | Firefox |  Safari   |  Edge  |   IE   |
80   * | :------: | :-----: | :-------: | :----: | :----: |
81   * |  **36**  | **20**  |   **9**   | **12** | **11** |
82   * | 21 _-x-_ |         | 6.1 _-x-_ |        |        |
83   *
84   * ---
85   *
86   * _Supported in Grid Layout_
87   *
88   * | Chrome | Firefox |  Safari  |  Edge  |      IE      |
89   * | :----: | :-----: | :------: | :----: | :----------: |
90   * | **57** | **52**  | **10.1** | **16** | **10** _-x-_ |
91   *
92   * ---
93   *
94   * @see https://developer.mozilla.org/docs/Web/CSS/align-self
95   */
96  alignSelf?: Property.AlignSelf;
97  /**
98   * The **`align-tracks`** CSS property sets the alignment in the masonry axis for grid containers that have masonry in their block axis.
99   *
100   * **Syntax**: `[ normal | <baseline-position> | <content-distribution> | <overflow-position>? <content-position> ]#`
101   *
102   * **Initial value**: `normal`
103   *
104   * | Chrome | Firefox | Safari | Edge | IE  |
105   * | :----: | :-----: | :----: | :--: | :-: |
106   * |   No   |   n/a   |   No   |  No  | No  |
107   *
108   * @see https://developer.mozilla.org/docs/Web/CSS/align-tracks
109   */
110  alignTracks?: Property.AlignTracks;
111  /**
112   * The **`animation-delay`** CSS property specifies the amount of time to wait from applying the animation to an element before beginning to perform the animation. The animation can start later, immediately from its beginning, or immediately and partway through the animation.
113   *
114   * **Syntax**: `<time>#`
115   *
116   * **Initial value**: `0s`
117   *
118   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
119   * | :-----: | :-----: | :-----: | :----: | :----: |
120   * | **43**  | **16**  |  **9**  | **12** | **10** |
121   * | 3 _-x-_ | 5 _-x-_ | 4 _-x-_ |        |        |
122   *
123   * @see https://developer.mozilla.org/docs/Web/CSS/animation-delay
124   */
125  animationDelay?: Property.AnimationDelay<TTime>;
126  /**
127   * The **`animation-direction`** CSS property sets whether an animation should play forward, backward, or alternate back and forth between playing the sequence forward and backward.
128   *
129   * **Syntax**: `<single-animation-direction>#`
130   *
131   * **Initial value**: `normal`
132   *
133   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
134   * | :-----: | :-----: | :-----: | :----: | :----: |
135   * | **43**  | **16**  |  **9**  | **12** | **10** |
136   * | 3 _-x-_ | 5 _-x-_ | 4 _-x-_ |        |        |
137   *
138   * @see https://developer.mozilla.org/docs/Web/CSS/animation-direction
139   */
140  animationDirection?: Property.AnimationDirection;
141  /**
142   * The **`animation-duration`** CSS property sets the length of time that an animation takes to complete one cycle.
143   *
144   * **Syntax**: `<time>#`
145   *
146   * **Initial value**: `0s`
147   *
148   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
149   * | :-----: | :-----: | :-----: | :----: | :----: |
150   * | **43**  | **16**  |  **9**  | **12** | **10** |
151   * | 3 _-x-_ | 5 _-x-_ | 4 _-x-_ |        |        |
152   *
153   * @see https://developer.mozilla.org/docs/Web/CSS/animation-duration
154   */
155  animationDuration?: Property.AnimationDuration<TTime>;
156  /**
157   * The **`animation-fill-mode`** CSS property sets how a CSS animation applies styles to its target before and after its execution.
158   *
159   * **Syntax**: `<single-animation-fill-mode>#`
160   *
161   * **Initial value**: `none`
162   *
163   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
164   * | :-----: | :-----: | :-----: | :----: | :----: |
165   * | **43**  | **16**  |  **9**  | **12** | **10** |
166   * | 3 _-x-_ | 5 _-x-_ | 5 _-x-_ |        |        |
167   *
168   * @see https://developer.mozilla.org/docs/Web/CSS/animation-fill-mode
169   */
170  animationFillMode?: Property.AnimationFillMode;
171  /**
172   * The **`animation-iteration-count`** CSS property sets the number of times an animation sequence should be played before stopping.
173   *
174   * **Syntax**: `<single-animation-iteration-count>#`
175   *
176   * **Initial value**: `1`
177   *
178   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
179   * | :-----: | :-----: | :-----: | :----: | :----: |
180   * | **43**  | **16**  |  **9**  | **12** | **10** |
181   * | 3 _-x-_ | 5 _-x-_ | 4 _-x-_ |        |        |
182   *
183   * @see https://developer.mozilla.org/docs/Web/CSS/animation-iteration-count
184   */
185  animationIterationCount?: Property.AnimationIterationCount;
186  /**
187   * The **`animation-name`** CSS property specifies the names of one or more `@keyframes` at-rules describing the animation or animations to apply to the element.
188   *
189   * **Syntax**: `[ none | <keyframes-name> ]#`
190   *
191   * **Initial value**: `none`
192   *
193   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
194   * | :-----: | :-----: | :-----: | :----: | :----: |
195   * | **43**  | **16**  |  **9**  | **12** | **10** |
196   * | 3 _-x-_ | 5 _-x-_ | 4 _-x-_ |        |        |
197   *
198   * @see https://developer.mozilla.org/docs/Web/CSS/animation-name
199   */
200  animationName?: Property.AnimationName;
201  /**
202   * The **`animation-play-state`** CSS property sets whether an animation is running or paused.
203   *
204   * **Syntax**: `<single-animation-play-state>#`
205   *
206   * **Initial value**: `running`
207   *
208   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
209   * | :-----: | :-----: | :-----: | :----: | :----: |
210   * | **43**  | **16**  |  **9**  | **12** | **10** |
211   * | 3 _-x-_ | 5 _-x-_ | 4 _-x-_ |        |        |
212   *
213   * @see https://developer.mozilla.org/docs/Web/CSS/animation-play-state
214   */
215  animationPlayState?: Property.AnimationPlayState;
216  /**
217   * The **`animation-timing-function`** CSS property sets how an animation progresses through the duration of each cycle.
218   *
219   * **Syntax**: `<easing-function>#`
220   *
221   * **Initial value**: `ease`
222   *
223   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
224   * | :-----: | :-----: | :-----: | :----: | :----: |
225   * | **43**  | **16**  |  **9**  | **12** | **10** |
226   * | 3 _-x-_ | 5 _-x-_ | 4 _-x-_ |        |        |
227   *
228   * @see https://developer.mozilla.org/docs/Web/CSS/animation-timing-function
229   */
230  animationTimingFunction?: Property.AnimationTimingFunction;
231  /**
232   * The `**appearance**` CSS property is used to display an element using platform-native styling, based on the operating system's theme. The **`-moz-appearance`** and **`-webkit-appearance`** properties are non-standard versions of this property, used (respectively) by Gecko (Firefox) and by WebKit-based (e.g., Safari) and Blink-based (e.g., Chrome, Opera) browsers to achieve the same thing. Note that Firefox and Edge also support **`-webkit-appearance`**, for compatibility reasons.
233   *
234   * **Syntax**: `none | auto | textfield | menulist-button | <compat-auto>`
235   *
236   * **Initial value**: `auto`
237   *
238   * | Chrome  | Firefox |   Safari    |   Edge   | IE  |
239   * | :-----: | :-----: | :---------: | :------: | :-: |
240   * | **84**  | **80**  | **3** _-x-_ |  **84**  | No  |
241   * | 1 _-x-_ | 1 _-x-_ |             | 12 _-x-_ |     |
242   *
243   * @see https://developer.mozilla.org/docs/Web/CSS/appearance
244   */
245  appearance?: Property.Appearance;
246  /**
247   * The **`aspect-ratio`**  CSS property sets a **preferred aspect ratio** for the box, which will be used in the calculation of auto sizes and some other layout functions.
248   *
249   * **Syntax**: `auto | <ratio>`
250   *
251   * **Initial value**: `auto`
252   *
253   * | Chrome | Firefox | Safari |  Edge  | IE  |
254   * | :----: | :-----: | :----: | :----: | :-: |
255   * | **88** |   n/a   |   No   | **88** | No  |
256   *
257   * @see https://developer.mozilla.org/docs/Web/CSS/aspect-ratio
258   */
259  aspectRatio?: Property.AspectRatio;
260  /**
261   * The **`backdrop-filter`** CSS property lets you apply graphical effects such as blurring or color shifting to the area behind an element. Because it applies to everything _behind_ the element, to see the effect you must make the element or its background at least partially transparent.
262   *
263   * **Syntax**: `none | <filter-function-list>`
264   *
265   * **Initial value**: `none`
266   *
267   * | Chrome | Firefox |   Safari    |  Edge  | IE  |
268   * | :----: | :-----: | :---------: | :----: | :-: |
269   * | **76** |   n/a   | **9** _-x-_ | **17** | No  |
270   *
271   * @see https://developer.mozilla.org/docs/Web/CSS/backdrop-filter
272   */
273  backdropFilter?: Property.BackdropFilter;
274  /**
275   * The **`backface-visibility`** CSS property sets whether the back face of an element is visible when turned towards the user.
276   *
277   * **Syntax**: `visible | hidden`
278   *
279   * **Initial value**: `visible`
280   *
281   * |  Chrome  | Firefox  |    Safari     |  Edge  |   IE   |
282   * | :------: | :------: | :-----------: | :----: | :----: |
283   * |  **36**  |  **16**  | **5.1** _-x-_ | **12** | **10** |
284   * | 12 _-x-_ | 10 _-x-_ |               |        |        |
285   *
286   * @see https://developer.mozilla.org/docs/Web/CSS/backface-visibility
287   */
288  backfaceVisibility?: Property.BackfaceVisibility;
289  /**
290   * The **`background-attachment`** CSS property sets whether a background image's position is fixed within the viewport, or scrolls with its containing block.
291   *
292   * **Syntax**: `<attachment>#`
293   *
294   * **Initial value**: `scroll`
295   *
296   * | Chrome | Firefox | Safari |  Edge  |  IE   |
297   * | :----: | :-----: | :----: | :----: | :---: |
298   * | **1**  |  **1**  | **1**  | **12** | **4** |
299   *
300   * @see https://developer.mozilla.org/docs/Web/CSS/background-attachment
301   */
302  backgroundAttachment?: Property.BackgroundAttachment;
303  /**
304   * The **`background-blend-mode`** CSS property sets how an element's background images should blend with each other and with the element's background color.
305   *
306   * **Syntax**: `<blend-mode>#`
307   *
308   * **Initial value**: `normal`
309   *
310   * | Chrome | Firefox | Safari |  Edge  | IE  |
311   * | :----: | :-----: | :----: | :----: | :-: |
312   * | **35** | **30**  | **8**  | **79** | No  |
313   *
314   * @see https://developer.mozilla.org/docs/Web/CSS/background-blend-mode
315   */
316  backgroundBlendMode?: Property.BackgroundBlendMode;
317  /**
318   * The **`background-clip`** CSS property sets whether an element's background extends underneath its border box, padding box, or content box.
319   *
320   * **Syntax**: `<box>#`
321   *
322   * **Initial value**: `border-box`
323   *
324   * | Chrome | Firefox |   Safari    |  Edge  |  IE   |
325   * | :----: | :-----: | :---------: | :----: | :---: |
326   * | **1**  |  **4**  | **3** _-x-_ | **12** | **9** |
327   *
328   * @see https://developer.mozilla.org/docs/Web/CSS/background-clip
329   */
330  backgroundClip?: Property.BackgroundClip;
331  /**
332   * The **`background-color`** CSS property sets the background color of an element.
333   *
334   * **Syntax**: `<color>`
335   *
336   * **Initial value**: `transparent`
337   *
338   * | Chrome | Firefox | Safari |  Edge  |  IE   |
339   * | :----: | :-----: | :----: | :----: | :---: |
340   * | **1**  |  **1**  | **1**  | **12** | **4** |
341   *
342   * @see https://developer.mozilla.org/docs/Web/CSS/background-color
343   */
344  backgroundColor?: Property.BackgroundColor;
345  /**
346   * The **`background-image`** CSS property sets one or more background images on an element.
347   *
348   * **Syntax**: `<bg-image>#`
349   *
350   * **Initial value**: `none`
351   *
352   * | Chrome | Firefox | Safari |  Edge  |  IE   |
353   * | :----: | :-----: | :----: | :----: | :---: |
354   * | **1**  |  **1**  | **1**  | **12** | **4** |
355   *
356   * @see https://developer.mozilla.org/docs/Web/CSS/background-image
357   */
358  backgroundImage?: Property.BackgroundImage;
359  /**
360   * The **`background-origin`** CSS property sets the background's origin: from the border start, inside the border, or inside the padding.
361   *
362   * **Syntax**: `<box>#`
363   *
364   * **Initial value**: `padding-box`
365   *
366   * | Chrome | Firefox | Safari |  Edge  |  IE   |
367   * | :----: | :-----: | :----: | :----: | :---: |
368   * | **1**  |  **4**  | **3**  | **12** | **9** |
369   *
370   * @see https://developer.mozilla.org/docs/Web/CSS/background-origin
371   */
372  backgroundOrigin?: Property.BackgroundOrigin;
373  /**
374   * The **`background-position-x`** CSS property sets the initial horizontal position for each background image. The position is relative to the position layer set by `background-origin`.
375   *
376   * **Syntax**: `[ center | [ [ left | right | x-start | x-end ]? <length-percentage>? ]! ]#`
377   *
378   * **Initial value**: `left`
379   *
380   * | Chrome | Firefox | Safari |  Edge  |  IE   |
381   * | :----: | :-----: | :----: | :----: | :---: |
382   * | **1**  | **49**  | **1**  | **12** | **6** |
383   *
384   * @see https://developer.mozilla.org/docs/Web/CSS/background-position-x
385   */
386  backgroundPositionX?: Property.BackgroundPositionX<TLength>;
387  /**
388   * The **`background-position-y`** CSS property sets the initial vertical position for each background image. The position is relative to the position layer set by `background-origin`.
389   *
390   * **Syntax**: `[ center | [ [ top | bottom | y-start | y-end ]? <length-percentage>? ]! ]#`
391   *
392   * **Initial value**: `top`
393   *
394   * | Chrome | Firefox | Safari |  Edge  |  IE   |
395   * | :----: | :-----: | :----: | :----: | :---: |
396   * | **1**  | **49**  | **1**  | **12** | **6** |
397   *
398   * @see https://developer.mozilla.org/docs/Web/CSS/background-position-y
399   */
400  backgroundPositionY?: Property.BackgroundPositionY<TLength>;
401  /**
402   * The **`background-repeat`** CSS property sets how background images are repeated. A background image can be repeated along the horizontal and vertical axes, or not repeated at all.
403   *
404   * **Syntax**: `<repeat-style>#`
405   *
406   * **Initial value**: `repeat`
407   *
408   * | Chrome | Firefox | Safari |  Edge  |  IE   |
409   * | :----: | :-----: | :----: | :----: | :---: |
410   * | **1**  |  **1**  | **1**  | **12** | **4** |
411   *
412   * @see https://developer.mozilla.org/docs/Web/CSS/background-repeat
413   */
414  backgroundRepeat?: Property.BackgroundRepeat;
415  /**
416   * The **`background-size`** CSS property sets the size of the element's background image. The image can be left to its natural size, stretched, or constrained to fit the available space.
417   *
418   * **Syntax**: `<bg-size>#`
419   *
420   * **Initial value**: `auto auto`
421   *
422   * | Chrome  | Firefox | Safari  |  Edge  |  IE   |
423   * | :-----: | :-----: | :-----: | :----: | :---: |
424   * |  **3**  |  **4**  |  **5**  | **12** | **9** |
425   * | 1 _-x-_ |         | 3 _-x-_ |        |       |
426   *
427   * @see https://developer.mozilla.org/docs/Web/CSS/background-size
428   */
429  backgroundSize?: Property.BackgroundSize<TLength>;
430  /**
431   * **Syntax**: `clip | ellipsis | <string>`
432   *
433   * **Initial value**: `clip`
434   */
435  blockOverflow?: Property.BlockOverflow;
436  /**
437   * The **`block-size`** CSS property defines the horizontal or vertical size of an element's block, depending on its writing mode. It corresponds to either the `width` or the `height` property, depending on the value of `writing-mode`.
438   *
439   * **Syntax**: `<'width'>`
440   *
441   * **Initial value**: `auto`
442   *
443   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
444   * | :----: | :-----: | :------: | :----: | :-: |
445   * | **57** | **41**  | **12.1** | **79** | No  |
446   *
447   * @see https://developer.mozilla.org/docs/Web/CSS/block-size
448   */
449  blockSize?: Property.BlockSize<TLength>;
450  /**
451   * The **`border-block-color`** CSS property defines the color of the logical block borders of an element, which maps to a physical border color depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-color` and `border-bottom-color`, or `border-right-color` and `border-left-color` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
452   *
453   * **Syntax**: `<'border-top-color'>{1,2}`
454   *
455   * **Initial value**: `currentcolor`
456   *
457   * | Chrome | Firefox | Safari | Edge | IE  |
458   * | :----: | :-----: | :----: | :--: | :-: |
459   * | **87** | **66**  |   No   | n/a  | No  |
460   *
461   * @see https://developer.mozilla.org/docs/Web/CSS/border-block-color
462   */
463  borderBlockColor?: Property.BorderBlockColor;
464  /**
465   * The **`border-block-end-color`** CSS property defines the color of the logical block-end border of an element, which maps to a physical border color depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-color`, `border-right-color`, `border-bottom-color`, or `border-left-color` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
466   *
467   * **Syntax**: `<'border-top-color'>`
468   *
469   * **Initial value**: `currentcolor`
470   *
471   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
472   * | :----: | :-----: | :------: | :----: | :-: |
473   * | **69** | **41**  | **12.1** | **79** | No  |
474   *
475   * @see https://developer.mozilla.org/docs/Web/CSS/border-block-end-color
476   */
477  borderBlockEndColor?: Property.BorderBlockEndColor;
478  /**
479   * The **`border-block-end-style`** CSS property defines the style of the logical block-end border of an element, which maps to a physical border style depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-style`, `border-right-style`, `border-bottom-style`, or `border-left-style` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
480   *
481   * **Syntax**: `<'border-top-style'>`
482   *
483   * **Initial value**: `none`
484   *
485   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
486   * | :----: | :-----: | :------: | :----: | :-: |
487   * | **69** | **41**  | **12.1** | **79** | No  |
488   *
489   * @see https://developer.mozilla.org/docs/Web/CSS/border-block-end-style
490   */
491  borderBlockEndStyle?: Property.BorderBlockEndStyle;
492  /**
493   * The **`border-block-end-width`** CSS property defines the width of the logical block-end border of an element, which maps to a physical border width depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-width`, `border-right-width`, `border-bottom-width`, or `border-left-width` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
494   *
495   * **Syntax**: `<'border-top-width'>`
496   *
497   * **Initial value**: `medium`
498   *
499   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
500   * | :----: | :-----: | :------: | :----: | :-: |
501   * | **69** | **41**  | **12.1** | **79** | No  |
502   *
503   * @see https://developer.mozilla.org/docs/Web/CSS/border-block-end-width
504   */
505  borderBlockEndWidth?: Property.BorderBlockEndWidth<TLength>;
506  /**
507   * The **`border-block-start-color`** CSS property defines the color of the logical block-start border of an element, which maps to a physical border color depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-color`, `border-right-color`, `border-bottom-color`, or `border-left-color` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
508   *
509   * **Syntax**: `<'border-top-color'>`
510   *
511   * **Initial value**: `currentcolor`
512   *
513   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
514   * | :----: | :-----: | :------: | :----: | :-: |
515   * | **69** | **41**  | **12.1** | **79** | No  |
516   *
517   * @see https://developer.mozilla.org/docs/Web/CSS/border-block-start-color
518   */
519  borderBlockStartColor?: Property.BorderBlockStartColor;
520  /**
521   * The **`border-block-start-style`** CSS property defines the style of the logical block start border of an element, which maps to a physical border style depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-style`, `border-right-style`, `border-bottom-style`, or `border-left-style` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
522   *
523   * **Syntax**: `<'border-top-style'>`
524   *
525   * **Initial value**: `none`
526   *
527   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
528   * | :----: | :-----: | :------: | :----: | :-: |
529   * | **69** | **41**  | **12.1** | **79** | No  |
530   *
531   * @see https://developer.mozilla.org/docs/Web/CSS/border-block-start-style
532   */
533  borderBlockStartStyle?: Property.BorderBlockStartStyle;
534  /**
535   * The **`border-block-start-width`** CSS property defines the width of the logical block-start border of an element, which maps to a physical border width depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-width`, `border-right-width`, `border-bottom-width`, or `border-left-width` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
536   *
537   * **Syntax**: `<'border-top-width'>`
538   *
539   * **Initial value**: `medium`
540   *
541   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
542   * | :----: | :-----: | :------: | :----: | :-: |
543   * | **69** | **41**  | **12.1** | **79** | No  |
544   *
545   * @see https://developer.mozilla.org/docs/Web/CSS/border-block-start-width
546   */
547  borderBlockStartWidth?: Property.BorderBlockStartWidth<TLength>;
548  /**
549   * The **`border-block-style`** CSS property defines the style of the logical block borders of an element, which maps to a physical border style depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-style` and `border-bottom-style`, or `border-left-style` and `border-right-style` properties depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
550   *
551   * **Syntax**: `<'border-top-style'>`
552   *
553   * **Initial value**: `none`
554   *
555   * | Chrome | Firefox | Safari | Edge | IE  |
556   * | :----: | :-----: | :----: | :--: | :-: |
557   * | **87** | **66**  |   No   | n/a  | No  |
558   *
559   * @see https://developer.mozilla.org/docs/Web/CSS/border-block-style
560   */
561  borderBlockStyle?: Property.BorderBlockStyle;
562  /**
563   * The **`border-block-width`** CSS property defines the width of the logical block borders of an element, which maps to a physical border width depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-width` and `border-bottom-width`, or `border-left-width`, and `border-right-width` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
564   *
565   * **Syntax**: `<'border-top-width'>`
566   *
567   * **Initial value**: `medium`
568   *
569   * | Chrome | Firefox | Safari | Edge | IE  |
570   * | :----: | :-----: | :----: | :--: | :-: |
571   * | **87** | **66**  |   No   | n/a  | No  |
572   *
573   * @see https://developer.mozilla.org/docs/Web/CSS/border-block-width
574   */
575  borderBlockWidth?: Property.BorderBlockWidth<TLength>;
576  /**
577   * The **`border-bottom-color`** CSS property sets the color of an element's bottom border. It can also be set with the shorthand CSS properties `border-color` or `border-bottom`.
578   *
579   * **Syntax**: `<'border-top-color'>`
580   *
581   * **Initial value**: `currentcolor`
582   *
583   * | Chrome | Firefox | Safari |  Edge  |  IE   |
584   * | :----: | :-----: | :----: | :----: | :---: |
585   * | **1**  |  **1**  | **1**  | **12** | **4** |
586   *
587   * @see https://developer.mozilla.org/docs/Web/CSS/border-bottom-color
588   */
589  borderBottomColor?: Property.BorderBottomColor;
590  /**
591   * The **`border-bottom-left-radius`** CSS property rounds the bottom-left corner of an element by specifying the radius (or the radius of the semi-major and semi-minor axes) of the ellipse defining the curvature of the corner.
592   *
593   * **Syntax**: `<length-percentage>{1,2}`
594   *
595   * **Initial value**: `0`
596   *
597   * | Chrome  | Firefox | Safari  |  Edge  |  IE   |
598   * | :-----: | :-----: | :-----: | :----: | :---: |
599   * |  **4**  |  **4**  |  **5**  | **12** | **9** |
600   * | 1 _-x-_ |         | 3 _-x-_ |        |       |
601   *
602   * @see https://developer.mozilla.org/docs/Web/CSS/border-bottom-left-radius
603   */
604  borderBottomLeftRadius?: Property.BorderBottomLeftRadius<TLength>;
605  /**
606   * The **`border-bottom-right-radius`** CSS property rounds the bottom-right corner of an element by specifying the radius (or the radius of the semi-major and semi-minor axes) of the ellipse defining the curvature of the corner.
607   *
608   * **Syntax**: `<length-percentage>{1,2}`
609   *
610   * **Initial value**: `0`
611   *
612   * | Chrome  | Firefox | Safari  |  Edge  |  IE   |
613   * | :-----: | :-----: | :-----: | :----: | :---: |
614   * |  **4**  |  **4**  |  **5**  | **12** | **9** |
615   * | 1 _-x-_ |         | 3 _-x-_ |        |       |
616   *
617   * @see https://developer.mozilla.org/docs/Web/CSS/border-bottom-right-radius
618   */
619  borderBottomRightRadius?: Property.BorderBottomRightRadius<TLength>;
620  /**
621   * The **`border-bottom-style`** CSS property sets the line style of an element's bottom `border`.
622   *
623   * **Syntax**: `<line-style>`
624   *
625   * **Initial value**: `none`
626   *
627   * | Chrome | Firefox | Safari |  Edge  |   IE    |
628   * | :----: | :-----: | :----: | :----: | :-----: |
629   * | **1**  |  **1**  | **1**  | **12** | **5.5** |
630   *
631   * @see https://developer.mozilla.org/docs/Web/CSS/border-bottom-style
632   */
633  borderBottomStyle?: Property.BorderBottomStyle;
634  /**
635   * The **`border-bottom-width`** CSS property sets the width of the bottom border of an element.
636   *
637   * **Syntax**: `<line-width>`
638   *
639   * **Initial value**: `medium`
640   *
641   * | Chrome | Firefox | Safari |  Edge  |  IE   |
642   * | :----: | :-----: | :----: | :----: | :---: |
643   * | **1**  |  **1**  | **1**  | **12** | **4** |
644   *
645   * @see https://developer.mozilla.org/docs/Web/CSS/border-bottom-width
646   */
647  borderBottomWidth?: Property.BorderBottomWidth<TLength>;
648  /**
649   * The **`border-collapse`** CSS property sets whether cells inside a `<table>` have shared or separate borders.
650   *
651   * **Syntax**: `collapse | separate`
652   *
653   * **Initial value**: `separate`
654   *
655   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
656   * | :----: | :-----: | :-----: | :----: | :---: |
657   * | **1**  |  **1**  | **1.2** | **12** | **5** |
658   *
659   * @see https://developer.mozilla.org/docs/Web/CSS/border-collapse
660   */
661  borderCollapse?: Property.BorderCollapse;
662  /**
663   * The **`border-end-end-radius`** CSS property defines a logical border radius on an element, which maps to a physical border radius that depends on the element's `writing-mode`, `direction`, and `text-orientation`. This is useful when building styles to work regardless of the text orientation and writing mode.
664   *
665   * **Syntax**: `<length-percentage>{1,2}`
666   *
667   * **Initial value**: `0`
668   *
669   * | Chrome | Firefox | Safari |  Edge  | IE  |
670   * | :----: | :-----: | :----: | :----: | :-: |
671   * | **89** | **66**  |   No   | **89** | No  |
672   *
673   * @see https://developer.mozilla.org/docs/Web/CSS/border-end-end-radius
674   */
675  borderEndEndRadius?: Property.BorderEndEndRadius<TLength>;
676  /**
677   * The **`border-end-start-radius`** CSS property defines a logical border radius on an element, which maps to a physical border radius depending on the element's `writing-mode`, `direction`, and `text-orientation`. This is useful when building styles to work regardless of the text orientation and writing mode.
678   *
679   * **Syntax**: `<length-percentage>{1,2}`
680   *
681   * **Initial value**: `0`
682   *
683   * | Chrome | Firefox | Safari |  Edge  | IE  |
684   * | :----: | :-----: | :----: | :----: | :-: |
685   * | **89** | **66**  |   No   | **89** | No  |
686   *
687   * @see https://developer.mozilla.org/docs/Web/CSS/border-end-start-radius
688   */
689  borderEndStartRadius?: Property.BorderEndStartRadius<TLength>;
690  /**
691   * The **`border-image-outset`** CSS property sets the distance by which an element's border image is set out from its border box.
692   *
693   * **Syntax**: `[ <length> | <number> ]{1,4}`
694   *
695   * **Initial value**: `0`
696   *
697   * | Chrome | Firefox | Safari |  Edge  |   IE   |
698   * | :----: | :-----: | :----: | :----: | :----: |
699   * | **15** | **15**  | **6**  | **12** | **11** |
700   *
701   * @see https://developer.mozilla.org/docs/Web/CSS/border-image-outset
702   */
703  borderImageOutset?: Property.BorderImageOutset<TLength>;
704  /**
705   * The **`border-image-repeat`** CSS property defines how the edge regions of a source image are adjusted to fit the dimensions of an element's border image.
706   *
707   * **Syntax**: `[ stretch | repeat | round | space ]{1,2}`
708   *
709   * **Initial value**: `stretch`
710   *
711   * | Chrome | Firefox | Safari |  Edge  |   IE   |
712   * | :----: | :-----: | :----: | :----: | :----: |
713   * | **15** | **15**  | **6**  | **12** | **11** |
714   *
715   * @see https://developer.mozilla.org/docs/Web/CSS/border-image-repeat
716   */
717  borderImageRepeat?: Property.BorderImageRepeat;
718  /**
719   * The **`border-image-slice`** CSS property divides the image specified by `border-image-source` into regions. These regions form the components of an element's border image.
720   *
721   * **Syntax**: `<number-percentage>{1,4} && fill?`
722   *
723   * **Initial value**: `100%`
724   *
725   * | Chrome | Firefox | Safari |  Edge  |   IE   |
726   * | :----: | :-----: | :----: | :----: | :----: |
727   * | **15** | **15**  | **6**  | **12** | **11** |
728   *
729   * @see https://developer.mozilla.org/docs/Web/CSS/border-image-slice
730   */
731  borderImageSlice?: Property.BorderImageSlice;
732  /**
733   * The **`border-image-source`** CSS property sets the source image used to create an element's border image.
734   *
735   * **Syntax**: `none | <image>`
736   *
737   * **Initial value**: `none`
738   *
739   * | Chrome | Firefox | Safari |  Edge  |   IE   |
740   * | :----: | :-----: | :----: | :----: | :----: |
741   * | **15** | **15**  | **6**  | **12** | **11** |
742   *
743   * @see https://developer.mozilla.org/docs/Web/CSS/border-image-source
744   */
745  borderImageSource?: Property.BorderImageSource;
746  /**
747   * The **`border-image-width`** CSS property sets the width of an element's border image.
748   *
749   * **Syntax**: `[ <length-percentage> | <number> | auto ]{1,4}`
750   *
751   * **Initial value**: `1`
752   *
753   * | Chrome | Firefox | Safari |  Edge  |   IE   |
754   * | :----: | :-----: | :----: | :----: | :----: |
755   * | **15** | **13**  | **6**  | **12** | **11** |
756   *
757   * @see https://developer.mozilla.org/docs/Web/CSS/border-image-width
758   */
759  borderImageWidth?: Property.BorderImageWidth<TLength>;
760  /**
761   * The **`border-inline-color`** CSS property defines the color of the logical inline borders of an element, which maps to a physical border color depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-color` and `border-bottom-color`, or `border-right-color` and `border-left-color` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
762   *
763   * **Syntax**: `<'border-top-color'>{1,2}`
764   *
765   * **Initial value**: `currentcolor`
766   *
767   * | Chrome | Firefox | Safari | Edge | IE  |
768   * | :----: | :-----: | :----: | :--: | :-: |
769   * | **87** | **66**  |   No   | n/a  | No  |
770   *
771   * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-color
772   */
773  borderInlineColor?: Property.BorderInlineColor;
774  /**
775   * The **`border-inline-end-color`** CSS property defines the color of the logical inline-end border of an element, which maps to a physical border color depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-color`, `border-right-color`, `border-bottom-color`, or `border-left-color` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
776   *
777   * **Syntax**: `<'border-top-color'>`
778   *
779   * **Initial value**: `currentcolor`
780   *
781   * | Chrome |           Firefox           |  Safari  |  Edge  | IE  |
782   * | :----: | :-------------------------: | :------: | :----: | :-: |
783   * | **69** |           **41**            | **12.1** | **79** | No  |
784   * |        | 3 _(-moz-border-end-color)_ |          |        |     |
785   *
786   * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-end-color
787   */
788  borderInlineEndColor?: Property.BorderInlineEndColor;
789  /**
790   * The **`border-inline-end-style`** CSS property defines the style of the logical inline end border of an element, which maps to a physical border style depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-style`, `border-right-style`, `border-bottom-style`, or `border-left-style` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
791   *
792   * **Syntax**: `<'border-top-style'>`
793   *
794   * **Initial value**: `none`
795   *
796   * | Chrome |           Firefox           |  Safari  |  Edge  | IE  |
797   * | :----: | :-------------------------: | :------: | :----: | :-: |
798   * | **69** |           **41**            | **12.1** | **79** | No  |
799   * |        | 3 _(-moz-border-end-style)_ |          |        |     |
800   *
801   * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-end-style
802   */
803  borderInlineEndStyle?: Property.BorderInlineEndStyle;
804  /**
805   * The **`border-inline-end-width`** CSS property defines the width of the logical inline-end border of an element, which maps to a physical border width depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-width`, `border-right-width`, `border-bottom-width`, or `border-left-width` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
806   *
807   * **Syntax**: `<'border-top-width'>`
808   *
809   * **Initial value**: `medium`
810   *
811   * | Chrome |           Firefox           |  Safari  |  Edge  | IE  |
812   * | :----: | :-------------------------: | :------: | :----: | :-: |
813   * | **69** |           **41**            | **12.1** | **79** | No  |
814   * |        | 3 _(-moz-border-end-width)_ |          |        |     |
815   *
816   * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-end-width
817   */
818  borderInlineEndWidth?: Property.BorderInlineEndWidth<TLength>;
819  /**
820   * The **`border-inline-start-color`** CSS property defines the color of the logical inline start border of an element, which maps to a physical border color depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-color`, `border-right-color`, `border-bottom-color`, or `border-left-color` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
821   *
822   * **Syntax**: `<'border-top-color'>`
823   *
824   * **Initial value**: `currentcolor`
825   *
826   * | Chrome |            Firefox            |  Safari  |  Edge  | IE  |
827   * | :----: | :---------------------------: | :------: | :----: | :-: |
828   * | **69** |            **41**             | **12.1** | **79** | No  |
829   * |        | 3 _(-moz-border-start-color)_ |          |        |     |
830   *
831   * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-start-color
832   */
833  borderInlineStartColor?: Property.BorderInlineStartColor;
834  /**
835   * The **`border-inline-start-style`** CSS property defines the style of the logical inline start border of an element, which maps to a physical border style depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-style`, `border-right-style`, `border-bottom-style`, or `border-left-style` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
836   *
837   * **Syntax**: `<'border-top-style'>`
838   *
839   * **Initial value**: `none`
840   *
841   * | Chrome |            Firefox            |  Safari  |  Edge  | IE  |
842   * | :----: | :---------------------------: | :------: | :----: | :-: |
843   * | **69** |            **41**             | **12.1** | **79** | No  |
844   * |        | 3 _(-moz-border-start-style)_ |          |        |     |
845   *
846   * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-start-style
847   */
848  borderInlineStartStyle?: Property.BorderInlineStartStyle;
849  /**
850   * The **`border-inline-start-width`** CSS property defines the width of the logical inline-start border of an element, which maps to a physical border width depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-width`, `border-right-width`, `border-bottom-width`, or `border-left-width` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
851   *
852   * **Syntax**: `<'border-top-width'>`
853   *
854   * **Initial value**: `medium`
855   *
856   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
857   * | :----: | :-----: | :------: | :----: | :-: |
858   * | **69** | **41**  | **12.1** | **79** | No  |
859   *
860   * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-start-width
861   */
862  borderInlineStartWidth?: Property.BorderInlineStartWidth<TLength>;
863  /**
864   * The **`border-inline-style`** CSS property defines the style of the logical inline borders of an element, which maps to a physical border style depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-style` and `border-bottom-style`, or `border-left-style` and `border-right-style` properties depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
865   *
866   * **Syntax**: `<'border-top-style'>`
867   *
868   * **Initial value**: `none`
869   *
870   * | Chrome | Firefox | Safari | Edge | IE  |
871   * | :----: | :-----: | :----: | :--: | :-: |
872   * | **87** | **66**  |   No   | n/a  | No  |
873   *
874   * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-style
875   */
876  borderInlineStyle?: Property.BorderInlineStyle;
877  /**
878   * The **`border-inline-width`** CSS property defines the width of the logical inline borders of an element, which maps to a physical border width depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-width` and `border-bottom-width`, or `border-left-width`, and `border-right-width` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
879   *
880   * **Syntax**: `<'border-top-width'>`
881   *
882   * **Initial value**: `medium`
883   *
884   * | Chrome | Firefox | Safari | Edge | IE  |
885   * | :----: | :-----: | :----: | :--: | :-: |
886   * | **87** | **66**  |   No   | n/a  | No  |
887   *
888   * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-width
889   */
890  borderInlineWidth?: Property.BorderInlineWidth<TLength>;
891  /**
892   * The **`border-left-color`** CSS property sets the color of an element's left border. It can also be set with the shorthand CSS properties `border-color` or `border-left`.
893   *
894   * **Syntax**: `<color>`
895   *
896   * **Initial value**: `currentcolor`
897   *
898   * | Chrome | Firefox | Safari |  Edge  |  IE   |
899   * | :----: | :-----: | :----: | :----: | :---: |
900   * | **1**  |  **1**  | **1**  | **12** | **4** |
901   *
902   * @see https://developer.mozilla.org/docs/Web/CSS/border-left-color
903   */
904  borderLeftColor?: Property.BorderLeftColor;
905  /**
906   * The **`border-left-style`** CSS property sets the line style of an element's left `border`.
907   *
908   * **Syntax**: `<line-style>`
909   *
910   * **Initial value**: `none`
911   *
912   * | Chrome | Firefox | Safari |  Edge  |   IE    |
913   * | :----: | :-----: | :----: | :----: | :-----: |
914   * | **1**  |  **1**  | **1**  | **12** | **5.5** |
915   *
916   * @see https://developer.mozilla.org/docs/Web/CSS/border-left-style
917   */
918  borderLeftStyle?: Property.BorderLeftStyle;
919  /**
920   * The **`border-left-width`** CSS property sets the width of the left border of an element.
921   *
922   * **Syntax**: `<line-width>`
923   *
924   * **Initial value**: `medium`
925   *
926   * | Chrome | Firefox | Safari |  Edge  |  IE   |
927   * | :----: | :-----: | :----: | :----: | :---: |
928   * | **1**  |  **1**  | **1**  | **12** | **4** |
929   *
930   * @see https://developer.mozilla.org/docs/Web/CSS/border-left-width
931   */
932  borderLeftWidth?: Property.BorderLeftWidth<TLength>;
933  /**
934   * The **`border-right-color`** CSS property sets the color of an element's right border. It can also be set with the shorthand CSS properties `border-color` or `border-right`.
935   *
936   * **Syntax**: `<color>`
937   *
938   * **Initial value**: `currentcolor`
939   *
940   * | Chrome | Firefox | Safari |  Edge  |  IE   |
941   * | :----: | :-----: | :----: | :----: | :---: |
942   * | **1**  |  **1**  | **1**  | **12** | **4** |
943   *
944   * @see https://developer.mozilla.org/docs/Web/CSS/border-right-color
945   */
946  borderRightColor?: Property.BorderRightColor;
947  /**
948   * The **`border-right-style`** CSS property sets the line style of an element's right `border`.
949   *
950   * **Syntax**: `<line-style>`
951   *
952   * **Initial value**: `none`
953   *
954   * | Chrome | Firefox | Safari |  Edge  |   IE    |
955   * | :----: | :-----: | :----: | :----: | :-----: |
956   * | **1**  |  **1**  | **1**  | **12** | **5.5** |
957   *
958   * @see https://developer.mozilla.org/docs/Web/CSS/border-right-style
959   */
960  borderRightStyle?: Property.BorderRightStyle;
961  /**
962   * The **`border-right-width`** CSS property sets the width of the right border of an element.
963   *
964   * **Syntax**: `<line-width>`
965   *
966   * **Initial value**: `medium`
967   *
968   * | Chrome | Firefox | Safari |  Edge  |  IE   |
969   * | :----: | :-----: | :----: | :----: | :---: |
970   * | **1**  |  **1**  | **1**  | **12** | **4** |
971   *
972   * @see https://developer.mozilla.org/docs/Web/CSS/border-right-width
973   */
974  borderRightWidth?: Property.BorderRightWidth<TLength>;
975  /**
976   * The **`border-spacing`** CSS property sets the distance between the borders of adjacent `<table>` cells. This property applies only when `border-collapse` is `separate`.
977   *
978   * **Syntax**: `<length> <length>?`
979   *
980   * **Initial value**: `0`
981   *
982   * | Chrome | Firefox | Safari |  Edge  |  IE   |
983   * | :----: | :-----: | :----: | :----: | :---: |
984   * | **1**  |  **1**  | **1**  | **12** | **8** |
985   *
986   * @see https://developer.mozilla.org/docs/Web/CSS/border-spacing
987   */
988  borderSpacing?: Property.BorderSpacing<TLength>;
989  /**
990   * The **`border-start-end-radius`** CSS property defines a logical border radius on an element, which maps to a physical border radius depending on the element's `writing-mode`, `direction`, and `text-orientation`. This is useful when building styles to work regardless of the text orientation and writing mode.
991   *
992   * **Syntax**: `<length-percentage>{1,2}`
993   *
994   * **Initial value**: `0`
995   *
996   * | Chrome | Firefox | Safari |  Edge  | IE  |
997   * | :----: | :-----: | :----: | :----: | :-: |
998   * | **89** | **66**  |   No   | **89** | No  |
999   *
1000   * @see https://developer.mozilla.org/docs/Web/CSS/border-start-end-radius
1001   */
1002  borderStartEndRadius?: Property.BorderStartEndRadius<TLength>;
1003  /**
1004   * The **`border-start-start-radius`** CSS property defines a logical border radius on an element, which maps to a physical border radius that depends on the element's `writing-mode`, `direction`, and `text-orientation`. This is useful when building styles to work regardless of the text orientation and writing mode.
1005   *
1006   * **Syntax**: `<length-percentage>{1,2}`
1007   *
1008   * **Initial value**: `0`
1009   *
1010   * | Chrome | Firefox | Safari |  Edge  | IE  |
1011   * | :----: | :-----: | :----: | :----: | :-: |
1012   * | **89** | **66**  |   No   | **89** | No  |
1013   *
1014   * @see https://developer.mozilla.org/docs/Web/CSS/border-start-start-radius
1015   */
1016  borderStartStartRadius?: Property.BorderStartStartRadius<TLength>;
1017  /**
1018   * The **`border-top-color`** CSS property sets the color of an element's top border. It can also be set with the shorthand CSS properties `border-color` or `border-top`.
1019   *
1020   * **Syntax**: `<color>`
1021   *
1022   * **Initial value**: `currentcolor`
1023   *
1024   * | Chrome | Firefox | Safari |  Edge  |  IE   |
1025   * | :----: | :-----: | :----: | :----: | :---: |
1026   * | **1**  |  **1**  | **1**  | **12** | **4** |
1027   *
1028   * @see https://developer.mozilla.org/docs/Web/CSS/border-top-color
1029   */
1030  borderTopColor?: Property.BorderTopColor;
1031  /**
1032   * The **`border-top-left-radius`** CSS property rounds the top-left corner of an element by specifying the radius (or the radius of the semi-major and semi-minor axes) of the ellipse defining the curvature of the corner.
1033   *
1034   * **Syntax**: `<length-percentage>{1,2}`
1035   *
1036   * **Initial value**: `0`
1037   *
1038   * | Chrome  | Firefox | Safari  |  Edge  |  IE   |
1039   * | :-----: | :-----: | :-----: | :----: | :---: |
1040   * |  **4**  |  **4**  |  **5**  | **12** | **9** |
1041   * | 1 _-x-_ |         | 3 _-x-_ |        |       |
1042   *
1043   * @see https://developer.mozilla.org/docs/Web/CSS/border-top-left-radius
1044   */
1045  borderTopLeftRadius?: Property.BorderTopLeftRadius<TLength>;
1046  /**
1047   * The **`border-top-right-radius`** CSS property rounds the top-right corner of an element by specifying the radius (or the radius of the semi-major and semi-minor axes) of the ellipse defining the curvature of the corner.
1048   *
1049   * **Syntax**: `<length-percentage>{1,2}`
1050   *
1051   * **Initial value**: `0`
1052   *
1053   * | Chrome  | Firefox | Safari  |  Edge  |  IE   |
1054   * | :-----: | :-----: | :-----: | :----: | :---: |
1055   * |  **4**  |  **4**  |  **5**  | **12** | **9** |
1056   * | 1 _-x-_ |         | 3 _-x-_ |        |       |
1057   *
1058   * @see https://developer.mozilla.org/docs/Web/CSS/border-top-right-radius
1059   */
1060  borderTopRightRadius?: Property.BorderTopRightRadius<TLength>;
1061  /**
1062   * The **`border-top-style`** CSS property sets the line style of an element's top `border`.
1063   *
1064   * **Syntax**: `<line-style>`
1065   *
1066   * **Initial value**: `none`
1067   *
1068   * | Chrome | Firefox | Safari |  Edge  |   IE    |
1069   * | :----: | :-----: | :----: | :----: | :-----: |
1070   * | **1**  |  **1**  | **1**  | **12** | **5.5** |
1071   *
1072   * @see https://developer.mozilla.org/docs/Web/CSS/border-top-style
1073   */
1074  borderTopStyle?: Property.BorderTopStyle;
1075  /**
1076   * The **`border-top-width`** CSS property sets the width of the top border of an element.
1077   *
1078   * **Syntax**: `<line-width>`
1079   *
1080   * **Initial value**: `medium`
1081   *
1082   * | Chrome | Firefox | Safari |  Edge  |  IE   |
1083   * | :----: | :-----: | :----: | :----: | :---: |
1084   * | **1**  |  **1**  | **1**  | **12** | **4** |
1085   *
1086   * @see https://developer.mozilla.org/docs/Web/CSS/border-top-width
1087   */
1088  borderTopWidth?: Property.BorderTopWidth<TLength>;
1089  /**
1090   * The **`bottom`** CSS property participates in setting the vertical position of a positioned element. It has no effect on non-positioned elements.
1091   *
1092   * **Syntax**: `<length> | <percentage> | auto`
1093   *
1094   * **Initial value**: `auto`
1095   *
1096   * | Chrome | Firefox | Safari |  Edge  |  IE   |
1097   * | :----: | :-----: | :----: | :----: | :---: |
1098   * | **1**  |  **1**  | **1**  | **12** | **5** |
1099   *
1100   * @see https://developer.mozilla.org/docs/Web/CSS/bottom
1101   */
1102  bottom?: Property.Bottom<TLength>;
1103  /**
1104   * The **`box-decoration-break`** CSS property specifies how an element's fragments should be rendered when broken across multiple lines, columns, or pages.
1105   *
1106   * **Syntax**: `slice | clone`
1107   *
1108   * **Initial value**: `slice`
1109   *
1110   * |    Chrome    | Firefox |    Safari     |     Edge     | IE  |
1111   * | :----------: | :-----: | :-----------: | :----------: | :-: |
1112   * | **22** _-x-_ | **32**  | **6.1** _-x-_ | **79** _-x-_ | No  |
1113   *
1114   * @see https://developer.mozilla.org/docs/Web/CSS/box-decoration-break
1115   */
1116  boxDecorationBreak?: Property.BoxDecorationBreak;
1117  /**
1118   * The **`box-shadow`** CSS property adds shadow effects around an element's frame. You can set multiple effects separated by commas. A box shadow is described by X and Y offsets relative to the element, blur and spread radius, and color.
1119   *
1120   * **Syntax**: `none | <shadow>#`
1121   *
1122   * **Initial value**: `none`
1123   *
1124   * | Chrome  | Firefox | Safari  |  Edge  |  IE   |
1125   * | :-----: | :-----: | :-----: | :----: | :---: |
1126   * | **10**  |  **4**  | **5.1** | **12** | **9** |
1127   * | 1 _-x-_ |         | 3 _-x-_ |        |       |
1128   *
1129   * @see https://developer.mozilla.org/docs/Web/CSS/box-shadow
1130   */
1131  boxShadow?: Property.BoxShadow;
1132  /**
1133   * The **`box-sizing`** CSS property sets how the total width and height of an element is calculated.
1134   *
1135   * **Syntax**: `content-box | border-box`
1136   *
1137   * **Initial value**: `content-box`
1138   *
1139   * | Chrome  | Firefox | Safari  |  Edge  |  IE   |
1140   * | :-----: | :-----: | :-----: | :----: | :---: |
1141   * | **10**  | **29**  | **5.1** | **12** | **8** |
1142   * | 1 _-x-_ | 1 _-x-_ | 3 _-x-_ |        |       |
1143   *
1144   * @see https://developer.mozilla.org/docs/Web/CSS/box-sizing
1145   */
1146  boxSizing?: Property.BoxSizing;
1147  /**
1148   * The **`break-after`** CSS property sets how page, column, or region breaks should behave after a generated box. If there is no generated box, the property is ignored.
1149   *
1150   * **Syntax**: `auto | avoid | always | all | avoid-page | page | left | right | recto | verso | avoid-column | column | avoid-region | region`
1151   *
1152   * **Initial value**: `auto`
1153   *
1154   * ---
1155   *
1156   * _Supported in Multi-column Layout_
1157   *
1158   * | Chrome | Firefox | Safari |  Edge  |   IE   |
1159   * | :----: | :-----: | :----: | :----: | :----: |
1160   * | **50** | **65**  |   No   | **12** | **10** |
1161   *
1162   * ---
1163   *
1164   * _Supported in Paged Media_
1165   *
1166   * | Chrome | Firefox | Safari |  Edge  |   IE   |
1167   * | :----: | :-----: | :----: | :----: | :----: |
1168   * | **50** | **65**  | **10** | **12** | **10** |
1169   *
1170   * ---
1171   *
1172   * @see https://developer.mozilla.org/docs/Web/CSS/break-after
1173   */
1174  breakAfter?: Property.BreakAfter;
1175  /**
1176   * The **`break-before`** CSS property sets how page, column, or region breaks should behave before a generated box. If there is no generated box, the property is ignored.
1177   *
1178   * **Syntax**: `auto | avoid | always | all | avoid-page | page | left | right | recto | verso | avoid-column | column | avoid-region | region`
1179   *
1180   * **Initial value**: `auto`
1181   *
1182   * ---
1183   *
1184   * _Supported in Multi-column Layout_
1185   *
1186   * | Chrome | Firefox | Safari |  Edge  |   IE   |
1187   * | :----: | :-----: | :----: | :----: | :----: |
1188   * | **50** | **65**  |   No   | **12** | **10** |
1189   *
1190   * ---
1191   *
1192   * _Supported in Paged Media_
1193   *
1194   * | Chrome | Firefox | Safari |  Edge  |   IE   |
1195   * | :----: | :-----: | :----: | :----: | :----: |
1196   * | **50** | **65**  | **10** | **12** | **10** |
1197   *
1198   * ---
1199   *
1200   * @see https://developer.mozilla.org/docs/Web/CSS/break-before
1201   */
1202  breakBefore?: Property.BreakBefore;
1203  /**
1204   * The **`break-inside`** CSS property sets how page, column, or region breaks should behave inside a generated box. If there is no generated box, the property is ignored.
1205   *
1206   * **Syntax**: `auto | avoid | avoid-page | avoid-column | avoid-region`
1207   *
1208   * **Initial value**: `auto`
1209   *
1210   * ---
1211   *
1212   * _Supported in Multi-column Layout_
1213   *
1214   * | Chrome | Firefox | Safari |  Edge  |   IE   |
1215   * | :----: | :-----: | :----: | :----: | :----: |
1216   * | **50** | **65**  | **10** | **12** | **10** |
1217   *
1218   * ---
1219   *
1220   * _Supported in Paged Media_
1221   *
1222   * | Chrome | Firefox | Safari |  Edge  |   IE   |
1223   * | :----: | :-----: | :----: | :----: | :----: |
1224   * | **50** | **65**  | **10** | **12** | **10** |
1225   *
1226   * ---
1227   *
1228   * @see https://developer.mozilla.org/docs/Web/CSS/break-inside
1229   */
1230  breakInside?: Property.BreakInside;
1231  /**
1232   * The **`caption-side`** CSS property puts the content of a table's `<caption>` on the specified side. The values are relative to the `writing-mode` of the table.
1233   *
1234   * **Syntax**: `top | bottom | block-start | block-end | inline-start | inline-end`
1235   *
1236   * **Initial value**: `top`
1237   *
1238   * | Chrome | Firefox | Safari |  Edge  |  IE   |
1239   * | :----: | :-----: | :----: | :----: | :---: |
1240   * | **1**  |  **1**  | **1**  | **12** | **8** |
1241   *
1242   * @see https://developer.mozilla.org/docs/Web/CSS/caption-side
1243   */
1244  captionSide?: Property.CaptionSide;
1245  /**
1246   * The **`caret-color`** CSS property sets the color of the **insertion caret**, the visible marker where the next character typed will be inserted. This is sometimes referred to as the **text input cursor**. The caret appears in elements such as `<input>` or those with the `contenteditable` attribute. The caret is typically a thin vertical line that flashes to help make it more noticeable. By default, it is black, but its color can be altered with this property.
1247   *
1248   * **Syntax**: `auto | <color>`
1249   *
1250   * **Initial value**: `auto`
1251   *
1252   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
1253   * | :----: | :-----: | :------: | :----: | :-: |
1254   * | **57** | **53**  | **11.1** | **79** | No  |
1255   *
1256   * @see https://developer.mozilla.org/docs/Web/CSS/caret-color
1257   */
1258  caretColor?: Property.CaretColor;
1259  /**
1260   * The **`clear`** CSS property sets whether an element must be moved below (cleared) floating elements that precede it. The `clear` property applies to floating and non-floating elements.
1261   *
1262   * **Syntax**: `none | left | right | both | inline-start | inline-end`
1263   *
1264   * **Initial value**: `none`
1265   *
1266   * | Chrome | Firefox | Safari |  Edge  |  IE   |
1267   * | :----: | :-----: | :----: | :----: | :---: |
1268   * | **1**  |  **1**  | **1**  | **12** | **4** |
1269   *
1270   * @see https://developer.mozilla.org/docs/Web/CSS/clear
1271   */
1272  clear?: Property.Clear;
1273  /**
1274   * The `**clip-path**` CSS property creates a clipping region that sets what part of an element should be shown. Parts that are inside the region are shown, while those outside are hidden.
1275   *
1276   * **Syntax**: `<clip-source> | [ <basic-shape> || <geometry-box> ] | none`
1277   *
1278   * **Initial value**: `none`
1279   *
1280   * |  Chrome  | Firefox |  Safari   |  Edge  |   IE   |
1281   * | :------: | :-----: | :-------: | :----: | :----: |
1282   * |  **55**  | **3.5** |  **9.1**  | **12** | **10** |
1283   * | 23 _-x-_ |         | 6.1 _-x-_ |        |        |
1284   *
1285   * @see https://developer.mozilla.org/docs/Web/CSS/clip-path
1286   */
1287  clipPath?: Property.ClipPath;
1288  /**
1289   * The **`color`** CSS property sets the foreground color value of an element's text and text decorations, and sets the `<currentcolor>` value. `currentcolor` may be used as an indirect value on _other_ properties and is the default for other color properties, such as `border-color`.
1290   *
1291   * **Syntax**: `<color>`
1292   *
1293   * **Initial value**: Varies from one browser to another
1294   *
1295   * | Chrome | Firefox | Safari |  Edge  |  IE   |
1296   * | :----: | :-----: | :----: | :----: | :---: |
1297   * | **1**  |  **1**  | **1**  | **12** | **3** |
1298   *
1299   * @see https://developer.mozilla.org/docs/Web/CSS/color
1300   */
1301  color?: Property.Color;
1302  /**
1303   * The **`color-adjust`** CSS property sets what, if anything, the user agent may do to optimize the appearance of the element on the output device. By default, the browser is allowed to make any adjustments to the element's appearance it determines to be necessary and prudent given the type and capabilities of the output device.
1304   *
1305   * **Syntax**: `economy | exact`
1306   *
1307   * **Initial value**: `economy`
1308   *
1309   * |                Chrome                 | Firefox |                Safari                |                 Edge                  | IE  |
1310   * | :-----------------------------------: | :-----: | :----------------------------------: | :-----------------------------------: | :-: |
1311   * | **49** _(-webkit-print-color-adjust)_ | **48**  | **6** _(-webkit-print-color-adjust)_ | **79** _(-webkit-print-color-adjust)_ | No  |
1312   *
1313   * @see https://developer.mozilla.org/docs/Web/CSS/color-adjust
1314   */
1315  colorAdjust?: Property.ColorAdjust;
1316  /**
1317   * The **`color-scheme`** CSS property allows an element to indicate which color schemes it can comfortably be rendered in.
1318   *
1319   * **Syntax**: `normal | [ light | dark | <custom-ident> ]+`
1320   *
1321   * **Initial value**: `normal`
1322   *
1323   * | Chrome | Firefox | Safari |  Edge  | IE  |
1324   * | :----: | :-----: | :----: | :----: | :-: |
1325   * | **81** |   No    | **13** | **81** | No  |
1326   *
1327   * @see https://developer.mozilla.org/docs/Web/CSS/color-scheme
1328   */
1329  colorScheme?: Property.ColorScheme;
1330  /**
1331   * The **`column-count`** CSS property breaks an element's content into the specified number of columns.
1332   *
1333   * **Syntax**: `<integer> | auto`
1334   *
1335   * **Initial value**: `auto`
1336   *
1337   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
1338   * | :-----: | :-----: | :-----: | :----: | :----: |
1339   * | **50**  | **52**  |  **9**  | **12** | **10** |
1340   * | 1 _-x-_ |         | 3 _-x-_ |        |        |
1341   *
1342   * @see https://developer.mozilla.org/docs/Web/CSS/column-count
1343   */
1344  columnCount?: Property.ColumnCount;
1345  /**
1346   * The **`column-fill`** CSS property controls how an element's contents are balanced when broken into columns.
1347   *
1348   * **Syntax**: `auto | balance | balance-all`
1349   *
1350   * **Initial value**: `balance`
1351   *
1352   * | Chrome | Firefox | Safari  |  Edge  |   IE   |
1353   * | :----: | :-----: | :-----: | :----: | :----: |
1354   * | **50** | **52**  |  **9**  | **12** | **10** |
1355   * |        |         | 8 _-x-_ |        |        |
1356   *
1357   * @see https://developer.mozilla.org/docs/Web/CSS/column-fill
1358   */
1359  columnFill?: Property.ColumnFill;
1360  /**
1361   * The **`column-gap`** CSS property sets the size of the gap (gutter) between an element's columns.
1362   *
1363   * **Syntax**: `normal | <length-percentage>`
1364   *
1365   * **Initial value**: `normal`
1366   *
1367   * ---
1368   *
1369   * _Supported in Flex Layout_
1370   *
1371   * | Chrome | Firefox | Safari |  Edge  | IE  |
1372   * | :----: | :-----: | :----: | :----: | :-: |
1373   * | **84** | **63**  |   No   | **84** | No  |
1374   *
1375   * ---
1376   *
1377   * _Supported in Grid Layout_
1378   *
1379   * |         Chrome         |        Firefox         |          Safari          |  Edge  | IE  |
1380   * | :--------------------: | :--------------------: | :----------------------: | :----: | :-: |
1381   * |         **66**         |         **61**         |         **12.1**         | **16** | No  |
1382   * | 57 _(grid-column-gap)_ | 52 _(grid-column-gap)_ | 10.1 _(grid-column-gap)_ |        |     |
1383   *
1384   * ---
1385   *
1386   * _Supported in Multi-column Layout_
1387   *
1388   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
1389   * | :-----: | :-----: | :-----: | :----: | :----: |
1390   * | **50**  | **52**  | **10**  | **12** | **10** |
1391   * | 1 _-x-_ |         | 3 _-x-_ |        |        |
1392   *
1393   * ---
1394   *
1395   * @see https://developer.mozilla.org/docs/Web/CSS/column-gap
1396   */
1397  columnGap?: Property.ColumnGap<TLength>;
1398  /**
1399   * The **`column-rule-color`** CSS property sets the color of the line drawn between columns in a multi-column layout.
1400   *
1401   * **Syntax**: `<color>`
1402   *
1403   * **Initial value**: `currentcolor`
1404   *
1405   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
1406   * | :-----: | :-----: | :-----: | :----: | :----: |
1407   * | **50**  | **52**  |  **9**  | **12** | **10** |
1408   * | 1 _-x-_ |         | 3 _-x-_ |        |        |
1409   *
1410   * @see https://developer.mozilla.org/docs/Web/CSS/column-rule-color
1411   */
1412  columnRuleColor?: Property.ColumnRuleColor;
1413  /**
1414   * The **`column-rule-style`** CSS property sets the style of the line drawn between columns in a multi-column layout.
1415   *
1416   * **Syntax**: `<'border-style'>`
1417   *
1418   * **Initial value**: `none`
1419   *
1420   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
1421   * | :-----: | :-----: | :-----: | :----: | :----: |
1422   * | **50**  | **52**  |  **9**  | **12** | **10** |
1423   * | 1 _-x-_ |         | 3 _-x-_ |        |        |
1424   *
1425   * @see https://developer.mozilla.org/docs/Web/CSS/column-rule-style
1426   */
1427  columnRuleStyle?: Property.ColumnRuleStyle;
1428  /**
1429   * The **`column-rule-width`** CSS property sets the width of the line drawn between columns in a multi-column layout.
1430   *
1431   * **Syntax**: `<'border-width'>`
1432   *
1433   * **Initial value**: `medium`
1434   *
1435   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
1436   * | :-----: | :-----: | :-----: | :----: | :----: |
1437   * | **50**  | **52**  |  **9**  | **12** | **10** |
1438   * | 1 _-x-_ |         | 3 _-x-_ |        |        |
1439   *
1440   * @see https://developer.mozilla.org/docs/Web/CSS/column-rule-width
1441   */
1442  columnRuleWidth?: Property.ColumnRuleWidth<TLength>;
1443  /**
1444   * The **`column-span`** CSS property makes it possible for an element to span across all columns when its value is set to `all`.
1445   *
1446   * **Syntax**: `none | all`
1447   *
1448   * **Initial value**: `none`
1449   *
1450   * | Chrome  | Firefox |  Safari   |  Edge  |   IE   |
1451   * | :-----: | :-----: | :-------: | :----: | :----: |
1452   * | **50**  | **71**  |   **9**   | **12** | **10** |
1453   * | 6 _-x-_ |         | 5.1 _-x-_ |        |        |
1454   *
1455   * @see https://developer.mozilla.org/docs/Web/CSS/column-span
1456   */
1457  columnSpan?: Property.ColumnSpan;
1458  /**
1459   * The **`column-width`** CSS property sets the ideal column width in a multi-column layout. The container will have as many columns as can fit without any of them having a width less than the `column-width` value. If the width of the container is narrower than the specified value, the single column's width will be smaller than the declared column width.
1460   *
1461   * **Syntax**: `<length> | auto`
1462   *
1463   * **Initial value**: `auto`
1464   *
1465   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
1466   * | :-----: | :-----: | :-----: | :----: | :----: |
1467   * | **50**  | **50**  |  **9**  | **12** | **10** |
1468   * | 1 _-x-_ |         | 3 _-x-_ |        |        |
1469   *
1470   * @see https://developer.mozilla.org/docs/Web/CSS/column-width
1471   */
1472  columnWidth?: Property.ColumnWidth<TLength>;
1473  /**
1474   * The **`contain`** CSS property allows an author to indicate that an element and its contents are, as much as possible, _independent_ of the rest of the document tree. This allows the browser to recalculate layout, style, paint, size, or any combination of them for a limited area of the DOM and not the entire page, leading to obvious performance benefits.
1475   *
1476   * **Syntax**: `none | strict | content | [ size || layout || style || paint ]`
1477   *
1478   * **Initial value**: `none`
1479   *
1480   * | Chrome | Firefox | Safari |  Edge  | IE  |
1481   * | :----: | :-----: | :----: | :----: | :-: |
1482   * | **52** | **69**  |   No   | **79** | No  |
1483   *
1484   * @see https://developer.mozilla.org/docs/Web/CSS/contain
1485   */
1486  contain?: Property.Contain;
1487  /**
1488   * The **`content`** CSS property replaces an element with a generated value. Objects inserted using the `content` property are **anonymous replaced elements**_._
1489   *
1490   * **Syntax**: `normal | none | [ <content-replacement> | <content-list> ] [/ <string> ]?`
1491   *
1492   * **Initial value**: `normal`
1493   *
1494   * | Chrome | Firefox | Safari |  Edge  |  IE   |
1495   * | :----: | :-----: | :----: | :----: | :---: |
1496   * | **1**  |  **1**  | **1**  | **12** | **8** |
1497   *
1498   * @see https://developer.mozilla.org/docs/Web/CSS/content
1499   */
1500  content?: Property.Content;
1501  /**
1502   * The **`content-visibility`** CSS property controls whether or not an element renders its contents at all, along with forcing a strong set of containments, allowing user agents to potentially omit large swathes of layout and rendering work until it becomes needed. Basically it enables the user agent to skip an element's rendering work, including layout and painting, until it is needed, makes the initial page load much faster.
1503   *
1504   * **Syntax**: `visible | auto | hidden`
1505   *
1506   * **Initial value**: `visible`
1507   *
1508   * | Chrome | Firefox | Safari |  Edge  | IE  |
1509   * | :----: | :-----: | :----: | :----: | :-: |
1510   * | **85** |   No    |   No   | **85** | No  |
1511   *
1512   * @see https://developer.mozilla.org/docs/Web/CSS/content-visibility
1513   */
1514  contentVisibility?: Property.ContentVisibility;
1515  /**
1516   * The **`counter-increment`** CSS property increases or decreases the value of a CSS counter by a given value.
1517   *
1518   * **Syntax**: `[ <custom-ident> <integer>? ]+ | none`
1519   *
1520   * **Initial value**: `none`
1521   *
1522   * | Chrome | Firefox | Safari |  Edge  |  IE   |
1523   * | :----: | :-----: | :----: | :----: | :---: |
1524   * | **2**  |  **1**  | **3**  | **12** | **8** |
1525   *
1526   * @see https://developer.mozilla.org/docs/Web/CSS/counter-increment
1527   */
1528  counterIncrement?: Property.CounterIncrement;
1529  /**
1530   * The **`counter-reset`** CSS property resets a CSS counter to a given value.
1531   *
1532   * **Syntax**: `[ <custom-ident> <integer>? ]+ | none`
1533   *
1534   * **Initial value**: `none`
1535   *
1536   * | Chrome | Firefox | Safari |  Edge  |  IE   |
1537   * | :----: | :-----: | :----: | :----: | :---: |
1538   * | **2**  |  **1**  | **3**  | **12** | **8** |
1539   *
1540   * @see https://developer.mozilla.org/docs/Web/CSS/counter-reset
1541   */
1542  counterReset?: Property.CounterReset;
1543  /**
1544   * The **`counter-set`** CSS property sets a CSS counter to a given value. It manipulates the value of existing counters, and will only create new counters if there isn't already a counter of the given name on the element.
1545   *
1546   * **Syntax**: `[ <custom-ident> <integer>? ]+ | none`
1547   *
1548   * **Initial value**: `none`
1549   *
1550   * | Chrome | Firefox | Safari |  Edge  | IE  |
1551   * | :----: | :-----: | :----: | :----: | :-: |
1552   * | **85** | **68**  |   No   | **85** | No  |
1553   *
1554   * @see https://developer.mozilla.org/docs/Web/CSS/counter-set
1555   */
1556  counterSet?: Property.CounterSet;
1557  /**
1558   * The **`cursor`** CSS property sets the type of mouse cursor, if any, to show when the mouse pointer is over an element.
1559   *
1560   * **Syntax**: `[ [ <url> [ <x> <y> ]? , ]* [ auto | default | none | context-menu | help | pointer | progress | wait | cell | crosshair | text | vertical-text | alias | copy | move | no-drop | not-allowed | e-resize | n-resize | ne-resize | nw-resize | s-resize | se-resize | sw-resize | w-resize | ew-resize | ns-resize | nesw-resize | nwse-resize | col-resize | row-resize | all-scroll | zoom-in | zoom-out | grab | grabbing ] ]`
1561   *
1562   * **Initial value**: `auto`
1563   *
1564   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
1565   * | :----: | :-----: | :-----: | :----: | :---: |
1566   * | **1**  |  **1**  | **1.2** | **12** | **4** |
1567   *
1568   * @see https://developer.mozilla.org/docs/Web/CSS/cursor
1569   */
1570  cursor?: Property.Cursor;
1571  /**
1572   * The **`direction`** CSS property sets the direction of text, table columns, and horizontal overflow. Use `rtl` for languages written from right to left (like Hebrew or Arabic), and `ltr` for those written from left to right (like English and most other languages).
1573   *
1574   * **Syntax**: `ltr | rtl`
1575   *
1576   * **Initial value**: `ltr`
1577   *
1578   * | Chrome | Firefox | Safari |  Edge  |   IE    |
1579   * | :----: | :-----: | :----: | :----: | :-----: |
1580   * | **2**  |  **1**  | **1**  | **12** | **5.5** |
1581   *
1582   * @see https://developer.mozilla.org/docs/Web/CSS/direction
1583   */
1584  direction?: Property.Direction;
1585  /**
1586   * The **`display`** CSS property sets whether an element is treated as a block or inline element and the layout used for its children, such as flow layout, grid or flex.
1587   *
1588   * **Syntax**: `[ <display-outside> || <display-inside> ] | <display-listitem> | <display-internal> | <display-box> | <display-legacy>`
1589   *
1590   * **Initial value**: `inline`
1591   *
1592   * | Chrome | Firefox | Safari |  Edge  |  IE   |
1593   * | :----: | :-----: | :----: | :----: | :---: |
1594   * | **1**  |  **1**  | **1**  | **12** | **4** |
1595   *
1596   * @see https://developer.mozilla.org/docs/Web/CSS/display
1597   */
1598  display?: Property.Display;
1599  /**
1600   * The **`empty-cells`** CSS property sets whether borders and backgrounds appear around `<table>` cells that have no visible content.
1601   *
1602   * **Syntax**: `show | hide`
1603   *
1604   * **Initial value**: `show`
1605   *
1606   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
1607   * | :----: | :-----: | :-----: | :----: | :---: |
1608   * | **1**  |  **1**  | **1.2** | **12** | **8** |
1609   *
1610   * @see https://developer.mozilla.org/docs/Web/CSS/empty-cells
1611   */
1612  emptyCells?: Property.EmptyCells;
1613  /**
1614   * The **`filter`** CSS property applies graphical effects like blur or color shift to an element. Filters are commonly used to adjust the rendering of images, backgrounds, and borders.
1615   *
1616   * **Syntax**: `none | <filter-function-list>`
1617   *
1618   * **Initial value**: `none`
1619   *
1620   * |  Chrome  | Firefox | Safari  |  Edge  | IE  |
1621   * | :------: | :-----: | :-----: | :----: | :-: |
1622   * |  **53**  | **35**  | **9.1** | **12** | No  |
1623   * | 18 _-x-_ |         | 6 _-x-_ |        |     |
1624   *
1625   * @see https://developer.mozilla.org/docs/Web/CSS/filter
1626   */
1627  filter?: Property.Filter;
1628  /**
1629   * The **`flex-basis`** CSS property sets the initial main size of a flex item. It sets the size of the content box unless otherwise set with `box-sizing`.
1630   *
1631   * **Syntax**: `content | <'width'>`
1632   *
1633   * **Initial value**: `auto`
1634   *
1635   * |  Chrome  | Firefox | Safari  |  Edge  |   IE   |
1636   * | :------: | :-----: | :-----: | :----: | :----: |
1637   * |  **29**  | **22**  |  **9**  | **12** | **11** |
1638   * | 22 _-x-_ |         | 7 _-x-_ |        |        |
1639   *
1640   * @see https://developer.mozilla.org/docs/Web/CSS/flex-basis
1641   */
1642  flexBasis?: Property.FlexBasis<TLength>;
1643  /**
1644   * The **`flex-direction`** CSS property sets how flex items are placed in the flex container defining the main axis and the direction (normal or reversed).
1645   *
1646   * **Syntax**: `row | row-reverse | column | column-reverse`
1647   *
1648   * **Initial value**: `row`
1649   *
1650   * |  Chrome  | Firefox | Safari  |  Edge  |    IE    |
1651   * | :------: | :-----: | :-----: | :----: | :------: |
1652   * |  **29**  | **20**  |  **9**  | **12** |  **11**  |
1653   * | 21 _-x-_ |         | 7 _-x-_ |        | 10 _-x-_ |
1654   *
1655   * @see https://developer.mozilla.org/docs/Web/CSS/flex-direction
1656   */
1657  flexDirection?: Property.FlexDirection;
1658  /**
1659   * The **`flex-grow`** CSS property sets the flex grow factor of a flex item main size.
1660   *
1661   * **Syntax**: `<number>`
1662   *
1663   * **Initial value**: `0`
1664   *
1665   * |  Chrome  | Firefox |  Safari   |  Edge  |            IE            |
1666   * | :------: | :-----: | :-------: | :----: | :----------------------: |
1667   * |  **29**  | **20**  |   **9**   | **12** |          **11**          |
1668   * | 22 _-x-_ |         | 6.1 _-x-_ |        | 10 _(-ms-flex-positive)_ |
1669   *
1670   * @see https://developer.mozilla.org/docs/Web/CSS/flex-grow
1671   */
1672  flexGrow?: Property.FlexGrow;
1673  /**
1674   * The **`flex-shrink`** CSS property sets the flex shrink factor of a flex item. If the size of all flex items is larger than the flex container, items shrink to fit according to `flex-shrink`.
1675   *
1676   * **Syntax**: `<number>`
1677   *
1678   * **Initial value**: `1`
1679   *
1680   * |  Chrome  | Firefox | Safari  |  Edge  |   IE   |
1681   * | :------: | :-----: | :-----: | :----: | :----: |
1682   * |  **29**  | **20**  |  **9**  | **12** | **10** |
1683   * | 22 _-x-_ |         | 8 _-x-_ |        |        |
1684   *
1685   * @see https://developer.mozilla.org/docs/Web/CSS/flex-shrink
1686   */
1687  flexShrink?: Property.FlexShrink;
1688  /**
1689   * The **`flex-wrap`** CSS property sets whether flex items are forced onto one line or can wrap onto multiple lines. If wrapping is allowed, it sets the direction that lines are stacked.
1690   *
1691   * **Syntax**: `nowrap | wrap | wrap-reverse`
1692   *
1693   * **Initial value**: `nowrap`
1694   *
1695   * |  Chrome  | Firefox |  Safari   |  Edge  |   IE   |
1696   * | :------: | :-----: | :-------: | :----: | :----: |
1697   * |  **29**  | **28**  |   **9**   | **12** | **11** |
1698   * | 21 _-x-_ |         | 6.1 _-x-_ |        |        |
1699   *
1700   * @see https://developer.mozilla.org/docs/Web/CSS/flex-wrap
1701   */
1702  flexWrap?: Property.FlexWrap;
1703  /**
1704   * The **`float`** CSS property places an element on the left or right side of its container, allowing text and inline elements to wrap around it. The element is removed from the normal flow of the page, though still remaining a part of the flow (in contrast to absolute positioning).
1705   *
1706   * **Syntax**: `left | right | none | inline-start | inline-end`
1707   *
1708   * **Initial value**: `none`
1709   *
1710   * | Chrome | Firefox | Safari |  Edge  |  IE   |
1711   * | :----: | :-----: | :----: | :----: | :---: |
1712   * | **1**  |  **1**  | **1**  | **12** | **4** |
1713   *
1714   * @see https://developer.mozilla.org/docs/Web/CSS/float
1715   */
1716  float?: Property.Float;
1717  /**
1718   * The **`font-family`** CSS property specifies a prioritized list of one or more font family names and/or generic family names for the selected element.
1719   *
1720   * **Syntax**: `[ <family-name> | <generic-family> ]#`
1721   *
1722   * **Initial value**: depends on user agent
1723   *
1724   * | Chrome | Firefox | Safari |  Edge  |  IE   |
1725   * | :----: | :-----: | :----: | :----: | :---: |
1726   * | **1**  |  **1**  | **1**  | **12** | **3** |
1727   *
1728   * @see https://developer.mozilla.org/docs/Web/CSS/font-family
1729   */
1730  fontFamily?: Property.FontFamily;
1731  /**
1732   * The **`font-feature-settings`** CSS property controls advanced typographic features in OpenType fonts.
1733   *
1734   * **Syntax**: `normal | <feature-tag-value>#`
1735   *
1736   * **Initial value**: `normal`
1737   *
1738   * |  Chrome  | Firefox  | Safari  |  Edge  |   IE   |
1739   * | :------: | :------: | :-----: | :----: | :----: |
1740   * |  **48**  |  **34**  | **9.1** | **15** | **10** |
1741   * | 16 _-x-_ | 15 _-x-_ |         |        |        |
1742   *
1743   * @see https://developer.mozilla.org/docs/Web/CSS/font-feature-settings
1744   */
1745  fontFeatureSettings?: Property.FontFeatureSettings;
1746  /**
1747   * The **`font-kerning`** CSS property sets the use of the kerning information stored in a font.
1748   *
1749   * **Syntax**: `auto | normal | none`
1750   *
1751   * **Initial value**: `auto`
1752   *
1753   * | Chrome | Firefox | Safari  |  Edge  | IE  |
1754   * | :----: | :-----: | :-----: | :----: | :-: |
1755   * | **33** | **32**  |  **9**  | **79** | No  |
1756   * |        |         | 6 _-x-_ |        |     |
1757   *
1758   * @see https://developer.mozilla.org/docs/Web/CSS/font-kerning
1759   */
1760  fontKerning?: Property.FontKerning;
1761  /**
1762   * The **`font-language-override`** CSS property controls the use of language-specific glyphs in a typeface.
1763   *
1764   * **Syntax**: `normal | <string>`
1765   *
1766   * **Initial value**: `normal`
1767   *
1768   * | Chrome | Firefox | Safari | Edge | IE  |
1769   * | :----: | :-----: | :----: | :--: | :-: |
1770   * |   No   | **34**  |   No   |  No  | No  |
1771   * |        | 4 _-x-_ |        |      |     |
1772   *
1773   * @see https://developer.mozilla.org/docs/Web/CSS/font-language-override
1774   */
1775  fontLanguageOverride?: Property.FontLanguageOverride;
1776  /**
1777   * The **`font-optical-sizing`** CSS property sets whether text rendering is optimized for viewing at different sizes.
1778   *
1779   * **Syntax**: `auto | none`
1780   *
1781   * **Initial value**: `auto`
1782   *
1783   * | Chrome | Firefox | Safari |  Edge  | IE  |
1784   * | :----: | :-----: | :----: | :----: | :-: |
1785   * | **79** | **62**  | **11** | **17** | No  |
1786   *
1787   * @see https://developer.mozilla.org/docs/Web/CSS/font-optical-sizing
1788   */
1789  fontOpticalSizing?: Property.FontOpticalSizing;
1790  /**
1791   * The **`font-size`** CSS property sets the size of the font. Changing the font size also updates the sizes of the font size-relative `<length>` units, such as `em`, `ex`, and so forth.
1792   *
1793   * **Syntax**: `<absolute-size> | <relative-size> | <length-percentage>`
1794   *
1795   * **Initial value**: `medium`
1796   *
1797   * | Chrome | Firefox | Safari |  Edge  |   IE    |
1798   * | :----: | :-----: | :----: | :----: | :-----: |
1799   * | **1**  |  **1**  | **1**  | **12** | **5.5** |
1800   *
1801   * @see https://developer.mozilla.org/docs/Web/CSS/font-size
1802   */
1803  fontSize?: Property.FontSize<TLength>;
1804  /**
1805   * The **`font-size-adjust`** CSS property sets the size of lower-case letters relative to the current font size (which defines the size of upper-case letters).
1806   *
1807   * **Syntax**: `none | <number>`
1808   *
1809   * **Initial value**: `none`
1810   *
1811   * | Chrome | Firefox | Safari | Edge | IE  |
1812   * | :----: | :-----: | :----: | :--: | :-: |
1813   * |  n/a   |  **1**  |   No   | n/a  | No  |
1814   *
1815   * @see https://developer.mozilla.org/docs/Web/CSS/font-size-adjust
1816   */
1817  fontSizeAdjust?: Property.FontSizeAdjust;
1818  /**
1819   * The **`font-smooth`** CSS property controls the application of anti-aliasing when fonts are rendered.
1820   *
1821   * **Syntax**: `auto | never | always | <absolute-size> | <length>`
1822   *
1823   * **Initial value**: `auto`
1824   *
1825   * |              Chrome              |              Firefox               |              Safari              |               Edge                | IE  |
1826   * | :------------------------------: | :--------------------------------: | :------------------------------: | :-------------------------------: | :-: |
1827   * | **5** _(-webkit-font-smoothing)_ | **25** _(-moz-osx-font-smoothing)_ | **4** _(-webkit-font-smoothing)_ | **79** _(-webkit-font-smoothing)_ | No  |
1828   *
1829   * @see https://developer.mozilla.org/docs/Web/CSS/font-smooth
1830   */
1831  fontSmooth?: Property.FontSmooth<TLength>;
1832  /**
1833   * The **`font-stretch`** CSS property selects a normal, condensed, or expanded face from a font.
1834   *
1835   * **Syntax**: `<font-stretch-absolute>`
1836   *
1837   * **Initial value**: `normal`
1838   *
1839   * | Chrome | Firefox | Safari |  Edge  |  IE   |
1840   * | :----: | :-----: | :----: | :----: | :---: |
1841   * | **60** |  **9**  | **11** | **12** | **9** |
1842   *
1843   * @see https://developer.mozilla.org/docs/Web/CSS/font-stretch
1844   */
1845  fontStretch?: Property.FontStretch;
1846  /**
1847   * The **`font-style`** CSS property sets whether a font should be styled with a normal, italic, or oblique face from its `font-family`.
1848   *
1849   * **Syntax**: `normal | italic | oblique <angle>?`
1850   *
1851   * **Initial value**: `normal`
1852   *
1853   * | Chrome | Firefox | Safari |  Edge  |  IE   |
1854   * | :----: | :-----: | :----: | :----: | :---: |
1855   * | **1**  |  **1**  | **1**  | **12** | **4** |
1856   *
1857   * @see https://developer.mozilla.org/docs/Web/CSS/font-style
1858   */
1859  fontStyle?: Property.FontStyle;
1860  /**
1861   * The **`font-synthesis`** CSS property controls which missing typefaces, bold or italic, may be synthesized by the browser.
1862   *
1863   * **Syntax**: `none | [ weight || style ]`
1864   *
1865   * **Initial value**: `weight style`
1866   *
1867   * | Chrome | Firefox | Safari | Edge | IE  |
1868   * | :----: | :-----: | :----: | :--: | :-: |
1869   * |   No   | **34**  | **9**  |  No  | No  |
1870   *
1871   * @see https://developer.mozilla.org/docs/Web/CSS/font-synthesis
1872   */
1873  fontSynthesis?: Property.FontSynthesis;
1874  /**
1875   * The **`font-variant`** CSS shorthand property allows you to set all the font variants for a font.
1876   *
1877   * **Syntax**: `normal | none | [ <common-lig-values> || <discretionary-lig-values> || <historical-lig-values> || <contextual-alt-values> || stylistic( <feature-value-name> ) || historical-forms || styleset( <feature-value-name># ) || character-variant( <feature-value-name># ) || swash( <feature-value-name> ) || ornaments( <feature-value-name> ) || annotation( <feature-value-name> ) || [ small-caps | all-small-caps | petite-caps | all-petite-caps | unicase | titling-caps ] || <numeric-figure-values> || <numeric-spacing-values> || <numeric-fraction-values> || ordinal || slashed-zero || <east-asian-variant-values> || <east-asian-width-values> || ruby ]`
1878   *
1879   * **Initial value**: `normal`
1880   *
1881   * | Chrome | Firefox | Safari |  Edge  |  IE   |
1882   * | :----: | :-----: | :----: | :----: | :---: |
1883   * | **1**  |  **1**  | **1**  | **12** | **4** |
1884   *
1885   * @see https://developer.mozilla.org/docs/Web/CSS/font-variant
1886   */
1887  fontVariant?: Property.FontVariant;
1888  /**
1889   * The **`font-variant-caps`** CSS property controls the use of alternate glyphs for capital letters.
1890   *
1891   * **Syntax**: `normal | small-caps | all-small-caps | petite-caps | all-petite-caps | unicase | titling-caps`
1892   *
1893   * **Initial value**: `normal`
1894   *
1895   * | Chrome | Firefox | Safari  |  Edge  | IE  |
1896   * | :----: | :-----: | :-----: | :----: | :-: |
1897   * | **52** | **34**  | **9.1** | **79** | No  |
1898   *
1899   * @see https://developer.mozilla.org/docs/Web/CSS/font-variant-caps
1900   */
1901  fontVariantCaps?: Property.FontVariantCaps;
1902  /**
1903   * The **`font-variant-east-asian`** CSS property controls the use of alternate glyphs for East Asian scripts, like Japanese and Chinese.
1904   *
1905   * **Syntax**: `normal | [ <east-asian-variant-values> || <east-asian-width-values> || ruby ]`
1906   *
1907   * **Initial value**: `normal`
1908   *
1909   * | Chrome | Firefox | Safari |  Edge  | IE  |
1910   * | :----: | :-----: | :----: | :----: | :-: |
1911   * | **63** | **34**  |   No   | **79** | No  |
1912   *
1913   * @see https://developer.mozilla.org/docs/Web/CSS/font-variant-east-asian
1914   */
1915  fontVariantEastAsian?: Property.FontVariantEastAsian;
1916  /**
1917   * The **`font-variant-ligatures`** CSS property controls which ligatures and contextual forms are used in textual content of the elements it applies to. This leads to more harmonized forms in the resulting text.
1918   *
1919   * **Syntax**: `normal | none | [ <common-lig-values> || <discretionary-lig-values> || <historical-lig-values> || <contextual-alt-values> ]`
1920   *
1921   * **Initial value**: `normal`
1922   *
1923   * |  Chrome  | Firefox | Safari  |  Edge  | IE  |
1924   * | :------: | :-----: | :-----: | :----: | :-: |
1925   * |  **34**  | **34**  | **9.1** | **79** | No  |
1926   * | 31 _-x-_ |         | 7 _-x-_ |        |     |
1927   *
1928   * @see https://developer.mozilla.org/docs/Web/CSS/font-variant-ligatures
1929   */
1930  fontVariantLigatures?: Property.FontVariantLigatures;
1931  /**
1932   * The **`font-variant-numeric`** CSS property controls the usage of alternate glyphs for numbers, fractions, and ordinal markers.
1933   *
1934   * **Syntax**: `normal | [ <numeric-figure-values> || <numeric-spacing-values> || <numeric-fraction-values> || ordinal || slashed-zero ]`
1935   *
1936   * **Initial value**: `normal`
1937   *
1938   * | Chrome | Firefox | Safari  |  Edge  | IE  |
1939   * | :----: | :-----: | :-----: | :----: | :-: |
1940   * | **52** | **34**  | **9.1** | **79** | No  |
1941   *
1942   * @see https://developer.mozilla.org/docs/Web/CSS/font-variant-numeric
1943   */
1944  fontVariantNumeric?: Property.FontVariantNumeric;
1945  /**
1946   * The **`font-variant-position`** CSS property controls the use of alternate, smaller glyphs that are positioned as superscript or subscript.
1947   *
1948   * **Syntax**: `normal | sub | super`
1949   *
1950   * **Initial value**: `normal`
1951   *
1952   * | Chrome | Firefox | Safari | Edge | IE  |
1953   * | :----: | :-----: | :----: | :--: | :-: |
1954   * |   No   | **34**  |   No   |  No  | No  |
1955   *
1956   * @see https://developer.mozilla.org/docs/Web/CSS/font-variant-position
1957   */
1958  fontVariantPosition?: Property.FontVariantPosition;
1959  /**
1960   * The **`font-variation-settings`** CSS property provides low-level control over variable font characteristics, by specifying the four letter axis names of the characteristics you want to vary, along with their values.
1961   *
1962   * **Syntax**: `normal | [ <string> <number> ]#`
1963   *
1964   * **Initial value**: `normal`
1965   *
1966   * | Chrome | Firefox | Safari |  Edge  | IE  |
1967   * | :----: | :-----: | :----: | :----: | :-: |
1968   * | **62** | **62**  | **11** | **17** | No  |
1969   *
1970   * @see https://developer.mozilla.org/docs/Web/CSS/font-variation-settings
1971   */
1972  fontVariationSettings?: Property.FontVariationSettings;
1973  /**
1974   * The **`font-weight`** CSS property sets the weight (or boldness) of the font. The weights available depend on the `font-family` that is currently set.
1975   *
1976   * **Syntax**: `<font-weight-absolute> | bolder | lighter`
1977   *
1978   * **Initial value**: `normal`
1979   *
1980   * | Chrome | Firefox | Safari |  Edge  |  IE   |
1981   * | :----: | :-----: | :----: | :----: | :---: |
1982   * | **2**  |  **1**  | **1**  | **12** | **3** |
1983   *
1984   * @see https://developer.mozilla.org/docs/Web/CSS/font-weight
1985   */
1986  fontWeight?: Property.FontWeight;
1987  /**
1988   * The **`forced-color-adjust`** CSS property allows authors to opt certain elements out of forced colors mode. This then restores the control of those values to CSS.
1989   *
1990   * **Syntax**: `auto | none`
1991   *
1992   * **Initial value**: `auto`
1993   *
1994   * | Chrome | Firefox | Safari |              Edge               |                 IE                  |
1995   * | :----: | :-----: | :----: | :-----------------------------: | :---------------------------------: |
1996   * | **89** |   No    |   No   |             **79**              | **10** _(-ms-high-contrast-adjust)_ |
1997   * |        |         |        | 12 _(-ms-high-contrast-adjust)_ |                                     |
1998   *
1999   * @see https://developer.mozilla.org/docs/Web/CSS/forced-color-adjust
2000   */
2001  forcedColorAdjust?: Property.ForcedColorAdjust;
2002  /**
2003   * The **`grid-auto-columns`** CSS property specifies the size of an implicitly-created grid column track or pattern of tracks.
2004   *
2005   * **Syntax**: `<track-size>+`
2006   *
2007   * **Initial value**: `auto`
2008   *
2009   * | Chrome | Firefox |  Safari  |  Edge  |             IE              |
2010   * | :----: | :-----: | :------: | :----: | :-------------------------: |
2011   * | **57** | **70**  | **10.1** | **16** | **10** _(-ms-grid-columns)_ |
2012   *
2013   * @see https://developer.mozilla.org/docs/Web/CSS/grid-auto-columns
2014   */
2015  gridAutoColumns?: Property.GridAutoColumns<TLength>;
2016  /**
2017   * The **`grid-auto-flow`** CSS property controls how the auto-placement algorithm works, specifying exactly how auto-placed items get flowed into the grid.
2018   *
2019   * **Syntax**: `[ row | column ] || dense`
2020   *
2021   * **Initial value**: `row`
2022   *
2023   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
2024   * | :----: | :-----: | :------: | :----: | :-: |
2025   * | **57** | **52**  | **10.1** | **16** | No  |
2026   *
2027   * @see https://developer.mozilla.org/docs/Web/CSS/grid-auto-flow
2028   */
2029  gridAutoFlow?: Property.GridAutoFlow;
2030  /**
2031   * The **`grid-auto-rows`** CSS property specifies the size of an implicitly-created grid row track or pattern of tracks.
2032   *
2033   * **Syntax**: `<track-size>+`
2034   *
2035   * **Initial value**: `auto`
2036   *
2037   * | Chrome | Firefox |  Safari  |  Edge  |            IE            |
2038   * | :----: | :-----: | :------: | :----: | :----------------------: |
2039   * | **57** | **70**  | **10.1** | **16** | **10** _(-ms-grid-rows)_ |
2040   *
2041   * @see https://developer.mozilla.org/docs/Web/CSS/grid-auto-rows
2042   */
2043  gridAutoRows?: Property.GridAutoRows<TLength>;
2044  /**
2045   * The **`grid-column-end`** CSS property specifies a grid item’s end position within the grid column by contributing a line, a span, or nothing (automatic) to its grid placement, thereby specifying the block-end edge of its grid area.
2046   *
2047   * **Syntax**: `<grid-line>`
2048   *
2049   * **Initial value**: `auto`
2050   *
2051   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
2052   * | :----: | :-----: | :------: | :----: | :-: |
2053   * | **57** | **52**  | **10.1** | **16** | No  |
2054   *
2055   * @see https://developer.mozilla.org/docs/Web/CSS/grid-column-end
2056   */
2057  gridColumnEnd?: Property.GridColumnEnd;
2058  /**
2059   * The **`grid-column-start`** CSS property specifies a grid item’s start position within the grid column by contributing a line, a span, or nothing (automatic) to its grid placement. This start position defines the block-start edge of the grid area.
2060   *
2061   * **Syntax**: `<grid-line>`
2062   *
2063   * **Initial value**: `auto`
2064   *
2065   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
2066   * | :----: | :-----: | :------: | :----: | :-: |
2067   * | **57** | **52**  | **10.1** | **16** | No  |
2068   *
2069   * @see https://developer.mozilla.org/docs/Web/CSS/grid-column-start
2070   */
2071  gridColumnStart?: Property.GridColumnStart;
2072  /**
2073   * The **`grid-row-end`** CSS property specifies a grid item’s end position within the grid row by contributing a line, a span, or nothing (automatic) to its grid placement, thereby specifying the inline-end edge of its grid area.
2074   *
2075   * **Syntax**: `<grid-line>`
2076   *
2077   * **Initial value**: `auto`
2078   *
2079   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
2080   * | :----: | :-----: | :------: | :----: | :-: |
2081   * | **57** | **52**  | **10.1** | **16** | No  |
2082   *
2083   * @see https://developer.mozilla.org/docs/Web/CSS/grid-row-end
2084   */
2085  gridRowEnd?: Property.GridRowEnd;
2086  /**
2087   * The **`grid-row-start`** CSS property specifies a grid item’s start position within the grid row by contributing a line, a span, or nothing (automatic) to its grid placement, thereby specifying the inline-start edge of its grid area.
2088   *
2089   * **Syntax**: `<grid-line>`
2090   *
2091   * **Initial value**: `auto`
2092   *
2093   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
2094   * | :----: | :-----: | :------: | :----: | :-: |
2095   * | **57** | **52**  | **10.1** | **16** | No  |
2096   *
2097   * @see https://developer.mozilla.org/docs/Web/CSS/grid-row-start
2098   */
2099  gridRowStart?: Property.GridRowStart;
2100  /**
2101   * The **`grid-template-areas`** CSS property specifies named grid areas, establishing the cells in the grid and assigning them names.
2102   *
2103   * **Syntax**: `none | <string>+`
2104   *
2105   * **Initial value**: `none`
2106   *
2107   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
2108   * | :----: | :-----: | :------: | :----: | :-: |
2109   * | **57** | **52**  | **10.1** | **16** | No  |
2110   *
2111   * @see https://developer.mozilla.org/docs/Web/CSS/grid-template-areas
2112   */
2113  gridTemplateAreas?: Property.GridTemplateAreas;
2114  /**
2115   * The **`grid-template-columns`** CSS property defines the line names and track sizing functions of the grid columns.
2116   *
2117   * **Syntax**: `none | <track-list> | <auto-track-list> | subgrid <line-name-list>?`
2118   *
2119   * **Initial value**: `none`
2120   *
2121   * | Chrome | Firefox |  Safari  |  Edge  |             IE              |
2122   * | :----: | :-----: | :------: | :----: | :-------------------------: |
2123   * | **57** | **52**  | **10.1** | **16** | **10** _(-ms-grid-columns)_ |
2124   *
2125   * @see https://developer.mozilla.org/docs/Web/CSS/grid-template-columns
2126   */
2127  gridTemplateColumns?: Property.GridTemplateColumns<TLength>;
2128  /**
2129   * The **`grid-template-rows`** CSS property defines the line names and track sizing functions of the grid rows.
2130   *
2131   * **Syntax**: `none | <track-list> | <auto-track-list> | subgrid <line-name-list>?`
2132   *
2133   * **Initial value**: `none`
2134   *
2135   * | Chrome | Firefox |  Safari  |  Edge  |            IE            |
2136   * | :----: | :-----: | :------: | :----: | :----------------------: |
2137   * | **57** | **52**  | **10.1** | **16** | **10** _(-ms-grid-rows)_ |
2138   *
2139   * @see https://developer.mozilla.org/docs/Web/CSS/grid-template-rows
2140   */
2141  gridTemplateRows?: Property.GridTemplateRows<TLength>;
2142  /**
2143   * The **`hanging-punctuation`** CSS property specifies whether a punctuation mark should hang at the start or end of a line of text. Hanging punctuation may be placed outside the line box.
2144   *
2145   * **Syntax**: `none | [ first || [ force-end | allow-end ] || last ]`
2146   *
2147   * **Initial value**: `none`
2148   *
2149   * | Chrome | Firefox | Safari | Edge | IE  |
2150   * | :----: | :-----: | :----: | :--: | :-: |
2151   * |   No   |   No    | **10** |  No  | No  |
2152   *
2153   * @see https://developer.mozilla.org/docs/Web/CSS/hanging-punctuation
2154   */
2155  hangingPunctuation?: Property.HangingPunctuation;
2156  /**
2157   * The **`height`** CSS property specifies the height of an element. By default, the property defines the height of the content area. If `box-sizing` is set to `border-box`, however, it instead determines the height of the border area.
2158   *
2159   * **Syntax**: `auto | <length> | <percentage> | min-content | max-content | fit-content | fit-content(<length-percentage>)`
2160   *
2161   * **Initial value**: `auto`
2162   *
2163   * | Chrome | Firefox | Safari |  Edge  |  IE   |
2164   * | :----: | :-----: | :----: | :----: | :---: |
2165   * | **1**  |  **1**  | **1**  | **12** | **4** |
2166   *
2167   * @see https://developer.mozilla.org/docs/Web/CSS/height
2168   */
2169  height?: Property.Height<TLength>;
2170  /**
2171   * The **`hyphens`** CSS property specifies how words should be hyphenated when text wraps across multiple lines. It can prevent hyphenation entirely, hyphenate at manually-specified points within the text, or let the browser automatically insert hyphens where appropriate.
2172   *
2173   * **Syntax**: `none | manual | auto`
2174   *
2175   * **Initial value**: `manual`
2176   *
2177   * |  Chrome  | Firefox |    Safari     |     Edge     |      IE      |
2178   * | :------: | :-----: | :-----------: | :----------: | :----------: |
2179   * |  **55**  | **43**  | **5.1** _-x-_ | **12** _-x-_ | **10** _-x-_ |
2180   * | 13 _-x-_ | 6 _-x-_ |               |              |              |
2181   *
2182   * @see https://developer.mozilla.org/docs/Web/CSS/hyphens
2183   */
2184  hyphens?: Property.Hyphens;
2185  /**
2186   * The **`image-orientation`** CSS property specifies a layout-independent correction to the orientation of an image. It should _not_ be used for any other orientation adjustments; instead, the `transform` property should be used with the `rotate` `<transform-function>`.
2187   *
2188   * **Syntax**: `from-image | <angle> | [ <angle>? flip ]`
2189   *
2190   * **Initial value**: `from-image`
2191   *
2192   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
2193   * | :----: | :-----: | :------: | :----: | :-: |
2194   * | **81** | **26**  | **13.1** | **81** | No  |
2195   *
2196   * @see https://developer.mozilla.org/docs/Web/CSS/image-orientation
2197   */
2198  imageOrientation?: Property.ImageOrientation;
2199  /**
2200   * The **`image-rendering`** CSS property sets an image scaling algorithm. The property applies to an element itself, to any images set in its other properties, and to its descendants.
2201   *
2202   * **Syntax**: `auto | crisp-edges | pixelated`
2203   *
2204   * **Initial value**: `auto`
2205   *
2206   * | Chrome | Firefox | Safari |  Edge  | IE  |
2207   * | :----: | :-----: | :----: | :----: | :-: |
2208   * | **13** | **3.6** | **6**  | **79** | No  |
2209   *
2210   * @see https://developer.mozilla.org/docs/Web/CSS/image-rendering
2211   */
2212  imageRendering?: Property.ImageRendering;
2213  /**
2214   * **Syntax**: `[ from-image || <resolution> ] && snap?`
2215   *
2216   * **Initial value**: `1dppx`
2217   */
2218  imageResolution?: Property.ImageResolution;
2219  /**
2220   * The `initial-letter` CSS property sets styling for dropped, raised, and sunken initial letters.
2221   *
2222   * **Syntax**: `normal | [ <number> <integer>? ]`
2223   *
2224   * **Initial value**: `normal`
2225   *
2226   * | Chrome | Firefox | Safari | Edge | IE  |
2227   * | :----: | :-----: | :----: | :--: | :-: |
2228   * |   No   |   No    | **9**  |  No  | No  |
2229   *
2230   * @see https://developer.mozilla.org/docs/Web/CSS/initial-letter
2231   */
2232  initialLetter?: Property.InitialLetter;
2233  /**
2234   * The **`inline-size`** CSS property defines the horizontal or vertical size of an element's block, depending on its writing mode. It corresponds to either the `width` or the `height` property, depending on the value of `writing-mode`.
2235   *
2236   * **Syntax**: `<'width'>`
2237   *
2238   * **Initial value**: `auto`
2239   *
2240   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
2241   * | :----: | :-----: | :------: | :----: | :-: |
2242   * | **57** | **41**  | **12.1** | **79** | No  |
2243   *
2244   * @see https://developer.mozilla.org/docs/Web/CSS/inline-size
2245   */
2246  inlineSize?: Property.InlineSize<TLength>;
2247  /**
2248   * The **`inset`** CSS property is a shorthand that corresponds to the `top`, `right`, `bottom`, and/or `left` properties. It has the same multi-value syntax of the `margin` shorthand.
2249   *
2250   * **Syntax**: `<'top'>{1,4}`
2251   *
2252   * **Initial value**: `auto`
2253   *
2254   * | Chrome | Firefox | Safari | Edge | IE  |
2255   * | :----: | :-----: | :----: | :--: | :-: |
2256   * | **87** | **66**  |   No   | n/a  | No  |
2257   *
2258   * @see https://developer.mozilla.org/docs/Web/CSS/inset
2259   */
2260  inset?: Property.Inset<TLength>;
2261  /**
2262   * The **`inset-inline`** CSS property defines the logical start and end offsets of an element in the inline direction, which maps to physical offsets depending on the element's writing mode, directionality, and text orientation. It corresponds to the `top` and `bottom`, or `right` and `left` properties depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
2263   *
2264   * **Syntax**: `<'top'>{1,2}`
2265   *
2266   * **Initial value**: `auto`
2267   *
2268   * | Chrome | Firefox | Safari | Edge | IE  |
2269   * | :----: | :-----: | :----: | :--: | :-: |
2270   * | **87** | **63**  |   No   | n/a  | No  |
2271   *
2272   * @see https://developer.mozilla.org/docs/Web/CSS/inset-block
2273   */
2274  insetBlock?: Property.InsetBlock<TLength>;
2275  /**
2276   * The **`inset-block-end`** CSS property defines the logical block end offset of an element, which maps to a physical inset depending on the element's writing mode, directionality, and text orientation. It corresponds to the `top`, `right`, `bottom`, or `left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
2277   *
2278   * **Syntax**: `<'top'>`
2279   *
2280   * **Initial value**: `auto`
2281   *
2282   * | Chrome | Firefox | Safari | Edge | IE  |
2283   * | :----: | :-----: | :----: | :--: | :-: |
2284   * | **87** | **63**  |   No   | n/a  | No  |
2285   *
2286   * @see https://developer.mozilla.org/docs/Web/CSS/inset-block-end
2287   */
2288  insetBlockEnd?: Property.InsetBlockEnd<TLength>;
2289  /**
2290   * The **`inset-block-start`** CSS property defines the logical block start offset of an element, which maps to a physical inset depending on the element's writing mode, directionality, and text orientation. It corresponds to the `top`, `right`, `bottom`, or `left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
2291   *
2292   * **Syntax**: `<'top'>`
2293   *
2294   * **Initial value**: `auto`
2295   *
2296   * | Chrome | Firefox | Safari | Edge | IE  |
2297   * | :----: | :-----: | :----: | :--: | :-: |
2298   * | **87** | **63**  |   No   | n/a  | No  |
2299   *
2300   * @see https://developer.mozilla.org/docs/Web/CSS/inset-block-start
2301   */
2302  insetBlockStart?: Property.InsetBlockStart<TLength>;
2303  /**
2304   * The **`inset-inline`** CSS property defines the logical start and end offsets of an element in the inline direction, which maps to physical offsets depending on the element's writing mode, directionality, and text orientation. It corresponds to the `top` and `bottom`, or `right` and `left` properties depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
2305   *
2306   * **Syntax**: `<'top'>{1,2}`
2307   *
2308   * **Initial value**: `auto`
2309   *
2310   * | Chrome | Firefox | Safari | Edge | IE  |
2311   * | :----: | :-----: | :----: | :--: | :-: |
2312   * | **87** | **63**  |   No   | n/a  | No  |
2313   *
2314   * @see https://developer.mozilla.org/docs/Web/CSS/inset-inline
2315   */
2316  insetInline?: Property.InsetInline<TLength>;
2317  /**
2318   * The **`inset-inline-end`** CSS property defines the logical inline end inset of an element, which maps to a physical offset depending on the element's writing mode, directionality, and text orientation. It corresponds to the `top`, `right`, `bottom`, or `left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
2319   *
2320   * **Syntax**: `<'top'>`
2321   *
2322   * **Initial value**: `auto`
2323   *
2324   * | Chrome | Firefox | Safari | Edge | IE  |
2325   * | :----: | :-----: | :----: | :--: | :-: |
2326   * | **87** | **63**  |   No   | n/a  | No  |
2327   *
2328   * @see https://developer.mozilla.org/docs/Web/CSS/inset-inline-end
2329   */
2330  insetInlineEnd?: Property.InsetInlineEnd<TLength>;
2331  /**
2332   * The **`inset-inline-start`** CSS property defines the logical inline start inset of an element, which maps to a physical offset depending on the element's writing mode, directionality, and text orientation. It corresponds to the `top`, `right`, `bottom`, or `left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
2333   *
2334   * **Syntax**: `<'top'>`
2335   *
2336   * **Initial value**: `auto`
2337   *
2338   * | Chrome | Firefox | Safari | Edge | IE  |
2339   * | :----: | :-----: | :----: | :--: | :-: |
2340   * | **87** | **63**  |   No   | n/a  | No  |
2341   *
2342   * @see https://developer.mozilla.org/docs/Web/CSS/inset-inline-start
2343   */
2344  insetInlineStart?: Property.InsetInlineStart<TLength>;
2345  /**
2346   * The **`isolation`** CSS property determines whether an element must create a new stacking context.
2347   *
2348   * **Syntax**: `auto | isolate`
2349   *
2350   * **Initial value**: `auto`
2351   *
2352   * | Chrome | Firefox | Safari |  Edge  | IE  |
2353   * | :----: | :-----: | :----: | :----: | :-: |
2354   * | **41** | **36**  | **8**  | **79** | No  |
2355   *
2356   * @see https://developer.mozilla.org/docs/Web/CSS/isolation
2357   */
2358  isolation?: Property.Isolation;
2359  /**
2360   * The CSS **`justify-content`** property defines how the browser distributes space between and around content items along the main-axis of a flex container, and the inline axis of a grid container.
2361   *
2362   * **Syntax**: `normal | <content-distribution> | <overflow-position>? [ <content-position> | left | right ]`
2363   *
2364   * **Initial value**: `normal`
2365   *
2366   * ---
2367   *
2368   * _Supported in Flex Layout_
2369   *
2370   * |  Chrome  | Firefox |  Safari   |  Edge  |   IE   |
2371   * | :------: | :-----: | :-------: | :----: | :----: |
2372   * |  **52**  | **20**  |   **9**   | **12** | **11** |
2373   * | 21 _-x-_ |         | 6.1 _-x-_ |        |        |
2374   *
2375   * ---
2376   *
2377   * _Supported in Grid Layout_
2378   *
2379   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
2380   * | :----: | :-----: | :------: | :----: | :-: |
2381   * | **57** | **52**  | **10.1** | **16** | No  |
2382   *
2383   * ---
2384   *
2385   * @see https://developer.mozilla.org/docs/Web/CSS/justify-content
2386   */
2387  justifyContent?: Property.JustifyContent;
2388  /**
2389   * The CSS **`justify-items`** property defines the default `justify-self` for all items of the box, giving them all a default way of justifying each box along the appropriate axis.
2390   *
2391   * **Syntax**: `normal | stretch | <baseline-position> | <overflow-position>? [ <self-position> | left | right ] | legacy | legacy && [ left | right | center ]`
2392   *
2393   * **Initial value**: `legacy`
2394   *
2395   * ---
2396   *
2397   * _Supported in Flex Layout_
2398   *
2399   * | Chrome | Firefox | Safari |  Edge  |   IE   |
2400   * | :----: | :-----: | :----: | :----: | :----: |
2401   * | **52** | **20**  | **9**  | **12** | **11** |
2402   *
2403   * ---
2404   *
2405   * _Supported in Grid Layout_
2406   *
2407   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
2408   * | :----: | :-----: | :------: | :----: | :-: |
2409   * | **57** | **45**  | **10.1** | **16** | No  |
2410   *
2411   * ---
2412   *
2413   * @see https://developer.mozilla.org/docs/Web/CSS/justify-items
2414   */
2415  justifyItems?: Property.JustifyItems;
2416  /**
2417   * The CSS **`justify-self`** property sets the way a box is justified inside its alignment container along the appropriate axis.
2418   *
2419   * **Syntax**: `auto | normal | stretch | <baseline-position> | <overflow-position>? [ <self-position> | left | right ]`
2420   *
2421   * **Initial value**: `auto`
2422   *
2423   * ---
2424   *
2425   * _Supported in Flex Layout_
2426   *
2427   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
2428   * | :----: | :-----: | :------: | :----: | :-: |
2429   * | **57** | **45**  | **10.1** | **16** | No  |
2430   *
2431   * ---
2432   *
2433   * _Supported in Grid Layout_
2434   *
2435   * | Chrome | Firefox |  Safari  |  Edge  |      IE      |
2436   * | :----: | :-----: | :------: | :----: | :----------: |
2437   * | **57** | **45**  | **10.1** | **16** | **10** _-x-_ |
2438   *
2439   * ---
2440   *
2441   * @see https://developer.mozilla.org/docs/Web/CSS/justify-self
2442   */
2443  justifySelf?: Property.JustifySelf;
2444  /**
2445   * The **`justify-tracks`** CSS property sets the alignment in the masonry axis for grid containers that have masonry in their inline axis.
2446   *
2447   * **Syntax**: `[ normal | <content-distribution> | <overflow-position>? [ <content-position> | left | right ] ]#`
2448   *
2449   * **Initial value**: `normal`
2450   *
2451   * | Chrome | Firefox | Safari | Edge | IE  |
2452   * | :----: | :-----: | :----: | :--: | :-: |
2453   * |   No   |   n/a   |   No   |  No  | No  |
2454   *
2455   * @see https://developer.mozilla.org/docs/Web/CSS/justify-tracks
2456   */
2457  justifyTracks?: Property.JustifyTracks;
2458  /**
2459   * The **`left`** CSS property participates in specifying the horizontal position of a positioned element. It has no effect on non-positioned elements.
2460   *
2461   * **Syntax**: `<length> | <percentage> | auto`
2462   *
2463   * **Initial value**: `auto`
2464   *
2465   * | Chrome | Firefox | Safari |  Edge  |   IE    |
2466   * | :----: | :-----: | :----: | :----: | :-----: |
2467   * | **1**  |  **1**  | **1**  | **12** | **5.5** |
2468   *
2469   * @see https://developer.mozilla.org/docs/Web/CSS/left
2470   */
2471  left?: Property.Left<TLength>;
2472  /**
2473   * The **`letter-spacing`** CSS property sets the horizontal spacing behavior between text characters. This value is added to the natural spacing between characters while rendering the text. Positive values of `letter-spacing` causes characters to spread farther apart, while negative values of `letter-spacing` bring characters closer together.
2474   *
2475   * **Syntax**: `normal | <length>`
2476   *
2477   * **Initial value**: `normal`
2478   *
2479   * | Chrome | Firefox | Safari |  Edge  |  IE   |
2480   * | :----: | :-----: | :----: | :----: | :---: |
2481   * | **1**  |  **1**  | **1**  | **12** | **4** |
2482   *
2483   * @see https://developer.mozilla.org/docs/Web/CSS/letter-spacing
2484   */
2485  letterSpacing?: Property.LetterSpacing<TLength>;
2486  /**
2487   * The **`line-break`** CSS property sets how to break lines of Chinese, Japanese, or Korean (CJK) text when working with punctuation and symbols.
2488   *
2489   * **Syntax**: `auto | loose | normal | strict | anywhere`
2490   *
2491   * **Initial value**: `auto`
2492   *
2493   * | Chrome  | Firefox | Safari  |  Edge  |   IE    |
2494   * | :-----: | :-----: | :-----: | :----: | :-----: |
2495   * | **58**  | **69**  | **11**  | **14** | **5.5** |
2496   * | 1 _-x-_ |         | 3 _-x-_ |        |         |
2497   *
2498   * @see https://developer.mozilla.org/docs/Web/CSS/line-break
2499   */
2500  lineBreak?: Property.LineBreak;
2501  /**
2502   * The **`line-height`** CSS property sets the height of a line box. It's commonly used to set the distance between lines of text. On block-level elements, it specifies the minimum height of line boxes within the element. On non-replaced inline elements, it specifies the height that is used to calculate line box height.
2503   *
2504   * **Syntax**: `normal | <number> | <length> | <percentage>`
2505   *
2506   * **Initial value**: `normal`
2507   *
2508   * | Chrome | Firefox | Safari |  Edge  |  IE   |
2509   * | :----: | :-----: | :----: | :----: | :---: |
2510   * | **1**  |  **1**  | **1**  | **12** | **4** |
2511   *
2512   * @see https://developer.mozilla.org/docs/Web/CSS/line-height
2513   */
2514  lineHeight?: Property.LineHeight<TLength>;
2515  /**
2516   * The **`line-height-step`** CSS property sets the step unit for line box heights. When the property is set, line box heights are rounded up to the closest multiple of the unit.
2517   *
2518   * **Syntax**: `<length>`
2519   *
2520   * **Initial value**: `0`
2521   *
2522   * | Chrome | Firefox | Safari | Edge | IE  |
2523   * | :----: | :-----: | :----: | :--: | :-: |
2524   * |  n/a   |   No    |   No   | n/a  | No  |
2525   *
2526   * @see https://developer.mozilla.org/docs/Web/CSS/line-height-step
2527   */
2528  lineHeightStep?: Property.LineHeightStep<TLength>;
2529  /**
2530   * The **`list-style-image`** CSS property sets an image to be used as the list item marker.
2531   *
2532   * **Syntax**: `<image> | none`
2533   *
2534   * **Initial value**: `none`
2535   *
2536   * | Chrome | Firefox | Safari |  Edge  |  IE   |
2537   * | :----: | :-----: | :----: | :----: | :---: |
2538   * | **1**  |  **1**  | **1**  | **12** | **4** |
2539   *
2540   * @see https://developer.mozilla.org/docs/Web/CSS/list-style-image
2541   */
2542  listStyleImage?: Property.ListStyleImage;
2543  /**
2544   * The **`list-style-position`** CSS property sets the position of the `::marker` relative to a list item.
2545   *
2546   * **Syntax**: `inside | outside`
2547   *
2548   * **Initial value**: `outside`
2549   *
2550   * | Chrome | Firefox | Safari |  Edge  |  IE   |
2551   * | :----: | :-----: | :----: | :----: | :---: |
2552   * | **1**  |  **1**  | **1**  | **12** | **4** |
2553   *
2554   * @see https://developer.mozilla.org/docs/Web/CSS/list-style-position
2555   */
2556  listStylePosition?: Property.ListStylePosition;
2557  /**
2558   * The **`list-style-type`** CSS property sets the marker (such as a disc, character, or custom counter style) of a list item element.
2559   *
2560   * **Syntax**: `<counter-style> | <string> | none`
2561   *
2562   * **Initial value**: `disc`
2563   *
2564   * | Chrome | Firefox | Safari |  Edge  |  IE   |
2565   * | :----: | :-----: | :----: | :----: | :---: |
2566   * | **1**  |  **1**  | **1**  | **12** | **4** |
2567   *
2568   * @see https://developer.mozilla.org/docs/Web/CSS/list-style-type
2569   */
2570  listStyleType?: Property.ListStyleType;
2571  /**
2572   * The **`margin-block`** CSS shorthand property defines the logical block start and end margins of an element, which maps to physical margins depending on the element's writing mode, directionality, and text orientation.
2573   *
2574   * **Syntax**: `<'margin-left'>{1,2}`
2575   *
2576   * **Initial value**: `0`
2577   *
2578   * | Chrome | Firefox | Safari | Edge | IE  |
2579   * | :----: | :-----: | :----: | :--: | :-: |
2580   * | **87** | **66**  |   No   | n/a  | No  |
2581   *
2582   * @see https://developer.mozilla.org/docs/Web/CSS/margin-block
2583   */
2584  marginBlock?: Property.MarginBlock<TLength>;
2585  /**
2586   * The **`margin-block-end`** CSS property defines the logical block end margin of an element, which maps to a physical margin depending on the element's writing mode, directionality, and text orientation.
2587   *
2588   * **Syntax**: `<'margin-left'>`
2589   *
2590   * **Initial value**: `0`
2591   *
2592   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
2593   * | :----: | :-----: | :------: | :----: | :-: |
2594   * | **69** | **41**  | **12.1** | **79** | No  |
2595   *
2596   * @see https://developer.mozilla.org/docs/Web/CSS/margin-block-end
2597   */
2598  marginBlockEnd?: Property.MarginBlockEnd<TLength>;
2599  /**
2600   * The **`margin-block-start`** CSS property defines the logical block start margin of an element, which maps to a physical margin depending on the element's writing mode, directionality, and text orientation.
2601   *
2602   * **Syntax**: `<'margin-left'>`
2603   *
2604   * **Initial value**: `0`
2605   *
2606   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
2607   * | :----: | :-----: | :------: | :----: | :-: |
2608   * | **69** | **41**  | **12.1** | **79** | No  |
2609   *
2610   * @see https://developer.mozilla.org/docs/Web/CSS/margin-block-start
2611   */
2612  marginBlockStart?: Property.MarginBlockStart<TLength>;
2613  /**
2614   * The **`margin-bottom`** CSS property sets the margin area on the bottom of an element. A positive value places it farther from its neighbors, while a negative value places it closer.
2615   *
2616   * **Syntax**: `<length> | <percentage> | auto`
2617   *
2618   * **Initial value**: `0`
2619   *
2620   * | Chrome | Firefox | Safari |  Edge  |  IE   |
2621   * | :----: | :-----: | :----: | :----: | :---: |
2622   * | **1**  |  **1**  | **1**  | **12** | **3** |
2623   *
2624   * @see https://developer.mozilla.org/docs/Web/CSS/margin-bottom
2625   */
2626  marginBottom?: Property.MarginBottom<TLength>;
2627  /**
2628   * The **`margin-inline`** CSS shorthand property is a shorthand property that defines both the logical inline start and end margins of an element, which maps to physical margins depending on the element's writing mode, directionality, and text orientation.
2629   *
2630   * **Syntax**: `<'margin-left'>{1,2}`
2631   *
2632   * **Initial value**: `0`
2633   *
2634   * | Chrome | Firefox | Safari | Edge | IE  |
2635   * | :----: | :-----: | :----: | :--: | :-: |
2636   * | **87** | **66**  |   No   | n/a  | No  |
2637   *
2638   * @see https://developer.mozilla.org/docs/Web/CSS/margin-inline
2639   */
2640  marginInline?: Property.MarginInline<TLength>;
2641  /**
2642   * The **`margin-inline-end`** CSS property defines the logical inline end margin of an element, which maps to a physical margin depending on the element's writing mode, directionality, and text orientation. In other words, it corresponds to the `margin-top`, `margin-right`, `margin-bottom` or `margin-left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
2643   *
2644   * **Syntax**: `<'margin-left'>`
2645   *
2646   * **Initial value**: `0`
2647   *
2648   * |          Chrome          |        Firefox        |          Safari          |  Edge  | IE  |
2649   * | :----------------------: | :-------------------: | :----------------------: | :----: | :-: |
2650   * |          **69**          |        **41**         |         **12.1**         | **79** | No  |
2651   * | 2 _(-webkit-margin-end)_ | 3 _(-moz-margin-end)_ | 3 _(-webkit-margin-end)_ |        |     |
2652   *
2653   * @see https://developer.mozilla.org/docs/Web/CSS/margin-inline-end
2654   */
2655  marginInlineEnd?: Property.MarginInlineEnd<TLength>;
2656  /**
2657   * The **`margin-inline-start`** CSS property defines the logical inline start margin of an element, which maps to a physical margin depending on the element's writing mode, directionality, and text orientation. It corresponds to the `margin-top`, `margin-right`, `margin-bottom`, or `margin-left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
2658   *
2659   * **Syntax**: `<'margin-left'>`
2660   *
2661   * **Initial value**: `0`
2662   *
2663   * |           Chrome           |         Firefox         |           Safari           |  Edge  | IE  |
2664   * | :------------------------: | :---------------------: | :------------------------: | :----: | :-: |
2665   * |           **69**           |         **41**          |          **12.1**          | **79** | No  |
2666   * | 2 _(-webkit-margin-start)_ | 3 _(-moz-margin-start)_ | 3 _(-webkit-margin-start)_ |        |     |
2667   *
2668   * @see https://developer.mozilla.org/docs/Web/CSS/margin-inline-start
2669   */
2670  marginInlineStart?: Property.MarginInlineStart<TLength>;
2671  /**
2672   * The **`margin-left`** CSS property sets the margin area on the left side of an element. A positive value places it farther from its neighbors, while a negative value places it closer.
2673   *
2674   * **Syntax**: `<length> | <percentage> | auto`
2675   *
2676   * **Initial value**: `0`
2677   *
2678   * | Chrome | Firefox | Safari |  Edge  |  IE   |
2679   * | :----: | :-----: | :----: | :----: | :---: |
2680   * | **1**  |  **1**  | **1**  | **12** | **3** |
2681   *
2682   * @see https://developer.mozilla.org/docs/Web/CSS/margin-left
2683   */
2684  marginLeft?: Property.MarginLeft<TLength>;
2685  /**
2686   * The **`margin-right`** CSS property sets the margin area on the right side of an element. A positive value places it farther from its neighbors, while a negative value places it closer.
2687   *
2688   * **Syntax**: `<length> | <percentage> | auto`
2689   *
2690   * **Initial value**: `0`
2691   *
2692   * | Chrome | Firefox | Safari |  Edge  |  IE   |
2693   * | :----: | :-----: | :----: | :----: | :---: |
2694   * | **1**  |  **1**  | **1**  | **12** | **3** |
2695   *
2696   * @see https://developer.mozilla.org/docs/Web/CSS/margin-right
2697   */
2698  marginRight?: Property.MarginRight<TLength>;
2699  /**
2700   * The **`margin-top`** CSS property sets the margin area on the top of an element. A positive value places it farther from its neighbors, while a negative value places it closer.
2701   *
2702   * **Syntax**: `<length> | <percentage> | auto`
2703   *
2704   * **Initial value**: `0`
2705   *
2706   * | Chrome | Firefox | Safari |  Edge  |  IE   |
2707   * | :----: | :-----: | :----: | :----: | :---: |
2708   * | **1**  |  **1**  | **1**  | **12** | **3** |
2709   *
2710   * @see https://developer.mozilla.org/docs/Web/CSS/margin-top
2711   */
2712  marginTop?: Property.MarginTop<TLength>;
2713  /**
2714   * The **`mask-border-mode`** CSS property specifies the blending mode used in a mask border.
2715   *
2716   * **Syntax**: `luminance | alpha`
2717   *
2718   * **Initial value**: `alpha`
2719   */
2720  maskBorderMode?: Property.MaskBorderMode;
2721  /**
2722   * The **`mask-border-outset`** CSS property specifies the distance by which an element's mask border is set out from its border box.
2723   *
2724   * **Syntax**: `[ <length> | <number> ]{1,4}`
2725   *
2726   * **Initial value**: `0`
2727   *
2728   * |                 Chrome                  | Firefox |                  Safari                   |                   Edge                   | IE  |
2729   * | :-------------------------------------: | :-----: | :---------------------------------------: | :--------------------------------------: | :-: |
2730   * | **1** _(-webkit-mask-box-image-outset)_ |   No    | **3.1** _(-webkit-mask-box-image-outset)_ | **79** _(-webkit-mask-box-image-outset)_ | No  |
2731   *
2732   * @see https://developer.mozilla.org/docs/Web/CSS/mask-border-outset
2733   */
2734  maskBorderOutset?: Property.MaskBorderOutset<TLength>;
2735  /**
2736   * The **`mask-border-repeat`** CSS property sets how the edge regions of a source image are adjusted to fit the dimensions of an element's mask border.
2737   *
2738   * **Syntax**: `[ stretch | repeat | round | space ]{1,2}`
2739   *
2740   * **Initial value**: `stretch`
2741   *
2742   * |                 Chrome                  | Firefox |                  Safari                   |                   Edge                   | IE  |
2743   * | :-------------------------------------: | :-----: | :---------------------------------------: | :--------------------------------------: | :-: |
2744   * | **1** _(-webkit-mask-box-image-repeat)_ |   No    | **3.1** _(-webkit-mask-box-image-repeat)_ | **79** _(-webkit-mask-box-image-repeat)_ | No  |
2745   *
2746   * @see https://developer.mozilla.org/docs/Web/CSS/mask-border-repeat
2747   */
2748  maskBorderRepeat?: Property.MaskBorderRepeat;
2749  /**
2750   * The **`mask-border-slice`** CSS property divides the image set by `mask-border-source` into regions. These regions are used to form the components of an element's mask border.
2751   *
2752   * **Syntax**: `<number-percentage>{1,4} fill?`
2753   *
2754   * **Initial value**: `0`
2755   *
2756   * |                 Chrome                 | Firefox |                  Safari                  |                  Edge                   | IE  |
2757   * | :------------------------------------: | :-----: | :--------------------------------------: | :-------------------------------------: | :-: |
2758   * | **1** _(-webkit-mask-box-image-slice)_ |   No    | **3.1** _(-webkit-mask-box-image-slice)_ | **79** _(-webkit-mask-box-image-slice)_ | No  |
2759   *
2760   * @see https://developer.mozilla.org/docs/Web/CSS/mask-border-slice
2761   */
2762  maskBorderSlice?: Property.MaskBorderSlice;
2763  /**
2764   * The **`mask-border-source`** CSS property sets the source image used to create an element's mask border.
2765   *
2766   * **Syntax**: `none | <image>`
2767   *
2768   * **Initial value**: `none`
2769   *
2770   * |                 Chrome                  | Firefox |                  Safari                   |                   Edge                   | IE  |
2771   * | :-------------------------------------: | :-----: | :---------------------------------------: | :--------------------------------------: | :-: |
2772   * | **1** _(-webkit-mask-box-image-source)_ |   No    | **3.1** _(-webkit-mask-box-image-source)_ | **79** _(-webkit-mask-box-image-source)_ | No  |
2773   *
2774   * @see https://developer.mozilla.org/docs/Web/CSS/mask-border-source
2775   */
2776  maskBorderSource?: Property.MaskBorderSource;
2777  /**
2778   * The **`mask-border-width`** CSS property sets the width of an element's mask border.
2779   *
2780   * **Syntax**: `[ <length-percentage> | <number> | auto ]{1,4}`
2781   *
2782   * **Initial value**: `auto`
2783   *
2784   * |                 Chrome                 | Firefox |                  Safari                  |                  Edge                   | IE  |
2785   * | :------------------------------------: | :-----: | :--------------------------------------: | :-------------------------------------: | :-: |
2786   * | **1** _(-webkit-mask-box-image-width)_ |   No    | **3.1** _(-webkit-mask-box-image-width)_ | **79** _(-webkit-mask-box-image-width)_ | No  |
2787   *
2788   * @see https://developer.mozilla.org/docs/Web/CSS/mask-border-width
2789   */
2790  maskBorderWidth?: Property.MaskBorderWidth<TLength>;
2791  /**
2792   * The **`mask-clip`** CSS property determines the area which is affected by a mask. The painted content of an element must be restricted to this area.
2793   *
2794   * **Syntax**: `[ <geometry-box> | no-clip ]#`
2795   *
2796   * **Initial value**: `border-box`
2797   *
2798   * |   Chrome    | Firefox |   Safari    |     Edge     | IE  |
2799   * | :---------: | :-----: | :---------: | :----------: | :-: |
2800   * | **1** _-x-_ | **53**  | **4** _-x-_ | **79** _-x-_ | No  |
2801   *
2802   * @see https://developer.mozilla.org/docs/Web/CSS/mask-clip
2803   */
2804  maskClip?: Property.MaskClip;
2805  /**
2806   * The **`mask-composite`** CSS property represents a compositing operation used on the current mask layer with the mask layers below it.
2807   *
2808   * **Syntax**: `<compositing-operator>#`
2809   *
2810   * **Initial value**: `add`
2811   *
2812   * | Chrome | Firefox | Safari | Edge  | IE  |
2813   * | :----: | :-----: | :----: | :---: | :-: |
2814   * |   No   | **53**  |   No   | 18-79 | No  |
2815   *
2816   * @see https://developer.mozilla.org/docs/Web/CSS/mask-composite
2817   */
2818  maskComposite?: Property.MaskComposite;
2819  /**
2820   * The **`mask-image`** CSS property sets the image that is used as mask layer for an element.
2821   *
2822   * **Syntax**: `<mask-reference>#`
2823   *
2824   * **Initial value**: `none`
2825   *
2826   * |   Chrome    | Firefox |   Safari    |  Edge  | IE  |
2827   * | :---------: | :-----: | :---------: | :----: | :-: |
2828   * | **1** _-x-_ | **53**  | **4** _-x-_ | **16** | No  |
2829   *
2830   * @see https://developer.mozilla.org/docs/Web/CSS/mask-image
2831   */
2832  maskImage?: Property.MaskImage;
2833  /**
2834   * The **`mask-mode`** CSS property sets whether the mask reference defined by `mask-image` is treated as a luminance or alpha mask.
2835   *
2836   * **Syntax**: `<masking-mode>#`
2837   *
2838   * **Initial value**: `match-source`
2839   *
2840   * | Chrome | Firefox | Safari | Edge | IE  |
2841   * | :----: | :-----: | :----: | :--: | :-: |
2842   * |   No   | **53**  |   No   |  No  | No  |
2843   *
2844   * @see https://developer.mozilla.org/docs/Web/CSS/mask-mode
2845   */
2846  maskMode?: Property.MaskMode;
2847  /**
2848   * The **`mask-origin`** CSS property sets the origin of a mask.
2849   *
2850   * **Syntax**: `<geometry-box>#`
2851   *
2852   * **Initial value**: `border-box`
2853   *
2854   * |   Chrome    | Firefox |   Safari    |     Edge     | IE  |
2855   * | :---------: | :-----: | :---------: | :----------: | :-: |
2856   * | **1** _-x-_ | **53**  | **4** _-x-_ | **79** _-x-_ | No  |
2857   *
2858   * @see https://developer.mozilla.org/docs/Web/CSS/mask-origin
2859   */
2860  maskOrigin?: Property.MaskOrigin;
2861  /**
2862   * The **`mask-position`** CSS property sets the initial position, relative to the mask position layer set by `mask-origin`, for each defined mask image.
2863   *
2864   * **Syntax**: `<position>#`
2865   *
2866   * **Initial value**: `center`
2867   *
2868   * |   Chrome    | Firefox |    Safari     |  Edge  | IE  |
2869   * | :---------: | :-----: | :-----------: | :----: | :-: |
2870   * | **1** _-x-_ | **53**  | **3.2** _-x-_ | **18** | No  |
2871   *
2872   * @see https://developer.mozilla.org/docs/Web/CSS/mask-position
2873   */
2874  maskPosition?: Property.MaskPosition<TLength>;
2875  /**
2876   * The **`mask-repeat`** CSS property sets how mask images are repeated. A mask image can be repeated along the horizontal axis, the vertical axis, both axes, or not repeated at all.
2877   *
2878   * **Syntax**: `<repeat-style>#`
2879   *
2880   * **Initial value**: `no-repeat`
2881   *
2882   * |   Chrome    | Firefox |    Safari     |  Edge  | IE  |
2883   * | :---------: | :-----: | :-----------: | :----: | :-: |
2884   * | **1** _-x-_ | **53**  | **3.2** _-x-_ | **18** | No  |
2885   *
2886   * @see https://developer.mozilla.org/docs/Web/CSS/mask-repeat
2887   */
2888  maskRepeat?: Property.MaskRepeat;
2889  /**
2890   * The **`mask-size`** CSS property specifies the sizes of the mask images. The size of the image can be fully or partially constrained in order to preserve its intrinsic ratio.
2891   *
2892   * **Syntax**: `<bg-size>#`
2893   *
2894   * **Initial value**: `auto`
2895   *
2896   * |   Chrome    | Firefox |   Safari    |  Edge  | IE  |
2897   * | :---------: | :-----: | :---------: | :----: | :-: |
2898   * | **4** _-x-_ | **53**  | **4** _-x-_ | **18** | No  |
2899   *
2900   * @see https://developer.mozilla.org/docs/Web/CSS/mask-size
2901   */
2902  maskSize?: Property.MaskSize<TLength>;
2903  /**
2904   * The **`mask-type`** CSS property sets whether an SVG `<mask>` element is used as a _luminance_ or an _alpha_ mask. It applies to the `<mask>` element itself.
2905   *
2906   * **Syntax**: `luminance | alpha`
2907   *
2908   * **Initial value**: `luminance`
2909   *
2910   * | Chrome | Firefox | Safari  |  Edge  | IE  |
2911   * | :----: | :-----: | :-----: | :----: | :-: |
2912   * | **24** | **35**  | **6.1** | **79** | No  |
2913   *
2914   * @see https://developer.mozilla.org/docs/Web/CSS/mask-type
2915   */
2916  maskType?: Property.MaskType;
2917  /**
2918   * The `math-style` property indicates whether MathML equations should render with normal or compact height.
2919   *
2920   * **Syntax**: `normal | compact`
2921   *
2922   * **Initial value**: `normal`
2923   *
2924   * | Chrome | Firefox | Safari | Edge | IE  |
2925   * | :----: | :-----: | :----: | :--: | :-: |
2926   * |  n/a   |   n/a   |   No   |  No  | No  |
2927   *
2928   * @see https://developer.mozilla.org/docs/Web/CSS/math-style
2929   */
2930  mathStyle?: Property.MathStyle;
2931  /**
2932   * The `**max-block-size**` CSS property specifies the maximum size of an element in the direction opposite that of the writing direction as specified by `writing-mode`. That is, if the writing direction is horizontal, then `max-block-size` is equivalent to `max-height`; if the writing direction is vertical, `max-block-size` is the same as `max-width`.
2933   *
2934   * **Syntax**: `<'max-width'>`
2935   *
2936   * **Initial value**: `0`
2937   *
2938   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
2939   * | :----: | :-----: | :------: | :----: | :-: |
2940   * | **57** | **41**  | **12.1** | **79** | No  |
2941   *
2942   * @see https://developer.mozilla.org/docs/Web/CSS/max-block-size
2943   */
2944  maxBlockSize?: Property.MaxBlockSize<TLength>;
2945  /**
2946   * The **`max-height`** CSS property sets the maximum height of an element. It prevents the used value of the `height` property from becoming larger than the value specified for `max-height`.
2947   *
2948   * **Syntax**: `none | <length-percentage> | min-content | max-content | fit-content | fit-content(<length-percentage>)`
2949   *
2950   * **Initial value**: `none`
2951   *
2952   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
2953   * | :----: | :-----: | :-----: | :----: | :---: |
2954   * | **18** |  **1**  | **1.3** | **12** | **7** |
2955   *
2956   * @see https://developer.mozilla.org/docs/Web/CSS/max-height
2957   */
2958  maxHeight?: Property.MaxHeight<TLength>;
2959  /**
2960   * The **`max-inline-size`** CSS property defines the horizontal or vertical maximum size of an element's block, depending on its writing mode. It corresponds to either the `max-width` or the `max-height` property, depending on the value of `writing-mode`.
2961   *
2962   * **Syntax**: `<'max-width'>`
2963   *
2964   * **Initial value**: `0`
2965   *
2966   * | Chrome | Firefox |   Safari   |  Edge  | IE  |
2967   * | :----: | :-----: | :--------: | :----: | :-: |
2968   * | **57** | **41**  |  **12.1**  | **79** | No  |
2969   * |        |         | 10.1 _-x-_ |        |     |
2970   *
2971   * @see https://developer.mozilla.org/docs/Web/CSS/max-inline-size
2972   */
2973  maxInlineSize?: Property.MaxInlineSize<TLength>;
2974  /**
2975   * **Syntax**: `none | <integer>`
2976   *
2977   * **Initial value**: `none`
2978   */
2979  maxLines?: Property.MaxLines;
2980  /**
2981   * The **`max-width`** CSS property sets the maximum width of an element. It prevents the used value of the `width` property from becoming larger than the value specified by `max-width`.
2982   *
2983   * **Syntax**: `none | <length-percentage> | min-content | max-content | fit-content | fit-content(<length-percentage>)`
2984   *
2985   * **Initial value**: `none`
2986   *
2987   * | Chrome | Firefox | Safari |  Edge  |  IE   |
2988   * | :----: | :-----: | :----: | :----: | :---: |
2989   * | **1**  |  **1**  | **1**  | **12** | **7** |
2990   *
2991   * @see https://developer.mozilla.org/docs/Web/CSS/max-width
2992   */
2993  maxWidth?: Property.MaxWidth<TLength>;
2994  /**
2995   * The **`min-block-size`** CSS property defines the minimum horizontal or vertical size of an element's block, depending on its writing mode. It corresponds to either the `min-width` or the `min-height` property, depending on the value of `writing-mode`.
2996   *
2997   * **Syntax**: `<'min-width'>`
2998   *
2999   * **Initial value**: `0`
3000   *
3001   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
3002   * | :----: | :-----: | :------: | :----: | :-: |
3003   * | **57** | **41**  | **12.1** | **79** | No  |
3004   *
3005   * @see https://developer.mozilla.org/docs/Web/CSS/min-block-size
3006   */
3007  minBlockSize?: Property.MinBlockSize<TLength>;
3008  /**
3009   * The **`min-height`** CSS property sets the minimum height of an element. It prevents the used value of the `height` property from becoming smaller than the value specified for `min-height`.
3010   *
3011   * **Syntax**: `auto | <length> | <percentage> | min-content | max-content | fit-content | fit-content(<length-percentage>)`
3012   *
3013   * **Initial value**: `auto`
3014   *
3015   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
3016   * | :----: | :-----: | :-----: | :----: | :---: |
3017   * | **1**  |  **3**  | **1.3** | **12** | **7** |
3018   *
3019   * @see https://developer.mozilla.org/docs/Web/CSS/min-height
3020   */
3021  minHeight?: Property.MinHeight<TLength>;
3022  /**
3023   * The **`min-inline-size`** CSS property defines the horizontal or vertical minimal size of an element's block, depending on its writing mode. It corresponds to either the `min-width` or the `min-height` property, depending on the value of `writing-mode`.
3024   *
3025   * **Syntax**: `<'min-width'>`
3026   *
3027   * **Initial value**: `0`
3028   *
3029   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
3030   * | :----: | :-----: | :------: | :----: | :-: |
3031   * | **57** | **41**  | **12.1** | **79** | No  |
3032   *
3033   * @see https://developer.mozilla.org/docs/Web/CSS/min-inline-size
3034   */
3035  minInlineSize?: Property.MinInlineSize<TLength>;
3036  /**
3037   * The **`min-width`** CSS property sets the minimum width of an element. It prevents the used value of the `width` property from becoming smaller than the value specified for `min-width`.
3038   *
3039   * **Syntax**: `auto | <length> | <percentage> | min-content | max-content | fit-content | fit-content(<length-percentage>)`
3040   *
3041   * **Initial value**: `auto`
3042   *
3043   * | Chrome | Firefox | Safari |  Edge  |  IE   |
3044   * | :----: | :-----: | :----: | :----: | :---: |
3045   * | **1**  |  **1**  | **1**  | **12** | **7** |
3046   *
3047   * @see https://developer.mozilla.org/docs/Web/CSS/min-width
3048   */
3049  minWidth?: Property.MinWidth<TLength>;
3050  /**
3051   * The **`mix-blend-mode`** CSS property sets how an element's content should blend with the content of the element's parent and the element's background.
3052   *
3053   * **Syntax**: `<blend-mode>`
3054   *
3055   * **Initial value**: `normal`
3056   *
3057   * | Chrome | Firefox | Safari |  Edge  | IE  |
3058   * | :----: | :-----: | :----: | :----: | :-: |
3059   * | **41** | **32**  | **8**  | **79** | No  |
3060   *
3061   * @see https://developer.mozilla.org/docs/Web/CSS/mix-blend-mode
3062   */
3063  mixBlendMode?: Property.MixBlendMode;
3064  /**
3065   * The **`offset-distance`** CSS property specifies a position along an `offset-path` for an element to be placed.
3066   *
3067   * **Syntax**: `<length-percentage>`
3068   *
3069   * **Initial value**: `0`
3070   *
3071   * |         Chrome         | Firefox | Safari |  Edge  | IE  |
3072   * | :--------------------: | :-----: | :----: | :----: | :-: |
3073   * |         **55**         | **72**  |   No   | **79** | No  |
3074   * | 46 _(motion-distance)_ |         |        |        |     |
3075   *
3076   * @see https://developer.mozilla.org/docs/Web/CSS/offset-distance
3077   */
3078  motionDistance?: Property.OffsetDistance<TLength>;
3079  /**
3080   * The **`offset-path`** CSS property specifies a motion path for an element to follow and defines the element's positioning within the parent container or SVG coordinate system.
3081   *
3082   * **Syntax**: `none | ray( [ <angle> && <size> && contain? ] ) | <path()> | <url> | [ <basic-shape> || <geometry-box> ]`
3083   *
3084   * **Initial value**: `none`
3085   *
3086   * |       Chrome       | Firefox | Safari |  Edge  | IE  |
3087   * | :----------------: | :-----: | :----: | :----: | :-: |
3088   * |       **55**       | **72**  |   No   | **79** | No  |
3089   * | 46 _(motion-path)_ |         |        |        |     |
3090   *
3091   * @see https://developer.mozilla.org/docs/Web/CSS/offset-path
3092   */
3093  motionPath?: Property.OffsetPath;
3094  /**
3095   * The **`offset-rotate`** CSS property defines the orientation/direction of the element as it is positioned along the `offset-path`.
3096   *
3097   * **Syntax**: `[ auto | reverse ] || <angle>`
3098   *
3099   * **Initial value**: `auto`
3100   *
3101   * |         Chrome         | Firefox | Safari |  Edge  | IE  |
3102   * | :--------------------: | :-----: | :----: | :----: | :-: |
3103   * |         **56**         | **72**  |   No   | **79** | No  |
3104   * | 46 _(motion-rotation)_ |         |        |        |     |
3105   *
3106   * @see https://developer.mozilla.org/docs/Web/CSS/offset-rotate
3107   */
3108  motionRotation?: Property.OffsetRotate;
3109  /**
3110   * The **`object-fit`** CSS property sets how the content of a replaced element, such as an `<img>` or `<video>`, should be resized to fit its container.
3111   *
3112   * **Syntax**: `fill | contain | cover | none | scale-down`
3113   *
3114   * **Initial value**: `fill`
3115   *
3116   * | Chrome | Firefox | Safari |  Edge  | IE  |
3117   * | :----: | :-----: | :----: | :----: | :-: |
3118   * | **32** | **36**  | **10** | **79** | No  |
3119   *
3120   * @see https://developer.mozilla.org/docs/Web/CSS/object-fit
3121   */
3122  objectFit?: Property.ObjectFit;
3123  /**
3124   * The **`object-position`** CSS property specifies the alignment of the selected replaced element's contents within the element's box. Areas of the box which aren't covered by the replaced element's object will show the element's background.
3125   *
3126   * **Syntax**: `<position>`
3127   *
3128   * **Initial value**: `50% 50%`
3129   *
3130   * | Chrome | Firefox | Safari |  Edge  | IE  |
3131   * | :----: | :-----: | :----: | :----: | :-: |
3132   * | **32** | **36**  | **10** | **79** | No  |
3133   *
3134   * @see https://developer.mozilla.org/docs/Web/CSS/object-position
3135   */
3136  objectPosition?: Property.ObjectPosition<TLength>;
3137  /**
3138   * **Syntax**: `auto | <position>`
3139   *
3140   * **Initial value**: `auto`
3141   *
3142   * | Chrome | Firefox | Safari |  Edge  | IE  |
3143   * | :----: | :-----: | :----: | :----: | :-: |
3144   * | **79** | **72**  |   No   | **79** | No  |
3145   *
3146   * @see https://developer.mozilla.org/docs/Web/CSS/offset-anchor
3147   */
3148  offsetAnchor?: Property.OffsetAnchor<TLength>;
3149  /**
3150   * The **`offset-distance`** CSS property specifies a position along an `offset-path` for an element to be placed.
3151   *
3152   * **Syntax**: `<length-percentage>`
3153   *
3154   * **Initial value**: `0`
3155   *
3156   * |         Chrome         | Firefox | Safari |  Edge  | IE  |
3157   * | :--------------------: | :-----: | :----: | :----: | :-: |
3158   * |         **55**         | **72**  |   No   | **79** | No  |
3159   * | 46 _(motion-distance)_ |         |        |        |     |
3160   *
3161   * @see https://developer.mozilla.org/docs/Web/CSS/offset-distance
3162   */
3163  offsetDistance?: Property.OffsetDistance<TLength>;
3164  /**
3165   * The **`offset-path`** CSS property specifies a motion path for an element to follow and defines the element's positioning within the parent container or SVG coordinate system.
3166   *
3167   * **Syntax**: `none | ray( [ <angle> && <size> && contain? ] ) | <path()> | <url> | [ <basic-shape> || <geometry-box> ]`
3168   *
3169   * **Initial value**: `none`
3170   *
3171   * |       Chrome       | Firefox | Safari |  Edge  | IE  |
3172   * | :----------------: | :-----: | :----: | :----: | :-: |
3173   * |       **55**       | **72**  |   No   | **79** | No  |
3174   * | 46 _(motion-path)_ |         |        |        |     |
3175   *
3176   * @see https://developer.mozilla.org/docs/Web/CSS/offset-path
3177   */
3178  offsetPath?: Property.OffsetPath;
3179  /**
3180   * The **`offset-rotate`** CSS property defines the orientation/direction of the element as it is positioned along the `offset-path`.
3181   *
3182   * **Syntax**: `[ auto | reverse ] || <angle>`
3183   *
3184   * **Initial value**: `auto`
3185   *
3186   * |         Chrome         | Firefox | Safari |  Edge  | IE  |
3187   * | :--------------------: | :-----: | :----: | :----: | :-: |
3188   * |         **56**         | **72**  |   No   | **79** | No  |
3189   * | 46 _(motion-rotation)_ |         |        |        |     |
3190   *
3191   * @see https://developer.mozilla.org/docs/Web/CSS/offset-rotate
3192   */
3193  offsetRotate?: Property.OffsetRotate;
3194  /**
3195   * The **`offset-rotate`** CSS property defines the orientation/direction of the element as it is positioned along the `offset-path`.
3196   *
3197   * **Syntax**: `[ auto | reverse ] || <angle>`
3198   *
3199   * **Initial value**: `auto`
3200   *
3201   * |         Chrome         | Firefox | Safari |  Edge  | IE  |
3202   * | :--------------------: | :-----: | :----: | :----: | :-: |
3203   * |         **56**         | **72**  |   No   | **79** | No  |
3204   * | 46 _(motion-rotation)_ |         |        |        |     |
3205   *
3206   * @see https://developer.mozilla.org/docs/Web/CSS/offset-rotate
3207   */
3208  offsetRotation?: Property.OffsetRotate;
3209  /**
3210   * The **`opacity`** CSS property sets the opacity of an element. Opacity is the degree to which content behind an element is hidden, and is the opposite of transparency.
3211   *
3212   * **Syntax**: `<alpha-value>`
3213   *
3214   * **Initial value**: `1.0`
3215   *
3216   * | Chrome | Firefox | Safari |  Edge  |  IE   |
3217   * | :----: | :-----: | :----: | :----: | :---: |
3218   * | **1**  |  **1**  | **2**  | **12** | **9** |
3219   *
3220   * @see https://developer.mozilla.org/docs/Web/CSS/opacity
3221   */
3222  opacity?: Property.Opacity;
3223  /**
3224   * The **`order`** CSS property sets the order to lay out an item in a flex or grid container. Items in a container are sorted by ascending `order` value and then by their source code order.
3225   *
3226   * **Syntax**: `<integer>`
3227   *
3228   * **Initial value**: `0`
3229   *
3230   * |  Chrome  | Firefox | Safari  |  Edge  |    IE    |
3231   * | :------: | :-----: | :-----: | :----: | :------: |
3232   * |  **29**  | **20**  |  **9**  | **12** |  **11**  |
3233   * | 21 _-x-_ |         | 7 _-x-_ |        | 10 _-x-_ |
3234   *
3235   * @see https://developer.mozilla.org/docs/Web/CSS/order
3236   */
3237  order?: Property.Order;
3238  /**
3239   * The **`orphans`** CSS property sets the minimum number of lines in a block container that must be shown at the _bottom_ of a page, region, or column.
3240   *
3241   * **Syntax**: `<integer>`
3242   *
3243   * **Initial value**: `2`
3244   *
3245   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
3246   * | :----: | :-----: | :-----: | :----: | :---: |
3247   * | **25** |   No    | **1.3** | **12** | **8** |
3248   *
3249   * @see https://developer.mozilla.org/docs/Web/CSS/orphans
3250   */
3251  orphans?: Property.Orphans;
3252  /**
3253   * The **`outline-color`** CSS property sets the color of an element's outline.
3254   *
3255   * **Syntax**: `<color> | invert`
3256   *
3257   * **Initial value**: `invert`, for browsers supporting it, `currentColor` for the other
3258   *
3259   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
3260   * | :----: | :-----: | :-----: | :----: | :---: |
3261   * | **1**  | **1.5** | **1.2** | **12** | **8** |
3262   *
3263   * @see https://developer.mozilla.org/docs/Web/CSS/outline-color
3264   */
3265  outlineColor?: Property.OutlineColor;
3266  /**
3267   * The **`outline-offset`** CSS property sets the amount of space between an outline and the edge or border of an element.
3268   *
3269   * **Syntax**: `<length>`
3270   *
3271   * **Initial value**: `0`
3272   *
3273   * | Chrome | Firefox | Safari  |  Edge  | IE  |
3274   * | :----: | :-----: | :-----: | :----: | :-: |
3275   * | **1**  | **1.5** | **1.2** | **15** | No  |
3276   *
3277   * @see https://developer.mozilla.org/docs/Web/CSS/outline-offset
3278   */
3279  outlineOffset?: Property.OutlineOffset<TLength>;
3280  /**
3281   * The **`outline-style`** CSS property sets the style of an element's outline. An outline is a line that is drawn around an element, outside the `border`.
3282   *
3283   * **Syntax**: `auto | <'border-style'>`
3284   *
3285   * **Initial value**: `none`
3286   *
3287   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
3288   * | :----: | :-----: | :-----: | :----: | :---: |
3289   * | **1**  | **1.5** | **1.2** | **12** | **8** |
3290   *
3291   * @see https://developer.mozilla.org/docs/Web/CSS/outline-style
3292   */
3293  outlineStyle?: Property.OutlineStyle;
3294  /**
3295   * The CSS **`outline-width`** property sets the thickness of an element's outline. An outline is a line that is drawn around an element, outside the `border`.
3296   *
3297   * **Syntax**: `<line-width>`
3298   *
3299   * **Initial value**: `medium`
3300   *
3301   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
3302   * | :----: | :-----: | :-----: | :----: | :---: |
3303   * | **1**  | **1.5** | **1.2** | **12** | **8** |
3304   *
3305   * @see https://developer.mozilla.org/docs/Web/CSS/outline-width
3306   */
3307  outlineWidth?: Property.OutlineWidth<TLength>;
3308  /**
3309   * **Syntax**: `auto | none`
3310   *
3311   * **Initial value**: `auto`
3312   *
3313   * | Chrome | Firefox | Safari |  Edge  | IE  |
3314   * | :----: | :-----: | :----: | :----: | :-: |
3315   * | **56** | **66**  |   No   | **79** | No  |
3316   *
3317   * @see https://developer.mozilla.org/docs/Web/CSS/overflow-anchor
3318   */
3319  overflowAnchor?: Property.OverflowAnchor;
3320  /**
3321   * **Syntax**: `visible | hidden | clip | scroll | auto`
3322   *
3323   * **Initial value**: `auto`
3324   *
3325   * | Chrome | Firefox | Safari | Edge | IE  |
3326   * | :----: | :-----: | :----: | :--: | :-: |
3327   * |   No   | **69**  |   No   |  No  | No  |
3328   *
3329   * @see https://developer.mozilla.org/docs/Web/CSS/overflow-block
3330   */
3331  overflowBlock?: Property.OverflowBlock;
3332  /**
3333   * The **`overflow-clip-box`** CSS property specifies relative to which box the clipping happens when there is an overflow. It is short hand for the `overflow-clip-box-inline` and `overflow-clip-box-block` properties.
3334   *
3335   * **Syntax**: `padding-box | content-box`
3336   *
3337   * **Initial value**: `padding-box`
3338   *
3339   * | Chrome | Firefox | Safari | Edge | IE  |
3340   * | :----: | :-----: | :----: | :--: | :-: |
3341   * |   No   | **29**  |   No   |  No  | No  |
3342   *
3343   * @see https://developer.mozilla.org/docs/Mozilla/Gecko/Chrome/CSS/overflow-clip-box
3344   */
3345  overflowClipBox?: Property.OverflowClipBox;
3346  /**
3347   * **Syntax**: `<visual-box> || <length [0,∞]>`
3348   *
3349   * **Initial value**: `0px`
3350   *
3351   * | Chrome | Firefox | Safari |  Edge  | IE  |
3352   * | :----: | :-----: | :----: | :----: | :-: |
3353   * | **90** |   No    |   No   | **90** | No  |
3354   *
3355   * @see https://developer.mozilla.org/docs/Web/CSS/overflow-clip-margin
3356   */
3357  overflowClipMargin?: Property.OverflowClipMargin<TLength>;
3358  /**
3359   * **Syntax**: `visible | hidden | clip | scroll | auto`
3360   *
3361   * **Initial value**: `auto`
3362   *
3363   * | Chrome | Firefox | Safari | Edge | IE  |
3364   * | :----: | :-----: | :----: | :--: | :-: |
3365   * |   No   | **69**  |   No   |  No  | No  |
3366   *
3367   * @see https://developer.mozilla.org/docs/Web/CSS/overflow-inline
3368   */
3369  overflowInline?: Property.OverflowInline;
3370  /**
3371   * The `**overflow-wrap**` CSS property applies to inline elements, setting whether the browser should insert line breaks within an otherwise unbreakable string to prevent text from overflowing its line box.
3372   *
3373   * **Syntax**: `normal | break-word | anywhere`
3374   *
3375   * **Initial value**: `normal`
3376   *
3377   * |     Chrome      |      Firefox      |     Safari      |       Edge       |          IE           |
3378   * | :-------------: | :---------------: | :-------------: | :--------------: | :-------------------: |
3379   * |     **23**      |      **49**       |     **6.1**     |      **18**      | **5.5** _(word-wrap)_ |
3380   * | 1 _(word-wrap)_ | 3.5 _(word-wrap)_ | 1 _(word-wrap)_ | 12 _(word-wrap)_ |                       |
3381   *
3382   * @see https://developer.mozilla.org/docs/Web/CSS/overflow-wrap
3383   */
3384  overflowWrap?: Property.OverflowWrap;
3385  /**
3386   * The **`overflow-x`** CSS property sets what shows when content overflows a block-level element's left and right edges. This may be nothing, a scroll bar, or the overflow content.
3387   *
3388   * **Syntax**: `visible | hidden | clip | scroll | auto`
3389   *
3390   * **Initial value**: `visible`
3391   *
3392   * | Chrome | Firefox | Safari |  Edge  |  IE   |
3393   * | :----: | :-----: | :----: | :----: | :---: |
3394   * | **1**  | **3.5** | **3**  | **12** | **5** |
3395   *
3396   * @see https://developer.mozilla.org/docs/Web/CSS/overflow-x
3397   */
3398  overflowX?: Property.OverflowX;
3399  /**
3400   * The **`overflow-y`** CSS property sets what shows when content overflows a block-level element's top and bottom edges. This may be nothing, a scroll bar, or the overflow content.
3401   *
3402   * **Syntax**: `visible | hidden | clip | scroll | auto`
3403   *
3404   * **Initial value**: `visible`
3405   *
3406   * | Chrome | Firefox | Safari |  Edge  |  IE   |
3407   * | :----: | :-----: | :----: | :----: | :---: |
3408   * | **1**  | **3.5** | **3**  | **12** | **5** |
3409   *
3410   * @see https://developer.mozilla.org/docs/Web/CSS/overflow-y
3411   */
3412  overflowY?: Property.OverflowY;
3413  /**
3414   * The **`overscroll-behavior-block`** CSS property sets the browser's behavior when the block direction boundary of a scrolling area is reached.
3415   *
3416   * **Syntax**: `contain | none | auto`
3417   *
3418   * **Initial value**: `auto`
3419   *
3420   * | Chrome | Firefox | Safari |  Edge  | IE  |
3421   * | :----: | :-----: | :----: | :----: | :-: |
3422   * | **77** | **73**  |   No   | **79** | No  |
3423   *
3424   * @see https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-block
3425   */
3426  overscrollBehaviorBlock?: Property.OverscrollBehaviorBlock;
3427  /**
3428   * The **`overscroll-behavior-inline`** CSS property sets the browser's behavior when the inline direction boundary of a scrolling area is reached.
3429   *
3430   * **Syntax**: `contain | none | auto`
3431   *
3432   * **Initial value**: `auto`
3433   *
3434   * | Chrome | Firefox | Safari |  Edge  | IE  |
3435   * | :----: | :-----: | :----: | :----: | :-: |
3436   * | **77** | **73**  |   No   | **79** | No  |
3437   *
3438   * @see https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-inline
3439   */
3440  overscrollBehaviorInline?: Property.OverscrollBehaviorInline;
3441  /**
3442   * The **`overscroll-behavior-x`** CSS property sets the browser's behavior when the horizontal boundary of a scrolling area is reached.
3443   *
3444   * **Syntax**: `contain | none | auto`
3445   *
3446   * **Initial value**: `auto`
3447   *
3448   * | Chrome | Firefox | Safari |  Edge  | IE  |
3449   * | :----: | :-----: | :----: | :----: | :-: |
3450   * | **63** | **59**  |   No   | **18** | No  |
3451   *
3452   * @see https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-x
3453   */
3454  overscrollBehaviorX?: Property.OverscrollBehaviorX;
3455  /**
3456   * The **`overscroll-behavior-y`** CSS property sets the browser's behavior when the vertical boundary of a scrolling area is reached.
3457   *
3458   * **Syntax**: `contain | none | auto`
3459   *
3460   * **Initial value**: `auto`
3461   *
3462   * | Chrome | Firefox | Safari |  Edge  | IE  |
3463   * | :----: | :-----: | :----: | :----: | :-: |
3464   * | **63** | **59**  |   No   | **18** | No  |
3465   *
3466   * @see https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-y
3467   */
3468  overscrollBehaviorY?: Property.OverscrollBehaviorY;
3469  /**
3470   * The **`padding-block`** CSS shorthand property defines the logical block start and end padding of an element, which maps to physical padding properties depending on the element's writing mode, directionality, and text orientation.
3471   *
3472   * **Syntax**: `<'padding-left'>{1,2}`
3473   *
3474   * **Initial value**: `0`
3475   *
3476   * | Chrome | Firefox | Safari | Edge | IE  |
3477   * | :----: | :-----: | :----: | :--: | :-: |
3478   * | **87** | **66**  |   No   | n/a  | No  |
3479   *
3480   * @see https://developer.mozilla.org/docs/Web/CSS/padding-block
3481   */
3482  paddingBlock?: Property.PaddingBlock<TLength>;
3483  /**
3484   * The **`padding-block-end`** CSS property defines the logical block end padding of an element, which maps to a physical padding depending on the element's writing mode, directionality, and text orientation.
3485   *
3486   * **Syntax**: `<'padding-left'>`
3487   *
3488   * **Initial value**: `0`
3489   *
3490   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
3491   * | :----: | :-----: | :------: | :----: | :-: |
3492   * | **69** | **41**  | **12.1** | **79** | No  |
3493   *
3494   * @see https://developer.mozilla.org/docs/Web/CSS/padding-block-end
3495   */
3496  paddingBlockEnd?: Property.PaddingBlockEnd<TLength>;
3497  /**
3498   * The **`padding-block-start`** CSS property defines the logical block start padding of an element, which maps to a physical padding depending on the element's writing mode, directionality, and text orientation.
3499   *
3500   * **Syntax**: `<'padding-left'>`
3501   *
3502   * **Initial value**: `0`
3503   *
3504   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
3505   * | :----: | :-----: | :------: | :----: | :-: |
3506   * | **69** | **41**  | **12.1** | **79** | No  |
3507   *
3508   * @see https://developer.mozilla.org/docs/Web/CSS/padding-block-start
3509   */
3510  paddingBlockStart?: Property.PaddingBlockStart<TLength>;
3511  /**
3512   * The **`padding-bottom`** CSS property sets the height of the padding area on the bottom of an element.
3513   *
3514   * **Syntax**: `<length> | <percentage>`
3515   *
3516   * **Initial value**: `0`
3517   *
3518   * | Chrome | Firefox | Safari |  Edge  |  IE   |
3519   * | :----: | :-----: | :----: | :----: | :---: |
3520   * | **1**  |  **1**  | **1**  | **12** | **4** |
3521   *
3522   * @see https://developer.mozilla.org/docs/Web/CSS/padding-bottom
3523   */
3524  paddingBottom?: Property.PaddingBottom<TLength>;
3525  /**
3526   * The **`padding-inline`** CSS shorthand property defines the logical inline start and end padding of an element, which maps to physical padding properties depending on the element's writing mode, directionality, and text orientation.
3527   *
3528   * **Syntax**: `<'padding-left'>{1,2}`
3529   *
3530   * **Initial value**: `0`
3531   *
3532   * | Chrome | Firefox | Safari | Edge | IE  |
3533   * | :----: | :-----: | :----: | :--: | :-: |
3534   * | **87** | **66**  |   No   | n/a  | No  |
3535   *
3536   * @see https://developer.mozilla.org/docs/Web/CSS/padding-inline
3537   */
3538  paddingInline?: Property.PaddingInline<TLength>;
3539  /**
3540   * The **`padding-inline-end`** CSS property defines the logical inline end padding of an element, which maps to a physical padding depending on the element's writing mode, directionality, and text orientation.
3541   *
3542   * **Syntax**: `<'padding-left'>`
3543   *
3544   * **Initial value**: `0`
3545   *
3546   * |          Chrome           |        Firefox         |          Safari           |  Edge  | IE  |
3547   * | :-----------------------: | :--------------------: | :-----------------------: | :----: | :-: |
3548   * |          **69**           |         **41**         |         **12.1**          | **79** | No  |
3549   * | 2 _(-webkit-padding-end)_ | 3 _(-moz-padding-end)_ | 3 _(-webkit-padding-end)_ |        |     |
3550   *
3551   * @see https://developer.mozilla.org/docs/Web/CSS/padding-inline-end
3552   */
3553  paddingInlineEnd?: Property.PaddingInlineEnd<TLength>;
3554  /**
3555   * The **`padding-inline-start`** CSS property defines the logical inline start padding of an element, which maps to a physical padding depending on the element's writing mode, directionality, and text orientation.
3556   *
3557   * **Syntax**: `<'padding-left'>`
3558   *
3559   * **Initial value**: `0`
3560   *
3561   * |           Chrome            |         Firefox          |           Safari            |  Edge  | IE  |
3562   * | :-------------------------: | :----------------------: | :-------------------------: | :----: | :-: |
3563   * |           **69**            |          **41**          |          **12.1**           | **79** | No  |
3564   * | 2 _(-webkit-padding-start)_ | 3 _(-moz-padding-start)_ | 3 _(-webkit-padding-start)_ |        |     |
3565   *
3566   * @see https://developer.mozilla.org/docs/Web/CSS/padding-inline-start
3567   */
3568  paddingInlineStart?: Property.PaddingInlineStart<TLength>;
3569  /**
3570   * The **`padding-left`** CSS property sets the width of the padding area to the left of an element.
3571   *
3572   * **Syntax**: `<length> | <percentage>`
3573   *
3574   * **Initial value**: `0`
3575   *
3576   * | Chrome | Firefox | Safari |  Edge  |  IE   |
3577   * | :----: | :-----: | :----: | :----: | :---: |
3578   * | **1**  |  **1**  | **1**  | **12** | **4** |
3579   *
3580   * @see https://developer.mozilla.org/docs/Web/CSS/padding-left
3581   */
3582  paddingLeft?: Property.PaddingLeft<TLength>;
3583  /**
3584   * The **`padding-right`** CSS property sets the width of the padding area on the right of an element.
3585   *
3586   * **Syntax**: `<length> | <percentage>`
3587   *
3588   * **Initial value**: `0`
3589   *
3590   * | Chrome | Firefox | Safari |  Edge  |  IE   |
3591   * | :----: | :-----: | :----: | :----: | :---: |
3592   * | **1**  |  **1**  | **1**  | **12** | **4** |
3593   *
3594   * @see https://developer.mozilla.org/docs/Web/CSS/padding-right
3595   */
3596  paddingRight?: Property.PaddingRight<TLength>;
3597  /**
3598   * The **`padding-top`** CSS property sets the height of the padding area on the top of an element.
3599   *
3600   * **Syntax**: `<length> | <percentage>`
3601   *
3602   * **Initial value**: `0`
3603   *
3604   * | Chrome | Firefox | Safari |  Edge  |  IE   |
3605   * | :----: | :-----: | :----: | :----: | :---: |
3606   * | **1**  |  **1**  | **1**  | **12** | **4** |
3607   *
3608   * @see https://developer.mozilla.org/docs/Web/CSS/padding-top
3609   */
3610  paddingTop?: Property.PaddingTop<TLength>;
3611  /**
3612   * The **`page-break-after`** CSS property adjusts page breaks _after_ the current element.
3613   *
3614   * **Syntax**: `auto | always | avoid | left | right | recto | verso`
3615   *
3616   * **Initial value**: `auto`
3617   *
3618   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
3619   * | :----: | :-----: | :-----: | :----: | :---: |
3620   * | **1**  |  **1**  | **1.2** | **12** | **4** |
3621   *
3622   * @see https://developer.mozilla.org/docs/Web/CSS/page-break-after
3623   */
3624  pageBreakAfter?: Property.PageBreakAfter;
3625  /**
3626   * The **`page-break-before`** CSS property adjusts page breaks _before_ the current element.
3627   *
3628   * **Syntax**: `auto | always | avoid | left | right | recto | verso`
3629   *
3630   * **Initial value**: `auto`
3631   *
3632   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
3633   * | :----: | :-----: | :-----: | :----: | :---: |
3634   * | **1**  |  **1**  | **1.2** | **12** | **4** |
3635   *
3636   * @see https://developer.mozilla.org/docs/Web/CSS/page-break-before
3637   */
3638  pageBreakBefore?: Property.PageBreakBefore;
3639  /**
3640   * The **`page-break-inside`** CSS property adjusts page breaks _inside_ the current element.
3641   *
3642   * **Syntax**: `auto | avoid`
3643   *
3644   * **Initial value**: `auto`
3645   *
3646   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
3647   * | :----: | :-----: | :-----: | :----: | :---: |
3648   * | **1**  | **19**  | **1.3** | **12** | **8** |
3649   *
3650   * @see https://developer.mozilla.org/docs/Web/CSS/page-break-inside
3651   */
3652  pageBreakInside?: Property.PageBreakInside;
3653  /**
3654   * The **`paint-order`** CSS property lets you control the order in which the fill and stroke (and painting markers) of text content and shapes are drawn.
3655   *
3656   * **Syntax**: `normal | [ fill || stroke || markers ]`
3657   *
3658   * **Initial value**: `normal`
3659   *
3660   * | Chrome | Firefox | Safari |  Edge  | IE  |
3661   * | :----: | :-----: | :----: | :----: | :-: |
3662   * | **35** | **60**  | **8**  | **17** | No  |
3663   *
3664   * @see https://developer.mozilla.org/docs/Web/CSS/paint-order
3665   */
3666  paintOrder?: Property.PaintOrder;
3667  /**
3668   * The **`perspective`** CSS property determines the distance between the z=0 plane and the user in order to give a 3D-positioned element some perspective.
3669   *
3670   * **Syntax**: `none | <length>`
3671   *
3672   * **Initial value**: `none`
3673   *
3674   * |  Chrome  | Firefox  | Safari  |  Edge  |   IE   |
3675   * | :------: | :------: | :-----: | :----: | :----: |
3676   * |  **36**  |  **16**  |  **9**  | **12** | **10** |
3677   * | 12 _-x-_ | 10 _-x-_ | 4 _-x-_ |        |        |
3678   *
3679   * @see https://developer.mozilla.org/docs/Web/CSS/perspective
3680   */
3681  perspective?: Property.Perspective<TLength>;
3682  /**
3683   * The **`perspective-origin`** CSS property determines the position at which the viewer is looking. It is used as the _vanishing point_ by the `perspective` property.
3684   *
3685   * **Syntax**: `<position>`
3686   *
3687   * **Initial value**: `50% 50%`
3688   *
3689   * |  Chrome  | Firefox  | Safari  |  Edge  |   IE   |
3690   * | :------: | :------: | :-----: | :----: | :----: |
3691   * |  **36**  |  **16**  |  **9**  | **12** | **10** |
3692   * | 12 _-x-_ | 10 _-x-_ | 4 _-x-_ |        |        |
3693   *
3694   * @see https://developer.mozilla.org/docs/Web/CSS/perspective-origin
3695   */
3696  perspectiveOrigin?: Property.PerspectiveOrigin<TLength>;
3697  /**
3698   * The `**place-content**` CSS shorthand property allows you to align content along both the block and inline directions at once (i.e. the `align-content` and `justify-content` properties) in a relevant layout system such as Grid or Flexbox.
3699   *
3700   * **Syntax**: `<'align-content'> <'justify-content'>?`
3701   *
3702   * **Initial value**: `normal`
3703   *
3704   * ---
3705   *
3706   * _Supported in Flex Layout_
3707   *
3708   * | Chrome | Firefox | Safari |  Edge  | IE  |
3709   * | :----: | :-----: | :----: | :----: | :-: |
3710   * | **59** | **45**  | **9**  | **79** | No  |
3711   *
3712   * ---
3713   *
3714   * _Supported in Grid Layout_
3715   *
3716   * | Chrome | Firefox | Safari |  Edge  | IE  |
3717   * | :----: | :-----: | :----: | :----: | :-: |
3718   * | **59** | **53**  | **11** | **79** | No  |
3719   *
3720   * ---
3721   *
3722   * @see https://developer.mozilla.org/docs/Web/CSS/place-content
3723   */
3724  placeContent?: Property.PlaceContent;
3725  /**
3726   * The **`pointer-events`** CSS property sets under what circumstances (if any) a particular graphic element can become the target of pointer events.
3727   *
3728   * **Syntax**: `auto | none | visiblePainted | visibleFill | visibleStroke | visible | painted | fill | stroke | all | inherit`
3729   *
3730   * **Initial value**: `auto`
3731   *
3732   * | Chrome | Firefox | Safari |  Edge  |   IE   |
3733   * | :----: | :-----: | :----: | :----: | :----: |
3734   * | **1**  | **1.5** | **4**  | **12** | **11** |
3735   *
3736   * @see https://developer.mozilla.org/docs/Web/CSS/pointer-events
3737   */
3738  pointerEvents?: Property.PointerEvents;
3739  /**
3740   * The **`position`** CSS property sets how an element is positioned in a document. The `top`, `right`, `bottom`, and `left` properties determine the final location of positioned elements.
3741   *
3742   * **Syntax**: `static | relative | absolute | sticky | fixed`
3743   *
3744   * **Initial value**: `static`
3745   *
3746   * | Chrome | Firefox | Safari |  Edge  |  IE   |
3747   * | :----: | :-----: | :----: | :----: | :---: |
3748   * | **1**  |  **1**  | **1**  | **12** | **4** |
3749   *
3750   * @see https://developer.mozilla.org/docs/Web/CSS/position
3751   */
3752  position?: Property.Position;
3753  /**
3754   * The **`quotes`** CSS property sets how the browser should render quotation marks that are added using the `open-quotes` or `close-quotes` values of the CSS `content` property.
3755   *
3756   * **Syntax**: `none | auto | [ <string> <string> ]+`
3757   *
3758   * **Initial value**: depends on user agent
3759   *
3760   * | Chrome | Firefox | Safari |  Edge  |  IE   |
3761   * | :----: | :-----: | :----: | :----: | :---: |
3762   * | **11** | **1.5** | **9**  | **12** | **8** |
3763   *
3764   * @see https://developer.mozilla.org/docs/Web/CSS/quotes
3765   */
3766  quotes?: Property.Quotes;
3767  /**
3768   * The **`resize`** CSS property sets whether an element is resizable, and if so, in which directions.
3769   *
3770   * **Syntax**: `none | both | horizontal | vertical | block | inline`
3771   *
3772   * **Initial value**: `none`
3773   *
3774   * | Chrome | Firefox | Safari |  Edge  | IE  |
3775   * | :----: | :-----: | :----: | :----: | :-: |
3776   * | **1**  |  **4**  | **3**  | **79** | No  |
3777   *
3778   * @see https://developer.mozilla.org/docs/Web/CSS/resize
3779   */
3780  resize?: Property.Resize;
3781  /**
3782   * The **`right`** CSS property participates in specifying the horizontal position of a positioned element. It has no effect on non-positioned elements.
3783   *
3784   * **Syntax**: `<length> | <percentage> | auto`
3785   *
3786   * **Initial value**: `auto`
3787   *
3788   * | Chrome | Firefox | Safari |  Edge  |   IE    |
3789   * | :----: | :-----: | :----: | :----: | :-----: |
3790   * | **1**  |  **1**  | **1**  | **12** | **5.5** |
3791   *
3792   * @see https://developer.mozilla.org/docs/Web/CSS/right
3793   */
3794  right?: Property.Right<TLength>;
3795  /**
3796   * The **`rotate`** CSS property allows you to specify rotation transforms individually and independently of the `transform` property. This maps better to typical user interface usage, and saves having to remember the exact order of transform functions to specify in the `transform` property.
3797   *
3798   * **Syntax**: `none | <angle> | [ x | y | z | <number>{3} ] && <angle>`
3799   *
3800   * **Initial value**: `none`
3801   *
3802   * | Chrome | Firefox | Safari | Edge | IE  |
3803   * | :----: | :-----: | :----: | :--: | :-: |
3804   * |   No   | **72**  |   No   |  No  | No  |
3805   *
3806   * @see https://developer.mozilla.org/docs/Web/CSS/rotate
3807   */
3808  rotate?: Property.Rotate;
3809  /**
3810   * The **`row-gap`** CSS property sets the size of the gap (gutter) between an element's grid rows.
3811   *
3812   * **Syntax**: `normal | <length-percentage>`
3813   *
3814   * **Initial value**: `normal`
3815   *
3816   * ---
3817   *
3818   * _Supported in Flex Layout_
3819   *
3820   * | Chrome | Firefox | Safari |  Edge  | IE  |
3821   * | :----: | :-----: | :----: | :----: | :-: |
3822   * | **84** | **63**  |   No   | **84** | No  |
3823   *
3824   * ---
3825   *
3826   * _Supported in Grid Layout_
3827   *
3828   * |       Chrome        |       Firefox       |        Safari         |  Edge  | IE  |
3829   * | :-----------------: | :-----------------: | :-------------------: | :----: | :-: |
3830   * |       **66**        |       **61**        |       **12.1**        | **16** | No  |
3831   * | 57 _(grid-row-gap)_ | 52 _(grid-row-gap)_ | 10.1 _(grid-row-gap)_ |        |     |
3832   *
3833   * ---
3834   *
3835   * @see https://developer.mozilla.org/docs/Web/CSS/row-gap
3836   */
3837  rowGap?: Property.RowGap<TLength>;
3838  /**
3839   * The `**ruby-align**` CSS property defines the distribution of the different ruby elements over the base.
3840   *
3841   * **Syntax**: `start | center | space-between | space-around`
3842   *
3843   * **Initial value**: `space-around`
3844   *
3845   * | Chrome | Firefox | Safari | Edge | IE  |
3846   * | :----: | :-----: | :----: | :--: | :-: |
3847   * |   No   | **38**  |   No   |  No  | No  |
3848   *
3849   * @see https://developer.mozilla.org/docs/Web/CSS/ruby-align
3850   */
3851  rubyAlign?: Property.RubyAlign;
3852  /**
3853   * **Syntax**: `separate | collapse | auto`
3854   *
3855   * **Initial value**: `separate`
3856   */
3857  rubyMerge?: Property.RubyMerge;
3858  /**
3859   * The `**ruby-position**` CSS property defines the position of a ruby element relatives to its base element. It can be position over the element (`over`), under it (`under`), or between the characters, on their right side (`inter-character`).
3860   *
3861   * **Syntax**: `[ alternate || [ over | under ] ] | inter-character`
3862   *
3863   * **Initial value**: `alternate`
3864   *
3865   * | Chrome  | Firefox |    Safari     | Edge  | IE  |
3866   * | :-----: | :-----: | :-----------: | :---: | :-: |
3867   * | **84**  | **38**  | **6.1** _-x-_ | 12-79 | No  |
3868   * | 1 _-x-_ |         |               |       |     |
3869   *
3870   * @see https://developer.mozilla.org/docs/Web/CSS/ruby-position
3871   */
3872  rubyPosition?: Property.RubyPosition;
3873  /**
3874   * The **`scale`** CSS property allows you to specify scale transforms individually and independently of the `transform` property. This maps better to typical user interface usage, and saves having to remember the exact order of transform functions to specify in the `transform` value.
3875   *
3876   * **Syntax**: `none | <number>{1,3}`
3877   *
3878   * **Initial value**: `none`
3879   *
3880   * | Chrome | Firefox | Safari | Edge | IE  |
3881   * | :----: | :-----: | :----: | :--: | :-: |
3882   * |   No   | **72**  |   No   |  No  | No  |
3883   *
3884   * @see https://developer.mozilla.org/docs/Web/CSS/scale
3885   */
3886  scale?: Property.Scale;
3887  /**
3888   * The **`scroll-behavior`** CSS property sets the behavior for a scrolling box when scrolling is triggered by the navigation or CSSOM scrolling APIs.
3889   *
3890   * **Syntax**: `auto | smooth`
3891   *
3892   * **Initial value**: `auto`
3893   *
3894   * | Chrome | Firefox | Safari |  Edge  | IE  |
3895   * | :----: | :-----: | :----: | :----: | :-: |
3896   * | **61** | **36**  |  n/a   | **79** | No  |
3897   *
3898   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-behavior
3899   */
3900  scrollBehavior?: Property.ScrollBehavior;
3901  /**
3902   * The **`scroll-margin`** shorthand property sets all of the scroll margins of an element at once, assigning values much like the `margin` property does for margins of an element.
3903   *
3904   * **Syntax**: `<length>{1,4}`
3905   *
3906   * **Initial value**: `0`
3907   *
3908   * | Chrome | Firefox |            Safari             |  Edge  | IE  |
3909   * | :----: | :-----: | :---------------------------: | :----: | :-: |
3910   * | **69** | **68**  | **11** _(scroll-snap-margin)_ | **79** | No  |
3911   *
3912   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin
3913   */
3914  scrollMargin?: Property.ScrollMargin<TLength>;
3915  /**
3916   * The `scroll-margin-block` shorthand property sets the scroll margins of an element in the block dimension.
3917   *
3918   * **Syntax**: `<length>{1,2}`
3919   *
3920   * **Initial value**: `0`
3921   *
3922   * | Chrome | Firefox | Safari |  Edge  | IE  |
3923   * | :----: | :-----: | :----: | :----: | :-: |
3924   * | **69** | **68**  |   No   | **79** | No  |
3925   *
3926   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-block
3927   */
3928  scrollMarginBlock?: Property.ScrollMarginBlock<TLength>;
3929  /**
3930   * The `scroll-margin-block-end` property defines the margin of the scroll snap area at the end of the block dimension that is used for snapping this box to the snapport. The scroll snap area is determined by taking the transformed border box, finding its rectangular bounding box (axis-aligned in the scroll container’s coordinate space), then adding the specified outsets.
3931   *
3932   * **Syntax**: `<length>`
3933   *
3934   * **Initial value**: `0`
3935   *
3936   * | Chrome | Firefox | Safari |  Edge  | IE  |
3937   * | :----: | :-----: | :----: | :----: | :-: |
3938   * | **69** | **68**  |   No   | **79** | No  |
3939   *
3940   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-block-end
3941   */
3942  scrollMarginBlockEnd?: Property.ScrollMarginBlockEnd<TLength>;
3943  /**
3944   * The `scroll-margin-block-start` property defines the margin of the scroll snap area at the start of the block dimension that is used for snapping this box to the snapport. The scroll snap area is determined by taking the transformed border box, finding its rectangular bounding box (axis-aligned in the scroll container’s coordinate space), then adding the specified outsets.
3945   *
3946   * **Syntax**: `<length>`
3947   *
3948   * **Initial value**: `0`
3949   *
3950   * | Chrome | Firefox | Safari |  Edge  | IE  |
3951   * | :----: | :-----: | :----: | :----: | :-: |
3952   * | **69** | **68**  |   No   | **79** | No  |
3953   *
3954   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-block-start
3955   */
3956  scrollMarginBlockStart?: Property.ScrollMarginBlockStart<TLength>;
3957  /**
3958   * The `scroll-margin-bottom` property defines the bottom margin of the scroll snap area that is used for snapping this box to the snapport. The scroll snap area is determined by taking the transformed border box, finding its rectangular bounding box (axis-aligned in the scroll container’s coordinate space), then adding the specified outsets.
3959   *
3960   * **Syntax**: `<length>`
3961   *
3962   * **Initial value**: `0`
3963   *
3964   * | Chrome | Firefox |                Safari                |  Edge  | IE  |
3965   * | :----: | :-----: | :----------------------------------: | :----: | :-: |
3966   * | **69** | **68**  | **11** _(scroll-snap-margin-bottom)_ | **79** | No  |
3967   *
3968   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-bottom
3969   */
3970  scrollMarginBottom?: Property.ScrollMarginBottom<TLength>;
3971  /**
3972   * The `scroll-margin-inline` shorthand property sets the scroll margins of an element in the inline dimension.
3973   *
3974   * **Syntax**: `<length>{1,2}`
3975   *
3976   * **Initial value**: `0`
3977   *
3978   * | Chrome | Firefox | Safari | Edge | IE  |
3979   * | :----: | :-----: | :----: | :--: | :-: |
3980   * |   No   | **68**  |   No   |  No  | No  |
3981   *
3982   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-inline
3983   */
3984  scrollMarginInline?: Property.ScrollMarginInline<TLength>;
3985  /**
3986   * The `scroll-margin-inline-end` property defines the margin of the scroll snap area at the end of the inline dimension that is used for snapping this box to the snapport. The scroll snap area is determined by taking the transformed border box, finding its rectangular bounding box (axis-aligned in the scroll container’s coordinate space), then adding the specified outsets.
3987   *
3988   * **Syntax**: `<length>`
3989   *
3990   * **Initial value**: `0`
3991   *
3992   * | Chrome | Firefox | Safari |  Edge  | IE  |
3993   * | :----: | :-----: | :----: | :----: | :-: |
3994   * | **69** | **68**  |   No   | **79** | No  |
3995   *
3996   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-inline-end
3997   */
3998  scrollMarginInlineEnd?: Property.ScrollMarginInlineEnd<TLength>;
3999  /**
4000   * The `scroll-margin-inline-start` property defines the margin of the scroll snap area at the start of the inline dimension that is used for snapping this box to the snapport. The scroll snap area is determined by taking the transformed border box, finding its rectangular bounding box (axis-aligned in the scroll container’s coordinate space), then adding the specified outsets.
4001   *
4002   * **Syntax**: `<length>`
4003   *
4004   * **Initial value**: `0`
4005   *
4006   * | Chrome | Firefox | Safari |  Edge  | IE  |
4007   * | :----: | :-----: | :----: | :----: | :-: |
4008   * | **69** | **68**  |   No   | **79** | No  |
4009   *
4010   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-inline-start
4011   */
4012  scrollMarginInlineStart?: Property.ScrollMarginInlineStart<TLength>;
4013  /**
4014   * The `scroll-margin-left` property defines the left margin of the scroll snap area that is used for snapping this box to the snapport. The scroll snap area is determined by taking the transformed border box, finding its rectangular bounding box (axis-aligned in the scroll container’s coordinate space), then adding the specified outsets.
4015   *
4016   * **Syntax**: `<length>`
4017   *
4018   * **Initial value**: `0`
4019   *
4020   * | Chrome | Firefox |               Safari               |  Edge  | IE  |
4021   * | :----: | :-----: | :--------------------------------: | :----: | :-: |
4022   * | **69** | **68**  | **11** _(scroll-snap-margin-left)_ | **79** | No  |
4023   *
4024   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-left
4025   */
4026  scrollMarginLeft?: Property.ScrollMarginLeft<TLength>;
4027  /**
4028   * The `scroll-margin-right` property defines the right margin of the scroll snap area that is used for snapping this box to the snapport. The scroll snap area is determined by taking the transformed border box, finding its rectangular bounding box (axis-aligned in the scroll container’s coordinate space), then adding the specified outsets.
4029   *
4030   * **Syntax**: `<length>`
4031   *
4032   * **Initial value**: `0`
4033   *
4034   * | Chrome | Firefox |               Safari                |  Edge  | IE  |
4035   * | :----: | :-----: | :---------------------------------: | :----: | :-: |
4036   * | **69** | **68**  | **11** _(scroll-snap-margin-right)_ | **79** | No  |
4037   *
4038   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-right
4039   */
4040  scrollMarginRight?: Property.ScrollMarginRight<TLength>;
4041  /**
4042   * The `scroll-margin-top` property defines the top margin of the scroll snap area that is used for snapping this box to the snapport. The scroll snap area is determined by taking the transformed border box, finding its rectangular bounding box (axis-aligned in the scroll container’s coordinate space), then adding the specified outsets.
4043   *
4044   * **Syntax**: `<length>`
4045   *
4046   * **Initial value**: `0`
4047   *
4048   * | Chrome | Firefox |              Safari               |  Edge  | IE  |
4049   * | :----: | :-----: | :-------------------------------: | :----: | :-: |
4050   * | **69** | **68**  | **11** _(scroll-snap-margin-top)_ | **79** | No  |
4051   *
4052   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-top
4053   */
4054  scrollMarginTop?: Property.ScrollMarginTop<TLength>;
4055  /**
4056   * The **`scroll-padding`** shorthand property sets scroll padding on all sides of an element at once, much like the `padding` property does for padding on an element.
4057   *
4058   * **Syntax**: `[ auto | <length-percentage> ]{1,4}`
4059   *
4060   * **Initial value**: `auto`
4061   *
4062   * | Chrome | Firefox | Safari |  Edge  | IE  |
4063   * | :----: | :-----: | :----: | :----: | :-: |
4064   * | **69** | **68**  | **11** | **79** | No  |
4065   *
4066   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding
4067   */
4068  scrollPadding?: Property.ScrollPadding<TLength>;
4069  /**
4070   * The `scroll-padding-block` shorthand property sets the scroll padding of an element in the block dimension.
4071   *
4072   * **Syntax**: `[ auto | <length-percentage> ]{1,2}`
4073   *
4074   * **Initial value**: `auto`
4075   *
4076   * | Chrome | Firefox | Safari |  Edge  | IE  |
4077   * | :----: | :-----: | :----: | :----: | :-: |
4078   * | **69** | **68**  |   No   | **79** | No  |
4079   *
4080   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding-block
4081   */
4082  scrollPaddingBlock?: Property.ScrollPaddingBlock<TLength>;
4083  /**
4084   * The `scroll-padding-block-end` property defines offsets for the end edge in the block dimension of the optimal viewing region of the scrollport: the region used as the target region for placing things in view of the user. This allows the author to exclude regions of the scrollport that are obscured by other content (such as fixed-positioned toolbars or sidebars) or simply to put more breathing room between a targetted element and the edges of the scrollport.
4085   *
4086   * **Syntax**: `auto | <length-percentage>`
4087   *
4088   * **Initial value**: `auto`
4089   *
4090   * | Chrome | Firefox | Safari |  Edge  | IE  |
4091   * | :----: | :-----: | :----: | :----: | :-: |
4092   * | **69** | **68**  |   No   | **79** | No  |
4093   *
4094   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding-block-end
4095   */
4096  scrollPaddingBlockEnd?: Property.ScrollPaddingBlockEnd<TLength>;
4097  /**
4098   * The `scroll-padding-block-start` property defines offsets for the start edge in the block dimension of the optimal viewing region of the scrollport: the region used as the target region for placing things in view of the user. This allows the author to exclude regions of the scrollport that are obscured by other content (such as fixed-positioned toolbars or sidebars) or simply to put more breathing room between a targetted element and the edges of the scrollport.
4099   *
4100   * **Syntax**: `auto | <length-percentage>`
4101   *
4102   * **Initial value**: `auto`
4103   *
4104   * | Chrome | Firefox | Safari |  Edge  | IE  |
4105   * | :----: | :-----: | :----: | :----: | :-: |
4106   * | **69** | **68**  |   No   | **79** | No  |
4107   *
4108   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding-block-start
4109   */
4110  scrollPaddingBlockStart?: Property.ScrollPaddingBlockStart<TLength>;
4111  /**
4112   * The `scroll-padding-bottom` property defines offsets for the bottom of the optimal viewing region of the scrollport: the region used as the target region for placing things in view of the user. This allows the author to exclude regions of the scrollport that are obscured by other content (such as fixed-positioned toolbars or sidebars) or simply to put more breathing room between a targetted element and the edges of the scrollport.
4113   *
4114   * **Syntax**: `auto | <length-percentage>`
4115   *
4116   * **Initial value**: `auto`
4117   *
4118   * | Chrome | Firefox | Safari |  Edge  | IE  |
4119   * | :----: | :-----: | :----: | :----: | :-: |
4120   * | **69** | **68**  | **11** | **79** | No  |
4121   *
4122   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding-bottom
4123   */
4124  scrollPaddingBottom?: Property.ScrollPaddingBottom<TLength>;
4125  /**
4126   * The `scroll-padding-inline` shorthand property sets the scroll padding of an element in the inline dimension.
4127   *
4128   * **Syntax**: `[ auto | <length-percentage> ]{1,2}`
4129   *
4130   * **Initial value**: `auto`
4131   *
4132   * | Chrome | Firefox | Safari |  Edge  | IE  |
4133   * | :----: | :-----: | :----: | :----: | :-: |
4134   * | **69** | **68**  |   No   | **79** | No  |
4135   *
4136   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding-inline
4137   */
4138  scrollPaddingInline?: Property.ScrollPaddingInline<TLength>;
4139  /**
4140   * The `scroll-padding-inline-end` property defines offsets for the end edge in the inline dimension of the optimal viewing region of the scrollport: the region used as the target region for placing things in view of the user. This allows the author to exclude regions of the scrollport that are obscured by other content (such as fixed-positioned toolbars or sidebars) or simply to put more breathing room between a targetted element and the edges of the scrollport.
4141   *
4142   * **Syntax**: `auto | <length-percentage>`
4143   *
4144   * **Initial value**: `auto`
4145   *
4146   * | Chrome | Firefox | Safari |  Edge  | IE  |
4147   * | :----: | :-----: | :----: | :----: | :-: |
4148   * | **69** | **68**  |   No   | **79** | No  |
4149   *
4150   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding-inline-end
4151   */
4152  scrollPaddingInlineEnd?: Property.ScrollPaddingInlineEnd<TLength>;
4153  /**
4154   * The `scroll-padding-inline-start` property defines offsets for the start edge in the inline dimension of the optimal viewing region of the scrollport: the region used as the target region for placing things in view of the user. This allows the author to exclude regions of the scrollport that are obscured by other content (such as fixed-positioned toolbars or sidebars) or simply to put more breathing room between a targetted element and the edges of the scrollport.
4155   *
4156   * **Syntax**: `auto | <length-percentage>`
4157   *
4158   * **Initial value**: `auto`
4159   *
4160   * | Chrome | Firefox | Safari |  Edge  | IE  |
4161   * | :----: | :-----: | :----: | :----: | :-: |
4162   * | **69** | **68**  |   No   | **79** | No  |
4163   *
4164   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding-inline-start
4165   */
4166  scrollPaddingInlineStart?: Property.ScrollPaddingInlineStart<TLength>;
4167  /**
4168   * The `scroll-padding-left` property defines offsets for the left of the optimal viewing region of the scrollport: the region used as the target region for placing things in view of the user. This allows the author to exclude regions of the scrollport that are obscured by other content (such as fixed-positioned toolbars or sidebars) or simply to put more breathing room between a targetted element and the edges of the scrollport.
4169   *
4170   * **Syntax**: `auto | <length-percentage>`
4171   *
4172   * **Initial value**: `auto`
4173   *
4174   * | Chrome | Firefox | Safari |  Edge  | IE  |
4175   * | :----: | :-----: | :----: | :----: | :-: |
4176   * | **69** | **68**  | **11** | **79** | No  |
4177   *
4178   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding-left
4179   */
4180  scrollPaddingLeft?: Property.ScrollPaddingLeft<TLength>;
4181  /**
4182   * The `scroll-padding-right` property defines offsets for the right of the optimal viewing region of the scrollport: the region used as the target region for placing things in view of the user. This allows the author to exclude regions of the scrollport that are obscured by other content (such as fixed-positioned toolbars or sidebars) or simply to put more breathing room between a targetted element and the edges of the scrollport.
4183   *
4184   * **Syntax**: `auto | <length-percentage>`
4185   *
4186   * **Initial value**: `auto`
4187   *
4188   * | Chrome | Firefox | Safari |  Edge  | IE  |
4189   * | :----: | :-----: | :----: | :----: | :-: |
4190   * | **69** | **68**  | **11** | **79** | No  |
4191   *
4192   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding-right
4193   */
4194  scrollPaddingRight?: Property.ScrollPaddingRight<TLength>;
4195  /**
4196   * The **`scroll-padding-top`** property defines offsets for the top of the optimal viewing region of the scrollport: the region used as the target region for placing things in view of the user. This allows the author to exclude regions of the scrollport that are obscured by other content (such as fixed-positioned toolbars or sidebars) or simply to put more breathing room between a targetted element and the edges of the scrollport.
4197   *
4198   * **Syntax**: `auto | <length-percentage>`
4199   *
4200   * **Initial value**: `auto`
4201   *
4202   * | Chrome | Firefox | Safari |  Edge  | IE  |
4203   * | :----: | :-----: | :----: | :----: | :-: |
4204   * | **69** | **68**  | **11** | **79** | No  |
4205   *
4206   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding-top
4207   */
4208  scrollPaddingTop?: Property.ScrollPaddingTop<TLength>;
4209  /**
4210   * The `scroll-snap-align` property specifies the box’s snap position as an alignment of its snap area (as the alignment subject) within its snap container’s snapport (as the alignment container). The two values specify the snapping alignment in the block axis and inline axis, respectively. If only one value is specified, the second value defaults to the same value.
4211   *
4212   * **Syntax**: `[ none | start | end | center ]{1,2}`
4213   *
4214   * **Initial value**: `none`
4215   *
4216   * | Chrome | Firefox | Safari |  Edge  | IE  |
4217   * | :----: | :-----: | :----: | :----: | :-: |
4218   * | **69** | **68**  | **11** | **79** | No  |
4219   *
4220   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-snap-align
4221   */
4222  scrollSnapAlign?: Property.ScrollSnapAlign;
4223  /**
4224   * The **`scroll-margin`** shorthand property sets all of the scroll margins of an element at once, assigning values much like the `margin` property does for margins of an element.
4225   *
4226   * **Syntax**: `<length>{1,4}`
4227   *
4228   * **Initial value**: `0`
4229   *
4230   * | Chrome | Firefox |            Safari             |  Edge  | IE  |
4231   * | :----: | :-----: | :---------------------------: | :----: | :-: |
4232   * | **69** | **68**  | **11** _(scroll-snap-margin)_ | **79** | No  |
4233   *
4234   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin
4235   */
4236  scrollSnapMargin?: Property.ScrollMargin<TLength>;
4237  /**
4238   * The `scroll-margin-bottom` property defines the bottom margin of the scroll snap area that is used for snapping this box to the snapport. The scroll snap area is determined by taking the transformed border box, finding its rectangular bounding box (axis-aligned in the scroll container’s coordinate space), then adding the specified outsets.
4239   *
4240   * **Syntax**: `<length>`
4241   *
4242   * **Initial value**: `0`
4243   *
4244   * | Chrome | Firefox |                Safari                |  Edge  | IE  |
4245   * | :----: | :-----: | :----------------------------------: | :----: | :-: |
4246   * | **69** | **68**  | **11** _(scroll-snap-margin-bottom)_ | **79** | No  |
4247   *
4248   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-bottom
4249   */
4250  scrollSnapMarginBottom?: Property.ScrollMarginBottom<TLength>;
4251  /**
4252   * The `scroll-margin-left` property defines the left margin of the scroll snap area that is used for snapping this box to the snapport. The scroll snap area is determined by taking the transformed border box, finding its rectangular bounding box (axis-aligned in the scroll container’s coordinate space), then adding the specified outsets.
4253   *
4254   * **Syntax**: `<length>`
4255   *
4256   * **Initial value**: `0`
4257   *
4258   * | Chrome | Firefox |               Safari               |  Edge  | IE  |
4259   * | :----: | :-----: | :--------------------------------: | :----: | :-: |
4260   * | **69** | **68**  | **11** _(scroll-snap-margin-left)_ | **79** | No  |
4261   *
4262   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-left
4263   */
4264  scrollSnapMarginLeft?: Property.ScrollMarginLeft<TLength>;
4265  /**
4266   * The `scroll-margin-right` property defines the right margin of the scroll snap area that is used for snapping this box to the snapport. The scroll snap area is determined by taking the transformed border box, finding its rectangular bounding box (axis-aligned in the scroll container’s coordinate space), then adding the specified outsets.
4267   *
4268   * **Syntax**: `<length>`
4269   *
4270   * **Initial value**: `0`
4271   *
4272   * | Chrome | Firefox |               Safari                |  Edge  | IE  |
4273   * | :----: | :-----: | :---------------------------------: | :----: | :-: |
4274   * | **69** | **68**  | **11** _(scroll-snap-margin-right)_ | **79** | No  |
4275   *
4276   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-right
4277   */
4278  scrollSnapMarginRight?: Property.ScrollMarginRight<TLength>;
4279  /**
4280   * The `scroll-margin-top` property defines the top margin of the scroll snap area that is used for snapping this box to the snapport. The scroll snap area is determined by taking the transformed border box, finding its rectangular bounding box (axis-aligned in the scroll container’s coordinate space), then adding the specified outsets.
4281   *
4282   * **Syntax**: `<length>`
4283   *
4284   * **Initial value**: `0`
4285   *
4286   * | Chrome | Firefox |              Safari               |  Edge  | IE  |
4287   * | :----: | :-----: | :-------------------------------: | :----: | :-: |
4288   * | **69** | **68**  | **11** _(scroll-snap-margin-top)_ | **79** | No  |
4289   *
4290   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-top
4291   */
4292  scrollSnapMarginTop?: Property.ScrollMarginTop<TLength>;
4293  /**
4294   * The **`scroll-snap-stop`** CSS property defines whether the scroll container is allowed to "pass over" possible snap positions.
4295   *
4296   * **Syntax**: `normal | always`
4297   *
4298   * **Initial value**: `normal`
4299   *
4300   * | Chrome | Firefox | Safari |  Edge  | IE  |
4301   * | :----: | :-----: | :----: | :----: | :-: |
4302   * | **75** |   No    |   No   | **79** | No  |
4303   *
4304   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-snap-stop
4305   */
4306  scrollSnapStop?: Property.ScrollSnapStop;
4307  /**
4308   * The **`scroll-snap-type`** CSS property sets how strictly snap points are enforced on the scroll container in case there is one.
4309   *
4310   * **Syntax**: `none | [ x | y | block | inline | both ] [ mandatory | proximity ]?`
4311   *
4312   * **Initial value**: `none`
4313   *
4314   * | Chrome | Firefox | Safari  |     Edge     |      IE      |
4315   * | :----: | :-----: | :-----: | :----------: | :----------: |
4316   * | **69** |  39-68  | **11**  | **12** _-x-_ | **10** _-x-_ |
4317   * |        |         | 9 _-x-_ |              |              |
4318   *
4319   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-snap-type
4320   */
4321  scrollSnapType?: Property.ScrollSnapType;
4322  /**
4323   * The **`scrollbar-color`** CSS property sets the color of the scrollbar track and thumb.
4324   *
4325   * **Syntax**: `auto | dark | light | <color>{2}`
4326   *
4327   * **Initial value**: `auto`
4328   *
4329   * | Chrome | Firefox | Safari | Edge | IE  |
4330   * | :----: | :-----: | :----: | :--: | :-: |
4331   * |   No   | **64**  |   No   |  No  | No  |
4332   *
4333   * @see https://developer.mozilla.org/docs/Web/CSS/scrollbar-color
4334   */
4335  scrollbarColor?: Property.ScrollbarColor;
4336  /**
4337   * The **`scrollbar-gutter`** CSS property allows authors to reserve space for the scrollbar, preventing unwanted layout changes as the content grows while also avoiding unnecessary visuals when scrolling isn't needed.
4338   *
4339   * **Syntax**: `auto | [ stable | always ] && both? && force?`
4340   *
4341   * **Initial value**: `auto`
4342   *
4343   * | Chrome | Firefox | Safari | Edge | IE  |
4344   * | :----: | :-----: | :----: | :--: | :-: |
4345   * |  n/a   |   No    |   No   |  No  | No  |
4346   *
4347   * @see https://developer.mozilla.org/docs/Web/CSS/scrollbar-gutter
4348   */
4349  scrollbarGutter?: Property.ScrollbarGutter;
4350  /**
4351   * The **`scrollbar-width`** property allows the author to set the maximum thickness of an element’s scrollbars when they are shown.
4352   *
4353   * **Syntax**: `auto | thin | none`
4354   *
4355   * **Initial value**: `auto`
4356   *
4357   * | Chrome | Firefox | Safari | Edge | IE  |
4358   * | :----: | :-----: | :----: | :--: | :-: |
4359   * |   No   | **64**  |   No   |  No  | No  |
4360   *
4361   * @see https://developer.mozilla.org/docs/Web/CSS/scrollbar-width
4362   */
4363  scrollbarWidth?: Property.ScrollbarWidth;
4364  /**
4365   * The **`shape-image-threshold`** CSS property sets the alpha channel threshold used to extract the shape using an image as the value for `shape-outside`.
4366   *
4367   * **Syntax**: `<alpha-value>`
4368   *
4369   * **Initial value**: `0.0`
4370   *
4371   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
4372   * | :----: | :-----: | :------: | :----: | :-: |
4373   * | **37** | **62**  | **10.1** | **79** | No  |
4374   *
4375   * @see https://developer.mozilla.org/docs/Web/CSS/shape-image-threshold
4376   */
4377  shapeImageThreshold?: Property.ShapeImageThreshold;
4378  /**
4379   * The **`shape-margin`** CSS property sets a margin for a CSS shape created using `shape-outside`.
4380   *
4381   * **Syntax**: `<length-percentage>`
4382   *
4383   * **Initial value**: `0`
4384   *
4385   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
4386   * | :----: | :-----: | :------: | :----: | :-: |
4387   * | **37** | **62**  | **10.1** | **79** | No  |
4388   *
4389   * @see https://developer.mozilla.org/docs/Web/CSS/shape-margin
4390   */
4391  shapeMargin?: Property.ShapeMargin<TLength>;
4392  /**
4393   * The **`shape-outside`** CSS property defines a shape—which may be non-rectangular—around which adjacent inline content should wrap. By default, inline content wraps around its margin box; `shape-outside` provides a way to customize this wrapping, making it possible to wrap text around complex objects rather than simple boxes.
4394   *
4395   * **Syntax**: `none | [ <shape-box> || <basic-shape> ] | <image>`
4396   *
4397   * **Initial value**: `none`
4398   *
4399   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
4400   * | :----: | :-----: | :------: | :----: | :-: |
4401   * | **37** | **62**  | **10.1** | **79** | No  |
4402   *
4403   * @see https://developer.mozilla.org/docs/Web/CSS/shape-outside
4404   */
4405  shapeOutside?: Property.ShapeOutside;
4406  /**
4407   * The **`tab-size`** CSS property is used to customize the width of tab characters (U+0009).
4408   *
4409   * **Syntax**: `<integer> | <length>`
4410   *
4411   * **Initial value**: `8`
4412   *
4413   * | Chrome |   Firefox   | Safari  |  Edge  | IE  |
4414   * | :----: | :---------: | :-----: | :----: | :-: |
4415   * | **21** | **4** _-x-_ | **6.1** | **79** | No  |
4416   *
4417   * @see https://developer.mozilla.org/docs/Web/CSS/tab-size
4418   */
4419  tabSize?: Property.TabSize<TLength>;
4420  /**
4421   * The **`table-layout`** CSS property sets the algorithm used to lay out `<table>` cells, rows, and columns.
4422   *
4423   * **Syntax**: `auto | fixed`
4424   *
4425   * **Initial value**: `auto`
4426   *
4427   * | Chrome | Firefox | Safari |  Edge  |  IE   |
4428   * | :----: | :-----: | :----: | :----: | :---: |
4429   * | **14** |  **1**  | **1**  | **12** | **5** |
4430   *
4431   * @see https://developer.mozilla.org/docs/Web/CSS/table-layout
4432   */
4433  tableLayout?: Property.TableLayout;
4434  /**
4435   * The **`text-align`** CSS property sets the horizontal alignment of a block element or table-cell box. This means it works like `vertical-align` but in the horizontal direction.
4436   *
4437   * **Syntax**: `start | end | left | right | center | justify | match-parent`
4438   *
4439   * **Initial value**: `start`, or a nameless value that acts as `left` if _direction_ is `ltr`, `right` if _direction_ is `rtl` if `start` is not supported by the browser.
4440   *
4441   * | Chrome | Firefox | Safari |  Edge  |  IE   |
4442   * | :----: | :-----: | :----: | :----: | :---: |
4443   * | **1**  |  **1**  | **1**  | **12** | **3** |
4444   *
4445   * @see https://developer.mozilla.org/docs/Web/CSS/text-align
4446   */
4447  textAlign?: Property.TextAlign;
4448  /**
4449   * The **`text-align-last`** CSS property sets how the last line of a block or a line, right before a forced line break, is aligned.
4450   *
4451   * **Syntax**: `auto | start | end | left | right | center | justify`
4452   *
4453   * **Initial value**: `auto`
4454   *
4455   * | Chrome | Firefox | Safari |  Edge  |   IE    |
4456   * | :----: | :-----: | :----: | :----: | :-----: |
4457   * | **47** | **49**  |   No   | **12** | **5.5** |
4458   *
4459   * @see https://developer.mozilla.org/docs/Web/CSS/text-align-last
4460   */
4461  textAlignLast?: Property.TextAlignLast;
4462  /**
4463   * The **`text-combine-upright`** CSS property sets the combination of characters into the space of a single character. If the combined text is wider than 1em, the user agent must fit the contents within 1em. The resulting composition is treated as a single upright glyph for layout and decoration. This property only has an effect in vertical writing modes.
4464   *
4465   * **Syntax**: `none | all | [ digits <integer>? ]`
4466   *
4467   * **Initial value**: `none`
4468   *
4469   * |           Chrome           | Firefox |              Safari              | Edge  |                   IE                   |
4470   * | :------------------------: | :-----: | :------------------------------: | :---: | :------------------------------------: |
4471   * |           **48**           | **48**  | **5.1** _(-webkit-text-combine)_ | 15-79 | **11** _(-ms-text-combine-horizontal)_ |
4472   * | 9 _(-webkit-text-combine)_ |         |                                  |       |                                        |
4473   *
4474   * @see https://developer.mozilla.org/docs/Web/CSS/text-combine-upright
4475   */
4476  textCombineUpright?: Property.TextCombineUpright;
4477  /**
4478   * The **`text-decoration-color`** CSS property sets the color of decorations added to text by `text-decoration-line`.
4479   *
4480   * **Syntax**: `<color>`
4481   *
4482   * **Initial value**: `currentcolor`
4483   *
4484   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
4485   * | :----: | :-----: | :------: | :----: | :-: |
4486   * | **57** | **36**  | **12.1** | **79** | No  |
4487   * |        |         | 8 _-x-_  |        |     |
4488   *
4489   * @see https://developer.mozilla.org/docs/Web/CSS/text-decoration-color
4490   */
4491  textDecorationColor?: Property.TextDecorationColor;
4492  /**
4493   * The **`text-decoration-line`** CSS property sets the kind of decoration that is used on text in an element, such as an underline or overline.
4494   *
4495   * **Syntax**: `none | [ underline || overline || line-through || blink ] | spelling-error | grammar-error`
4496   *
4497   * **Initial value**: `none`
4498   *
4499   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
4500   * | :----: | :-----: | :------: | :----: | :-: |
4501   * | **57** | **36**  | **12.1** | **79** | No  |
4502   * |        |         | 8 _-x-_  |        |     |
4503   *
4504   * @see https://developer.mozilla.org/docs/Web/CSS/text-decoration-line
4505   */
4506  textDecorationLine?: Property.TextDecorationLine;
4507  /**
4508   * The **`text-decoration-skip`** CSS property sets what parts of an element’s content any text decoration affecting the element must skip over. It controls all text decoration lines drawn by the element and also any text decoration lines drawn by its ancestors.
4509   *
4510   * **Syntax**: `none | [ objects || [ spaces | [ leading-spaces || trailing-spaces ] ] || edges || box-decoration ]`
4511   *
4512   * **Initial value**: `objects`
4513   *
4514   * | Chrome | Firefox |  Safari  | Edge | IE  |
4515   * | :----: | :-----: | :------: | :--: | :-: |
4516   * | 57-64  |   No    | **12.1** |  No  | No  |
4517   * |        |         | 8 _-x-_  |      |     |
4518   *
4519   * @see https://developer.mozilla.org/docs/Web/CSS/text-decoration-skip
4520   */
4521  textDecorationSkip?: Property.TextDecorationSkip;
4522  /**
4523   * The **`text-decoration-skip-ink`** CSS property specifies how overlines and underlines are drawn when they pass over glyph ascenders and descenders.
4524   *
4525   * **Syntax**: `auto | all | none`
4526   *
4527   * **Initial value**: `auto`
4528   *
4529   * | Chrome | Firefox | Safari |  Edge  | IE  |
4530   * | :----: | :-----: | :----: | :----: | :-: |
4531   * | **64** | **70**  |   No   | **79** | No  |
4532   *
4533   * @see https://developer.mozilla.org/docs/Web/CSS/text-decoration-skip-ink
4534   */
4535  textDecorationSkipInk?: Property.TextDecorationSkipInk;
4536  /**
4537   * The **`text-decoration-style`** CSS property sets the style of the lines specified by `text-decoration-line`. The style applies to all lines that are set with `text-decoration-line`.
4538   *
4539   * **Syntax**: `solid | double | dotted | dashed | wavy`
4540   *
4541   * **Initial value**: `solid`
4542   *
4543   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
4544   * | :----: | :-----: | :------: | :----: | :-: |
4545   * | **57** | **36**  | **12.1** | **79** | No  |
4546   * |        |         | 8 _-x-_  |        |     |
4547   *
4548   * @see https://developer.mozilla.org/docs/Web/CSS/text-decoration-style
4549   */
4550  textDecorationStyle?: Property.TextDecorationStyle;
4551  /**
4552   * The **`text-decoration-thickness`** CSS property sets the stroke thickness of the decoration line that is used on text in an element, such as a line-through, underline, or overline.
4553   *
4554   * **Syntax**: `auto | from-font | <length> | <percentage> `
4555   *
4556   * **Initial value**: `auto`
4557   *
4558   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
4559   * | :----: | :-----: | :------: | :----: | :-: |
4560   * | **89** | **70**  | **12.1** | **89** | No  |
4561   *
4562   * @see https://developer.mozilla.org/docs/Web/CSS/text-decoration-thickness
4563   */
4564  textDecorationThickness?: Property.TextDecorationThickness<TLength>;
4565  /**
4566   * The **`text-decoration-thickness`** CSS property sets the stroke thickness of the decoration line that is used on text in an element, such as a line-through, underline, or overline.
4567   *
4568   * **Syntax**: `auto | from-font | <length> | <percentage> `
4569   *
4570   * **Initial value**: `auto`
4571   *
4572   * | Chrome | Firefox |  Safari  | Edge  | IE  |
4573   * | :----: | :-----: | :------: | :---: | :-: |
4574   * | 87-89  | **70**  | **12.1** | 87-89 | No  |
4575   *
4576   * @see https://developer.mozilla.org/docs/Web/CSS/text-decoration-thickness
4577   */
4578  textDecorationWidth?: Property.TextDecorationThickness<TLength>;
4579  /**
4580   * The **`text-emphasis-color`** CSS property sets the color of emphasis marks. This value can also be set using the `text-emphasis` shorthand.
4581   *
4582   * **Syntax**: `<color>`
4583   *
4584   * **Initial value**: `currentcolor`
4585   *
4586   * |    Chrome    | Firefox | Safari  |     Edge     | IE  |
4587   * | :----------: | :-----: | :-----: | :----------: | :-: |
4588   * | **25** _-x-_ | **46**  | **6.1** | **79** _-x-_ | No  |
4589   *
4590   * @see https://developer.mozilla.org/docs/Web/CSS/text-emphasis-color
4591   */
4592  textEmphasisColor?: Property.TextEmphasisColor;
4593  /**
4594   * The **`text-emphasis-position`** CSS property sets where emphasis marks are drawn. Like ruby text, if there isn't enough room for emphasis marks, the line height is increased.
4595   *
4596   * **Syntax**: `[ over | under ] && [ right | left ]`
4597   *
4598   * **Initial value**: `over right`
4599   *
4600   * |    Chrome    | Firefox | Safari  |     Edge     | IE  |
4601   * | :----------: | :-----: | :-----: | :----------: | :-: |
4602   * | **25** _-x-_ | **46**  | **6.1** | **79** _-x-_ | No  |
4603   *
4604   * @see https://developer.mozilla.org/docs/Web/CSS/text-emphasis-position
4605   */
4606  textEmphasisPosition?: Property.TextEmphasisPosition;
4607  /**
4608   * The **`text-emphasis-style`** CSS property sets the appearance of emphasis marks. It can also be set, and reset, using the `text-emphasis` shorthand.
4609   *
4610   * **Syntax**: `none | [ [ filled | open ] || [ dot | circle | double-circle | triangle | sesame ] ] | <string>`
4611   *
4612   * **Initial value**: `none`
4613   *
4614   * |    Chrome    | Firefox | Safari  |     Edge     | IE  |
4615   * | :----------: | :-----: | :-----: | :----------: | :-: |
4616   * | **25** _-x-_ | **46**  | **6.1** | **79** _-x-_ | No  |
4617   *
4618   * @see https://developer.mozilla.org/docs/Web/CSS/text-emphasis-style
4619   */
4620  textEmphasisStyle?: Property.TextEmphasisStyle;
4621  /**
4622   * The **`text-indent`** CSS property sets the length of empty space (indentation) that is put before lines of text in a block.
4623   *
4624   * **Syntax**: `<length-percentage> && hanging? && each-line?`
4625   *
4626   * **Initial value**: `0`
4627   *
4628   * | Chrome | Firefox | Safari |  Edge  |  IE   |
4629   * | :----: | :-----: | :----: | :----: | :---: |
4630   * | **1**  |  **1**  | **1**  | **12** | **3** |
4631   *
4632   * @see https://developer.mozilla.org/docs/Web/CSS/text-indent
4633   */
4634  textIndent?: Property.TextIndent<TLength>;
4635  /**
4636   * The **`text-justify`** CSS property sets what type of justification should be applied to text when `text-align``: justify;` is set on an element.
4637   *
4638   * **Syntax**: `auto | inter-character | inter-word | none`
4639   *
4640   * **Initial value**: `auto`
4641   *
4642   * | Chrome | Firefox | Safari |  Edge  |   IE   |
4643   * | :----: | :-----: | :----: | :----: | :----: |
4644   * |  n/a   | **55**  |   No   | **12** | **11** |
4645   *
4646   * @see https://developer.mozilla.org/docs/Web/CSS/text-justify
4647   */
4648  textJustify?: Property.TextJustify;
4649  /**
4650   * The **`text-orientation`** CSS property sets the orientation of the text characters in a line. It only affects text in vertical mode (when `writing-mode` is not `horizontal-tb`). It is useful for controlling the display of languages that use vertical script, and also for making vertical table headers.
4651   *
4652   * **Syntax**: `mixed | upright | sideways`
4653   *
4654   * **Initial value**: `mixed`
4655   *
4656   * |  Chrome  | Firefox |  Safari   |  Edge  | IE  |
4657   * | :------: | :-----: | :-------: | :----: | :-: |
4658   * |  **48**  | **41**  |  **14**   | **79** | No  |
4659   * | 11 _-x-_ |         | 5.1 _-x-_ |        |     |
4660   *
4661   * @see https://developer.mozilla.org/docs/Web/CSS/text-orientation
4662   */
4663  textOrientation?: Property.TextOrientation;
4664  /**
4665   * The **`text-overflow`** CSS property sets how hidden overflow content is signaled to users. It can be clipped, display an ellipsis ('`…`'), or display a custom string.
4666   *
4667   * **Syntax**: `[ clip | ellipsis | <string> ]{1,2}`
4668   *
4669   * **Initial value**: `clip`
4670   *
4671   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
4672   * | :----: | :-----: | :-----: | :----: | :---: |
4673   * | **1**  |  **7**  | **1.3** | **12** | **6** |
4674   *
4675   * @see https://developer.mozilla.org/docs/Web/CSS/text-overflow
4676   */
4677  textOverflow?: Property.TextOverflow;
4678  /**
4679   * The **`text-rendering`** CSS property provides information to the rendering engine about what to optimize for when rendering text.
4680   *
4681   * **Syntax**: `auto | optimizeSpeed | optimizeLegibility | geometricPrecision`
4682   *
4683   * **Initial value**: `auto`
4684   *
4685   * | Chrome | Firefox | Safari |  Edge  | IE  |
4686   * | :----: | :-----: | :----: | :----: | :-: |
4687   * | **4**  |  **1**  | **5**  | **79** | No  |
4688   *
4689   * @see https://developer.mozilla.org/docs/Web/CSS/text-rendering
4690   */
4691  textRendering?: Property.TextRendering;
4692  /**
4693   * The **`text-shadow`** CSS property adds shadows to text. It accepts a comma-separated list of shadows to be applied to the text and any of its `decorations`. Each shadow is described by some combination of X and Y offsets from the element, blur radius, and color.
4694   *
4695   * **Syntax**: `none | <shadow-t>#`
4696   *
4697   * **Initial value**: `none`
4698   *
4699   * | Chrome | Firefox | Safari  |  Edge  |   IE   |
4700   * | :----: | :-----: | :-----: | :----: | :----: |
4701   * | **2**  | **3.5** | **1.1** | **12** | **10** |
4702   *
4703   * @see https://developer.mozilla.org/docs/Web/CSS/text-shadow
4704   */
4705  textShadow?: Property.TextShadow;
4706  /**
4707   * The **`text-size-adjust`** CSS property controls the text inflation algorithm used on some smartphones and tablets. Other browsers will ignore this property.
4708   *
4709   * **Syntax**: `none | auto | <percentage>`
4710   *
4711   * **Initial value**: `auto` for smartphone browsers supporting inflation, `none` in other cases (and then not modifiable).
4712   *
4713   * | Chrome | Firefox | Safari |  Edge  | IE  |
4714   * | :----: | :-----: | :----: | :----: | :-: |
4715   * | **54** |   No    |   No   | **79** | No  |
4716   *
4717   * @see https://developer.mozilla.org/docs/Web/CSS/text-size-adjust
4718   */
4719  textSizeAdjust?: Property.TextSizeAdjust;
4720  /**
4721   * The **`text-transform`** CSS property specifies how to capitalize an element's text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. It also can help improve legibility for ruby.
4722   *
4723   * **Syntax**: `none | capitalize | uppercase | lowercase | full-width | full-size-kana`
4724   *
4725   * **Initial value**: `none`
4726   *
4727   * | Chrome | Firefox | Safari |  Edge  |  IE   |
4728   * | :----: | :-----: | :----: | :----: | :---: |
4729   * | **1**  |  **1**  | **1**  | **12** | **4** |
4730   *
4731   * @see https://developer.mozilla.org/docs/Web/CSS/text-transform
4732   */
4733  textTransform?: Property.TextTransform;
4734  /**
4735   * The **`text-underline-offset`** CSS property sets the offset distance of an underline text decoration line (applied using `text-decoration`) from its original position.
4736   *
4737   * **Syntax**: `auto | <length> | <percentage> `
4738   *
4739   * **Initial value**: `auto`
4740   *
4741   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
4742   * | :----: | :-----: | :------: | :----: | :-: |
4743   * | **87** | **70**  | **12.1** | **87** | No  |
4744   *
4745   * @see https://developer.mozilla.org/docs/Web/CSS/text-underline-offset
4746   */
4747  textUnderlineOffset?: Property.TextUnderlineOffset<TLength>;
4748  /**
4749   * The **`text-underline-position`** CSS property specifies the position of the underline which is set using the `text-decoration` property's `underline` value.
4750   *
4751   * **Syntax**: `auto | from-font | [ under || [ left | right ] ]`
4752   *
4753   * **Initial value**: `auto`
4754   *
4755   * | Chrome | Firefox |  Safari  |  Edge  |  IE   |
4756   * | :----: | :-----: | :------: | :----: | :---: |
4757   * | **33** | **74**  | **12.1** | **12** | **6** |
4758   * |        |         | 9 _-x-_  |        |       |
4759   *
4760   * @see https://developer.mozilla.org/docs/Web/CSS/text-underline-position
4761   */
4762  textUnderlinePosition?: Property.TextUnderlinePosition;
4763  /**
4764   * The **`top`** CSS property participates in specifying the vertical position of a positioned element. It has no effect on non-positioned elements.
4765   *
4766   * **Syntax**: `<length> | <percentage> | auto`
4767   *
4768   * **Initial value**: `auto`
4769   *
4770   * | Chrome | Firefox | Safari |  Edge  |  IE   |
4771   * | :----: | :-----: | :----: | :----: | :---: |
4772   * | **1**  |  **1**  | **1**  | **12** | **5** |
4773   *
4774   * @see https://developer.mozilla.org/docs/Web/CSS/top
4775   */
4776  top?: Property.Top<TLength>;
4777  /**
4778   * The **`touch-action`** CSS property sets how an element's region can be manipulated by a touchscreen user (for example, by zooming features built into the browser).
4779   *
4780   * **Syntax**: `auto | none | [ [ pan-x | pan-left | pan-right ] || [ pan-y | pan-up | pan-down ] || pinch-zoom ] | manipulation`
4781   *
4782   * **Initial value**: `auto`
4783   *
4784   * | Chrome | Firefox | Safari |  Edge  |    IE    |
4785   * | :----: | :-----: | :----: | :----: | :------: |
4786   * | **36** | **52**  | **13** | **12** |  **11**  |
4787   * |        |         |        |        | 10 _-x-_ |
4788   *
4789   * @see https://developer.mozilla.org/docs/Web/CSS/touch-action
4790   */
4791  touchAction?: Property.TouchAction;
4792  /**
4793   * The **`transform`** CSS property lets you rotate, scale, skew, or translate an element. It modifies the coordinate space of the CSS visual formatting model.
4794   *
4795   * **Syntax**: `none | <transform-list>`
4796   *
4797   * **Initial value**: `none`
4798   *
4799   * | Chrome  | Firefox |  Safari   |  Edge  |   IE    |
4800   * | :-----: | :-----: | :-------: | :----: | :-----: |
4801   * | **36**  | **16**  |   **9**   | **12** | **10**  |
4802   * | 1 _-x-_ |         | 3.1 _-x-_ |        | 9 _-x-_ |
4803   *
4804   * @see https://developer.mozilla.org/docs/Web/CSS/transform
4805   */
4806  transform?: Property.Transform;
4807  /**
4808   * The **`transform-box`** CSS property defines the layout box to which the `transform` and `transform-origin` properties relate.
4809   *
4810   * **Syntax**: `content-box | border-box | fill-box | stroke-box | view-box`
4811   *
4812   * **Initial value**: `view-box`
4813   *
4814   * | Chrome | Firefox | Safari |  Edge  | IE  |
4815   * | :----: | :-----: | :----: | :----: | :-: |
4816   * | **64** | **55**  | **11** | **79** | No  |
4817   *
4818   * @see https://developer.mozilla.org/docs/Web/CSS/transform-box
4819   */
4820  transformBox?: Property.TransformBox;
4821  /**
4822   * The **`transform-origin`** CSS property sets the origin for an element's transformations.
4823   *
4824   * **Syntax**: `[ <length-percentage> | left | center | right | top | bottom ] | [ [ <length-percentage> | left | center | right ] && [ <length-percentage> | top | center | bottom ] ] <length>?`
4825   *
4826   * **Initial value**: `50% 50% 0`
4827   *
4828   * | Chrome  |  Firefox  | Safari  |  Edge  |   IE    |
4829   * | :-----: | :-------: | :-----: | :----: | :-----: |
4830   * | **36**  |  **16**   |  **9**  | **12** | **10**  |
4831   * | 1 _-x-_ | 3.5 _-x-_ | 2 _-x-_ |        | 9 _-x-_ |
4832   *
4833   * @see https://developer.mozilla.org/docs/Web/CSS/transform-origin
4834   */
4835  transformOrigin?: Property.TransformOrigin<TLength>;
4836  /**
4837   * The **`transform-style`** CSS property sets whether children of an element are positioned in the 3D space or are flattened in the plane of the element.
4838   *
4839   * **Syntax**: `flat | preserve-3d`
4840   *
4841   * **Initial value**: `flat`
4842   *
4843   * |  Chrome  | Firefox  | Safari  |  Edge  | IE  |
4844   * | :------: | :------: | :-----: | :----: | :-: |
4845   * |  **36**  |  **16**  |  **9**  | **12** | No  |
4846   * | 12 _-x-_ | 10 _-x-_ | 4 _-x-_ |        |     |
4847   *
4848   * @see https://developer.mozilla.org/docs/Web/CSS/transform-style
4849   */
4850  transformStyle?: Property.TransformStyle;
4851  /**
4852   * The **`transition-delay`** CSS property specifies the duration to wait before starting a property's transition effect when its value changes.
4853   *
4854   * **Syntax**: `<time>#`
4855   *
4856   * **Initial value**: `0s`
4857   *
4858   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
4859   * | :-----: | :-----: | :-----: | :----: | :----: |
4860   * | **26**  | **16**  |  **9**  | **12** | **10** |
4861   * | 1 _-x-_ | 4 _-x-_ | 4 _-x-_ |        |        |
4862   *
4863   * @see https://developer.mozilla.org/docs/Web/CSS/transition-delay
4864   */
4865  transitionDelay?: Property.TransitionDelay<TTime>;
4866  /**
4867   * The **`transition-duration`** CSS property sets the length of time a transition animation should take to complete. By default, the value is `0s`, meaning that no animation will occur.
4868   *
4869   * **Syntax**: `<time>#`
4870   *
4871   * **Initial value**: `0s`
4872   *
4873   * | Chrome  | Firefox |  Safari   |  Edge  |   IE   |
4874   * | :-----: | :-----: | :-------: | :----: | :----: |
4875   * | **26**  | **16**  |   **9**   | **12** | **10** |
4876   * | 1 _-x-_ | 4 _-x-_ | 3.1 _-x-_ |        |        |
4877   *
4878   * @see https://developer.mozilla.org/docs/Web/CSS/transition-duration
4879   */
4880  transitionDuration?: Property.TransitionDuration<TTime>;
4881  /**
4882   * The **`transition-property`** CSS property sets the CSS properties to which a transition effect should be applied.
4883   *
4884   * **Syntax**: `none | <single-transition-property>#`
4885   *
4886   * **Initial value**: all
4887   *
4888   * | Chrome  | Firefox |  Safari   |  Edge  |   IE   |
4889   * | :-----: | :-----: | :-------: | :----: | :----: |
4890   * | **26**  | **16**  |   **9**   | **12** | **10** |
4891   * | 1 _-x-_ | 4 _-x-_ | 3.1 _-x-_ |        |        |
4892   *
4893   * @see https://developer.mozilla.org/docs/Web/CSS/transition-property
4894   */
4895  transitionProperty?: Property.TransitionProperty;
4896  /**
4897   * The **`transition-timing-function`** CSS property sets how intermediate values are calculated for CSS properties being affected by a transition effect.
4898   *
4899   * **Syntax**: `<easing-function>#`
4900   *
4901   * **Initial value**: `ease`
4902   *
4903   * | Chrome  | Firefox |  Safari   |  Edge  |   IE   |
4904   * | :-----: | :-----: | :-------: | :----: | :----: |
4905   * | **26**  | **16**  |   **9**   | **12** | **10** |
4906   * | 1 _-x-_ | 4 _-x-_ | 3.1 _-x-_ |        |        |
4907   *
4908   * @see https://developer.mozilla.org/docs/Web/CSS/transition-timing-function
4909   */
4910  transitionTimingFunction?: Property.TransitionTimingFunction;
4911  /**
4912   * The **`translate`** CSS property allows you to specify translation transforms individually and independently of the `transform` property. This maps better to typical user interface usage, and saves having to remember the exact order of transform functions to specify in the `transform` value.
4913   *
4914   * **Syntax**: `none | <length-percentage> [ <length-percentage> <length>? ]?`
4915   *
4916   * **Initial value**: `none`
4917   *
4918   * | Chrome | Firefox | Safari | Edge | IE  |
4919   * | :----: | :-----: | :----: | :--: | :-: |
4920   * |   No   | **72**  |   No   |  No  | No  |
4921   *
4922   * @see https://developer.mozilla.org/docs/Web/CSS/translate
4923   */
4924  translate?: Property.Translate<TLength>;
4925  /**
4926   * The **`unicode-bidi`** CSS property, together with the `direction` property, determines how bidirectional text in a document is handled. For example, if a block of content contains both left-to-right and right-to-left text, the user-agent uses a complex Unicode algorithm to decide how to display the text. The `unicode-bidi` property overrides this algorithm and allows the developer to control the text embedding.
4927   *
4928   * **Syntax**: `normal | embed | isolate | bidi-override | isolate-override | plaintext`
4929   *
4930   * **Initial value**: `normal`
4931   *
4932   * | Chrome | Firefox | Safari  |  Edge  |   IE    |
4933   * | :----: | :-----: | :-----: | :----: | :-----: |
4934   * | **2**  |  **1**  | **1.3** | **12** | **5.5** |
4935   *
4936   * @see https://developer.mozilla.org/docs/Web/CSS/unicode-bidi
4937   */
4938  unicodeBidi?: Property.UnicodeBidi;
4939  /**
4940   * The `**user-select**` CSS property controls whether the user can select text. This doesn't have any effect on content loaded as chrome, except in textboxes.
4941   *
4942   * **Syntax**: `auto | text | none | contain | all`
4943   *
4944   * **Initial value**: `auto`
4945   *
4946   * | Chrome  | Firefox |   Safari    |     Edge     |      IE      |
4947   * | :-----: | :-----: | :---------: | :----------: | :----------: |
4948   * | **54**  | **69**  | **3** _-x-_ | **12** _-x-_ | **10** _-x-_ |
4949   * | 1 _-x-_ | 1 _-x-_ |             |              |              |
4950   *
4951   * @see https://developer.mozilla.org/docs/Web/CSS/user-select
4952   */
4953  userSelect?: Property.UserSelect;
4954  /**
4955   * The **`vertical-align`** CSS property sets vertical alignment of an inline, inline-block or table-cell box.
4956   *
4957   * **Syntax**: `baseline | sub | super | text-top | text-bottom | middle | top | bottom | <percentage> | <length>`
4958   *
4959   * **Initial value**: `baseline`
4960   *
4961   * | Chrome | Firefox | Safari |  Edge  |  IE   |
4962   * | :----: | :-----: | :----: | :----: | :---: |
4963   * | **1**  |  **1**  | **1**  | **12** | **4** |
4964   *
4965   * @see https://developer.mozilla.org/docs/Web/CSS/vertical-align
4966   */
4967  verticalAlign?: Property.VerticalAlign<TLength>;
4968  /**
4969   * The **`visibility`** CSS property shows or hides an element without changing the layout of a document. The property can also hide rows or columns in a `<table>`.
4970   *
4971   * **Syntax**: `visible | hidden | collapse`
4972   *
4973   * **Initial value**: `visible`
4974   *
4975   * | Chrome | Firefox | Safari |  Edge  |  IE   |
4976   * | :----: | :-----: | :----: | :----: | :---: |
4977   * | **1**  |  **1**  | **1**  | **12** | **4** |
4978   *
4979   * @see https://developer.mozilla.org/docs/Web/CSS/visibility
4980   */
4981  visibility?: Property.Visibility;
4982  /**
4983   * The **`white-space`** CSS property sets how white space inside an element is handled.
4984   *
4985   * **Syntax**: `normal | pre | nowrap | pre-wrap | pre-line | break-spaces`
4986   *
4987   * **Initial value**: `normal`
4988   *
4989   * | Chrome | Firefox | Safari |  Edge  |   IE    |
4990   * | :----: | :-----: | :----: | :----: | :-----: |
4991   * | **1**  |  **1**  | **1**  | **12** | **5.5** |
4992   *
4993   * @see https://developer.mozilla.org/docs/Web/CSS/white-space
4994   */
4995  whiteSpace?: Property.WhiteSpace;
4996  /**
4997   * The **`widows`** CSS property sets the minimum number of lines in a block container that must be shown at the _top_ of a page, region, or column.
4998   *
4999   * **Syntax**: `<integer>`
5000   *
5001   * **Initial value**: `2`
5002   *
5003   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
5004   * | :----: | :-----: | :-----: | :----: | :---: |
5005   * | **25** |   No    | **1.3** | **12** | **8** |
5006   *
5007   * @see https://developer.mozilla.org/docs/Web/CSS/widows
5008   */
5009  widows?: Property.Widows;
5010  /**
5011   * The **`width`** CSS property sets an element's width. By default, it sets the width of the content area, but if `box-sizing` is set to `border-box`, it sets the width of the border area.
5012   *
5013   * **Syntax**: `auto | <length> | <percentage> | min-content | max-content | fit-content | fit-content(<length-percentage>)`
5014   *
5015   * **Initial value**: `auto`
5016   *
5017   * | Chrome | Firefox | Safari |  Edge  |  IE   |
5018   * | :----: | :-----: | :----: | :----: | :---: |
5019   * | **1**  |  **1**  | **1**  | **12** | **4** |
5020   *
5021   * @see https://developer.mozilla.org/docs/Web/CSS/width
5022   */
5023  width?: Property.Width<TLength>;
5024  /**
5025   * The **`will-change`** CSS property hints to browsers how an element is expected to change. Browsers may set up optimizations before an element is actually changed. These kinds of optimizations can increase the responsiveness of a page by doing potentially expensive work before they are actually required.
5026   *
5027   * **Syntax**: `auto | <animateable-feature>#`
5028   *
5029   * **Initial value**: `auto`
5030   *
5031   * | Chrome | Firefox | Safari  |  Edge  | IE  |
5032   * | :----: | :-----: | :-----: | :----: | :-: |
5033   * | **36** | **36**  | **9.1** | **79** | No  |
5034   *
5035   * @see https://developer.mozilla.org/docs/Web/CSS/will-change
5036   */
5037  willChange?: Property.WillChange;
5038  /**
5039   * The **`word-break`** CSS property sets whether line breaks appear wherever the text would otherwise overflow its content box.
5040   *
5041   * **Syntax**: `normal | break-all | keep-all | break-word`
5042   *
5043   * **Initial value**: `normal`
5044   *
5045   * | Chrome | Firefox | Safari |  Edge  |   IE    |
5046   * | :----: | :-----: | :----: | :----: | :-----: |
5047   * | **1**  | **15**  | **3**  | **12** | **5.5** |
5048   *
5049   * @see https://developer.mozilla.org/docs/Web/CSS/word-break
5050   */
5051  wordBreak?: Property.WordBreak;
5052  /**
5053   * The **`word-spacing`** CSS property sets the length of space between words and between tags.
5054   *
5055   * **Syntax**: `normal | <length-percentage>`
5056   *
5057   * **Initial value**: `normal`
5058   *
5059   * | Chrome | Firefox | Safari |  Edge  |  IE   |
5060   * | :----: | :-----: | :----: | :----: | :---: |
5061   * | **1**  |  **1**  | **1**  | **12** | **6** |
5062   *
5063   * @see https://developer.mozilla.org/docs/Web/CSS/word-spacing
5064   */
5065  wordSpacing?: Property.WordSpacing<TLength>;
5066  /**
5067   * The `**overflow-wrap**` CSS property applies to inline elements, setting whether the browser should insert line breaks within an otherwise unbreakable string to prevent text from overflowing its line box.
5068   *
5069   * **Syntax**: `normal | break-word`
5070   *
5071   * **Initial value**: `normal`
5072   */
5073  wordWrap?: Property.WordWrap;
5074  /**
5075   * The **`writing-mode`** CSS property sets whether lines of text are laid out horizontally or vertically, as well as the direction in which blocks progress. When set for an entire document, it should be set on the root element (`html` element for HTML documents).
5076   *
5077   * **Syntax**: `horizontal-tb | vertical-rl | vertical-lr | sideways-rl | sideways-lr`
5078   *
5079   * **Initial value**: `horizontal-tb`
5080   *
5081   * | Chrome  | Firefox |  Safari   |  Edge  |  IE   |
5082   * | :-----: | :-----: | :-------: | :----: | :---: |
5083   * | **48**  | **41**  | **10.1**  | **12** | **9** |
5084   * | 8 _-x-_ |         | 5.1 _-x-_ |        |       |
5085   *
5086   * @see https://developer.mozilla.org/docs/Web/CSS/writing-mode
5087   */
5088  writingMode?: Property.WritingMode;
5089  /**
5090   * The **`z-index`** CSS property sets the z-order of a positioned element and its descendants or flex items. Overlapping elements with a larger z-index cover those with a smaller one.
5091   *
5092   * **Syntax**: `auto | <integer>`
5093   *
5094   * **Initial value**: `auto`
5095   *
5096   * | Chrome | Firefox | Safari |  Edge  |  IE   |
5097   * | :----: | :-----: | :----: | :----: | :---: |
5098   * | **1**  |  **1**  | **1**  | **12** | **4** |
5099   *
5100   * @see https://developer.mozilla.org/docs/Web/CSS/z-index
5101   */
5102  zIndex?: Property.ZIndex;
5103  /**
5104   * The non-standard **`zoom`** CSS property can be used to control the magnification level of an element. `transform: scale()` should be used instead of this property, if possible. However, unlike CSS Transforms, `zoom` affects the layout size of the element.
5105   *
5106   * **Syntax**: `normal | reset | <number> | <percentage>`
5107   *
5108   * **Initial value**: `normal`
5109   *
5110   * | Chrome | Firefox | Safari  |  Edge  |   IE    |
5111   * | :----: | :-----: | :-----: | :----: | :-----: |
5112   * | **1**  |   No    | **3.1** | **12** | **5.5** |
5113   *
5114   * @see https://developer.mozilla.org/docs/Web/CSS/zoom
5115   */
5116  zoom?: Property.Zoom;
5117}
5118
5119export interface StandardShorthandProperties<TLength = (string & {}) | 0, TTime = string & {}> {
5120  /**
5121   * The `**all**` shorthand CSS property resets all of an element's properties except `unicode-bidi`, `direction`, and CSS Custom Properties. It can set properties to their initial or inherited values, or to the values specified in another stylesheet origin.
5122   *
5123   * **Syntax**: `initial | inherit | unset | revert`
5124   *
5125   * **Initial value**: There is no practical initial value for it.
5126   *
5127   * | Chrome | Firefox | Safari  |  Edge  | IE  |
5128   * | :----: | :-----: | :-----: | :----: | :-: |
5129   * | **37** | **27**  | **9.1** | **79** | No  |
5130   *
5131   * @see https://developer.mozilla.org/docs/Web/CSS/all
5132   */
5133  all?: Property.All;
5134  /**
5135   * The **`animation`** shorthand CSS property applies an animation between styles. It is a shorthand for `animation-name`, `animation-duration`, `animation-timing-function`, `animation-delay`, `animation-iteration-count`, `animation-direction`, `animation-fill-mode`, and `animation-play-state`.
5136   *
5137   * **Syntax**: `<single-animation>#`
5138   *
5139   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
5140   * | :-----: | :-----: | :-----: | :----: | :----: |
5141   * | **43**  | **16**  |  **9**  | **12** | **10** |
5142   * | 3 _-x-_ | 5 _-x-_ | 4 _-x-_ |        |        |
5143   *
5144   * @see https://developer.mozilla.org/docs/Web/CSS/animation
5145   */
5146  animation?: Property.Animation<TTime>;
5147  /**
5148   * The **`background`** shorthand CSS property sets all background style properties at once, such as color, image, origin and size, or repeat method.
5149   *
5150   * **Syntax**: `[ <bg-layer> , ]* <final-bg-layer>`
5151   *
5152   * | Chrome | Firefox | Safari |  Edge  |  IE   |
5153   * | :----: | :-----: | :----: | :----: | :---: |
5154   * | **1**  |  **1**  | **1**  | **12** | **4** |
5155   *
5156   * @see https://developer.mozilla.org/docs/Web/CSS/background
5157   */
5158  background?: Property.Background<TLength>;
5159  /**
5160   * The **`background-position`** CSS property sets the initial position for each background image. The position is relative to the position layer set by `background-origin`.
5161   *
5162   * **Syntax**: `<bg-position>#`
5163   *
5164   * **Initial value**: `0% 0%`
5165   *
5166   * | Chrome | Firefox | Safari |  Edge  |  IE   |
5167   * | :----: | :-----: | :----: | :----: | :---: |
5168   * | **1**  |  **1**  | **1**  | **12** | **4** |
5169   *
5170   * @see https://developer.mozilla.org/docs/Web/CSS/background-position
5171   */
5172  backgroundPosition?: Property.BackgroundPosition<TLength>;
5173  /**
5174   * The **`border`** shorthand CSS property sets an element's border. It sets the values of `border-width`, `border-style`, and `border-color`.
5175   *
5176   * **Syntax**: `<line-width> || <line-style> || <color>`
5177   *
5178   * | Chrome | Firefox | Safari |  Edge  |  IE   |
5179   * | :----: | :-----: | :----: | :----: | :---: |
5180   * | **1**  |  **1**  | **1**  | **12** | **4** |
5181   *
5182   * @see https://developer.mozilla.org/docs/Web/CSS/border
5183   */
5184  border?: Property.Border<TLength>;
5185  /**
5186   * The **`border-block`** CSS property is a shorthand property for setting the individual logical block border property values in a single place in the style sheet.
5187   *
5188   * **Syntax**: `<'border-top-width'> || <'border-top-style'> || <color>`
5189   *
5190   * | Chrome | Firefox | Safari | Edge | IE  |
5191   * | :----: | :-----: | :----: | :--: | :-: |
5192   * | **87** | **66**  |   No   | n/a  | No  |
5193   *
5194   * @see https://developer.mozilla.org/docs/Web/CSS/border-block
5195   */
5196  borderBlock?: Property.BorderBlock<TLength>;
5197  /**
5198   * The **`border-block-end`** CSS property is a shorthand property for setting the individual logical block-end border property values in a single place in the style sheet.
5199   *
5200   * **Syntax**: `<'border-top-width'> || <'border-top-style'> || <color>`
5201   *
5202   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
5203   * | :----: | :-----: | :------: | :----: | :-: |
5204   * | **69** | **41**  | **12.1** | **79** | No  |
5205   *
5206   * @see https://developer.mozilla.org/docs/Web/CSS/border-block-end
5207   */
5208  borderBlockEnd?: Property.BorderBlockEnd<TLength>;
5209  /**
5210   * The **`border-block-start`** CSS property is a shorthand property for setting the individual logical block-start border property values in a single place in the style sheet.
5211   *
5212   * **Syntax**: `<'border-top-width'> || <'border-top-style'> || <color>`
5213   *
5214   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
5215   * | :----: | :-----: | :------: | :----: | :-: |
5216   * | **69** | **41**  | **12.1** | **79** | No  |
5217   *
5218   * @see https://developer.mozilla.org/docs/Web/CSS/border-block-start
5219   */
5220  borderBlockStart?: Property.BorderBlockStart<TLength>;
5221  /**
5222   * The **`border-bottom`** shorthand CSS property sets an element's bottom border. It sets the values of `border-bottom-width`, `border-bottom-style` and `border-bottom-color`.
5223   *
5224   * **Syntax**: `<line-width> || <line-style> || <color>`
5225   *
5226   * | Chrome | Firefox | Safari |  Edge  |  IE   |
5227   * | :----: | :-----: | :----: | :----: | :---: |
5228   * | **1**  |  **1**  | **1**  | **12** | **4** |
5229   *
5230   * @see https://developer.mozilla.org/docs/Web/CSS/border-bottom
5231   */
5232  borderBottom?: Property.BorderBottom<TLength>;
5233  /**
5234   * The **`border-color`** shorthand CSS property sets the color of an element's border.
5235   *
5236   * **Syntax**: `<color>{1,4}`
5237   *
5238   * | Chrome | Firefox | Safari |  Edge  |  IE   |
5239   * | :----: | :-----: | :----: | :----: | :---: |
5240   * | **1**  |  **1**  | **1**  | **12** | **4** |
5241   *
5242   * @see https://developer.mozilla.org/docs/Web/CSS/border-color
5243   */
5244  borderColor?: Property.BorderColor;
5245  /**
5246   * The **`border-image`** CSS property draws an image around a given element. It replaces the element's regular border.
5247   *
5248   * **Syntax**: `<'border-image-source'> || <'border-image-slice'> [ / <'border-image-width'> | / <'border-image-width'>? / <'border-image-outset'> ]? || <'border-image-repeat'>`
5249   *
5250   * | Chrome  |  Firefox  | Safari  |  Edge  |   IE   |
5251   * | :-----: | :-------: | :-----: | :----: | :----: |
5252   * | **16**  |  **15**   |  **6**  | **12** | **11** |
5253   * | 7 _-x-_ | 3.5 _-x-_ | 3 _-x-_ |        |        |
5254   *
5255   * @see https://developer.mozilla.org/docs/Web/CSS/border-image
5256   */
5257  borderImage?: Property.BorderImage;
5258  /**
5259   * The **`border-inline`** CSS property is a shorthand property for setting the individual logical inline border property values in a single place in the style sheet.
5260   *
5261   * **Syntax**: `<'border-top-width'> || <'border-top-style'> || <color>`
5262   *
5263   * | Chrome | Firefox | Safari | Edge | IE  |
5264   * | :----: | :-----: | :----: | :--: | :-: |
5265   * | **87** | **66**  |   No   | n/a  | No  |
5266   *
5267   * @see https://developer.mozilla.org/docs/Web/CSS/border-inline
5268   */
5269  borderInline?: Property.BorderInline<TLength>;
5270  /**
5271   * The **`border-inline-end`** CSS property is a shorthand property for setting the individual logical inline-end border property values in a single place in the style sheet.
5272   *
5273   * **Syntax**: `<'border-top-width'> || <'border-top-style'> || <color>`
5274   *
5275   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
5276   * | :----: | :-----: | :------: | :----: | :-: |
5277   * | **69** | **41**  | **12.1** | **79** | No  |
5278   *
5279   * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-end
5280   */
5281  borderInlineEnd?: Property.BorderInlineEnd<TLength>;
5282  /**
5283   * The **`border-inline-start`** CSS property is a shorthand property for setting the individual logical inline-start border property values in a single place in the style sheet.
5284   *
5285   * **Syntax**: `<'border-top-width'> || <'border-top-style'> || <color>`
5286   *
5287   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
5288   * | :----: | :-----: | :------: | :----: | :-: |
5289   * | **69** | **41**  | **12.1** | **79** | No  |
5290   *
5291   * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-start
5292   */
5293  borderInlineStart?: Property.BorderInlineStart<TLength>;
5294  /**
5295   * The **`border-left`** shorthand CSS property sets all the properties of an element's left border.
5296   *
5297   * **Syntax**: `<line-width> || <line-style> || <color>`
5298   *
5299   * | Chrome | Firefox | Safari |  Edge  |  IE   |
5300   * | :----: | :-----: | :----: | :----: | :---: |
5301   * | **1**  |  **1**  | **1**  | **12** | **4** |
5302   *
5303   * @see https://developer.mozilla.org/docs/Web/CSS/border-left
5304   */
5305  borderLeft?: Property.BorderLeft<TLength>;
5306  /**
5307   * The **`border-radius`** CSS property rounds the corners of an element's outer border edge. You can set a single radius to make circular corners, or two radii to make elliptical corners.
5308   *
5309   * **Syntax**: `<length-percentage>{1,4} [ / <length-percentage>{1,4} ]?`
5310   *
5311   * | Chrome  | Firefox | Safari  |  Edge  |  IE   |
5312   * | :-----: | :-----: | :-----: | :----: | :---: |
5313   * |  **4**  |  **4**  |  **5**  | **12** | **9** |
5314   * | 1 _-x-_ |         | 3 _-x-_ |        |       |
5315   *
5316   * @see https://developer.mozilla.org/docs/Web/CSS/border-radius
5317   */
5318  borderRadius?: Property.BorderRadius<TLength>;
5319  /**
5320   * The **`border-right`** shorthand CSS property sets all the properties of an element's right border.
5321   *
5322   * **Syntax**: `<line-width> || <line-style> || <color>`
5323   *
5324   * | Chrome | Firefox | Safari |  Edge  |   IE    |
5325   * | :----: | :-----: | :----: | :----: | :-----: |
5326   * | **1**  |  **1**  | **1**  | **12** | **5.5** |
5327   *
5328   * @see https://developer.mozilla.org/docs/Web/CSS/border-right
5329   */
5330  borderRight?: Property.BorderRight<TLength>;
5331  /**
5332   * The **`border-style`** shorthand CSS property sets the line style for all four sides of an element's border.
5333   *
5334   * **Syntax**: `<line-style>{1,4}`
5335   *
5336   * | Chrome | Firefox | Safari |  Edge  |  IE   |
5337   * | :----: | :-----: | :----: | :----: | :---: |
5338   * | **1**  |  **1**  | **1**  | **12** | **4** |
5339   *
5340   * @see https://developer.mozilla.org/docs/Web/CSS/border-style
5341   */
5342  borderStyle?: Property.BorderStyle;
5343  /**
5344   * The **`border-top`** shorthand CSS property sets all the properties of an element's top border.
5345   *
5346   * **Syntax**: `<line-width> || <line-style> || <color>`
5347   *
5348   * | Chrome | Firefox | Safari |  Edge  |  IE   |
5349   * | :----: | :-----: | :----: | :----: | :---: |
5350   * | **1**  |  **1**  | **1**  | **12** | **4** |
5351   *
5352   * @see https://developer.mozilla.org/docs/Web/CSS/border-top
5353   */
5354  borderTop?: Property.BorderTop<TLength>;
5355  /**
5356   * The **`border-width`** shorthand CSS property sets the width of an element's border.
5357   *
5358   * **Syntax**: `<line-width>{1,4}`
5359   *
5360   * | Chrome | Firefox | Safari |  Edge  |  IE   |
5361   * | :----: | :-----: | :----: | :----: | :---: |
5362   * | **1**  |  **1**  | **1**  | **12** | **4** |
5363   *
5364   * @see https://developer.mozilla.org/docs/Web/CSS/border-width
5365   */
5366  borderWidth?: Property.BorderWidth<TLength>;
5367  /**
5368   * The **`column-rule`** shorthand CSS property sets the width, style, and color of the line drawn between columns in a multi-column layout.
5369   *
5370   * **Syntax**: `<'column-rule-width'> || <'column-rule-style'> || <'column-rule-color'>`
5371   *
5372   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
5373   * | :-----: | :-----: | :-----: | :----: | :----: |
5374   * | **50**  | **52**  |  **9**  | **12** | **10** |
5375   * | 1 _-x-_ |         | 3 _-x-_ |        |        |
5376   *
5377   * @see https://developer.mozilla.org/docs/Web/CSS/column-rule
5378   */
5379  columnRule?: Property.ColumnRule<TLength>;
5380  /**
5381   * The **`columns`** CSS shorthand property sets the number of columns to use when drawing an element's contents, as well as those columns' widths.
5382   *
5383   * **Syntax**: `<'column-width'> || <'column-count'>`
5384   *
5385   * | Chrome | Firefox | Safari  |  Edge  |   IE   |
5386   * | :----: | :-----: | :-----: | :----: | :----: |
5387   * | **50** | **52**  |  **9**  | **12** | **10** |
5388   * |        |         | 3 _-x-_ |        |        |
5389   *
5390   * @see https://developer.mozilla.org/docs/Web/CSS/columns
5391   */
5392  columns?: Property.Columns<TLength>;
5393  /**
5394   * The **`flex`** CSS shorthand property sets how a flex _item_ will grow or shrink to fit the space available in its flex container.
5395   *
5396   * **Syntax**: `none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]`
5397   *
5398   * |  Chrome  | Firefox |  Safari   |  Edge  |    IE    |
5399   * | :------: | :-----: | :-------: | :----: | :------: |
5400   * |  **29**  | **20**  |   **9**   | **12** |  **11**  |
5401   * | 21 _-x-_ |         | 6.1 _-x-_ |        | 10 _-x-_ |
5402   *
5403   * @see https://developer.mozilla.org/docs/Web/CSS/flex
5404   */
5405  flex?: Property.Flex<TLength>;
5406  /**
5407   * The **`flex-flow`** CSS shorthand property specifies the direction of a flex container, as well as its wrapping behavior.
5408   *
5409   * **Syntax**: `<'flex-direction'> || <'flex-wrap'>`
5410   *
5411   * |  Chrome  | Firefox |  Safari   |  Edge  |   IE   |
5412   * | :------: | :-----: | :-------: | :----: | :----: |
5413   * |  **29**  | **28**  |   **9**   | **12** | **11** |
5414   * | 21 _-x-_ |         | 6.1 _-x-_ |        |        |
5415   *
5416   * @see https://developer.mozilla.org/docs/Web/CSS/flex-flow
5417   */
5418  flexFlow?: Property.FlexFlow;
5419  /**
5420   * The **`font`** CSS shorthand property sets all the different properties of an element's font. Alternatively, it sets an element's font to a system font.
5421   *
5422   * **Syntax**: `[ [ <'font-style'> || <font-variant-css21> || <'font-weight'> || <'font-stretch'> ]? <'font-size'> [ / <'line-height'> ]? <'font-family'> ] | caption | icon | menu | message-box | small-caption | status-bar`
5423   *
5424   * | Chrome | Firefox | Safari |  Edge  |  IE   |
5425   * | :----: | :-----: | :----: | :----: | :---: |
5426   * | **1**  |  **1**  | **1**  | **12** | **3** |
5427   *
5428   * @see https://developer.mozilla.org/docs/Web/CSS/font
5429   */
5430  font?: Property.Font;
5431  /**
5432   * The **`gap`** CSS property sets the gaps (gutters) between rows and columns. It is a shorthand for `row-gap` and `column-gap`.
5433   *
5434   * **Syntax**: `<'row-gap'> <'column-gap'>?`
5435   *
5436   * ---
5437   *
5438   * _Supported in Flex Layout_
5439   *
5440   * | Chrome | Firefox | Safari |  Edge  | IE  |
5441   * | :----: | :-----: | :----: | :----: | :-: |
5442   * | **84** | **63**  |   No   | **84** | No  |
5443   *
5444   * ---
5445   *
5446   * _Supported in Grid Layout_
5447   *
5448   * |     Chrome      |     Firefox     |      Safari       |  Edge  | IE  |
5449   * | :-------------: | :-------------: | :---------------: | :----: | :-: |
5450   * |     **66**      |     **61**      |      **12**       | **16** | No  |
5451   * | 57 _(grid-gap)_ | 52 _(grid-gap)_ | 10.1 _(grid-gap)_ |        |     |
5452   *
5453   * ---
5454   *
5455   * _Supported in Multi-column Layout_
5456   *
5457   * | Chrome | Firefox | Safari |  Edge  | IE  |
5458   * | :----: | :-----: | :----: | :----: | :-: |
5459   * | **66** | **61**  |   No   | **16** | No  |
5460   *
5461   * ---
5462   *
5463   * @see https://developer.mozilla.org/docs/Web/CSS/gap
5464   */
5465  gap?: Property.Gap<TLength>;
5466  /**
5467   * The **`grid`** CSS property is a shorthand property that sets all of the explicit and implicit grid properties in a single declaration.
5468   *
5469   * **Syntax**: `<'grid-template'> | <'grid-template-rows'> / [ auto-flow && dense? ] <'grid-auto-columns'>? | [ auto-flow && dense? ] <'grid-auto-rows'>? / <'grid-template-columns'>`
5470   *
5471   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
5472   * | :----: | :-----: | :------: | :----: | :-: |
5473   * | **57** | **52**  | **10.1** | **16** | No  |
5474   *
5475   * @see https://developer.mozilla.org/docs/Web/CSS/grid
5476   */
5477  grid?: Property.Grid;
5478  /**
5479   * The **`grid-area`** CSS shorthand property specifies a grid item’s size and location within a grid by contributing a line, a span, or nothing (automatic) to its grid placement, thereby specifying the edges of its grid area.
5480   *
5481   * **Syntax**: `<grid-line> [ / <grid-line> ]{0,3}`
5482   *
5483   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
5484   * | :----: | :-----: | :------: | :----: | :-: |
5485   * | **57** | **52**  | **10.1** | **16** | No  |
5486   *
5487   * @see https://developer.mozilla.org/docs/Web/CSS/grid-area
5488   */
5489  gridArea?: Property.GridArea;
5490  /**
5491   * The **`grid-column`** CSS shorthand property specifies a grid item's size and location within a grid column by contributing a line, a span, or nothing (automatic) to its grid placement, thereby specifying the inline-start and inline-end edge of its grid area.
5492   *
5493   * **Syntax**: `<grid-line> [ / <grid-line> ]?`
5494   *
5495   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
5496   * | :----: | :-----: | :------: | :----: | :-: |
5497   * | **57** | **52**  | **10.1** | **16** | No  |
5498   *
5499   * @see https://developer.mozilla.org/docs/Web/CSS/grid-column
5500   */
5501  gridColumn?: Property.GridColumn;
5502  /**
5503   * The **`grid-row`** CSS shorthand property specifies a grid item’s size and location within the grid row by contributing a line, a span, or nothing (automatic) to its grid placement, thereby specifying the inline-start and inline-end edge of its grid area.
5504   *
5505   * **Syntax**: `<grid-line> [ / <grid-line> ]?`
5506   *
5507   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
5508   * | :----: | :-----: | :------: | :----: | :-: |
5509   * | **57** | **52**  | **10.1** | **16** | No  |
5510   *
5511   * @see https://developer.mozilla.org/docs/Web/CSS/grid-row
5512   */
5513  gridRow?: Property.GridRow;
5514  /**
5515   * The **`grid-template`** CSS property is a shorthand property for defining grid columns, rows, and areas.
5516   *
5517   * **Syntax**: `none | [ <'grid-template-rows'> / <'grid-template-columns'> ] | [ <line-names>? <string> <track-size>? <line-names>? ]+ [ / <explicit-track-list> ]?`
5518   *
5519   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
5520   * | :----: | :-----: | :------: | :----: | :-: |
5521   * | **57** | **52**  | **10.1** | **16** | No  |
5522   *
5523   * @see https://developer.mozilla.org/docs/Web/CSS/grid-template
5524   */
5525  gridTemplate?: Property.GridTemplate;
5526  /**
5527   * **Syntax**: `none | <integer>`
5528   *
5529   * **Initial value**: `none`
5530   */
5531  lineClamp?: Property.LineClamp;
5532  /**
5533   * The **`list-style`** CSS shorthand property allows you set all the list style properties at once.
5534   *
5535   * **Syntax**: `<'list-style-type'> || <'list-style-position'> || <'list-style-image'>`
5536   *
5537   * | Chrome | Firefox | Safari |  Edge  |  IE   |
5538   * | :----: | :-----: | :----: | :----: | :---: |
5539   * | **1**  |  **1**  | **1**  | **12** | **4** |
5540   *
5541   * @see https://developer.mozilla.org/docs/Web/CSS/list-style
5542   */
5543  listStyle?: Property.ListStyle;
5544  /**
5545   * The **`margin`** CSS property sets the margin area on all four sides of an element. It is a shorthand for `margin-top`, `margin-right`, `margin-bottom`, and `margin-left`.
5546   *
5547   * **Syntax**: `[ <length> | <percentage> | auto ]{1,4}`
5548   *
5549   * | Chrome | Firefox | Safari |  Edge  |  IE   |
5550   * | :----: | :-----: | :----: | :----: | :---: |
5551   * | **1**  |  **1**  | **1**  | **12** | **3** |
5552   *
5553   * @see https://developer.mozilla.org/docs/Web/CSS/margin
5554   */
5555  margin?: Property.Margin<TLength>;
5556  /**
5557   * The **`mask`** CSS shorthand property hides an element (partially or fully) by masking or clipping the image at specific points.
5558   *
5559   * **Syntax**: `<mask-layer>#`
5560   *
5561   * | Chrome | Firefox | Safari  |  Edge  | IE  |
5562   * | :----: | :-----: | :-----: | :----: | :-: |
5563   * | **1**  |  **2**  | **3.2** | **12** | No  |
5564   *
5565   * @see https://developer.mozilla.org/docs/Web/CSS/mask
5566   */
5567  mask?: Property.Mask<TLength>;
5568  /**
5569   * The **`mask-border`** CSS shorthand property lets you create a mask along the edge of an element's border.
5570   *
5571   * **Syntax**: `<'mask-border-source'> || <'mask-border-slice'> [ / <'mask-border-width'>? [ / <'mask-border-outset'> ]? ]? || <'mask-border-repeat'> || <'mask-border-mode'>`
5572   *
5573   * |              Chrome              | Firefox |               Safari               |               Edge                | IE  |
5574   * | :------------------------------: | :-----: | :--------------------------------: | :-------------------------------: | :-: |
5575   * | **1** _(-webkit-mask-box-image)_ |   No    | **3.1** _(-webkit-mask-box-image)_ | **79** _(-webkit-mask-box-image)_ | No  |
5576   *
5577   * @see https://developer.mozilla.org/docs/Web/CSS/mask-border
5578   */
5579  maskBorder?: Property.MaskBorder;
5580  /**
5581   * The **`offset`** CSS shorthand property sets all the properties required for animating an element along a defined path.
5582   *
5583   * **Syntax**: `[ <'offset-position'>? [ <'offset-path'> [ <'offset-distance'> || <'offset-rotate'> ]? ]? ]! [ / <'offset-anchor'> ]?`
5584   *
5585   * |    Chrome     | Firefox | Safari |  Edge  | IE  |
5586   * | :-----------: | :-----: | :----: | :----: | :-: |
5587   * |    **55**     | **72**  |   No   | **79** | No  |
5588   * | 46 _(motion)_ |         |        |        |     |
5589   *
5590   * @see https://developer.mozilla.org/docs/Web/CSS/offset
5591   */
5592  motion?: Property.Offset<TLength>;
5593  /**
5594   * The **`offset`** CSS shorthand property sets all the properties required for animating an element along a defined path.
5595   *
5596   * **Syntax**: `[ <'offset-position'>? [ <'offset-path'> [ <'offset-distance'> || <'offset-rotate'> ]? ]? ]! [ / <'offset-anchor'> ]?`
5597   *
5598   * |    Chrome     | Firefox | Safari |  Edge  | IE  |
5599   * | :-----------: | :-----: | :----: | :----: | :-: |
5600   * |    **55**     | **72**  |   No   | **79** | No  |
5601   * | 46 _(motion)_ |         |        |        |     |
5602   *
5603   * @see https://developer.mozilla.org/docs/Web/CSS/offset
5604   */
5605  offset?: Property.Offset<TLength>;
5606  /**
5607   * The **`outline`** CSS shorthand property set all the outline properties in a single declaration.
5608   *
5609   * **Syntax**: `[ <'outline-color'> || <'outline-style'> || <'outline-width'> ]`
5610   *
5611   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
5612   * | :----: | :-----: | :-----: | :----: | :---: |
5613   * | **1**  | **1.5** | **1.2** | **12** | **8** |
5614   *
5615   * @see https://developer.mozilla.org/docs/Web/CSS/outline
5616   */
5617  outline?: Property.Outline<TLength>;
5618  /**
5619   * The **`overflow`** CSS shorthand property sets the desired behavior for an element's overflow — i.e. when an element's content is too big to fit in its block formatting context — in both directions.
5620   *
5621   * **Syntax**: `[ visible | hidden | clip | scroll | auto ]{1,2}`
5622   *
5623   * **Initial value**: `visible`
5624   *
5625   * | Chrome | Firefox | Safari |  Edge  |  IE   |
5626   * | :----: | :-----: | :----: | :----: | :---: |
5627   * | **1**  |  **1**  | **1**  | **12** | **4** |
5628   *
5629   * @see https://developer.mozilla.org/docs/Web/CSS/overflow
5630   */
5631  overflow?: Property.Overflow;
5632  /**
5633   * The **`overscroll-behavior`** CSS property sets what a browser does when reaching the boundary of a scrolling area. It's a shorthand for `overscroll-behavior-x` and `overscroll-behavior-y`.
5634   *
5635   * **Syntax**: `[ contain | none | auto ]{1,2}`
5636   *
5637   * **Initial value**: `auto`
5638   *
5639   * | Chrome | Firefox | Safari |  Edge  | IE  |
5640   * | :----: | :-----: | :----: | :----: | :-: |
5641   * | **63** | **59**  |   No   | **18** | No  |
5642   *
5643   * @see https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior
5644   */
5645  overscrollBehavior?: Property.OverscrollBehavior;
5646  /**
5647   * The **`padding`** CSS shorthand property sets the padding area on all four sides of an element at once.
5648   *
5649   * **Syntax**: `[ <length> | <percentage> ]{1,4}`
5650   *
5651   * | Chrome | Firefox | Safari |  Edge  |  IE   |
5652   * | :----: | :-----: | :----: | :----: | :---: |
5653   * | **1**  |  **1**  | **1**  | **12** | **4** |
5654   *
5655   * @see https://developer.mozilla.org/docs/Web/CSS/padding
5656   */
5657  padding?: Property.Padding<TLength>;
5658  /**
5659   * The CSS **`place-items`** shorthand property allows you to align items along both the block and inline directions at once (i.e. the `align-items` and `justify-items` properties) in a relevant layout system such as Grid or Flexbox. If the second value is not set, the first value is also used for it.
5660   *
5661   * **Syntax**: `<'align-items'> <'justify-items'>?`
5662   *
5663   * ---
5664   *
5665   * _Supported in Flex Layout_
5666   *
5667   * | Chrome | Firefox | Safari |  Edge  | IE  |
5668   * | :----: | :-----: | :----: | :----: | :-: |
5669   * | **59** | **45**  | **11** | **79** | No  |
5670   *
5671   * ---
5672   *
5673   * _Supported in Grid Layout_
5674   *
5675   * | Chrome | Firefox | Safari |  Edge  | IE  |
5676   * | :----: | :-----: | :----: | :----: | :-: |
5677   * | **59** | **45**  | **11** | **79** | No  |
5678   *
5679   * ---
5680   *
5681   * @see https://developer.mozilla.org/docs/Web/CSS/place-items
5682   */
5683  placeItems?: Property.PlaceItems;
5684  /**
5685   * The **`place-self`** CSS shorthand property allows you to align an individual item in both the block and inline directions at once (i.e. the `align-self` and `justify-self` properties) in a relevant layout system such as Grid or Flexbox. If the second value is not present, the first value is also used for it.
5686   *
5687   * **Syntax**: `<'align-self'> <'justify-self'>?`
5688   *
5689   * ---
5690   *
5691   * _Supported in Flex Layout_
5692   *
5693   * | Chrome | Firefox | Safari |  Edge  | IE  |
5694   * | :----: | :-----: | :----: | :----: | :-: |
5695   * | **59** | **45**  | **11** | **79** | No  |
5696   *
5697   * ---
5698   *
5699   * _Supported in Grid Layout_
5700   *
5701   * | Chrome | Firefox | Safari |  Edge  | IE  |
5702   * | :----: | :-----: | :----: | :----: | :-: |
5703   * | **59** | **45**  | **11** | **79** | No  |
5704   *
5705   * ---
5706   *
5707   * @see https://developer.mozilla.org/docs/Web/CSS/place-self
5708   */
5709  placeSelf?: Property.PlaceSelf;
5710  /**
5711   * The **`text-decoration`** shorthand CSS property sets the appearance of decorative lines on text. It is a shorthand for `text-decoration-line`, `text-decoration-color`, `text-decoration-style`, and the newer `text-decoration-thickness` property.
5712   *
5713   * **Syntax**: `<'text-decoration-line'> || <'text-decoration-style'> || <'text-decoration-color'> || <'text-decoration-thickness'>`
5714   *
5715   * | Chrome | Firefox | Safari |  Edge  |  IE   |
5716   * | :----: | :-----: | :----: | :----: | :---: |
5717   * | **1**  |  **1**  | **1**  | **12** | **3** |
5718   *
5719   * @see https://developer.mozilla.org/docs/Web/CSS/text-decoration
5720   */
5721  textDecoration?: Property.TextDecoration<TLength>;
5722  /**
5723   * The **`text-emphasis`** CSS property applies emphasis marks to text (except spaces and control characters). It is a shorthand for `text-emphasis-style` and `text-emphasis-color`.
5724   *
5725   * **Syntax**: `<'text-emphasis-style'> || <'text-emphasis-color'>`
5726   *
5727   * |    Chrome    | Firefox | Safari  |     Edge     | IE  |
5728   * | :----------: | :-----: | :-----: | :----------: | :-: |
5729   * | **25** _-x-_ | **46**  | **6.1** | **79** _-x-_ | No  |
5730   *
5731   * @see https://developer.mozilla.org/docs/Web/CSS/text-emphasis
5732   */
5733  textEmphasis?: Property.TextEmphasis;
5734  /**
5735   * The **`transition`** CSS property is a shorthand property for `transition-property`, `transition-duration`, `transition-timing-function`, and `transition-delay`.
5736   *
5737   * **Syntax**: `<single-transition>#`
5738   *
5739   * | Chrome  | Firefox |  Safari   |  Edge  |   IE   |
5740   * | :-----: | :-----: | :-------: | :----: | :----: |
5741   * | **26**  | **16**  |   **9**   | **12** | **10** |
5742   * | 1 _-x-_ | 4 _-x-_ | 3.1 _-x-_ |        |        |
5743   *
5744   * @see https://developer.mozilla.org/docs/Web/CSS/transition
5745   */
5746  transition?: Property.Transition<TTime>;
5747}
5748
5749export interface StandardProperties<TLength = (string & {}) | 0, TTime = string & {}>
5750  extends StandardLonghandProperties<TLength, TTime>,
5751    StandardShorthandProperties<TLength, TTime> {}
5752
5753export interface VendorLonghandProperties<TLength = (string & {}) | 0, TTime = string & {}> {
5754  /**
5755   * The **`animation-delay`** CSS property specifies the amount of time to wait from applying the animation to an element before beginning to perform the animation. The animation can start later, immediately from its beginning, or immediately and partway through the animation.
5756   *
5757   * **Syntax**: `<time>#`
5758   *
5759   * **Initial value**: `0s`
5760   */
5761  MozAnimationDelay?: Property.AnimationDelay<TTime>;
5762  /**
5763   * The **`animation-direction`** CSS property sets whether an animation should play forward, backward, or alternate back and forth between playing the sequence forward and backward.
5764   *
5765   * **Syntax**: `<single-animation-direction>#`
5766   *
5767   * **Initial value**: `normal`
5768   */
5769  MozAnimationDirection?: Property.AnimationDirection;
5770  /**
5771   * The **`animation-duration`** CSS property sets the length of time that an animation takes to complete one cycle.
5772   *
5773   * **Syntax**: `<time>#`
5774   *
5775   * **Initial value**: `0s`
5776   */
5777  MozAnimationDuration?: Property.AnimationDuration<TTime>;
5778  /**
5779   * The **`animation-fill-mode`** CSS property sets how a CSS animation applies styles to its target before and after its execution.
5780   *
5781   * **Syntax**: `<single-animation-fill-mode>#`
5782   *
5783   * **Initial value**: `none`
5784   */
5785  MozAnimationFillMode?: Property.AnimationFillMode;
5786  /**
5787   * The **`animation-iteration-count`** CSS property sets the number of times an animation sequence should be played before stopping.
5788   *
5789   * **Syntax**: `<single-animation-iteration-count>#`
5790   *
5791   * **Initial value**: `1`
5792   */
5793  MozAnimationIterationCount?: Property.AnimationIterationCount;
5794  /**
5795   * The **`animation-name`** CSS property specifies the names of one or more `@keyframes` at-rules describing the animation or animations to apply to the element.
5796   *
5797   * **Syntax**: `[ none | <keyframes-name> ]#`
5798   *
5799   * **Initial value**: `none`
5800   */
5801  MozAnimationName?: Property.AnimationName;
5802  /**
5803   * The **`animation-play-state`** CSS property sets whether an animation is running or paused.
5804   *
5805   * **Syntax**: `<single-animation-play-state>#`
5806   *
5807   * **Initial value**: `running`
5808   */
5809  MozAnimationPlayState?: Property.AnimationPlayState;
5810  /**
5811   * The **`animation-timing-function`** CSS property sets how an animation progresses through the duration of each cycle.
5812   *
5813   * **Syntax**: `<easing-function>#`
5814   *
5815   * **Initial value**: `ease`
5816   */
5817  MozAnimationTimingFunction?: Property.AnimationTimingFunction;
5818  /**
5819   * The `**appearance**` CSS property is used to display an element using platform-native styling, based on the operating system's theme. The **`-moz-appearance`** and **`-webkit-appearance`** properties are non-standard versions of this property, used (respectively) by Gecko (Firefox) and by WebKit-based (e.g., Safari) and Blink-based (e.g., Chrome, Opera) browsers to achieve the same thing. Note that Firefox and Edge also support **`-webkit-appearance`**, for compatibility reasons.
5820   *
5821   * **Syntax**: `none | button | button-arrow-down | button-arrow-next | button-arrow-previous | button-arrow-up | button-bevel | button-focus | caret | checkbox | checkbox-container | checkbox-label | checkmenuitem | dualbutton | groupbox | listbox | listitem | menuarrow | menubar | menucheckbox | menuimage | menuitem | menuitemtext | menulist | menulist-button | menulist-text | menulist-textfield | menupopup | menuradio | menuseparator | meterbar | meterchunk | progressbar | progressbar-vertical | progresschunk | progresschunk-vertical | radio | radio-container | radio-label | radiomenuitem | range | range-thumb | resizer | resizerpanel | scale-horizontal | scalethumbend | scalethumb-horizontal | scalethumbstart | scalethumbtick | scalethumb-vertical | scale-vertical | scrollbarbutton-down | scrollbarbutton-left | scrollbarbutton-right | scrollbarbutton-up | scrollbarthumb-horizontal | scrollbarthumb-vertical | scrollbartrack-horizontal | scrollbartrack-vertical | searchfield | separator | sheet | spinner | spinner-downbutton | spinner-textfield | spinner-upbutton | splitter | statusbar | statusbarpanel | tab | tabpanel | tabpanels | tab-scroll-arrow-back | tab-scroll-arrow-forward | textfield | textfield-multiline | toolbar | toolbarbutton | toolbarbutton-dropdown | toolbargripper | toolbox | tooltip | treeheader | treeheadercell | treeheadersortarrow | treeitem | treeline | treetwisty | treetwistyopen | treeview | -moz-mac-unified-toolbar | -moz-win-borderless-glass | -moz-win-browsertabbar-toolbox | -moz-win-communicationstext | -moz-win-communications-toolbox | -moz-win-exclude-glass | -moz-win-glass | -moz-win-mediatext | -moz-win-media-toolbox | -moz-window-button-box | -moz-window-button-box-maximized | -moz-window-button-close | -moz-window-button-maximize | -moz-window-button-minimize | -moz-window-button-restore | -moz-window-frame-bottom | -moz-window-frame-left | -moz-window-frame-right | -moz-window-titlebar | -moz-window-titlebar-maximized`
5822   *
5823   * **Initial value**: `none` (but this value is overridden in the user agent CSS)
5824   */
5825  MozAppearance?: Property.MozAppearance;
5826  /**
5827   * The **`backface-visibility`** CSS property sets whether the back face of an element is visible when turned towards the user.
5828   *
5829   * **Syntax**: `visible | hidden`
5830   *
5831   * **Initial value**: `visible`
5832   */
5833  MozBackfaceVisibility?: Property.BackfaceVisibility;
5834  /**
5835   * In Mozilla applications like Firefox, the **`-moz-border-bottom-colors`** CSS property sets a list of colors for the bottom border.
5836   *
5837   * **Syntax**: `<color>+ | none`
5838   *
5839   * **Initial value**: `none`
5840   */
5841  MozBorderBottomColors?: Property.MozBorderBottomColors;
5842  /**
5843   * The **`border-inline-end-color`** CSS property defines the color of the logical inline-end border of an element, which maps to a physical border color depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-color`, `border-right-color`, `border-bottom-color`, or `border-left-color` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
5844   *
5845   * **Syntax**: `<'border-top-color'>`
5846   *
5847   * **Initial value**: `currentcolor`
5848   */
5849  MozBorderEndColor?: Property.BorderInlineEndColor;
5850  /**
5851   * The **`border-inline-end-style`** CSS property defines the style of the logical inline end border of an element, which maps to a physical border style depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-style`, `border-right-style`, `border-bottom-style`, or `border-left-style` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
5852   *
5853   * **Syntax**: `<'border-top-style'>`
5854   *
5855   * **Initial value**: `none`
5856   */
5857  MozBorderEndStyle?: Property.BorderInlineEndStyle;
5858  /**
5859   * The **`border-inline-end-width`** CSS property defines the width of the logical inline-end border of an element, which maps to a physical border width depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-width`, `border-right-width`, `border-bottom-width`, or `border-left-width` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
5860   *
5861   * **Syntax**: `<'border-top-width'>`
5862   *
5863   * **Initial value**: `medium`
5864   */
5865  MozBorderEndWidth?: Property.BorderInlineEndWidth<TLength>;
5866  /**
5867   * In Mozilla applications like Firefox, the **`-moz-border-left-colors`** CSS property sets a list of colors for the left border.
5868   *
5869   * **Syntax**: `<color>+ | none`
5870   *
5871   * **Initial value**: `none`
5872   */
5873  MozBorderLeftColors?: Property.MozBorderLeftColors;
5874  /**
5875   * In Mozilla applications like Firefox, the **`-moz-border-right-colors`** CSS property sets a list of colors for the right border.
5876   *
5877   * **Syntax**: `<color>+ | none`
5878   *
5879   * **Initial value**: `none`
5880   */
5881  MozBorderRightColors?: Property.MozBorderRightColors;
5882  /**
5883   * The **`border-inline-start-color`** CSS property defines the color of the logical inline start border of an element, which maps to a physical border color depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-color`, `border-right-color`, `border-bottom-color`, or `border-left-color` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
5884   *
5885   * **Syntax**: `<'border-top-color'>`
5886   *
5887   * **Initial value**: `currentcolor`
5888   */
5889  MozBorderStartColor?: Property.BorderInlineStartColor;
5890  /**
5891   * The **`border-inline-start-style`** CSS property defines the style of the logical inline start border of an element, which maps to a physical border style depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-style`, `border-right-style`, `border-bottom-style`, or `border-left-style` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
5892   *
5893   * **Syntax**: `<'border-top-style'>`
5894   *
5895   * **Initial value**: `none`
5896   */
5897  MozBorderStartStyle?: Property.BorderInlineStartStyle;
5898  /**
5899   * In Mozilla applications like Firefox, the **`-moz-border-top-colors`** CSS property sets a list of colors for the top border.
5900   *
5901   * **Syntax**: `<color>+ | none`
5902   *
5903   * **Initial value**: `none`
5904   */
5905  MozBorderTopColors?: Property.MozBorderTopColors;
5906  /**
5907   * The **`box-sizing`** CSS property sets how the total width and height of an element is calculated.
5908   *
5909   * **Syntax**: `content-box | border-box`
5910   *
5911   * **Initial value**: `content-box`
5912   */
5913  MozBoxSizing?: Property.BoxSizing;
5914  /**
5915   * The **`column-count`** CSS property breaks an element's content into the specified number of columns.
5916   *
5917   * **Syntax**: `<integer> | auto`
5918   *
5919   * **Initial value**: `auto`
5920   */
5921  MozColumnCount?: Property.ColumnCount;
5922  /**
5923   * The **`column-fill`** CSS property controls how an element's contents are balanced when broken into columns.
5924   *
5925   * **Syntax**: `auto | balance | balance-all`
5926   *
5927   * **Initial value**: `balance`
5928   */
5929  MozColumnFill?: Property.ColumnFill;
5930  /**
5931   * The **`column-gap`** CSS property sets the size of the gap (gutter) between an element's columns.
5932   *
5933   * **Syntax**: `normal | <length-percentage>`
5934   *
5935   * **Initial value**: `normal`
5936   */
5937  MozColumnGap?: Property.ColumnGap<TLength>;
5938  /**
5939   * The **`column-rule-color`** CSS property sets the color of the line drawn between columns in a multi-column layout.
5940   *
5941   * **Syntax**: `<color>`
5942   *
5943   * **Initial value**: `currentcolor`
5944   */
5945  MozColumnRuleColor?: Property.ColumnRuleColor;
5946  /**
5947   * The **`column-rule-style`** CSS property sets the style of the line drawn between columns in a multi-column layout.
5948   *
5949   * **Syntax**: `<'border-style'>`
5950   *
5951   * **Initial value**: `none`
5952   */
5953  MozColumnRuleStyle?: Property.ColumnRuleStyle;
5954  /**
5955   * The **`column-rule-width`** CSS property sets the width of the line drawn between columns in a multi-column layout.
5956   *
5957   * **Syntax**: `<'border-width'>`
5958   *
5959   * **Initial value**: `medium`
5960   */
5961  MozColumnRuleWidth?: Property.ColumnRuleWidth<TLength>;
5962  /**
5963   * The **`column-width`** CSS property sets the ideal column width in a multi-column layout. The container will have as many columns as can fit without any of them having a width less than the `column-width` value. If the width of the container is narrower than the specified value, the single column's width will be smaller than the declared column width.
5964   *
5965   * **Syntax**: `<length> | auto`
5966   *
5967   * **Initial value**: `auto`
5968   */
5969  MozColumnWidth?: Property.ColumnWidth<TLength>;
5970  /**
5971   * The `**-moz-context-properties**` property can be used within privileged contexts in Firefox to share the values of specified properties of the element with a child SVG image.
5972   *
5973   * **Syntax**: `none | [ fill | fill-opacity | stroke | stroke-opacity ]#`
5974   *
5975   * **Initial value**: `none`
5976   */
5977  MozContextProperties?: Property.MozContextProperties;
5978  /**
5979   * The **`font-feature-settings`** CSS property controls advanced typographic features in OpenType fonts.
5980   *
5981   * **Syntax**: `normal | <feature-tag-value>#`
5982   *
5983   * **Initial value**: `normal`
5984   */
5985  MozFontFeatureSettings?: Property.FontFeatureSettings;
5986  /**
5987   * The **`font-language-override`** CSS property controls the use of language-specific glyphs in a typeface.
5988   *
5989   * **Syntax**: `normal | <string>`
5990   *
5991   * **Initial value**: `normal`
5992   */
5993  MozFontLanguageOverride?: Property.FontLanguageOverride;
5994  /**
5995   * The **`hyphens`** CSS property specifies how words should be hyphenated when text wraps across multiple lines. It can prevent hyphenation entirely, hyphenate at manually-specified points within the text, or let the browser automatically insert hyphens where appropriate.
5996   *
5997   * **Syntax**: `none | manual | auto`
5998   *
5999   * **Initial value**: `manual`
6000   */
6001  MozHyphens?: Property.Hyphens;
6002  /**
6003   * For certain XUL elements and pseudo-elements that use an image from the `list-style-image` property, this property specifies a region of the image that is used in place of the whole image. This allows elements to use different pieces of the same image to improve performance.
6004   *
6005   * **Syntax**: `<shape> | auto`
6006   *
6007   * **Initial value**: `auto`
6008   */
6009  MozImageRegion?: Property.MozImageRegion;
6010  /**
6011   * The **`margin-inline-end`** CSS property defines the logical inline end margin of an element, which maps to a physical margin depending on the element's writing mode, directionality, and text orientation. In other words, it corresponds to the `margin-top`, `margin-right`, `margin-bottom` or `margin-left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
6012   *
6013   * **Syntax**: `<'margin-left'>`
6014   *
6015   * **Initial value**: `0`
6016   */
6017  MozMarginEnd?: Property.MarginInlineEnd<TLength>;
6018  /**
6019   * The **`margin-inline-start`** CSS property defines the logical inline start margin of an element, which maps to a physical margin depending on the element's writing mode, directionality, and text orientation. It corresponds to the `margin-top`, `margin-right`, `margin-bottom`, or `margin-left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
6020   *
6021   * **Syntax**: `<'margin-left'>`
6022   *
6023   * **Initial value**: `0`
6024   */
6025  MozMarginStart?: Property.MarginInlineStart<TLength>;
6026  /**
6027   * The **`-moz-orient`** CSS property specifies the orientation of the element to which it's applied.
6028   *
6029   * **Syntax**: `inline | block | horizontal | vertical`
6030   *
6031   * **Initial value**: `inline`
6032   */
6033  MozOrient?: Property.MozOrient;
6034  /**
6035   * The **`font-smooth`** CSS property controls the application of anti-aliasing when fonts are rendered.
6036   *
6037   * **Syntax**: `auto | never | always | <absolute-size> | <length>`
6038   *
6039   * **Initial value**: `auto`
6040   */
6041  MozOsxFontSmoothing?: Property.FontSmooth<TLength>;
6042  /**
6043   * The **`padding-inline-end`** CSS property defines the logical inline end padding of an element, which maps to a physical padding depending on the element's writing mode, directionality, and text orientation.
6044   *
6045   * **Syntax**: `<'padding-left'>`
6046   *
6047   * **Initial value**: `0`
6048   */
6049  MozPaddingEnd?: Property.PaddingInlineEnd<TLength>;
6050  /**
6051   * The **`padding-inline-start`** CSS property defines the logical inline start padding of an element, which maps to a physical padding depending on the element's writing mode, directionality, and text orientation.
6052   *
6053   * **Syntax**: `<'padding-left'>`
6054   *
6055   * **Initial value**: `0`
6056   */
6057  MozPaddingStart?: Property.PaddingInlineStart<TLength>;
6058  /**
6059   * The **`perspective`** CSS property determines the distance between the z=0 plane and the user in order to give a 3D-positioned element some perspective.
6060   *
6061   * **Syntax**: `none | <length>`
6062   *
6063   * **Initial value**: `none`
6064   */
6065  MozPerspective?: Property.Perspective<TLength>;
6066  /**
6067   * The **`perspective-origin`** CSS property determines the position at which the viewer is looking. It is used as the _vanishing point_ by the `perspective` property.
6068   *
6069   * **Syntax**: `<position>`
6070   *
6071   * **Initial value**: `50% 50%`
6072   */
6073  MozPerspectiveOrigin?: Property.PerspectiveOrigin<TLength>;
6074  /**
6075   * **`-moz-stack-sizing`** is an extended CSS property. Normally, a `<xul:stack>` will change its size so that all of its child elements are completely visible. For example, moving a child of the stack far to the right will widen the stack so the child remains visible.
6076   *
6077   * **Syntax**: `ignore | stretch-to-fit`
6078   *
6079   * **Initial value**: `stretch-to-fit`
6080   */
6081  MozStackSizing?: Property.MozStackSizing;
6082  /**
6083   * The **`tab-size`** CSS property is used to customize the width of tab characters (U+0009).
6084   *
6085   * **Syntax**: `<integer> | <length>`
6086   *
6087   * **Initial value**: `8`
6088   */
6089  MozTabSize?: Property.TabSize<TLength>;
6090  /**
6091   * The **`-moz-text-blink`** non-standard Mozilla CSS extension specifies the blink mode.
6092   *
6093   * **Syntax**: `none | blink`
6094   *
6095   * **Initial value**: `none`
6096   */
6097  MozTextBlink?: Property.MozTextBlink;
6098  /**
6099   * The **`text-size-adjust`** CSS property controls the text inflation algorithm used on some smartphones and tablets. Other browsers will ignore this property.
6100   *
6101   * **Syntax**: `none | auto | <percentage>`
6102   *
6103   * **Initial value**: `auto` for smartphone browsers supporting inflation, `none` in other cases (and then not modifiable).
6104   */
6105  MozTextSizeAdjust?: Property.TextSizeAdjust;
6106  /**
6107   * The **`transform-origin`** CSS property sets the origin for an element's transformations.
6108   *
6109   * **Syntax**: `[ <length-percentage> | left | center | right | top | bottom ] | [ [ <length-percentage> | left | center | right ] && [ <length-percentage> | top | center | bottom ] ] <length>?`
6110   *
6111   * **Initial value**: `50% 50% 0`
6112   */
6113  MozTransformOrigin?: Property.TransformOrigin<TLength>;
6114  /**
6115   * The **`transform-style`** CSS property sets whether children of an element are positioned in the 3D space or are flattened in the plane of the element.
6116   *
6117   * **Syntax**: `flat | preserve-3d`
6118   *
6119   * **Initial value**: `flat`
6120   */
6121  MozTransformStyle?: Property.TransformStyle;
6122  /**
6123   * The **`transition-delay`** CSS property specifies the duration to wait before starting a property's transition effect when its value changes.
6124   *
6125   * **Syntax**: `<time>#`
6126   *
6127   * **Initial value**: `0s`
6128   */
6129  MozTransitionDelay?: Property.TransitionDelay<TTime>;
6130  /**
6131   * The **`transition-duration`** CSS property sets the length of time a transition animation should take to complete. By default, the value is `0s`, meaning that no animation will occur.
6132   *
6133   * **Syntax**: `<time>#`
6134   *
6135   * **Initial value**: `0s`
6136   */
6137  MozTransitionDuration?: Property.TransitionDuration<TTime>;
6138  /**
6139   * The **`transition-property`** CSS property sets the CSS properties to which a transition effect should be applied.
6140   *
6141   * **Syntax**: `none | <single-transition-property>#`
6142   *
6143   * **Initial value**: all
6144   */
6145  MozTransitionProperty?: Property.TransitionProperty;
6146  /**
6147   * The **`transition-timing-function`** CSS property sets how intermediate values are calculated for CSS properties being affected by a transition effect.
6148   *
6149   * **Syntax**: `<easing-function>#`
6150   *
6151   * **Initial value**: `ease`
6152   */
6153  MozTransitionTimingFunction?: Property.TransitionTimingFunction;
6154  /**
6155   * The **`-moz-user-focus`** CSS property is used to indicate whether an element can have the focus.
6156   *
6157   * **Syntax**: `ignore | normal | select-after | select-before | select-menu | select-same | select-all | none`
6158   *
6159   * **Initial value**: `none`
6160   */
6161  MozUserFocus?: Property.MozUserFocus;
6162  /**
6163   * The **`user-modify`** property has no effect in Firefox. It was originally planned to determine whether or not the content of an element can be edited by a user.
6164   *
6165   * **Syntax**: `read-only | read-write | write-only`
6166   *
6167   * **Initial value**: `read-only`
6168   */
6169  MozUserModify?: Property.MozUserModify;
6170  /**
6171   * The `**user-select**` CSS property controls whether the user can select text. This doesn't have any effect on content loaded as chrome, except in textboxes.
6172   *
6173   * **Syntax**: `auto | text | none | contain | all`
6174   *
6175   * **Initial value**: `auto`
6176   */
6177  MozUserSelect?: Property.UserSelect;
6178  /**
6179   * The **`-moz-window-dragging`** CSS property specifies whether a window is draggable or not. It only works in Chrome code, and only on Mac OS X.
6180   *
6181   * **Syntax**: `drag | no-drag`
6182   *
6183   * **Initial value**: `drag`
6184   */
6185  MozWindowDragging?: Property.MozWindowDragging;
6186  /**
6187   * The **`-moz-window-shadow`** CSS property specifies whether a window will have a shadow. It only works on Mac OS X.
6188   *
6189   * **Syntax**: `default | menu | tooltip | sheet | none`
6190   *
6191   * **Initial value**: `default`
6192   */
6193  MozWindowShadow?: Property.MozWindowShadow;
6194  /**
6195   * The **`-ms-accelerator`** CSS property is a Microsoft extension that sets or retrieves a string indicating whether the object represents a keyboard shortcut.
6196   *
6197   * **Syntax**: `false | true`
6198   *
6199   * **Initial value**: `false`
6200   */
6201  msAccelerator?: Property.MsAccelerator;
6202  /**
6203   * The **`align-self`** CSS property overrides a grid or flex item's `align-items` value. In Grid, it aligns the item inside the grid area. In Flexbox, it aligns the item on the cross axis.
6204   *
6205   * **Syntax**: `auto | normal | stretch | <baseline-position> | <overflow-position>? <self-position>`
6206   *
6207   * **Initial value**: `auto`
6208   */
6209  msAlignSelf?: Property.AlignSelf;
6210  /**
6211   * The **`-ms-block-progression`** CSS property is a Microsoft extension that specifies the block progression and layout orientation.
6212   *
6213   * **Syntax**: `tb | rl | bt | lr`
6214   *
6215   * **Initial value**: `tb`
6216   */
6217  msBlockProgression?: Property.MsBlockProgression;
6218  /**
6219   * The **`-ms-content-zoom-chaining`** CSS property is a Microsoft extension specifying the zoom behavior that occurs when a user hits the zoom limit during page manipulation.
6220   *
6221   * **Syntax**: `none | chained`
6222   *
6223   * **Initial value**: `none`
6224   */
6225  msContentZoomChaining?: Property.MsContentZoomChaining;
6226  /**
6227   * The **`-ms-content-zoom-limit-max`** CSS property is a Microsoft extension that specifies the selected elements' maximum zoom factor.
6228   *
6229   * **Syntax**: `<percentage>`
6230   *
6231   * **Initial value**: `400%`
6232   */
6233  msContentZoomLimitMax?: Property.MsContentZoomLimitMax;
6234  /**
6235   * The **`-ms-content-zoom-limit-min`** CSS property is a Microsoft extension that specifies the minimum zoom factor.
6236   *
6237   * **Syntax**: `<percentage>`
6238   *
6239   * **Initial value**: `100%`
6240   */
6241  msContentZoomLimitMin?: Property.MsContentZoomLimitMin;
6242  /**
6243   * The **`-ms-content-zoom-snap-points`** CSS property is a Microsoft extension that specifies where zoom snap-points are located.
6244   *
6245   * **Syntax**: `snapInterval( <percentage>, <percentage> ) | snapList( <percentage># )`
6246   *
6247   * **Initial value**: `snapInterval(0%, 100%)`
6248   */
6249  msContentZoomSnapPoints?: Property.MsContentZoomSnapPoints;
6250  /**
6251   * The **`-ms-content-zoom-snap-type`** CSS property is a Microsoft extension that specifies how zooming is affected by defined snap-points.
6252   *
6253   * **Syntax**: `none | proximity | mandatory`
6254   *
6255   * **Initial value**: `none`
6256   */
6257  msContentZoomSnapType?: Property.MsContentZoomSnapType;
6258  /**
6259   * The **`-ms-content-zooming`** CSS property is a Microsoft extension that specifies whether zooming is enabled.
6260   *
6261   * **Syntax**: `none | zoom`
6262   *
6263   * **Initial value**: zoom for the top level element, none for all other elements
6264   */
6265  msContentZooming?: Property.MsContentZooming;
6266  /**
6267   * The `-ms-filter` CSS property is a Microsoft extension that sets or retrieves the filter or collection of filters applied to an object.
6268   *
6269   * **Syntax**: `<string>`
6270   *
6271   * **Initial value**: "" (the empty string)
6272   */
6273  msFilter?: Property.MsFilter;
6274  /**
6275   * The **`flex-direction`** CSS property sets how flex items are placed in the flex container defining the main axis and the direction (normal or reversed).
6276   *
6277   * **Syntax**: `row | row-reverse | column | column-reverse`
6278   *
6279   * **Initial value**: `row`
6280   */
6281  msFlexDirection?: Property.FlexDirection;
6282  /**
6283   * The **`flex-grow`** CSS property sets the flex grow factor of a flex item main size.
6284   *
6285   * **Syntax**: `<number>`
6286   *
6287   * **Initial value**: `0`
6288   */
6289  msFlexPositive?: Property.FlexGrow;
6290  /**
6291   * The **`-ms-flow-from`** CSS property is a Microsoft extension that gets or sets a value identifying a region container in the document that accepts the content flow from the data source.
6292   *
6293   * **Syntax**: `[ none | <custom-ident> ]#`
6294   *
6295   * **Initial value**: `none`
6296   */
6297  msFlowFrom?: Property.MsFlowFrom;
6298  /**
6299   * The **`-ms-flow-into`** CSS property is a Microsoft extension that gets or sets a value identifying an iframe container in the document that serves as the region's data source.
6300   *
6301   * **Syntax**: `[ none | <custom-ident> ]#`
6302   *
6303   * **Initial value**: `none`
6304   */
6305  msFlowInto?: Property.MsFlowInto;
6306  /**
6307   * The **`grid-template-columns`** CSS property defines the line names and track sizing functions of the grid columns.
6308   *
6309   * **Syntax**: `none | <track-list> | <auto-track-list>`
6310   *
6311   * **Initial value**: `none`
6312   */
6313  msGridColumns?: Property.MsGridColumns<TLength>;
6314  /**
6315   * The **`grid-template-rows`** CSS property defines the line names and track sizing functions of the grid rows.
6316   *
6317   * **Syntax**: `none | <track-list> | <auto-track-list>`
6318   *
6319   * **Initial value**: `none`
6320   */
6321  msGridRows?: Property.MsGridRows<TLength>;
6322  /**
6323   * The **`-ms-high-contrast-adjust`** CSS property is a Microsoft extension that gets or sets a value indicating whether to override any CSS properties that would have been set in high contrast mode.
6324   *
6325   * **Syntax**: `auto | none`
6326   *
6327   * **Initial value**: `auto`
6328   */
6329  msHighContrastAdjust?: Property.MsHighContrastAdjust;
6330  /**
6331   * The **`-ms-hyphenate-limit-chars`** CSS property is a Microsoft extension that specifies one to three values indicating the minimum number of characters in a hyphenated word. If the word does not meet the required minimum number of characters in the word, before the hyphen, or after the hyphen, then the word is not hyphenated.
6332   *
6333   * **Syntax**: `auto | <integer>{1,3}`
6334   *
6335   * **Initial value**: `auto`
6336   */
6337  msHyphenateLimitChars?: Property.MsHyphenateLimitChars;
6338  /**
6339   * The **`-ms-hyphenate-limit-lines`** CSS property is a Microsoft extension specifying the maximum number of consecutive lines in an element that may be ended with a hyphenated word.
6340   *
6341   * **Syntax**: `no-limit | <integer>`
6342   *
6343   * **Initial value**: `no-limit`
6344   */
6345  msHyphenateLimitLines?: Property.MsHyphenateLimitLines;
6346  /**
6347   * The `**-ms-hyphenate-limit-zone**` CSS property is a Microsoft extension specifying the width of the hyphenation zone.
6348   *
6349   * **Syntax**: `<percentage> | <length>`
6350   *
6351   * **Initial value**: `0`
6352   */
6353  msHyphenateLimitZone?: Property.MsHyphenateLimitZone<TLength>;
6354  /**
6355   * The **`hyphens`** CSS property specifies how words should be hyphenated when text wraps across multiple lines. It can prevent hyphenation entirely, hyphenate at manually-specified points within the text, or let the browser automatically insert hyphens where appropriate.
6356   *
6357   * **Syntax**: `none | manual | auto`
6358   *
6359   * **Initial value**: `manual`
6360   */
6361  msHyphens?: Property.Hyphens;
6362  /**
6363   * The **`-ms-ime-align`** CSS property is a Microsoft extension aligning the Input Method Editor (IME) candidate window box relative to the element on which the IME composition is active. The extension is implemented in Microsoft Edge and Internet Explorer 11.
6364   *
6365   * **Syntax**: `auto | after`
6366   *
6367   * **Initial value**: `auto`
6368   */
6369  msImeAlign?: Property.MsImeAlign;
6370  /**
6371   * The CSS **`justify-self`** property sets the way a box is justified inside its alignment container along the appropriate axis.
6372   *
6373   * **Syntax**: `auto | normal | stretch | <baseline-position> | <overflow-position>? [ <self-position> | left | right ]`
6374   *
6375   * **Initial value**: `auto`
6376   */
6377  msJustifySelf?: Property.JustifySelf;
6378  /**
6379   * The **`line-break`** CSS property sets how to break lines of Chinese, Japanese, or Korean (CJK) text when working with punctuation and symbols.
6380   *
6381   * **Syntax**: `auto | loose | normal | strict | anywhere`
6382   *
6383   * **Initial value**: `auto`
6384   */
6385  msLineBreak?: Property.LineBreak;
6386  /**
6387   * The **`order`** CSS property sets the order to lay out an item in a flex or grid container. Items in a container are sorted by ascending `order` value and then by their source code order.
6388   *
6389   * **Syntax**: `<integer>`
6390   *
6391   * **Initial value**: `0`
6392   */
6393  msOrder?: Property.Order;
6394  /**
6395   * The **`-ms-overflow-style`** CSS property is a Microsoft extension controlling the behavior of scrollbars when the content of an element overflows.
6396   *
6397   * **Syntax**: `auto | none | scrollbar | -ms-autohiding-scrollbar`
6398   *
6399   * **Initial value**: `auto`
6400   */
6401  msOverflowStyle?: Property.MsOverflowStyle;
6402  /**
6403   * The **`overflow-x`** CSS property sets what shows when content overflows a block-level element's left and right edges. This may be nothing, a scroll bar, or the overflow content.
6404   *
6405   * **Syntax**: `visible | hidden | clip | scroll | auto`
6406   *
6407   * **Initial value**: `visible`
6408   */
6409  msOverflowX?: Property.OverflowX;
6410  /**
6411   * The **`overflow-y`** CSS property sets what shows when content overflows a block-level element's top and bottom edges. This may be nothing, a scroll bar, or the overflow content.
6412   *
6413   * **Syntax**: `visible | hidden | clip | scroll | auto`
6414   *
6415   * **Initial value**: `visible`
6416   */
6417  msOverflowY?: Property.OverflowY;
6418  /**
6419   * The `**-ms-scroll-chaining**` CSS property is a Microsoft extension that specifies the scrolling behavior that occurs when a user hits the scroll limit during a manipulation.
6420   *
6421   * **Syntax**: `chained | none`
6422   *
6423   * **Initial value**: `chained`
6424   */
6425  msScrollChaining?: Property.MsScrollChaining;
6426  /**
6427   * The `**-ms-scroll-limit-x-max**` CSS property is a Microsoft extension that specifies the maximum value for the `Element.scrollLeft` property.
6428   *
6429   * **Syntax**: `auto | <length>`
6430   *
6431   * **Initial value**: `auto`
6432   */
6433  msScrollLimitXMax?: Property.MsScrollLimitXMax<TLength>;
6434  /**
6435   * The **`-ms-scroll-limit-x-min`** CSS property is a Microsoft extension that specifies the minimum value for the `Element.scrollLeft` property.
6436   *
6437   * **Syntax**: `<length>`
6438   *
6439   * **Initial value**: `0`
6440   */
6441  msScrollLimitXMin?: Property.MsScrollLimitXMin<TLength>;
6442  /**
6443   * The **`-ms-scroll-limit-y-max`** CSS property is a Microsoft extension that specifies the maximum value for the `Element.scrollTop` property.
6444   *
6445   * **Syntax**: `auto | <length>`
6446   *
6447   * **Initial value**: `auto`
6448   */
6449  msScrollLimitYMax?: Property.MsScrollLimitYMax<TLength>;
6450  /**
6451   * The **`-ms-scroll-limit-y-min`** CSS property is a Microsoft extension that specifies the minimum value for the `Element.scrollTop` property.
6452   *
6453   * **Syntax**: `<length>`
6454   *
6455   * **Initial value**: `0`
6456   */
6457  msScrollLimitYMin?: Property.MsScrollLimitYMin<TLength>;
6458  /**
6459   * The **`-ms-scroll-rails`** CSS property is a Microsoft extension that specifies whether scrolling locks to the primary axis of motion.
6460   *
6461   * **Syntax**: `none | railed`
6462   *
6463   * **Initial value**: `railed`
6464   */
6465  msScrollRails?: Property.MsScrollRails;
6466  /**
6467   * The **`-ms-scroll-snap-points-x`** CSS property is a Microsoft extension that specifies where snap-points will be located along the x-axis.
6468   *
6469   * **Syntax**: `snapInterval( <length-percentage>, <length-percentage> ) | snapList( <length-percentage># )`
6470   *
6471   * **Initial value**: `snapInterval(0px, 100%)`
6472   */
6473  msScrollSnapPointsX?: Property.MsScrollSnapPointsX;
6474  /**
6475   * The **`-ms-scroll-snap-points-y`** CSS property is a Microsoft extension that specifies where snap-points will be located along the y-axis.
6476   *
6477   * **Syntax**: `snapInterval( <length-percentage>, <length-percentage> ) | snapList( <length-percentage># )`
6478   *
6479   * **Initial value**: `snapInterval(0px, 100%)`
6480   */
6481  msScrollSnapPointsY?: Property.MsScrollSnapPointsY;
6482  /**
6483   * The **`scroll-snap-type`** CSS property sets how strictly snap points are enforced on the scroll container in case there is one.
6484   *
6485   * **Syntax**: `none | proximity | mandatory`
6486   *
6487   * **Initial value**: `none`
6488   */
6489  msScrollSnapType?: Property.MsScrollSnapType;
6490  /**
6491   * The **`-ms-scroll-translation`** CSS property is a Microsoft extension that specifies whether vertical-to-horizontal scroll wheel translation occurs on the specified element.
6492   *
6493   * **Syntax**: `none | vertical-to-horizontal`
6494   *
6495   * **Initial value**: `none`
6496   */
6497  msScrollTranslation?: Property.MsScrollTranslation;
6498  /**
6499   * The **`-ms-scrollbar-3dlight-color`** CSS property is a Microsoft extension specifying the color of the top and left edges of the scroll box and scroll arrows of a scroll bar.
6500   *
6501   * **Syntax**: `<color>`
6502   *
6503   * **Initial value**: depends on user agent
6504   */
6505  msScrollbar3dlightColor?: Property.MsScrollbar3dlightColor;
6506  /**
6507   * The **`-ms-scrollbar-arrow-color`** CSS property is a Microsoft extension that specifies the color of the arrow elements of a scroll arrow.
6508   *
6509   * **Syntax**: `<color>`
6510   *
6511   * **Initial value**: `ButtonText`
6512   */
6513  msScrollbarArrowColor?: Property.MsScrollbarArrowColor;
6514  /**
6515   * The `**-ms-scrollbar-base-color**` CSS property is a Microsoft extension that specifies the base color of the main elements of a scroll bar.
6516   *
6517   * **Syntax**: `<color>`
6518   *
6519   * **Initial value**: depends on user agent
6520   */
6521  msScrollbarBaseColor?: Property.MsScrollbarBaseColor;
6522  /**
6523   * The **`-ms-scrollbar-darkshadow-color`** CSS property is a Microsoft extension that specifies the color of a scroll bar's gutter.
6524   *
6525   * **Syntax**: `<color>`
6526   *
6527   * **Initial value**: `ThreeDDarkShadow`
6528   */
6529  msScrollbarDarkshadowColor?: Property.MsScrollbarDarkshadowColor;
6530  /**
6531   * The `**-ms-scrollbar-face-color**` CSS property is a Microsoft extension that specifies the color of the scroll box and scroll arrows of a scroll bar.
6532   *
6533   * **Syntax**: `<color>`
6534   *
6535   * **Initial value**: `ThreeDFace`
6536   */
6537  msScrollbarFaceColor?: Property.MsScrollbarFaceColor;
6538  /**
6539   * The `**-ms-scrollbar-highlight-color**` CSS property is a Microsoft extension that specifies the color of the slider tray, the top and left edges of the scroll box, and the scroll arrows of a scroll bar.
6540   *
6541   * **Syntax**: `<color>`
6542   *
6543   * **Initial value**: `ThreeDHighlight`
6544   */
6545  msScrollbarHighlightColor?: Property.MsScrollbarHighlightColor;
6546  /**
6547   * The **`-ms-scrollbar-shadow-color`** CSS property is a Microsoft extension that specifies the color of the bottom and right edges of the scroll box and scroll arrows of a scroll bar.
6548   *
6549   * **Syntax**: `<color>`
6550   *
6551   * **Initial value**: `ThreeDDarkShadow`
6552   */
6553  msScrollbarShadowColor?: Property.MsScrollbarShadowColor;
6554  /**
6555   * The **`-ms-text-autospace`** CSS property is a Microsoft extension that specifies the autospacing and narrow space width adjustment of text.
6556   *
6557   * **Syntax**: `none | ideograph-alpha | ideograph-numeric | ideograph-parenthesis | ideograph-space`
6558   *
6559   * **Initial value**: `none`
6560   */
6561  msTextAutospace?: Property.MsTextAutospace;
6562  /**
6563   * The **`text-combine-upright`** CSS property sets the combination of characters into the space of a single character. If the combined text is wider than 1em, the user agent must fit the contents within 1em. The resulting composition is treated as a single upright glyph for layout and decoration. This property only has an effect in vertical writing modes.
6564   *
6565   * **Syntax**: `none | all | [ digits <integer>? ]`
6566   *
6567   * **Initial value**: `none`
6568   */
6569  msTextCombineHorizontal?: Property.TextCombineUpright;
6570  /**
6571   * The **`text-overflow`** CSS property sets how hidden overflow content is signaled to users. It can be clipped, display an ellipsis ('`…`'), or display a custom string.
6572   *
6573   * **Syntax**: `[ clip | ellipsis | <string> ]{1,2}`
6574   *
6575   * **Initial value**: `clip`
6576   */
6577  msTextOverflow?: Property.TextOverflow;
6578  /**
6579   * The **`touch-action`** CSS property sets how an element's region can be manipulated by a touchscreen user (for example, by zooming features built into the browser).
6580   *
6581   * **Syntax**: `auto | none | [ [ pan-x | pan-left | pan-right ] || [ pan-y | pan-up | pan-down ] || pinch-zoom ] | manipulation`
6582   *
6583   * **Initial value**: `auto`
6584   */
6585  msTouchAction?: Property.TouchAction;
6586  /**
6587   * The **`-ms-touch-select`** CSS property is a Microsoft extension that toggles the gripper visual elements that enable touch text selection.
6588   *
6589   * **Syntax**: `grippers | none`
6590   *
6591   * **Initial value**: `grippers`
6592   */
6593  msTouchSelect?: Property.MsTouchSelect;
6594  /**
6595   * The **`transform`** CSS property lets you rotate, scale, skew, or translate an element. It modifies the coordinate space of the CSS visual formatting model.
6596   *
6597   * **Syntax**: `none | <transform-list>`
6598   *
6599   * **Initial value**: `none`
6600   */
6601  msTransform?: Property.Transform;
6602  /**
6603   * The **`transform-origin`** CSS property sets the origin for an element's transformations.
6604   *
6605   * **Syntax**: `[ <length-percentage> | left | center | right | top | bottom ] | [ [ <length-percentage> | left | center | right ] && [ <length-percentage> | top | center | bottom ] ] <length>?`
6606   *
6607   * **Initial value**: `50% 50% 0`
6608   */
6609  msTransformOrigin?: Property.TransformOrigin<TLength>;
6610  /**
6611   * The **`transition-delay`** CSS property specifies the duration to wait before starting a property's transition effect when its value changes.
6612   *
6613   * **Syntax**: `<time>#`
6614   *
6615   * **Initial value**: `0s`
6616   */
6617  msTransitionDelay?: Property.TransitionDelay<TTime>;
6618  /**
6619   * The **`transition-duration`** CSS property sets the length of time a transition animation should take to complete. By default, the value is `0s`, meaning that no animation will occur.
6620   *
6621   * **Syntax**: `<time>#`
6622   *
6623   * **Initial value**: `0s`
6624   */
6625  msTransitionDuration?: Property.TransitionDuration<TTime>;
6626  /**
6627   * The **`transition-property`** CSS property sets the CSS properties to which a transition effect should be applied.
6628   *
6629   * **Syntax**: `none | <single-transition-property>#`
6630   *
6631   * **Initial value**: all
6632   */
6633  msTransitionProperty?: Property.TransitionProperty;
6634  /**
6635   * The **`transition-timing-function`** CSS property sets how intermediate values are calculated for CSS properties being affected by a transition effect.
6636   *
6637   * **Syntax**: `<easing-function>#`
6638   *
6639   * **Initial value**: `ease`
6640   */
6641  msTransitionTimingFunction?: Property.TransitionTimingFunction;
6642  /**
6643   * The `**user-select**` CSS property controls whether the user can select text. This doesn't have any effect on content loaded as chrome, except in textboxes.
6644   *
6645   * **Syntax**: `none | element | text`
6646   *
6647   * **Initial value**: `text`
6648   */
6649  msUserSelect?: Property.MsUserSelect;
6650  /**
6651   * The **`word-break`** CSS property sets whether line breaks appear wherever the text would otherwise overflow its content box.
6652   *
6653   * **Syntax**: `normal | break-all | keep-all | break-word`
6654   *
6655   * **Initial value**: `normal`
6656   */
6657  msWordBreak?: Property.WordBreak;
6658  /**
6659   * The **`-ms-wrap-flow`** CSS property is a Microsoft extension that specifies how exclusions impact inline content within block-level elements.
6660   *
6661   * **Syntax**: `auto | both | start | end | maximum | clear`
6662   *
6663   * **Initial value**: `auto`
6664   */
6665  msWrapFlow?: Property.MsWrapFlow;
6666  /**
6667   * The **`-ms-wrap-margin`** CSS property is a Microsoft extension that specifies a margin that offsets the inner wrap shape from other shapes.
6668   *
6669   * **Syntax**: `<length>`
6670   *
6671   * **Initial value**: `0`
6672   */
6673  msWrapMargin?: Property.MsWrapMargin<TLength>;
6674  /**
6675   * The **`-ms-wrap-through`** CSS property is a Microsoft extension that specifies how content should wrap around an exclusion element.
6676   *
6677   * **Syntax**: `wrap | none`
6678   *
6679   * **Initial value**: `wrap`
6680   */
6681  msWrapThrough?: Property.MsWrapThrough;
6682  /**
6683   * The **`writing-mode`** CSS property sets whether lines of text are laid out horizontally or vertically, as well as the direction in which blocks progress. When set for an entire document, it should be set on the root element (`html` element for HTML documents).
6684   *
6685   * **Syntax**: `horizontal-tb | vertical-rl | vertical-lr | sideways-rl | sideways-lr`
6686   *
6687   * **Initial value**: `horizontal-tb`
6688   */
6689  msWritingMode?: Property.WritingMode;
6690  /**
6691   * The CSS **`align-content`** property sets the distribution of space between and around content items along a flexbox's cross-axis or a grid's block axis.
6692   *
6693   * **Syntax**: `normal | <baseline-position> | <content-distribution> | <overflow-position>? <content-position>`
6694   *
6695   * **Initial value**: `normal`
6696   */
6697  WebkitAlignContent?: Property.AlignContent;
6698  /**
6699   * The CSS **`align-items`** property sets the `align-self` value on all direct children as a group. In Flexbox, it controls the alignment of items on the Cross Axis. In Grid Layout, it controls the alignment of items on the Block Axis within their grid area.
6700   *
6701   * **Syntax**: `normal | stretch | <baseline-position> | [ <overflow-position>? <self-position> ]`
6702   *
6703   * **Initial value**: `normal`
6704   */
6705  WebkitAlignItems?: Property.AlignItems;
6706  /**
6707   * The **`align-self`** CSS property overrides a grid or flex item's `align-items` value. In Grid, it aligns the item inside the grid area. In Flexbox, it aligns the item on the cross axis.
6708   *
6709   * **Syntax**: `auto | normal | stretch | <baseline-position> | <overflow-position>? <self-position>`
6710   *
6711   * **Initial value**: `auto`
6712   */
6713  WebkitAlignSelf?: Property.AlignSelf;
6714  /**
6715   * The **`animation-delay`** CSS property specifies the amount of time to wait from applying the animation to an element before beginning to perform the animation. The animation can start later, immediately from its beginning, or immediately and partway through the animation.
6716   *
6717   * **Syntax**: `<time>#`
6718   *
6719   * **Initial value**: `0s`
6720   */
6721  WebkitAnimationDelay?: Property.AnimationDelay<TTime>;
6722  /**
6723   * The **`animation-direction`** CSS property sets whether an animation should play forward, backward, or alternate back and forth between playing the sequence forward and backward.
6724   *
6725   * **Syntax**: `<single-animation-direction>#`
6726   *
6727   * **Initial value**: `normal`
6728   */
6729  WebkitAnimationDirection?: Property.AnimationDirection;
6730  /**
6731   * The **`animation-duration`** CSS property sets the length of time that an animation takes to complete one cycle.
6732   *
6733   * **Syntax**: `<time>#`
6734   *
6735   * **Initial value**: `0s`
6736   */
6737  WebkitAnimationDuration?: Property.AnimationDuration<TTime>;
6738  /**
6739   * The **`animation-fill-mode`** CSS property sets how a CSS animation applies styles to its target before and after its execution.
6740   *
6741   * **Syntax**: `<single-animation-fill-mode>#`
6742   *
6743   * **Initial value**: `none`
6744   */
6745  WebkitAnimationFillMode?: Property.AnimationFillMode;
6746  /**
6747   * The **`animation-iteration-count`** CSS property sets the number of times an animation sequence should be played before stopping.
6748   *
6749   * **Syntax**: `<single-animation-iteration-count>#`
6750   *
6751   * **Initial value**: `1`
6752   */
6753  WebkitAnimationIterationCount?: Property.AnimationIterationCount;
6754  /**
6755   * The **`animation-name`** CSS property specifies the names of one or more `@keyframes` at-rules describing the animation or animations to apply to the element.
6756   *
6757   * **Syntax**: `[ none | <keyframes-name> ]#`
6758   *
6759   * **Initial value**: `none`
6760   */
6761  WebkitAnimationName?: Property.AnimationName;
6762  /**
6763   * The **`animation-play-state`** CSS property sets whether an animation is running or paused.
6764   *
6765   * **Syntax**: `<single-animation-play-state>#`
6766   *
6767   * **Initial value**: `running`
6768   */
6769  WebkitAnimationPlayState?: Property.AnimationPlayState;
6770  /**
6771   * The **`animation-timing-function`** CSS property sets how an animation progresses through the duration of each cycle.
6772   *
6773   * **Syntax**: `<easing-function>#`
6774   *
6775   * **Initial value**: `ease`
6776   */
6777  WebkitAnimationTimingFunction?: Property.AnimationTimingFunction;
6778  /**
6779   * The `**appearance**` CSS property is used to display an element using platform-native styling, based on the operating system's theme. The **`-moz-appearance`** and **`-webkit-appearance`** properties are non-standard versions of this property, used (respectively) by Gecko (Firefox) and by WebKit-based (e.g., Safari) and Blink-based (e.g., Chrome, Opera) browsers to achieve the same thing. Note that Firefox and Edge also support **`-webkit-appearance`**, for compatibility reasons.
6780   *
6781   * **Syntax**: `none | button | button-bevel | caret | checkbox | default-button | inner-spin-button | listbox | listitem | media-controls-background | media-controls-fullscreen-background | media-current-time-display | media-enter-fullscreen-button | media-exit-fullscreen-button | media-fullscreen-button | media-mute-button | media-overlay-play-button | media-play-button | media-seek-back-button | media-seek-forward-button | media-slider | media-sliderthumb | media-time-remaining-display | media-toggle-closed-captions-button | media-volume-slider | media-volume-slider-container | media-volume-sliderthumb | menulist | menulist-button | menulist-text | menulist-textfield | meter | progress-bar | progress-bar-value | push-button | radio | searchfield | searchfield-cancel-button | searchfield-decoration | searchfield-results-button | searchfield-results-decoration | slider-horizontal | slider-vertical | sliderthumb-horizontal | sliderthumb-vertical | square-button | textarea | textfield | -apple-pay-button`
6782   *
6783   * **Initial value**: `none` (but this value is overridden in the user agent CSS)
6784   */
6785  WebkitAppearance?: Property.WebkitAppearance;
6786  /**
6787   * The **`backdrop-filter`** CSS property lets you apply graphical effects such as blurring or color shifting to the area behind an element. Because it applies to everything _behind_ the element, to see the effect you must make the element or its background at least partially transparent.
6788   *
6789   * **Syntax**: `none | <filter-function-list>`
6790   *
6791   * **Initial value**: `none`
6792   */
6793  WebkitBackdropFilter?: Property.BackdropFilter;
6794  /**
6795   * The **`backface-visibility`** CSS property sets whether the back face of an element is visible when turned towards the user.
6796   *
6797   * **Syntax**: `visible | hidden`
6798   *
6799   * **Initial value**: `visible`
6800   */
6801  WebkitBackfaceVisibility?: Property.BackfaceVisibility;
6802  /**
6803   * The **`background-clip`** CSS property sets whether an element's background extends underneath its border box, padding box, or content box.
6804   *
6805   * **Syntax**: `<box>#`
6806   *
6807   * **Initial value**: `border-box`
6808   */
6809  WebkitBackgroundClip?: Property.BackgroundClip;
6810  /**
6811   * The **`background-origin`** CSS property sets the background's origin: from the border start, inside the border, or inside the padding.
6812   *
6813   * **Syntax**: `<box>#`
6814   *
6815   * **Initial value**: `padding-box`
6816   */
6817  WebkitBackgroundOrigin?: Property.BackgroundOrigin;
6818  /**
6819   * The **`background-size`** CSS property sets the size of the element's background image. The image can be left to its natural size, stretched, or constrained to fit the available space.
6820   *
6821   * **Syntax**: `<bg-size>#`
6822   *
6823   * **Initial value**: `auto auto`
6824   */
6825  WebkitBackgroundSize?: Property.BackgroundSize<TLength>;
6826  /**
6827   * **Syntax**: `<color>`
6828   *
6829   * **Initial value**: `currentcolor`
6830   */
6831  WebkitBorderBeforeColor?: Property.WebkitBorderBeforeColor;
6832  /**
6833   * **Syntax**: `<'border-style'>`
6834   *
6835   * **Initial value**: `none`
6836   */
6837  WebkitBorderBeforeStyle?: Property.WebkitBorderBeforeStyle;
6838  /**
6839   * **Syntax**: `<'border-width'>`
6840   *
6841   * **Initial value**: `medium`
6842   */
6843  WebkitBorderBeforeWidth?: Property.WebkitBorderBeforeWidth<TLength>;
6844  /**
6845   * The **`border-bottom-left-radius`** CSS property rounds the bottom-left corner of an element by specifying the radius (or the radius of the semi-major and semi-minor axes) of the ellipse defining the curvature of the corner.
6846   *
6847   * **Syntax**: `<length-percentage>{1,2}`
6848   *
6849   * **Initial value**: `0`
6850   */
6851  WebkitBorderBottomLeftRadius?: Property.BorderBottomLeftRadius<TLength>;
6852  /**
6853   * The **`border-bottom-right-radius`** CSS property rounds the bottom-right corner of an element by specifying the radius (or the radius of the semi-major and semi-minor axes) of the ellipse defining the curvature of the corner.
6854   *
6855   * **Syntax**: `<length-percentage>{1,2}`
6856   *
6857   * **Initial value**: `0`
6858   */
6859  WebkitBorderBottomRightRadius?: Property.BorderBottomRightRadius<TLength>;
6860  /**
6861   * The **`border-image-slice`** CSS property divides the image specified by `border-image-source` into regions. These regions form the components of an element's border image.
6862   *
6863   * **Syntax**: `<number-percentage>{1,4} && fill?`
6864   *
6865   * **Initial value**: `100%`
6866   */
6867  WebkitBorderImageSlice?: Property.BorderImageSlice;
6868  /**
6869   * The **`border-top-left-radius`** CSS property rounds the top-left corner of an element by specifying the radius (or the radius of the semi-major and semi-minor axes) of the ellipse defining the curvature of the corner.
6870   *
6871   * **Syntax**: `<length-percentage>{1,2}`
6872   *
6873   * **Initial value**: `0`
6874   */
6875  WebkitBorderTopLeftRadius?: Property.BorderTopLeftRadius<TLength>;
6876  /**
6877   * The **`border-top-right-radius`** CSS property rounds the top-right corner of an element by specifying the radius (or the radius of the semi-major and semi-minor axes) of the ellipse defining the curvature of the corner.
6878   *
6879   * **Syntax**: `<length-percentage>{1,2}`
6880   *
6881   * **Initial value**: `0`
6882   */
6883  WebkitBorderTopRightRadius?: Property.BorderTopRightRadius<TLength>;
6884  /**
6885   * The **`box-decoration-break`** CSS property specifies how an element's fragments should be rendered when broken across multiple lines, columns, or pages.
6886   *
6887   * **Syntax**: `slice | clone`
6888   *
6889   * **Initial value**: `slice`
6890   */
6891  WebkitBoxDecorationBreak?: Property.BoxDecorationBreak;
6892  /**
6893   * The **`-webkit-box-reflect`** CSS property lets you reflect the content of an element in one specific direction.
6894   *
6895   * **Syntax**: `[ above | below | right | left ]? <length>? <image>?`
6896   *
6897   * **Initial value**: `none`
6898   */
6899  WebkitBoxReflect?: Property.WebkitBoxReflect<TLength>;
6900  /**
6901   * The **`box-shadow`** CSS property adds shadow effects around an element's frame. You can set multiple effects separated by commas. A box shadow is described by X and Y offsets relative to the element, blur and spread radius, and color.
6902   *
6903   * **Syntax**: `none | <shadow>#`
6904   *
6905   * **Initial value**: `none`
6906   */
6907  WebkitBoxShadow?: Property.BoxShadow;
6908  /**
6909   * The **`box-sizing`** CSS property sets how the total width and height of an element is calculated.
6910   *
6911   * **Syntax**: `content-box | border-box`
6912   *
6913   * **Initial value**: `content-box`
6914   */
6915  WebkitBoxSizing?: Property.BoxSizing;
6916  /**
6917   * The `**clip-path**` CSS property creates a clipping region that sets what part of an element should be shown. Parts that are inside the region are shown, while those outside are hidden.
6918   *
6919   * **Syntax**: `<clip-source> | [ <basic-shape> || <geometry-box> ] | none`
6920   *
6921   * **Initial value**: `none`
6922   */
6923  WebkitClipPath?: Property.ClipPath;
6924  /**
6925   * The **`column-count`** CSS property breaks an element's content into the specified number of columns.
6926   *
6927   * **Syntax**: `<integer> | auto`
6928   *
6929   * **Initial value**: `auto`
6930   */
6931  WebkitColumnCount?: Property.ColumnCount;
6932  /**
6933   * The **`column-fill`** CSS property controls how an element's contents are balanced when broken into columns.
6934   *
6935   * **Syntax**: `auto | balance | balance-all`
6936   *
6937   * **Initial value**: `balance`
6938   */
6939  WebkitColumnFill?: Property.ColumnFill;
6940  /**
6941   * The **`column-gap`** CSS property sets the size of the gap (gutter) between an element's columns.
6942   *
6943   * **Syntax**: `normal | <length-percentage>`
6944   *
6945   * **Initial value**: `normal`
6946   */
6947  WebkitColumnGap?: Property.ColumnGap<TLength>;
6948  /**
6949   * The **`column-rule-color`** CSS property sets the color of the line drawn between columns in a multi-column layout.
6950   *
6951   * **Syntax**: `<color>`
6952   *
6953   * **Initial value**: `currentcolor`
6954   */
6955  WebkitColumnRuleColor?: Property.ColumnRuleColor;
6956  /**
6957   * The **`column-rule-style`** CSS property sets the style of the line drawn between columns in a multi-column layout.
6958   *
6959   * **Syntax**: `<'border-style'>`
6960   *
6961   * **Initial value**: `none`
6962   */
6963  WebkitColumnRuleStyle?: Property.ColumnRuleStyle;
6964  /**
6965   * The **`column-rule-width`** CSS property sets the width of the line drawn between columns in a multi-column layout.
6966   *
6967   * **Syntax**: `<'border-width'>`
6968   *
6969   * **Initial value**: `medium`
6970   */
6971  WebkitColumnRuleWidth?: Property.ColumnRuleWidth<TLength>;
6972  /**
6973   * The **`column-span`** CSS property makes it possible for an element to span across all columns when its value is set to `all`.
6974   *
6975   * **Syntax**: `none | all`
6976   *
6977   * **Initial value**: `none`
6978   */
6979  WebkitColumnSpan?: Property.ColumnSpan;
6980  /**
6981   * The **`column-width`** CSS property sets the ideal column width in a multi-column layout. The container will have as many columns as can fit without any of them having a width less than the `column-width` value. If the width of the container is narrower than the specified value, the single column's width will be smaller than the declared column width.
6982   *
6983   * **Syntax**: `<length> | auto`
6984   *
6985   * **Initial value**: `auto`
6986   */
6987  WebkitColumnWidth?: Property.ColumnWidth<TLength>;
6988  /**
6989   * The **`filter`** CSS property applies graphical effects like blur or color shift to an element. Filters are commonly used to adjust the rendering of images, backgrounds, and borders.
6990   *
6991   * **Syntax**: `none | <filter-function-list>`
6992   *
6993   * **Initial value**: `none`
6994   */
6995  WebkitFilter?: Property.Filter;
6996  /**
6997   * The **`flex-basis`** CSS property sets the initial main size of a flex item. It sets the size of the content box unless otherwise set with `box-sizing`.
6998   *
6999   * **Syntax**: `content | <'width'>`
7000   *
7001   * **Initial value**: `auto`
7002   */
7003  WebkitFlexBasis?: Property.FlexBasis<TLength>;
7004  /**
7005   * The **`flex-direction`** CSS property sets how flex items are placed in the flex container defining the main axis and the direction (normal or reversed).
7006   *
7007   * **Syntax**: `row | row-reverse | column | column-reverse`
7008   *
7009   * **Initial value**: `row`
7010   */
7011  WebkitFlexDirection?: Property.FlexDirection;
7012  /**
7013   * The **`flex-grow`** CSS property sets the flex grow factor of a flex item main size.
7014   *
7015   * **Syntax**: `<number>`
7016   *
7017   * **Initial value**: `0`
7018   */
7019  WebkitFlexGrow?: Property.FlexGrow;
7020  /**
7021   * The **`flex-shrink`** CSS property sets the flex shrink factor of a flex item. If the size of all flex items is larger than the flex container, items shrink to fit according to `flex-shrink`.
7022   *
7023   * **Syntax**: `<number>`
7024   *
7025   * **Initial value**: `1`
7026   */
7027  WebkitFlexShrink?: Property.FlexShrink;
7028  /**
7029   * The **`flex-wrap`** CSS property sets whether flex items are forced onto one line or can wrap onto multiple lines. If wrapping is allowed, it sets the direction that lines are stacked.
7030   *
7031   * **Syntax**: `nowrap | wrap | wrap-reverse`
7032   *
7033   * **Initial value**: `nowrap`
7034   */
7035  WebkitFlexWrap?: Property.FlexWrap;
7036  /**
7037   * The **`font-feature-settings`** CSS property controls advanced typographic features in OpenType fonts.
7038   *
7039   * **Syntax**: `normal | <feature-tag-value>#`
7040   *
7041   * **Initial value**: `normal`
7042   */
7043  WebkitFontFeatureSettings?: Property.FontFeatureSettings;
7044  /**
7045   * The **`font-kerning`** CSS property sets the use of the kerning information stored in a font.
7046   *
7047   * **Syntax**: `auto | normal | none`
7048   *
7049   * **Initial value**: `auto`
7050   */
7051  WebkitFontKerning?: Property.FontKerning;
7052  /**
7053   * The **`font-smooth`** CSS property controls the application of anti-aliasing when fonts are rendered.
7054   *
7055   * **Syntax**: `auto | never | always | <absolute-size> | <length>`
7056   *
7057   * **Initial value**: `auto`
7058   */
7059  WebkitFontSmoothing?: Property.FontSmooth<TLength>;
7060  /**
7061   * The **`font-variant-ligatures`** CSS property controls which ligatures and contextual forms are used in textual content of the elements it applies to. This leads to more harmonized forms in the resulting text.
7062   *
7063   * **Syntax**: `normal | none | [ <common-lig-values> || <discretionary-lig-values> || <historical-lig-values> || <contextual-alt-values> ]`
7064   *
7065   * **Initial value**: `normal`
7066   */
7067  WebkitFontVariantLigatures?: Property.FontVariantLigatures;
7068  /**
7069   * The **`hyphens`** CSS property specifies how words should be hyphenated when text wraps across multiple lines. It can prevent hyphenation entirely, hyphenate at manually-specified points within the text, or let the browser automatically insert hyphens where appropriate.
7070   *
7071   * **Syntax**: `none | manual | auto`
7072   *
7073   * **Initial value**: `manual`
7074   */
7075  WebkitHyphens?: Property.Hyphens;
7076  /**
7077   * The CSS **`justify-content`** property defines how the browser distributes space between and around content items along the main-axis of a flex container, and the inline axis of a grid container.
7078   *
7079   * **Syntax**: `normal | <content-distribution> | <overflow-position>? [ <content-position> | left | right ]`
7080   *
7081   * **Initial value**: `normal`
7082   */
7083  WebkitJustifyContent?: Property.JustifyContent;
7084  /**
7085   * The **`line-break`** CSS property sets how to break lines of Chinese, Japanese, or Korean (CJK) text when working with punctuation and symbols.
7086   *
7087   * **Syntax**: `auto | loose | normal | strict | anywhere`
7088   *
7089   * **Initial value**: `auto`
7090   */
7091  WebkitLineBreak?: Property.LineBreak;
7092  /**
7093   * The **`-webkit-line-clamp`** CSS property allows limiting of the contents of a block container to the specified number of lines.
7094   *
7095   * **Syntax**: `none | <integer>`
7096   *
7097   * **Initial value**: `none`
7098   */
7099  WebkitLineClamp?: Property.WebkitLineClamp;
7100  /**
7101   * The **`margin-inline-end`** CSS property defines the logical inline end margin of an element, which maps to a physical margin depending on the element's writing mode, directionality, and text orientation. In other words, it corresponds to the `margin-top`, `margin-right`, `margin-bottom` or `margin-left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
7102   *
7103   * **Syntax**: `<'margin-left'>`
7104   *
7105   * **Initial value**: `0`
7106   */
7107  WebkitMarginEnd?: Property.MarginInlineEnd<TLength>;
7108  /**
7109   * The **`margin-inline-start`** CSS property defines the logical inline start margin of an element, which maps to a physical margin depending on the element's writing mode, directionality, and text orientation. It corresponds to the `margin-top`, `margin-right`, `margin-bottom`, or `margin-left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
7110   *
7111   * **Syntax**: `<'margin-left'>`
7112   *
7113   * **Initial value**: `0`
7114   */
7115  WebkitMarginStart?: Property.MarginInlineStart<TLength>;
7116  /**
7117   * If a `-webkit-mask-image` is specified, `-webkit-mask-attachment` determines whether the mask image's position is fixed within the viewport, or scrolls along with its containing block.
7118   *
7119   * **Syntax**: `<attachment>#`
7120   *
7121   * **Initial value**: `scroll`
7122   */
7123  WebkitMaskAttachment?: Property.WebkitMaskAttachment;
7124  /**
7125   * The **`mask-border-outset`** CSS property specifies the distance by which an element's mask border is set out from its border box.
7126   *
7127   * **Syntax**: `[ <length> | <number> ]{1,4}`
7128   *
7129   * **Initial value**: `0`
7130   */
7131  WebkitMaskBoxImageOutset?: Property.MaskBorderOutset<TLength>;
7132  /**
7133   * The **`mask-border-repeat`** CSS property sets how the edge regions of a source image are adjusted to fit the dimensions of an element's mask border.
7134   *
7135   * **Syntax**: `[ stretch | repeat | round | space ]{1,2}`
7136   *
7137   * **Initial value**: `stretch`
7138   */
7139  WebkitMaskBoxImageRepeat?: Property.MaskBorderRepeat;
7140  /**
7141   * The **`mask-border-slice`** CSS property divides the image set by `mask-border-source` into regions. These regions are used to form the components of an element's mask border.
7142   *
7143   * **Syntax**: `<number-percentage>{1,4} fill?`
7144   *
7145   * **Initial value**: `0`
7146   */
7147  WebkitMaskBoxImageSlice?: Property.MaskBorderSlice;
7148  /**
7149   * The **`mask-border-source`** CSS property sets the source image used to create an element's mask border.
7150   *
7151   * **Syntax**: `none | <image>`
7152   *
7153   * **Initial value**: `none`
7154   */
7155  WebkitMaskBoxImageSource?: Property.MaskBorderSource;
7156  /**
7157   * The **`mask-border-width`** CSS property sets the width of an element's mask border.
7158   *
7159   * **Syntax**: `[ <length-percentage> | <number> | auto ]{1,4}`
7160   *
7161   * **Initial value**: `auto`
7162   */
7163  WebkitMaskBoxImageWidth?: Property.MaskBorderWidth<TLength>;
7164  /**
7165   * The **`mask-clip`** CSS property determines the area which is affected by a mask. The painted content of an element must be restricted to this area.
7166   *
7167   * **Syntax**: `[ <box> | border | padding | content | text ]#`
7168   *
7169   * **Initial value**: `border`
7170   */
7171  WebkitMaskClip?: Property.WebkitMaskClip;
7172  /**
7173   * The **`-webkit-mask-composite`** property specifies the manner in which multiple mask images applied to the same element are composited with one another. Mask images are composited in the opposite order that they are declared with the `-webkit-mask-image` property.
7174   *
7175   * **Syntax**: `<composite-style>#`
7176   *
7177   * **Initial value**: `source-over`
7178   */
7179  WebkitMaskComposite?: Property.WebkitMaskComposite;
7180  /**
7181   * The **`mask-image`** CSS property sets the image that is used as mask layer for an element.
7182   *
7183   * **Syntax**: `<mask-reference>#`
7184   *
7185   * **Initial value**: `none`
7186   */
7187  WebkitMaskImage?: Property.WebkitMaskImage;
7188  /**
7189   * The **`mask-origin`** CSS property sets the origin of a mask.
7190   *
7191   * **Syntax**: `[ <box> | border | padding | content ]#`
7192   *
7193   * **Initial value**: `padding`
7194   */
7195  WebkitMaskOrigin?: Property.WebkitMaskOrigin;
7196  /**
7197   * The **`mask-position`** CSS property sets the initial position, relative to the mask position layer set by `mask-origin`, for each defined mask image.
7198   *
7199   * **Syntax**: `<position>#`
7200   *
7201   * **Initial value**: `0% 0%`
7202   */
7203  WebkitMaskPosition?: Property.WebkitMaskPosition<TLength>;
7204  /**
7205   * The `-webkit-mask-position-x` CSS property sets the initial horizontal position of a mask image.
7206   *
7207   * **Syntax**: `[ <length-percentage> | left | center | right ]#`
7208   *
7209   * **Initial value**: `0%`
7210   */
7211  WebkitMaskPositionX?: Property.WebkitMaskPositionX<TLength>;
7212  /**
7213   * The `-webkit-mask-position-y` CSS property sets the initial vertical position of a mask image.
7214   *
7215   * **Syntax**: `[ <length-percentage> | top | center | bottom ]#`
7216   *
7217   * **Initial value**: `0%`
7218   */
7219  WebkitMaskPositionY?: Property.WebkitMaskPositionY<TLength>;
7220  /**
7221   * The **`mask-repeat`** CSS property sets how mask images are repeated. A mask image can be repeated along the horizontal axis, the vertical axis, both axes, or not repeated at all.
7222   *
7223   * **Syntax**: `<repeat-style>#`
7224   *
7225   * **Initial value**: `repeat`
7226   */
7227  WebkitMaskRepeat?: Property.WebkitMaskRepeat;
7228  /**
7229   * The `-webkit-mask-repeat-x` property specifies whether and how a mask image is repeated (tiled) horizontally.
7230   *
7231   * **Syntax**: `repeat | no-repeat | space | round`
7232   *
7233   * **Initial value**: `repeat`
7234   */
7235  WebkitMaskRepeatX?: Property.WebkitMaskRepeatX;
7236  /**
7237   * The `-webkit-mask-repeat-y` property sets whether and how a mask image is repeated (tiled) vertically.
7238   *
7239   * **Syntax**: `repeat | no-repeat | space | round`
7240   *
7241   * **Initial value**: `repeat`
7242   */
7243  WebkitMaskRepeatY?: Property.WebkitMaskRepeatY;
7244  /**
7245   * The **`mask-size`** CSS property specifies the sizes of the mask images. The size of the image can be fully or partially constrained in order to preserve its intrinsic ratio.
7246   *
7247   * **Syntax**: `<bg-size>#`
7248   *
7249   * **Initial value**: `auto auto`
7250   */
7251  WebkitMaskSize?: Property.WebkitMaskSize<TLength>;
7252  /**
7253   * The **`max-inline-size`** CSS property defines the horizontal or vertical maximum size of an element's block, depending on its writing mode. It corresponds to either the `max-width` or the `max-height` property, depending on the value of `writing-mode`.
7254   *
7255   * **Syntax**: `<'max-width'>`
7256   *
7257   * **Initial value**: `0`
7258   */
7259  WebkitMaxInlineSize?: Property.MaxInlineSize<TLength>;
7260  /**
7261   * The **`order`** CSS property sets the order to lay out an item in a flex or grid container. Items in a container are sorted by ascending `order` value and then by their source code order.
7262   *
7263   * **Syntax**: `<integer>`
7264   *
7265   * **Initial value**: `0`
7266   */
7267  WebkitOrder?: Property.Order;
7268  /**
7269   * The `-webkit-overflow-scrolling` CSS property controls whether or not touch devices use momentum-based scrolling for a given element.
7270   *
7271   * **Syntax**: `auto | touch`
7272   *
7273   * **Initial value**: `auto`
7274   */
7275  WebkitOverflowScrolling?: Property.WebkitOverflowScrolling;
7276  /**
7277   * The **`padding-inline-end`** CSS property defines the logical inline end padding of an element, which maps to a physical padding depending on the element's writing mode, directionality, and text orientation.
7278   *
7279   * **Syntax**: `<'padding-left'>`
7280   *
7281   * **Initial value**: `0`
7282   */
7283  WebkitPaddingEnd?: Property.PaddingInlineEnd<TLength>;
7284  /**
7285   * The **`padding-inline-start`** CSS property defines the logical inline start padding of an element, which maps to a physical padding depending on the element's writing mode, directionality, and text orientation.
7286   *
7287   * **Syntax**: `<'padding-left'>`
7288   *
7289   * **Initial value**: `0`
7290   */
7291  WebkitPaddingStart?: Property.PaddingInlineStart<TLength>;
7292  /**
7293   * The **`perspective`** CSS property determines the distance between the z=0 plane and the user in order to give a 3D-positioned element some perspective.
7294   *
7295   * **Syntax**: `none | <length>`
7296   *
7297   * **Initial value**: `none`
7298   */
7299  WebkitPerspective?: Property.Perspective<TLength>;
7300  /**
7301   * The **`perspective-origin`** CSS property determines the position at which the viewer is looking. It is used as the _vanishing point_ by the `perspective` property.
7302   *
7303   * **Syntax**: `<position>`
7304   *
7305   * **Initial value**: `50% 50%`
7306   */
7307  WebkitPerspectiveOrigin?: Property.PerspectiveOrigin<TLength>;
7308  /**
7309   * The **`color-adjust`** CSS property sets what, if anything, the user agent may do to optimize the appearance of the element on the output device. By default, the browser is allowed to make any adjustments to the element's appearance it determines to be necessary and prudent given the type and capabilities of the output device.
7310   *
7311   * **Syntax**: `economy | exact`
7312   *
7313   * **Initial value**: `economy`
7314   */
7315  WebkitPrintColorAdjust?: Property.ColorAdjust;
7316  /**
7317   * The `**ruby-position**` CSS property defines the position of a ruby element relatives to its base element. It can be position over the element (`over`), under it (`under`), or between the characters, on their right side (`inter-character`).
7318   *
7319   * **Syntax**: `[ alternate || [ over | under ] ] | inter-character`
7320   *
7321   * **Initial value**: `alternate`
7322   */
7323  WebkitRubyPosition?: Property.RubyPosition;
7324  /**
7325   * The **`scroll-snap-type`** CSS property sets how strictly snap points are enforced on the scroll container in case there is one.
7326   *
7327   * **Syntax**: `none | [ x | y | block | inline | both ] [ mandatory | proximity ]?`
7328   *
7329   * **Initial value**: `none`
7330   */
7331  WebkitScrollSnapType?: Property.ScrollSnapType;
7332  /**
7333   * The **`shape-margin`** CSS property sets a margin for a CSS shape created using `shape-outside`.
7334   *
7335   * **Syntax**: `<length-percentage>`
7336   *
7337   * **Initial value**: `0`
7338   */
7339  WebkitShapeMargin?: Property.ShapeMargin<TLength>;
7340  /**
7341   * **`-webkit-tap-highlight-color`** is a non-standard CSS property that sets the color of the highlight that appears over a link while it's being tapped. The highlighting indicates to the user that their tap is being successfully recognized, and indicates which element they're tapping on.
7342   *
7343   * **Syntax**: `<color>`
7344   *
7345   * **Initial value**: `black`
7346   */
7347  WebkitTapHighlightColor?: Property.WebkitTapHighlightColor;
7348  /**
7349   * The **`text-combine-upright`** CSS property sets the combination of characters into the space of a single character. If the combined text is wider than 1em, the user agent must fit the contents within 1em. The resulting composition is treated as a single upright glyph for layout and decoration. This property only has an effect in vertical writing modes.
7350   *
7351   * **Syntax**: `none | all | [ digits <integer>? ]`
7352   *
7353   * **Initial value**: `none`
7354   */
7355  WebkitTextCombine?: Property.TextCombineUpright;
7356  /**
7357   * The **`text-decoration-color`** CSS property sets the color of decorations added to text by `text-decoration-line`.
7358   *
7359   * **Syntax**: `<color>`
7360   *
7361   * **Initial value**: `currentcolor`
7362   */
7363  WebkitTextDecorationColor?: Property.TextDecorationColor;
7364  /**
7365   * The **`text-decoration-line`** CSS property sets the kind of decoration that is used on text in an element, such as an underline or overline.
7366   *
7367   * **Syntax**: `none | [ underline || overline || line-through || blink ] | spelling-error | grammar-error`
7368   *
7369   * **Initial value**: `none`
7370   */
7371  WebkitTextDecorationLine?: Property.TextDecorationLine;
7372  /**
7373   * The **`text-decoration-skip`** CSS property sets what parts of an element’s content any text decoration affecting the element must skip over. It controls all text decoration lines drawn by the element and also any text decoration lines drawn by its ancestors.
7374   *
7375   * **Syntax**: `none | [ objects || [ spaces | [ leading-spaces || trailing-spaces ] ] || edges || box-decoration ]`
7376   *
7377   * **Initial value**: `objects`
7378   */
7379  WebkitTextDecorationSkip?: Property.TextDecorationSkip;
7380  /**
7381   * The **`text-decoration-style`** CSS property sets the style of the lines specified by `text-decoration-line`. The style applies to all lines that are set with `text-decoration-line`.
7382   *
7383   * **Syntax**: `solid | double | dotted | dashed | wavy`
7384   *
7385   * **Initial value**: `solid`
7386   */
7387  WebkitTextDecorationStyle?: Property.TextDecorationStyle;
7388  /**
7389   * The **`text-emphasis-color`** CSS property sets the color of emphasis marks. This value can also be set using the `text-emphasis` shorthand.
7390   *
7391   * **Syntax**: `<color>`
7392   *
7393   * **Initial value**: `currentcolor`
7394   */
7395  WebkitTextEmphasisColor?: Property.TextEmphasisColor;
7396  /**
7397   * The **`text-emphasis-position`** CSS property sets where emphasis marks are drawn. Like ruby text, if there isn't enough room for emphasis marks, the line height is increased.
7398   *
7399   * **Syntax**: `[ over | under ] && [ right | left ]`
7400   *
7401   * **Initial value**: `over right`
7402   */
7403  WebkitTextEmphasisPosition?: Property.TextEmphasisPosition;
7404  /**
7405   * The **`text-emphasis-style`** CSS property sets the appearance of emphasis marks. It can also be set, and reset, using the `text-emphasis` shorthand.
7406   *
7407   * **Syntax**: `none | [ [ filled | open ] || [ dot | circle | double-circle | triangle | sesame ] ] | <string>`
7408   *
7409   * **Initial value**: `none`
7410   */
7411  WebkitTextEmphasisStyle?: Property.TextEmphasisStyle;
7412  /**
7413   * The **`-webkit-text-fill-color`** CSS property specifies the fill color of characters of text. If this property is not set, the value of the `color` property is used.
7414   *
7415   * **Syntax**: `<color>`
7416   *
7417   * **Initial value**: `currentcolor`
7418   */
7419  WebkitTextFillColor?: Property.WebkitTextFillColor;
7420  /**
7421   * The **`text-orientation`** CSS property sets the orientation of the text characters in a line. It only affects text in vertical mode (when `writing-mode` is not `horizontal-tb`). It is useful for controlling the display of languages that use vertical script, and also for making vertical table headers.
7422   *
7423   * **Syntax**: `mixed | upright | sideways`
7424   *
7425   * **Initial value**: `mixed`
7426   */
7427  WebkitTextOrientation?: Property.TextOrientation;
7428  /**
7429   * The **`text-size-adjust`** CSS property controls the text inflation algorithm used on some smartphones and tablets. Other browsers will ignore this property.
7430   *
7431   * **Syntax**: `none | auto | <percentage>`
7432   *
7433   * **Initial value**: `auto` for smartphone browsers supporting inflation, `none` in other cases (and then not modifiable).
7434   */
7435  WebkitTextSizeAdjust?: Property.TextSizeAdjust;
7436  /**
7437   * The **`-webkit-text-stroke-color`** CSS property specifies the stroke color of characters of text. If this property is not set, the value of the `color` property is used.
7438   *
7439   * **Syntax**: `<color>`
7440   *
7441   * **Initial value**: `currentcolor`
7442   */
7443  WebkitTextStrokeColor?: Property.WebkitTextStrokeColor;
7444  /**
7445   * The **`-webkit-text-stroke-width`** CSS property specifies the width of the stroke for text.
7446   *
7447   * **Syntax**: `<length>`
7448   *
7449   * **Initial value**: `0`
7450   */
7451  WebkitTextStrokeWidth?: Property.WebkitTextStrokeWidth<TLength>;
7452  /**
7453   * The **`text-underline-position`** CSS property specifies the position of the underline which is set using the `text-decoration` property's `underline` value.
7454   *
7455   * **Syntax**: `auto | from-font | [ under || [ left | right ] ]`
7456   *
7457   * **Initial value**: `auto`
7458   */
7459  WebkitTextUnderlinePosition?: Property.TextUnderlinePosition;
7460  /**
7461   * The `-webkit-touch-callout` CSS property controls the display of the default callout shown when you touch and hold a touch target.
7462   *
7463   * **Syntax**: `default | none`
7464   *
7465   * **Initial value**: `default`
7466   */
7467  WebkitTouchCallout?: Property.WebkitTouchCallout;
7468  /**
7469   * The **`transform`** CSS property lets you rotate, scale, skew, or translate an element. It modifies the coordinate space of the CSS visual formatting model.
7470   *
7471   * **Syntax**: `none | <transform-list>`
7472   *
7473   * **Initial value**: `none`
7474   */
7475  WebkitTransform?: Property.Transform;
7476  /**
7477   * The **`transform-origin`** CSS property sets the origin for an element's transformations.
7478   *
7479   * **Syntax**: `[ <length-percentage> | left | center | right | top | bottom ] | [ [ <length-percentage> | left | center | right ] && [ <length-percentage> | top | center | bottom ] ] <length>?`
7480   *
7481   * **Initial value**: `50% 50% 0`
7482   */
7483  WebkitTransformOrigin?: Property.TransformOrigin<TLength>;
7484  /**
7485   * The **`transform-style`** CSS property sets whether children of an element are positioned in the 3D space or are flattened in the plane of the element.
7486   *
7487   * **Syntax**: `flat | preserve-3d`
7488   *
7489   * **Initial value**: `flat`
7490   */
7491  WebkitTransformStyle?: Property.TransformStyle;
7492  /**
7493   * The **`transition-delay`** CSS property specifies the duration to wait before starting a property's transition effect when its value changes.
7494   *
7495   * **Syntax**: `<time>#`
7496   *
7497   * **Initial value**: `0s`
7498   */
7499  WebkitTransitionDelay?: Property.TransitionDelay<TTime>;
7500  /**
7501   * The **`transition-duration`** CSS property sets the length of time a transition animation should take to complete. By default, the value is `0s`, meaning that no animation will occur.
7502   *
7503   * **Syntax**: `<time>#`
7504   *
7505   * **Initial value**: `0s`
7506   */
7507  WebkitTransitionDuration?: Property.TransitionDuration<TTime>;
7508  /**
7509   * The **`transition-property`** CSS property sets the CSS properties to which a transition effect should be applied.
7510   *
7511   * **Syntax**: `none | <single-transition-property>#`
7512   *
7513   * **Initial value**: all
7514   */
7515  WebkitTransitionProperty?: Property.TransitionProperty;
7516  /**
7517   * The **`transition-timing-function`** CSS property sets how intermediate values are calculated for CSS properties being affected by a transition effect.
7518   *
7519   * **Syntax**: `<easing-function>#`
7520   *
7521   * **Initial value**: `ease`
7522   */
7523  WebkitTransitionTimingFunction?: Property.TransitionTimingFunction;
7524  /**
7525   * **Syntax**: `read-only | read-write | read-write-plaintext-only`
7526   *
7527   * **Initial value**: `read-only`
7528   */
7529  WebkitUserModify?: Property.WebkitUserModify;
7530  /**
7531   * The `**user-select**` CSS property controls whether the user can select text. This doesn't have any effect on content loaded as chrome, except in textboxes.
7532   *
7533   * **Syntax**: `auto | text | none | contain | all`
7534   *
7535   * **Initial value**: `auto`
7536   */
7537  WebkitUserSelect?: Property.UserSelect;
7538  /**
7539   * The **`writing-mode`** CSS property sets whether lines of text are laid out horizontally or vertically, as well as the direction in which blocks progress. When set for an entire document, it should be set on the root element (`html` element for HTML documents).
7540   *
7541   * **Syntax**: `horizontal-tb | vertical-rl | vertical-lr | sideways-rl | sideways-lr`
7542   *
7543   * **Initial value**: `horizontal-tb`
7544   */
7545  WebkitWritingMode?: Property.WritingMode;
7546}
7547
7548export interface VendorShorthandProperties<TLength = (string & {}) | 0, TTime = string & {}> {
7549  /**
7550   * The **`animation`** shorthand CSS property applies an animation between styles. It is a shorthand for `animation-name`, `animation-duration`, `animation-timing-function`, `animation-delay`, `animation-iteration-count`, `animation-direction`, `animation-fill-mode`, and `animation-play-state`.
7551   *
7552   * **Syntax**: `<single-animation>#`
7553   */
7554  MozAnimation?: Property.Animation<TTime>;
7555  /**
7556   * The **`border-image`** CSS property draws an image around a given element. It replaces the element's regular border.
7557   *
7558   * **Syntax**: `<'border-image-source'> || <'border-image-slice'> [ / <'border-image-width'> | / <'border-image-width'>? / <'border-image-outset'> ]? || <'border-image-repeat'>`
7559   */
7560  MozBorderImage?: Property.BorderImage;
7561  /**
7562   * The **`column-rule`** shorthand CSS property sets the width, style, and color of the line drawn between columns in a multi-column layout.
7563   *
7564   * **Syntax**: `<'column-rule-width'> || <'column-rule-style'> || <'column-rule-color'>`
7565   */
7566  MozColumnRule?: Property.ColumnRule<TLength>;
7567  /**
7568   * The **`columns`** CSS shorthand property sets the number of columns to use when drawing an element's contents, as well as those columns' widths.
7569   *
7570   * **Syntax**: `<'column-width'> || <'column-count'>`
7571   */
7572  MozColumns?: Property.Columns<TLength>;
7573  /**
7574   * The **`transition`** CSS property is a shorthand property for `transition-property`, `transition-duration`, `transition-timing-function`, and `transition-delay`.
7575   *
7576   * **Syntax**: `<single-transition>#`
7577   */
7578  MozTransition?: Property.Transition<TTime>;
7579  /**
7580   * The **`-ms-content-zoom-limit`** CSS shorthand property is a Microsoft extension that specifies values for the `-ms-content-zoom-limit-min` and `-ms-content-zoom-limit-max` properties.
7581   *
7582   * **Syntax**: `<'-ms-content-zoom-limit-min'> <'-ms-content-zoom-limit-max'>`
7583   */
7584  msContentZoomLimit?: Property.MsContentZoomLimit;
7585  /**
7586   * The **`-ms-content-zoom-snap`** CSS shorthand property is a Microsoft extension that specifies values for the `-ms-content-zoom-snap-type` and `-ms-content-zoom-snap-points` properties.
7587   *
7588   * **Syntax**: `<'-ms-content-zoom-snap-type'> || <'-ms-content-zoom-snap-points'>`
7589   */
7590  msContentZoomSnap?: Property.MsContentZoomSnap;
7591  /**
7592   * The **`flex`** CSS shorthand property sets how a flex _item_ will grow or shrink to fit the space available in its flex container.
7593   *
7594   * **Syntax**: `none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]`
7595   */
7596  msFlex?: Property.Flex<TLength>;
7597  /**
7598   * The **\-ms-scroll-limit** CSS property is a Microsoft extension that specifies values for the `-ms-scroll-limit-x-min`, `-ms-scroll-limit-y-min`, `-ms-scroll-limit-x-max`, and `-ms-scroll-limit-y-max` properties.
7599   *
7600   * **Syntax**: `<'-ms-scroll-limit-x-min'> <'-ms-scroll-limit-y-min'> <'-ms-scroll-limit-x-max'> <'-ms-scroll-limit-y-max'>`
7601   */
7602  msScrollLimit?: Property.MsScrollLimit;
7603  /**
7604   * The **`-ms-scroll-snap-x`** CSS shorthand property is a Microsoft extension that specifies values for the `-ms-scroll-snap-type` and `-ms-scroll-snap-points-x` properties.
7605   *
7606   * **Syntax**: `<'-ms-scroll-snap-type'> <'-ms-scroll-snap-points-x'>`
7607   */
7608  msScrollSnapX?: Property.MsScrollSnapX;
7609  /**
7610   * The **`-ms-scroll-snap-x`** CSS shorthand property is a Microsoft extension that specifies values for the `-ms-scroll-snap-type` and `-ms-scroll-snap-points-y` properties.
7611   *
7612   * **Syntax**: `<'-ms-scroll-snap-type'> <'-ms-scroll-snap-points-y'>`
7613   */
7614  msScrollSnapY?: Property.MsScrollSnapY;
7615  /**
7616   * The **`transition`** CSS property is a shorthand property for `transition-property`, `transition-duration`, `transition-timing-function`, and `transition-delay`.
7617   *
7618   * **Syntax**: `<single-transition>#`
7619   */
7620  msTransition?: Property.Transition<TTime>;
7621  /**
7622   * The **`animation`** shorthand CSS property applies an animation between styles. It is a shorthand for `animation-name`, `animation-duration`, `animation-timing-function`, `animation-delay`, `animation-iteration-count`, `animation-direction`, `animation-fill-mode`, and `animation-play-state`.
7623   *
7624   * **Syntax**: `<single-animation>#`
7625   */
7626  WebkitAnimation?: Property.Animation<TTime>;
7627  /**
7628   * The **`-webkit-border-before`** CSS property is a shorthand property for setting the individual logical block start border property values in a single place in the style sheet.
7629   *
7630   * **Syntax**: `<'border-width'> || <'border-style'> || <color>`
7631   */
7632  WebkitBorderBefore?: Property.WebkitBorderBefore<TLength>;
7633  /**
7634   * The **`border-image`** CSS property draws an image around a given element. It replaces the element's regular border.
7635   *
7636   * **Syntax**: `<'border-image-source'> || <'border-image-slice'> [ / <'border-image-width'> | / <'border-image-width'>? / <'border-image-outset'> ]? || <'border-image-repeat'>`
7637   */
7638  WebkitBorderImage?: Property.BorderImage;
7639  /**
7640   * The **`border-radius`** CSS property rounds the corners of an element's outer border edge. You can set a single radius to make circular corners, or two radii to make elliptical corners.
7641   *
7642   * **Syntax**: `<length-percentage>{1,4} [ / <length-percentage>{1,4} ]?`
7643   */
7644  WebkitBorderRadius?: Property.BorderRadius<TLength>;
7645  /**
7646   * The **`column-rule`** shorthand CSS property sets the width, style, and color of the line drawn between columns in a multi-column layout.
7647   *
7648   * **Syntax**: `<'column-rule-width'> || <'column-rule-style'> || <'column-rule-color'>`
7649   */
7650  WebkitColumnRule?: Property.ColumnRule<TLength>;
7651  /**
7652   * The **`columns`** CSS shorthand property sets the number of columns to use when drawing an element's contents, as well as those columns' widths.
7653   *
7654   * **Syntax**: `<'column-width'> || <'column-count'>`
7655   */
7656  WebkitColumns?: Property.Columns<TLength>;
7657  /**
7658   * The **`flex`** CSS shorthand property sets how a flex _item_ will grow or shrink to fit the space available in its flex container.
7659   *
7660   * **Syntax**: `none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]`
7661   */
7662  WebkitFlex?: Property.Flex<TLength>;
7663  /**
7664   * The **`flex-flow`** CSS shorthand property specifies the direction of a flex container, as well as its wrapping behavior.
7665   *
7666   * **Syntax**: `<'flex-direction'> || <'flex-wrap'>`
7667   */
7668  WebkitFlexFlow?: Property.FlexFlow;
7669  /**
7670   * The **`mask`** CSS shorthand property hides an element (partially or fully) by masking or clipping the image at specific points.
7671   *
7672   * **Syntax**: `[ <mask-reference> || <position> [ / <bg-size> ]? || <repeat-style> || [ <box> | border | padding | content | text ] || [ <box> | border | padding | content ] ]#`
7673   */
7674  WebkitMask?: Property.WebkitMask<TLength>;
7675  /**
7676   * The **`mask-border`** CSS shorthand property lets you create a mask along the edge of an element's border.
7677   *
7678   * **Syntax**: `<'mask-border-source'> || <'mask-border-slice'> [ / <'mask-border-width'>? [ / <'mask-border-outset'> ]? ]? || <'mask-border-repeat'> || <'mask-border-mode'>`
7679   */
7680  WebkitMaskBoxImage?: Property.MaskBorder;
7681  /**
7682   * The **`text-emphasis`** CSS property applies emphasis marks to text (except spaces and control characters). It is a shorthand for `text-emphasis-style` and `text-emphasis-color`.
7683   *
7684   * **Syntax**: `<'text-emphasis-style'> || <'text-emphasis-color'>`
7685   */
7686  WebkitTextEmphasis?: Property.TextEmphasis;
7687  /**
7688   * The **`-webkit-text-stroke`** CSS property specifies the width and color of strokes for text characters. This is a shorthand property for the longhand properties `-webkit-text-stroke-width` and `-webkit-text-stroke-color`.
7689   *
7690   * **Syntax**: `<length> || <color>`
7691   */
7692  WebkitTextStroke?: Property.WebkitTextStroke<TLength>;
7693  /**
7694   * The **`transition`** CSS property is a shorthand property for `transition-property`, `transition-duration`, `transition-timing-function`, and `transition-delay`.
7695   *
7696   * **Syntax**: `<single-transition>#`
7697   */
7698  WebkitTransition?: Property.Transition<TTime>;
7699}
7700
7701export interface VendorProperties<TLength = (string & {}) | 0, TTime = string & {}> extends VendorLonghandProperties<TLength, TTime>, VendorShorthandProperties<TLength, TTime> {}
7702
7703export interface ObsoleteProperties<TLength = (string & {}) | 0, TTime = string & {}> {
7704  /**
7705   * In combination with `elevation`, the **`azimuth`** CSS property enables different audio sources to be positioned spatially for aural presentation. This is important in that it provides a natural way to tell several voices apart, as each can be positioned to originate at a different location on the sound stage. Stereo output produce a lateral sound stage, while binaural headphones and multi-speaker setups allow for a fully three-dimensional stage.
7706   *
7707   * **Syntax**: `<angle> | [ [ left-side | far-left | left | center-left | center | center-right | right | far-right | right-side ] || behind ] | leftwards | rightwards`
7708   *
7709   * **Initial value**: `center`
7710   *
7711   * @deprecated
7712   */
7713  azimuth?: Property.Azimuth;
7714  /**
7715   * The **`box-align`** CSS property specifies how an element aligns its contents across its layout in a perpendicular direction. The effect of the property is only visible if there is extra space in the box.
7716   *
7717   * **Syntax**: `start | center | end | baseline | stretch`
7718   *
7719   * **Initial value**: `stretch`
7720   *
7721   * @deprecated
7722   */
7723  boxAlign?: Property.BoxAlign;
7724  /**
7725   * The **`box-direction`** CSS property specifies whether a box lays out its contents normally (from the top or left edge), or in reverse (from the bottom or right edge).
7726   *
7727   * **Syntax**: `normal | reverse | inherit`
7728   *
7729   * **Initial value**: `normal`
7730   *
7731   * @deprecated
7732   */
7733  boxDirection?: Property.BoxDirection;
7734  /**
7735   * The **`-moz-box-flex`** and **`-webkit-box-flex`** CSS properties specify how a `-moz-box` or `-webkit-box` grows to fill the box that contains it, in the direction of the containing box's layout.
7736   *
7737   * **Syntax**: `<number>`
7738   *
7739   * **Initial value**: `0`
7740   *
7741   * @deprecated
7742   */
7743  boxFlex?: Property.BoxFlex;
7744  /**
7745   * The **`box-flex-group`** CSS property assigns the flexbox's child elements to a flex group.
7746   *
7747   * **Syntax**: `<integer>`
7748   *
7749   * **Initial value**: `1`
7750   *
7751   * @deprecated
7752   */
7753  boxFlexGroup?: Property.BoxFlexGroup;
7754  /**
7755   * The **`box-lines`** CSS property determines whether the box may have a single or multiple lines (rows for horizontally oriented boxes, columns for vertically oriented boxes).
7756   *
7757   * **Syntax**: `single | multiple`
7758   *
7759   * **Initial value**: `single`
7760   *
7761   * @deprecated
7762   */
7763  boxLines?: Property.BoxLines;
7764  /**
7765   * The **`box-ordinal-group`** CSS property assigns the flexbox's child elements to an ordinal group.
7766   *
7767   * **Syntax**: `<integer>`
7768   *
7769   * **Initial value**: `1`
7770   *
7771   * @deprecated
7772   */
7773  boxOrdinalGroup?: Property.BoxOrdinalGroup;
7774  /**
7775   * This is a property of the original CSS Flexible Box Layout Module draft, and has been replaced by a newer standard. See flexbox for information about the current standard.
7776   *
7777   * **Syntax**: `horizontal | vertical | inline-axis | block-axis | inherit`
7778   *
7779   * **Initial value**: `inline-axis` (`horizontal` in XUL)
7780   *
7781   * @deprecated
7782   */
7783  boxOrient?: Property.BoxOrient;
7784  /**
7785   * The **`-moz-box-pack`** and **`-webkit-box-pack`** CSS properties specify how a `-moz-box` or `-webkit-box` packs its contents in the direction of its layout. The effect of this is only visible if there is extra space in the box.
7786   *
7787   * **Syntax**: `start | center | end | justify`
7788   *
7789   * **Initial value**: `start`
7790   *
7791   * @deprecated
7792   */
7793  boxPack?: Property.BoxPack;
7794  /**
7795   * The **`clip`** CSS property defines a visible portion of an element. The `clip` property applies only to absolutely positioned elements — that is, elements with `position:absolute` or `position:fixed`.
7796   *
7797   * **Syntax**: `<shape> | auto`
7798   *
7799   * **Initial value**: `auto`
7800   *
7801   * @deprecated
7802   */
7803  clip?: Property.Clip;
7804  /**
7805   * The **`font-variant-alternates`** CSS property controls the usage of alternate glyphs. These alternate glyphs may be referenced by alternative names defined in `@font-feature-values`.
7806   *
7807   * **Syntax**: `normal | [ stylistic( <feature-value-name> ) || historical-forms || styleset( <feature-value-name># ) || character-variant( <feature-value-name># ) || swash( <feature-value-name> ) || ornaments( <feature-value-name> ) || annotation( <feature-value-name> ) ]`
7808   *
7809   * **Initial value**: `normal`
7810   *
7811   * @deprecated
7812   */
7813  fontVariantAlternates?: Property.FontVariantAlternates;
7814  /**
7815   * The **`column-gap`** CSS property sets the size of the gap (gutter) between an element's columns.
7816   *
7817   * **Syntax**: `<length-percentage>`
7818   *
7819   * **Initial value**: `0`
7820   *
7821   * @deprecated
7822   */
7823  gridColumnGap?: Property.GridColumnGap<TLength>;
7824  /**
7825   * The **`gap`** CSS property sets the gaps (gutters) between rows and columns. It is a shorthand for `row-gap` and `column-gap`.
7826   *
7827   * **Syntax**: `<'grid-row-gap'> <'grid-column-gap'>?`
7828   *
7829   * @deprecated
7830   */
7831  gridGap?: Property.GridGap<TLength>;
7832  /**
7833   * The **`row-gap`** CSS property sets the size of the gap (gutter) between an element's grid rows.
7834   *
7835   * **Syntax**: `<length-percentage>`
7836   *
7837   * **Initial value**: `0`
7838   *
7839   * @deprecated
7840   */
7841  gridRowGap?: Property.GridRowGap<TLength>;
7842  /**
7843   * The **`ime-mode`** CSS property controls the state of the input method editor (IME) for text fields. This property is obsolete.
7844   *
7845   * **Syntax**: `auto | normal | active | inactive | disabled`
7846   *
7847   * **Initial value**: `auto`
7848   *
7849   * @deprecated
7850   */
7851  imeMode?: Property.ImeMode;
7852  /**
7853   * The **`inset-inline`** CSS property defines the logical start and end offsets of an element in the inline direction, which maps to physical offsets depending on the element's writing mode, directionality, and text orientation. It corresponds to the `top` and `bottom`, or `right` and `left` properties depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
7854   *
7855   * **Syntax**: `<'top'>{1,2}`
7856   *
7857   * **Initial value**: `auto`
7858   *
7859   * @deprecated
7860   */
7861  offsetBlock?: Property.InsetBlock<TLength>;
7862  /**
7863   * The **`inset-block-end`** CSS property defines the logical block end offset of an element, which maps to a physical inset depending on the element's writing mode, directionality, and text orientation. It corresponds to the `top`, `right`, `bottom`, or `left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
7864   *
7865   * **Syntax**: `<'top'>`
7866   *
7867   * **Initial value**: `auto`
7868   *
7869   * @deprecated
7870   */
7871  offsetBlockEnd?: Property.InsetBlockEnd<TLength>;
7872  /**
7873   * The **`inset-block-start`** CSS property defines the logical block start offset of an element, which maps to a physical inset depending on the element's writing mode, directionality, and text orientation. It corresponds to the `top`, `right`, `bottom`, or `left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
7874   *
7875   * **Syntax**: `<'top'>`
7876   *
7877   * **Initial value**: `auto`
7878   *
7879   * @deprecated
7880   */
7881  offsetBlockStart?: Property.InsetBlockStart<TLength>;
7882  /**
7883   * The **`inset-inline`** CSS property defines the logical start and end offsets of an element in the inline direction, which maps to physical offsets depending on the element's writing mode, directionality, and text orientation. It corresponds to the `top` and `bottom`, or `right` and `left` properties depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
7884   *
7885   * **Syntax**: `<'top'>{1,2}`
7886   *
7887   * **Initial value**: `auto`
7888   *
7889   * @deprecated
7890   */
7891  offsetInline?: Property.InsetInline<TLength>;
7892  /**
7893   * The **`inset-inline-end`** CSS property defines the logical inline end inset of an element, which maps to a physical offset depending on the element's writing mode, directionality, and text orientation. It corresponds to the `top`, `right`, `bottom`, or `left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
7894   *
7895   * **Syntax**: `<'top'>`
7896   *
7897   * **Initial value**: `auto`
7898   *
7899   * @deprecated
7900   */
7901  offsetInlineEnd?: Property.InsetInlineEnd<TLength>;
7902  /**
7903   * The **`inset-inline-start`** CSS property defines the logical inline start inset of an element, which maps to a physical offset depending on the element's writing mode, directionality, and text orientation. It corresponds to the `top`, `right`, `bottom`, or `left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
7904   *
7905   * **Syntax**: `<'top'>`
7906   *
7907   * **Initial value**: `auto`
7908   *
7909   * @deprecated
7910   */
7911  offsetInlineStart?: Property.InsetInlineStart<TLength>;
7912  /**
7913   * The **`scroll-snap-coordinate`** CSS property defines the x and y coordinate positions within an element that will align with its nearest ancestor scroll container's `scroll-snap-destination` for each respective axis.
7914   *
7915   * **Syntax**: `none | <position>#`
7916   *
7917   * **Initial value**: `none`
7918   *
7919   * @deprecated
7920   */
7921  scrollSnapCoordinate?: Property.ScrollSnapCoordinate<TLength>;
7922  /**
7923   * The **`scroll-snap-destination`** CSS property defines the position in x and y coordinates within the scroll container's visual viewport which element snap points align with.
7924   *
7925   * **Syntax**: `<position>`
7926   *
7927   * **Initial value**: `0px 0px`
7928   *
7929   * @deprecated
7930   */
7931  scrollSnapDestination?: Property.ScrollSnapDestination<TLength>;
7932  /**
7933   * The **`scroll-snap-points-x`** CSS property defines the horizontal positioning of snap points within the content of the scroll container they are applied to.
7934   *
7935   * **Syntax**: `none | repeat( <length-percentage> )`
7936   *
7937   * **Initial value**: `none`
7938   *
7939   * @deprecated
7940   */
7941  scrollSnapPointsX?: Property.ScrollSnapPointsX;
7942  /**
7943   * The **`scroll-snap-points-y`** CSS property defines the vertical positioning of snap points within the content of the scroll container they are applied to.
7944   *
7945   * **Syntax**: `none | repeat( <length-percentage> )`
7946   *
7947   * **Initial value**: `none`
7948   *
7949   * @deprecated
7950   */
7951  scrollSnapPointsY?: Property.ScrollSnapPointsY;
7952  /**
7953   * The **`scroll-snap-type-x`** CSS property defines how strictly snap points are enforced on the horizontal axis of the scroll container in case there is one.
7954   *
7955   * **Syntax**: `none | mandatory | proximity`
7956   *
7957   * **Initial value**: `none`
7958   *
7959   * @deprecated
7960   */
7961  scrollSnapTypeX?: Property.ScrollSnapTypeX;
7962  /**
7963   * The **`scroll-snap-type-y`** CSS property defines how strictly snap points are enforced on the vertical axis of the scroll container in case there is one.
7964   *
7965   * **Syntax**: `none | mandatory | proximity`
7966   *
7967   * **Initial value**: `none`
7968   *
7969   * @deprecated
7970   */
7971  scrollSnapTypeY?: Property.ScrollSnapTypeY;
7972  /**
7973   * The **`-ms-scrollbar-track-color`** CSS property is a Microsoft extension that specifies the color of the track element of a scrollbar.
7974   *
7975   * **Syntax**: `<color>`
7976   *
7977   * **Initial value**: `Scrollbar`
7978   *
7979   * @deprecated
7980   */
7981  scrollbarTrackColor?: Property.MsScrollbarTrackColor;
7982  /**
7983   * The **`box-align`** CSS property specifies how an element aligns its contents across its layout in a perpendicular direction. The effect of the property is only visible if there is extra space in the box.
7984   *
7985   * **Syntax**: `start | center | end | baseline | stretch`
7986   *
7987   * **Initial value**: `stretch`
7988   *
7989   * @deprecated
7990   */
7991  KhtmlBoxAlign?: Property.BoxAlign;
7992  /**
7993   * The **`box-direction`** CSS property specifies whether a box lays out its contents normally (from the top or left edge), or in reverse (from the bottom or right edge).
7994   *
7995   * **Syntax**: `normal | reverse | inherit`
7996   *
7997   * **Initial value**: `normal`
7998   *
7999   * @deprecated
8000   */
8001  KhtmlBoxDirection?: Property.BoxDirection;
8002  /**
8003   * The **`-moz-box-flex`** and **`-webkit-box-flex`** CSS properties specify how a `-moz-box` or `-webkit-box` grows to fill the box that contains it, in the direction of the containing box's layout.
8004   *
8005   * **Syntax**: `<number>`
8006   *
8007   * **Initial value**: `0`
8008   *
8009   * @deprecated
8010   */
8011  KhtmlBoxFlex?: Property.BoxFlex;
8012  /**
8013   * The **`box-flex-group`** CSS property assigns the flexbox's child elements to a flex group.
8014   *
8015   * **Syntax**: `<integer>`
8016   *
8017   * **Initial value**: `1`
8018   *
8019   * @deprecated
8020   */
8021  KhtmlBoxFlexGroup?: Property.BoxFlexGroup;
8022  /**
8023   * The **`box-lines`** CSS property determines whether the box may have a single or multiple lines (rows for horizontally oriented boxes, columns for vertically oriented boxes).
8024   *
8025   * **Syntax**: `single | multiple`
8026   *
8027   * **Initial value**: `single`
8028   *
8029   * @deprecated
8030   */
8031  KhtmlBoxLines?: Property.BoxLines;
8032  /**
8033   * The **`box-ordinal-group`** CSS property assigns the flexbox's child elements to an ordinal group.
8034   *
8035   * **Syntax**: `<integer>`
8036   *
8037   * **Initial value**: `1`
8038   *
8039   * @deprecated
8040   */
8041  KhtmlBoxOrdinalGroup?: Property.BoxOrdinalGroup;
8042  /**
8043   * This is a property of the original CSS Flexible Box Layout Module draft, and has been replaced by a newer standard. See flexbox for information about the current standard.
8044   *
8045   * **Syntax**: `horizontal | vertical | inline-axis | block-axis | inherit`
8046   *
8047   * **Initial value**: `inline-axis` (`horizontal` in XUL)
8048   *
8049   * @deprecated
8050   */
8051  KhtmlBoxOrient?: Property.BoxOrient;
8052  /**
8053   * The **`-moz-box-pack`** and **`-webkit-box-pack`** CSS properties specify how a `-moz-box` or `-webkit-box` packs its contents in the direction of its layout. The effect of this is only visible if there is extra space in the box.
8054   *
8055   * **Syntax**: `start | center | end | justify`
8056   *
8057   * **Initial value**: `start`
8058   *
8059   * @deprecated
8060   */
8061  KhtmlBoxPack?: Property.BoxPack;
8062  /**
8063   * The **`line-break`** CSS property sets how to break lines of Chinese, Japanese, or Korean (CJK) text when working with punctuation and symbols.
8064   *
8065   * **Syntax**: `auto | loose | normal | strict | anywhere`
8066   *
8067   * **Initial value**: `auto`
8068   *
8069   * @deprecated
8070   */
8071  KhtmlLineBreak?: Property.LineBreak;
8072  /**
8073   * The **`opacity`** CSS property sets the opacity of an element. Opacity is the degree to which content behind an element is hidden, and is the opposite of transparency.
8074   *
8075   * **Syntax**: `<alpha-value>`
8076   *
8077   * **Initial value**: `1.0`
8078   *
8079   * @deprecated
8080   */
8081  KhtmlOpacity?: Property.Opacity;
8082  /**
8083   * The `**user-select**` CSS property controls whether the user can select text. This doesn't have any effect on content loaded as chrome, except in textboxes.
8084   *
8085   * **Syntax**: `auto | text | none | contain | all`
8086   *
8087   * **Initial value**: `auto`
8088   *
8089   * @deprecated
8090   */
8091  KhtmlUserSelect?: Property.UserSelect;
8092  /**
8093   * The **`background-clip`** CSS property sets whether an element's background extends underneath its border box, padding box, or content box.
8094   *
8095   * **Syntax**: `<box>#`
8096   *
8097   * **Initial value**: `border-box`
8098   *
8099   * @deprecated
8100   */
8101  MozBackgroundClip?: Property.BackgroundClip;
8102  /**
8103   * The **`box-decoration-break`** CSS property specifies how an element's fragments should be rendered when broken across multiple lines, columns, or pages.
8104   *
8105   * **Syntax**: `slice | clone`
8106   *
8107   * **Initial value**: `slice`
8108   *
8109   * @deprecated
8110   */
8111  MozBackgroundInlinePolicy?: Property.BoxDecorationBreak;
8112  /**
8113   * The **`background-origin`** CSS property sets the background's origin: from the border start, inside the border, or inside the padding.
8114   *
8115   * **Syntax**: `<box>#`
8116   *
8117   * **Initial value**: `padding-box`
8118   *
8119   * @deprecated
8120   */
8121  MozBackgroundOrigin?: Property.BackgroundOrigin;
8122  /**
8123   * The **`background-size`** CSS property sets the size of the element's background image. The image can be left to its natural size, stretched, or constrained to fit the available space.
8124   *
8125   * **Syntax**: `<bg-size>#`
8126   *
8127   * **Initial value**: `auto auto`
8128   *
8129   * @deprecated
8130   */
8131  MozBackgroundSize?: Property.BackgroundSize<TLength>;
8132  /**
8133   * The **`-moz-binding`** CSS property is used by Mozilla-based applications to attach an XBL binding to a DOM element.
8134   *
8135   * **Syntax**: `<url> | none`
8136   *
8137   * **Initial value**: `none`
8138   *
8139   * @deprecated
8140   */
8141  MozBinding?: Property.MozBinding;
8142  /**
8143   * The **`border-radius`** CSS property rounds the corners of an element's outer border edge. You can set a single radius to make circular corners, or two radii to make elliptical corners.
8144   *
8145   * **Syntax**: `<length-percentage>{1,4} [ / <length-percentage>{1,4} ]?`
8146   *
8147   * @deprecated
8148   */
8149  MozBorderRadius?: Property.BorderRadius<TLength>;
8150  /**
8151   * The **`border-bottom-left-radius`** CSS property rounds the bottom-left corner of an element by specifying the radius (or the radius of the semi-major and semi-minor axes) of the ellipse defining the curvature of the corner.
8152   *
8153   * **Syntax**: `<length-percentage>{1,2}`
8154   *
8155   * **Initial value**: `0`
8156   *
8157   * @deprecated
8158   */
8159  MozBorderRadiusBottomleft?: Property.BorderBottomLeftRadius<TLength>;
8160  /**
8161   * The **`border-bottom-right-radius`** CSS property rounds the bottom-right corner of an element by specifying the radius (or the radius of the semi-major and semi-minor axes) of the ellipse defining the curvature of the corner.
8162   *
8163   * **Syntax**: `<length-percentage>{1,2}`
8164   *
8165   * **Initial value**: `0`
8166   *
8167   * @deprecated
8168   */
8169  MozBorderRadiusBottomright?: Property.BorderBottomRightRadius<TLength>;
8170  /**
8171   * The **`border-top-left-radius`** CSS property rounds the top-left corner of an element by specifying the radius (or the radius of the semi-major and semi-minor axes) of the ellipse defining the curvature of the corner.
8172   *
8173   * **Syntax**: `<length-percentage>{1,2}`
8174   *
8175   * **Initial value**: `0`
8176   *
8177   * @deprecated
8178   */
8179  MozBorderRadiusTopleft?: Property.BorderTopLeftRadius<TLength>;
8180  /**
8181   * The **`border-top-right-radius`** CSS property rounds the top-right corner of an element by specifying the radius (or the radius of the semi-major and semi-minor axes) of the ellipse defining the curvature of the corner.
8182   *
8183   * **Syntax**: `<length-percentage>{1,2}`
8184   *
8185   * **Initial value**: `0`
8186   *
8187   * @deprecated
8188   */
8189  MozBorderRadiusTopright?: Property.BorderTopRightRadius<TLength>;
8190  /**
8191   * The **`box-align`** CSS property specifies how an element aligns its contents across its layout in a perpendicular direction. The effect of the property is only visible if there is extra space in the box.
8192   *
8193   * **Syntax**: `start | center | end | baseline | stretch`
8194   *
8195   * **Initial value**: `stretch`
8196   *
8197   * @deprecated
8198   */
8199  MozBoxAlign?: Property.BoxAlign;
8200  /**
8201   * The **`box-direction`** CSS property specifies whether a box lays out its contents normally (from the top or left edge), or in reverse (from the bottom or right edge).
8202   *
8203   * **Syntax**: `normal | reverse | inherit`
8204   *
8205   * **Initial value**: `normal`
8206   *
8207   * @deprecated
8208   */
8209  MozBoxDirection?: Property.BoxDirection;
8210  /**
8211   * The **`-moz-box-flex`** and **`-webkit-box-flex`** CSS properties specify how a `-moz-box` or `-webkit-box` grows to fill the box that contains it, in the direction of the containing box's layout.
8212   *
8213   * **Syntax**: `<number>`
8214   *
8215   * **Initial value**: `0`
8216   *
8217   * @deprecated
8218   */
8219  MozBoxFlex?: Property.BoxFlex;
8220  /**
8221   * The **`box-ordinal-group`** CSS property assigns the flexbox's child elements to an ordinal group.
8222   *
8223   * **Syntax**: `<integer>`
8224   *
8225   * **Initial value**: `1`
8226   *
8227   * @deprecated
8228   */
8229  MozBoxOrdinalGroup?: Property.BoxOrdinalGroup;
8230  /**
8231   * This is a property of the original CSS Flexible Box Layout Module draft, and has been replaced by a newer standard. See flexbox for information about the current standard.
8232   *
8233   * **Syntax**: `horizontal | vertical | inline-axis | block-axis | inherit`
8234   *
8235   * **Initial value**: `inline-axis` (`horizontal` in XUL)
8236   *
8237   * @deprecated
8238   */
8239  MozBoxOrient?: Property.BoxOrient;
8240  /**
8241   * The **`-moz-box-pack`** and **`-webkit-box-pack`** CSS properties specify how a `-moz-box` or `-webkit-box` packs its contents in the direction of its layout. The effect of this is only visible if there is extra space in the box.
8242   *
8243   * **Syntax**: `start | center | end | justify`
8244   *
8245   * **Initial value**: `start`
8246   *
8247   * @deprecated
8248   */
8249  MozBoxPack?: Property.BoxPack;
8250  /**
8251   * The **`box-shadow`** CSS property adds shadow effects around an element's frame. You can set multiple effects separated by commas. A box shadow is described by X and Y offsets relative to the element, blur and spread radius, and color.
8252   *
8253   * **Syntax**: `none | <shadow>#`
8254   *
8255   * **Initial value**: `none`
8256   *
8257   * @deprecated
8258   */
8259  MozBoxShadow?: Property.BoxShadow;
8260  /**
8261   * The non-standard **`-moz-float-edge`** CSS property specifies whether the height and width properties of the element include the margin, border, or padding thickness.
8262   *
8263   * **Syntax**: `border-box | content-box | margin-box | padding-box`
8264   *
8265   * **Initial value**: `content-box`
8266   *
8267   * @deprecated
8268   */
8269  MozFloatEdge?: Property.MozFloatEdge;
8270  /**
8271   * The **`-moz-force-broken-image-icon`** extended CSS property can be used to force the broken image icon to be shown even when a broken image has an `alt` attribute.
8272   *
8273   * **Syntax**: `<integer [0,1]>`
8274   *
8275   * **Initial value**: `0`
8276   *
8277   * @deprecated
8278   */
8279  MozForceBrokenImageIcon?: Property.MozForceBrokenImageIcon;
8280  /**
8281   * The **`opacity`** CSS property sets the opacity of an element. Opacity is the degree to which content behind an element is hidden, and is the opposite of transparency.
8282   *
8283   * **Syntax**: `<alpha-value>`
8284   *
8285   * **Initial value**: `1.0`
8286   *
8287   * @deprecated
8288   */
8289  MozOpacity?: Property.Opacity;
8290  /**
8291   * The **`outline`** CSS shorthand property set all the outline properties in a single declaration.
8292   *
8293   * **Syntax**: `[ <'outline-color'> || <'outline-style'> || <'outline-width'> ]`
8294   *
8295   * @deprecated
8296   */
8297  MozOutline?: Property.Outline<TLength>;
8298  /**
8299   * The **`outline-color`** CSS property sets the color of an element's outline.
8300   *
8301   * **Syntax**: `<color> | invert`
8302   *
8303   * **Initial value**: `invert`, for browsers supporting it, `currentColor` for the other
8304   *
8305   * @deprecated
8306   */
8307  MozOutlineColor?: Property.OutlineColor;
8308  /**
8309   * In Mozilla applications like Firefox, the **`-moz-outline-radius`** CSS shorthand property can be used to give an element's `outline` rounded corners.
8310   *
8311   * **Syntax**: `<outline-radius>{1,4} [ / <outline-radius>{1,4} ]?`
8312   *
8313   * @deprecated
8314   */
8315  MozOutlineRadius?: Property.MozOutlineRadius<TLength>;
8316  /**
8317   * In Mozilla applications, the **`-moz-outline-radius-bottomleft`** CSS property can be used to round the bottom-left corner of an element's `outline`.
8318   *
8319   * **Syntax**: `<outline-radius>`
8320   *
8321   * **Initial value**: `0`
8322   *
8323   * @deprecated
8324   */
8325  MozOutlineRadiusBottomleft?: Property.MozOutlineRadiusBottomleft<TLength>;
8326  /**
8327   * In Mozilla applications, the **`-moz-outline-radius-bottomright`** CSS property can be used to round the bottom-right corner of an element's `outline`.
8328   *
8329   * **Syntax**: `<outline-radius>`
8330   *
8331   * **Initial value**: `0`
8332   *
8333   * @deprecated
8334   */
8335  MozOutlineRadiusBottomright?: Property.MozOutlineRadiusBottomright<TLength>;
8336  /**
8337   * In Mozilla applications, the **`-moz-outline-radius-topleft`** CSS property can be used to round the top-left corner of an element's `outline`.
8338   *
8339   * **Syntax**: `<outline-radius>`
8340   *
8341   * **Initial value**: `0`
8342   *
8343   * @deprecated
8344   */
8345  MozOutlineRadiusTopleft?: Property.MozOutlineRadiusTopleft<TLength>;
8346  /**
8347   * In Mozilla applications, the **`-moz-outline-radius-topright`** CSS property can be used to round the top-right corner of an element's `outline`.
8348   *
8349   * **Syntax**: `<outline-radius>`
8350   *
8351   * **Initial value**: `0`
8352   *
8353   * @deprecated
8354   */
8355  MozOutlineRadiusTopright?: Property.MozOutlineRadiusTopright<TLength>;
8356  /**
8357   * The **`outline-style`** CSS property sets the style of an element's outline. An outline is a line that is drawn around an element, outside the `border`.
8358   *
8359   * **Syntax**: `auto | <'border-style'>`
8360   *
8361   * **Initial value**: `none`
8362   *
8363   * @deprecated
8364   */
8365  MozOutlineStyle?: Property.OutlineStyle;
8366  /**
8367   * The CSS **`outline-width`** property sets the thickness of an element's outline. An outline is a line that is drawn around an element, outside the `border`.
8368   *
8369   * **Syntax**: `<line-width>`
8370   *
8371   * **Initial value**: `medium`
8372   *
8373   * @deprecated
8374   */
8375  MozOutlineWidth?: Property.OutlineWidth<TLength>;
8376  /**
8377   * The **`text-align-last`** CSS property sets how the last line of a block or a line, right before a forced line break, is aligned.
8378   *
8379   * **Syntax**: `auto | start | end | left | right | center | justify`
8380   *
8381   * **Initial value**: `auto`
8382   *
8383   * @deprecated
8384   */
8385  MozTextAlignLast?: Property.TextAlignLast;
8386  /**
8387   * The **`text-decoration-color`** CSS property sets the color of decorations added to text by `text-decoration-line`.
8388   *
8389   * **Syntax**: `<color>`
8390   *
8391   * **Initial value**: `currentcolor`
8392   *
8393   * @deprecated
8394   */
8395  MozTextDecorationColor?: Property.TextDecorationColor;
8396  /**
8397   * The **`text-decoration-line`** CSS property sets the kind of decoration that is used on text in an element, such as an underline or overline.
8398   *
8399   * **Syntax**: `none | [ underline || overline || line-through || blink ] | spelling-error | grammar-error`
8400   *
8401   * **Initial value**: `none`
8402   *
8403   * @deprecated
8404   */
8405  MozTextDecorationLine?: Property.TextDecorationLine;
8406  /**
8407   * The **`text-decoration-style`** CSS property sets the style of the lines specified by `text-decoration-line`. The style applies to all lines that are set with `text-decoration-line`.
8408   *
8409   * **Syntax**: `solid | double | dotted | dashed | wavy`
8410   *
8411   * **Initial value**: `solid`
8412   *
8413   * @deprecated
8414   */
8415  MozTextDecorationStyle?: Property.TextDecorationStyle;
8416  /**
8417   * In Mozilla applications, **`-moz-user-input`** determines if an element will accept user input.
8418   *
8419   * **Syntax**: `auto | none | enabled | disabled`
8420   *
8421   * **Initial value**: `auto`
8422   *
8423   * @deprecated
8424   */
8425  MozUserInput?: Property.MozUserInput;
8426  /**
8427   * The **`ime-mode`** CSS property controls the state of the input method editor (IME) for text fields. This property is obsolete.
8428   *
8429   * **Syntax**: `auto | normal | active | inactive | disabled`
8430   *
8431   * **Initial value**: `auto`
8432   *
8433   * @deprecated
8434   */
8435  msImeMode?: Property.ImeMode;
8436  /**
8437   * The **`-ms-scrollbar-track-color`** CSS property is a Microsoft extension that specifies the color of the track element of a scrollbar.
8438   *
8439   * **Syntax**: `<color>`
8440   *
8441   * **Initial value**: `Scrollbar`
8442   *
8443   * @deprecated
8444   */
8445  msScrollbarTrackColor?: Property.MsScrollbarTrackColor;
8446  /**
8447   * The **`animation`** shorthand CSS property applies an animation between styles. It is a shorthand for `animation-name`, `animation-duration`, `animation-timing-function`, `animation-delay`, `animation-iteration-count`, `animation-direction`, `animation-fill-mode`, and `animation-play-state`.
8448   *
8449   * **Syntax**: `<single-animation>#`
8450   *
8451   * @deprecated
8452   */
8453  OAnimation?: Property.Animation<TTime>;
8454  /**
8455   * The **`animation-delay`** CSS property specifies the amount of time to wait from applying the animation to an element before beginning to perform the animation. The animation can start later, immediately from its beginning, or immediately and partway through the animation.
8456   *
8457   * **Syntax**: `<time>#`
8458   *
8459   * **Initial value**: `0s`
8460   *
8461   * @deprecated
8462   */
8463  OAnimationDelay?: Property.AnimationDelay<TTime>;
8464  /**
8465   * The **`animation-direction`** CSS property sets whether an animation should play forward, backward, or alternate back and forth between playing the sequence forward and backward.
8466   *
8467   * **Syntax**: `<single-animation-direction>#`
8468   *
8469   * **Initial value**: `normal`
8470   *
8471   * @deprecated
8472   */
8473  OAnimationDirection?: Property.AnimationDirection;
8474  /**
8475   * The **`animation-duration`** CSS property sets the length of time that an animation takes to complete one cycle.
8476   *
8477   * **Syntax**: `<time>#`
8478   *
8479   * **Initial value**: `0s`
8480   *
8481   * @deprecated
8482   */
8483  OAnimationDuration?: Property.AnimationDuration<TTime>;
8484  /**
8485   * The **`animation-fill-mode`** CSS property sets how a CSS animation applies styles to its target before and after its execution.
8486   *
8487   * **Syntax**: `<single-animation-fill-mode>#`
8488   *
8489   * **Initial value**: `none`
8490   *
8491   * @deprecated
8492   */
8493  OAnimationFillMode?: Property.AnimationFillMode;
8494  /**
8495   * The **`animation-iteration-count`** CSS property sets the number of times an animation sequence should be played before stopping.
8496   *
8497   * **Syntax**: `<single-animation-iteration-count>#`
8498   *
8499   * **Initial value**: `1`
8500   *
8501   * @deprecated
8502   */
8503  OAnimationIterationCount?: Property.AnimationIterationCount;
8504  /**
8505   * The **`animation-name`** CSS property specifies the names of one or more `@keyframes` at-rules describing the animation or animations to apply to the element.
8506   *
8507   * **Syntax**: `[ none | <keyframes-name> ]#`
8508   *
8509   * **Initial value**: `none`
8510   *
8511   * @deprecated
8512   */
8513  OAnimationName?: Property.AnimationName;
8514  /**
8515   * The **`animation-play-state`** CSS property sets whether an animation is running or paused.
8516   *
8517   * **Syntax**: `<single-animation-play-state>#`
8518   *
8519   * **Initial value**: `running`
8520   *
8521   * @deprecated
8522   */
8523  OAnimationPlayState?: Property.AnimationPlayState;
8524  /**
8525   * The **`animation-timing-function`** CSS property sets how an animation progresses through the duration of each cycle.
8526   *
8527   * **Syntax**: `<easing-function>#`
8528   *
8529   * **Initial value**: `ease`
8530   *
8531   * @deprecated
8532   */
8533  OAnimationTimingFunction?: Property.AnimationTimingFunction;
8534  /**
8535   * The **`background-size`** CSS property sets the size of the element's background image. The image can be left to its natural size, stretched, or constrained to fit the available space.
8536   *
8537   * **Syntax**: `<bg-size>#`
8538   *
8539   * **Initial value**: `auto auto`
8540   *
8541   * @deprecated
8542   */
8543  OBackgroundSize?: Property.BackgroundSize<TLength>;
8544  /**
8545   * The **`border-image`** CSS property draws an image around a given element. It replaces the element's regular border.
8546   *
8547   * **Syntax**: `<'border-image-source'> || <'border-image-slice'> [ / <'border-image-width'> | / <'border-image-width'>? / <'border-image-outset'> ]? || <'border-image-repeat'>`
8548   *
8549   * @deprecated
8550   */
8551  OBorderImage?: Property.BorderImage;
8552  /**
8553   * The **`object-fit`** CSS property sets how the content of a replaced element, such as an `<img>` or `<video>`, should be resized to fit its container.
8554   *
8555   * **Syntax**: `fill | contain | cover | none | scale-down`
8556   *
8557   * **Initial value**: `fill`
8558   *
8559   * @deprecated
8560   */
8561  OObjectFit?: Property.ObjectFit;
8562  /**
8563   * The **`object-position`** CSS property specifies the alignment of the selected replaced element's contents within the element's box. Areas of the box which aren't covered by the replaced element's object will show the element's background.
8564   *
8565   * **Syntax**: `<position>`
8566   *
8567   * **Initial value**: `50% 50%`
8568   *
8569   * @deprecated
8570   */
8571  OObjectPosition?: Property.ObjectPosition<TLength>;
8572  /**
8573   * The **`tab-size`** CSS property is used to customize the width of tab characters (U+0009).
8574   *
8575   * **Syntax**: `<integer> | <length>`
8576   *
8577   * **Initial value**: `8`
8578   *
8579   * @deprecated
8580   */
8581  OTabSize?: Property.TabSize<TLength>;
8582  /**
8583   * The **`text-overflow`** CSS property sets how hidden overflow content is signaled to users. It can be clipped, display an ellipsis ('`…`'), or display a custom string.
8584   *
8585   * **Syntax**: `[ clip | ellipsis | <string> ]{1,2}`
8586   *
8587   * **Initial value**: `clip`
8588   *
8589   * @deprecated
8590   */
8591  OTextOverflow?: Property.TextOverflow;
8592  /**
8593   * The **`transform`** CSS property lets you rotate, scale, skew, or translate an element. It modifies the coordinate space of the CSS visual formatting model.
8594   *
8595   * **Syntax**: `none | <transform-list>`
8596   *
8597   * **Initial value**: `none`
8598   *
8599   * @deprecated
8600   */
8601  OTransform?: Property.Transform;
8602  /**
8603   * The **`transform-origin`** CSS property sets the origin for an element's transformations.
8604   *
8605   * **Syntax**: `[ <length-percentage> | left | center | right | top | bottom ] | [ [ <length-percentage> | left | center | right ] && [ <length-percentage> | top | center | bottom ] ] <length>?`
8606   *
8607   * **Initial value**: `50% 50% 0`
8608   *
8609   * @deprecated
8610   */
8611  OTransformOrigin?: Property.TransformOrigin<TLength>;
8612  /**
8613   * The **`transition`** CSS property is a shorthand property for `transition-property`, `transition-duration`, `transition-timing-function`, and `transition-delay`.
8614   *
8615   * **Syntax**: `<single-transition>#`
8616   *
8617   * @deprecated
8618   */
8619  OTransition?: Property.Transition<TTime>;
8620  /**
8621   * The **`transition-delay`** CSS property specifies the duration to wait before starting a property's transition effect when its value changes.
8622   *
8623   * **Syntax**: `<time>#`
8624   *
8625   * **Initial value**: `0s`
8626   *
8627   * @deprecated
8628   */
8629  OTransitionDelay?: Property.TransitionDelay<TTime>;
8630  /**
8631   * The **`transition-duration`** CSS property sets the length of time a transition animation should take to complete. By default, the value is `0s`, meaning that no animation will occur.
8632   *
8633   * **Syntax**: `<time>#`
8634   *
8635   * **Initial value**: `0s`
8636   *
8637   * @deprecated
8638   */
8639  OTransitionDuration?: Property.TransitionDuration<TTime>;
8640  /**
8641   * The **`transition-property`** CSS property sets the CSS properties to which a transition effect should be applied.
8642   *
8643   * **Syntax**: `none | <single-transition-property>#`
8644   *
8645   * **Initial value**: all
8646   *
8647   * @deprecated
8648   */
8649  OTransitionProperty?: Property.TransitionProperty;
8650  /**
8651   * The **`transition-timing-function`** CSS property sets how intermediate values are calculated for CSS properties being affected by a transition effect.
8652   *
8653   * **Syntax**: `<easing-function>#`
8654   *
8655   * **Initial value**: `ease`
8656   *
8657   * @deprecated
8658   */
8659  OTransitionTimingFunction?: Property.TransitionTimingFunction;
8660  /**
8661   * The **`box-align`** CSS property specifies how an element aligns its contents across its layout in a perpendicular direction. The effect of the property is only visible if there is extra space in the box.
8662   *
8663   * **Syntax**: `start | center | end | baseline | stretch`
8664   *
8665   * **Initial value**: `stretch`
8666   *
8667   * @deprecated
8668   */
8669  WebkitBoxAlign?: Property.BoxAlign;
8670  /**
8671   * The **`box-direction`** CSS property specifies whether a box lays out its contents normally (from the top or left edge), or in reverse (from the bottom or right edge).
8672   *
8673   * **Syntax**: `normal | reverse | inherit`
8674   *
8675   * **Initial value**: `normal`
8676   *
8677   * @deprecated
8678   */
8679  WebkitBoxDirection?: Property.BoxDirection;
8680  /**
8681   * The **`-moz-box-flex`** and **`-webkit-box-flex`** CSS properties specify how a `-moz-box` or `-webkit-box` grows to fill the box that contains it, in the direction of the containing box's layout.
8682   *
8683   * **Syntax**: `<number>`
8684   *
8685   * **Initial value**: `0`
8686   *
8687   * @deprecated
8688   */
8689  WebkitBoxFlex?: Property.BoxFlex;
8690  /**
8691   * The **`box-flex-group`** CSS property assigns the flexbox's child elements to a flex group.
8692   *
8693   * **Syntax**: `<integer>`
8694   *
8695   * **Initial value**: `1`
8696   *
8697   * @deprecated
8698   */
8699  WebkitBoxFlexGroup?: Property.BoxFlexGroup;
8700  /**
8701   * The **`box-lines`** CSS property determines whether the box may have a single or multiple lines (rows for horizontally oriented boxes, columns for vertically oriented boxes).
8702   *
8703   * **Syntax**: `single | multiple`
8704   *
8705   * **Initial value**: `single`
8706   *
8707   * @deprecated
8708   */
8709  WebkitBoxLines?: Property.BoxLines;
8710  /**
8711   * The **`box-ordinal-group`** CSS property assigns the flexbox's child elements to an ordinal group.
8712   *
8713   * **Syntax**: `<integer>`
8714   *
8715   * **Initial value**: `1`
8716   *
8717   * @deprecated
8718   */
8719  WebkitBoxOrdinalGroup?: Property.BoxOrdinalGroup;
8720  /**
8721   * This is a property of the original CSS Flexible Box Layout Module draft, and has been replaced by a newer standard. See flexbox for information about the current standard.
8722   *
8723   * **Syntax**: `horizontal | vertical | inline-axis | block-axis | inherit`
8724   *
8725   * **Initial value**: `inline-axis` (`horizontal` in XUL)
8726   *
8727   * @deprecated
8728   */
8729  WebkitBoxOrient?: Property.BoxOrient;
8730  /**
8731   * The **`-moz-box-pack`** and **`-webkit-box-pack`** CSS properties specify how a `-moz-box` or `-webkit-box` packs its contents in the direction of its layout. The effect of this is only visible if there is extra space in the box.
8732   *
8733   * **Syntax**: `start | center | end | justify`
8734   *
8735   * **Initial value**: `start`
8736   *
8737   * @deprecated
8738   */
8739  WebkitBoxPack?: Property.BoxPack;
8740  /**
8741   * The **`scroll-snap-points-x`** CSS property defines the horizontal positioning of snap points within the content of the scroll container they are applied to.
8742   *
8743   * **Syntax**: `none | repeat( <length-percentage> )`
8744   *
8745   * **Initial value**: `none`
8746   *
8747   * @deprecated
8748   */
8749  WebkitScrollSnapPointsX?: Property.ScrollSnapPointsX;
8750  /**
8751   * The **`scroll-snap-points-y`** CSS property defines the vertical positioning of snap points within the content of the scroll container they are applied to.
8752   *
8753   * **Syntax**: `none | repeat( <length-percentage> )`
8754   *
8755   * **Initial value**: `none`
8756   *
8757   * @deprecated
8758   */
8759  WebkitScrollSnapPointsY?: Property.ScrollSnapPointsY;
8760}
8761
8762export interface SvgProperties<TLength = (string & {}) | 0, TTime = string & {}> {
8763  alignmentBaseline?: Property.AlignmentBaseline;
8764  baselineShift?: Property.BaselineShift<TLength>;
8765  clip?: Property.Clip;
8766  clipPath?: Property.ClipPath;
8767  clipRule?: Property.ClipRule;
8768  color?: Property.Color;
8769  colorInterpolation?: Property.ColorInterpolation;
8770  colorRendering?: Property.ColorRendering;
8771  cursor?: Property.Cursor;
8772  direction?: Property.Direction;
8773  display?: Property.Display;
8774  dominantBaseline?: Property.DominantBaseline;
8775  fill?: Property.Fill;
8776  fillOpacity?: Property.FillOpacity;
8777  fillRule?: Property.FillRule;
8778  filter?: Property.Filter;
8779  floodColor?: Property.FloodColor;
8780  floodOpacity?: Property.FloodOpacity;
8781  font?: Property.Font;
8782  fontFamily?: Property.FontFamily;
8783  fontSize?: Property.FontSize<TLength>;
8784  fontSizeAdjust?: Property.FontSizeAdjust;
8785  fontStretch?: Property.FontStretch;
8786  fontStyle?: Property.FontStyle;
8787  fontVariant?: Property.FontVariant;
8788  fontWeight?: Property.FontWeight;
8789  glyphOrientationVertical?: Property.GlyphOrientationVertical;
8790  imageRendering?: Property.ImageRendering;
8791  letterSpacing?: Property.LetterSpacing<TLength>;
8792  lightingColor?: Property.LightingColor;
8793  lineHeight?: Property.LineHeight<TLength>;
8794  marker?: Property.Marker;
8795  markerEnd?: Property.MarkerEnd;
8796  markerMid?: Property.MarkerMid;
8797  markerStart?: Property.MarkerStart;
8798  mask?: Property.Mask<TLength>;
8799  opacity?: Property.Opacity;
8800  overflow?: Property.Overflow;
8801  paintOrder?: Property.PaintOrder;
8802  pointerEvents?: Property.PointerEvents;
8803  shapeRendering?: Property.ShapeRendering;
8804  stopColor?: Property.StopColor;
8805  stopOpacity?: Property.StopOpacity;
8806  stroke?: Property.Stroke;
8807  strokeDasharray?: Property.StrokeDasharray<TLength>;
8808  strokeDashoffset?: Property.StrokeDashoffset<TLength>;
8809  strokeLinecap?: Property.StrokeLinecap;
8810  strokeLinejoin?: Property.StrokeLinejoin;
8811  strokeMiterlimit?: Property.StrokeMiterlimit;
8812  strokeOpacity?: Property.StrokeOpacity;
8813  strokeWidth?: Property.StrokeWidth<TLength>;
8814  textAnchor?: Property.TextAnchor;
8815  textDecoration?: Property.TextDecoration<TLength>;
8816  textRendering?: Property.TextRendering;
8817  unicodeBidi?: Property.UnicodeBidi;
8818  vectorEffect?: Property.VectorEffect;
8819  visibility?: Property.Visibility;
8820  whiteSpace?: Property.WhiteSpace;
8821  wordSpacing?: Property.WordSpacing<TLength>;
8822  writingMode?: Property.WritingMode;
8823}
8824
8825export interface Properties<TLength = (string & {}) | 0, TTime = string & {}>
8826  extends StandardProperties<TLength, TTime>,
8827    VendorProperties<TLength, TTime>,
8828    ObsoleteProperties<TLength, TTime>,
8829    SvgProperties<TLength, TTime> {}
8830
8831export interface StandardLonghandPropertiesHyphen<TLength = (string & {}) | 0, TTime = string & {}> {
8832  /**
8833   * The CSS **`align-content`** property sets the distribution of space between and around content items along a flexbox's cross-axis or a grid's block axis.
8834   *
8835   * **Syntax**: `normal | <baseline-position> | <content-distribution> | <overflow-position>? <content-position>`
8836   *
8837   * **Initial value**: `normal`
8838   *
8839   * ---
8840   *
8841   * _Supported in Flex Layout_
8842   *
8843   * |  Chrome  | Firefox |  Safari   |  Edge  |   IE   |
8844   * | :------: | :-----: | :-------: | :----: | :----: |
8845   * |  **29**  | **28**  |   **9**   | **12** | **11** |
8846   * | 21 _-x-_ |         | 6.1 _-x-_ |        |        |
8847   *
8848   * ---
8849   *
8850   * _Supported in Grid Layout_
8851   *
8852   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
8853   * | :----: | :-----: | :------: | :----: | :-: |
8854   * | **57** | **52**  | **10.1** | **16** | No  |
8855   *
8856   * ---
8857   *
8858   * @see https://developer.mozilla.org/docs/Web/CSS/align-content
8859   */
8860  "align-content"?: Property.AlignContent;
8861  /**
8862   * The CSS **`align-items`** property sets the `align-self` value on all direct children as a group. In Flexbox, it controls the alignment of items on the Cross Axis. In Grid Layout, it controls the alignment of items on the Block Axis within their grid area.
8863   *
8864   * **Syntax**: `normal | stretch | <baseline-position> | [ <overflow-position>? <self-position> ]`
8865   *
8866   * **Initial value**: `normal`
8867   *
8868   * ---
8869   *
8870   * _Supported in Flex Layout_
8871   *
8872   * |  Chrome  | Firefox | Safari  |  Edge  |   IE   |
8873   * | :------: | :-----: | :-----: | :----: | :----: |
8874   * |  **52**  | **20**  |  **9**  | **12** | **11** |
8875   * | 21 _-x-_ |         | 7 _-x-_ |        |        |
8876   *
8877   * ---
8878   *
8879   * _Supported in Grid Layout_
8880   *
8881   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
8882   * | :----: | :-----: | :------: | :----: | :-: |
8883   * | **57** | **52**  | **10.1** | **16** | No  |
8884   *
8885   * ---
8886   *
8887   * @see https://developer.mozilla.org/docs/Web/CSS/align-items
8888   */
8889  "align-items"?: Property.AlignItems;
8890  /**
8891   * The **`align-self`** CSS property overrides a grid or flex item's `align-items` value. In Grid, it aligns the item inside the grid area. In Flexbox, it aligns the item on the cross axis.
8892   *
8893   * **Syntax**: `auto | normal | stretch | <baseline-position> | <overflow-position>? <self-position>`
8894   *
8895   * **Initial value**: `auto`
8896   *
8897   * ---
8898   *
8899   * _Supported in Flex Layout_
8900   *
8901   * |  Chrome  | Firefox |  Safari   |  Edge  |   IE   |
8902   * | :------: | :-----: | :-------: | :----: | :----: |
8903   * |  **36**  | **20**  |   **9**   | **12** | **11** |
8904   * | 21 _-x-_ |         | 6.1 _-x-_ |        |        |
8905   *
8906   * ---
8907   *
8908   * _Supported in Grid Layout_
8909   *
8910   * | Chrome | Firefox |  Safari  |  Edge  |      IE      |
8911   * | :----: | :-----: | :------: | :----: | :----------: |
8912   * | **57** | **52**  | **10.1** | **16** | **10** _-x-_ |
8913   *
8914   * ---
8915   *
8916   * @see https://developer.mozilla.org/docs/Web/CSS/align-self
8917   */
8918  "align-self"?: Property.AlignSelf;
8919  /**
8920   * The **`align-tracks`** CSS property sets the alignment in the masonry axis for grid containers that have masonry in their block axis.
8921   *
8922   * **Syntax**: `[ normal | <baseline-position> | <content-distribution> | <overflow-position>? <content-position> ]#`
8923   *
8924   * **Initial value**: `normal`
8925   *
8926   * | Chrome | Firefox | Safari | Edge | IE  |
8927   * | :----: | :-----: | :----: | :--: | :-: |
8928   * |   No   |   n/a   |   No   |  No  | No  |
8929   *
8930   * @see https://developer.mozilla.org/docs/Web/CSS/align-tracks
8931   */
8932  "align-tracks"?: Property.AlignTracks;
8933  /**
8934   * The **`animation-delay`** CSS property specifies the amount of time to wait from applying the animation to an element before beginning to perform the animation. The animation can start later, immediately from its beginning, or immediately and partway through the animation.
8935   *
8936   * **Syntax**: `<time>#`
8937   *
8938   * **Initial value**: `0s`
8939   *
8940   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
8941   * | :-----: | :-----: | :-----: | :----: | :----: |
8942   * | **43**  | **16**  |  **9**  | **12** | **10** |
8943   * | 3 _-x-_ | 5 _-x-_ | 4 _-x-_ |        |        |
8944   *
8945   * @see https://developer.mozilla.org/docs/Web/CSS/animation-delay
8946   */
8947  "animation-delay"?: Property.AnimationDelay<TTime>;
8948  /**
8949   * The **`animation-direction`** CSS property sets whether an animation should play forward, backward, or alternate back and forth between playing the sequence forward and backward.
8950   *
8951   * **Syntax**: `<single-animation-direction>#`
8952   *
8953   * **Initial value**: `normal`
8954   *
8955   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
8956   * | :-----: | :-----: | :-----: | :----: | :----: |
8957   * | **43**  | **16**  |  **9**  | **12** | **10** |
8958   * | 3 _-x-_ | 5 _-x-_ | 4 _-x-_ |        |        |
8959   *
8960   * @see https://developer.mozilla.org/docs/Web/CSS/animation-direction
8961   */
8962  "animation-direction"?: Property.AnimationDirection;
8963  /**
8964   * The **`animation-duration`** CSS property sets the length of time that an animation takes to complete one cycle.
8965   *
8966   * **Syntax**: `<time>#`
8967   *
8968   * **Initial value**: `0s`
8969   *
8970   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
8971   * | :-----: | :-----: | :-----: | :----: | :----: |
8972   * | **43**  | **16**  |  **9**  | **12** | **10** |
8973   * | 3 _-x-_ | 5 _-x-_ | 4 _-x-_ |        |        |
8974   *
8975   * @see https://developer.mozilla.org/docs/Web/CSS/animation-duration
8976   */
8977  "animation-duration"?: Property.AnimationDuration<TTime>;
8978  /**
8979   * The **`animation-fill-mode`** CSS property sets how a CSS animation applies styles to its target before and after its execution.
8980   *
8981   * **Syntax**: `<single-animation-fill-mode>#`
8982   *
8983   * **Initial value**: `none`
8984   *
8985   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
8986   * | :-----: | :-----: | :-----: | :----: | :----: |
8987   * | **43**  | **16**  |  **9**  | **12** | **10** |
8988   * | 3 _-x-_ | 5 _-x-_ | 5 _-x-_ |        |        |
8989   *
8990   * @see https://developer.mozilla.org/docs/Web/CSS/animation-fill-mode
8991   */
8992  "animation-fill-mode"?: Property.AnimationFillMode;
8993  /**
8994   * The **`animation-iteration-count`** CSS property sets the number of times an animation sequence should be played before stopping.
8995   *
8996   * **Syntax**: `<single-animation-iteration-count>#`
8997   *
8998   * **Initial value**: `1`
8999   *
9000   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
9001   * | :-----: | :-----: | :-----: | :----: | :----: |
9002   * | **43**  | **16**  |  **9**  | **12** | **10** |
9003   * | 3 _-x-_ | 5 _-x-_ | 4 _-x-_ |        |        |
9004   *
9005   * @see https://developer.mozilla.org/docs/Web/CSS/animation-iteration-count
9006   */
9007  "animation-iteration-count"?: Property.AnimationIterationCount;
9008  /**
9009   * The **`animation-name`** CSS property specifies the names of one or more `@keyframes` at-rules describing the animation or animations to apply to the element.
9010   *
9011   * **Syntax**: `[ none | <keyframes-name> ]#`
9012   *
9013   * **Initial value**: `none`
9014   *
9015   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
9016   * | :-----: | :-----: | :-----: | :----: | :----: |
9017   * | **43**  | **16**  |  **9**  | **12** | **10** |
9018   * | 3 _-x-_ | 5 _-x-_ | 4 _-x-_ |        |        |
9019   *
9020   * @see https://developer.mozilla.org/docs/Web/CSS/animation-name
9021   */
9022  "animation-name"?: Property.AnimationName;
9023  /**
9024   * The **`animation-play-state`** CSS property sets whether an animation is running or paused.
9025   *
9026   * **Syntax**: `<single-animation-play-state>#`
9027   *
9028   * **Initial value**: `running`
9029   *
9030   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
9031   * | :-----: | :-----: | :-----: | :----: | :----: |
9032   * | **43**  | **16**  |  **9**  | **12** | **10** |
9033   * | 3 _-x-_ | 5 _-x-_ | 4 _-x-_ |        |        |
9034   *
9035   * @see https://developer.mozilla.org/docs/Web/CSS/animation-play-state
9036   */
9037  "animation-play-state"?: Property.AnimationPlayState;
9038  /**
9039   * The **`animation-timing-function`** CSS property sets how an animation progresses through the duration of each cycle.
9040   *
9041   * **Syntax**: `<easing-function>#`
9042   *
9043   * **Initial value**: `ease`
9044   *
9045   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
9046   * | :-----: | :-----: | :-----: | :----: | :----: |
9047   * | **43**  | **16**  |  **9**  | **12** | **10** |
9048   * | 3 _-x-_ | 5 _-x-_ | 4 _-x-_ |        |        |
9049   *
9050   * @see https://developer.mozilla.org/docs/Web/CSS/animation-timing-function
9051   */
9052  "animation-timing-function"?: Property.AnimationTimingFunction;
9053  /**
9054   * The `**appearance**` CSS property is used to display an element using platform-native styling, based on the operating system's theme. The **`-moz-appearance`** and **`-webkit-appearance`** properties are non-standard versions of this property, used (respectively) by Gecko (Firefox) and by WebKit-based (e.g., Safari) and Blink-based (e.g., Chrome, Opera) browsers to achieve the same thing. Note that Firefox and Edge also support **`-webkit-appearance`**, for compatibility reasons.
9055   *
9056   * **Syntax**: `none | auto | textfield | menulist-button | <compat-auto>`
9057   *
9058   * **Initial value**: `auto`
9059   *
9060   * | Chrome  | Firefox |   Safari    |   Edge   | IE  |
9061   * | :-----: | :-----: | :---------: | :------: | :-: |
9062   * | **84**  | **80**  | **3** _-x-_ |  **84**  | No  |
9063   * | 1 _-x-_ | 1 _-x-_ |             | 12 _-x-_ |     |
9064   *
9065   * @see https://developer.mozilla.org/docs/Web/CSS/appearance
9066   */
9067  appearance?: Property.Appearance;
9068  /**
9069   * The **`aspect-ratio`**  CSS property sets a **preferred aspect ratio** for the box, which will be used in the calculation of auto sizes and some other layout functions.
9070   *
9071   * **Syntax**: `auto | <ratio>`
9072   *
9073   * **Initial value**: `auto`
9074   *
9075   * | Chrome | Firefox | Safari |  Edge  | IE  |
9076   * | :----: | :-----: | :----: | :----: | :-: |
9077   * | **88** |   n/a   |   No   | **88** | No  |
9078   *
9079   * @see https://developer.mozilla.org/docs/Web/CSS/aspect-ratio
9080   */
9081  "aspect-ratio"?: Property.AspectRatio;
9082  /**
9083   * The **`backdrop-filter`** CSS property lets you apply graphical effects such as blurring or color shifting to the area behind an element. Because it applies to everything _behind_ the element, to see the effect you must make the element or its background at least partially transparent.
9084   *
9085   * **Syntax**: `none | <filter-function-list>`
9086   *
9087   * **Initial value**: `none`
9088   *
9089   * | Chrome | Firefox |   Safari    |  Edge  | IE  |
9090   * | :----: | :-----: | :---------: | :----: | :-: |
9091   * | **76** |   n/a   | **9** _-x-_ | **17** | No  |
9092   *
9093   * @see https://developer.mozilla.org/docs/Web/CSS/backdrop-filter
9094   */
9095  "backdrop-filter"?: Property.BackdropFilter;
9096  /**
9097   * The **`backface-visibility`** CSS property sets whether the back face of an element is visible when turned towards the user.
9098   *
9099   * **Syntax**: `visible | hidden`
9100   *
9101   * **Initial value**: `visible`
9102   *
9103   * |  Chrome  | Firefox  |    Safari     |  Edge  |   IE   |
9104   * | :------: | :------: | :-----------: | :----: | :----: |
9105   * |  **36**  |  **16**  | **5.1** _-x-_ | **12** | **10** |
9106   * | 12 _-x-_ | 10 _-x-_ |               |        |        |
9107   *
9108   * @see https://developer.mozilla.org/docs/Web/CSS/backface-visibility
9109   */
9110  "backface-visibility"?: Property.BackfaceVisibility;
9111  /**
9112   * The **`background-attachment`** CSS property sets whether a background image's position is fixed within the viewport, or scrolls with its containing block.
9113   *
9114   * **Syntax**: `<attachment>#`
9115   *
9116   * **Initial value**: `scroll`
9117   *
9118   * | Chrome | Firefox | Safari |  Edge  |  IE   |
9119   * | :----: | :-----: | :----: | :----: | :---: |
9120   * | **1**  |  **1**  | **1**  | **12** | **4** |
9121   *
9122   * @see https://developer.mozilla.org/docs/Web/CSS/background-attachment
9123   */
9124  "background-attachment"?: Property.BackgroundAttachment;
9125  /**
9126   * The **`background-blend-mode`** CSS property sets how an element's background images should blend with each other and with the element's background color.
9127   *
9128   * **Syntax**: `<blend-mode>#`
9129   *
9130   * **Initial value**: `normal`
9131   *
9132   * | Chrome | Firefox | Safari |  Edge  | IE  |
9133   * | :----: | :-----: | :----: | :----: | :-: |
9134   * | **35** | **30**  | **8**  | **79** | No  |
9135   *
9136   * @see https://developer.mozilla.org/docs/Web/CSS/background-blend-mode
9137   */
9138  "background-blend-mode"?: Property.BackgroundBlendMode;
9139  /**
9140   * The **`background-clip`** CSS property sets whether an element's background extends underneath its border box, padding box, or content box.
9141   *
9142   * **Syntax**: `<box>#`
9143   *
9144   * **Initial value**: `border-box`
9145   *
9146   * | Chrome | Firefox |   Safari    |  Edge  |  IE   |
9147   * | :----: | :-----: | :---------: | :----: | :---: |
9148   * | **1**  |  **4**  | **3** _-x-_ | **12** | **9** |
9149   *
9150   * @see https://developer.mozilla.org/docs/Web/CSS/background-clip
9151   */
9152  "background-clip"?: Property.BackgroundClip;
9153  /**
9154   * The **`background-color`** CSS property sets the background color of an element.
9155   *
9156   * **Syntax**: `<color>`
9157   *
9158   * **Initial value**: `transparent`
9159   *
9160   * | Chrome | Firefox | Safari |  Edge  |  IE   |
9161   * | :----: | :-----: | :----: | :----: | :---: |
9162   * | **1**  |  **1**  | **1**  | **12** | **4** |
9163   *
9164   * @see https://developer.mozilla.org/docs/Web/CSS/background-color
9165   */
9166  "background-color"?: Property.BackgroundColor;
9167  /**
9168   * The **`background-image`** CSS property sets one or more background images on an element.
9169   *
9170   * **Syntax**: `<bg-image>#`
9171   *
9172   * **Initial value**: `none`
9173   *
9174   * | Chrome | Firefox | Safari |  Edge  |  IE   |
9175   * | :----: | :-----: | :----: | :----: | :---: |
9176   * | **1**  |  **1**  | **1**  | **12** | **4** |
9177   *
9178   * @see https://developer.mozilla.org/docs/Web/CSS/background-image
9179   */
9180  "background-image"?: Property.BackgroundImage;
9181  /**
9182   * The **`background-origin`** CSS property sets the background's origin: from the border start, inside the border, or inside the padding.
9183   *
9184   * **Syntax**: `<box>#`
9185   *
9186   * **Initial value**: `padding-box`
9187   *
9188   * | Chrome | Firefox | Safari |  Edge  |  IE   |
9189   * | :----: | :-----: | :----: | :----: | :---: |
9190   * | **1**  |  **4**  | **3**  | **12** | **9** |
9191   *
9192   * @see https://developer.mozilla.org/docs/Web/CSS/background-origin
9193   */
9194  "background-origin"?: Property.BackgroundOrigin;
9195  /**
9196   * The **`background-position-x`** CSS property sets the initial horizontal position for each background image. The position is relative to the position layer set by `background-origin`.
9197   *
9198   * **Syntax**: `[ center | [ [ left | right | x-start | x-end ]? <length-percentage>? ]! ]#`
9199   *
9200   * **Initial value**: `left`
9201   *
9202   * | Chrome | Firefox | Safari |  Edge  |  IE   |
9203   * | :----: | :-----: | :----: | :----: | :---: |
9204   * | **1**  | **49**  | **1**  | **12** | **6** |
9205   *
9206   * @see https://developer.mozilla.org/docs/Web/CSS/background-position-x
9207   */
9208  "background-position-x"?: Property.BackgroundPositionX<TLength>;
9209  /**
9210   * The **`background-position-y`** CSS property sets the initial vertical position for each background image. The position is relative to the position layer set by `background-origin`.
9211   *
9212   * **Syntax**: `[ center | [ [ top | bottom | y-start | y-end ]? <length-percentage>? ]! ]#`
9213   *
9214   * **Initial value**: `top`
9215   *
9216   * | Chrome | Firefox | Safari |  Edge  |  IE   |
9217   * | :----: | :-----: | :----: | :----: | :---: |
9218   * | **1**  | **49**  | **1**  | **12** | **6** |
9219   *
9220   * @see https://developer.mozilla.org/docs/Web/CSS/background-position-y
9221   */
9222  "background-position-y"?: Property.BackgroundPositionY<TLength>;
9223  /**
9224   * The **`background-repeat`** CSS property sets how background images are repeated. A background image can be repeated along the horizontal and vertical axes, or not repeated at all.
9225   *
9226   * **Syntax**: `<repeat-style>#`
9227   *
9228   * **Initial value**: `repeat`
9229   *
9230   * | Chrome | Firefox | Safari |  Edge  |  IE   |
9231   * | :----: | :-----: | :----: | :----: | :---: |
9232   * | **1**  |  **1**  | **1**  | **12** | **4** |
9233   *
9234   * @see https://developer.mozilla.org/docs/Web/CSS/background-repeat
9235   */
9236  "background-repeat"?: Property.BackgroundRepeat;
9237  /**
9238   * The **`background-size`** CSS property sets the size of the element's background image. The image can be left to its natural size, stretched, or constrained to fit the available space.
9239   *
9240   * **Syntax**: `<bg-size>#`
9241   *
9242   * **Initial value**: `auto auto`
9243   *
9244   * | Chrome  | Firefox | Safari  |  Edge  |  IE   |
9245   * | :-----: | :-----: | :-----: | :----: | :---: |
9246   * |  **3**  |  **4**  |  **5**  | **12** | **9** |
9247   * | 1 _-x-_ |         | 3 _-x-_ |        |       |
9248   *
9249   * @see https://developer.mozilla.org/docs/Web/CSS/background-size
9250   */
9251  "background-size"?: Property.BackgroundSize<TLength>;
9252  /**
9253   * **Syntax**: `clip | ellipsis | <string>`
9254   *
9255   * **Initial value**: `clip`
9256   */
9257  "block-overflow"?: Property.BlockOverflow;
9258  /**
9259   * The **`block-size`** CSS property defines the horizontal or vertical size of an element's block, depending on its writing mode. It corresponds to either the `width` or the `height` property, depending on the value of `writing-mode`.
9260   *
9261   * **Syntax**: `<'width'>`
9262   *
9263   * **Initial value**: `auto`
9264   *
9265   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
9266   * | :----: | :-----: | :------: | :----: | :-: |
9267   * | **57** | **41**  | **12.1** | **79** | No  |
9268   *
9269   * @see https://developer.mozilla.org/docs/Web/CSS/block-size
9270   */
9271  "block-size"?: Property.BlockSize<TLength>;
9272  /**
9273   * The **`border-block-color`** CSS property defines the color of the logical block borders of an element, which maps to a physical border color depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-color` and `border-bottom-color`, or `border-right-color` and `border-left-color` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
9274   *
9275   * **Syntax**: `<'border-top-color'>{1,2}`
9276   *
9277   * **Initial value**: `currentcolor`
9278   *
9279   * | Chrome | Firefox | Safari | Edge | IE  |
9280   * | :----: | :-----: | :----: | :--: | :-: |
9281   * | **87** | **66**  |   No   | n/a  | No  |
9282   *
9283   * @see https://developer.mozilla.org/docs/Web/CSS/border-block-color
9284   */
9285  "border-block-color"?: Property.BorderBlockColor;
9286  /**
9287   * The **`border-block-end-color`** CSS property defines the color of the logical block-end border of an element, which maps to a physical border color depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-color`, `border-right-color`, `border-bottom-color`, or `border-left-color` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
9288   *
9289   * **Syntax**: `<'border-top-color'>`
9290   *
9291   * **Initial value**: `currentcolor`
9292   *
9293   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
9294   * | :----: | :-----: | :------: | :----: | :-: |
9295   * | **69** | **41**  | **12.1** | **79** | No  |
9296   *
9297   * @see https://developer.mozilla.org/docs/Web/CSS/border-block-end-color
9298   */
9299  "border-block-end-color"?: Property.BorderBlockEndColor;
9300  /**
9301   * The **`border-block-end-style`** CSS property defines the style of the logical block-end border of an element, which maps to a physical border style depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-style`, `border-right-style`, `border-bottom-style`, or `border-left-style` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
9302   *
9303   * **Syntax**: `<'border-top-style'>`
9304   *
9305   * **Initial value**: `none`
9306   *
9307   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
9308   * | :----: | :-----: | :------: | :----: | :-: |
9309   * | **69** | **41**  | **12.1** | **79** | No  |
9310   *
9311   * @see https://developer.mozilla.org/docs/Web/CSS/border-block-end-style
9312   */
9313  "border-block-end-style"?: Property.BorderBlockEndStyle;
9314  /**
9315   * The **`border-block-end-width`** CSS property defines the width of the logical block-end border of an element, which maps to a physical border width depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-width`, `border-right-width`, `border-bottom-width`, or `border-left-width` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
9316   *
9317   * **Syntax**: `<'border-top-width'>`
9318   *
9319   * **Initial value**: `medium`
9320   *
9321   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
9322   * | :----: | :-----: | :------: | :----: | :-: |
9323   * | **69** | **41**  | **12.1** | **79** | No  |
9324   *
9325   * @see https://developer.mozilla.org/docs/Web/CSS/border-block-end-width
9326   */
9327  "border-block-end-width"?: Property.BorderBlockEndWidth<TLength>;
9328  /**
9329   * The **`border-block-start-color`** CSS property defines the color of the logical block-start border of an element, which maps to a physical border color depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-color`, `border-right-color`, `border-bottom-color`, or `border-left-color` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
9330   *
9331   * **Syntax**: `<'border-top-color'>`
9332   *
9333   * **Initial value**: `currentcolor`
9334   *
9335   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
9336   * | :----: | :-----: | :------: | :----: | :-: |
9337   * | **69** | **41**  | **12.1** | **79** | No  |
9338   *
9339   * @see https://developer.mozilla.org/docs/Web/CSS/border-block-start-color
9340   */
9341  "border-block-start-color"?: Property.BorderBlockStartColor;
9342  /**
9343   * The **`border-block-start-style`** CSS property defines the style of the logical block start border of an element, which maps to a physical border style depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-style`, `border-right-style`, `border-bottom-style`, or `border-left-style` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
9344   *
9345   * **Syntax**: `<'border-top-style'>`
9346   *
9347   * **Initial value**: `none`
9348   *
9349   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
9350   * | :----: | :-----: | :------: | :----: | :-: |
9351   * | **69** | **41**  | **12.1** | **79** | No  |
9352   *
9353   * @see https://developer.mozilla.org/docs/Web/CSS/border-block-start-style
9354   */
9355  "border-block-start-style"?: Property.BorderBlockStartStyle;
9356  /**
9357   * The **`border-block-start-width`** CSS property defines the width of the logical block-start border of an element, which maps to a physical border width depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-width`, `border-right-width`, `border-bottom-width`, or `border-left-width` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
9358   *
9359   * **Syntax**: `<'border-top-width'>`
9360   *
9361   * **Initial value**: `medium`
9362   *
9363   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
9364   * | :----: | :-----: | :------: | :----: | :-: |
9365   * | **69** | **41**  | **12.1** | **79** | No  |
9366   *
9367   * @see https://developer.mozilla.org/docs/Web/CSS/border-block-start-width
9368   */
9369  "border-block-start-width"?: Property.BorderBlockStartWidth<TLength>;
9370  /**
9371   * The **`border-block-style`** CSS property defines the style of the logical block borders of an element, which maps to a physical border style depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-style` and `border-bottom-style`, or `border-left-style` and `border-right-style` properties depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
9372   *
9373   * **Syntax**: `<'border-top-style'>`
9374   *
9375   * **Initial value**: `none`
9376   *
9377   * | Chrome | Firefox | Safari | Edge | IE  |
9378   * | :----: | :-----: | :----: | :--: | :-: |
9379   * | **87** | **66**  |   No   | n/a  | No  |
9380   *
9381   * @see https://developer.mozilla.org/docs/Web/CSS/border-block-style
9382   */
9383  "border-block-style"?: Property.BorderBlockStyle;
9384  /**
9385   * The **`border-block-width`** CSS property defines the width of the logical block borders of an element, which maps to a physical border width depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-width` and `border-bottom-width`, or `border-left-width`, and `border-right-width` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
9386   *
9387   * **Syntax**: `<'border-top-width'>`
9388   *
9389   * **Initial value**: `medium`
9390   *
9391   * | Chrome | Firefox | Safari | Edge | IE  |
9392   * | :----: | :-----: | :----: | :--: | :-: |
9393   * | **87** | **66**  |   No   | n/a  | No  |
9394   *
9395   * @see https://developer.mozilla.org/docs/Web/CSS/border-block-width
9396   */
9397  "border-block-width"?: Property.BorderBlockWidth<TLength>;
9398  /**
9399   * The **`border-bottom-color`** CSS property sets the color of an element's bottom border. It can also be set with the shorthand CSS properties `border-color` or `border-bottom`.
9400   *
9401   * **Syntax**: `<'border-top-color'>`
9402   *
9403   * **Initial value**: `currentcolor`
9404   *
9405   * | Chrome | Firefox | Safari |  Edge  |  IE   |
9406   * | :----: | :-----: | :----: | :----: | :---: |
9407   * | **1**  |  **1**  | **1**  | **12** | **4** |
9408   *
9409   * @see https://developer.mozilla.org/docs/Web/CSS/border-bottom-color
9410   */
9411  "border-bottom-color"?: Property.BorderBottomColor;
9412  /**
9413   * The **`border-bottom-left-radius`** CSS property rounds the bottom-left corner of an element by specifying the radius (or the radius of the semi-major and semi-minor axes) of the ellipse defining the curvature of the corner.
9414   *
9415   * **Syntax**: `<length-percentage>{1,2}`
9416   *
9417   * **Initial value**: `0`
9418   *
9419   * | Chrome  | Firefox | Safari  |  Edge  |  IE   |
9420   * | :-----: | :-----: | :-----: | :----: | :---: |
9421   * |  **4**  |  **4**  |  **5**  | **12** | **9** |
9422   * | 1 _-x-_ |         | 3 _-x-_ |        |       |
9423   *
9424   * @see https://developer.mozilla.org/docs/Web/CSS/border-bottom-left-radius
9425   */
9426  "border-bottom-left-radius"?: Property.BorderBottomLeftRadius<TLength>;
9427  /**
9428   * The **`border-bottom-right-radius`** CSS property rounds the bottom-right corner of an element by specifying the radius (or the radius of the semi-major and semi-minor axes) of the ellipse defining the curvature of the corner.
9429   *
9430   * **Syntax**: `<length-percentage>{1,2}`
9431   *
9432   * **Initial value**: `0`
9433   *
9434   * | Chrome  | Firefox | Safari  |  Edge  |  IE   |
9435   * | :-----: | :-----: | :-----: | :----: | :---: |
9436   * |  **4**  |  **4**  |  **5**  | **12** | **9** |
9437   * | 1 _-x-_ |         | 3 _-x-_ |        |       |
9438   *
9439   * @see https://developer.mozilla.org/docs/Web/CSS/border-bottom-right-radius
9440   */
9441  "border-bottom-right-radius"?: Property.BorderBottomRightRadius<TLength>;
9442  /**
9443   * The **`border-bottom-style`** CSS property sets the line style of an element's bottom `border`.
9444   *
9445   * **Syntax**: `<line-style>`
9446   *
9447   * **Initial value**: `none`
9448   *
9449   * | Chrome | Firefox | Safari |  Edge  |   IE    |
9450   * | :----: | :-----: | :----: | :----: | :-----: |
9451   * | **1**  |  **1**  | **1**  | **12** | **5.5** |
9452   *
9453   * @see https://developer.mozilla.org/docs/Web/CSS/border-bottom-style
9454   */
9455  "border-bottom-style"?: Property.BorderBottomStyle;
9456  /**
9457   * The **`border-bottom-width`** CSS property sets the width of the bottom border of an element.
9458   *
9459   * **Syntax**: `<line-width>`
9460   *
9461   * **Initial value**: `medium`
9462   *
9463   * | Chrome | Firefox | Safari |  Edge  |  IE   |
9464   * | :----: | :-----: | :----: | :----: | :---: |
9465   * | **1**  |  **1**  | **1**  | **12** | **4** |
9466   *
9467   * @see https://developer.mozilla.org/docs/Web/CSS/border-bottom-width
9468   */
9469  "border-bottom-width"?: Property.BorderBottomWidth<TLength>;
9470  /**
9471   * The **`border-collapse`** CSS property sets whether cells inside a `<table>` have shared or separate borders.
9472   *
9473   * **Syntax**: `collapse | separate`
9474   *
9475   * **Initial value**: `separate`
9476   *
9477   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
9478   * | :----: | :-----: | :-----: | :----: | :---: |
9479   * | **1**  |  **1**  | **1.2** | **12** | **5** |
9480   *
9481   * @see https://developer.mozilla.org/docs/Web/CSS/border-collapse
9482   */
9483  "border-collapse"?: Property.BorderCollapse;
9484  /**
9485   * The **`border-end-end-radius`** CSS property defines a logical border radius on an element, which maps to a physical border radius that depends on the element's `writing-mode`, `direction`, and `text-orientation`. This is useful when building styles to work regardless of the text orientation and writing mode.
9486   *
9487   * **Syntax**: `<length-percentage>{1,2}`
9488   *
9489   * **Initial value**: `0`
9490   *
9491   * | Chrome | Firefox | Safari |  Edge  | IE  |
9492   * | :----: | :-----: | :----: | :----: | :-: |
9493   * | **89** | **66**  |   No   | **89** | No  |
9494   *
9495   * @see https://developer.mozilla.org/docs/Web/CSS/border-end-end-radius
9496   */
9497  "border-end-end-radius"?: Property.BorderEndEndRadius<TLength>;
9498  /**
9499   * The **`border-end-start-radius`** CSS property defines a logical border radius on an element, which maps to a physical border radius depending on the element's `writing-mode`, `direction`, and `text-orientation`. This is useful when building styles to work regardless of the text orientation and writing mode.
9500   *
9501   * **Syntax**: `<length-percentage>{1,2}`
9502   *
9503   * **Initial value**: `0`
9504   *
9505   * | Chrome | Firefox | Safari |  Edge  | IE  |
9506   * | :----: | :-----: | :----: | :----: | :-: |
9507   * | **89** | **66**  |   No   | **89** | No  |
9508   *
9509   * @see https://developer.mozilla.org/docs/Web/CSS/border-end-start-radius
9510   */
9511  "border-end-start-radius"?: Property.BorderEndStartRadius<TLength>;
9512  /**
9513   * The **`border-image-outset`** CSS property sets the distance by which an element's border image is set out from its border box.
9514   *
9515   * **Syntax**: `[ <length> | <number> ]{1,4}`
9516   *
9517   * **Initial value**: `0`
9518   *
9519   * | Chrome | Firefox | Safari |  Edge  |   IE   |
9520   * | :----: | :-----: | :----: | :----: | :----: |
9521   * | **15** | **15**  | **6**  | **12** | **11** |
9522   *
9523   * @see https://developer.mozilla.org/docs/Web/CSS/border-image-outset
9524   */
9525  "border-image-outset"?: Property.BorderImageOutset<TLength>;
9526  /**
9527   * The **`border-image-repeat`** CSS property defines how the edge regions of a source image are adjusted to fit the dimensions of an element's border image.
9528   *
9529   * **Syntax**: `[ stretch | repeat | round | space ]{1,2}`
9530   *
9531   * **Initial value**: `stretch`
9532   *
9533   * | Chrome | Firefox | Safari |  Edge  |   IE   |
9534   * | :----: | :-----: | :----: | :----: | :----: |
9535   * | **15** | **15**  | **6**  | **12** | **11** |
9536   *
9537   * @see https://developer.mozilla.org/docs/Web/CSS/border-image-repeat
9538   */
9539  "border-image-repeat"?: Property.BorderImageRepeat;
9540  /**
9541   * The **`border-image-slice`** CSS property divides the image specified by `border-image-source` into regions. These regions form the components of an element's border image.
9542   *
9543   * **Syntax**: `<number-percentage>{1,4} && fill?`
9544   *
9545   * **Initial value**: `100%`
9546   *
9547   * | Chrome | Firefox | Safari |  Edge  |   IE   |
9548   * | :----: | :-----: | :----: | :----: | :----: |
9549   * | **15** | **15**  | **6**  | **12** | **11** |
9550   *
9551   * @see https://developer.mozilla.org/docs/Web/CSS/border-image-slice
9552   */
9553  "border-image-slice"?: Property.BorderImageSlice;
9554  /**
9555   * The **`border-image-source`** CSS property sets the source image used to create an element's border image.
9556   *
9557   * **Syntax**: `none | <image>`
9558   *
9559   * **Initial value**: `none`
9560   *
9561   * | Chrome | Firefox | Safari |  Edge  |   IE   |
9562   * | :----: | :-----: | :----: | :----: | :----: |
9563   * | **15** | **15**  | **6**  | **12** | **11** |
9564   *
9565   * @see https://developer.mozilla.org/docs/Web/CSS/border-image-source
9566   */
9567  "border-image-source"?: Property.BorderImageSource;
9568  /**
9569   * The **`border-image-width`** CSS property sets the width of an element's border image.
9570   *
9571   * **Syntax**: `[ <length-percentage> | <number> | auto ]{1,4}`
9572   *
9573   * **Initial value**: `1`
9574   *
9575   * | Chrome | Firefox | Safari |  Edge  |   IE   |
9576   * | :----: | :-----: | :----: | :----: | :----: |
9577   * | **15** | **13**  | **6**  | **12** | **11** |
9578   *
9579   * @see https://developer.mozilla.org/docs/Web/CSS/border-image-width
9580   */
9581  "border-image-width"?: Property.BorderImageWidth<TLength>;
9582  /**
9583   * The **`border-inline-color`** CSS property defines the color of the logical inline borders of an element, which maps to a physical border color depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-color` and `border-bottom-color`, or `border-right-color` and `border-left-color` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
9584   *
9585   * **Syntax**: `<'border-top-color'>{1,2}`
9586   *
9587   * **Initial value**: `currentcolor`
9588   *
9589   * | Chrome | Firefox | Safari | Edge | IE  |
9590   * | :----: | :-----: | :----: | :--: | :-: |
9591   * | **87** | **66**  |   No   | n/a  | No  |
9592   *
9593   * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-color
9594   */
9595  "border-inline-color"?: Property.BorderInlineColor;
9596  /**
9597   * The **`border-inline-end-color`** CSS property defines the color of the logical inline-end border of an element, which maps to a physical border color depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-color`, `border-right-color`, `border-bottom-color`, or `border-left-color` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
9598   *
9599   * **Syntax**: `<'border-top-color'>`
9600   *
9601   * **Initial value**: `currentcolor`
9602   *
9603   * | Chrome |           Firefox           |  Safari  |  Edge  | IE  |
9604   * | :----: | :-------------------------: | :------: | :----: | :-: |
9605   * | **69** |           **41**            | **12.1** | **79** | No  |
9606   * |        | 3 _(-moz-border-end-color)_ |          |        |     |
9607   *
9608   * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-end-color
9609   */
9610  "border-inline-end-color"?: Property.BorderInlineEndColor;
9611  /**
9612   * The **`border-inline-end-style`** CSS property defines the style of the logical inline end border of an element, which maps to a physical border style depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-style`, `border-right-style`, `border-bottom-style`, or `border-left-style` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
9613   *
9614   * **Syntax**: `<'border-top-style'>`
9615   *
9616   * **Initial value**: `none`
9617   *
9618   * | Chrome |           Firefox           |  Safari  |  Edge  | IE  |
9619   * | :----: | :-------------------------: | :------: | :----: | :-: |
9620   * | **69** |           **41**            | **12.1** | **79** | No  |
9621   * |        | 3 _(-moz-border-end-style)_ |          |        |     |
9622   *
9623   * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-end-style
9624   */
9625  "border-inline-end-style"?: Property.BorderInlineEndStyle;
9626  /**
9627   * The **`border-inline-end-width`** CSS property defines the width of the logical inline-end border of an element, which maps to a physical border width depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-width`, `border-right-width`, `border-bottom-width`, or `border-left-width` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
9628   *
9629   * **Syntax**: `<'border-top-width'>`
9630   *
9631   * **Initial value**: `medium`
9632   *
9633   * | Chrome |           Firefox           |  Safari  |  Edge  | IE  |
9634   * | :----: | :-------------------------: | :------: | :----: | :-: |
9635   * | **69** |           **41**            | **12.1** | **79** | No  |
9636   * |        | 3 _(-moz-border-end-width)_ |          |        |     |
9637   *
9638   * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-end-width
9639   */
9640  "border-inline-end-width"?: Property.BorderInlineEndWidth<TLength>;
9641  /**
9642   * The **`border-inline-start-color`** CSS property defines the color of the logical inline start border of an element, which maps to a physical border color depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-color`, `border-right-color`, `border-bottom-color`, or `border-left-color` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
9643   *
9644   * **Syntax**: `<'border-top-color'>`
9645   *
9646   * **Initial value**: `currentcolor`
9647   *
9648   * | Chrome |            Firefox            |  Safari  |  Edge  | IE  |
9649   * | :----: | :---------------------------: | :------: | :----: | :-: |
9650   * | **69** |            **41**             | **12.1** | **79** | No  |
9651   * |        | 3 _(-moz-border-start-color)_ |          |        |     |
9652   *
9653   * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-start-color
9654   */
9655  "border-inline-start-color"?: Property.BorderInlineStartColor;
9656  /**
9657   * The **`border-inline-start-style`** CSS property defines the style of the logical inline start border of an element, which maps to a physical border style depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-style`, `border-right-style`, `border-bottom-style`, or `border-left-style` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
9658   *
9659   * **Syntax**: `<'border-top-style'>`
9660   *
9661   * **Initial value**: `none`
9662   *
9663   * | Chrome |            Firefox            |  Safari  |  Edge  | IE  |
9664   * | :----: | :---------------------------: | :------: | :----: | :-: |
9665   * | **69** |            **41**             | **12.1** | **79** | No  |
9666   * |        | 3 _(-moz-border-start-style)_ |          |        |     |
9667   *
9668   * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-start-style
9669   */
9670  "border-inline-start-style"?: Property.BorderInlineStartStyle;
9671  /**
9672   * The **`border-inline-start-width`** CSS property defines the width of the logical inline-start border of an element, which maps to a physical border width depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-width`, `border-right-width`, `border-bottom-width`, or `border-left-width` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
9673   *
9674   * **Syntax**: `<'border-top-width'>`
9675   *
9676   * **Initial value**: `medium`
9677   *
9678   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
9679   * | :----: | :-----: | :------: | :----: | :-: |
9680   * | **69** | **41**  | **12.1** | **79** | No  |
9681   *
9682   * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-start-width
9683   */
9684  "border-inline-start-width"?: Property.BorderInlineStartWidth<TLength>;
9685  /**
9686   * The **`border-inline-style`** CSS property defines the style of the logical inline borders of an element, which maps to a physical border style depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-style` and `border-bottom-style`, or `border-left-style` and `border-right-style` properties depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
9687   *
9688   * **Syntax**: `<'border-top-style'>`
9689   *
9690   * **Initial value**: `none`
9691   *
9692   * | Chrome | Firefox | Safari | Edge | IE  |
9693   * | :----: | :-----: | :----: | :--: | :-: |
9694   * | **87** | **66**  |   No   | n/a  | No  |
9695   *
9696   * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-style
9697   */
9698  "border-inline-style"?: Property.BorderInlineStyle;
9699  /**
9700   * The **`border-inline-width`** CSS property defines the width of the logical inline borders of an element, which maps to a physical border width depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-width` and `border-bottom-width`, or `border-left-width`, and `border-right-width` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
9701   *
9702   * **Syntax**: `<'border-top-width'>`
9703   *
9704   * **Initial value**: `medium`
9705   *
9706   * | Chrome | Firefox | Safari | Edge | IE  |
9707   * | :----: | :-----: | :----: | :--: | :-: |
9708   * | **87** | **66**  |   No   | n/a  | No  |
9709   *
9710   * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-width
9711   */
9712  "border-inline-width"?: Property.BorderInlineWidth<TLength>;
9713  /**
9714   * The **`border-left-color`** CSS property sets the color of an element's left border. It can also be set with the shorthand CSS properties `border-color` or `border-left`.
9715   *
9716   * **Syntax**: `<color>`
9717   *
9718   * **Initial value**: `currentcolor`
9719   *
9720   * | Chrome | Firefox | Safari |  Edge  |  IE   |
9721   * | :----: | :-----: | :----: | :----: | :---: |
9722   * | **1**  |  **1**  | **1**  | **12** | **4** |
9723   *
9724   * @see https://developer.mozilla.org/docs/Web/CSS/border-left-color
9725   */
9726  "border-left-color"?: Property.BorderLeftColor;
9727  /**
9728   * The **`border-left-style`** CSS property sets the line style of an element's left `border`.
9729   *
9730   * **Syntax**: `<line-style>`
9731   *
9732   * **Initial value**: `none`
9733   *
9734   * | Chrome | Firefox | Safari |  Edge  |   IE    |
9735   * | :----: | :-----: | :----: | :----: | :-----: |
9736   * | **1**  |  **1**  | **1**  | **12** | **5.5** |
9737   *
9738   * @see https://developer.mozilla.org/docs/Web/CSS/border-left-style
9739   */
9740  "border-left-style"?: Property.BorderLeftStyle;
9741  /**
9742   * The **`border-left-width`** CSS property sets the width of the left border of an element.
9743   *
9744   * **Syntax**: `<line-width>`
9745   *
9746   * **Initial value**: `medium`
9747   *
9748   * | Chrome | Firefox | Safari |  Edge  |  IE   |
9749   * | :----: | :-----: | :----: | :----: | :---: |
9750   * | **1**  |  **1**  | **1**  | **12** | **4** |
9751   *
9752   * @see https://developer.mozilla.org/docs/Web/CSS/border-left-width
9753   */
9754  "border-left-width"?: Property.BorderLeftWidth<TLength>;
9755  /**
9756   * The **`border-right-color`** CSS property sets the color of an element's right border. It can also be set with the shorthand CSS properties `border-color` or `border-right`.
9757   *
9758   * **Syntax**: `<color>`
9759   *
9760   * **Initial value**: `currentcolor`
9761   *
9762   * | Chrome | Firefox | Safari |  Edge  |  IE   |
9763   * | :----: | :-----: | :----: | :----: | :---: |
9764   * | **1**  |  **1**  | **1**  | **12** | **4** |
9765   *
9766   * @see https://developer.mozilla.org/docs/Web/CSS/border-right-color
9767   */
9768  "border-right-color"?: Property.BorderRightColor;
9769  /**
9770   * The **`border-right-style`** CSS property sets the line style of an element's right `border`.
9771   *
9772   * **Syntax**: `<line-style>`
9773   *
9774   * **Initial value**: `none`
9775   *
9776   * | Chrome | Firefox | Safari |  Edge  |   IE    |
9777   * | :----: | :-----: | :----: | :----: | :-----: |
9778   * | **1**  |  **1**  | **1**  | **12** | **5.5** |
9779   *
9780   * @see https://developer.mozilla.org/docs/Web/CSS/border-right-style
9781   */
9782  "border-right-style"?: Property.BorderRightStyle;
9783  /**
9784   * The **`border-right-width`** CSS property sets the width of the right border of an element.
9785   *
9786   * **Syntax**: `<line-width>`
9787   *
9788   * **Initial value**: `medium`
9789   *
9790   * | Chrome | Firefox | Safari |  Edge  |  IE   |
9791   * | :----: | :-----: | :----: | :----: | :---: |
9792   * | **1**  |  **1**  | **1**  | **12** | **4** |
9793   *
9794   * @see https://developer.mozilla.org/docs/Web/CSS/border-right-width
9795   */
9796  "border-right-width"?: Property.BorderRightWidth<TLength>;
9797  /**
9798   * The **`border-spacing`** CSS property sets the distance between the borders of adjacent `<table>` cells. This property applies only when `border-collapse` is `separate`.
9799   *
9800   * **Syntax**: `<length> <length>?`
9801   *
9802   * **Initial value**: `0`
9803   *
9804   * | Chrome | Firefox | Safari |  Edge  |  IE   |
9805   * | :----: | :-----: | :----: | :----: | :---: |
9806   * | **1**  |  **1**  | **1**  | **12** | **8** |
9807   *
9808   * @see https://developer.mozilla.org/docs/Web/CSS/border-spacing
9809   */
9810  "border-spacing"?: Property.BorderSpacing<TLength>;
9811  /**
9812   * The **`border-start-end-radius`** CSS property defines a logical border radius on an element, which maps to a physical border radius depending on the element's `writing-mode`, `direction`, and `text-orientation`. This is useful when building styles to work regardless of the text orientation and writing mode.
9813   *
9814   * **Syntax**: `<length-percentage>{1,2}`
9815   *
9816   * **Initial value**: `0`
9817   *
9818   * | Chrome | Firefox | Safari |  Edge  | IE  |
9819   * | :----: | :-----: | :----: | :----: | :-: |
9820   * | **89** | **66**  |   No   | **89** | No  |
9821   *
9822   * @see https://developer.mozilla.org/docs/Web/CSS/border-start-end-radius
9823   */
9824  "border-start-end-radius"?: Property.BorderStartEndRadius<TLength>;
9825  /**
9826   * The **`border-start-start-radius`** CSS property defines a logical border radius on an element, which maps to a physical border radius that depends on the element's `writing-mode`, `direction`, and `text-orientation`. This is useful when building styles to work regardless of the text orientation and writing mode.
9827   *
9828   * **Syntax**: `<length-percentage>{1,2}`
9829   *
9830   * **Initial value**: `0`
9831   *
9832   * | Chrome | Firefox | Safari |  Edge  | IE  |
9833   * | :----: | :-----: | :----: | :----: | :-: |
9834   * | **89** | **66**  |   No   | **89** | No  |
9835   *
9836   * @see https://developer.mozilla.org/docs/Web/CSS/border-start-start-radius
9837   */
9838  "border-start-start-radius"?: Property.BorderStartStartRadius<TLength>;
9839  /**
9840   * The **`border-top-color`** CSS property sets the color of an element's top border. It can also be set with the shorthand CSS properties `border-color` or `border-top`.
9841   *
9842   * **Syntax**: `<color>`
9843   *
9844   * **Initial value**: `currentcolor`
9845   *
9846   * | Chrome | Firefox | Safari |  Edge  |  IE   |
9847   * | :----: | :-----: | :----: | :----: | :---: |
9848   * | **1**  |  **1**  | **1**  | **12** | **4** |
9849   *
9850   * @see https://developer.mozilla.org/docs/Web/CSS/border-top-color
9851   */
9852  "border-top-color"?: Property.BorderTopColor;
9853  /**
9854   * The **`border-top-left-radius`** CSS property rounds the top-left corner of an element by specifying the radius (or the radius of the semi-major and semi-minor axes) of the ellipse defining the curvature of the corner.
9855   *
9856   * **Syntax**: `<length-percentage>{1,2}`
9857   *
9858   * **Initial value**: `0`
9859   *
9860   * | Chrome  | Firefox | Safari  |  Edge  |  IE   |
9861   * | :-----: | :-----: | :-----: | :----: | :---: |
9862   * |  **4**  |  **4**  |  **5**  | **12** | **9** |
9863   * | 1 _-x-_ |         | 3 _-x-_ |        |       |
9864   *
9865   * @see https://developer.mozilla.org/docs/Web/CSS/border-top-left-radius
9866   */
9867  "border-top-left-radius"?: Property.BorderTopLeftRadius<TLength>;
9868  /**
9869   * The **`border-top-right-radius`** CSS property rounds the top-right corner of an element by specifying the radius (or the radius of the semi-major and semi-minor axes) of the ellipse defining the curvature of the corner.
9870   *
9871   * **Syntax**: `<length-percentage>{1,2}`
9872   *
9873   * **Initial value**: `0`
9874   *
9875   * | Chrome  | Firefox | Safari  |  Edge  |  IE   |
9876   * | :-----: | :-----: | :-----: | :----: | :---: |
9877   * |  **4**  |  **4**  |  **5**  | **12** | **9** |
9878   * | 1 _-x-_ |         | 3 _-x-_ |        |       |
9879   *
9880   * @see https://developer.mozilla.org/docs/Web/CSS/border-top-right-radius
9881   */
9882  "border-top-right-radius"?: Property.BorderTopRightRadius<TLength>;
9883  /**
9884   * The **`border-top-style`** CSS property sets the line style of an element's top `border`.
9885   *
9886   * **Syntax**: `<line-style>`
9887   *
9888   * **Initial value**: `none`
9889   *
9890   * | Chrome | Firefox | Safari |  Edge  |   IE    |
9891   * | :----: | :-----: | :----: | :----: | :-----: |
9892   * | **1**  |  **1**  | **1**  | **12** | **5.5** |
9893   *
9894   * @see https://developer.mozilla.org/docs/Web/CSS/border-top-style
9895   */
9896  "border-top-style"?: Property.BorderTopStyle;
9897  /**
9898   * The **`border-top-width`** CSS property sets the width of the top border of an element.
9899   *
9900   * **Syntax**: `<line-width>`
9901   *
9902   * **Initial value**: `medium`
9903   *
9904   * | Chrome | Firefox | Safari |  Edge  |  IE   |
9905   * | :----: | :-----: | :----: | :----: | :---: |
9906   * | **1**  |  **1**  | **1**  | **12** | **4** |
9907   *
9908   * @see https://developer.mozilla.org/docs/Web/CSS/border-top-width
9909   */
9910  "border-top-width"?: Property.BorderTopWidth<TLength>;
9911  /**
9912   * The **`bottom`** CSS property participates in setting the vertical position of a positioned element. It has no effect on non-positioned elements.
9913   *
9914   * **Syntax**: `<length> | <percentage> | auto`
9915   *
9916   * **Initial value**: `auto`
9917   *
9918   * | Chrome | Firefox | Safari |  Edge  |  IE   |
9919   * | :----: | :-----: | :----: | :----: | :---: |
9920   * | **1**  |  **1**  | **1**  | **12** | **5** |
9921   *
9922   * @see https://developer.mozilla.org/docs/Web/CSS/bottom
9923   */
9924  bottom?: Property.Bottom<TLength>;
9925  /**
9926   * The **`box-decoration-break`** CSS property specifies how an element's fragments should be rendered when broken across multiple lines, columns, or pages.
9927   *
9928   * **Syntax**: `slice | clone`
9929   *
9930   * **Initial value**: `slice`
9931   *
9932   * |    Chrome    | Firefox |    Safari     |     Edge     | IE  |
9933   * | :----------: | :-----: | :-----------: | :----------: | :-: |
9934   * | **22** _-x-_ | **32**  | **6.1** _-x-_ | **79** _-x-_ | No  |
9935   *
9936   * @see https://developer.mozilla.org/docs/Web/CSS/box-decoration-break
9937   */
9938  "box-decoration-break"?: Property.BoxDecorationBreak;
9939  /**
9940   * The **`box-shadow`** CSS property adds shadow effects around an element's frame. You can set multiple effects separated by commas. A box shadow is described by X and Y offsets relative to the element, blur and spread radius, and color.
9941   *
9942   * **Syntax**: `none | <shadow>#`
9943   *
9944   * **Initial value**: `none`
9945   *
9946   * | Chrome  | Firefox | Safari  |  Edge  |  IE   |
9947   * | :-----: | :-----: | :-----: | :----: | :---: |
9948   * | **10**  |  **4**  | **5.1** | **12** | **9** |
9949   * | 1 _-x-_ |         | 3 _-x-_ |        |       |
9950   *
9951   * @see https://developer.mozilla.org/docs/Web/CSS/box-shadow
9952   */
9953  "box-shadow"?: Property.BoxShadow;
9954  /**
9955   * The **`box-sizing`** CSS property sets how the total width and height of an element is calculated.
9956   *
9957   * **Syntax**: `content-box | border-box`
9958   *
9959   * **Initial value**: `content-box`
9960   *
9961   * | Chrome  | Firefox | Safari  |  Edge  |  IE   |
9962   * | :-----: | :-----: | :-----: | :----: | :---: |
9963   * | **10**  | **29**  | **5.1** | **12** | **8** |
9964   * | 1 _-x-_ | 1 _-x-_ | 3 _-x-_ |        |       |
9965   *
9966   * @see https://developer.mozilla.org/docs/Web/CSS/box-sizing
9967   */
9968  "box-sizing"?: Property.BoxSizing;
9969  /**
9970   * The **`break-after`** CSS property sets how page, column, or region breaks should behave after a generated box. If there is no generated box, the property is ignored.
9971   *
9972   * **Syntax**: `auto | avoid | always | all | avoid-page | page | left | right | recto | verso | avoid-column | column | avoid-region | region`
9973   *
9974   * **Initial value**: `auto`
9975   *
9976   * ---
9977   *
9978   * _Supported in Multi-column Layout_
9979   *
9980   * | Chrome | Firefox | Safari |  Edge  |   IE   |
9981   * | :----: | :-----: | :----: | :----: | :----: |
9982   * | **50** | **65**  |   No   | **12** | **10** |
9983   *
9984   * ---
9985   *
9986   * _Supported in Paged Media_
9987   *
9988   * | Chrome | Firefox | Safari |  Edge  |   IE   |
9989   * | :----: | :-----: | :----: | :----: | :----: |
9990   * | **50** | **65**  | **10** | **12** | **10** |
9991   *
9992   * ---
9993   *
9994   * @see https://developer.mozilla.org/docs/Web/CSS/break-after
9995   */
9996  "break-after"?: Property.BreakAfter;
9997  /**
9998   * The **`break-before`** CSS property sets how page, column, or region breaks should behave before a generated box. If there is no generated box, the property is ignored.
9999   *
10000   * **Syntax**: `auto | avoid | always | all | avoid-page | page | left | right | recto | verso | avoid-column | column | avoid-region | region`
10001   *
10002   * **Initial value**: `auto`
10003   *
10004   * ---
10005   *
10006   * _Supported in Multi-column Layout_
10007   *
10008   * | Chrome | Firefox | Safari |  Edge  |   IE   |
10009   * | :----: | :-----: | :----: | :----: | :----: |
10010   * | **50** | **65**  |   No   | **12** | **10** |
10011   *
10012   * ---
10013   *
10014   * _Supported in Paged Media_
10015   *
10016   * | Chrome | Firefox | Safari |  Edge  |   IE   |
10017   * | :----: | :-----: | :----: | :----: | :----: |
10018   * | **50** | **65**  | **10** | **12** | **10** |
10019   *
10020   * ---
10021   *
10022   * @see https://developer.mozilla.org/docs/Web/CSS/break-before
10023   */
10024  "break-before"?: Property.BreakBefore;
10025  /**
10026   * The **`break-inside`** CSS property sets how page, column, or region breaks should behave inside a generated box. If there is no generated box, the property is ignored.
10027   *
10028   * **Syntax**: `auto | avoid | avoid-page | avoid-column | avoid-region`
10029   *
10030   * **Initial value**: `auto`
10031   *
10032   * ---
10033   *
10034   * _Supported in Multi-column Layout_
10035   *
10036   * | Chrome | Firefox | Safari |  Edge  |   IE   |
10037   * | :----: | :-----: | :----: | :----: | :----: |
10038   * | **50** | **65**  | **10** | **12** | **10** |
10039   *
10040   * ---
10041   *
10042   * _Supported in Paged Media_
10043   *
10044   * | Chrome | Firefox | Safari |  Edge  |   IE   |
10045   * | :----: | :-----: | :----: | :----: | :----: |
10046   * | **50** | **65**  | **10** | **12** | **10** |
10047   *
10048   * ---
10049   *
10050   * @see https://developer.mozilla.org/docs/Web/CSS/break-inside
10051   */
10052  "break-inside"?: Property.BreakInside;
10053  /**
10054   * The **`caption-side`** CSS property puts the content of a table's `<caption>` on the specified side. The values are relative to the `writing-mode` of the table.
10055   *
10056   * **Syntax**: `top | bottom | block-start | block-end | inline-start | inline-end`
10057   *
10058   * **Initial value**: `top`
10059   *
10060   * | Chrome | Firefox | Safari |  Edge  |  IE   |
10061   * | :----: | :-----: | :----: | :----: | :---: |
10062   * | **1**  |  **1**  | **1**  | **12** | **8** |
10063   *
10064   * @see https://developer.mozilla.org/docs/Web/CSS/caption-side
10065   */
10066  "caption-side"?: Property.CaptionSide;
10067  /**
10068   * The **`caret-color`** CSS property sets the color of the **insertion caret**, the visible marker where the next character typed will be inserted. This is sometimes referred to as the **text input cursor**. The caret appears in elements such as `<input>` or those with the `contenteditable` attribute. The caret is typically a thin vertical line that flashes to help make it more noticeable. By default, it is black, but its color can be altered with this property.
10069   *
10070   * **Syntax**: `auto | <color>`
10071   *
10072   * **Initial value**: `auto`
10073   *
10074   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
10075   * | :----: | :-----: | :------: | :----: | :-: |
10076   * | **57** | **53**  | **11.1** | **79** | No  |
10077   *
10078   * @see https://developer.mozilla.org/docs/Web/CSS/caret-color
10079   */
10080  "caret-color"?: Property.CaretColor;
10081  /**
10082   * The **`clear`** CSS property sets whether an element must be moved below (cleared) floating elements that precede it. The `clear` property applies to floating and non-floating elements.
10083   *
10084   * **Syntax**: `none | left | right | both | inline-start | inline-end`
10085   *
10086   * **Initial value**: `none`
10087   *
10088   * | Chrome | Firefox | Safari |  Edge  |  IE   |
10089   * | :----: | :-----: | :----: | :----: | :---: |
10090   * | **1**  |  **1**  | **1**  | **12** | **4** |
10091   *
10092   * @see https://developer.mozilla.org/docs/Web/CSS/clear
10093   */
10094  clear?: Property.Clear;
10095  /**
10096   * The `**clip-path**` CSS property creates a clipping region that sets what part of an element should be shown. Parts that are inside the region are shown, while those outside are hidden.
10097   *
10098   * **Syntax**: `<clip-source> | [ <basic-shape> || <geometry-box> ] | none`
10099   *
10100   * **Initial value**: `none`
10101   *
10102   * |  Chrome  | Firefox |  Safari   |  Edge  |   IE   |
10103   * | :------: | :-----: | :-------: | :----: | :----: |
10104   * |  **55**  | **3.5** |  **9.1**  | **12** | **10** |
10105   * | 23 _-x-_ |         | 6.1 _-x-_ |        |        |
10106   *
10107   * @see https://developer.mozilla.org/docs/Web/CSS/clip-path
10108   */
10109  "clip-path"?: Property.ClipPath;
10110  /**
10111   * The **`color`** CSS property sets the foreground color value of an element's text and text decorations, and sets the `<currentcolor>` value. `currentcolor` may be used as an indirect value on _other_ properties and is the default for other color properties, such as `border-color`.
10112   *
10113   * **Syntax**: `<color>`
10114   *
10115   * **Initial value**: Varies from one browser to another
10116   *
10117   * | Chrome | Firefox | Safari |  Edge  |  IE   |
10118   * | :----: | :-----: | :----: | :----: | :---: |
10119   * | **1**  |  **1**  | **1**  | **12** | **3** |
10120   *
10121   * @see https://developer.mozilla.org/docs/Web/CSS/color
10122   */
10123  color?: Property.Color;
10124  /**
10125   * The **`color-adjust`** CSS property sets what, if anything, the user agent may do to optimize the appearance of the element on the output device. By default, the browser is allowed to make any adjustments to the element's appearance it determines to be necessary and prudent given the type and capabilities of the output device.
10126   *
10127   * **Syntax**: `economy | exact`
10128   *
10129   * **Initial value**: `economy`
10130   *
10131   * |                Chrome                 | Firefox |                Safari                |                 Edge                  | IE  |
10132   * | :-----------------------------------: | :-----: | :----------------------------------: | :-----------------------------------: | :-: |
10133   * | **49** _(-webkit-print-color-adjust)_ | **48**  | **6** _(-webkit-print-color-adjust)_ | **79** _(-webkit-print-color-adjust)_ | No  |
10134   *
10135   * @see https://developer.mozilla.org/docs/Web/CSS/color-adjust
10136   */
10137  "color-adjust"?: Property.ColorAdjust;
10138  /**
10139   * The **`color-scheme`** CSS property allows an element to indicate which color schemes it can comfortably be rendered in.
10140   *
10141   * **Syntax**: `normal | [ light | dark | <custom-ident> ]+`
10142   *
10143   * **Initial value**: `normal`
10144   *
10145   * | Chrome | Firefox | Safari |  Edge  | IE  |
10146   * | :----: | :-----: | :----: | :----: | :-: |
10147   * | **81** |   No    | **13** | **81** | No  |
10148   *
10149   * @see https://developer.mozilla.org/docs/Web/CSS/color-scheme
10150   */
10151  "color-scheme"?: Property.ColorScheme;
10152  /**
10153   * The **`column-count`** CSS property breaks an element's content into the specified number of columns.
10154   *
10155   * **Syntax**: `<integer> | auto`
10156   *
10157   * **Initial value**: `auto`
10158   *
10159   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
10160   * | :-----: | :-----: | :-----: | :----: | :----: |
10161   * | **50**  | **52**  |  **9**  | **12** | **10** |
10162   * | 1 _-x-_ |         | 3 _-x-_ |        |        |
10163   *
10164   * @see https://developer.mozilla.org/docs/Web/CSS/column-count
10165   */
10166  "column-count"?: Property.ColumnCount;
10167  /**
10168   * The **`column-fill`** CSS property controls how an element's contents are balanced when broken into columns.
10169   *
10170   * **Syntax**: `auto | balance | balance-all`
10171   *
10172   * **Initial value**: `balance`
10173   *
10174   * | Chrome | Firefox | Safari  |  Edge  |   IE   |
10175   * | :----: | :-----: | :-----: | :----: | :----: |
10176   * | **50** | **52**  |  **9**  | **12** | **10** |
10177   * |        |         | 8 _-x-_ |        |        |
10178   *
10179   * @see https://developer.mozilla.org/docs/Web/CSS/column-fill
10180   */
10181  "column-fill"?: Property.ColumnFill;
10182  /**
10183   * The **`column-gap`** CSS property sets the size of the gap (gutter) between an element's columns.
10184   *
10185   * **Syntax**: `normal | <length-percentage>`
10186   *
10187   * **Initial value**: `normal`
10188   *
10189   * ---
10190   *
10191   * _Supported in Flex Layout_
10192   *
10193   * | Chrome | Firefox | Safari |  Edge  | IE  |
10194   * | :----: | :-----: | :----: | :----: | :-: |
10195   * | **84** | **63**  |   No   | **84** | No  |
10196   *
10197   * ---
10198   *
10199   * _Supported in Grid Layout_
10200   *
10201   * |         Chrome         |        Firefox         |          Safari          |  Edge  | IE  |
10202   * | :--------------------: | :--------------------: | :----------------------: | :----: | :-: |
10203   * |         **66**         |         **61**         |         **12.1**         | **16** | No  |
10204   * | 57 _(grid-column-gap)_ | 52 _(grid-column-gap)_ | 10.1 _(grid-column-gap)_ |        |     |
10205   *
10206   * ---
10207   *
10208   * _Supported in Multi-column Layout_
10209   *
10210   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
10211   * | :-----: | :-----: | :-----: | :----: | :----: |
10212   * | **50**  | **52**  | **10**  | **12** | **10** |
10213   * | 1 _-x-_ |         | 3 _-x-_ |        |        |
10214   *
10215   * ---
10216   *
10217   * @see https://developer.mozilla.org/docs/Web/CSS/column-gap
10218   */
10219  "column-gap"?: Property.ColumnGap<TLength>;
10220  /**
10221   * The **`column-rule-color`** CSS property sets the color of the line drawn between columns in a multi-column layout.
10222   *
10223   * **Syntax**: `<color>`
10224   *
10225   * **Initial value**: `currentcolor`
10226   *
10227   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
10228   * | :-----: | :-----: | :-----: | :----: | :----: |
10229   * | **50**  | **52**  |  **9**  | **12** | **10** |
10230   * | 1 _-x-_ |         | 3 _-x-_ |        |        |
10231   *
10232   * @see https://developer.mozilla.org/docs/Web/CSS/column-rule-color
10233   */
10234  "column-rule-color"?: Property.ColumnRuleColor;
10235  /**
10236   * The **`column-rule-style`** CSS property sets the style of the line drawn between columns in a multi-column layout.
10237   *
10238   * **Syntax**: `<'border-style'>`
10239   *
10240   * **Initial value**: `none`
10241   *
10242   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
10243   * | :-----: | :-----: | :-----: | :----: | :----: |
10244   * | **50**  | **52**  |  **9**  | **12** | **10** |
10245   * | 1 _-x-_ |         | 3 _-x-_ |        |        |
10246   *
10247   * @see https://developer.mozilla.org/docs/Web/CSS/column-rule-style
10248   */
10249  "column-rule-style"?: Property.ColumnRuleStyle;
10250  /**
10251   * The **`column-rule-width`** CSS property sets the width of the line drawn between columns in a multi-column layout.
10252   *
10253   * **Syntax**: `<'border-width'>`
10254   *
10255   * **Initial value**: `medium`
10256   *
10257   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
10258   * | :-----: | :-----: | :-----: | :----: | :----: |
10259   * | **50**  | **52**  |  **9**  | **12** | **10** |
10260   * | 1 _-x-_ |         | 3 _-x-_ |        |        |
10261   *
10262   * @see https://developer.mozilla.org/docs/Web/CSS/column-rule-width
10263   */
10264  "column-rule-width"?: Property.ColumnRuleWidth<TLength>;
10265  /**
10266   * The **`column-span`** CSS property makes it possible for an element to span across all columns when its value is set to `all`.
10267   *
10268   * **Syntax**: `none | all`
10269   *
10270   * **Initial value**: `none`
10271   *
10272   * | Chrome  | Firefox |  Safari   |  Edge  |   IE   |
10273   * | :-----: | :-----: | :-------: | :----: | :----: |
10274   * | **50**  | **71**  |   **9**   | **12** | **10** |
10275   * | 6 _-x-_ |         | 5.1 _-x-_ |        |        |
10276   *
10277   * @see https://developer.mozilla.org/docs/Web/CSS/column-span
10278   */
10279  "column-span"?: Property.ColumnSpan;
10280  /**
10281   * The **`column-width`** CSS property sets the ideal column width in a multi-column layout. The container will have as many columns as can fit without any of them having a width less than the `column-width` value. If the width of the container is narrower than the specified value, the single column's width will be smaller than the declared column width.
10282   *
10283   * **Syntax**: `<length> | auto`
10284   *
10285   * **Initial value**: `auto`
10286   *
10287   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
10288   * | :-----: | :-----: | :-----: | :----: | :----: |
10289   * | **50**  | **50**  |  **9**  | **12** | **10** |
10290   * | 1 _-x-_ |         | 3 _-x-_ |        |        |
10291   *
10292   * @see https://developer.mozilla.org/docs/Web/CSS/column-width
10293   */
10294  "column-width"?: Property.ColumnWidth<TLength>;
10295  /**
10296   * The **`contain`** CSS property allows an author to indicate that an element and its contents are, as much as possible, _independent_ of the rest of the document tree. This allows the browser to recalculate layout, style, paint, size, or any combination of them for a limited area of the DOM and not the entire page, leading to obvious performance benefits.
10297   *
10298   * **Syntax**: `none | strict | content | [ size || layout || style || paint ]`
10299   *
10300   * **Initial value**: `none`
10301   *
10302   * | Chrome | Firefox | Safari |  Edge  | IE  |
10303   * | :----: | :-----: | :----: | :----: | :-: |
10304   * | **52** | **69**  |   No   | **79** | No  |
10305   *
10306   * @see https://developer.mozilla.org/docs/Web/CSS/contain
10307   */
10308  contain?: Property.Contain;
10309  /**
10310   * The **`content`** CSS property replaces an element with a generated value. Objects inserted using the `content` property are **anonymous replaced elements**_._
10311   *
10312   * **Syntax**: `normal | none | [ <content-replacement> | <content-list> ] [/ <string> ]?`
10313   *
10314   * **Initial value**: `normal`
10315   *
10316   * | Chrome | Firefox | Safari |  Edge  |  IE   |
10317   * | :----: | :-----: | :----: | :----: | :---: |
10318   * | **1**  |  **1**  | **1**  | **12** | **8** |
10319   *
10320   * @see https://developer.mozilla.org/docs/Web/CSS/content
10321   */
10322  content?: Property.Content;
10323  /**
10324   * The **`content-visibility`** CSS property controls whether or not an element renders its contents at all, along with forcing a strong set of containments, allowing user agents to potentially omit large swathes of layout and rendering work until it becomes needed. Basically it enables the user agent to skip an element's rendering work, including layout and painting, until it is needed, makes the initial page load much faster.
10325   *
10326   * **Syntax**: `visible | auto | hidden`
10327   *
10328   * **Initial value**: `visible`
10329   *
10330   * | Chrome | Firefox | Safari |  Edge  | IE  |
10331   * | :----: | :-----: | :----: | :----: | :-: |
10332   * | **85** |   No    |   No   | **85** | No  |
10333   *
10334   * @see https://developer.mozilla.org/docs/Web/CSS/content-visibility
10335   */
10336  "content-visibility"?: Property.ContentVisibility;
10337  /**
10338   * The **`counter-increment`** CSS property increases or decreases the value of a CSS counter by a given value.
10339   *
10340   * **Syntax**: `[ <custom-ident> <integer>? ]+ | none`
10341   *
10342   * **Initial value**: `none`
10343   *
10344   * | Chrome | Firefox | Safari |  Edge  |  IE   |
10345   * | :----: | :-----: | :----: | :----: | :---: |
10346   * | **2**  |  **1**  | **3**  | **12** | **8** |
10347   *
10348   * @see https://developer.mozilla.org/docs/Web/CSS/counter-increment
10349   */
10350  "counter-increment"?: Property.CounterIncrement;
10351  /**
10352   * The **`counter-reset`** CSS property resets a CSS counter to a given value.
10353   *
10354   * **Syntax**: `[ <custom-ident> <integer>? ]+ | none`
10355   *
10356   * **Initial value**: `none`
10357   *
10358   * | Chrome | Firefox | Safari |  Edge  |  IE   |
10359   * | :----: | :-----: | :----: | :----: | :---: |
10360   * | **2**  |  **1**  | **3**  | **12** | **8** |
10361   *
10362   * @see https://developer.mozilla.org/docs/Web/CSS/counter-reset
10363   */
10364  "counter-reset"?: Property.CounterReset;
10365  /**
10366   * The **`counter-set`** CSS property sets a CSS counter to a given value. It manipulates the value of existing counters, and will only create new counters if there isn't already a counter of the given name on the element.
10367   *
10368   * **Syntax**: `[ <custom-ident> <integer>? ]+ | none`
10369   *
10370   * **Initial value**: `none`
10371   *
10372   * | Chrome | Firefox | Safari |  Edge  | IE  |
10373   * | :----: | :-----: | :----: | :----: | :-: |
10374   * | **85** | **68**  |   No   | **85** | No  |
10375   *
10376   * @see https://developer.mozilla.org/docs/Web/CSS/counter-set
10377   */
10378  "counter-set"?: Property.CounterSet;
10379  /**
10380   * The **`cursor`** CSS property sets the type of mouse cursor, if any, to show when the mouse pointer is over an element.
10381   *
10382   * **Syntax**: `[ [ <url> [ <x> <y> ]? , ]* [ auto | default | none | context-menu | help | pointer | progress | wait | cell | crosshair | text | vertical-text | alias | copy | move | no-drop | not-allowed | e-resize | n-resize | ne-resize | nw-resize | s-resize | se-resize | sw-resize | w-resize | ew-resize | ns-resize | nesw-resize | nwse-resize | col-resize | row-resize | all-scroll | zoom-in | zoom-out | grab | grabbing ] ]`
10383   *
10384   * **Initial value**: `auto`
10385   *
10386   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
10387   * | :----: | :-----: | :-----: | :----: | :---: |
10388   * | **1**  |  **1**  | **1.2** | **12** | **4** |
10389   *
10390   * @see https://developer.mozilla.org/docs/Web/CSS/cursor
10391   */
10392  cursor?: Property.Cursor;
10393  /**
10394   * The **`direction`** CSS property sets the direction of text, table columns, and horizontal overflow. Use `rtl` for languages written from right to left (like Hebrew or Arabic), and `ltr` for those written from left to right (like English and most other languages).
10395   *
10396   * **Syntax**: `ltr | rtl`
10397   *
10398   * **Initial value**: `ltr`
10399   *
10400   * | Chrome | Firefox | Safari |  Edge  |   IE    |
10401   * | :----: | :-----: | :----: | :----: | :-----: |
10402   * | **2**  |  **1**  | **1**  | **12** | **5.5** |
10403   *
10404   * @see https://developer.mozilla.org/docs/Web/CSS/direction
10405   */
10406  direction?: Property.Direction;
10407  /**
10408   * The **`display`** CSS property sets whether an element is treated as a block or inline element and the layout used for its children, such as flow layout, grid or flex.
10409   *
10410   * **Syntax**: `[ <display-outside> || <display-inside> ] | <display-listitem> | <display-internal> | <display-box> | <display-legacy>`
10411   *
10412   * **Initial value**: `inline`
10413   *
10414   * | Chrome | Firefox | Safari |  Edge  |  IE   |
10415   * | :----: | :-----: | :----: | :----: | :---: |
10416   * | **1**  |  **1**  | **1**  | **12** | **4** |
10417   *
10418   * @see https://developer.mozilla.org/docs/Web/CSS/display
10419   */
10420  display?: Property.Display;
10421  /**
10422   * The **`empty-cells`** CSS property sets whether borders and backgrounds appear around `<table>` cells that have no visible content.
10423   *
10424   * **Syntax**: `show | hide`
10425   *
10426   * **Initial value**: `show`
10427   *
10428   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
10429   * | :----: | :-----: | :-----: | :----: | :---: |
10430   * | **1**  |  **1**  | **1.2** | **12** | **8** |
10431   *
10432   * @see https://developer.mozilla.org/docs/Web/CSS/empty-cells
10433   */
10434  "empty-cells"?: Property.EmptyCells;
10435  /**
10436   * The **`filter`** CSS property applies graphical effects like blur or color shift to an element. Filters are commonly used to adjust the rendering of images, backgrounds, and borders.
10437   *
10438   * **Syntax**: `none | <filter-function-list>`
10439   *
10440   * **Initial value**: `none`
10441   *
10442   * |  Chrome  | Firefox | Safari  |  Edge  | IE  |
10443   * | :------: | :-----: | :-----: | :----: | :-: |
10444   * |  **53**  | **35**  | **9.1** | **12** | No  |
10445   * | 18 _-x-_ |         | 6 _-x-_ |        |     |
10446   *
10447   * @see https://developer.mozilla.org/docs/Web/CSS/filter
10448   */
10449  filter?: Property.Filter;
10450  /**
10451   * The **`flex-basis`** CSS property sets the initial main size of a flex item. It sets the size of the content box unless otherwise set with `box-sizing`.
10452   *
10453   * **Syntax**: `content | <'width'>`
10454   *
10455   * **Initial value**: `auto`
10456   *
10457   * |  Chrome  | Firefox | Safari  |  Edge  |   IE   |
10458   * | :------: | :-----: | :-----: | :----: | :----: |
10459   * |  **29**  | **22**  |  **9**  | **12** | **11** |
10460   * | 22 _-x-_ |         | 7 _-x-_ |        |        |
10461   *
10462   * @see https://developer.mozilla.org/docs/Web/CSS/flex-basis
10463   */
10464  "flex-basis"?: Property.FlexBasis<TLength>;
10465  /**
10466   * The **`flex-direction`** CSS property sets how flex items are placed in the flex container defining the main axis and the direction (normal or reversed).
10467   *
10468   * **Syntax**: `row | row-reverse | column | column-reverse`
10469   *
10470   * **Initial value**: `row`
10471   *
10472   * |  Chrome  | Firefox | Safari  |  Edge  |    IE    |
10473   * | :------: | :-----: | :-----: | :----: | :------: |
10474   * |  **29**  | **20**  |  **9**  | **12** |  **11**  |
10475   * | 21 _-x-_ |         | 7 _-x-_ |        | 10 _-x-_ |
10476   *
10477   * @see https://developer.mozilla.org/docs/Web/CSS/flex-direction
10478   */
10479  "flex-direction"?: Property.FlexDirection;
10480  /**
10481   * The **`flex-grow`** CSS property sets the flex grow factor of a flex item main size.
10482   *
10483   * **Syntax**: `<number>`
10484   *
10485   * **Initial value**: `0`
10486   *
10487   * |  Chrome  | Firefox |  Safari   |  Edge  |            IE            |
10488   * | :------: | :-----: | :-------: | :----: | :----------------------: |
10489   * |  **29**  | **20**  |   **9**   | **12** |          **11**          |
10490   * | 22 _-x-_ |         | 6.1 _-x-_ |        | 10 _(-ms-flex-positive)_ |
10491   *
10492   * @see https://developer.mozilla.org/docs/Web/CSS/flex-grow
10493   */
10494  "flex-grow"?: Property.FlexGrow;
10495  /**
10496   * The **`flex-shrink`** CSS property sets the flex shrink factor of a flex item. If the size of all flex items is larger than the flex container, items shrink to fit according to `flex-shrink`.
10497   *
10498   * **Syntax**: `<number>`
10499   *
10500   * **Initial value**: `1`
10501   *
10502   * |  Chrome  | Firefox | Safari  |  Edge  |   IE   |
10503   * | :------: | :-----: | :-----: | :----: | :----: |
10504   * |  **29**  | **20**  |  **9**  | **12** | **10** |
10505   * | 22 _-x-_ |         | 8 _-x-_ |        |        |
10506   *
10507   * @see https://developer.mozilla.org/docs/Web/CSS/flex-shrink
10508   */
10509  "flex-shrink"?: Property.FlexShrink;
10510  /**
10511   * The **`flex-wrap`** CSS property sets whether flex items are forced onto one line or can wrap onto multiple lines. If wrapping is allowed, it sets the direction that lines are stacked.
10512   *
10513   * **Syntax**: `nowrap | wrap | wrap-reverse`
10514   *
10515   * **Initial value**: `nowrap`
10516   *
10517   * |  Chrome  | Firefox |  Safari   |  Edge  |   IE   |
10518   * | :------: | :-----: | :-------: | :----: | :----: |
10519   * |  **29**  | **28**  |   **9**   | **12** | **11** |
10520   * | 21 _-x-_ |         | 6.1 _-x-_ |        |        |
10521   *
10522   * @see https://developer.mozilla.org/docs/Web/CSS/flex-wrap
10523   */
10524  "flex-wrap"?: Property.FlexWrap;
10525  /**
10526   * The **`float`** CSS property places an element on the left or right side of its container, allowing text and inline elements to wrap around it. The element is removed from the normal flow of the page, though still remaining a part of the flow (in contrast to absolute positioning).
10527   *
10528   * **Syntax**: `left | right | none | inline-start | inline-end`
10529   *
10530   * **Initial value**: `none`
10531   *
10532   * | Chrome | Firefox | Safari |  Edge  |  IE   |
10533   * | :----: | :-----: | :----: | :----: | :---: |
10534   * | **1**  |  **1**  | **1**  | **12** | **4** |
10535   *
10536   * @see https://developer.mozilla.org/docs/Web/CSS/float
10537   */
10538  float?: Property.Float;
10539  /**
10540   * The **`font-family`** CSS property specifies a prioritized list of one or more font family names and/or generic family names for the selected element.
10541   *
10542   * **Syntax**: `[ <family-name> | <generic-family> ]#`
10543   *
10544   * **Initial value**: depends on user agent
10545   *
10546   * | Chrome | Firefox | Safari |  Edge  |  IE   |
10547   * | :----: | :-----: | :----: | :----: | :---: |
10548   * | **1**  |  **1**  | **1**  | **12** | **3** |
10549   *
10550   * @see https://developer.mozilla.org/docs/Web/CSS/font-family
10551   */
10552  "font-family"?: Property.FontFamily;
10553  /**
10554   * The **`font-feature-settings`** CSS property controls advanced typographic features in OpenType fonts.
10555   *
10556   * **Syntax**: `normal | <feature-tag-value>#`
10557   *
10558   * **Initial value**: `normal`
10559   *
10560   * |  Chrome  | Firefox  | Safari  |  Edge  |   IE   |
10561   * | :------: | :------: | :-----: | :----: | :----: |
10562   * |  **48**  |  **34**  | **9.1** | **15** | **10** |
10563   * | 16 _-x-_ | 15 _-x-_ |         |        |        |
10564   *
10565   * @see https://developer.mozilla.org/docs/Web/CSS/font-feature-settings
10566   */
10567  "font-feature-settings"?: Property.FontFeatureSettings;
10568  /**
10569   * The **`font-kerning`** CSS property sets the use of the kerning information stored in a font.
10570   *
10571   * **Syntax**: `auto | normal | none`
10572   *
10573   * **Initial value**: `auto`
10574   *
10575   * | Chrome | Firefox | Safari  |  Edge  | IE  |
10576   * | :----: | :-----: | :-----: | :----: | :-: |
10577   * | **33** | **32**  |  **9**  | **79** | No  |
10578   * |        |         | 6 _-x-_ |        |     |
10579   *
10580   * @see https://developer.mozilla.org/docs/Web/CSS/font-kerning
10581   */
10582  "font-kerning"?: Property.FontKerning;
10583  /**
10584   * The **`font-language-override`** CSS property controls the use of language-specific glyphs in a typeface.
10585   *
10586   * **Syntax**: `normal | <string>`
10587   *
10588   * **Initial value**: `normal`
10589   *
10590   * | Chrome | Firefox | Safari | Edge | IE  |
10591   * | :----: | :-----: | :----: | :--: | :-: |
10592   * |   No   | **34**  |   No   |  No  | No  |
10593   * |        | 4 _-x-_ |        |      |     |
10594   *
10595   * @see https://developer.mozilla.org/docs/Web/CSS/font-language-override
10596   */
10597  "font-language-override"?: Property.FontLanguageOverride;
10598  /**
10599   * The **`font-optical-sizing`** CSS property sets whether text rendering is optimized for viewing at different sizes.
10600   *
10601   * **Syntax**: `auto | none`
10602   *
10603   * **Initial value**: `auto`
10604   *
10605   * | Chrome | Firefox | Safari |  Edge  | IE  |
10606   * | :----: | :-----: | :----: | :----: | :-: |
10607   * | **79** | **62**  | **11** | **17** | No  |
10608   *
10609   * @see https://developer.mozilla.org/docs/Web/CSS/font-optical-sizing
10610   */
10611  "font-optical-sizing"?: Property.FontOpticalSizing;
10612  /**
10613   * The **`font-size`** CSS property sets the size of the font. Changing the font size also updates the sizes of the font size-relative `<length>` units, such as `em`, `ex`, and so forth.
10614   *
10615   * **Syntax**: `<absolute-size> | <relative-size> | <length-percentage>`
10616   *
10617   * **Initial value**: `medium`
10618   *
10619   * | Chrome | Firefox | Safari |  Edge  |   IE    |
10620   * | :----: | :-----: | :----: | :----: | :-----: |
10621   * | **1**  |  **1**  | **1**  | **12** | **5.5** |
10622   *
10623   * @see https://developer.mozilla.org/docs/Web/CSS/font-size
10624   */
10625  "font-size"?: Property.FontSize<TLength>;
10626  /**
10627   * The **`font-size-adjust`** CSS property sets the size of lower-case letters relative to the current font size (which defines the size of upper-case letters).
10628   *
10629   * **Syntax**: `none | <number>`
10630   *
10631   * **Initial value**: `none`
10632   *
10633   * | Chrome | Firefox | Safari | Edge | IE  |
10634   * | :----: | :-----: | :----: | :--: | :-: |
10635   * |  n/a   |  **1**  |   No   | n/a  | No  |
10636   *
10637   * @see https://developer.mozilla.org/docs/Web/CSS/font-size-adjust
10638   */
10639  "font-size-adjust"?: Property.FontSizeAdjust;
10640  /**
10641   * The **`font-smooth`** CSS property controls the application of anti-aliasing when fonts are rendered.
10642   *
10643   * **Syntax**: `auto | never | always | <absolute-size> | <length>`
10644   *
10645   * **Initial value**: `auto`
10646   *
10647   * |              Chrome              |              Firefox               |              Safari              |               Edge                | IE  |
10648   * | :------------------------------: | :--------------------------------: | :------------------------------: | :-------------------------------: | :-: |
10649   * | **5** _(-webkit-font-smoothing)_ | **25** _(-moz-osx-font-smoothing)_ | **4** _(-webkit-font-smoothing)_ | **79** _(-webkit-font-smoothing)_ | No  |
10650   *
10651   * @see https://developer.mozilla.org/docs/Web/CSS/font-smooth
10652   */
10653  "font-smooth"?: Property.FontSmooth<TLength>;
10654  /**
10655   * The **`font-stretch`** CSS property selects a normal, condensed, or expanded face from a font.
10656   *
10657   * **Syntax**: `<font-stretch-absolute>`
10658   *
10659   * **Initial value**: `normal`
10660   *
10661   * | Chrome | Firefox | Safari |  Edge  |  IE   |
10662   * | :----: | :-----: | :----: | :----: | :---: |
10663   * | **60** |  **9**  | **11** | **12** | **9** |
10664   *
10665   * @see https://developer.mozilla.org/docs/Web/CSS/font-stretch
10666   */
10667  "font-stretch"?: Property.FontStretch;
10668  /**
10669   * The **`font-style`** CSS property sets whether a font should be styled with a normal, italic, or oblique face from its `font-family`.
10670   *
10671   * **Syntax**: `normal | italic | oblique <angle>?`
10672   *
10673   * **Initial value**: `normal`
10674   *
10675   * | Chrome | Firefox | Safari |  Edge  |  IE   |
10676   * | :----: | :-----: | :----: | :----: | :---: |
10677   * | **1**  |  **1**  | **1**  | **12** | **4** |
10678   *
10679   * @see https://developer.mozilla.org/docs/Web/CSS/font-style
10680   */
10681  "font-style"?: Property.FontStyle;
10682  /**
10683   * The **`font-synthesis`** CSS property controls which missing typefaces, bold or italic, may be synthesized by the browser.
10684   *
10685   * **Syntax**: `none | [ weight || style ]`
10686   *
10687   * **Initial value**: `weight style`
10688   *
10689   * | Chrome | Firefox | Safari | Edge | IE  |
10690   * | :----: | :-----: | :----: | :--: | :-: |
10691   * |   No   | **34**  | **9**  |  No  | No  |
10692   *
10693   * @see https://developer.mozilla.org/docs/Web/CSS/font-synthesis
10694   */
10695  "font-synthesis"?: Property.FontSynthesis;
10696  /**
10697   * The **`font-variant`** CSS shorthand property allows you to set all the font variants for a font.
10698   *
10699   * **Syntax**: `normal | none | [ <common-lig-values> || <discretionary-lig-values> || <historical-lig-values> || <contextual-alt-values> || stylistic( <feature-value-name> ) || historical-forms || styleset( <feature-value-name># ) || character-variant( <feature-value-name># ) || swash( <feature-value-name> ) || ornaments( <feature-value-name> ) || annotation( <feature-value-name> ) || [ small-caps | all-small-caps | petite-caps | all-petite-caps | unicase | titling-caps ] || <numeric-figure-values> || <numeric-spacing-values> || <numeric-fraction-values> || ordinal || slashed-zero || <east-asian-variant-values> || <east-asian-width-values> || ruby ]`
10700   *
10701   * **Initial value**: `normal`
10702   *
10703   * | Chrome | Firefox | Safari |  Edge  |  IE   |
10704   * | :----: | :-----: | :----: | :----: | :---: |
10705   * | **1**  |  **1**  | **1**  | **12** | **4** |
10706   *
10707   * @see https://developer.mozilla.org/docs/Web/CSS/font-variant
10708   */
10709  "font-variant"?: Property.FontVariant;
10710  /**
10711   * The **`font-variant-caps`** CSS property controls the use of alternate glyphs for capital letters.
10712   *
10713   * **Syntax**: `normal | small-caps | all-small-caps | petite-caps | all-petite-caps | unicase | titling-caps`
10714   *
10715   * **Initial value**: `normal`
10716   *
10717   * | Chrome | Firefox | Safari  |  Edge  | IE  |
10718   * | :----: | :-----: | :-----: | :----: | :-: |
10719   * | **52** | **34**  | **9.1** | **79** | No  |
10720   *
10721   * @see https://developer.mozilla.org/docs/Web/CSS/font-variant-caps
10722   */
10723  "font-variant-caps"?: Property.FontVariantCaps;
10724  /**
10725   * The **`font-variant-east-asian`** CSS property controls the use of alternate glyphs for East Asian scripts, like Japanese and Chinese.
10726   *
10727   * **Syntax**: `normal | [ <east-asian-variant-values> || <east-asian-width-values> || ruby ]`
10728   *
10729   * **Initial value**: `normal`
10730   *
10731   * | Chrome | Firefox | Safari |  Edge  | IE  |
10732   * | :----: | :-----: | :----: | :----: | :-: |
10733   * | **63** | **34**  |   No   | **79** | No  |
10734   *
10735   * @see https://developer.mozilla.org/docs/Web/CSS/font-variant-east-asian
10736   */
10737  "font-variant-east-asian"?: Property.FontVariantEastAsian;
10738  /**
10739   * The **`font-variant-ligatures`** CSS property controls which ligatures and contextual forms are used in textual content of the elements it applies to. This leads to more harmonized forms in the resulting text.
10740   *
10741   * **Syntax**: `normal | none | [ <common-lig-values> || <discretionary-lig-values> || <historical-lig-values> || <contextual-alt-values> ]`
10742   *
10743   * **Initial value**: `normal`
10744   *
10745   * |  Chrome  | Firefox | Safari  |  Edge  | IE  |
10746   * | :------: | :-----: | :-----: | :----: | :-: |
10747   * |  **34**  | **34**  | **9.1** | **79** | No  |
10748   * | 31 _-x-_ |         | 7 _-x-_ |        |     |
10749   *
10750   * @see https://developer.mozilla.org/docs/Web/CSS/font-variant-ligatures
10751   */
10752  "font-variant-ligatures"?: Property.FontVariantLigatures;
10753  /**
10754   * The **`font-variant-numeric`** CSS property controls the usage of alternate glyphs for numbers, fractions, and ordinal markers.
10755   *
10756   * **Syntax**: `normal | [ <numeric-figure-values> || <numeric-spacing-values> || <numeric-fraction-values> || ordinal || slashed-zero ]`
10757   *
10758   * **Initial value**: `normal`
10759   *
10760   * | Chrome | Firefox | Safari  |  Edge  | IE  |
10761   * | :----: | :-----: | :-----: | :----: | :-: |
10762   * | **52** | **34**  | **9.1** | **79** | No  |
10763   *
10764   * @see https://developer.mozilla.org/docs/Web/CSS/font-variant-numeric
10765   */
10766  "font-variant-numeric"?: Property.FontVariantNumeric;
10767  /**
10768   * The **`font-variant-position`** CSS property controls the use of alternate, smaller glyphs that are positioned as superscript or subscript.
10769   *
10770   * **Syntax**: `normal | sub | super`
10771   *
10772   * **Initial value**: `normal`
10773   *
10774   * | Chrome | Firefox | Safari | Edge | IE  |
10775   * | :----: | :-----: | :----: | :--: | :-: |
10776   * |   No   | **34**  |   No   |  No  | No  |
10777   *
10778   * @see https://developer.mozilla.org/docs/Web/CSS/font-variant-position
10779   */
10780  "font-variant-position"?: Property.FontVariantPosition;
10781  /**
10782   * The **`font-variation-settings`** CSS property provides low-level control over variable font characteristics, by specifying the four letter axis names of the characteristics you want to vary, along with their values.
10783   *
10784   * **Syntax**: `normal | [ <string> <number> ]#`
10785   *
10786   * **Initial value**: `normal`
10787   *
10788   * | Chrome | Firefox | Safari |  Edge  | IE  |
10789   * | :----: | :-----: | :----: | :----: | :-: |
10790   * | **62** | **62**  | **11** | **17** | No  |
10791   *
10792   * @see https://developer.mozilla.org/docs/Web/CSS/font-variation-settings
10793   */
10794  "font-variation-settings"?: Property.FontVariationSettings;
10795  /**
10796   * The **`font-weight`** CSS property sets the weight (or boldness) of the font. The weights available depend on the `font-family` that is currently set.
10797   *
10798   * **Syntax**: `<font-weight-absolute> | bolder | lighter`
10799   *
10800   * **Initial value**: `normal`
10801   *
10802   * | Chrome | Firefox | Safari |  Edge  |  IE   |
10803   * | :----: | :-----: | :----: | :----: | :---: |
10804   * | **2**  |  **1**  | **1**  | **12** | **3** |
10805   *
10806   * @see https://developer.mozilla.org/docs/Web/CSS/font-weight
10807   */
10808  "font-weight"?: Property.FontWeight;
10809  /**
10810   * The **`forced-color-adjust`** CSS property allows authors to opt certain elements out of forced colors mode. This then restores the control of those values to CSS.
10811   *
10812   * **Syntax**: `auto | none`
10813   *
10814   * **Initial value**: `auto`
10815   *
10816   * | Chrome | Firefox | Safari |              Edge               |                 IE                  |
10817   * | :----: | :-----: | :----: | :-----------------------------: | :---------------------------------: |
10818   * | **89** |   No    |   No   |             **79**              | **10** _(-ms-high-contrast-adjust)_ |
10819   * |        |         |        | 12 _(-ms-high-contrast-adjust)_ |                                     |
10820   *
10821   * @see https://developer.mozilla.org/docs/Web/CSS/forced-color-adjust
10822   */
10823  "forced-color-adjust"?: Property.ForcedColorAdjust;
10824  /**
10825   * The **`grid-auto-columns`** CSS property specifies the size of an implicitly-created grid column track or pattern of tracks.
10826   *
10827   * **Syntax**: `<track-size>+`
10828   *
10829   * **Initial value**: `auto`
10830   *
10831   * | Chrome | Firefox |  Safari  |  Edge  |             IE              |
10832   * | :----: | :-----: | :------: | :----: | :-------------------------: |
10833   * | **57** | **70**  | **10.1** | **16** | **10** _(-ms-grid-columns)_ |
10834   *
10835   * @see https://developer.mozilla.org/docs/Web/CSS/grid-auto-columns
10836   */
10837  "grid-auto-columns"?: Property.GridAutoColumns<TLength>;
10838  /**
10839   * The **`grid-auto-flow`** CSS property controls how the auto-placement algorithm works, specifying exactly how auto-placed items get flowed into the grid.
10840   *
10841   * **Syntax**: `[ row | column ] || dense`
10842   *
10843   * **Initial value**: `row`
10844   *
10845   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
10846   * | :----: | :-----: | :------: | :----: | :-: |
10847   * | **57** | **52**  | **10.1** | **16** | No  |
10848   *
10849   * @see https://developer.mozilla.org/docs/Web/CSS/grid-auto-flow
10850   */
10851  "grid-auto-flow"?: Property.GridAutoFlow;
10852  /**
10853   * The **`grid-auto-rows`** CSS property specifies the size of an implicitly-created grid row track or pattern of tracks.
10854   *
10855   * **Syntax**: `<track-size>+`
10856   *
10857   * **Initial value**: `auto`
10858   *
10859   * | Chrome | Firefox |  Safari  |  Edge  |            IE            |
10860   * | :----: | :-----: | :------: | :----: | :----------------------: |
10861   * | **57** | **70**  | **10.1** | **16** | **10** _(-ms-grid-rows)_ |
10862   *
10863   * @see https://developer.mozilla.org/docs/Web/CSS/grid-auto-rows
10864   */
10865  "grid-auto-rows"?: Property.GridAutoRows<TLength>;
10866  /**
10867   * The **`grid-column-end`** CSS property specifies a grid item’s end position within the grid column by contributing a line, a span, or nothing (automatic) to its grid placement, thereby specifying the block-end edge of its grid area.
10868   *
10869   * **Syntax**: `<grid-line>`
10870   *
10871   * **Initial value**: `auto`
10872   *
10873   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
10874   * | :----: | :-----: | :------: | :----: | :-: |
10875   * | **57** | **52**  | **10.1** | **16** | No  |
10876   *
10877   * @see https://developer.mozilla.org/docs/Web/CSS/grid-column-end
10878   */
10879  "grid-column-end"?: Property.GridColumnEnd;
10880  /**
10881   * The **`grid-column-start`** CSS property specifies a grid item’s start position within the grid column by contributing a line, a span, or nothing (automatic) to its grid placement. This start position defines the block-start edge of the grid area.
10882   *
10883   * **Syntax**: `<grid-line>`
10884   *
10885   * **Initial value**: `auto`
10886   *
10887   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
10888   * | :----: | :-----: | :------: | :----: | :-: |
10889   * | **57** | **52**  | **10.1** | **16** | No  |
10890   *
10891   * @see https://developer.mozilla.org/docs/Web/CSS/grid-column-start
10892   */
10893  "grid-column-start"?: Property.GridColumnStart;
10894  /**
10895   * The **`grid-row-end`** CSS property specifies a grid item’s end position within the grid row by contributing a line, a span, or nothing (automatic) to its grid placement, thereby specifying the inline-end edge of its grid area.
10896   *
10897   * **Syntax**: `<grid-line>`
10898   *
10899   * **Initial value**: `auto`
10900   *
10901   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
10902   * | :----: | :-----: | :------: | :----: | :-: |
10903   * | **57** | **52**  | **10.1** | **16** | No  |
10904   *
10905   * @see https://developer.mozilla.org/docs/Web/CSS/grid-row-end
10906   */
10907  "grid-row-end"?: Property.GridRowEnd;
10908  /**
10909   * The **`grid-row-start`** CSS property specifies a grid item’s start position within the grid row by contributing a line, a span, or nothing (automatic) to its grid placement, thereby specifying the inline-start edge of its grid area.
10910   *
10911   * **Syntax**: `<grid-line>`
10912   *
10913   * **Initial value**: `auto`
10914   *
10915   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
10916   * | :----: | :-----: | :------: | :----: | :-: |
10917   * | **57** | **52**  | **10.1** | **16** | No  |
10918   *
10919   * @see https://developer.mozilla.org/docs/Web/CSS/grid-row-start
10920   */
10921  "grid-row-start"?: Property.GridRowStart;
10922  /**
10923   * The **`grid-template-areas`** CSS property specifies named grid areas, establishing the cells in the grid and assigning them names.
10924   *
10925   * **Syntax**: `none | <string>+`
10926   *
10927   * **Initial value**: `none`
10928   *
10929   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
10930   * | :----: | :-----: | :------: | :----: | :-: |
10931   * | **57** | **52**  | **10.1** | **16** | No  |
10932   *
10933   * @see https://developer.mozilla.org/docs/Web/CSS/grid-template-areas
10934   */
10935  "grid-template-areas"?: Property.GridTemplateAreas;
10936  /**
10937   * The **`grid-template-columns`** CSS property defines the line names and track sizing functions of the grid columns.
10938   *
10939   * **Syntax**: `none | <track-list> | <auto-track-list> | subgrid <line-name-list>?`
10940   *
10941   * **Initial value**: `none`
10942   *
10943   * | Chrome | Firefox |  Safari  |  Edge  |             IE              |
10944   * | :----: | :-----: | :------: | :----: | :-------------------------: |
10945   * | **57** | **52**  | **10.1** | **16** | **10** _(-ms-grid-columns)_ |
10946   *
10947   * @see https://developer.mozilla.org/docs/Web/CSS/grid-template-columns
10948   */
10949  "grid-template-columns"?: Property.GridTemplateColumns<TLength>;
10950  /**
10951   * The **`grid-template-rows`** CSS property defines the line names and track sizing functions of the grid rows.
10952   *
10953   * **Syntax**: `none | <track-list> | <auto-track-list> | subgrid <line-name-list>?`
10954   *
10955   * **Initial value**: `none`
10956   *
10957   * | Chrome | Firefox |  Safari  |  Edge  |            IE            |
10958   * | :----: | :-----: | :------: | :----: | :----------------------: |
10959   * | **57** | **52**  | **10.1** | **16** | **10** _(-ms-grid-rows)_ |
10960   *
10961   * @see https://developer.mozilla.org/docs/Web/CSS/grid-template-rows
10962   */
10963  "grid-template-rows"?: Property.GridTemplateRows<TLength>;
10964  /**
10965   * The **`hanging-punctuation`** CSS property specifies whether a punctuation mark should hang at the start or end of a line of text. Hanging punctuation may be placed outside the line box.
10966   *
10967   * **Syntax**: `none | [ first || [ force-end | allow-end ] || last ]`
10968   *
10969   * **Initial value**: `none`
10970   *
10971   * | Chrome | Firefox | Safari | Edge | IE  |
10972   * | :----: | :-----: | :----: | :--: | :-: |
10973   * |   No   |   No    | **10** |  No  | No  |
10974   *
10975   * @see https://developer.mozilla.org/docs/Web/CSS/hanging-punctuation
10976   */
10977  "hanging-punctuation"?: Property.HangingPunctuation;
10978  /**
10979   * The **`height`** CSS property specifies the height of an element. By default, the property defines the height of the content area. If `box-sizing` is set to `border-box`, however, it instead determines the height of the border area.
10980   *
10981   * **Syntax**: `auto | <length> | <percentage> | min-content | max-content | fit-content | fit-content(<length-percentage>)`
10982   *
10983   * **Initial value**: `auto`
10984   *
10985   * | Chrome | Firefox | Safari |  Edge  |  IE   |
10986   * | :----: | :-----: | :----: | :----: | :---: |
10987   * | **1**  |  **1**  | **1**  | **12** | **4** |
10988   *
10989   * @see https://developer.mozilla.org/docs/Web/CSS/height
10990   */
10991  height?: Property.Height<TLength>;
10992  /**
10993   * The **`hyphens`** CSS property specifies how words should be hyphenated when text wraps across multiple lines. It can prevent hyphenation entirely, hyphenate at manually-specified points within the text, or let the browser automatically insert hyphens where appropriate.
10994   *
10995   * **Syntax**: `none | manual | auto`
10996   *
10997   * **Initial value**: `manual`
10998   *
10999   * |  Chrome  | Firefox |    Safari     |     Edge     |      IE      |
11000   * | :------: | :-----: | :-----------: | :----------: | :----------: |
11001   * |  **55**  | **43**  | **5.1** _-x-_ | **12** _-x-_ | **10** _-x-_ |
11002   * | 13 _-x-_ | 6 _-x-_ |               |              |              |
11003   *
11004   * @see https://developer.mozilla.org/docs/Web/CSS/hyphens
11005   */
11006  hyphens?: Property.Hyphens;
11007  /**
11008   * The **`image-orientation`** CSS property specifies a layout-independent correction to the orientation of an image. It should _not_ be used for any other orientation adjustments; instead, the `transform` property should be used with the `rotate` `<transform-function>`.
11009   *
11010   * **Syntax**: `from-image | <angle> | [ <angle>? flip ]`
11011   *
11012   * **Initial value**: `from-image`
11013   *
11014   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
11015   * | :----: | :-----: | :------: | :----: | :-: |
11016   * | **81** | **26**  | **13.1** | **81** | No  |
11017   *
11018   * @see https://developer.mozilla.org/docs/Web/CSS/image-orientation
11019   */
11020  "image-orientation"?: Property.ImageOrientation;
11021  /**
11022   * The **`image-rendering`** CSS property sets an image scaling algorithm. The property applies to an element itself, to any images set in its other properties, and to its descendants.
11023   *
11024   * **Syntax**: `auto | crisp-edges | pixelated`
11025   *
11026   * **Initial value**: `auto`
11027   *
11028   * | Chrome | Firefox | Safari |  Edge  | IE  |
11029   * | :----: | :-----: | :----: | :----: | :-: |
11030   * | **13** | **3.6** | **6**  | **79** | No  |
11031   *
11032   * @see https://developer.mozilla.org/docs/Web/CSS/image-rendering
11033   */
11034  "image-rendering"?: Property.ImageRendering;
11035  /**
11036   * **Syntax**: `[ from-image || <resolution> ] && snap?`
11037   *
11038   * **Initial value**: `1dppx`
11039   */
11040  "image-resolution"?: Property.ImageResolution;
11041  /**
11042   * The `initial-letter` CSS property sets styling for dropped, raised, and sunken initial letters.
11043   *
11044   * **Syntax**: `normal | [ <number> <integer>? ]`
11045   *
11046   * **Initial value**: `normal`
11047   *
11048   * | Chrome | Firefox | Safari | Edge | IE  |
11049   * | :----: | :-----: | :----: | :--: | :-: |
11050   * |   No   |   No    | **9**  |  No  | No  |
11051   *
11052   * @see https://developer.mozilla.org/docs/Web/CSS/initial-letter
11053   */
11054  "initial-letter"?: Property.InitialLetter;
11055  /**
11056   * The **`inline-size`** CSS property defines the horizontal or vertical size of an element's block, depending on its writing mode. It corresponds to either the `width` or the `height` property, depending on the value of `writing-mode`.
11057   *
11058   * **Syntax**: `<'width'>`
11059   *
11060   * **Initial value**: `auto`
11061   *
11062   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
11063   * | :----: | :-----: | :------: | :----: | :-: |
11064   * | **57** | **41**  | **12.1** | **79** | No  |
11065   *
11066   * @see https://developer.mozilla.org/docs/Web/CSS/inline-size
11067   */
11068  "inline-size"?: Property.InlineSize<TLength>;
11069  /**
11070   * The **`inset`** CSS property is a shorthand that corresponds to the `top`, `right`, `bottom`, and/or `left` properties. It has the same multi-value syntax of the `margin` shorthand.
11071   *
11072   * **Syntax**: `<'top'>{1,4}`
11073   *
11074   * **Initial value**: `auto`
11075   *
11076   * | Chrome | Firefox | Safari | Edge | IE  |
11077   * | :----: | :-----: | :----: | :--: | :-: |
11078   * | **87** | **66**  |   No   | n/a  | No  |
11079   *
11080   * @see https://developer.mozilla.org/docs/Web/CSS/inset
11081   */
11082  inset?: Property.Inset<TLength>;
11083  /**
11084   * The **`inset-inline`** CSS property defines the logical start and end offsets of an element in the inline direction, which maps to physical offsets depending on the element's writing mode, directionality, and text orientation. It corresponds to the `top` and `bottom`, or `right` and `left` properties depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
11085   *
11086   * **Syntax**: `<'top'>{1,2}`
11087   *
11088   * **Initial value**: `auto`
11089   *
11090   * | Chrome | Firefox | Safari | Edge | IE  |
11091   * | :----: | :-----: | :----: | :--: | :-: |
11092   * | **87** | **63**  |   No   | n/a  | No  |
11093   *
11094   * @see https://developer.mozilla.org/docs/Web/CSS/inset-block
11095   */
11096  "inset-block"?: Property.InsetBlock<TLength>;
11097  /**
11098   * The **`inset-block-end`** CSS property defines the logical block end offset of an element, which maps to a physical inset depending on the element's writing mode, directionality, and text orientation. It corresponds to the `top`, `right`, `bottom`, or `left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
11099   *
11100   * **Syntax**: `<'top'>`
11101   *
11102   * **Initial value**: `auto`
11103   *
11104   * | Chrome | Firefox | Safari | Edge | IE  |
11105   * | :----: | :-----: | :----: | :--: | :-: |
11106   * | **87** | **63**  |   No   | n/a  | No  |
11107   *
11108   * @see https://developer.mozilla.org/docs/Web/CSS/inset-block-end
11109   */
11110  "inset-block-end"?: Property.InsetBlockEnd<TLength>;
11111  /**
11112   * The **`inset-block-start`** CSS property defines the logical block start offset of an element, which maps to a physical inset depending on the element's writing mode, directionality, and text orientation. It corresponds to the `top`, `right`, `bottom`, or `left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
11113   *
11114   * **Syntax**: `<'top'>`
11115   *
11116   * **Initial value**: `auto`
11117   *
11118   * | Chrome | Firefox | Safari | Edge | IE  |
11119   * | :----: | :-----: | :----: | :--: | :-: |
11120   * | **87** | **63**  |   No   | n/a  | No  |
11121   *
11122   * @see https://developer.mozilla.org/docs/Web/CSS/inset-block-start
11123   */
11124  "inset-block-start"?: Property.InsetBlockStart<TLength>;
11125  /**
11126   * The **`inset-inline`** CSS property defines the logical start and end offsets of an element in the inline direction, which maps to physical offsets depending on the element's writing mode, directionality, and text orientation. It corresponds to the `top` and `bottom`, or `right` and `left` properties depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
11127   *
11128   * **Syntax**: `<'top'>{1,2}`
11129   *
11130   * **Initial value**: `auto`
11131   *
11132   * | Chrome | Firefox | Safari | Edge | IE  |
11133   * | :----: | :-----: | :----: | :--: | :-: |
11134   * | **87** | **63**  |   No   | n/a  | No  |
11135   *
11136   * @see https://developer.mozilla.org/docs/Web/CSS/inset-inline
11137   */
11138  "inset-inline"?: Property.InsetInline<TLength>;
11139  /**
11140   * The **`inset-inline-end`** CSS property defines the logical inline end inset of an element, which maps to a physical offset depending on the element's writing mode, directionality, and text orientation. It corresponds to the `top`, `right`, `bottom`, or `left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
11141   *
11142   * **Syntax**: `<'top'>`
11143   *
11144   * **Initial value**: `auto`
11145   *
11146   * | Chrome | Firefox | Safari | Edge | IE  |
11147   * | :----: | :-----: | :----: | :--: | :-: |
11148   * | **87** | **63**  |   No   | n/a  | No  |
11149   *
11150   * @see https://developer.mozilla.org/docs/Web/CSS/inset-inline-end
11151   */
11152  "inset-inline-end"?: Property.InsetInlineEnd<TLength>;
11153  /**
11154   * The **`inset-inline-start`** CSS property defines the logical inline start inset of an element, which maps to a physical offset depending on the element's writing mode, directionality, and text orientation. It corresponds to the `top`, `right`, `bottom`, or `left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
11155   *
11156   * **Syntax**: `<'top'>`
11157   *
11158   * **Initial value**: `auto`
11159   *
11160   * | Chrome | Firefox | Safari | Edge | IE  |
11161   * | :----: | :-----: | :----: | :--: | :-: |
11162   * | **87** | **63**  |   No   | n/a  | No  |
11163   *
11164   * @see https://developer.mozilla.org/docs/Web/CSS/inset-inline-start
11165   */
11166  "inset-inline-start"?: Property.InsetInlineStart<TLength>;
11167  /**
11168   * The **`isolation`** CSS property determines whether an element must create a new stacking context.
11169   *
11170   * **Syntax**: `auto | isolate`
11171   *
11172   * **Initial value**: `auto`
11173   *
11174   * | Chrome | Firefox | Safari |  Edge  | IE  |
11175   * | :----: | :-----: | :----: | :----: | :-: |
11176   * | **41** | **36**  | **8**  | **79** | No  |
11177   *
11178   * @see https://developer.mozilla.org/docs/Web/CSS/isolation
11179   */
11180  isolation?: Property.Isolation;
11181  /**
11182   * The CSS **`justify-content`** property defines how the browser distributes space between and around content items along the main-axis of a flex container, and the inline axis of a grid container.
11183   *
11184   * **Syntax**: `normal | <content-distribution> | <overflow-position>? [ <content-position> | left | right ]`
11185   *
11186   * **Initial value**: `normal`
11187   *
11188   * ---
11189   *
11190   * _Supported in Flex Layout_
11191   *
11192   * |  Chrome  | Firefox |  Safari   |  Edge  |   IE   |
11193   * | :------: | :-----: | :-------: | :----: | :----: |
11194   * |  **52**  | **20**  |   **9**   | **12** | **11** |
11195   * | 21 _-x-_ |         | 6.1 _-x-_ |        |        |
11196   *
11197   * ---
11198   *
11199   * _Supported in Grid Layout_
11200   *
11201   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
11202   * | :----: | :-----: | :------: | :----: | :-: |
11203   * | **57** | **52**  | **10.1** | **16** | No  |
11204   *
11205   * ---
11206   *
11207   * @see https://developer.mozilla.org/docs/Web/CSS/justify-content
11208   */
11209  "justify-content"?: Property.JustifyContent;
11210  /**
11211   * The CSS **`justify-items`** property defines the default `justify-self` for all items of the box, giving them all a default way of justifying each box along the appropriate axis.
11212   *
11213   * **Syntax**: `normal | stretch | <baseline-position> | <overflow-position>? [ <self-position> | left | right ] | legacy | legacy && [ left | right | center ]`
11214   *
11215   * **Initial value**: `legacy`
11216   *
11217   * ---
11218   *
11219   * _Supported in Flex Layout_
11220   *
11221   * | Chrome | Firefox | Safari |  Edge  |   IE   |
11222   * | :----: | :-----: | :----: | :----: | :----: |
11223   * | **52** | **20**  | **9**  | **12** | **11** |
11224   *
11225   * ---
11226   *
11227   * _Supported in Grid Layout_
11228   *
11229   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
11230   * | :----: | :-----: | :------: | :----: | :-: |
11231   * | **57** | **45**  | **10.1** | **16** | No  |
11232   *
11233   * ---
11234   *
11235   * @see https://developer.mozilla.org/docs/Web/CSS/justify-items
11236   */
11237  "justify-items"?: Property.JustifyItems;
11238  /**
11239   * The CSS **`justify-self`** property sets the way a box is justified inside its alignment container along the appropriate axis.
11240   *
11241   * **Syntax**: `auto | normal | stretch | <baseline-position> | <overflow-position>? [ <self-position> | left | right ]`
11242   *
11243   * **Initial value**: `auto`
11244   *
11245   * ---
11246   *
11247   * _Supported in Flex Layout_
11248   *
11249   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
11250   * | :----: | :-----: | :------: | :----: | :-: |
11251   * | **57** | **45**  | **10.1** | **16** | No  |
11252   *
11253   * ---
11254   *
11255   * _Supported in Grid Layout_
11256   *
11257   * | Chrome | Firefox |  Safari  |  Edge  |      IE      |
11258   * | :----: | :-----: | :------: | :----: | :----------: |
11259   * | **57** | **45**  | **10.1** | **16** | **10** _-x-_ |
11260   *
11261   * ---
11262   *
11263   * @see https://developer.mozilla.org/docs/Web/CSS/justify-self
11264   */
11265  "justify-self"?: Property.JustifySelf;
11266  /**
11267   * The **`justify-tracks`** CSS property sets the alignment in the masonry axis for grid containers that have masonry in their inline axis.
11268   *
11269   * **Syntax**: `[ normal | <content-distribution> | <overflow-position>? [ <content-position> | left | right ] ]#`
11270   *
11271   * **Initial value**: `normal`
11272   *
11273   * | Chrome | Firefox | Safari | Edge | IE  |
11274   * | :----: | :-----: | :----: | :--: | :-: |
11275   * |   No   |   n/a   |   No   |  No  | No  |
11276   *
11277   * @see https://developer.mozilla.org/docs/Web/CSS/justify-tracks
11278   */
11279  "justify-tracks"?: Property.JustifyTracks;
11280  /**
11281   * The **`left`** CSS property participates in specifying the horizontal position of a positioned element. It has no effect on non-positioned elements.
11282   *
11283   * **Syntax**: `<length> | <percentage> | auto`
11284   *
11285   * **Initial value**: `auto`
11286   *
11287   * | Chrome | Firefox | Safari |  Edge  |   IE    |
11288   * | :----: | :-----: | :----: | :----: | :-----: |
11289   * | **1**  |  **1**  | **1**  | **12** | **5.5** |
11290   *
11291   * @see https://developer.mozilla.org/docs/Web/CSS/left
11292   */
11293  left?: Property.Left<TLength>;
11294  /**
11295   * The **`letter-spacing`** CSS property sets the horizontal spacing behavior between text characters. This value is added to the natural spacing between characters while rendering the text. Positive values of `letter-spacing` causes characters to spread farther apart, while negative values of `letter-spacing` bring characters closer together.
11296   *
11297   * **Syntax**: `normal | <length>`
11298   *
11299   * **Initial value**: `normal`
11300   *
11301   * | Chrome | Firefox | Safari |  Edge  |  IE   |
11302   * | :----: | :-----: | :----: | :----: | :---: |
11303   * | **1**  |  **1**  | **1**  | **12** | **4** |
11304   *
11305   * @see https://developer.mozilla.org/docs/Web/CSS/letter-spacing
11306   */
11307  "letter-spacing"?: Property.LetterSpacing<TLength>;
11308  /**
11309   * The **`line-break`** CSS property sets how to break lines of Chinese, Japanese, or Korean (CJK) text when working with punctuation and symbols.
11310   *
11311   * **Syntax**: `auto | loose | normal | strict | anywhere`
11312   *
11313   * **Initial value**: `auto`
11314   *
11315   * | Chrome  | Firefox | Safari  |  Edge  |   IE    |
11316   * | :-----: | :-----: | :-----: | :----: | :-----: |
11317   * | **58**  | **69**  | **11**  | **14** | **5.5** |
11318   * | 1 _-x-_ |         | 3 _-x-_ |        |         |
11319   *
11320   * @see https://developer.mozilla.org/docs/Web/CSS/line-break
11321   */
11322  "line-break"?: Property.LineBreak;
11323  /**
11324   * The **`line-height`** CSS property sets the height of a line box. It's commonly used to set the distance between lines of text. On block-level elements, it specifies the minimum height of line boxes within the element. On non-replaced inline elements, it specifies the height that is used to calculate line box height.
11325   *
11326   * **Syntax**: `normal | <number> | <length> | <percentage>`
11327   *
11328   * **Initial value**: `normal`
11329   *
11330   * | Chrome | Firefox | Safari |  Edge  |  IE   |
11331   * | :----: | :-----: | :----: | :----: | :---: |
11332   * | **1**  |  **1**  | **1**  | **12** | **4** |
11333   *
11334   * @see https://developer.mozilla.org/docs/Web/CSS/line-height
11335   */
11336  "line-height"?: Property.LineHeight<TLength>;
11337  /**
11338   * The **`line-height-step`** CSS property sets the step unit for line box heights. When the property is set, line box heights are rounded up to the closest multiple of the unit.
11339   *
11340   * **Syntax**: `<length>`
11341   *
11342   * **Initial value**: `0`
11343   *
11344   * | Chrome | Firefox | Safari | Edge | IE  |
11345   * | :----: | :-----: | :----: | :--: | :-: |
11346   * |  n/a   |   No    |   No   | n/a  | No  |
11347   *
11348   * @see https://developer.mozilla.org/docs/Web/CSS/line-height-step
11349   */
11350  "line-height-step"?: Property.LineHeightStep<TLength>;
11351  /**
11352   * The **`list-style-image`** CSS property sets an image to be used as the list item marker.
11353   *
11354   * **Syntax**: `<image> | none`
11355   *
11356   * **Initial value**: `none`
11357   *
11358   * | Chrome | Firefox | Safari |  Edge  |  IE   |
11359   * | :----: | :-----: | :----: | :----: | :---: |
11360   * | **1**  |  **1**  | **1**  | **12** | **4** |
11361   *
11362   * @see https://developer.mozilla.org/docs/Web/CSS/list-style-image
11363   */
11364  "list-style-image"?: Property.ListStyleImage;
11365  /**
11366   * The **`list-style-position`** CSS property sets the position of the `::marker` relative to a list item.
11367   *
11368   * **Syntax**: `inside | outside`
11369   *
11370   * **Initial value**: `outside`
11371   *
11372   * | Chrome | Firefox | Safari |  Edge  |  IE   |
11373   * | :----: | :-----: | :----: | :----: | :---: |
11374   * | **1**  |  **1**  | **1**  | **12** | **4** |
11375   *
11376   * @see https://developer.mozilla.org/docs/Web/CSS/list-style-position
11377   */
11378  "list-style-position"?: Property.ListStylePosition;
11379  /**
11380   * The **`list-style-type`** CSS property sets the marker (such as a disc, character, or custom counter style) of a list item element.
11381   *
11382   * **Syntax**: `<counter-style> | <string> | none`
11383   *
11384   * **Initial value**: `disc`
11385   *
11386   * | Chrome | Firefox | Safari |  Edge  |  IE   |
11387   * | :----: | :-----: | :----: | :----: | :---: |
11388   * | **1**  |  **1**  | **1**  | **12** | **4** |
11389   *
11390   * @see https://developer.mozilla.org/docs/Web/CSS/list-style-type
11391   */
11392  "list-style-type"?: Property.ListStyleType;
11393  /**
11394   * The **`margin-block`** CSS shorthand property defines the logical block start and end margins of an element, which maps to physical margins depending on the element's writing mode, directionality, and text orientation.
11395   *
11396   * **Syntax**: `<'margin-left'>{1,2}`
11397   *
11398   * **Initial value**: `0`
11399   *
11400   * | Chrome | Firefox | Safari | Edge | IE  |
11401   * | :----: | :-----: | :----: | :--: | :-: |
11402   * | **87** | **66**  |   No   | n/a  | No  |
11403   *
11404   * @see https://developer.mozilla.org/docs/Web/CSS/margin-block
11405   */
11406  "margin-block"?: Property.MarginBlock<TLength>;
11407  /**
11408   * The **`margin-block-end`** CSS property defines the logical block end margin of an element, which maps to a physical margin depending on the element's writing mode, directionality, and text orientation.
11409   *
11410   * **Syntax**: `<'margin-left'>`
11411   *
11412   * **Initial value**: `0`
11413   *
11414   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
11415   * | :----: | :-----: | :------: | :----: | :-: |
11416   * | **69** | **41**  | **12.1** | **79** | No  |
11417   *
11418   * @see https://developer.mozilla.org/docs/Web/CSS/margin-block-end
11419   */
11420  "margin-block-end"?: Property.MarginBlockEnd<TLength>;
11421  /**
11422   * The **`margin-block-start`** CSS property defines the logical block start margin of an element, which maps to a physical margin depending on the element's writing mode, directionality, and text orientation.
11423   *
11424   * **Syntax**: `<'margin-left'>`
11425   *
11426   * **Initial value**: `0`
11427   *
11428   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
11429   * | :----: | :-----: | :------: | :----: | :-: |
11430   * | **69** | **41**  | **12.1** | **79** | No  |
11431   *
11432   * @see https://developer.mozilla.org/docs/Web/CSS/margin-block-start
11433   */
11434  "margin-block-start"?: Property.MarginBlockStart<TLength>;
11435  /**
11436   * The **`margin-bottom`** CSS property sets the margin area on the bottom of an element. A positive value places it farther from its neighbors, while a negative value places it closer.
11437   *
11438   * **Syntax**: `<length> | <percentage> | auto`
11439   *
11440   * **Initial value**: `0`
11441   *
11442   * | Chrome | Firefox | Safari |  Edge  |  IE   |
11443   * | :----: | :-----: | :----: | :----: | :---: |
11444   * | **1**  |  **1**  | **1**  | **12** | **3** |
11445   *
11446   * @see https://developer.mozilla.org/docs/Web/CSS/margin-bottom
11447   */
11448  "margin-bottom"?: Property.MarginBottom<TLength>;
11449  /**
11450   * The **`margin-inline`** CSS shorthand property is a shorthand property that defines both the logical inline start and end margins of an element, which maps to physical margins depending on the element's writing mode, directionality, and text orientation.
11451   *
11452   * **Syntax**: `<'margin-left'>{1,2}`
11453   *
11454   * **Initial value**: `0`
11455   *
11456   * | Chrome | Firefox | Safari | Edge | IE  |
11457   * | :----: | :-----: | :----: | :--: | :-: |
11458   * | **87** | **66**  |   No   | n/a  | No  |
11459   *
11460   * @see https://developer.mozilla.org/docs/Web/CSS/margin-inline
11461   */
11462  "margin-inline"?: Property.MarginInline<TLength>;
11463  /**
11464   * The **`margin-inline-end`** CSS property defines the logical inline end margin of an element, which maps to a physical margin depending on the element's writing mode, directionality, and text orientation. In other words, it corresponds to the `margin-top`, `margin-right`, `margin-bottom` or `margin-left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
11465   *
11466   * **Syntax**: `<'margin-left'>`
11467   *
11468   * **Initial value**: `0`
11469   *
11470   * |          Chrome          |        Firefox        |          Safari          |  Edge  | IE  |
11471   * | :----------------------: | :-------------------: | :----------------------: | :----: | :-: |
11472   * |          **69**          |        **41**         |         **12.1**         | **79** | No  |
11473   * | 2 _(-webkit-margin-end)_ | 3 _(-moz-margin-end)_ | 3 _(-webkit-margin-end)_ |        |     |
11474   *
11475   * @see https://developer.mozilla.org/docs/Web/CSS/margin-inline-end
11476   */
11477  "margin-inline-end"?: Property.MarginInlineEnd<TLength>;
11478  /**
11479   * The **`margin-inline-start`** CSS property defines the logical inline start margin of an element, which maps to a physical margin depending on the element's writing mode, directionality, and text orientation. It corresponds to the `margin-top`, `margin-right`, `margin-bottom`, or `margin-left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
11480   *
11481   * **Syntax**: `<'margin-left'>`
11482   *
11483   * **Initial value**: `0`
11484   *
11485   * |           Chrome           |         Firefox         |           Safari           |  Edge  | IE  |
11486   * | :------------------------: | :---------------------: | :------------------------: | :----: | :-: |
11487   * |           **69**           |         **41**          |          **12.1**          | **79** | No  |
11488   * | 2 _(-webkit-margin-start)_ | 3 _(-moz-margin-start)_ | 3 _(-webkit-margin-start)_ |        |     |
11489   *
11490   * @see https://developer.mozilla.org/docs/Web/CSS/margin-inline-start
11491   */
11492  "margin-inline-start"?: Property.MarginInlineStart<TLength>;
11493  /**
11494   * The **`margin-left`** CSS property sets the margin area on the left side of an element. A positive value places it farther from its neighbors, while a negative value places it closer.
11495   *
11496   * **Syntax**: `<length> | <percentage> | auto`
11497   *
11498   * **Initial value**: `0`
11499   *
11500   * | Chrome | Firefox | Safari |  Edge  |  IE   |
11501   * | :----: | :-----: | :----: | :----: | :---: |
11502   * | **1**  |  **1**  | **1**  | **12** | **3** |
11503   *
11504   * @see https://developer.mozilla.org/docs/Web/CSS/margin-left
11505   */
11506  "margin-left"?: Property.MarginLeft<TLength>;
11507  /**
11508   * The **`margin-right`** CSS property sets the margin area on the right side of an element. A positive value places it farther from its neighbors, while a negative value places it closer.
11509   *
11510   * **Syntax**: `<length> | <percentage> | auto`
11511   *
11512   * **Initial value**: `0`
11513   *
11514   * | Chrome | Firefox | Safari |  Edge  |  IE   |
11515   * | :----: | :-----: | :----: | :----: | :---: |
11516   * | **1**  |  **1**  | **1**  | **12** | **3** |
11517   *
11518   * @see https://developer.mozilla.org/docs/Web/CSS/margin-right
11519   */
11520  "margin-right"?: Property.MarginRight<TLength>;
11521  /**
11522   * The **`margin-top`** CSS property sets the margin area on the top of an element. A positive value places it farther from its neighbors, while a negative value places it closer.
11523   *
11524   * **Syntax**: `<length> | <percentage> | auto`
11525   *
11526   * **Initial value**: `0`
11527   *
11528   * | Chrome | Firefox | Safari |  Edge  |  IE   |
11529   * | :----: | :-----: | :----: | :----: | :---: |
11530   * | **1**  |  **1**  | **1**  | **12** | **3** |
11531   *
11532   * @see https://developer.mozilla.org/docs/Web/CSS/margin-top
11533   */
11534  "margin-top"?: Property.MarginTop<TLength>;
11535  /**
11536   * The **`mask-border-mode`** CSS property specifies the blending mode used in a mask border.
11537   *
11538   * **Syntax**: `luminance | alpha`
11539   *
11540   * **Initial value**: `alpha`
11541   */
11542  "mask-border-mode"?: Property.MaskBorderMode;
11543  /**
11544   * The **`mask-border-outset`** CSS property specifies the distance by which an element's mask border is set out from its border box.
11545   *
11546   * **Syntax**: `[ <length> | <number> ]{1,4}`
11547   *
11548   * **Initial value**: `0`
11549   *
11550   * |                 Chrome                  | Firefox |                  Safari                   |                   Edge                   | IE  |
11551   * | :-------------------------------------: | :-----: | :---------------------------------------: | :--------------------------------------: | :-: |
11552   * | **1** _(-webkit-mask-box-image-outset)_ |   No    | **3.1** _(-webkit-mask-box-image-outset)_ | **79** _(-webkit-mask-box-image-outset)_ | No  |
11553   *
11554   * @see https://developer.mozilla.org/docs/Web/CSS/mask-border-outset
11555   */
11556  "mask-border-outset"?: Property.MaskBorderOutset<TLength>;
11557  /**
11558   * The **`mask-border-repeat`** CSS property sets how the edge regions of a source image are adjusted to fit the dimensions of an element's mask border.
11559   *
11560   * **Syntax**: `[ stretch | repeat | round | space ]{1,2}`
11561   *
11562   * **Initial value**: `stretch`
11563   *
11564   * |                 Chrome                  | Firefox |                  Safari                   |                   Edge                   | IE  |
11565   * | :-------------------------------------: | :-----: | :---------------------------------------: | :--------------------------------------: | :-: |
11566   * | **1** _(-webkit-mask-box-image-repeat)_ |   No    | **3.1** _(-webkit-mask-box-image-repeat)_ | **79** _(-webkit-mask-box-image-repeat)_ | No  |
11567   *
11568   * @see https://developer.mozilla.org/docs/Web/CSS/mask-border-repeat
11569   */
11570  "mask-border-repeat"?: Property.MaskBorderRepeat;
11571  /**
11572   * The **`mask-border-slice`** CSS property divides the image set by `mask-border-source` into regions. These regions are used to form the components of an element's mask border.
11573   *
11574   * **Syntax**: `<number-percentage>{1,4} fill?`
11575   *
11576   * **Initial value**: `0`
11577   *
11578   * |                 Chrome                 | Firefox |                  Safari                  |                  Edge                   | IE  |
11579   * | :------------------------------------: | :-----: | :--------------------------------------: | :-------------------------------------: | :-: |
11580   * | **1** _(-webkit-mask-box-image-slice)_ |   No    | **3.1** _(-webkit-mask-box-image-slice)_ | **79** _(-webkit-mask-box-image-slice)_ | No  |
11581   *
11582   * @see https://developer.mozilla.org/docs/Web/CSS/mask-border-slice
11583   */
11584  "mask-border-slice"?: Property.MaskBorderSlice;
11585  /**
11586   * The **`mask-border-source`** CSS property sets the source image used to create an element's mask border.
11587   *
11588   * **Syntax**: `none | <image>`
11589   *
11590   * **Initial value**: `none`
11591   *
11592   * |                 Chrome                  | Firefox |                  Safari                   |                   Edge                   | IE  |
11593   * | :-------------------------------------: | :-----: | :---------------------------------------: | :--------------------------------------: | :-: |
11594   * | **1** _(-webkit-mask-box-image-source)_ |   No    | **3.1** _(-webkit-mask-box-image-source)_ | **79** _(-webkit-mask-box-image-source)_ | No  |
11595   *
11596   * @see https://developer.mozilla.org/docs/Web/CSS/mask-border-source
11597   */
11598  "mask-border-source"?: Property.MaskBorderSource;
11599  /**
11600   * The **`mask-border-width`** CSS property sets the width of an element's mask border.
11601   *
11602   * **Syntax**: `[ <length-percentage> | <number> | auto ]{1,4}`
11603   *
11604   * **Initial value**: `auto`
11605   *
11606   * |                 Chrome                 | Firefox |                  Safari                  |                  Edge                   | IE  |
11607   * | :------------------------------------: | :-----: | :--------------------------------------: | :-------------------------------------: | :-: |
11608   * | **1** _(-webkit-mask-box-image-width)_ |   No    | **3.1** _(-webkit-mask-box-image-width)_ | **79** _(-webkit-mask-box-image-width)_ | No  |
11609   *
11610   * @see https://developer.mozilla.org/docs/Web/CSS/mask-border-width
11611   */
11612  "mask-border-width"?: Property.MaskBorderWidth<TLength>;
11613  /**
11614   * The **`mask-clip`** CSS property determines the area which is affected by a mask. The painted content of an element must be restricted to this area.
11615   *
11616   * **Syntax**: `[ <geometry-box> | no-clip ]#`
11617   *
11618   * **Initial value**: `border-box`
11619   *
11620   * |   Chrome    | Firefox |   Safari    |     Edge     | IE  |
11621   * | :---------: | :-----: | :---------: | :----------: | :-: |
11622   * | **1** _-x-_ | **53**  | **4** _-x-_ | **79** _-x-_ | No  |
11623   *
11624   * @see https://developer.mozilla.org/docs/Web/CSS/mask-clip
11625   */
11626  "mask-clip"?: Property.MaskClip;
11627  /**
11628   * The **`mask-composite`** CSS property represents a compositing operation used on the current mask layer with the mask layers below it.
11629   *
11630   * **Syntax**: `<compositing-operator>#`
11631   *
11632   * **Initial value**: `add`
11633   *
11634   * | Chrome | Firefox | Safari | Edge  | IE  |
11635   * | :----: | :-----: | :----: | :---: | :-: |
11636   * |   No   | **53**  |   No   | 18-79 | No  |
11637   *
11638   * @see https://developer.mozilla.org/docs/Web/CSS/mask-composite
11639   */
11640  "mask-composite"?: Property.MaskComposite;
11641  /**
11642   * The **`mask-image`** CSS property sets the image that is used as mask layer for an element.
11643   *
11644   * **Syntax**: `<mask-reference>#`
11645   *
11646   * **Initial value**: `none`
11647   *
11648   * |   Chrome    | Firefox |   Safari    |  Edge  | IE  |
11649   * | :---------: | :-----: | :---------: | :----: | :-: |
11650   * | **1** _-x-_ | **53**  | **4** _-x-_ | **16** | No  |
11651   *
11652   * @see https://developer.mozilla.org/docs/Web/CSS/mask-image
11653   */
11654  "mask-image"?: Property.MaskImage;
11655  /**
11656   * The **`mask-mode`** CSS property sets whether the mask reference defined by `mask-image` is treated as a luminance or alpha mask.
11657   *
11658   * **Syntax**: `<masking-mode>#`
11659   *
11660   * **Initial value**: `match-source`
11661   *
11662   * | Chrome | Firefox | Safari | Edge | IE  |
11663   * | :----: | :-----: | :----: | :--: | :-: |
11664   * |   No   | **53**  |   No   |  No  | No  |
11665   *
11666   * @see https://developer.mozilla.org/docs/Web/CSS/mask-mode
11667   */
11668  "mask-mode"?: Property.MaskMode;
11669  /**
11670   * The **`mask-origin`** CSS property sets the origin of a mask.
11671   *
11672   * **Syntax**: `<geometry-box>#`
11673   *
11674   * **Initial value**: `border-box`
11675   *
11676   * |   Chrome    | Firefox |   Safari    |     Edge     | IE  |
11677   * | :---------: | :-----: | :---------: | :----------: | :-: |
11678   * | **1** _-x-_ | **53**  | **4** _-x-_ | **79** _-x-_ | No  |
11679   *
11680   * @see https://developer.mozilla.org/docs/Web/CSS/mask-origin
11681   */
11682  "mask-origin"?: Property.MaskOrigin;
11683  /**
11684   * The **`mask-position`** CSS property sets the initial position, relative to the mask position layer set by `mask-origin`, for each defined mask image.
11685   *
11686   * **Syntax**: `<position>#`
11687   *
11688   * **Initial value**: `center`
11689   *
11690   * |   Chrome    | Firefox |    Safari     |  Edge  | IE  |
11691   * | :---------: | :-----: | :-----------: | :----: | :-: |
11692   * | **1** _-x-_ | **53**  | **3.2** _-x-_ | **18** | No  |
11693   *
11694   * @see https://developer.mozilla.org/docs/Web/CSS/mask-position
11695   */
11696  "mask-position"?: Property.MaskPosition<TLength>;
11697  /**
11698   * The **`mask-repeat`** CSS property sets how mask images are repeated. A mask image can be repeated along the horizontal axis, the vertical axis, both axes, or not repeated at all.
11699   *
11700   * **Syntax**: `<repeat-style>#`
11701   *
11702   * **Initial value**: `no-repeat`
11703   *
11704   * |   Chrome    | Firefox |    Safari     |  Edge  | IE  |
11705   * | :---------: | :-----: | :-----------: | :----: | :-: |
11706   * | **1** _-x-_ | **53**  | **3.2** _-x-_ | **18** | No  |
11707   *
11708   * @see https://developer.mozilla.org/docs/Web/CSS/mask-repeat
11709   */
11710  "mask-repeat"?: Property.MaskRepeat;
11711  /**
11712   * The **`mask-size`** CSS property specifies the sizes of the mask images. The size of the image can be fully or partially constrained in order to preserve its intrinsic ratio.
11713   *
11714   * **Syntax**: `<bg-size>#`
11715   *
11716   * **Initial value**: `auto`
11717   *
11718   * |   Chrome    | Firefox |   Safari    |  Edge  | IE  |
11719   * | :---------: | :-----: | :---------: | :----: | :-: |
11720   * | **4** _-x-_ | **53**  | **4** _-x-_ | **18** | No  |
11721   *
11722   * @see https://developer.mozilla.org/docs/Web/CSS/mask-size
11723   */
11724  "mask-size"?: Property.MaskSize<TLength>;
11725  /**
11726   * The **`mask-type`** CSS property sets whether an SVG `<mask>` element is used as a _luminance_ or an _alpha_ mask. It applies to the `<mask>` element itself.
11727   *
11728   * **Syntax**: `luminance | alpha`
11729   *
11730   * **Initial value**: `luminance`
11731   *
11732   * | Chrome | Firefox | Safari  |  Edge  | IE  |
11733   * | :----: | :-----: | :-----: | :----: | :-: |
11734   * | **24** | **35**  | **6.1** | **79** | No  |
11735   *
11736   * @see https://developer.mozilla.org/docs/Web/CSS/mask-type
11737   */
11738  "mask-type"?: Property.MaskType;
11739  /**
11740   * The `math-style` property indicates whether MathML equations should render with normal or compact height.
11741   *
11742   * **Syntax**: `normal | compact`
11743   *
11744   * **Initial value**: `normal`
11745   *
11746   * | Chrome | Firefox | Safari | Edge | IE  |
11747   * | :----: | :-----: | :----: | :--: | :-: |
11748   * |  n/a   |   n/a   |   No   |  No  | No  |
11749   *
11750   * @see https://developer.mozilla.org/docs/Web/CSS/math-style
11751   */
11752  "math-style"?: Property.MathStyle;
11753  /**
11754   * The `**max-block-size**` CSS property specifies the maximum size of an element in the direction opposite that of the writing direction as specified by `writing-mode`. That is, if the writing direction is horizontal, then `max-block-size` is equivalent to `max-height`; if the writing direction is vertical, `max-block-size` is the same as `max-width`.
11755   *
11756   * **Syntax**: `<'max-width'>`
11757   *
11758   * **Initial value**: `0`
11759   *
11760   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
11761   * | :----: | :-----: | :------: | :----: | :-: |
11762   * | **57** | **41**  | **12.1** | **79** | No  |
11763   *
11764   * @see https://developer.mozilla.org/docs/Web/CSS/max-block-size
11765   */
11766  "max-block-size"?: Property.MaxBlockSize<TLength>;
11767  /**
11768   * The **`max-height`** CSS property sets the maximum height of an element. It prevents the used value of the `height` property from becoming larger than the value specified for `max-height`.
11769   *
11770   * **Syntax**: `none | <length-percentage> | min-content | max-content | fit-content | fit-content(<length-percentage>)`
11771   *
11772   * **Initial value**: `none`
11773   *
11774   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
11775   * | :----: | :-----: | :-----: | :----: | :---: |
11776   * | **18** |  **1**  | **1.3** | **12** | **7** |
11777   *
11778   * @see https://developer.mozilla.org/docs/Web/CSS/max-height
11779   */
11780  "max-height"?: Property.MaxHeight<TLength>;
11781  /**
11782   * The **`max-inline-size`** CSS property defines the horizontal or vertical maximum size of an element's block, depending on its writing mode. It corresponds to either the `max-width` or the `max-height` property, depending on the value of `writing-mode`.
11783   *
11784   * **Syntax**: `<'max-width'>`
11785   *
11786   * **Initial value**: `0`
11787   *
11788   * | Chrome | Firefox |   Safari   |  Edge  | IE  |
11789   * | :----: | :-----: | :--------: | :----: | :-: |
11790   * | **57** | **41**  |  **12.1**  | **79** | No  |
11791   * |        |         | 10.1 _-x-_ |        |     |
11792   *
11793   * @see https://developer.mozilla.org/docs/Web/CSS/max-inline-size
11794   */
11795  "max-inline-size"?: Property.MaxInlineSize<TLength>;
11796  /**
11797   * **Syntax**: `none | <integer>`
11798   *
11799   * **Initial value**: `none`
11800   */
11801  "max-lines"?: Property.MaxLines;
11802  /**
11803   * The **`max-width`** CSS property sets the maximum width of an element. It prevents the used value of the `width` property from becoming larger than the value specified by `max-width`.
11804   *
11805   * **Syntax**: `none | <length-percentage> | min-content | max-content | fit-content | fit-content(<length-percentage>)`
11806   *
11807   * **Initial value**: `none`
11808   *
11809   * | Chrome | Firefox | Safari |  Edge  |  IE   |
11810   * | :----: | :-----: | :----: | :----: | :---: |
11811   * | **1**  |  **1**  | **1**  | **12** | **7** |
11812   *
11813   * @see https://developer.mozilla.org/docs/Web/CSS/max-width
11814   */
11815  "max-width"?: Property.MaxWidth<TLength>;
11816  /**
11817   * The **`min-block-size`** CSS property defines the minimum horizontal or vertical size of an element's block, depending on its writing mode. It corresponds to either the `min-width` or the `min-height` property, depending on the value of `writing-mode`.
11818   *
11819   * **Syntax**: `<'min-width'>`
11820   *
11821   * **Initial value**: `0`
11822   *
11823   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
11824   * | :----: | :-----: | :------: | :----: | :-: |
11825   * | **57** | **41**  | **12.1** | **79** | No  |
11826   *
11827   * @see https://developer.mozilla.org/docs/Web/CSS/min-block-size
11828   */
11829  "min-block-size"?: Property.MinBlockSize<TLength>;
11830  /**
11831   * The **`min-height`** CSS property sets the minimum height of an element. It prevents the used value of the `height` property from becoming smaller than the value specified for `min-height`.
11832   *
11833   * **Syntax**: `auto | <length> | <percentage> | min-content | max-content | fit-content | fit-content(<length-percentage>)`
11834   *
11835   * **Initial value**: `auto`
11836   *
11837   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
11838   * | :----: | :-----: | :-----: | :----: | :---: |
11839   * | **1**  |  **3**  | **1.3** | **12** | **7** |
11840   *
11841   * @see https://developer.mozilla.org/docs/Web/CSS/min-height
11842   */
11843  "min-height"?: Property.MinHeight<TLength>;
11844  /**
11845   * The **`min-inline-size`** CSS property defines the horizontal or vertical minimal size of an element's block, depending on its writing mode. It corresponds to either the `min-width` or the `min-height` property, depending on the value of `writing-mode`.
11846   *
11847   * **Syntax**: `<'min-width'>`
11848   *
11849   * **Initial value**: `0`
11850   *
11851   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
11852   * | :----: | :-----: | :------: | :----: | :-: |
11853   * | **57** | **41**  | **12.1** | **79** | No  |
11854   *
11855   * @see https://developer.mozilla.org/docs/Web/CSS/min-inline-size
11856   */
11857  "min-inline-size"?: Property.MinInlineSize<TLength>;
11858  /**
11859   * The **`min-width`** CSS property sets the minimum width of an element. It prevents the used value of the `width` property from becoming smaller than the value specified for `min-width`.
11860   *
11861   * **Syntax**: `auto | <length> | <percentage> | min-content | max-content | fit-content | fit-content(<length-percentage>)`
11862   *
11863   * **Initial value**: `auto`
11864   *
11865   * | Chrome | Firefox | Safari |  Edge  |  IE   |
11866   * | :----: | :-----: | :----: | :----: | :---: |
11867   * | **1**  |  **1**  | **1**  | **12** | **7** |
11868   *
11869   * @see https://developer.mozilla.org/docs/Web/CSS/min-width
11870   */
11871  "min-width"?: Property.MinWidth<TLength>;
11872  /**
11873   * The **`mix-blend-mode`** CSS property sets how an element's content should blend with the content of the element's parent and the element's background.
11874   *
11875   * **Syntax**: `<blend-mode>`
11876   *
11877   * **Initial value**: `normal`
11878   *
11879   * | Chrome | Firefox | Safari |  Edge  | IE  |
11880   * | :----: | :-----: | :----: | :----: | :-: |
11881   * | **41** | **32**  | **8**  | **79** | No  |
11882   *
11883   * @see https://developer.mozilla.org/docs/Web/CSS/mix-blend-mode
11884   */
11885  "mix-blend-mode"?: Property.MixBlendMode;
11886  /**
11887   * The **`offset-distance`** CSS property specifies a position along an `offset-path` for an element to be placed.
11888   *
11889   * **Syntax**: `<length-percentage>`
11890   *
11891   * **Initial value**: `0`
11892   *
11893   * |         Chrome         | Firefox | Safari |  Edge  | IE  |
11894   * | :--------------------: | :-----: | :----: | :----: | :-: |
11895   * |         **55**         | **72**  |   No   | **79** | No  |
11896   * | 46 _(motion-distance)_ |         |        |        |     |
11897   *
11898   * @see https://developer.mozilla.org/docs/Web/CSS/offset-distance
11899   */
11900  "motion-distance"?: Property.OffsetDistance<TLength>;
11901  /**
11902   * The **`offset-path`** CSS property specifies a motion path for an element to follow and defines the element's positioning within the parent container or SVG coordinate system.
11903   *
11904   * **Syntax**: `none | ray( [ <angle> && <size> && contain? ] ) | <path()> | <url> | [ <basic-shape> || <geometry-box> ]`
11905   *
11906   * **Initial value**: `none`
11907   *
11908   * |       Chrome       | Firefox | Safari |  Edge  | IE  |
11909   * | :----------------: | :-----: | :----: | :----: | :-: |
11910   * |       **55**       | **72**  |   No   | **79** | No  |
11911   * | 46 _(motion-path)_ |         |        |        |     |
11912   *
11913   * @see https://developer.mozilla.org/docs/Web/CSS/offset-path
11914   */
11915  "motion-path"?: Property.OffsetPath;
11916  /**
11917   * The **`offset-rotate`** CSS property defines the orientation/direction of the element as it is positioned along the `offset-path`.
11918   *
11919   * **Syntax**: `[ auto | reverse ] || <angle>`
11920   *
11921   * **Initial value**: `auto`
11922   *
11923   * |         Chrome         | Firefox | Safari |  Edge  | IE  |
11924   * | :--------------------: | :-----: | :----: | :----: | :-: |
11925   * |         **56**         | **72**  |   No   | **79** | No  |
11926   * | 46 _(motion-rotation)_ |         |        |        |     |
11927   *
11928   * @see https://developer.mozilla.org/docs/Web/CSS/offset-rotate
11929   */
11930  "motion-rotation"?: Property.OffsetRotate;
11931  /**
11932   * The **`object-fit`** CSS property sets how the content of a replaced element, such as an `<img>` or `<video>`, should be resized to fit its container.
11933   *
11934   * **Syntax**: `fill | contain | cover | none | scale-down`
11935   *
11936   * **Initial value**: `fill`
11937   *
11938   * | Chrome | Firefox | Safari |  Edge  | IE  |
11939   * | :----: | :-----: | :----: | :----: | :-: |
11940   * | **32** | **36**  | **10** | **79** | No  |
11941   *
11942   * @see https://developer.mozilla.org/docs/Web/CSS/object-fit
11943   */
11944  "object-fit"?: Property.ObjectFit;
11945  /**
11946   * The **`object-position`** CSS property specifies the alignment of the selected replaced element's contents within the element's box. Areas of the box which aren't covered by the replaced element's object will show the element's background.
11947   *
11948   * **Syntax**: `<position>`
11949   *
11950   * **Initial value**: `50% 50%`
11951   *
11952   * | Chrome | Firefox | Safari |  Edge  | IE  |
11953   * | :----: | :-----: | :----: | :----: | :-: |
11954   * | **32** | **36**  | **10** | **79** | No  |
11955   *
11956   * @see https://developer.mozilla.org/docs/Web/CSS/object-position
11957   */
11958  "object-position"?: Property.ObjectPosition<TLength>;
11959  /**
11960   * **Syntax**: `auto | <position>`
11961   *
11962   * **Initial value**: `auto`
11963   *
11964   * | Chrome | Firefox | Safari |  Edge  | IE  |
11965   * | :----: | :-----: | :----: | :----: | :-: |
11966   * | **79** | **72**  |   No   | **79** | No  |
11967   *
11968   * @see https://developer.mozilla.org/docs/Web/CSS/offset-anchor
11969   */
11970  "offset-anchor"?: Property.OffsetAnchor<TLength>;
11971  /**
11972   * The **`offset-distance`** CSS property specifies a position along an `offset-path` for an element to be placed.
11973   *
11974   * **Syntax**: `<length-percentage>`
11975   *
11976   * **Initial value**: `0`
11977   *
11978   * |         Chrome         | Firefox | Safari |  Edge  | IE  |
11979   * | :--------------------: | :-----: | :----: | :----: | :-: |
11980   * |         **55**         | **72**  |   No   | **79** | No  |
11981   * | 46 _(motion-distance)_ |         |        |        |     |
11982   *
11983   * @see https://developer.mozilla.org/docs/Web/CSS/offset-distance
11984   */
11985  "offset-distance"?: Property.OffsetDistance<TLength>;
11986  /**
11987   * The **`offset-path`** CSS property specifies a motion path for an element to follow and defines the element's positioning within the parent container or SVG coordinate system.
11988   *
11989   * **Syntax**: `none | ray( [ <angle> && <size> && contain? ] ) | <path()> | <url> | [ <basic-shape> || <geometry-box> ]`
11990   *
11991   * **Initial value**: `none`
11992   *
11993   * |       Chrome       | Firefox | Safari |  Edge  | IE  |
11994   * | :----------------: | :-----: | :----: | :----: | :-: |
11995   * |       **55**       | **72**  |   No   | **79** | No  |
11996   * | 46 _(motion-path)_ |         |        |        |     |
11997   *
11998   * @see https://developer.mozilla.org/docs/Web/CSS/offset-path
11999   */
12000  "offset-path"?: Property.OffsetPath;
12001  /**
12002   * The **`offset-rotate`** CSS property defines the orientation/direction of the element as it is positioned along the `offset-path`.
12003   *
12004   * **Syntax**: `[ auto | reverse ] || <angle>`
12005   *
12006   * **Initial value**: `auto`
12007   *
12008   * |         Chrome         | Firefox | Safari |  Edge  | IE  |
12009   * | :--------------------: | :-----: | :----: | :----: | :-: |
12010   * |         **56**         | **72**  |   No   | **79** | No  |
12011   * | 46 _(motion-rotation)_ |         |        |        |     |
12012   *
12013   * @see https://developer.mozilla.org/docs/Web/CSS/offset-rotate
12014   */
12015  "offset-rotate"?: Property.OffsetRotate;
12016  /**
12017   * The **`offset-rotate`** CSS property defines the orientation/direction of the element as it is positioned along the `offset-path`.
12018   *
12019   * **Syntax**: `[ auto | reverse ] || <angle>`
12020   *
12021   * **Initial value**: `auto`
12022   *
12023   * |         Chrome         | Firefox | Safari |  Edge  | IE  |
12024   * | :--------------------: | :-----: | :----: | :----: | :-: |
12025   * |         **56**         | **72**  |   No   | **79** | No  |
12026   * | 46 _(motion-rotation)_ |         |        |        |     |
12027   *
12028   * @see https://developer.mozilla.org/docs/Web/CSS/offset-rotate
12029   */
12030  "offset-rotation"?: Property.OffsetRotate;
12031  /**
12032   * The **`opacity`** CSS property sets the opacity of an element. Opacity is the degree to which content behind an element is hidden, and is the opposite of transparency.
12033   *
12034   * **Syntax**: `<alpha-value>`
12035   *
12036   * **Initial value**: `1.0`
12037   *
12038   * | Chrome | Firefox | Safari |  Edge  |  IE   |
12039   * | :----: | :-----: | :----: | :----: | :---: |
12040   * | **1**  |  **1**  | **2**  | **12** | **9** |
12041   *
12042   * @see https://developer.mozilla.org/docs/Web/CSS/opacity
12043   */
12044  opacity?: Property.Opacity;
12045  /**
12046   * The **`order`** CSS property sets the order to lay out an item in a flex or grid container. Items in a container are sorted by ascending `order` value and then by their source code order.
12047   *
12048   * **Syntax**: `<integer>`
12049   *
12050   * **Initial value**: `0`
12051   *
12052   * |  Chrome  | Firefox | Safari  |  Edge  |    IE    |
12053   * | :------: | :-----: | :-----: | :----: | :------: |
12054   * |  **29**  | **20**  |  **9**  | **12** |  **11**  |
12055   * | 21 _-x-_ |         | 7 _-x-_ |        | 10 _-x-_ |
12056   *
12057   * @see https://developer.mozilla.org/docs/Web/CSS/order
12058   */
12059  order?: Property.Order;
12060  /**
12061   * The **`orphans`** CSS property sets the minimum number of lines in a block container that must be shown at the _bottom_ of a page, region, or column.
12062   *
12063   * **Syntax**: `<integer>`
12064   *
12065   * **Initial value**: `2`
12066   *
12067   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
12068   * | :----: | :-----: | :-----: | :----: | :---: |
12069   * | **25** |   No    | **1.3** | **12** | **8** |
12070   *
12071   * @see https://developer.mozilla.org/docs/Web/CSS/orphans
12072   */
12073  orphans?: Property.Orphans;
12074  /**
12075   * The **`outline-color`** CSS property sets the color of an element's outline.
12076   *
12077   * **Syntax**: `<color> | invert`
12078   *
12079   * **Initial value**: `invert`, for browsers supporting it, `currentColor` for the other
12080   *
12081   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
12082   * | :----: | :-----: | :-----: | :----: | :---: |
12083   * | **1**  | **1.5** | **1.2** | **12** | **8** |
12084   *
12085   * @see https://developer.mozilla.org/docs/Web/CSS/outline-color
12086   */
12087  "outline-color"?: Property.OutlineColor;
12088  /**
12089   * The **`outline-offset`** CSS property sets the amount of space between an outline and the edge or border of an element.
12090   *
12091   * **Syntax**: `<length>`
12092   *
12093   * **Initial value**: `0`
12094   *
12095   * | Chrome | Firefox | Safari  |  Edge  | IE  |
12096   * | :----: | :-----: | :-----: | :----: | :-: |
12097   * | **1**  | **1.5** | **1.2** | **15** | No  |
12098   *
12099   * @see https://developer.mozilla.org/docs/Web/CSS/outline-offset
12100   */
12101  "outline-offset"?: Property.OutlineOffset<TLength>;
12102  /**
12103   * The **`outline-style`** CSS property sets the style of an element's outline. An outline is a line that is drawn around an element, outside the `border`.
12104   *
12105   * **Syntax**: `auto | <'border-style'>`
12106   *
12107   * **Initial value**: `none`
12108   *
12109   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
12110   * | :----: | :-----: | :-----: | :----: | :---: |
12111   * | **1**  | **1.5** | **1.2** | **12** | **8** |
12112   *
12113   * @see https://developer.mozilla.org/docs/Web/CSS/outline-style
12114   */
12115  "outline-style"?: Property.OutlineStyle;
12116  /**
12117   * The CSS **`outline-width`** property sets the thickness of an element's outline. An outline is a line that is drawn around an element, outside the `border`.
12118   *
12119   * **Syntax**: `<line-width>`
12120   *
12121   * **Initial value**: `medium`
12122   *
12123   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
12124   * | :----: | :-----: | :-----: | :----: | :---: |
12125   * | **1**  | **1.5** | **1.2** | **12** | **8** |
12126   *
12127   * @see https://developer.mozilla.org/docs/Web/CSS/outline-width
12128   */
12129  "outline-width"?: Property.OutlineWidth<TLength>;
12130  /**
12131   * **Syntax**: `auto | none`
12132   *
12133   * **Initial value**: `auto`
12134   *
12135   * | Chrome | Firefox | Safari |  Edge  | IE  |
12136   * | :----: | :-----: | :----: | :----: | :-: |
12137   * | **56** | **66**  |   No   | **79** | No  |
12138   *
12139   * @see https://developer.mozilla.org/docs/Web/CSS/overflow-anchor
12140   */
12141  "overflow-anchor"?: Property.OverflowAnchor;
12142  /**
12143   * **Syntax**: `visible | hidden | clip | scroll | auto`
12144   *
12145   * **Initial value**: `auto`
12146   *
12147   * | Chrome | Firefox | Safari | Edge | IE  |
12148   * | :----: | :-----: | :----: | :--: | :-: |
12149   * |   No   | **69**  |   No   |  No  | No  |
12150   *
12151   * @see https://developer.mozilla.org/docs/Web/CSS/overflow-block
12152   */
12153  "overflow-block"?: Property.OverflowBlock;
12154  /**
12155   * The **`overflow-clip-box`** CSS property specifies relative to which box the clipping happens when there is an overflow. It is short hand for the `overflow-clip-box-inline` and `overflow-clip-box-block` properties.
12156   *
12157   * **Syntax**: `padding-box | content-box`
12158   *
12159   * **Initial value**: `padding-box`
12160   *
12161   * | Chrome | Firefox | Safari | Edge | IE  |
12162   * | :----: | :-----: | :----: | :--: | :-: |
12163   * |   No   | **29**  |   No   |  No  | No  |
12164   *
12165   * @see https://developer.mozilla.org/docs/Mozilla/Gecko/Chrome/CSS/overflow-clip-box
12166   */
12167  "overflow-clip-box"?: Property.OverflowClipBox;
12168  /**
12169   * **Syntax**: `<visual-box> || <length [0,∞]>`
12170   *
12171   * **Initial value**: `0px`
12172   *
12173   * | Chrome | Firefox | Safari |  Edge  | IE  |
12174   * | :----: | :-----: | :----: | :----: | :-: |
12175   * | **90** |   No    |   No   | **90** | No  |
12176   *
12177   * @see https://developer.mozilla.org/docs/Web/CSS/overflow-clip-margin
12178   */
12179  "overflow-clip-margin"?: Property.OverflowClipMargin<TLength>;
12180  /**
12181   * **Syntax**: `visible | hidden | clip | scroll | auto`
12182   *
12183   * **Initial value**: `auto`
12184   *
12185   * | Chrome | Firefox | Safari | Edge | IE  |
12186   * | :----: | :-----: | :----: | :--: | :-: |
12187   * |   No   | **69**  |   No   |  No  | No  |
12188   *
12189   * @see https://developer.mozilla.org/docs/Web/CSS/overflow-inline
12190   */
12191  "overflow-inline"?: Property.OverflowInline;
12192  /**
12193   * The `**overflow-wrap**` CSS property applies to inline elements, setting whether the browser should insert line breaks within an otherwise unbreakable string to prevent text from overflowing its line box.
12194   *
12195   * **Syntax**: `normal | break-word | anywhere`
12196   *
12197   * **Initial value**: `normal`
12198   *
12199   * |     Chrome      |      Firefox      |     Safari      |       Edge       |          IE           |
12200   * | :-------------: | :---------------: | :-------------: | :--------------: | :-------------------: |
12201   * |     **23**      |      **49**       |     **6.1**     |      **18**      | **5.5** _(word-wrap)_ |
12202   * | 1 _(word-wrap)_ | 3.5 _(word-wrap)_ | 1 _(word-wrap)_ | 12 _(word-wrap)_ |                       |
12203   *
12204   * @see https://developer.mozilla.org/docs/Web/CSS/overflow-wrap
12205   */
12206  "overflow-wrap"?: Property.OverflowWrap;
12207  /**
12208   * The **`overflow-x`** CSS property sets what shows when content overflows a block-level element's left and right edges. This may be nothing, a scroll bar, or the overflow content.
12209   *
12210   * **Syntax**: `visible | hidden | clip | scroll | auto`
12211   *
12212   * **Initial value**: `visible`
12213   *
12214   * | Chrome | Firefox | Safari |  Edge  |  IE   |
12215   * | :----: | :-----: | :----: | :----: | :---: |
12216   * | **1**  | **3.5** | **3**  | **12** | **5** |
12217   *
12218   * @see https://developer.mozilla.org/docs/Web/CSS/overflow-x
12219   */
12220  "overflow-x"?: Property.OverflowX;
12221  /**
12222   * The **`overflow-y`** CSS property sets what shows when content overflows a block-level element's top and bottom edges. This may be nothing, a scroll bar, or the overflow content.
12223   *
12224   * **Syntax**: `visible | hidden | clip | scroll | auto`
12225   *
12226   * **Initial value**: `visible`
12227   *
12228   * | Chrome | Firefox | Safari |  Edge  |  IE   |
12229   * | :----: | :-----: | :----: | :----: | :---: |
12230   * | **1**  | **3.5** | **3**  | **12** | **5** |
12231   *
12232   * @see https://developer.mozilla.org/docs/Web/CSS/overflow-y
12233   */
12234  "overflow-y"?: Property.OverflowY;
12235  /**
12236   * The **`overscroll-behavior-block`** CSS property sets the browser's behavior when the block direction boundary of a scrolling area is reached.
12237   *
12238   * **Syntax**: `contain | none | auto`
12239   *
12240   * **Initial value**: `auto`
12241   *
12242   * | Chrome | Firefox | Safari |  Edge  | IE  |
12243   * | :----: | :-----: | :----: | :----: | :-: |
12244   * | **77** | **73**  |   No   | **79** | No  |
12245   *
12246   * @see https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-block
12247   */
12248  "overscroll-behavior-block"?: Property.OverscrollBehaviorBlock;
12249  /**
12250   * The **`overscroll-behavior-inline`** CSS property sets the browser's behavior when the inline direction boundary of a scrolling area is reached.
12251   *
12252   * **Syntax**: `contain | none | auto`
12253   *
12254   * **Initial value**: `auto`
12255   *
12256   * | Chrome | Firefox | Safari |  Edge  | IE  |
12257   * | :----: | :-----: | :----: | :----: | :-: |
12258   * | **77** | **73**  |   No   | **79** | No  |
12259   *
12260   * @see https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-inline
12261   */
12262  "overscroll-behavior-inline"?: Property.OverscrollBehaviorInline;
12263  /**
12264   * The **`overscroll-behavior-x`** CSS property sets the browser's behavior when the horizontal boundary of a scrolling area is reached.
12265   *
12266   * **Syntax**: `contain | none | auto`
12267   *
12268   * **Initial value**: `auto`
12269   *
12270   * | Chrome | Firefox | Safari |  Edge  | IE  |
12271   * | :----: | :-----: | :----: | :----: | :-: |
12272   * | **63** | **59**  |   No   | **18** | No  |
12273   *
12274   * @see https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-x
12275   */
12276  "overscroll-behavior-x"?: Property.OverscrollBehaviorX;
12277  /**
12278   * The **`overscroll-behavior-y`** CSS property sets the browser's behavior when the vertical boundary of a scrolling area is reached.
12279   *
12280   * **Syntax**: `contain | none | auto`
12281   *
12282   * **Initial value**: `auto`
12283   *
12284   * | Chrome | Firefox | Safari |  Edge  | IE  |
12285   * | :----: | :-----: | :----: | :----: | :-: |
12286   * | **63** | **59**  |   No   | **18** | No  |
12287   *
12288   * @see https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-y
12289   */
12290  "overscroll-behavior-y"?: Property.OverscrollBehaviorY;
12291  /**
12292   * The **`padding-block`** CSS shorthand property defines the logical block start and end padding of an element, which maps to physical padding properties depending on the element's writing mode, directionality, and text orientation.
12293   *
12294   * **Syntax**: `<'padding-left'>{1,2}`
12295   *
12296   * **Initial value**: `0`
12297   *
12298   * | Chrome | Firefox | Safari | Edge | IE  |
12299   * | :----: | :-----: | :----: | :--: | :-: |
12300   * | **87** | **66**  |   No   | n/a  | No  |
12301   *
12302   * @see https://developer.mozilla.org/docs/Web/CSS/padding-block
12303   */
12304  "padding-block"?: Property.PaddingBlock<TLength>;
12305  /**
12306   * The **`padding-block-end`** CSS property defines the logical block end padding of an element, which maps to a physical padding depending on the element's writing mode, directionality, and text orientation.
12307   *
12308   * **Syntax**: `<'padding-left'>`
12309   *
12310   * **Initial value**: `0`
12311   *
12312   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
12313   * | :----: | :-----: | :------: | :----: | :-: |
12314   * | **69** | **41**  | **12.1** | **79** | No  |
12315   *
12316   * @see https://developer.mozilla.org/docs/Web/CSS/padding-block-end
12317   */
12318  "padding-block-end"?: Property.PaddingBlockEnd<TLength>;
12319  /**
12320   * The **`padding-block-start`** CSS property defines the logical block start padding of an element, which maps to a physical padding depending on the element's writing mode, directionality, and text orientation.
12321   *
12322   * **Syntax**: `<'padding-left'>`
12323   *
12324   * **Initial value**: `0`
12325   *
12326   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
12327   * | :----: | :-----: | :------: | :----: | :-: |
12328   * | **69** | **41**  | **12.1** | **79** | No  |
12329   *
12330   * @see https://developer.mozilla.org/docs/Web/CSS/padding-block-start
12331   */
12332  "padding-block-start"?: Property.PaddingBlockStart<TLength>;
12333  /**
12334   * The **`padding-bottom`** CSS property sets the height of the padding area on the bottom of an element.
12335   *
12336   * **Syntax**: `<length> | <percentage>`
12337   *
12338   * **Initial value**: `0`
12339   *
12340   * | Chrome | Firefox | Safari |  Edge  |  IE   |
12341   * | :----: | :-----: | :----: | :----: | :---: |
12342   * | **1**  |  **1**  | **1**  | **12** | **4** |
12343   *
12344   * @see https://developer.mozilla.org/docs/Web/CSS/padding-bottom
12345   */
12346  "padding-bottom"?: Property.PaddingBottom<TLength>;
12347  /**
12348   * The **`padding-inline`** CSS shorthand property defines the logical inline start and end padding of an element, which maps to physical padding properties depending on the element's writing mode, directionality, and text orientation.
12349   *
12350   * **Syntax**: `<'padding-left'>{1,2}`
12351   *
12352   * **Initial value**: `0`
12353   *
12354   * | Chrome | Firefox | Safari | Edge | IE  |
12355   * | :----: | :-----: | :----: | :--: | :-: |
12356   * | **87** | **66**  |   No   | n/a  | No  |
12357   *
12358   * @see https://developer.mozilla.org/docs/Web/CSS/padding-inline
12359   */
12360  "padding-inline"?: Property.PaddingInline<TLength>;
12361  /**
12362   * The **`padding-inline-end`** CSS property defines the logical inline end padding of an element, which maps to a physical padding depending on the element's writing mode, directionality, and text orientation.
12363   *
12364   * **Syntax**: `<'padding-left'>`
12365   *
12366   * **Initial value**: `0`
12367   *
12368   * |          Chrome           |        Firefox         |          Safari           |  Edge  | IE  |
12369   * | :-----------------------: | :--------------------: | :-----------------------: | :----: | :-: |
12370   * |          **69**           |         **41**         |         **12.1**          | **79** | No  |
12371   * | 2 _(-webkit-padding-end)_ | 3 _(-moz-padding-end)_ | 3 _(-webkit-padding-end)_ |        |     |
12372   *
12373   * @see https://developer.mozilla.org/docs/Web/CSS/padding-inline-end
12374   */
12375  "padding-inline-end"?: Property.PaddingInlineEnd<TLength>;
12376  /**
12377   * The **`padding-inline-start`** CSS property defines the logical inline start padding of an element, which maps to a physical padding depending on the element's writing mode, directionality, and text orientation.
12378   *
12379   * **Syntax**: `<'padding-left'>`
12380   *
12381   * **Initial value**: `0`
12382   *
12383   * |           Chrome            |         Firefox          |           Safari            |  Edge  | IE  |
12384   * | :-------------------------: | :----------------------: | :-------------------------: | :----: | :-: |
12385   * |           **69**            |          **41**          |          **12.1**           | **79** | No  |
12386   * | 2 _(-webkit-padding-start)_ | 3 _(-moz-padding-start)_ | 3 _(-webkit-padding-start)_ |        |     |
12387   *
12388   * @see https://developer.mozilla.org/docs/Web/CSS/padding-inline-start
12389   */
12390  "padding-inline-start"?: Property.PaddingInlineStart<TLength>;
12391  /**
12392   * The **`padding-left`** CSS property sets the width of the padding area to the left of an element.
12393   *
12394   * **Syntax**: `<length> | <percentage>`
12395   *
12396   * **Initial value**: `0`
12397   *
12398   * | Chrome | Firefox | Safari |  Edge  |  IE   |
12399   * | :----: | :-----: | :----: | :----: | :---: |
12400   * | **1**  |  **1**  | **1**  | **12** | **4** |
12401   *
12402   * @see https://developer.mozilla.org/docs/Web/CSS/padding-left
12403   */
12404  "padding-left"?: Property.PaddingLeft<TLength>;
12405  /**
12406   * The **`padding-right`** CSS property sets the width of the padding area on the right of an element.
12407   *
12408   * **Syntax**: `<length> | <percentage>`
12409   *
12410   * **Initial value**: `0`
12411   *
12412   * | Chrome | Firefox | Safari |  Edge  |  IE   |
12413   * | :----: | :-----: | :----: | :----: | :---: |
12414   * | **1**  |  **1**  | **1**  | **12** | **4** |
12415   *
12416   * @see https://developer.mozilla.org/docs/Web/CSS/padding-right
12417   */
12418  "padding-right"?: Property.PaddingRight<TLength>;
12419  /**
12420   * The **`padding-top`** CSS property sets the height of the padding area on the top of an element.
12421   *
12422   * **Syntax**: `<length> | <percentage>`
12423   *
12424   * **Initial value**: `0`
12425   *
12426   * | Chrome | Firefox | Safari |  Edge  |  IE   |
12427   * | :----: | :-----: | :----: | :----: | :---: |
12428   * | **1**  |  **1**  | **1**  | **12** | **4** |
12429   *
12430   * @see https://developer.mozilla.org/docs/Web/CSS/padding-top
12431   */
12432  "padding-top"?: Property.PaddingTop<TLength>;
12433  /**
12434   * The **`page-break-after`** CSS property adjusts page breaks _after_ the current element.
12435   *
12436   * **Syntax**: `auto | always | avoid | left | right | recto | verso`
12437   *
12438   * **Initial value**: `auto`
12439   *
12440   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
12441   * | :----: | :-----: | :-----: | :----: | :---: |
12442   * | **1**  |  **1**  | **1.2** | **12** | **4** |
12443   *
12444   * @see https://developer.mozilla.org/docs/Web/CSS/page-break-after
12445   */
12446  "page-break-after"?: Property.PageBreakAfter;
12447  /**
12448   * The **`page-break-before`** CSS property adjusts page breaks _before_ the current element.
12449   *
12450   * **Syntax**: `auto | always | avoid | left | right | recto | verso`
12451   *
12452   * **Initial value**: `auto`
12453   *
12454   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
12455   * | :----: | :-----: | :-----: | :----: | :---: |
12456   * | **1**  |  **1**  | **1.2** | **12** | **4** |
12457   *
12458   * @see https://developer.mozilla.org/docs/Web/CSS/page-break-before
12459   */
12460  "page-break-before"?: Property.PageBreakBefore;
12461  /**
12462   * The **`page-break-inside`** CSS property adjusts page breaks _inside_ the current element.
12463   *
12464   * **Syntax**: `auto | avoid`
12465   *
12466   * **Initial value**: `auto`
12467   *
12468   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
12469   * | :----: | :-----: | :-----: | :----: | :---: |
12470   * | **1**  | **19**  | **1.3** | **12** | **8** |
12471   *
12472   * @see https://developer.mozilla.org/docs/Web/CSS/page-break-inside
12473   */
12474  "page-break-inside"?: Property.PageBreakInside;
12475  /**
12476   * The **`paint-order`** CSS property lets you control the order in which the fill and stroke (and painting markers) of text content and shapes are drawn.
12477   *
12478   * **Syntax**: `normal | [ fill || stroke || markers ]`
12479   *
12480   * **Initial value**: `normal`
12481   *
12482   * | Chrome | Firefox | Safari |  Edge  | IE  |
12483   * | :----: | :-----: | :----: | :----: | :-: |
12484   * | **35** | **60**  | **8**  | **17** | No  |
12485   *
12486   * @see https://developer.mozilla.org/docs/Web/CSS/paint-order
12487   */
12488  "paint-order"?: Property.PaintOrder;
12489  /**
12490   * The **`perspective`** CSS property determines the distance between the z=0 plane and the user in order to give a 3D-positioned element some perspective.
12491   *
12492   * **Syntax**: `none | <length>`
12493   *
12494   * **Initial value**: `none`
12495   *
12496   * |  Chrome  | Firefox  | Safari  |  Edge  |   IE   |
12497   * | :------: | :------: | :-----: | :----: | :----: |
12498   * |  **36**  |  **16**  |  **9**  | **12** | **10** |
12499   * | 12 _-x-_ | 10 _-x-_ | 4 _-x-_ |        |        |
12500   *
12501   * @see https://developer.mozilla.org/docs/Web/CSS/perspective
12502   */
12503  perspective?: Property.Perspective<TLength>;
12504  /**
12505   * The **`perspective-origin`** CSS property determines the position at which the viewer is looking. It is used as the _vanishing point_ by the `perspective` property.
12506   *
12507   * **Syntax**: `<position>`
12508   *
12509   * **Initial value**: `50% 50%`
12510   *
12511   * |  Chrome  | Firefox  | Safari  |  Edge  |   IE   |
12512   * | :------: | :------: | :-----: | :----: | :----: |
12513   * |  **36**  |  **16**  |  **9**  | **12** | **10** |
12514   * | 12 _-x-_ | 10 _-x-_ | 4 _-x-_ |        |        |
12515   *
12516   * @see https://developer.mozilla.org/docs/Web/CSS/perspective-origin
12517   */
12518  "perspective-origin"?: Property.PerspectiveOrigin<TLength>;
12519  /**
12520   * The `**place-content**` CSS shorthand property allows you to align content along both the block and inline directions at once (i.e. the `align-content` and `justify-content` properties) in a relevant layout system such as Grid or Flexbox.
12521   *
12522   * **Syntax**: `<'align-content'> <'justify-content'>?`
12523   *
12524   * **Initial value**: `normal`
12525   *
12526   * ---
12527   *
12528   * _Supported in Flex Layout_
12529   *
12530   * | Chrome | Firefox | Safari |  Edge  | IE  |
12531   * | :----: | :-----: | :----: | :----: | :-: |
12532   * | **59** | **45**  | **9**  | **79** | No  |
12533   *
12534   * ---
12535   *
12536   * _Supported in Grid Layout_
12537   *
12538   * | Chrome | Firefox | Safari |  Edge  | IE  |
12539   * | :----: | :-----: | :----: | :----: | :-: |
12540   * | **59** | **53**  | **11** | **79** | No  |
12541   *
12542   * ---
12543   *
12544   * @see https://developer.mozilla.org/docs/Web/CSS/place-content
12545   */
12546  "place-content"?: Property.PlaceContent;
12547  /**
12548   * The **`pointer-events`** CSS property sets under what circumstances (if any) a particular graphic element can become the target of pointer events.
12549   *
12550   * **Syntax**: `auto | none | visiblePainted | visibleFill | visibleStroke | visible | painted | fill | stroke | all | inherit`
12551   *
12552   * **Initial value**: `auto`
12553   *
12554   * | Chrome | Firefox | Safari |  Edge  |   IE   |
12555   * | :----: | :-----: | :----: | :----: | :----: |
12556   * | **1**  | **1.5** | **4**  | **12** | **11** |
12557   *
12558   * @see https://developer.mozilla.org/docs/Web/CSS/pointer-events
12559   */
12560  "pointer-events"?: Property.PointerEvents;
12561  /**
12562   * The **`position`** CSS property sets how an element is positioned in a document. The `top`, `right`, `bottom`, and `left` properties determine the final location of positioned elements.
12563   *
12564   * **Syntax**: `static | relative | absolute | sticky | fixed`
12565   *
12566   * **Initial value**: `static`
12567   *
12568   * | Chrome | Firefox | Safari |  Edge  |  IE   |
12569   * | :----: | :-----: | :----: | :----: | :---: |
12570   * | **1**  |  **1**  | **1**  | **12** | **4** |
12571   *
12572   * @see https://developer.mozilla.org/docs/Web/CSS/position
12573   */
12574  position?: Property.Position;
12575  /**
12576   * The **`quotes`** CSS property sets how the browser should render quotation marks that are added using the `open-quotes` or `close-quotes` values of the CSS `content` property.
12577   *
12578   * **Syntax**: `none | auto | [ <string> <string> ]+`
12579   *
12580   * **Initial value**: depends on user agent
12581   *
12582   * | Chrome | Firefox | Safari |  Edge  |  IE   |
12583   * | :----: | :-----: | :----: | :----: | :---: |
12584   * | **11** | **1.5** | **9**  | **12** | **8** |
12585   *
12586   * @see https://developer.mozilla.org/docs/Web/CSS/quotes
12587   */
12588  quotes?: Property.Quotes;
12589  /**
12590   * The **`resize`** CSS property sets whether an element is resizable, and if so, in which directions.
12591   *
12592   * **Syntax**: `none | both | horizontal | vertical | block | inline`
12593   *
12594   * **Initial value**: `none`
12595   *
12596   * | Chrome | Firefox | Safari |  Edge  | IE  |
12597   * | :----: | :-----: | :----: | :----: | :-: |
12598   * | **1**  |  **4**  | **3**  | **79** | No  |
12599   *
12600   * @see https://developer.mozilla.org/docs/Web/CSS/resize
12601   */
12602  resize?: Property.Resize;
12603  /**
12604   * The **`right`** CSS property participates in specifying the horizontal position of a positioned element. It has no effect on non-positioned elements.
12605   *
12606   * **Syntax**: `<length> | <percentage> | auto`
12607   *
12608   * **Initial value**: `auto`
12609   *
12610   * | Chrome | Firefox | Safari |  Edge  |   IE    |
12611   * | :----: | :-----: | :----: | :----: | :-----: |
12612   * | **1**  |  **1**  | **1**  | **12** | **5.5** |
12613   *
12614   * @see https://developer.mozilla.org/docs/Web/CSS/right
12615   */
12616  right?: Property.Right<TLength>;
12617  /**
12618   * The **`rotate`** CSS property allows you to specify rotation transforms individually and independently of the `transform` property. This maps better to typical user interface usage, and saves having to remember the exact order of transform functions to specify in the `transform` property.
12619   *
12620   * **Syntax**: `none | <angle> | [ x | y | z | <number>{3} ] && <angle>`
12621   *
12622   * **Initial value**: `none`
12623   *
12624   * | Chrome | Firefox | Safari | Edge | IE  |
12625   * | :----: | :-----: | :----: | :--: | :-: |
12626   * |   No   | **72**  |   No   |  No  | No  |
12627   *
12628   * @see https://developer.mozilla.org/docs/Web/CSS/rotate
12629   */
12630  rotate?: Property.Rotate;
12631  /**
12632   * The **`row-gap`** CSS property sets the size of the gap (gutter) between an element's grid rows.
12633   *
12634   * **Syntax**: `normal | <length-percentage>`
12635   *
12636   * **Initial value**: `normal`
12637   *
12638   * ---
12639   *
12640   * _Supported in Flex Layout_
12641   *
12642   * | Chrome | Firefox | Safari |  Edge  | IE  |
12643   * | :----: | :-----: | :----: | :----: | :-: |
12644   * | **84** | **63**  |   No   | **84** | No  |
12645   *
12646   * ---
12647   *
12648   * _Supported in Grid Layout_
12649   *
12650   * |       Chrome        |       Firefox       |        Safari         |  Edge  | IE  |
12651   * | :-----------------: | :-----------------: | :-------------------: | :----: | :-: |
12652   * |       **66**        |       **61**        |       **12.1**        | **16** | No  |
12653   * | 57 _(grid-row-gap)_ | 52 _(grid-row-gap)_ | 10.1 _(grid-row-gap)_ |        |     |
12654   *
12655   * ---
12656   *
12657   * @see https://developer.mozilla.org/docs/Web/CSS/row-gap
12658   */
12659  "row-gap"?: Property.RowGap<TLength>;
12660  /**
12661   * The `**ruby-align**` CSS property defines the distribution of the different ruby elements over the base.
12662   *
12663   * **Syntax**: `start | center | space-between | space-around`
12664   *
12665   * **Initial value**: `space-around`
12666   *
12667   * | Chrome | Firefox | Safari | Edge | IE  |
12668   * | :----: | :-----: | :----: | :--: | :-: |
12669   * |   No   | **38**  |   No   |  No  | No  |
12670   *
12671   * @see https://developer.mozilla.org/docs/Web/CSS/ruby-align
12672   */
12673  "ruby-align"?: Property.RubyAlign;
12674  /**
12675   * **Syntax**: `separate | collapse | auto`
12676   *
12677   * **Initial value**: `separate`
12678   */
12679  "ruby-merge"?: Property.RubyMerge;
12680  /**
12681   * The `**ruby-position**` CSS property defines the position of a ruby element relatives to its base element. It can be position over the element (`over`), under it (`under`), or between the characters, on their right side (`inter-character`).
12682   *
12683   * **Syntax**: `[ alternate || [ over | under ] ] | inter-character`
12684   *
12685   * **Initial value**: `alternate`
12686   *
12687   * | Chrome  | Firefox |    Safari     | Edge  | IE  |
12688   * | :-----: | :-----: | :-----------: | :---: | :-: |
12689   * | **84**  | **38**  | **6.1** _-x-_ | 12-79 | No  |
12690   * | 1 _-x-_ |         |               |       |     |
12691   *
12692   * @see https://developer.mozilla.org/docs/Web/CSS/ruby-position
12693   */
12694  "ruby-position"?: Property.RubyPosition;
12695  /**
12696   * The **`scale`** CSS property allows you to specify scale transforms individually and independently of the `transform` property. This maps better to typical user interface usage, and saves having to remember the exact order of transform functions to specify in the `transform` value.
12697   *
12698   * **Syntax**: `none | <number>{1,3}`
12699   *
12700   * **Initial value**: `none`
12701   *
12702   * | Chrome | Firefox | Safari | Edge | IE  |
12703   * | :----: | :-----: | :----: | :--: | :-: |
12704   * |   No   | **72**  |   No   |  No  | No  |
12705   *
12706   * @see https://developer.mozilla.org/docs/Web/CSS/scale
12707   */
12708  scale?: Property.Scale;
12709  /**
12710   * The **`scroll-behavior`** CSS property sets the behavior for a scrolling box when scrolling is triggered by the navigation or CSSOM scrolling APIs.
12711   *
12712   * **Syntax**: `auto | smooth`
12713   *
12714   * **Initial value**: `auto`
12715   *
12716   * | Chrome | Firefox | Safari |  Edge  | IE  |
12717   * | :----: | :-----: | :----: | :----: | :-: |
12718   * | **61** | **36**  |  n/a   | **79** | No  |
12719   *
12720   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-behavior
12721   */
12722  "scroll-behavior"?: Property.ScrollBehavior;
12723  /**
12724   * The **`scroll-margin`** shorthand property sets all of the scroll margins of an element at once, assigning values much like the `margin` property does for margins of an element.
12725   *
12726   * **Syntax**: `<length>{1,4}`
12727   *
12728   * **Initial value**: `0`
12729   *
12730   * | Chrome | Firefox |            Safari             |  Edge  | IE  |
12731   * | :----: | :-----: | :---------------------------: | :----: | :-: |
12732   * | **69** | **68**  | **11** _(scroll-snap-margin)_ | **79** | No  |
12733   *
12734   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin
12735   */
12736  "scroll-margin"?: Property.ScrollMargin<TLength>;
12737  /**
12738   * The `scroll-margin-block` shorthand property sets the scroll margins of an element in the block dimension.
12739   *
12740   * **Syntax**: `<length>{1,2}`
12741   *
12742   * **Initial value**: `0`
12743   *
12744   * | Chrome | Firefox | Safari |  Edge  | IE  |
12745   * | :----: | :-----: | :----: | :----: | :-: |
12746   * | **69** | **68**  |   No   | **79** | No  |
12747   *
12748   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-block
12749   */
12750  "scroll-margin-block"?: Property.ScrollMarginBlock<TLength>;
12751  /**
12752   * The `scroll-margin-block-end` property defines the margin of the scroll snap area at the end of the block dimension that is used for snapping this box to the snapport. The scroll snap area is determined by taking the transformed border box, finding its rectangular bounding box (axis-aligned in the scroll container’s coordinate space), then adding the specified outsets.
12753   *
12754   * **Syntax**: `<length>`
12755   *
12756   * **Initial value**: `0`
12757   *
12758   * | Chrome | Firefox | Safari |  Edge  | IE  |
12759   * | :----: | :-----: | :----: | :----: | :-: |
12760   * | **69** | **68**  |   No   | **79** | No  |
12761   *
12762   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-block-end
12763   */
12764  "scroll-margin-block-end"?: Property.ScrollMarginBlockEnd<TLength>;
12765  /**
12766   * The `scroll-margin-block-start` property defines the margin of the scroll snap area at the start of the block dimension that is used for snapping this box to the snapport. The scroll snap area is determined by taking the transformed border box, finding its rectangular bounding box (axis-aligned in the scroll container’s coordinate space), then adding the specified outsets.
12767   *
12768   * **Syntax**: `<length>`
12769   *
12770   * **Initial value**: `0`
12771   *
12772   * | Chrome | Firefox | Safari |  Edge  | IE  |
12773   * | :----: | :-----: | :----: | :----: | :-: |
12774   * | **69** | **68**  |   No   | **79** | No  |
12775   *
12776   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-block-start
12777   */
12778  "scroll-margin-block-start"?: Property.ScrollMarginBlockStart<TLength>;
12779  /**
12780   * The `scroll-margin-bottom` property defines the bottom margin of the scroll snap area that is used for snapping this box to the snapport. The scroll snap area is determined by taking the transformed border box, finding its rectangular bounding box (axis-aligned in the scroll container’s coordinate space), then adding the specified outsets.
12781   *
12782   * **Syntax**: `<length>`
12783   *
12784   * **Initial value**: `0`
12785   *
12786   * | Chrome | Firefox |                Safari                |  Edge  | IE  |
12787   * | :----: | :-----: | :----------------------------------: | :----: | :-: |
12788   * | **69** | **68**  | **11** _(scroll-snap-margin-bottom)_ | **79** | No  |
12789   *
12790   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-bottom
12791   */
12792  "scroll-margin-bottom"?: Property.ScrollMarginBottom<TLength>;
12793  /**
12794   * The `scroll-margin-inline` shorthand property sets the scroll margins of an element in the inline dimension.
12795   *
12796   * **Syntax**: `<length>{1,2}`
12797   *
12798   * **Initial value**: `0`
12799   *
12800   * | Chrome | Firefox | Safari | Edge | IE  |
12801   * | :----: | :-----: | :----: | :--: | :-: |
12802   * |   No   | **68**  |   No   |  No  | No  |
12803   *
12804   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-inline
12805   */
12806  "scroll-margin-inline"?: Property.ScrollMarginInline<TLength>;
12807  /**
12808   * The `scroll-margin-inline-end` property defines the margin of the scroll snap area at the end of the inline dimension that is used for snapping this box to the snapport. The scroll snap area is determined by taking the transformed border box, finding its rectangular bounding box (axis-aligned in the scroll container’s coordinate space), then adding the specified outsets.
12809   *
12810   * **Syntax**: `<length>`
12811   *
12812   * **Initial value**: `0`
12813   *
12814   * | Chrome | Firefox | Safari |  Edge  | IE  |
12815   * | :----: | :-----: | :----: | :----: | :-: |
12816   * | **69** | **68**  |   No   | **79** | No  |
12817   *
12818   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-inline-end
12819   */
12820  "scroll-margin-inline-end"?: Property.ScrollMarginInlineEnd<TLength>;
12821  /**
12822   * The `scroll-margin-inline-start` property defines the margin of the scroll snap area at the start of the inline dimension that is used for snapping this box to the snapport. The scroll snap area is determined by taking the transformed border box, finding its rectangular bounding box (axis-aligned in the scroll container’s coordinate space), then adding the specified outsets.
12823   *
12824   * **Syntax**: `<length>`
12825   *
12826   * **Initial value**: `0`
12827   *
12828   * | Chrome | Firefox | Safari |  Edge  | IE  |
12829   * | :----: | :-----: | :----: | :----: | :-: |
12830   * | **69** | **68**  |   No   | **79** | No  |
12831   *
12832   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-inline-start
12833   */
12834  "scroll-margin-inline-start"?: Property.ScrollMarginInlineStart<TLength>;
12835  /**
12836   * The `scroll-margin-left` property defines the left margin of the scroll snap area that is used for snapping this box to the snapport. The scroll snap area is determined by taking the transformed border box, finding its rectangular bounding box (axis-aligned in the scroll container’s coordinate space), then adding the specified outsets.
12837   *
12838   * **Syntax**: `<length>`
12839   *
12840   * **Initial value**: `0`
12841   *
12842   * | Chrome | Firefox |               Safari               |  Edge  | IE  |
12843   * | :----: | :-----: | :--------------------------------: | :----: | :-: |
12844   * | **69** | **68**  | **11** _(scroll-snap-margin-left)_ | **79** | No  |
12845   *
12846   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-left
12847   */
12848  "scroll-margin-left"?: Property.ScrollMarginLeft<TLength>;
12849  /**
12850   * The `scroll-margin-right` property defines the right margin of the scroll snap area that is used for snapping this box to the snapport. The scroll snap area is determined by taking the transformed border box, finding its rectangular bounding box (axis-aligned in the scroll container’s coordinate space), then adding the specified outsets.
12851   *
12852   * **Syntax**: `<length>`
12853   *
12854   * **Initial value**: `0`
12855   *
12856   * | Chrome | Firefox |               Safari                |  Edge  | IE  |
12857   * | :----: | :-----: | :---------------------------------: | :----: | :-: |
12858   * | **69** | **68**  | **11** _(scroll-snap-margin-right)_ | **79** | No  |
12859   *
12860   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-right
12861   */
12862  "scroll-margin-right"?: Property.ScrollMarginRight<TLength>;
12863  /**
12864   * The `scroll-margin-top` property defines the top margin of the scroll snap area that is used for snapping this box to the snapport. The scroll snap area is determined by taking the transformed border box, finding its rectangular bounding box (axis-aligned in the scroll container’s coordinate space), then adding the specified outsets.
12865   *
12866   * **Syntax**: `<length>`
12867   *
12868   * **Initial value**: `0`
12869   *
12870   * | Chrome | Firefox |              Safari               |  Edge  | IE  |
12871   * | :----: | :-----: | :-------------------------------: | :----: | :-: |
12872   * | **69** | **68**  | **11** _(scroll-snap-margin-top)_ | **79** | No  |
12873   *
12874   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-top
12875   */
12876  "scroll-margin-top"?: Property.ScrollMarginTop<TLength>;
12877  /**
12878   * The **`scroll-padding`** shorthand property sets scroll padding on all sides of an element at once, much like the `padding` property does for padding on an element.
12879   *
12880   * **Syntax**: `[ auto | <length-percentage> ]{1,4}`
12881   *
12882   * **Initial value**: `auto`
12883   *
12884   * | Chrome | Firefox | Safari |  Edge  | IE  |
12885   * | :----: | :-----: | :----: | :----: | :-: |
12886   * | **69** | **68**  | **11** | **79** | No  |
12887   *
12888   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding
12889   */
12890  "scroll-padding"?: Property.ScrollPadding<TLength>;
12891  /**
12892   * The `scroll-padding-block` shorthand property sets the scroll padding of an element in the block dimension.
12893   *
12894   * **Syntax**: `[ auto | <length-percentage> ]{1,2}`
12895   *
12896   * **Initial value**: `auto`
12897   *
12898   * | Chrome | Firefox | Safari |  Edge  | IE  |
12899   * | :----: | :-----: | :----: | :----: | :-: |
12900   * | **69** | **68**  |   No   | **79** | No  |
12901   *
12902   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding-block
12903   */
12904  "scroll-padding-block"?: Property.ScrollPaddingBlock<TLength>;
12905  /**
12906   * The `scroll-padding-block-end` property defines offsets for the end edge in the block dimension of the optimal viewing region of the scrollport: the region used as the target region for placing things in view of the user. This allows the author to exclude regions of the scrollport that are obscured by other content (such as fixed-positioned toolbars or sidebars) or simply to put more breathing room between a targetted element and the edges of the scrollport.
12907   *
12908   * **Syntax**: `auto | <length-percentage>`
12909   *
12910   * **Initial value**: `auto`
12911   *
12912   * | Chrome | Firefox | Safari |  Edge  | IE  |
12913   * | :----: | :-----: | :----: | :----: | :-: |
12914   * | **69** | **68**  |   No   | **79** | No  |
12915   *
12916   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding-block-end
12917   */
12918  "scroll-padding-block-end"?: Property.ScrollPaddingBlockEnd<TLength>;
12919  /**
12920   * The `scroll-padding-block-start` property defines offsets for the start edge in the block dimension of the optimal viewing region of the scrollport: the region used as the target region for placing things in view of the user. This allows the author to exclude regions of the scrollport that are obscured by other content (such as fixed-positioned toolbars or sidebars) or simply to put more breathing room between a targetted element and the edges of the scrollport.
12921   *
12922   * **Syntax**: `auto | <length-percentage>`
12923   *
12924   * **Initial value**: `auto`
12925   *
12926   * | Chrome | Firefox | Safari |  Edge  | IE  |
12927   * | :----: | :-----: | :----: | :----: | :-: |
12928   * | **69** | **68**  |   No   | **79** | No  |
12929   *
12930   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding-block-start
12931   */
12932  "scroll-padding-block-start"?: Property.ScrollPaddingBlockStart<TLength>;
12933  /**
12934   * The `scroll-padding-bottom` property defines offsets for the bottom of the optimal viewing region of the scrollport: the region used as the target region for placing things in view of the user. This allows the author to exclude regions of the scrollport that are obscured by other content (such as fixed-positioned toolbars or sidebars) or simply to put more breathing room between a targetted element and the edges of the scrollport.
12935   *
12936   * **Syntax**: `auto | <length-percentage>`
12937   *
12938   * **Initial value**: `auto`
12939   *
12940   * | Chrome | Firefox | Safari |  Edge  | IE  |
12941   * | :----: | :-----: | :----: | :----: | :-: |
12942   * | **69** | **68**  | **11** | **79** | No  |
12943   *
12944   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding-bottom
12945   */
12946  "scroll-padding-bottom"?: Property.ScrollPaddingBottom<TLength>;
12947  /**
12948   * The `scroll-padding-inline` shorthand property sets the scroll padding of an element in the inline dimension.
12949   *
12950   * **Syntax**: `[ auto | <length-percentage> ]{1,2}`
12951   *
12952   * **Initial value**: `auto`
12953   *
12954   * | Chrome | Firefox | Safari |  Edge  | IE  |
12955   * | :----: | :-----: | :----: | :----: | :-: |
12956   * | **69** | **68**  |   No   | **79** | No  |
12957   *
12958   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding-inline
12959   */
12960  "scroll-padding-inline"?: Property.ScrollPaddingInline<TLength>;
12961  /**
12962   * The `scroll-padding-inline-end` property defines offsets for the end edge in the inline dimension of the optimal viewing region of the scrollport: the region used as the target region for placing things in view of the user. This allows the author to exclude regions of the scrollport that are obscured by other content (such as fixed-positioned toolbars or sidebars) or simply to put more breathing room between a targetted element and the edges of the scrollport.
12963   *
12964   * **Syntax**: `auto | <length-percentage>`
12965   *
12966   * **Initial value**: `auto`
12967   *
12968   * | Chrome | Firefox | Safari |  Edge  | IE  |
12969   * | :----: | :-----: | :----: | :----: | :-: |
12970   * | **69** | **68**  |   No   | **79** | No  |
12971   *
12972   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding-inline-end
12973   */
12974  "scroll-padding-inline-end"?: Property.ScrollPaddingInlineEnd<TLength>;
12975  /**
12976   * The `scroll-padding-inline-start` property defines offsets for the start edge in the inline dimension of the optimal viewing region of the scrollport: the region used as the target region for placing things in view of the user. This allows the author to exclude regions of the scrollport that are obscured by other content (such as fixed-positioned toolbars or sidebars) or simply to put more breathing room between a targetted element and the edges of the scrollport.
12977   *
12978   * **Syntax**: `auto | <length-percentage>`
12979   *
12980   * **Initial value**: `auto`
12981   *
12982   * | Chrome | Firefox | Safari |  Edge  | IE  |
12983   * | :----: | :-----: | :----: | :----: | :-: |
12984   * | **69** | **68**  |   No   | **79** | No  |
12985   *
12986   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding-inline-start
12987   */
12988  "scroll-padding-inline-start"?: Property.ScrollPaddingInlineStart<TLength>;
12989  /**
12990   * The `scroll-padding-left` property defines offsets for the left of the optimal viewing region of the scrollport: the region used as the target region for placing things in view of the user. This allows the author to exclude regions of the scrollport that are obscured by other content (such as fixed-positioned toolbars or sidebars) or simply to put more breathing room between a targetted element and the edges of the scrollport.
12991   *
12992   * **Syntax**: `auto | <length-percentage>`
12993   *
12994   * **Initial value**: `auto`
12995   *
12996   * | Chrome | Firefox | Safari |  Edge  | IE  |
12997   * | :----: | :-----: | :----: | :----: | :-: |
12998   * | **69** | **68**  | **11** | **79** | No  |
12999   *
13000   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding-left
13001   */
13002  "scroll-padding-left"?: Property.ScrollPaddingLeft<TLength>;
13003  /**
13004   * The `scroll-padding-right` property defines offsets for the right of the optimal viewing region of the scrollport: the region used as the target region for placing things in view of the user. This allows the author to exclude regions of the scrollport that are obscured by other content (such as fixed-positioned toolbars or sidebars) or simply to put more breathing room between a targetted element and the edges of the scrollport.
13005   *
13006   * **Syntax**: `auto | <length-percentage>`
13007   *
13008   * **Initial value**: `auto`
13009   *
13010   * | Chrome | Firefox | Safari |  Edge  | IE  |
13011   * | :----: | :-----: | :----: | :----: | :-: |
13012   * | **69** | **68**  | **11** | **79** | No  |
13013   *
13014   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding-right
13015   */
13016  "scroll-padding-right"?: Property.ScrollPaddingRight<TLength>;
13017  /**
13018   * The **`scroll-padding-top`** property defines offsets for the top of the optimal viewing region of the scrollport: the region used as the target region for placing things in view of the user. This allows the author to exclude regions of the scrollport that are obscured by other content (such as fixed-positioned toolbars or sidebars) or simply to put more breathing room between a targetted element and the edges of the scrollport.
13019   *
13020   * **Syntax**: `auto | <length-percentage>`
13021   *
13022   * **Initial value**: `auto`
13023   *
13024   * | Chrome | Firefox | Safari |  Edge  | IE  |
13025   * | :----: | :-----: | :----: | :----: | :-: |
13026   * | **69** | **68**  | **11** | **79** | No  |
13027   *
13028   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding-top
13029   */
13030  "scroll-padding-top"?: Property.ScrollPaddingTop<TLength>;
13031  /**
13032   * The `scroll-snap-align` property specifies the box’s snap position as an alignment of its snap area (as the alignment subject) within its snap container’s snapport (as the alignment container). The two values specify the snapping alignment in the block axis and inline axis, respectively. If only one value is specified, the second value defaults to the same value.
13033   *
13034   * **Syntax**: `[ none | start | end | center ]{1,2}`
13035   *
13036   * **Initial value**: `none`
13037   *
13038   * | Chrome | Firefox | Safari |  Edge  | IE  |
13039   * | :----: | :-----: | :----: | :----: | :-: |
13040   * | **69** | **68**  | **11** | **79** | No  |
13041   *
13042   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-snap-align
13043   */
13044  "scroll-snap-align"?: Property.ScrollSnapAlign;
13045  /**
13046   * The **`scroll-margin`** shorthand property sets all of the scroll margins of an element at once, assigning values much like the `margin` property does for margins of an element.
13047   *
13048   * **Syntax**: `<length>{1,4}`
13049   *
13050   * **Initial value**: `0`
13051   *
13052   * | Chrome | Firefox |            Safari             |  Edge  | IE  |
13053   * | :----: | :-----: | :---------------------------: | :----: | :-: |
13054   * | **69** | **68**  | **11** _(scroll-snap-margin)_ | **79** | No  |
13055   *
13056   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin
13057   */
13058  "scroll-snap-margin"?: Property.ScrollMargin<TLength>;
13059  /**
13060   * The `scroll-margin-bottom` property defines the bottom margin of the scroll snap area that is used for snapping this box to the snapport. The scroll snap area is determined by taking the transformed border box, finding its rectangular bounding box (axis-aligned in the scroll container’s coordinate space), then adding the specified outsets.
13061   *
13062   * **Syntax**: `<length>`
13063   *
13064   * **Initial value**: `0`
13065   *
13066   * | Chrome | Firefox |                Safari                |  Edge  | IE  |
13067   * | :----: | :-----: | :----------------------------------: | :----: | :-: |
13068   * | **69** | **68**  | **11** _(scroll-snap-margin-bottom)_ | **79** | No  |
13069   *
13070   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-bottom
13071   */
13072  "scroll-snap-margin-bottom"?: Property.ScrollMarginBottom<TLength>;
13073  /**
13074   * The `scroll-margin-left` property defines the left margin of the scroll snap area that is used for snapping this box to the snapport. The scroll snap area is determined by taking the transformed border box, finding its rectangular bounding box (axis-aligned in the scroll container’s coordinate space), then adding the specified outsets.
13075   *
13076   * **Syntax**: `<length>`
13077   *
13078   * **Initial value**: `0`
13079   *
13080   * | Chrome | Firefox |               Safari               |  Edge  | IE  |
13081   * | :----: | :-----: | :--------------------------------: | :----: | :-: |
13082   * | **69** | **68**  | **11** _(scroll-snap-margin-left)_ | **79** | No  |
13083   *
13084   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-left
13085   */
13086  "scroll-snap-margin-left"?: Property.ScrollMarginLeft<TLength>;
13087  /**
13088   * The `scroll-margin-right` property defines the right margin of the scroll snap area that is used for snapping this box to the snapport. The scroll snap area is determined by taking the transformed border box, finding its rectangular bounding box (axis-aligned in the scroll container’s coordinate space), then adding the specified outsets.
13089   *
13090   * **Syntax**: `<length>`
13091   *
13092   * **Initial value**: `0`
13093   *
13094   * | Chrome | Firefox |               Safari                |  Edge  | IE  |
13095   * | :----: | :-----: | :---------------------------------: | :----: | :-: |
13096   * | **69** | **68**  | **11** _(scroll-snap-margin-right)_ | **79** | No  |
13097   *
13098   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-right
13099   */
13100  "scroll-snap-margin-right"?: Property.ScrollMarginRight<TLength>;
13101  /**
13102   * The `scroll-margin-top` property defines the top margin of the scroll snap area that is used for snapping this box to the snapport. The scroll snap area is determined by taking the transformed border box, finding its rectangular bounding box (axis-aligned in the scroll container’s coordinate space), then adding the specified outsets.
13103   *
13104   * **Syntax**: `<length>`
13105   *
13106   * **Initial value**: `0`
13107   *
13108   * | Chrome | Firefox |              Safari               |  Edge  | IE  |
13109   * | :----: | :-----: | :-------------------------------: | :----: | :-: |
13110   * | **69** | **68**  | **11** _(scroll-snap-margin-top)_ | **79** | No  |
13111   *
13112   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-top
13113   */
13114  "scroll-snap-margin-top"?: Property.ScrollMarginTop<TLength>;
13115  /**
13116   * The **`scroll-snap-stop`** CSS property defines whether the scroll container is allowed to "pass over" possible snap positions.
13117   *
13118   * **Syntax**: `normal | always`
13119   *
13120   * **Initial value**: `normal`
13121   *
13122   * | Chrome | Firefox | Safari |  Edge  | IE  |
13123   * | :----: | :-----: | :----: | :----: | :-: |
13124   * | **75** |   No    |   No   | **79** | No  |
13125   *
13126   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-snap-stop
13127   */
13128  "scroll-snap-stop"?: Property.ScrollSnapStop;
13129  /**
13130   * The **`scroll-snap-type`** CSS property sets how strictly snap points are enforced on the scroll container in case there is one.
13131   *
13132   * **Syntax**: `none | [ x | y | block | inline | both ] [ mandatory | proximity ]?`
13133   *
13134   * **Initial value**: `none`
13135   *
13136   * | Chrome | Firefox | Safari  |     Edge     |      IE      |
13137   * | :----: | :-----: | :-----: | :----------: | :----------: |
13138   * | **69** |  39-68  | **11**  | **12** _-x-_ | **10** _-x-_ |
13139   * |        |         | 9 _-x-_ |              |              |
13140   *
13141   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-snap-type
13142   */
13143  "scroll-snap-type"?: Property.ScrollSnapType;
13144  /**
13145   * The **`scrollbar-color`** CSS property sets the color of the scrollbar track and thumb.
13146   *
13147   * **Syntax**: `auto | dark | light | <color>{2}`
13148   *
13149   * **Initial value**: `auto`
13150   *
13151   * | Chrome | Firefox | Safari | Edge | IE  |
13152   * | :----: | :-----: | :----: | :--: | :-: |
13153   * |   No   | **64**  |   No   |  No  | No  |
13154   *
13155   * @see https://developer.mozilla.org/docs/Web/CSS/scrollbar-color
13156   */
13157  "scrollbar-color"?: Property.ScrollbarColor;
13158  /**
13159   * The **`scrollbar-gutter`** CSS property allows authors to reserve space for the scrollbar, preventing unwanted layout changes as the content grows while also avoiding unnecessary visuals when scrolling isn't needed.
13160   *
13161   * **Syntax**: `auto | [ stable | always ] && both? && force?`
13162   *
13163   * **Initial value**: `auto`
13164   *
13165   * | Chrome | Firefox | Safari | Edge | IE  |
13166   * | :----: | :-----: | :----: | :--: | :-: |
13167   * |  n/a   |   No    |   No   |  No  | No  |
13168   *
13169   * @see https://developer.mozilla.org/docs/Web/CSS/scrollbar-gutter
13170   */
13171  "scrollbar-gutter"?: Property.ScrollbarGutter;
13172  /**
13173   * The **`scrollbar-width`** property allows the author to set the maximum thickness of an element’s scrollbars when they are shown.
13174   *
13175   * **Syntax**: `auto | thin | none`
13176   *
13177   * **Initial value**: `auto`
13178   *
13179   * | Chrome | Firefox | Safari | Edge | IE  |
13180   * | :----: | :-----: | :----: | :--: | :-: |
13181   * |   No   | **64**  |   No   |  No  | No  |
13182   *
13183   * @see https://developer.mozilla.org/docs/Web/CSS/scrollbar-width
13184   */
13185  "scrollbar-width"?: Property.ScrollbarWidth;
13186  /**
13187   * The **`shape-image-threshold`** CSS property sets the alpha channel threshold used to extract the shape using an image as the value for `shape-outside`.
13188   *
13189   * **Syntax**: `<alpha-value>`
13190   *
13191   * **Initial value**: `0.0`
13192   *
13193   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
13194   * | :----: | :-----: | :------: | :----: | :-: |
13195   * | **37** | **62**  | **10.1** | **79** | No  |
13196   *
13197   * @see https://developer.mozilla.org/docs/Web/CSS/shape-image-threshold
13198   */
13199  "shape-image-threshold"?: Property.ShapeImageThreshold;
13200  /**
13201   * The **`shape-margin`** CSS property sets a margin for a CSS shape created using `shape-outside`.
13202   *
13203   * **Syntax**: `<length-percentage>`
13204   *
13205   * **Initial value**: `0`
13206   *
13207   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
13208   * | :----: | :-----: | :------: | :----: | :-: |
13209   * | **37** | **62**  | **10.1** | **79** | No  |
13210   *
13211   * @see https://developer.mozilla.org/docs/Web/CSS/shape-margin
13212   */
13213  "shape-margin"?: Property.ShapeMargin<TLength>;
13214  /**
13215   * The **`shape-outside`** CSS property defines a shape—which may be non-rectangular—around which adjacent inline content should wrap. By default, inline content wraps around its margin box; `shape-outside` provides a way to customize this wrapping, making it possible to wrap text around complex objects rather than simple boxes.
13216   *
13217   * **Syntax**: `none | [ <shape-box> || <basic-shape> ] | <image>`
13218   *
13219   * **Initial value**: `none`
13220   *
13221   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
13222   * | :----: | :-----: | :------: | :----: | :-: |
13223   * | **37** | **62**  | **10.1** | **79** | No  |
13224   *
13225   * @see https://developer.mozilla.org/docs/Web/CSS/shape-outside
13226   */
13227  "shape-outside"?: Property.ShapeOutside;
13228  /**
13229   * The **`tab-size`** CSS property is used to customize the width of tab characters (U+0009).
13230   *
13231   * **Syntax**: `<integer> | <length>`
13232   *
13233   * **Initial value**: `8`
13234   *
13235   * | Chrome |   Firefox   | Safari  |  Edge  | IE  |
13236   * | :----: | :---------: | :-----: | :----: | :-: |
13237   * | **21** | **4** _-x-_ | **6.1** | **79** | No  |
13238   *
13239   * @see https://developer.mozilla.org/docs/Web/CSS/tab-size
13240   */
13241  "tab-size"?: Property.TabSize<TLength>;
13242  /**
13243   * The **`table-layout`** CSS property sets the algorithm used to lay out `<table>` cells, rows, and columns.
13244   *
13245   * **Syntax**: `auto | fixed`
13246   *
13247   * **Initial value**: `auto`
13248   *
13249   * | Chrome | Firefox | Safari |  Edge  |  IE   |
13250   * | :----: | :-----: | :----: | :----: | :---: |
13251   * | **14** |  **1**  | **1**  | **12** | **5** |
13252   *
13253   * @see https://developer.mozilla.org/docs/Web/CSS/table-layout
13254   */
13255  "table-layout"?: Property.TableLayout;
13256  /**
13257   * The **`text-align`** CSS property sets the horizontal alignment of a block element or table-cell box. This means it works like `vertical-align` but in the horizontal direction.
13258   *
13259   * **Syntax**: `start | end | left | right | center | justify | match-parent`
13260   *
13261   * **Initial value**: `start`, or a nameless value that acts as `left` if _direction_ is `ltr`, `right` if _direction_ is `rtl` if `start` is not supported by the browser.
13262   *
13263   * | Chrome | Firefox | Safari |  Edge  |  IE   |
13264   * | :----: | :-----: | :----: | :----: | :---: |
13265   * | **1**  |  **1**  | **1**  | **12** | **3** |
13266   *
13267   * @see https://developer.mozilla.org/docs/Web/CSS/text-align
13268   */
13269  "text-align"?: Property.TextAlign;
13270  /**
13271   * The **`text-align-last`** CSS property sets how the last line of a block or a line, right before a forced line break, is aligned.
13272   *
13273   * **Syntax**: `auto | start | end | left | right | center | justify`
13274   *
13275   * **Initial value**: `auto`
13276   *
13277   * | Chrome | Firefox | Safari |  Edge  |   IE    |
13278   * | :----: | :-----: | :----: | :----: | :-----: |
13279   * | **47** | **49**  |   No   | **12** | **5.5** |
13280   *
13281   * @see https://developer.mozilla.org/docs/Web/CSS/text-align-last
13282   */
13283  "text-align-last"?: Property.TextAlignLast;
13284  /**
13285   * The **`text-combine-upright`** CSS property sets the combination of characters into the space of a single character. If the combined text is wider than 1em, the user agent must fit the contents within 1em. The resulting composition is treated as a single upright glyph for layout and decoration. This property only has an effect in vertical writing modes.
13286   *
13287   * **Syntax**: `none | all | [ digits <integer>? ]`
13288   *
13289   * **Initial value**: `none`
13290   *
13291   * |           Chrome           | Firefox |              Safari              | Edge  |                   IE                   |
13292   * | :------------------------: | :-----: | :------------------------------: | :---: | :------------------------------------: |
13293   * |           **48**           | **48**  | **5.1** _(-webkit-text-combine)_ | 15-79 | **11** _(-ms-text-combine-horizontal)_ |
13294   * | 9 _(-webkit-text-combine)_ |         |                                  |       |                                        |
13295   *
13296   * @see https://developer.mozilla.org/docs/Web/CSS/text-combine-upright
13297   */
13298  "text-combine-upright"?: Property.TextCombineUpright;
13299  /**
13300   * The **`text-decoration-color`** CSS property sets the color of decorations added to text by `text-decoration-line`.
13301   *
13302   * **Syntax**: `<color>`
13303   *
13304   * **Initial value**: `currentcolor`
13305   *
13306   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
13307   * | :----: | :-----: | :------: | :----: | :-: |
13308   * | **57** | **36**  | **12.1** | **79** | No  |
13309   * |        |         | 8 _-x-_  |        |     |
13310   *
13311   * @see https://developer.mozilla.org/docs/Web/CSS/text-decoration-color
13312   */
13313  "text-decoration-color"?: Property.TextDecorationColor;
13314  /**
13315   * The **`text-decoration-line`** CSS property sets the kind of decoration that is used on text in an element, such as an underline or overline.
13316   *
13317   * **Syntax**: `none | [ underline || overline || line-through || blink ] | spelling-error | grammar-error`
13318   *
13319   * **Initial value**: `none`
13320   *
13321   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
13322   * | :----: | :-----: | :------: | :----: | :-: |
13323   * | **57** | **36**  | **12.1** | **79** | No  |
13324   * |        |         | 8 _-x-_  |        |     |
13325   *
13326   * @see https://developer.mozilla.org/docs/Web/CSS/text-decoration-line
13327   */
13328  "text-decoration-line"?: Property.TextDecorationLine;
13329  /**
13330   * The **`text-decoration-skip`** CSS property sets what parts of an element’s content any text decoration affecting the element must skip over. It controls all text decoration lines drawn by the element and also any text decoration lines drawn by its ancestors.
13331   *
13332   * **Syntax**: `none | [ objects || [ spaces | [ leading-spaces || trailing-spaces ] ] || edges || box-decoration ]`
13333   *
13334   * **Initial value**: `objects`
13335   *
13336   * | Chrome | Firefox |  Safari  | Edge | IE  |
13337   * | :----: | :-----: | :------: | :--: | :-: |
13338   * | 57-64  |   No    | **12.1** |  No  | No  |
13339   * |        |         | 8 _-x-_  |      |     |
13340   *
13341   * @see https://developer.mozilla.org/docs/Web/CSS/text-decoration-skip
13342   */
13343  "text-decoration-skip"?: Property.TextDecorationSkip;
13344  /**
13345   * The **`text-decoration-skip-ink`** CSS property specifies how overlines and underlines are drawn when they pass over glyph ascenders and descenders.
13346   *
13347   * **Syntax**: `auto | all | none`
13348   *
13349   * **Initial value**: `auto`
13350   *
13351   * | Chrome | Firefox | Safari |  Edge  | IE  |
13352   * | :----: | :-----: | :----: | :----: | :-: |
13353   * | **64** | **70**  |   No   | **79** | No  |
13354   *
13355   * @see https://developer.mozilla.org/docs/Web/CSS/text-decoration-skip-ink
13356   */
13357  "text-decoration-skip-ink"?: Property.TextDecorationSkipInk;
13358  /**
13359   * The **`text-decoration-style`** CSS property sets the style of the lines specified by `text-decoration-line`. The style applies to all lines that are set with `text-decoration-line`.
13360   *
13361   * **Syntax**: `solid | double | dotted | dashed | wavy`
13362   *
13363   * **Initial value**: `solid`
13364   *
13365   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
13366   * | :----: | :-----: | :------: | :----: | :-: |
13367   * | **57** | **36**  | **12.1** | **79** | No  |
13368   * |        |         | 8 _-x-_  |        |     |
13369   *
13370   * @see https://developer.mozilla.org/docs/Web/CSS/text-decoration-style
13371   */
13372  "text-decoration-style"?: Property.TextDecorationStyle;
13373  /**
13374   * The **`text-decoration-thickness`** CSS property sets the stroke thickness of the decoration line that is used on text in an element, such as a line-through, underline, or overline.
13375   *
13376   * **Syntax**: `auto | from-font | <length> | <percentage> `
13377   *
13378   * **Initial value**: `auto`
13379   *
13380   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
13381   * | :----: | :-----: | :------: | :----: | :-: |
13382   * | **89** | **70**  | **12.1** | **89** | No  |
13383   *
13384   * @see https://developer.mozilla.org/docs/Web/CSS/text-decoration-thickness
13385   */
13386  "text-decoration-thickness"?: Property.TextDecorationThickness<TLength>;
13387  /**
13388   * The **`text-decoration-thickness`** CSS property sets the stroke thickness of the decoration line that is used on text in an element, such as a line-through, underline, or overline.
13389   *
13390   * **Syntax**: `auto | from-font | <length> | <percentage> `
13391   *
13392   * **Initial value**: `auto`
13393   *
13394   * | Chrome | Firefox |  Safari  | Edge  | IE  |
13395   * | :----: | :-----: | :------: | :---: | :-: |
13396   * | 87-89  | **70**  | **12.1** | 87-89 | No  |
13397   *
13398   * @see https://developer.mozilla.org/docs/Web/CSS/text-decoration-thickness
13399   */
13400  "text-decoration-width"?: Property.TextDecorationThickness<TLength>;
13401  /**
13402   * The **`text-emphasis-color`** CSS property sets the color of emphasis marks. This value can also be set using the `text-emphasis` shorthand.
13403   *
13404   * **Syntax**: `<color>`
13405   *
13406   * **Initial value**: `currentcolor`
13407   *
13408   * |    Chrome    | Firefox | Safari  |     Edge     | IE  |
13409   * | :----------: | :-----: | :-----: | :----------: | :-: |
13410   * | **25** _-x-_ | **46**  | **6.1** | **79** _-x-_ | No  |
13411   *
13412   * @see https://developer.mozilla.org/docs/Web/CSS/text-emphasis-color
13413   */
13414  "text-emphasis-color"?: Property.TextEmphasisColor;
13415  /**
13416   * The **`text-emphasis-position`** CSS property sets where emphasis marks are drawn. Like ruby text, if there isn't enough room for emphasis marks, the line height is increased.
13417   *
13418   * **Syntax**: `[ over | under ] && [ right | left ]`
13419   *
13420   * **Initial value**: `over right`
13421   *
13422   * |    Chrome    | Firefox | Safari  |     Edge     | IE  |
13423   * | :----------: | :-----: | :-----: | :----------: | :-: |
13424   * | **25** _-x-_ | **46**  | **6.1** | **79** _-x-_ | No  |
13425   *
13426   * @see https://developer.mozilla.org/docs/Web/CSS/text-emphasis-position
13427   */
13428  "text-emphasis-position"?: Property.TextEmphasisPosition;
13429  /**
13430   * The **`text-emphasis-style`** CSS property sets the appearance of emphasis marks. It can also be set, and reset, using the `text-emphasis` shorthand.
13431   *
13432   * **Syntax**: `none | [ [ filled | open ] || [ dot | circle | double-circle | triangle | sesame ] ] | <string>`
13433   *
13434   * **Initial value**: `none`
13435   *
13436   * |    Chrome    | Firefox | Safari  |     Edge     | IE  |
13437   * | :----------: | :-----: | :-----: | :----------: | :-: |
13438   * | **25** _-x-_ | **46**  | **6.1** | **79** _-x-_ | No  |
13439   *
13440   * @see https://developer.mozilla.org/docs/Web/CSS/text-emphasis-style
13441   */
13442  "text-emphasis-style"?: Property.TextEmphasisStyle;
13443  /**
13444   * The **`text-indent`** CSS property sets the length of empty space (indentation) that is put before lines of text in a block.
13445   *
13446   * **Syntax**: `<length-percentage> && hanging? && each-line?`
13447   *
13448   * **Initial value**: `0`
13449   *
13450   * | Chrome | Firefox | Safari |  Edge  |  IE   |
13451   * | :----: | :-----: | :----: | :----: | :---: |
13452   * | **1**  |  **1**  | **1**  | **12** | **3** |
13453   *
13454   * @see https://developer.mozilla.org/docs/Web/CSS/text-indent
13455   */
13456  "text-indent"?: Property.TextIndent<TLength>;
13457  /**
13458   * The **`text-justify`** CSS property sets what type of justification should be applied to text when `text-align``: justify;` is set on an element.
13459   *
13460   * **Syntax**: `auto | inter-character | inter-word | none`
13461   *
13462   * **Initial value**: `auto`
13463   *
13464   * | Chrome | Firefox | Safari |  Edge  |   IE   |
13465   * | :----: | :-----: | :----: | :----: | :----: |
13466   * |  n/a   | **55**  |   No   | **12** | **11** |
13467   *
13468   * @see https://developer.mozilla.org/docs/Web/CSS/text-justify
13469   */
13470  "text-justify"?: Property.TextJustify;
13471  /**
13472   * The **`text-orientation`** CSS property sets the orientation of the text characters in a line. It only affects text in vertical mode (when `writing-mode` is not `horizontal-tb`). It is useful for controlling the display of languages that use vertical script, and also for making vertical table headers.
13473   *
13474   * **Syntax**: `mixed | upright | sideways`
13475   *
13476   * **Initial value**: `mixed`
13477   *
13478   * |  Chrome  | Firefox |  Safari   |  Edge  | IE  |
13479   * | :------: | :-----: | :-------: | :----: | :-: |
13480   * |  **48**  | **41**  |  **14**   | **79** | No  |
13481   * | 11 _-x-_ |         | 5.1 _-x-_ |        |     |
13482   *
13483   * @see https://developer.mozilla.org/docs/Web/CSS/text-orientation
13484   */
13485  "text-orientation"?: Property.TextOrientation;
13486  /**
13487   * The **`text-overflow`** CSS property sets how hidden overflow content is signaled to users. It can be clipped, display an ellipsis ('`…`'), or display a custom string.
13488   *
13489   * **Syntax**: `[ clip | ellipsis | <string> ]{1,2}`
13490   *
13491   * **Initial value**: `clip`
13492   *
13493   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
13494   * | :----: | :-----: | :-----: | :----: | :---: |
13495   * | **1**  |  **7**  | **1.3** | **12** | **6** |
13496   *
13497   * @see https://developer.mozilla.org/docs/Web/CSS/text-overflow
13498   */
13499  "text-overflow"?: Property.TextOverflow;
13500  /**
13501   * The **`text-rendering`** CSS property provides information to the rendering engine about what to optimize for when rendering text.
13502   *
13503   * **Syntax**: `auto | optimizeSpeed | optimizeLegibility | geometricPrecision`
13504   *
13505   * **Initial value**: `auto`
13506   *
13507   * | Chrome | Firefox | Safari |  Edge  | IE  |
13508   * | :----: | :-----: | :----: | :----: | :-: |
13509   * | **4**  |  **1**  | **5**  | **79** | No  |
13510   *
13511   * @see https://developer.mozilla.org/docs/Web/CSS/text-rendering
13512   */
13513  "text-rendering"?: Property.TextRendering;
13514  /**
13515   * The **`text-shadow`** CSS property adds shadows to text. It accepts a comma-separated list of shadows to be applied to the text and any of its `decorations`. Each shadow is described by some combination of X and Y offsets from the element, blur radius, and color.
13516   *
13517   * **Syntax**: `none | <shadow-t>#`
13518   *
13519   * **Initial value**: `none`
13520   *
13521   * | Chrome | Firefox | Safari  |  Edge  |   IE   |
13522   * | :----: | :-----: | :-----: | :----: | :----: |
13523   * | **2**  | **3.5** | **1.1** | **12** | **10** |
13524   *
13525   * @see https://developer.mozilla.org/docs/Web/CSS/text-shadow
13526   */
13527  "text-shadow"?: Property.TextShadow;
13528  /**
13529   * The **`text-size-adjust`** CSS property controls the text inflation algorithm used on some smartphones and tablets. Other browsers will ignore this property.
13530   *
13531   * **Syntax**: `none | auto | <percentage>`
13532   *
13533   * **Initial value**: `auto` for smartphone browsers supporting inflation, `none` in other cases (and then not modifiable).
13534   *
13535   * | Chrome | Firefox | Safari |  Edge  | IE  |
13536   * | :----: | :-----: | :----: | :----: | :-: |
13537   * | **54** |   No    |   No   | **79** | No  |
13538   *
13539   * @see https://developer.mozilla.org/docs/Web/CSS/text-size-adjust
13540   */
13541  "text-size-adjust"?: Property.TextSizeAdjust;
13542  /**
13543   * The **`text-transform`** CSS property specifies how to capitalize an element's text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. It also can help improve legibility for ruby.
13544   *
13545   * **Syntax**: `none | capitalize | uppercase | lowercase | full-width | full-size-kana`
13546   *
13547   * **Initial value**: `none`
13548   *
13549   * | Chrome | Firefox | Safari |  Edge  |  IE   |
13550   * | :----: | :-----: | :----: | :----: | :---: |
13551   * | **1**  |  **1**  | **1**  | **12** | **4** |
13552   *
13553   * @see https://developer.mozilla.org/docs/Web/CSS/text-transform
13554   */
13555  "text-transform"?: Property.TextTransform;
13556  /**
13557   * The **`text-underline-offset`** CSS property sets the offset distance of an underline text decoration line (applied using `text-decoration`) from its original position.
13558   *
13559   * **Syntax**: `auto | <length> | <percentage> `
13560   *
13561   * **Initial value**: `auto`
13562   *
13563   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
13564   * | :----: | :-----: | :------: | :----: | :-: |
13565   * | **87** | **70**  | **12.1** | **87** | No  |
13566   *
13567   * @see https://developer.mozilla.org/docs/Web/CSS/text-underline-offset
13568   */
13569  "text-underline-offset"?: Property.TextUnderlineOffset<TLength>;
13570  /**
13571   * The **`text-underline-position`** CSS property specifies the position of the underline which is set using the `text-decoration` property's `underline` value.
13572   *
13573   * **Syntax**: `auto | from-font | [ under || [ left | right ] ]`
13574   *
13575   * **Initial value**: `auto`
13576   *
13577   * | Chrome | Firefox |  Safari  |  Edge  |  IE   |
13578   * | :----: | :-----: | :------: | :----: | :---: |
13579   * | **33** | **74**  | **12.1** | **12** | **6** |
13580   * |        |         | 9 _-x-_  |        |       |
13581   *
13582   * @see https://developer.mozilla.org/docs/Web/CSS/text-underline-position
13583   */
13584  "text-underline-position"?: Property.TextUnderlinePosition;
13585  /**
13586   * The **`top`** CSS property participates in specifying the vertical position of a positioned element. It has no effect on non-positioned elements.
13587   *
13588   * **Syntax**: `<length> | <percentage> | auto`
13589   *
13590   * **Initial value**: `auto`
13591   *
13592   * | Chrome | Firefox | Safari |  Edge  |  IE   |
13593   * | :----: | :-----: | :----: | :----: | :---: |
13594   * | **1**  |  **1**  | **1**  | **12** | **5** |
13595   *
13596   * @see https://developer.mozilla.org/docs/Web/CSS/top
13597   */
13598  top?: Property.Top<TLength>;
13599  /**
13600   * The **`touch-action`** CSS property sets how an element's region can be manipulated by a touchscreen user (for example, by zooming features built into the browser).
13601   *
13602   * **Syntax**: `auto | none | [ [ pan-x | pan-left | pan-right ] || [ pan-y | pan-up | pan-down ] || pinch-zoom ] | manipulation`
13603   *
13604   * **Initial value**: `auto`
13605   *
13606   * | Chrome | Firefox | Safari |  Edge  |    IE    |
13607   * | :----: | :-----: | :----: | :----: | :------: |
13608   * | **36** | **52**  | **13** | **12** |  **11**  |
13609   * |        |         |        |        | 10 _-x-_ |
13610   *
13611   * @see https://developer.mozilla.org/docs/Web/CSS/touch-action
13612   */
13613  "touch-action"?: Property.TouchAction;
13614  /**
13615   * The **`transform`** CSS property lets you rotate, scale, skew, or translate an element. It modifies the coordinate space of the CSS visual formatting model.
13616   *
13617   * **Syntax**: `none | <transform-list>`
13618   *
13619   * **Initial value**: `none`
13620   *
13621   * | Chrome  | Firefox |  Safari   |  Edge  |   IE    |
13622   * | :-----: | :-----: | :-------: | :----: | :-----: |
13623   * | **36**  | **16**  |   **9**   | **12** | **10**  |
13624   * | 1 _-x-_ |         | 3.1 _-x-_ |        | 9 _-x-_ |
13625   *
13626   * @see https://developer.mozilla.org/docs/Web/CSS/transform
13627   */
13628  transform?: Property.Transform;
13629  /**
13630   * The **`transform-box`** CSS property defines the layout box to which the `transform` and `transform-origin` properties relate.
13631   *
13632   * **Syntax**: `content-box | border-box | fill-box | stroke-box | view-box`
13633   *
13634   * **Initial value**: `view-box`
13635   *
13636   * | Chrome | Firefox | Safari |  Edge  | IE  |
13637   * | :----: | :-----: | :----: | :----: | :-: |
13638   * | **64** | **55**  | **11** | **79** | No  |
13639   *
13640   * @see https://developer.mozilla.org/docs/Web/CSS/transform-box
13641   */
13642  "transform-box"?: Property.TransformBox;
13643  /**
13644   * The **`transform-origin`** CSS property sets the origin for an element's transformations.
13645   *
13646   * **Syntax**: `[ <length-percentage> | left | center | right | top | bottom ] | [ [ <length-percentage> | left | center | right ] && [ <length-percentage> | top | center | bottom ] ] <length>?`
13647   *
13648   * **Initial value**: `50% 50% 0`
13649   *
13650   * | Chrome  |  Firefox  | Safari  |  Edge  |   IE    |
13651   * | :-----: | :-------: | :-----: | :----: | :-----: |
13652   * | **36**  |  **16**   |  **9**  | **12** | **10**  |
13653   * | 1 _-x-_ | 3.5 _-x-_ | 2 _-x-_ |        | 9 _-x-_ |
13654   *
13655   * @see https://developer.mozilla.org/docs/Web/CSS/transform-origin
13656   */
13657  "transform-origin"?: Property.TransformOrigin<TLength>;
13658  /**
13659   * The **`transform-style`** CSS property sets whether children of an element are positioned in the 3D space or are flattened in the plane of the element.
13660   *
13661   * **Syntax**: `flat | preserve-3d`
13662   *
13663   * **Initial value**: `flat`
13664   *
13665   * |  Chrome  | Firefox  | Safari  |  Edge  | IE  |
13666   * | :------: | :------: | :-----: | :----: | :-: |
13667   * |  **36**  |  **16**  |  **9**  | **12** | No  |
13668   * | 12 _-x-_ | 10 _-x-_ | 4 _-x-_ |        |     |
13669   *
13670   * @see https://developer.mozilla.org/docs/Web/CSS/transform-style
13671   */
13672  "transform-style"?: Property.TransformStyle;
13673  /**
13674   * The **`transition-delay`** CSS property specifies the duration to wait before starting a property's transition effect when its value changes.
13675   *
13676   * **Syntax**: `<time>#`
13677   *
13678   * **Initial value**: `0s`
13679   *
13680   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
13681   * | :-----: | :-----: | :-----: | :----: | :----: |
13682   * | **26**  | **16**  |  **9**  | **12** | **10** |
13683   * | 1 _-x-_ | 4 _-x-_ | 4 _-x-_ |        |        |
13684   *
13685   * @see https://developer.mozilla.org/docs/Web/CSS/transition-delay
13686   */
13687  "transition-delay"?: Property.TransitionDelay<TTime>;
13688  /**
13689   * The **`transition-duration`** CSS property sets the length of time a transition animation should take to complete. By default, the value is `0s`, meaning that no animation will occur.
13690   *
13691   * **Syntax**: `<time>#`
13692   *
13693   * **Initial value**: `0s`
13694   *
13695   * | Chrome  | Firefox |  Safari   |  Edge  |   IE   |
13696   * | :-----: | :-----: | :-------: | :----: | :----: |
13697   * | **26**  | **16**  |   **9**   | **12** | **10** |
13698   * | 1 _-x-_ | 4 _-x-_ | 3.1 _-x-_ |        |        |
13699   *
13700   * @see https://developer.mozilla.org/docs/Web/CSS/transition-duration
13701   */
13702  "transition-duration"?: Property.TransitionDuration<TTime>;
13703  /**
13704   * The **`transition-property`** CSS property sets the CSS properties to which a transition effect should be applied.
13705   *
13706   * **Syntax**: `none | <single-transition-property>#`
13707   *
13708   * **Initial value**: all
13709   *
13710   * | Chrome  | Firefox |  Safari   |  Edge  |   IE   |
13711   * | :-----: | :-----: | :-------: | :----: | :----: |
13712   * | **26**  | **16**  |   **9**   | **12** | **10** |
13713   * | 1 _-x-_ | 4 _-x-_ | 3.1 _-x-_ |        |        |
13714   *
13715   * @see https://developer.mozilla.org/docs/Web/CSS/transition-property
13716   */
13717  "transition-property"?: Property.TransitionProperty;
13718  /**
13719   * The **`transition-timing-function`** CSS property sets how intermediate values are calculated for CSS properties being affected by a transition effect.
13720   *
13721   * **Syntax**: `<easing-function>#`
13722   *
13723   * **Initial value**: `ease`
13724   *
13725   * | Chrome  | Firefox |  Safari   |  Edge  |   IE   |
13726   * | :-----: | :-----: | :-------: | :----: | :----: |
13727   * | **26**  | **16**  |   **9**   | **12** | **10** |
13728   * | 1 _-x-_ | 4 _-x-_ | 3.1 _-x-_ |        |        |
13729   *
13730   * @see https://developer.mozilla.org/docs/Web/CSS/transition-timing-function
13731   */
13732  "transition-timing-function"?: Property.TransitionTimingFunction;
13733  /**
13734   * The **`translate`** CSS property allows you to specify translation transforms individually and independently of the `transform` property. This maps better to typical user interface usage, and saves having to remember the exact order of transform functions to specify in the `transform` value.
13735   *
13736   * **Syntax**: `none | <length-percentage> [ <length-percentage> <length>? ]?`
13737   *
13738   * **Initial value**: `none`
13739   *
13740   * | Chrome | Firefox | Safari | Edge | IE  |
13741   * | :----: | :-----: | :----: | :--: | :-: |
13742   * |   No   | **72**  |   No   |  No  | No  |
13743   *
13744   * @see https://developer.mozilla.org/docs/Web/CSS/translate
13745   */
13746  translate?: Property.Translate<TLength>;
13747  /**
13748   * The **`unicode-bidi`** CSS property, together with the `direction` property, determines how bidirectional text in a document is handled. For example, if a block of content contains both left-to-right and right-to-left text, the user-agent uses a complex Unicode algorithm to decide how to display the text. The `unicode-bidi` property overrides this algorithm and allows the developer to control the text embedding.
13749   *
13750   * **Syntax**: `normal | embed | isolate | bidi-override | isolate-override | plaintext`
13751   *
13752   * **Initial value**: `normal`
13753   *
13754   * | Chrome | Firefox | Safari  |  Edge  |   IE    |
13755   * | :----: | :-----: | :-----: | :----: | :-----: |
13756   * | **2**  |  **1**  | **1.3** | **12** | **5.5** |
13757   *
13758   * @see https://developer.mozilla.org/docs/Web/CSS/unicode-bidi
13759   */
13760  "unicode-bidi"?: Property.UnicodeBidi;
13761  /**
13762   * The `**user-select**` CSS property controls whether the user can select text. This doesn't have any effect on content loaded as chrome, except in textboxes.
13763   *
13764   * **Syntax**: `auto | text | none | contain | all`
13765   *
13766   * **Initial value**: `auto`
13767   *
13768   * | Chrome  | Firefox |   Safari    |     Edge     |      IE      |
13769   * | :-----: | :-----: | :---------: | :----------: | :----------: |
13770   * | **54**  | **69**  | **3** _-x-_ | **12** _-x-_ | **10** _-x-_ |
13771   * | 1 _-x-_ | 1 _-x-_ |             |              |              |
13772   *
13773   * @see https://developer.mozilla.org/docs/Web/CSS/user-select
13774   */
13775  "user-select"?: Property.UserSelect;
13776  /**
13777   * The **`vertical-align`** CSS property sets vertical alignment of an inline, inline-block or table-cell box.
13778   *
13779   * **Syntax**: `baseline | sub | super | text-top | text-bottom | middle | top | bottom | <percentage> | <length>`
13780   *
13781   * **Initial value**: `baseline`
13782   *
13783   * | Chrome | Firefox | Safari |  Edge  |  IE   |
13784   * | :----: | :-----: | :----: | :----: | :---: |
13785   * | **1**  |  **1**  | **1**  | **12** | **4** |
13786   *
13787   * @see https://developer.mozilla.org/docs/Web/CSS/vertical-align
13788   */
13789  "vertical-align"?: Property.VerticalAlign<TLength>;
13790  /**
13791   * The **`visibility`** CSS property shows or hides an element without changing the layout of a document. The property can also hide rows or columns in a `<table>`.
13792   *
13793   * **Syntax**: `visible | hidden | collapse`
13794   *
13795   * **Initial value**: `visible`
13796   *
13797   * | Chrome | Firefox | Safari |  Edge  |  IE   |
13798   * | :----: | :-----: | :----: | :----: | :---: |
13799   * | **1**  |  **1**  | **1**  | **12** | **4** |
13800   *
13801   * @see https://developer.mozilla.org/docs/Web/CSS/visibility
13802   */
13803  visibility?: Property.Visibility;
13804  /**
13805   * The **`white-space`** CSS property sets how white space inside an element is handled.
13806   *
13807   * **Syntax**: `normal | pre | nowrap | pre-wrap | pre-line | break-spaces`
13808   *
13809   * **Initial value**: `normal`
13810   *
13811   * | Chrome | Firefox | Safari |  Edge  |   IE    |
13812   * | :----: | :-----: | :----: | :----: | :-----: |
13813   * | **1**  |  **1**  | **1**  | **12** | **5.5** |
13814   *
13815   * @see https://developer.mozilla.org/docs/Web/CSS/white-space
13816   */
13817  "white-space"?: Property.WhiteSpace;
13818  /**
13819   * The **`widows`** CSS property sets the minimum number of lines in a block container that must be shown at the _top_ of a page, region, or column.
13820   *
13821   * **Syntax**: `<integer>`
13822   *
13823   * **Initial value**: `2`
13824   *
13825   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
13826   * | :----: | :-----: | :-----: | :----: | :---: |
13827   * | **25** |   No    | **1.3** | **12** | **8** |
13828   *
13829   * @see https://developer.mozilla.org/docs/Web/CSS/widows
13830   */
13831  widows?: Property.Widows;
13832  /**
13833   * The **`width`** CSS property sets an element's width. By default, it sets the width of the content area, but if `box-sizing` is set to `border-box`, it sets the width of the border area.
13834   *
13835   * **Syntax**: `auto | <length> | <percentage> | min-content | max-content | fit-content | fit-content(<length-percentage>)`
13836   *
13837   * **Initial value**: `auto`
13838   *
13839   * | Chrome | Firefox | Safari |  Edge  |  IE   |
13840   * | :----: | :-----: | :----: | :----: | :---: |
13841   * | **1**  |  **1**  | **1**  | **12** | **4** |
13842   *
13843   * @see https://developer.mozilla.org/docs/Web/CSS/width
13844   */
13845  width?: Property.Width<TLength>;
13846  /**
13847   * The **`will-change`** CSS property hints to browsers how an element is expected to change. Browsers may set up optimizations before an element is actually changed. These kinds of optimizations can increase the responsiveness of a page by doing potentially expensive work before they are actually required.
13848   *
13849   * **Syntax**: `auto | <animateable-feature>#`
13850   *
13851   * **Initial value**: `auto`
13852   *
13853   * | Chrome | Firefox | Safari  |  Edge  | IE  |
13854   * | :----: | :-----: | :-----: | :----: | :-: |
13855   * | **36** | **36**  | **9.1** | **79** | No  |
13856   *
13857   * @see https://developer.mozilla.org/docs/Web/CSS/will-change
13858   */
13859  "will-change"?: Property.WillChange;
13860  /**
13861   * The **`word-break`** CSS property sets whether line breaks appear wherever the text would otherwise overflow its content box.
13862   *
13863   * **Syntax**: `normal | break-all | keep-all | break-word`
13864   *
13865   * **Initial value**: `normal`
13866   *
13867   * | Chrome | Firefox | Safari |  Edge  |   IE    |
13868   * | :----: | :-----: | :----: | :----: | :-----: |
13869   * | **1**  | **15**  | **3**  | **12** | **5.5** |
13870   *
13871   * @see https://developer.mozilla.org/docs/Web/CSS/word-break
13872   */
13873  "word-break"?: Property.WordBreak;
13874  /**
13875   * The **`word-spacing`** CSS property sets the length of space between words and between tags.
13876   *
13877   * **Syntax**: `normal | <length-percentage>`
13878   *
13879   * **Initial value**: `normal`
13880   *
13881   * | Chrome | Firefox | Safari |  Edge  |  IE   |
13882   * | :----: | :-----: | :----: | :----: | :---: |
13883   * | **1**  |  **1**  | **1**  | **12** | **6** |
13884   *
13885   * @see https://developer.mozilla.org/docs/Web/CSS/word-spacing
13886   */
13887  "word-spacing"?: Property.WordSpacing<TLength>;
13888  /**
13889   * The `**overflow-wrap**` CSS property applies to inline elements, setting whether the browser should insert line breaks within an otherwise unbreakable string to prevent text from overflowing its line box.
13890   *
13891   * **Syntax**: `normal | break-word`
13892   *
13893   * **Initial value**: `normal`
13894   */
13895  "word-wrap"?: Property.WordWrap;
13896  /**
13897   * The **`writing-mode`** CSS property sets whether lines of text are laid out horizontally or vertically, as well as the direction in which blocks progress. When set for an entire document, it should be set on the root element (`html` element for HTML documents).
13898   *
13899   * **Syntax**: `horizontal-tb | vertical-rl | vertical-lr | sideways-rl | sideways-lr`
13900   *
13901   * **Initial value**: `horizontal-tb`
13902   *
13903   * | Chrome  | Firefox |  Safari   |  Edge  |  IE   |
13904   * | :-----: | :-----: | :-------: | :----: | :---: |
13905   * | **48**  | **41**  | **10.1**  | **12** | **9** |
13906   * | 8 _-x-_ |         | 5.1 _-x-_ |        |       |
13907   *
13908   * @see https://developer.mozilla.org/docs/Web/CSS/writing-mode
13909   */
13910  "writing-mode"?: Property.WritingMode;
13911  /**
13912   * The **`z-index`** CSS property sets the z-order of a positioned element and its descendants or flex items. Overlapping elements with a larger z-index cover those with a smaller one.
13913   *
13914   * **Syntax**: `auto | <integer>`
13915   *
13916   * **Initial value**: `auto`
13917   *
13918   * | Chrome | Firefox | Safari |  Edge  |  IE   |
13919   * | :----: | :-----: | :----: | :----: | :---: |
13920   * | **1**  |  **1**  | **1**  | **12** | **4** |
13921   *
13922   * @see https://developer.mozilla.org/docs/Web/CSS/z-index
13923   */
13924  "z-index"?: Property.ZIndex;
13925  /**
13926   * The non-standard **`zoom`** CSS property can be used to control the magnification level of an element. `transform: scale()` should be used instead of this property, if possible. However, unlike CSS Transforms, `zoom` affects the layout size of the element.
13927   *
13928   * **Syntax**: `normal | reset | <number> | <percentage>`
13929   *
13930   * **Initial value**: `normal`
13931   *
13932   * | Chrome | Firefox | Safari  |  Edge  |   IE    |
13933   * | :----: | :-----: | :-----: | :----: | :-----: |
13934   * | **1**  |   No    | **3.1** | **12** | **5.5** |
13935   *
13936   * @see https://developer.mozilla.org/docs/Web/CSS/zoom
13937   */
13938  zoom?: Property.Zoom;
13939}
13940
13941export interface StandardShorthandPropertiesHyphen<TLength = (string & {}) | 0, TTime = string & {}> {
13942  /**
13943   * The `**all**` shorthand CSS property resets all of an element's properties except `unicode-bidi`, `direction`, and CSS Custom Properties. It can set properties to their initial or inherited values, or to the values specified in another stylesheet origin.
13944   *
13945   * **Syntax**: `initial | inherit | unset | revert`
13946   *
13947   * **Initial value**: There is no practical initial value for it.
13948   *
13949   * | Chrome | Firefox | Safari  |  Edge  | IE  |
13950   * | :----: | :-----: | :-----: | :----: | :-: |
13951   * | **37** | **27**  | **9.1** | **79** | No  |
13952   *
13953   * @see https://developer.mozilla.org/docs/Web/CSS/all
13954   */
13955  all?: Property.All;
13956  /**
13957   * The **`animation`** shorthand CSS property applies an animation between styles. It is a shorthand for `animation-name`, `animation-duration`, `animation-timing-function`, `animation-delay`, `animation-iteration-count`, `animation-direction`, `animation-fill-mode`, and `animation-play-state`.
13958   *
13959   * **Syntax**: `<single-animation>#`
13960   *
13961   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
13962   * | :-----: | :-----: | :-----: | :----: | :----: |
13963   * | **43**  | **16**  |  **9**  | **12** | **10** |
13964   * | 3 _-x-_ | 5 _-x-_ | 4 _-x-_ |        |        |
13965   *
13966   * @see https://developer.mozilla.org/docs/Web/CSS/animation
13967   */
13968  animation?: Property.Animation<TTime>;
13969  /**
13970   * The **`background`** shorthand CSS property sets all background style properties at once, such as color, image, origin and size, or repeat method.
13971   *
13972   * **Syntax**: `[ <bg-layer> , ]* <final-bg-layer>`
13973   *
13974   * | Chrome | Firefox | Safari |  Edge  |  IE   |
13975   * | :----: | :-----: | :----: | :----: | :---: |
13976   * | **1**  |  **1**  | **1**  | **12** | **4** |
13977   *
13978   * @see https://developer.mozilla.org/docs/Web/CSS/background
13979   */
13980  background?: Property.Background<TLength>;
13981  /**
13982   * The **`background-position`** CSS property sets the initial position for each background image. The position is relative to the position layer set by `background-origin`.
13983   *
13984   * **Syntax**: `<bg-position>#`
13985   *
13986   * **Initial value**: `0% 0%`
13987   *
13988   * | Chrome | Firefox | Safari |  Edge  |  IE   |
13989   * | :----: | :-----: | :----: | :----: | :---: |
13990   * | **1**  |  **1**  | **1**  | **12** | **4** |
13991   *
13992   * @see https://developer.mozilla.org/docs/Web/CSS/background-position
13993   */
13994  "background-position"?: Property.BackgroundPosition<TLength>;
13995  /**
13996   * The **`border`** shorthand CSS property sets an element's border. It sets the values of `border-width`, `border-style`, and `border-color`.
13997   *
13998   * **Syntax**: `<line-width> || <line-style> || <color>`
13999   *
14000   * | Chrome | Firefox | Safari |  Edge  |  IE   |
14001   * | :----: | :-----: | :----: | :----: | :---: |
14002   * | **1**  |  **1**  | **1**  | **12** | **4** |
14003   *
14004   * @see https://developer.mozilla.org/docs/Web/CSS/border
14005   */
14006  border?: Property.Border<TLength>;
14007  /**
14008   * The **`border-block`** CSS property is a shorthand property for setting the individual logical block border property values in a single place in the style sheet.
14009   *
14010   * **Syntax**: `<'border-top-width'> || <'border-top-style'> || <color>`
14011   *
14012   * | Chrome | Firefox | Safari | Edge | IE  |
14013   * | :----: | :-----: | :----: | :--: | :-: |
14014   * | **87** | **66**  |   No   | n/a  | No  |
14015   *
14016   * @see https://developer.mozilla.org/docs/Web/CSS/border-block
14017   */
14018  "border-block"?: Property.BorderBlock<TLength>;
14019  /**
14020   * The **`border-block-end`** CSS property is a shorthand property for setting the individual logical block-end border property values in a single place in the style sheet.
14021   *
14022   * **Syntax**: `<'border-top-width'> || <'border-top-style'> || <color>`
14023   *
14024   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
14025   * | :----: | :-----: | :------: | :----: | :-: |
14026   * | **69** | **41**  | **12.1** | **79** | No  |
14027   *
14028   * @see https://developer.mozilla.org/docs/Web/CSS/border-block-end
14029   */
14030  "border-block-end"?: Property.BorderBlockEnd<TLength>;
14031  /**
14032   * The **`border-block-start`** CSS property is a shorthand property for setting the individual logical block-start border property values in a single place in the style sheet.
14033   *
14034   * **Syntax**: `<'border-top-width'> || <'border-top-style'> || <color>`
14035   *
14036   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
14037   * | :----: | :-----: | :------: | :----: | :-: |
14038   * | **69** | **41**  | **12.1** | **79** | No  |
14039   *
14040   * @see https://developer.mozilla.org/docs/Web/CSS/border-block-start
14041   */
14042  "border-block-start"?: Property.BorderBlockStart<TLength>;
14043  /**
14044   * The **`border-bottom`** shorthand CSS property sets an element's bottom border. It sets the values of `border-bottom-width`, `border-bottom-style` and `border-bottom-color`.
14045   *
14046   * **Syntax**: `<line-width> || <line-style> || <color>`
14047   *
14048   * | Chrome | Firefox | Safari |  Edge  |  IE   |
14049   * | :----: | :-----: | :----: | :----: | :---: |
14050   * | **1**  |  **1**  | **1**  | **12** | **4** |
14051   *
14052   * @see https://developer.mozilla.org/docs/Web/CSS/border-bottom
14053   */
14054  "border-bottom"?: Property.BorderBottom<TLength>;
14055  /**
14056   * The **`border-color`** shorthand CSS property sets the color of an element's border.
14057   *
14058   * **Syntax**: `<color>{1,4}`
14059   *
14060   * | Chrome | Firefox | Safari |  Edge  |  IE   |
14061   * | :----: | :-----: | :----: | :----: | :---: |
14062   * | **1**  |  **1**  | **1**  | **12** | **4** |
14063   *
14064   * @see https://developer.mozilla.org/docs/Web/CSS/border-color
14065   */
14066  "border-color"?: Property.BorderColor;
14067  /**
14068   * The **`border-image`** CSS property draws an image around a given element. It replaces the element's regular border.
14069   *
14070   * **Syntax**: `<'border-image-source'> || <'border-image-slice'> [ / <'border-image-width'> | / <'border-image-width'>? / <'border-image-outset'> ]? || <'border-image-repeat'>`
14071   *
14072   * | Chrome  |  Firefox  | Safari  |  Edge  |   IE   |
14073   * | :-----: | :-------: | :-----: | :----: | :----: |
14074   * | **16**  |  **15**   |  **6**  | **12** | **11** |
14075   * | 7 _-x-_ | 3.5 _-x-_ | 3 _-x-_ |        |        |
14076   *
14077   * @see https://developer.mozilla.org/docs/Web/CSS/border-image
14078   */
14079  "border-image"?: Property.BorderImage;
14080  /**
14081   * The **`border-inline`** CSS property is a shorthand property for setting the individual logical inline border property values in a single place in the style sheet.
14082   *
14083   * **Syntax**: `<'border-top-width'> || <'border-top-style'> || <color>`
14084   *
14085   * | Chrome | Firefox | Safari | Edge | IE  |
14086   * | :----: | :-----: | :----: | :--: | :-: |
14087   * | **87** | **66**  |   No   | n/a  | No  |
14088   *
14089   * @see https://developer.mozilla.org/docs/Web/CSS/border-inline
14090   */
14091  "border-inline"?: Property.BorderInline<TLength>;
14092  /**
14093   * The **`border-inline-end`** CSS property is a shorthand property for setting the individual logical inline-end border property values in a single place in the style sheet.
14094   *
14095   * **Syntax**: `<'border-top-width'> || <'border-top-style'> || <color>`
14096   *
14097   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
14098   * | :----: | :-----: | :------: | :----: | :-: |
14099   * | **69** | **41**  | **12.1** | **79** | No  |
14100   *
14101   * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-end
14102   */
14103  "border-inline-end"?: Property.BorderInlineEnd<TLength>;
14104  /**
14105   * The **`border-inline-start`** CSS property is a shorthand property for setting the individual logical inline-start border property values in a single place in the style sheet.
14106   *
14107   * **Syntax**: `<'border-top-width'> || <'border-top-style'> || <color>`
14108   *
14109   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
14110   * | :----: | :-----: | :------: | :----: | :-: |
14111   * | **69** | **41**  | **12.1** | **79** | No  |
14112   *
14113   * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-start
14114   */
14115  "border-inline-start"?: Property.BorderInlineStart<TLength>;
14116  /**
14117   * The **`border-left`** shorthand CSS property sets all the properties of an element's left border.
14118   *
14119   * **Syntax**: `<line-width> || <line-style> || <color>`
14120   *
14121   * | Chrome | Firefox | Safari |  Edge  |  IE   |
14122   * | :----: | :-----: | :----: | :----: | :---: |
14123   * | **1**  |  **1**  | **1**  | **12** | **4** |
14124   *
14125   * @see https://developer.mozilla.org/docs/Web/CSS/border-left
14126   */
14127  "border-left"?: Property.BorderLeft<TLength>;
14128  /**
14129   * The **`border-radius`** CSS property rounds the corners of an element's outer border edge. You can set a single radius to make circular corners, or two radii to make elliptical corners.
14130   *
14131   * **Syntax**: `<length-percentage>{1,4} [ / <length-percentage>{1,4} ]?`
14132   *
14133   * | Chrome  | Firefox | Safari  |  Edge  |  IE   |
14134   * | :-----: | :-----: | :-----: | :----: | :---: |
14135   * |  **4**  |  **4**  |  **5**  | **12** | **9** |
14136   * | 1 _-x-_ |         | 3 _-x-_ |        |       |
14137   *
14138   * @see https://developer.mozilla.org/docs/Web/CSS/border-radius
14139   */
14140  "border-radius"?: Property.BorderRadius<TLength>;
14141  /**
14142   * The **`border-right`** shorthand CSS property sets all the properties of an element's right border.
14143   *
14144   * **Syntax**: `<line-width> || <line-style> || <color>`
14145   *
14146   * | Chrome | Firefox | Safari |  Edge  |   IE    |
14147   * | :----: | :-----: | :----: | :----: | :-----: |
14148   * | **1**  |  **1**  | **1**  | **12** | **5.5** |
14149   *
14150   * @see https://developer.mozilla.org/docs/Web/CSS/border-right
14151   */
14152  "border-right"?: Property.BorderRight<TLength>;
14153  /**
14154   * The **`border-style`** shorthand CSS property sets the line style for all four sides of an element's border.
14155   *
14156   * **Syntax**: `<line-style>{1,4}`
14157   *
14158   * | Chrome | Firefox | Safari |  Edge  |  IE   |
14159   * | :----: | :-----: | :----: | :----: | :---: |
14160   * | **1**  |  **1**  | **1**  | **12** | **4** |
14161   *
14162   * @see https://developer.mozilla.org/docs/Web/CSS/border-style
14163   */
14164  "border-style"?: Property.BorderStyle;
14165  /**
14166   * The **`border-top`** shorthand CSS property sets all the properties of an element's top border.
14167   *
14168   * **Syntax**: `<line-width> || <line-style> || <color>`
14169   *
14170   * | Chrome | Firefox | Safari |  Edge  |  IE   |
14171   * | :----: | :-----: | :----: | :----: | :---: |
14172   * | **1**  |  **1**  | **1**  | **12** | **4** |
14173   *
14174   * @see https://developer.mozilla.org/docs/Web/CSS/border-top
14175   */
14176  "border-top"?: Property.BorderTop<TLength>;
14177  /**
14178   * The **`border-width`** shorthand CSS property sets the width of an element's border.
14179   *
14180   * **Syntax**: `<line-width>{1,4}`
14181   *
14182   * | Chrome | Firefox | Safari |  Edge  |  IE   |
14183   * | :----: | :-----: | :----: | :----: | :---: |
14184   * | **1**  |  **1**  | **1**  | **12** | **4** |
14185   *
14186   * @see https://developer.mozilla.org/docs/Web/CSS/border-width
14187   */
14188  "border-width"?: Property.BorderWidth<TLength>;
14189  /**
14190   * The **`column-rule`** shorthand CSS property sets the width, style, and color of the line drawn between columns in a multi-column layout.
14191   *
14192   * **Syntax**: `<'column-rule-width'> || <'column-rule-style'> || <'column-rule-color'>`
14193   *
14194   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
14195   * | :-----: | :-----: | :-----: | :----: | :----: |
14196   * | **50**  | **52**  |  **9**  | **12** | **10** |
14197   * | 1 _-x-_ |         | 3 _-x-_ |        |        |
14198   *
14199   * @see https://developer.mozilla.org/docs/Web/CSS/column-rule
14200   */
14201  "column-rule"?: Property.ColumnRule<TLength>;
14202  /**
14203   * The **`columns`** CSS shorthand property sets the number of columns to use when drawing an element's contents, as well as those columns' widths.
14204   *
14205   * **Syntax**: `<'column-width'> || <'column-count'>`
14206   *
14207   * | Chrome | Firefox | Safari  |  Edge  |   IE   |
14208   * | :----: | :-----: | :-----: | :----: | :----: |
14209   * | **50** | **52**  |  **9**  | **12** | **10** |
14210   * |        |         | 3 _-x-_ |        |        |
14211   *
14212   * @see https://developer.mozilla.org/docs/Web/CSS/columns
14213   */
14214  columns?: Property.Columns<TLength>;
14215  /**
14216   * The **`flex`** CSS shorthand property sets how a flex _item_ will grow or shrink to fit the space available in its flex container.
14217   *
14218   * **Syntax**: `none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]`
14219   *
14220   * |  Chrome  | Firefox |  Safari   |  Edge  |    IE    |
14221   * | :------: | :-----: | :-------: | :----: | :------: |
14222   * |  **29**  | **20**  |   **9**   | **12** |  **11**  |
14223   * | 21 _-x-_ |         | 6.1 _-x-_ |        | 10 _-x-_ |
14224   *
14225   * @see https://developer.mozilla.org/docs/Web/CSS/flex
14226   */
14227  flex?: Property.Flex<TLength>;
14228  /**
14229   * The **`flex-flow`** CSS shorthand property specifies the direction of a flex container, as well as its wrapping behavior.
14230   *
14231   * **Syntax**: `<'flex-direction'> || <'flex-wrap'>`
14232   *
14233   * |  Chrome  | Firefox |  Safari   |  Edge  |   IE   |
14234   * | :------: | :-----: | :-------: | :----: | :----: |
14235   * |  **29**  | **28**  |   **9**   | **12** | **11** |
14236   * | 21 _-x-_ |         | 6.1 _-x-_ |        |        |
14237   *
14238   * @see https://developer.mozilla.org/docs/Web/CSS/flex-flow
14239   */
14240  "flex-flow"?: Property.FlexFlow;
14241  /**
14242   * The **`font`** CSS shorthand property sets all the different properties of an element's font. Alternatively, it sets an element's font to a system font.
14243   *
14244   * **Syntax**: `[ [ <'font-style'> || <font-variant-css21> || <'font-weight'> || <'font-stretch'> ]? <'font-size'> [ / <'line-height'> ]? <'font-family'> ] | caption | icon | menu | message-box | small-caption | status-bar`
14245   *
14246   * | Chrome | Firefox | Safari |  Edge  |  IE   |
14247   * | :----: | :-----: | :----: | :----: | :---: |
14248   * | **1**  |  **1**  | **1**  | **12** | **3** |
14249   *
14250   * @see https://developer.mozilla.org/docs/Web/CSS/font
14251   */
14252  font?: Property.Font;
14253  /**
14254   * The **`gap`** CSS property sets the gaps (gutters) between rows and columns. It is a shorthand for `row-gap` and `column-gap`.
14255   *
14256   * **Syntax**: `<'row-gap'> <'column-gap'>?`
14257   *
14258   * ---
14259   *
14260   * _Supported in Flex Layout_
14261   *
14262   * | Chrome | Firefox | Safari |  Edge  | IE  |
14263   * | :----: | :-----: | :----: | :----: | :-: |
14264   * | **84** | **63**  |   No   | **84** | No  |
14265   *
14266   * ---
14267   *
14268   * _Supported in Grid Layout_
14269   *
14270   * |     Chrome      |     Firefox     |      Safari       |  Edge  | IE  |
14271   * | :-------------: | :-------------: | :---------------: | :----: | :-: |
14272   * |     **66**      |     **61**      |      **12**       | **16** | No  |
14273   * | 57 _(grid-gap)_ | 52 _(grid-gap)_ | 10.1 _(grid-gap)_ |        |     |
14274   *
14275   * ---
14276   *
14277   * _Supported in Multi-column Layout_
14278   *
14279   * | Chrome | Firefox | Safari |  Edge  | IE  |
14280   * | :----: | :-----: | :----: | :----: | :-: |
14281   * | **66** | **61**  |   No   | **16** | No  |
14282   *
14283   * ---
14284   *
14285   * @see https://developer.mozilla.org/docs/Web/CSS/gap
14286   */
14287  gap?: Property.Gap<TLength>;
14288  /**
14289   * The **`grid`** CSS property is a shorthand property that sets all of the explicit and implicit grid properties in a single declaration.
14290   *
14291   * **Syntax**: `<'grid-template'> | <'grid-template-rows'> / [ auto-flow && dense? ] <'grid-auto-columns'>? | [ auto-flow && dense? ] <'grid-auto-rows'>? / <'grid-template-columns'>`
14292   *
14293   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
14294   * | :----: | :-----: | :------: | :----: | :-: |
14295   * | **57** | **52**  | **10.1** | **16** | No  |
14296   *
14297   * @see https://developer.mozilla.org/docs/Web/CSS/grid
14298   */
14299  grid?: Property.Grid;
14300  /**
14301   * The **`grid-area`** CSS shorthand property specifies a grid item’s size and location within a grid by contributing a line, a span, or nothing (automatic) to its grid placement, thereby specifying the edges of its grid area.
14302   *
14303   * **Syntax**: `<grid-line> [ / <grid-line> ]{0,3}`
14304   *
14305   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
14306   * | :----: | :-----: | :------: | :----: | :-: |
14307   * | **57** | **52**  | **10.1** | **16** | No  |
14308   *
14309   * @see https://developer.mozilla.org/docs/Web/CSS/grid-area
14310   */
14311  "grid-area"?: Property.GridArea;
14312  /**
14313   * The **`grid-column`** CSS shorthand property specifies a grid item's size and location within a grid column by contributing a line, a span, or nothing (automatic) to its grid placement, thereby specifying the inline-start and inline-end edge of its grid area.
14314   *
14315   * **Syntax**: `<grid-line> [ / <grid-line> ]?`
14316   *
14317   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
14318   * | :----: | :-----: | :------: | :----: | :-: |
14319   * | **57** | **52**  | **10.1** | **16** | No  |
14320   *
14321   * @see https://developer.mozilla.org/docs/Web/CSS/grid-column
14322   */
14323  "grid-column"?: Property.GridColumn;
14324  /**
14325   * The **`grid-row`** CSS shorthand property specifies a grid item’s size and location within the grid row by contributing a line, a span, or nothing (automatic) to its grid placement, thereby specifying the inline-start and inline-end edge of its grid area.
14326   *
14327   * **Syntax**: `<grid-line> [ / <grid-line> ]?`
14328   *
14329   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
14330   * | :----: | :-----: | :------: | :----: | :-: |
14331   * | **57** | **52**  | **10.1** | **16** | No  |
14332   *
14333   * @see https://developer.mozilla.org/docs/Web/CSS/grid-row
14334   */
14335  "grid-row"?: Property.GridRow;
14336  /**
14337   * The **`grid-template`** CSS property is a shorthand property for defining grid columns, rows, and areas.
14338   *
14339   * **Syntax**: `none | [ <'grid-template-rows'> / <'grid-template-columns'> ] | [ <line-names>? <string> <track-size>? <line-names>? ]+ [ / <explicit-track-list> ]?`
14340   *
14341   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
14342   * | :----: | :-----: | :------: | :----: | :-: |
14343   * | **57** | **52**  | **10.1** | **16** | No  |
14344   *
14345   * @see https://developer.mozilla.org/docs/Web/CSS/grid-template
14346   */
14347  "grid-template"?: Property.GridTemplate;
14348  /**
14349   * **Syntax**: `none | <integer>`
14350   *
14351   * **Initial value**: `none`
14352   */
14353  "line-clamp"?: Property.LineClamp;
14354  /**
14355   * The **`list-style`** CSS shorthand property allows you set all the list style properties at once.
14356   *
14357   * **Syntax**: `<'list-style-type'> || <'list-style-position'> || <'list-style-image'>`
14358   *
14359   * | Chrome | Firefox | Safari |  Edge  |  IE   |
14360   * | :----: | :-----: | :----: | :----: | :---: |
14361   * | **1**  |  **1**  | **1**  | **12** | **4** |
14362   *
14363   * @see https://developer.mozilla.org/docs/Web/CSS/list-style
14364   */
14365  "list-style"?: Property.ListStyle;
14366  /**
14367   * The **`margin`** CSS property sets the margin area on all four sides of an element. It is a shorthand for `margin-top`, `margin-right`, `margin-bottom`, and `margin-left`.
14368   *
14369   * **Syntax**: `[ <length> | <percentage> | auto ]{1,4}`
14370   *
14371   * | Chrome | Firefox | Safari |  Edge  |  IE   |
14372   * | :----: | :-----: | :----: | :----: | :---: |
14373   * | **1**  |  **1**  | **1**  | **12** | **3** |
14374   *
14375   * @see https://developer.mozilla.org/docs/Web/CSS/margin
14376   */
14377  margin?: Property.Margin<TLength>;
14378  /**
14379   * The **`mask`** CSS shorthand property hides an element (partially or fully) by masking or clipping the image at specific points.
14380   *
14381   * **Syntax**: `<mask-layer>#`
14382   *
14383   * | Chrome | Firefox | Safari  |  Edge  | IE  |
14384   * | :----: | :-----: | :-----: | :----: | :-: |
14385   * | **1**  |  **2**  | **3.2** | **12** | No  |
14386   *
14387   * @see https://developer.mozilla.org/docs/Web/CSS/mask
14388   */
14389  mask?: Property.Mask<TLength>;
14390  /**
14391   * The **`mask-border`** CSS shorthand property lets you create a mask along the edge of an element's border.
14392   *
14393   * **Syntax**: `<'mask-border-source'> || <'mask-border-slice'> [ / <'mask-border-width'>? [ / <'mask-border-outset'> ]? ]? || <'mask-border-repeat'> || <'mask-border-mode'>`
14394   *
14395   * |              Chrome              | Firefox |               Safari               |               Edge                | IE  |
14396   * | :------------------------------: | :-----: | :--------------------------------: | :-------------------------------: | :-: |
14397   * | **1** _(-webkit-mask-box-image)_ |   No    | **3.1** _(-webkit-mask-box-image)_ | **79** _(-webkit-mask-box-image)_ | No  |
14398   *
14399   * @see https://developer.mozilla.org/docs/Web/CSS/mask-border
14400   */
14401  "mask-border"?: Property.MaskBorder;
14402  /**
14403   * The **`offset`** CSS shorthand property sets all the properties required for animating an element along a defined path.
14404   *
14405   * **Syntax**: `[ <'offset-position'>? [ <'offset-path'> [ <'offset-distance'> || <'offset-rotate'> ]? ]? ]! [ / <'offset-anchor'> ]?`
14406   *
14407   * |    Chrome     | Firefox | Safari |  Edge  | IE  |
14408   * | :-----------: | :-----: | :----: | :----: | :-: |
14409   * |    **55**     | **72**  |   No   | **79** | No  |
14410   * | 46 _(motion)_ |         |        |        |     |
14411   *
14412   * @see https://developer.mozilla.org/docs/Web/CSS/offset
14413   */
14414  motion?: Property.Offset<TLength>;
14415  /**
14416   * The **`offset`** CSS shorthand property sets all the properties required for animating an element along a defined path.
14417   *
14418   * **Syntax**: `[ <'offset-position'>? [ <'offset-path'> [ <'offset-distance'> || <'offset-rotate'> ]? ]? ]! [ / <'offset-anchor'> ]?`
14419   *
14420   * |    Chrome     | Firefox | Safari |  Edge  | IE  |
14421   * | :-----------: | :-----: | :----: | :----: | :-: |
14422   * |    **55**     | **72**  |   No   | **79** | No  |
14423   * | 46 _(motion)_ |         |        |        |     |
14424   *
14425   * @see https://developer.mozilla.org/docs/Web/CSS/offset
14426   */
14427  offset?: Property.Offset<TLength>;
14428  /**
14429   * The **`outline`** CSS shorthand property set all the outline properties in a single declaration.
14430   *
14431   * **Syntax**: `[ <'outline-color'> || <'outline-style'> || <'outline-width'> ]`
14432   *
14433   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
14434   * | :----: | :-----: | :-----: | :----: | :---: |
14435   * | **1**  | **1.5** | **1.2** | **12** | **8** |
14436   *
14437   * @see https://developer.mozilla.org/docs/Web/CSS/outline
14438   */
14439  outline?: Property.Outline<TLength>;
14440  /**
14441   * The **`overflow`** CSS shorthand property sets the desired behavior for an element's overflow — i.e. when an element's content is too big to fit in its block formatting context — in both directions.
14442   *
14443   * **Syntax**: `[ visible | hidden | clip | scroll | auto ]{1,2}`
14444   *
14445   * **Initial value**: `visible`
14446   *
14447   * | Chrome | Firefox | Safari |  Edge  |  IE   |
14448   * | :----: | :-----: | :----: | :----: | :---: |
14449   * | **1**  |  **1**  | **1**  | **12** | **4** |
14450   *
14451   * @see https://developer.mozilla.org/docs/Web/CSS/overflow
14452   */
14453  overflow?: Property.Overflow;
14454  /**
14455   * The **`overscroll-behavior`** CSS property sets what a browser does when reaching the boundary of a scrolling area. It's a shorthand for `overscroll-behavior-x` and `overscroll-behavior-y`.
14456   *
14457   * **Syntax**: `[ contain | none | auto ]{1,2}`
14458   *
14459   * **Initial value**: `auto`
14460   *
14461   * | Chrome | Firefox | Safari |  Edge  | IE  |
14462   * | :----: | :-----: | :----: | :----: | :-: |
14463   * | **63** | **59**  |   No   | **18** | No  |
14464   *
14465   * @see https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior
14466   */
14467  "overscroll-behavior"?: Property.OverscrollBehavior;
14468  /**
14469   * The **`padding`** CSS shorthand property sets the padding area on all four sides of an element at once.
14470   *
14471   * **Syntax**: `[ <length> | <percentage> ]{1,4}`
14472   *
14473   * | Chrome | Firefox | Safari |  Edge  |  IE   |
14474   * | :----: | :-----: | :----: | :----: | :---: |
14475   * | **1**  |  **1**  | **1**  | **12** | **4** |
14476   *
14477   * @see https://developer.mozilla.org/docs/Web/CSS/padding
14478   */
14479  padding?: Property.Padding<TLength>;
14480  /**
14481   * The CSS **`place-items`** shorthand property allows you to align items along both the block and inline directions at once (i.e. the `align-items` and `justify-items` properties) in a relevant layout system such as Grid or Flexbox. If the second value is not set, the first value is also used for it.
14482   *
14483   * **Syntax**: `<'align-items'> <'justify-items'>?`
14484   *
14485   * ---
14486   *
14487   * _Supported in Flex Layout_
14488   *
14489   * | Chrome | Firefox | Safari |  Edge  | IE  |
14490   * | :----: | :-----: | :----: | :----: | :-: |
14491   * | **59** | **45**  | **11** | **79** | No  |
14492   *
14493   * ---
14494   *
14495   * _Supported in Grid Layout_
14496   *
14497   * | Chrome | Firefox | Safari |  Edge  | IE  |
14498   * | :----: | :-----: | :----: | :----: | :-: |
14499   * | **59** | **45**  | **11** | **79** | No  |
14500   *
14501   * ---
14502   *
14503   * @see https://developer.mozilla.org/docs/Web/CSS/place-items
14504   */
14505  "place-items"?: Property.PlaceItems;
14506  /**
14507   * The **`place-self`** CSS shorthand property allows you to align an individual item in both the block and inline directions at once (i.e. the `align-self` and `justify-self` properties) in a relevant layout system such as Grid or Flexbox. If the second value is not present, the first value is also used for it.
14508   *
14509   * **Syntax**: `<'align-self'> <'justify-self'>?`
14510   *
14511   * ---
14512   *
14513   * _Supported in Flex Layout_
14514   *
14515   * | Chrome | Firefox | Safari |  Edge  | IE  |
14516   * | :----: | :-----: | :----: | :----: | :-: |
14517   * | **59** | **45**  | **11** | **79** | No  |
14518   *
14519   * ---
14520   *
14521   * _Supported in Grid Layout_
14522   *
14523   * | Chrome | Firefox | Safari |  Edge  | IE  |
14524   * | :----: | :-----: | :----: | :----: | :-: |
14525   * | **59** | **45**  | **11** | **79** | No  |
14526   *
14527   * ---
14528   *
14529   * @see https://developer.mozilla.org/docs/Web/CSS/place-self
14530   */
14531  "place-self"?: Property.PlaceSelf;
14532  /**
14533   * The **`text-decoration`** shorthand CSS property sets the appearance of decorative lines on text. It is a shorthand for `text-decoration-line`, `text-decoration-color`, `text-decoration-style`, and the newer `text-decoration-thickness` property.
14534   *
14535   * **Syntax**: `<'text-decoration-line'> || <'text-decoration-style'> || <'text-decoration-color'> || <'text-decoration-thickness'>`
14536   *
14537   * | Chrome | Firefox | Safari |  Edge  |  IE   |
14538   * | :----: | :-----: | :----: | :----: | :---: |
14539   * | **1**  |  **1**  | **1**  | **12** | **3** |
14540   *
14541   * @see https://developer.mozilla.org/docs/Web/CSS/text-decoration
14542   */
14543  "text-decoration"?: Property.TextDecoration<TLength>;
14544  /**
14545   * The **`text-emphasis`** CSS property applies emphasis marks to text (except spaces and control characters). It is a shorthand for `text-emphasis-style` and `text-emphasis-color`.
14546   *
14547   * **Syntax**: `<'text-emphasis-style'> || <'text-emphasis-color'>`
14548   *
14549   * |    Chrome    | Firefox | Safari  |     Edge     | IE  |
14550   * | :----------: | :-----: | :-----: | :----------: | :-: |
14551   * | **25** _-x-_ | **46**  | **6.1** | **79** _-x-_ | No  |
14552   *
14553   * @see https://developer.mozilla.org/docs/Web/CSS/text-emphasis
14554   */
14555  "text-emphasis"?: Property.TextEmphasis;
14556  /**
14557   * The **`transition`** CSS property is a shorthand property for `transition-property`, `transition-duration`, `transition-timing-function`, and `transition-delay`.
14558   *
14559   * **Syntax**: `<single-transition>#`
14560   *
14561   * | Chrome  | Firefox |  Safari   |  Edge  |   IE   |
14562   * | :-----: | :-----: | :-------: | :----: | :----: |
14563   * | **26**  | **16**  |   **9**   | **12** | **10** |
14564   * | 1 _-x-_ | 4 _-x-_ | 3.1 _-x-_ |        |        |
14565   *
14566   * @see https://developer.mozilla.org/docs/Web/CSS/transition
14567   */
14568  transition?: Property.Transition<TTime>;
14569}
14570
14571export interface StandardPropertiesHyphen<TLength = (string & {}) | 0, TTime = string & {}>
14572  extends StandardLonghandPropertiesHyphen<TLength, TTime>,
14573    StandardShorthandPropertiesHyphen<TLength, TTime> {}
14574
14575export interface VendorLonghandPropertiesHyphen<TLength = (string & {}) | 0, TTime = string & {}> {
14576  /**
14577   * The **`animation-delay`** CSS property specifies the amount of time to wait from applying the animation to an element before beginning to perform the animation. The animation can start later, immediately from its beginning, or immediately and partway through the animation.
14578   *
14579   * **Syntax**: `<time>#`
14580   *
14581   * **Initial value**: `0s`
14582   */
14583  "-moz-animation-delay"?: Property.AnimationDelay<TTime>;
14584  /**
14585   * The **`animation-direction`** CSS property sets whether an animation should play forward, backward, or alternate back and forth between playing the sequence forward and backward.
14586   *
14587   * **Syntax**: `<single-animation-direction>#`
14588   *
14589   * **Initial value**: `normal`
14590   */
14591  "-moz-animation-direction"?: Property.AnimationDirection;
14592  /**
14593   * The **`animation-duration`** CSS property sets the length of time that an animation takes to complete one cycle.
14594   *
14595   * **Syntax**: `<time>#`
14596   *
14597   * **Initial value**: `0s`
14598   */
14599  "-moz-animation-duration"?: Property.AnimationDuration<TTime>;
14600  /**
14601   * The **`animation-fill-mode`** CSS property sets how a CSS animation applies styles to its target before and after its execution.
14602   *
14603   * **Syntax**: `<single-animation-fill-mode>#`
14604   *
14605   * **Initial value**: `none`
14606   */
14607  "-moz-animation-fill-mode"?: Property.AnimationFillMode;
14608  /**
14609   * The **`animation-iteration-count`** CSS property sets the number of times an animation sequence should be played before stopping.
14610   *
14611   * **Syntax**: `<single-animation-iteration-count>#`
14612   *
14613   * **Initial value**: `1`
14614   */
14615  "-moz-animation-iteration-count"?: Property.AnimationIterationCount;
14616  /**
14617   * The **`animation-name`** CSS property specifies the names of one or more `@keyframes` at-rules describing the animation or animations to apply to the element.
14618   *
14619   * **Syntax**: `[ none | <keyframes-name> ]#`
14620   *
14621   * **Initial value**: `none`
14622   */
14623  "-moz-animation-name"?: Property.AnimationName;
14624  /**
14625   * The **`animation-play-state`** CSS property sets whether an animation is running or paused.
14626   *
14627   * **Syntax**: `<single-animation-play-state>#`
14628   *
14629   * **Initial value**: `running`
14630   */
14631  "-moz-animation-play-state"?: Property.AnimationPlayState;
14632  /**
14633   * The **`animation-timing-function`** CSS property sets how an animation progresses through the duration of each cycle.
14634   *
14635   * **Syntax**: `<easing-function>#`
14636   *
14637   * **Initial value**: `ease`
14638   */
14639  "-moz-animation-timing-function"?: Property.AnimationTimingFunction;
14640  /**
14641   * The `**appearance**` CSS property is used to display an element using platform-native styling, based on the operating system's theme. The **`-moz-appearance`** and **`-webkit-appearance`** properties are non-standard versions of this property, used (respectively) by Gecko (Firefox) and by WebKit-based (e.g., Safari) and Blink-based (e.g., Chrome, Opera) browsers to achieve the same thing. Note that Firefox and Edge also support **`-webkit-appearance`**, for compatibility reasons.
14642   *
14643   * **Syntax**: `none | button | button-arrow-down | button-arrow-next | button-arrow-previous | button-arrow-up | button-bevel | button-focus | caret | checkbox | checkbox-container | checkbox-label | checkmenuitem | dualbutton | groupbox | listbox | listitem | menuarrow | menubar | menucheckbox | menuimage | menuitem | menuitemtext | menulist | menulist-button | menulist-text | menulist-textfield | menupopup | menuradio | menuseparator | meterbar | meterchunk | progressbar | progressbar-vertical | progresschunk | progresschunk-vertical | radio | radio-container | radio-label | radiomenuitem | range | range-thumb | resizer | resizerpanel | scale-horizontal | scalethumbend | scalethumb-horizontal | scalethumbstart | scalethumbtick | scalethumb-vertical | scale-vertical | scrollbarbutton-down | scrollbarbutton-left | scrollbarbutton-right | scrollbarbutton-up | scrollbarthumb-horizontal | scrollbarthumb-vertical | scrollbartrack-horizontal | scrollbartrack-vertical | searchfield | separator | sheet | spinner | spinner-downbutton | spinner-textfield | spinner-upbutton | splitter | statusbar | statusbarpanel | tab | tabpanel | tabpanels | tab-scroll-arrow-back | tab-scroll-arrow-forward | textfield | textfield-multiline | toolbar | toolbarbutton | toolbarbutton-dropdown | toolbargripper | toolbox | tooltip | treeheader | treeheadercell | treeheadersortarrow | treeitem | treeline | treetwisty | treetwistyopen | treeview | -moz-mac-unified-toolbar | -moz-win-borderless-glass | -moz-win-browsertabbar-toolbox | -moz-win-communicationstext | -moz-win-communications-toolbox | -moz-win-exclude-glass | -moz-win-glass | -moz-win-mediatext | -moz-win-media-toolbox | -moz-window-button-box | -moz-window-button-box-maximized | -moz-window-button-close | -moz-window-button-maximize | -moz-window-button-minimize | -moz-window-button-restore | -moz-window-frame-bottom | -moz-window-frame-left | -moz-window-frame-right | -moz-window-titlebar | -moz-window-titlebar-maximized`
14644   *
14645   * **Initial value**: `none` (but this value is overridden in the user agent CSS)
14646   */
14647  "-moz-appearance"?: Property.MozAppearance;
14648  /**
14649   * The **`backface-visibility`** CSS property sets whether the back face of an element is visible when turned towards the user.
14650   *
14651   * **Syntax**: `visible | hidden`
14652   *
14653   * **Initial value**: `visible`
14654   */
14655  "-moz-backface-visibility"?: Property.BackfaceVisibility;
14656  /**
14657   * In Mozilla applications like Firefox, the **`-moz-border-bottom-colors`** CSS property sets a list of colors for the bottom border.
14658   *
14659   * **Syntax**: `<color>+ | none`
14660   *
14661   * **Initial value**: `none`
14662   */
14663  "-moz-border-bottom-colors"?: Property.MozBorderBottomColors;
14664  /**
14665   * The **`border-inline-end-color`** CSS property defines the color of the logical inline-end border of an element, which maps to a physical border color depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-color`, `border-right-color`, `border-bottom-color`, or `border-left-color` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
14666   *
14667   * **Syntax**: `<'border-top-color'>`
14668   *
14669   * **Initial value**: `currentcolor`
14670   */
14671  "-moz-border-end-color"?: Property.BorderInlineEndColor;
14672  /**
14673   * The **`border-inline-end-style`** CSS property defines the style of the logical inline end border of an element, which maps to a physical border style depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-style`, `border-right-style`, `border-bottom-style`, or `border-left-style` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
14674   *
14675   * **Syntax**: `<'border-top-style'>`
14676   *
14677   * **Initial value**: `none`
14678   */
14679  "-moz-border-end-style"?: Property.BorderInlineEndStyle;
14680  /**
14681   * The **`border-inline-end-width`** CSS property defines the width of the logical inline-end border of an element, which maps to a physical border width depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-width`, `border-right-width`, `border-bottom-width`, or `border-left-width` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
14682   *
14683   * **Syntax**: `<'border-top-width'>`
14684   *
14685   * **Initial value**: `medium`
14686   */
14687  "-moz-border-end-width"?: Property.BorderInlineEndWidth<TLength>;
14688  /**
14689   * In Mozilla applications like Firefox, the **`-moz-border-left-colors`** CSS property sets a list of colors for the left border.
14690   *
14691   * **Syntax**: `<color>+ | none`
14692   *
14693   * **Initial value**: `none`
14694   */
14695  "-moz-border-left-colors"?: Property.MozBorderLeftColors;
14696  /**
14697   * In Mozilla applications like Firefox, the **`-moz-border-right-colors`** CSS property sets a list of colors for the right border.
14698   *
14699   * **Syntax**: `<color>+ | none`
14700   *
14701   * **Initial value**: `none`
14702   */
14703  "-moz-border-right-colors"?: Property.MozBorderRightColors;
14704  /**
14705   * The **`border-inline-start-color`** CSS property defines the color of the logical inline start border of an element, which maps to a physical border color depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-color`, `border-right-color`, `border-bottom-color`, or `border-left-color` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
14706   *
14707   * **Syntax**: `<'border-top-color'>`
14708   *
14709   * **Initial value**: `currentcolor`
14710   */
14711  "-moz-border-start-color"?: Property.BorderInlineStartColor;
14712  /**
14713   * The **`border-inline-start-style`** CSS property defines the style of the logical inline start border of an element, which maps to a physical border style depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-style`, `border-right-style`, `border-bottom-style`, or `border-left-style` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
14714   *
14715   * **Syntax**: `<'border-top-style'>`
14716   *
14717   * **Initial value**: `none`
14718   */
14719  "-moz-border-start-style"?: Property.BorderInlineStartStyle;
14720  /**
14721   * In Mozilla applications like Firefox, the **`-moz-border-top-colors`** CSS property sets a list of colors for the top border.
14722   *
14723   * **Syntax**: `<color>+ | none`
14724   *
14725   * **Initial value**: `none`
14726   */
14727  "-moz-border-top-colors"?: Property.MozBorderTopColors;
14728  /**
14729   * The **`box-sizing`** CSS property sets how the total width and height of an element is calculated.
14730   *
14731   * **Syntax**: `content-box | border-box`
14732   *
14733   * **Initial value**: `content-box`
14734   */
14735  "-moz-box-sizing"?: Property.BoxSizing;
14736  /**
14737   * The **`column-count`** CSS property breaks an element's content into the specified number of columns.
14738   *
14739   * **Syntax**: `<integer> | auto`
14740   *
14741   * **Initial value**: `auto`
14742   */
14743  "-moz-column-count"?: Property.ColumnCount;
14744  /**
14745   * The **`column-fill`** CSS property controls how an element's contents are balanced when broken into columns.
14746   *
14747   * **Syntax**: `auto | balance | balance-all`
14748   *
14749   * **Initial value**: `balance`
14750   */
14751  "-moz-column-fill"?: Property.ColumnFill;
14752  /**
14753   * The **`column-gap`** CSS property sets the size of the gap (gutter) between an element's columns.
14754   *
14755   * **Syntax**: `normal | <length-percentage>`
14756   *
14757   * **Initial value**: `normal`
14758   */
14759  "-moz-column-gap"?: Property.ColumnGap<TLength>;
14760  /**
14761   * The **`column-rule-color`** CSS property sets the color of the line drawn between columns in a multi-column layout.
14762   *
14763   * **Syntax**: `<color>`
14764   *
14765   * **Initial value**: `currentcolor`
14766   */
14767  "-moz-column-rule-color"?: Property.ColumnRuleColor;
14768  /**
14769   * The **`column-rule-style`** CSS property sets the style of the line drawn between columns in a multi-column layout.
14770   *
14771   * **Syntax**: `<'border-style'>`
14772   *
14773   * **Initial value**: `none`
14774   */
14775  "-moz-column-rule-style"?: Property.ColumnRuleStyle;
14776  /**
14777   * The **`column-rule-width`** CSS property sets the width of the line drawn between columns in a multi-column layout.
14778   *
14779   * **Syntax**: `<'border-width'>`
14780   *
14781   * **Initial value**: `medium`
14782   */
14783  "-moz-column-rule-width"?: Property.ColumnRuleWidth<TLength>;
14784  /**
14785   * The **`column-width`** CSS property sets the ideal column width in a multi-column layout. The container will have as many columns as can fit without any of them having a width less than the `column-width` value. If the width of the container is narrower than the specified value, the single column's width will be smaller than the declared column width.
14786   *
14787   * **Syntax**: `<length> | auto`
14788   *
14789   * **Initial value**: `auto`
14790   */
14791  "-moz-column-width"?: Property.ColumnWidth<TLength>;
14792  /**
14793   * The `**-moz-context-properties**` property can be used within privileged contexts in Firefox to share the values of specified properties of the element with a child SVG image.
14794   *
14795   * **Syntax**: `none | [ fill | fill-opacity | stroke | stroke-opacity ]#`
14796   *
14797   * **Initial value**: `none`
14798   */
14799  "-moz-context-properties"?: Property.MozContextProperties;
14800  /**
14801   * The **`font-feature-settings`** CSS property controls advanced typographic features in OpenType fonts.
14802   *
14803   * **Syntax**: `normal | <feature-tag-value>#`
14804   *
14805   * **Initial value**: `normal`
14806   */
14807  "-moz-font-feature-settings"?: Property.FontFeatureSettings;
14808  /**
14809   * The **`font-language-override`** CSS property controls the use of language-specific glyphs in a typeface.
14810   *
14811   * **Syntax**: `normal | <string>`
14812   *
14813   * **Initial value**: `normal`
14814   */
14815  "-moz-font-language-override"?: Property.FontLanguageOverride;
14816  /**
14817   * The **`hyphens`** CSS property specifies how words should be hyphenated when text wraps across multiple lines. It can prevent hyphenation entirely, hyphenate at manually-specified points within the text, or let the browser automatically insert hyphens where appropriate.
14818   *
14819   * **Syntax**: `none | manual | auto`
14820   *
14821   * **Initial value**: `manual`
14822   */
14823  "-moz-hyphens"?: Property.Hyphens;
14824  /**
14825   * For certain XUL elements and pseudo-elements that use an image from the `list-style-image` property, this property specifies a region of the image that is used in place of the whole image. This allows elements to use different pieces of the same image to improve performance.
14826   *
14827   * **Syntax**: `<shape> | auto`
14828   *
14829   * **Initial value**: `auto`
14830   */
14831  "-moz-image-region"?: Property.MozImageRegion;
14832  /**
14833   * The **`margin-inline-end`** CSS property defines the logical inline end margin of an element, which maps to a physical margin depending on the element's writing mode, directionality, and text orientation. In other words, it corresponds to the `margin-top`, `margin-right`, `margin-bottom` or `margin-left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
14834   *
14835   * **Syntax**: `<'margin-left'>`
14836   *
14837   * **Initial value**: `0`
14838   */
14839  "-moz-margin-end"?: Property.MarginInlineEnd<TLength>;
14840  /**
14841   * The **`margin-inline-start`** CSS property defines the logical inline start margin of an element, which maps to a physical margin depending on the element's writing mode, directionality, and text orientation. It corresponds to the `margin-top`, `margin-right`, `margin-bottom`, or `margin-left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
14842   *
14843   * **Syntax**: `<'margin-left'>`
14844   *
14845   * **Initial value**: `0`
14846   */
14847  "-moz-margin-start"?: Property.MarginInlineStart<TLength>;
14848  /**
14849   * The **`-moz-orient`** CSS property specifies the orientation of the element to which it's applied.
14850   *
14851   * **Syntax**: `inline | block | horizontal | vertical`
14852   *
14853   * **Initial value**: `inline`
14854   */
14855  "-moz-orient"?: Property.MozOrient;
14856  /**
14857   * The **`font-smooth`** CSS property controls the application of anti-aliasing when fonts are rendered.
14858   *
14859   * **Syntax**: `auto | never | always | <absolute-size> | <length>`
14860   *
14861   * **Initial value**: `auto`
14862   */
14863  "-moz-osx-font-smoothing"?: Property.FontSmooth<TLength>;
14864  /**
14865   * The **`padding-inline-end`** CSS property defines the logical inline end padding of an element, which maps to a physical padding depending on the element's writing mode, directionality, and text orientation.
14866   *
14867   * **Syntax**: `<'padding-left'>`
14868   *
14869   * **Initial value**: `0`
14870   */
14871  "-moz-padding-end"?: Property.PaddingInlineEnd<TLength>;
14872  /**
14873   * The **`padding-inline-start`** CSS property defines the logical inline start padding of an element, which maps to a physical padding depending on the element's writing mode, directionality, and text orientation.
14874   *
14875   * **Syntax**: `<'padding-left'>`
14876   *
14877   * **Initial value**: `0`
14878   */
14879  "-moz-padding-start"?: Property.PaddingInlineStart<TLength>;
14880  /**
14881   * The **`perspective`** CSS property determines the distance between the z=0 plane and the user in order to give a 3D-positioned element some perspective.
14882   *
14883   * **Syntax**: `none | <length>`
14884   *
14885   * **Initial value**: `none`
14886   */
14887  "-moz-perspective"?: Property.Perspective<TLength>;
14888  /**
14889   * The **`perspective-origin`** CSS property determines the position at which the viewer is looking. It is used as the _vanishing point_ by the `perspective` property.
14890   *
14891   * **Syntax**: `<position>`
14892   *
14893   * **Initial value**: `50% 50%`
14894   */
14895  "-moz-perspective-origin"?: Property.PerspectiveOrigin<TLength>;
14896  /**
14897   * **`-moz-stack-sizing`** is an extended CSS property. Normally, a `<xul:stack>` will change its size so that all of its child elements are completely visible. For example, moving a child of the stack far to the right will widen the stack so the child remains visible.
14898   *
14899   * **Syntax**: `ignore | stretch-to-fit`
14900   *
14901   * **Initial value**: `stretch-to-fit`
14902   */
14903  "-moz-stack-sizing"?: Property.MozStackSizing;
14904  /**
14905   * The **`tab-size`** CSS property is used to customize the width of tab characters (U+0009).
14906   *
14907   * **Syntax**: `<integer> | <length>`
14908   *
14909   * **Initial value**: `8`
14910   */
14911  "-moz-tab-size"?: Property.TabSize<TLength>;
14912  /**
14913   * The **`-moz-text-blink`** non-standard Mozilla CSS extension specifies the blink mode.
14914   *
14915   * **Syntax**: `none | blink`
14916   *
14917   * **Initial value**: `none`
14918   */
14919  "-moz-text-blink"?: Property.MozTextBlink;
14920  /**
14921   * The **`text-size-adjust`** CSS property controls the text inflation algorithm used on some smartphones and tablets. Other browsers will ignore this property.
14922   *
14923   * **Syntax**: `none | auto | <percentage>`
14924   *
14925   * **Initial value**: `auto` for smartphone browsers supporting inflation, `none` in other cases (and then not modifiable).
14926   */
14927  "-moz-text-size-adjust"?: Property.TextSizeAdjust;
14928  /**
14929   * The **`transform-origin`** CSS property sets the origin for an element's transformations.
14930   *
14931   * **Syntax**: `[ <length-percentage> | left | center | right | top | bottom ] | [ [ <length-percentage> | left | center | right ] && [ <length-percentage> | top | center | bottom ] ] <length>?`
14932   *
14933   * **Initial value**: `50% 50% 0`
14934   */
14935  "-moz-transform-origin"?: Property.TransformOrigin<TLength>;
14936  /**
14937   * The **`transform-style`** CSS property sets whether children of an element are positioned in the 3D space or are flattened in the plane of the element.
14938   *
14939   * **Syntax**: `flat | preserve-3d`
14940   *
14941   * **Initial value**: `flat`
14942   */
14943  "-moz-transform-style"?: Property.TransformStyle;
14944  /**
14945   * The **`transition-delay`** CSS property specifies the duration to wait before starting a property's transition effect when its value changes.
14946   *
14947   * **Syntax**: `<time>#`
14948   *
14949   * **Initial value**: `0s`
14950   */
14951  "-moz-transition-delay"?: Property.TransitionDelay<TTime>;
14952  /**
14953   * The **`transition-duration`** CSS property sets the length of time a transition animation should take to complete. By default, the value is `0s`, meaning that no animation will occur.
14954   *
14955   * **Syntax**: `<time>#`
14956   *
14957   * **Initial value**: `0s`
14958   */
14959  "-moz-transition-duration"?: Property.TransitionDuration<TTime>;
14960  /**
14961   * The **`transition-property`** CSS property sets the CSS properties to which a transition effect should be applied.
14962   *
14963   * **Syntax**: `none | <single-transition-property>#`
14964   *
14965   * **Initial value**: all
14966   */
14967  "-moz-transition-property"?: Property.TransitionProperty;
14968  /**
14969   * The **`transition-timing-function`** CSS property sets how intermediate values are calculated for CSS properties being affected by a transition effect.
14970   *
14971   * **Syntax**: `<easing-function>#`
14972   *
14973   * **Initial value**: `ease`
14974   */
14975  "-moz-transition-timing-function"?: Property.TransitionTimingFunction;
14976  /**
14977   * The **`-moz-user-focus`** CSS property is used to indicate whether an element can have the focus.
14978   *
14979   * **Syntax**: `ignore | normal | select-after | select-before | select-menu | select-same | select-all | none`
14980   *
14981   * **Initial value**: `none`
14982   */
14983  "-moz-user-focus"?: Property.MozUserFocus;
14984  /**
14985   * The **`user-modify`** property has no effect in Firefox. It was originally planned to determine whether or not the content of an element can be edited by a user.
14986   *
14987   * **Syntax**: `read-only | read-write | write-only`
14988   *
14989   * **Initial value**: `read-only`
14990   */
14991  "-moz-user-modify"?: Property.MozUserModify;
14992  /**
14993   * The `**user-select**` CSS property controls whether the user can select text. This doesn't have any effect on content loaded as chrome, except in textboxes.
14994   *
14995   * **Syntax**: `auto | text | none | contain | all`
14996   *
14997   * **Initial value**: `auto`
14998   */
14999  "-moz-user-select"?: Property.UserSelect;
15000  /**
15001   * The **`-moz-window-dragging`** CSS property specifies whether a window is draggable or not. It only works in Chrome code, and only on Mac OS X.
15002   *
15003   * **Syntax**: `drag | no-drag`
15004   *
15005   * **Initial value**: `drag`
15006   */
15007  "-moz-window-dragging"?: Property.MozWindowDragging;
15008  /**
15009   * The **`-moz-window-shadow`** CSS property specifies whether a window will have a shadow. It only works on Mac OS X.
15010   *
15011   * **Syntax**: `default | menu | tooltip | sheet | none`
15012   *
15013   * **Initial value**: `default`
15014   */
15015  "-moz-window-shadow"?: Property.MozWindowShadow;
15016  /**
15017   * The **`-ms-accelerator`** CSS property is a Microsoft extension that sets or retrieves a string indicating whether the object represents a keyboard shortcut.
15018   *
15019   * **Syntax**: `false | true`
15020   *
15021   * **Initial value**: `false`
15022   */
15023  "-ms-accelerator"?: Property.MsAccelerator;
15024  /**
15025   * The **`align-self`** CSS property overrides a grid or flex item's `align-items` value. In Grid, it aligns the item inside the grid area. In Flexbox, it aligns the item on the cross axis.
15026   *
15027   * **Syntax**: `auto | normal | stretch | <baseline-position> | <overflow-position>? <self-position>`
15028   *
15029   * **Initial value**: `auto`
15030   */
15031  "-ms-align-self"?: Property.AlignSelf;
15032  /**
15033   * The **`-ms-block-progression`** CSS property is a Microsoft extension that specifies the block progression and layout orientation.
15034   *
15035   * **Syntax**: `tb | rl | bt | lr`
15036   *
15037   * **Initial value**: `tb`
15038   */
15039  "-ms-block-progression"?: Property.MsBlockProgression;
15040  /**
15041   * The **`-ms-content-zoom-chaining`** CSS property is a Microsoft extension specifying the zoom behavior that occurs when a user hits the zoom limit during page manipulation.
15042   *
15043   * **Syntax**: `none | chained`
15044   *
15045   * **Initial value**: `none`
15046   */
15047  "-ms-content-zoom-chaining"?: Property.MsContentZoomChaining;
15048  /**
15049   * The **`-ms-content-zoom-limit-max`** CSS property is a Microsoft extension that specifies the selected elements' maximum zoom factor.
15050   *
15051   * **Syntax**: `<percentage>`
15052   *
15053   * **Initial value**: `400%`
15054   */
15055  "-ms-content-zoom-limit-max"?: Property.MsContentZoomLimitMax;
15056  /**
15057   * The **`-ms-content-zoom-limit-min`** CSS property is a Microsoft extension that specifies the minimum zoom factor.
15058   *
15059   * **Syntax**: `<percentage>`
15060   *
15061   * **Initial value**: `100%`
15062   */
15063  "-ms-content-zoom-limit-min"?: Property.MsContentZoomLimitMin;
15064  /**
15065   * The **`-ms-content-zoom-snap-points`** CSS property is a Microsoft extension that specifies where zoom snap-points are located.
15066   *
15067   * **Syntax**: `snapInterval( <percentage>, <percentage> ) | snapList( <percentage># )`
15068   *
15069   * **Initial value**: `snapInterval(0%, 100%)`
15070   */
15071  "-ms-content-zoom-snap-points"?: Property.MsContentZoomSnapPoints;
15072  /**
15073   * The **`-ms-content-zoom-snap-type`** CSS property is a Microsoft extension that specifies how zooming is affected by defined snap-points.
15074   *
15075   * **Syntax**: `none | proximity | mandatory`
15076   *
15077   * **Initial value**: `none`
15078   */
15079  "-ms-content-zoom-snap-type"?: Property.MsContentZoomSnapType;
15080  /**
15081   * The **`-ms-content-zooming`** CSS property is a Microsoft extension that specifies whether zooming is enabled.
15082   *
15083   * **Syntax**: `none | zoom`
15084   *
15085   * **Initial value**: zoom for the top level element, none for all other elements
15086   */
15087  "-ms-content-zooming"?: Property.MsContentZooming;
15088  /**
15089   * The `-ms-filter` CSS property is a Microsoft extension that sets or retrieves the filter or collection of filters applied to an object.
15090   *
15091   * **Syntax**: `<string>`
15092   *
15093   * **Initial value**: "" (the empty string)
15094   */
15095  "-ms-filter"?: Property.MsFilter;
15096  /**
15097   * The **`flex-direction`** CSS property sets how flex items are placed in the flex container defining the main axis and the direction (normal or reversed).
15098   *
15099   * **Syntax**: `row | row-reverse | column | column-reverse`
15100   *
15101   * **Initial value**: `row`
15102   */
15103  "-ms-flex-direction"?: Property.FlexDirection;
15104  /**
15105   * The **`flex-grow`** CSS property sets the flex grow factor of a flex item main size.
15106   *
15107   * **Syntax**: `<number>`
15108   *
15109   * **Initial value**: `0`
15110   */
15111  "-ms-flex-positive"?: Property.FlexGrow;
15112  /**
15113   * The **`-ms-flow-from`** CSS property is a Microsoft extension that gets or sets a value identifying a region container in the document that accepts the content flow from the data source.
15114   *
15115   * **Syntax**: `[ none | <custom-ident> ]#`
15116   *
15117   * **Initial value**: `none`
15118   */
15119  "-ms-flow-from"?: Property.MsFlowFrom;
15120  /**
15121   * The **`-ms-flow-into`** CSS property is a Microsoft extension that gets or sets a value identifying an iframe container in the document that serves as the region's data source.
15122   *
15123   * **Syntax**: `[ none | <custom-ident> ]#`
15124   *
15125   * **Initial value**: `none`
15126   */
15127  "-ms-flow-into"?: Property.MsFlowInto;
15128  /**
15129   * The **`grid-template-columns`** CSS property defines the line names and track sizing functions of the grid columns.
15130   *
15131   * **Syntax**: `none | <track-list> | <auto-track-list>`
15132   *
15133   * **Initial value**: `none`
15134   */
15135  "-ms-grid-columns"?: Property.MsGridColumns<TLength>;
15136  /**
15137   * The **`grid-template-rows`** CSS property defines the line names and track sizing functions of the grid rows.
15138   *
15139   * **Syntax**: `none | <track-list> | <auto-track-list>`
15140   *
15141   * **Initial value**: `none`
15142   */
15143  "-ms-grid-rows"?: Property.MsGridRows<TLength>;
15144  /**
15145   * The **`-ms-high-contrast-adjust`** CSS property is a Microsoft extension that gets or sets a value indicating whether to override any CSS properties that would have been set in high contrast mode.
15146   *
15147   * **Syntax**: `auto | none`
15148   *
15149   * **Initial value**: `auto`
15150   */
15151  "-ms-high-contrast-adjust"?: Property.MsHighContrastAdjust;
15152  /**
15153   * The **`-ms-hyphenate-limit-chars`** CSS property is a Microsoft extension that specifies one to three values indicating the minimum number of characters in a hyphenated word. If the word does not meet the required minimum number of characters in the word, before the hyphen, or after the hyphen, then the word is not hyphenated.
15154   *
15155   * **Syntax**: `auto | <integer>{1,3}`
15156   *
15157   * **Initial value**: `auto`
15158   */
15159  "-ms-hyphenate-limit-chars"?: Property.MsHyphenateLimitChars;
15160  /**
15161   * The **`-ms-hyphenate-limit-lines`** CSS property is a Microsoft extension specifying the maximum number of consecutive lines in an element that may be ended with a hyphenated word.
15162   *
15163   * **Syntax**: `no-limit | <integer>`
15164   *
15165   * **Initial value**: `no-limit`
15166   */
15167  "-ms-hyphenate-limit-lines"?: Property.MsHyphenateLimitLines;
15168  /**
15169   * The `**-ms-hyphenate-limit-zone**` CSS property is a Microsoft extension specifying the width of the hyphenation zone.
15170   *
15171   * **Syntax**: `<percentage> | <length>`
15172   *
15173   * **Initial value**: `0`
15174   */
15175  "-ms-hyphenate-limit-zone"?: Property.MsHyphenateLimitZone<TLength>;
15176  /**
15177   * The **`hyphens`** CSS property specifies how words should be hyphenated when text wraps across multiple lines. It can prevent hyphenation entirely, hyphenate at manually-specified points within the text, or let the browser automatically insert hyphens where appropriate.
15178   *
15179   * **Syntax**: `none | manual | auto`
15180   *
15181   * **Initial value**: `manual`
15182   */
15183  "-ms-hyphens"?: Property.Hyphens;
15184  /**
15185   * The **`-ms-ime-align`** CSS property is a Microsoft extension aligning the Input Method Editor (IME) candidate window box relative to the element on which the IME composition is active. The extension is implemented in Microsoft Edge and Internet Explorer 11.
15186   *
15187   * **Syntax**: `auto | after`
15188   *
15189   * **Initial value**: `auto`
15190   */
15191  "-ms-ime-align"?: Property.MsImeAlign;
15192  /**
15193   * The CSS **`justify-self`** property sets the way a box is justified inside its alignment container along the appropriate axis.
15194   *
15195   * **Syntax**: `auto | normal | stretch | <baseline-position> | <overflow-position>? [ <self-position> | left | right ]`
15196   *
15197   * **Initial value**: `auto`
15198   */
15199  "-ms-justify-self"?: Property.JustifySelf;
15200  /**
15201   * The **`line-break`** CSS property sets how to break lines of Chinese, Japanese, or Korean (CJK) text when working with punctuation and symbols.
15202   *
15203   * **Syntax**: `auto | loose | normal | strict | anywhere`
15204   *
15205   * **Initial value**: `auto`
15206   */
15207  "-ms-line-break"?: Property.LineBreak;
15208  /**
15209   * The **`order`** CSS property sets the order to lay out an item in a flex or grid container. Items in a container are sorted by ascending `order` value and then by their source code order.
15210   *
15211   * **Syntax**: `<integer>`
15212   *
15213   * **Initial value**: `0`
15214   */
15215  "-ms-order"?: Property.Order;
15216  /**
15217   * The **`-ms-overflow-style`** CSS property is a Microsoft extension controlling the behavior of scrollbars when the content of an element overflows.
15218   *
15219   * **Syntax**: `auto | none | scrollbar | -ms-autohiding-scrollbar`
15220   *
15221   * **Initial value**: `auto`
15222   */
15223  "-ms-overflow-style"?: Property.MsOverflowStyle;
15224  /**
15225   * The **`overflow-x`** CSS property sets what shows when content overflows a block-level element's left and right edges. This may be nothing, a scroll bar, or the overflow content.
15226   *
15227   * **Syntax**: `visible | hidden | clip | scroll | auto`
15228   *
15229   * **Initial value**: `visible`
15230   */
15231  "-ms-overflow-x"?: Property.OverflowX;
15232  /**
15233   * The **`overflow-y`** CSS property sets what shows when content overflows a block-level element's top and bottom edges. This may be nothing, a scroll bar, or the overflow content.
15234   *
15235   * **Syntax**: `visible | hidden | clip | scroll | auto`
15236   *
15237   * **Initial value**: `visible`
15238   */
15239  "-ms-overflow-y"?: Property.OverflowY;
15240  /**
15241   * The `**-ms-scroll-chaining**` CSS property is a Microsoft extension that specifies the scrolling behavior that occurs when a user hits the scroll limit during a manipulation.
15242   *
15243   * **Syntax**: `chained | none`
15244   *
15245   * **Initial value**: `chained`
15246   */
15247  "-ms-scroll-chaining"?: Property.MsScrollChaining;
15248  /**
15249   * The `**-ms-scroll-limit-x-max**` CSS property is a Microsoft extension that specifies the maximum value for the `Element.scrollLeft` property.
15250   *
15251   * **Syntax**: `auto | <length>`
15252   *
15253   * **Initial value**: `auto`
15254   */
15255  "-ms-scroll-limit-x-max"?: Property.MsScrollLimitXMax<TLength>;
15256  /**
15257   * The **`-ms-scroll-limit-x-min`** CSS property is a Microsoft extension that specifies the minimum value for the `Element.scrollLeft` property.
15258   *
15259   * **Syntax**: `<length>`
15260   *
15261   * **Initial value**: `0`
15262   */
15263  "-ms-scroll-limit-x-min"?: Property.MsScrollLimitXMin<TLength>;
15264  /**
15265   * The **`-ms-scroll-limit-y-max`** CSS property is a Microsoft extension that specifies the maximum value for the `Element.scrollTop` property.
15266   *
15267   * **Syntax**: `auto | <length>`
15268   *
15269   * **Initial value**: `auto`
15270   */
15271  "-ms-scroll-limit-y-max"?: Property.MsScrollLimitYMax<TLength>;
15272  /**
15273   * The **`-ms-scroll-limit-y-min`** CSS property is a Microsoft extension that specifies the minimum value for the `Element.scrollTop` property.
15274   *
15275   * **Syntax**: `<length>`
15276   *
15277   * **Initial value**: `0`
15278   */
15279  "-ms-scroll-limit-y-min"?: Property.MsScrollLimitYMin<TLength>;
15280  /**
15281   * The **`-ms-scroll-rails`** CSS property is a Microsoft extension that specifies whether scrolling locks to the primary axis of motion.
15282   *
15283   * **Syntax**: `none | railed`
15284   *
15285   * **Initial value**: `railed`
15286   */
15287  "-ms-scroll-rails"?: Property.MsScrollRails;
15288  /**
15289   * The **`-ms-scroll-snap-points-x`** CSS property is a Microsoft extension that specifies where snap-points will be located along the x-axis.
15290   *
15291   * **Syntax**: `snapInterval( <length-percentage>, <length-percentage> ) | snapList( <length-percentage># )`
15292   *
15293   * **Initial value**: `snapInterval(0px, 100%)`
15294   */
15295  "-ms-scroll-snap-points-x"?: Property.MsScrollSnapPointsX;
15296  /**
15297   * The **`-ms-scroll-snap-points-y`** CSS property is a Microsoft extension that specifies where snap-points will be located along the y-axis.
15298   *
15299   * **Syntax**: `snapInterval( <length-percentage>, <length-percentage> ) | snapList( <length-percentage># )`
15300   *
15301   * **Initial value**: `snapInterval(0px, 100%)`
15302   */
15303  "-ms-scroll-snap-points-y"?: Property.MsScrollSnapPointsY;
15304  /**
15305   * The **`scroll-snap-type`** CSS property sets how strictly snap points are enforced on the scroll container in case there is one.
15306   *
15307   * **Syntax**: `none | proximity | mandatory`
15308   *
15309   * **Initial value**: `none`
15310   */
15311  "-ms-scroll-snap-type"?: Property.MsScrollSnapType;
15312  /**
15313   * The **`-ms-scroll-translation`** CSS property is a Microsoft extension that specifies whether vertical-to-horizontal scroll wheel translation occurs on the specified element.
15314   *
15315   * **Syntax**: `none | vertical-to-horizontal`
15316   *
15317   * **Initial value**: `none`
15318   */
15319  "-ms-scroll-translation"?: Property.MsScrollTranslation;
15320  /**
15321   * The **`-ms-scrollbar-3dlight-color`** CSS property is a Microsoft extension specifying the color of the top and left edges of the scroll box and scroll arrows of a scroll bar.
15322   *
15323   * **Syntax**: `<color>`
15324   *
15325   * **Initial value**: depends on user agent
15326   */
15327  "-ms-scrollbar-3dlight-color"?: Property.MsScrollbar3dlightColor;
15328  /**
15329   * The **`-ms-scrollbar-arrow-color`** CSS property is a Microsoft extension that specifies the color of the arrow elements of a scroll arrow.
15330   *
15331   * **Syntax**: `<color>`
15332   *
15333   * **Initial value**: `ButtonText`
15334   */
15335  "-ms-scrollbar-arrow-color"?: Property.MsScrollbarArrowColor;
15336  /**
15337   * The `**-ms-scrollbar-base-color**` CSS property is a Microsoft extension that specifies the base color of the main elements of a scroll bar.
15338   *
15339   * **Syntax**: `<color>`
15340   *
15341   * **Initial value**: depends on user agent
15342   */
15343  "-ms-scrollbar-base-color"?: Property.MsScrollbarBaseColor;
15344  /**
15345   * The **`-ms-scrollbar-darkshadow-color`** CSS property is a Microsoft extension that specifies the color of a scroll bar's gutter.
15346   *
15347   * **Syntax**: `<color>`
15348   *
15349   * **Initial value**: `ThreeDDarkShadow`
15350   */
15351  "-ms-scrollbar-darkshadow-color"?: Property.MsScrollbarDarkshadowColor;
15352  /**
15353   * The `**-ms-scrollbar-face-color**` CSS property is a Microsoft extension that specifies the color of the scroll box and scroll arrows of a scroll bar.
15354   *
15355   * **Syntax**: `<color>`
15356   *
15357   * **Initial value**: `ThreeDFace`
15358   */
15359  "-ms-scrollbar-face-color"?: Property.MsScrollbarFaceColor;
15360  /**
15361   * The `**-ms-scrollbar-highlight-color**` CSS property is a Microsoft extension that specifies the color of the slider tray, the top and left edges of the scroll box, and the scroll arrows of a scroll bar.
15362   *
15363   * **Syntax**: `<color>`
15364   *
15365   * **Initial value**: `ThreeDHighlight`
15366   */
15367  "-ms-scrollbar-highlight-color"?: Property.MsScrollbarHighlightColor;
15368  /**
15369   * The **`-ms-scrollbar-shadow-color`** CSS property is a Microsoft extension that specifies the color of the bottom and right edges of the scroll box and scroll arrows of a scroll bar.
15370   *
15371   * **Syntax**: `<color>`
15372   *
15373   * **Initial value**: `ThreeDDarkShadow`
15374   */
15375  "-ms-scrollbar-shadow-color"?: Property.MsScrollbarShadowColor;
15376  /**
15377   * The **`-ms-text-autospace`** CSS property is a Microsoft extension that specifies the autospacing and narrow space width adjustment of text.
15378   *
15379   * **Syntax**: `none | ideograph-alpha | ideograph-numeric | ideograph-parenthesis | ideograph-space`
15380   *
15381   * **Initial value**: `none`
15382   */
15383  "-ms-text-autospace"?: Property.MsTextAutospace;
15384  /**
15385   * The **`text-combine-upright`** CSS property sets the combination of characters into the space of a single character. If the combined text is wider than 1em, the user agent must fit the contents within 1em. The resulting composition is treated as a single upright glyph for layout and decoration. This property only has an effect in vertical writing modes.
15386   *
15387   * **Syntax**: `none | all | [ digits <integer>? ]`
15388   *
15389   * **Initial value**: `none`
15390   */
15391  "-ms-text-combine-horizontal"?: Property.TextCombineUpright;
15392  /**
15393   * The **`text-overflow`** CSS property sets how hidden overflow content is signaled to users. It can be clipped, display an ellipsis ('`…`'), or display a custom string.
15394   *
15395   * **Syntax**: `[ clip | ellipsis | <string> ]{1,2}`
15396   *
15397   * **Initial value**: `clip`
15398   */
15399  "-ms-text-overflow"?: Property.TextOverflow;
15400  /**
15401   * The **`touch-action`** CSS property sets how an element's region can be manipulated by a touchscreen user (for example, by zooming features built into the browser).
15402   *
15403   * **Syntax**: `auto | none | [ [ pan-x | pan-left | pan-right ] || [ pan-y | pan-up | pan-down ] || pinch-zoom ] | manipulation`
15404   *
15405   * **Initial value**: `auto`
15406   */
15407  "-ms-touch-action"?: Property.TouchAction;
15408  /**
15409   * The **`-ms-touch-select`** CSS property is a Microsoft extension that toggles the gripper visual elements that enable touch text selection.
15410   *
15411   * **Syntax**: `grippers | none`
15412   *
15413   * **Initial value**: `grippers`
15414   */
15415  "-ms-touch-select"?: Property.MsTouchSelect;
15416  /**
15417   * The **`transform`** CSS property lets you rotate, scale, skew, or translate an element. It modifies the coordinate space of the CSS visual formatting model.
15418   *
15419   * **Syntax**: `none | <transform-list>`
15420   *
15421   * **Initial value**: `none`
15422   */
15423  "-ms-transform"?: Property.Transform;
15424  /**
15425   * The **`transform-origin`** CSS property sets the origin for an element's transformations.
15426   *
15427   * **Syntax**: `[ <length-percentage> | left | center | right | top | bottom ] | [ [ <length-percentage> | left | center | right ] && [ <length-percentage> | top | center | bottom ] ] <length>?`
15428   *
15429   * **Initial value**: `50% 50% 0`
15430   */
15431  "-ms-transform-origin"?: Property.TransformOrigin<TLength>;
15432  /**
15433   * The **`transition-delay`** CSS property specifies the duration to wait before starting a property's transition effect when its value changes.
15434   *
15435   * **Syntax**: `<time>#`
15436   *
15437   * **Initial value**: `0s`
15438   */
15439  "-ms-transition-delay"?: Property.TransitionDelay<TTime>;
15440  /**
15441   * The **`transition-duration`** CSS property sets the length of time a transition animation should take to complete. By default, the value is `0s`, meaning that no animation will occur.
15442   *
15443   * **Syntax**: `<time>#`
15444   *
15445   * **Initial value**: `0s`
15446   */
15447  "-ms-transition-duration"?: Property.TransitionDuration<TTime>;
15448  /**
15449   * The **`transition-property`** CSS property sets the CSS properties to which a transition effect should be applied.
15450   *
15451   * **Syntax**: `none | <single-transition-property>#`
15452   *
15453   * **Initial value**: all
15454   */
15455  "-ms-transition-property"?: Property.TransitionProperty;
15456  /**
15457   * The **`transition-timing-function`** CSS property sets how intermediate values are calculated for CSS properties being affected by a transition effect.
15458   *
15459   * **Syntax**: `<easing-function>#`
15460   *
15461   * **Initial value**: `ease`
15462   */
15463  "-ms-transition-timing-function"?: Property.TransitionTimingFunction;
15464  /**
15465   * The `**user-select**` CSS property controls whether the user can select text. This doesn't have any effect on content loaded as chrome, except in textboxes.
15466   *
15467   * **Syntax**: `none | element | text`
15468   *
15469   * **Initial value**: `text`
15470   */
15471  "-ms-user-select"?: Property.MsUserSelect;
15472  /**
15473   * The **`word-break`** CSS property sets whether line breaks appear wherever the text would otherwise overflow its content box.
15474   *
15475   * **Syntax**: `normal | break-all | keep-all | break-word`
15476   *
15477   * **Initial value**: `normal`
15478   */
15479  "-ms-word-break"?: Property.WordBreak;
15480  /**
15481   * The **`-ms-wrap-flow`** CSS property is a Microsoft extension that specifies how exclusions impact inline content within block-level elements.
15482   *
15483   * **Syntax**: `auto | both | start | end | maximum | clear`
15484   *
15485   * **Initial value**: `auto`
15486   */
15487  "-ms-wrap-flow"?: Property.MsWrapFlow;
15488  /**
15489   * The **`-ms-wrap-margin`** CSS property is a Microsoft extension that specifies a margin that offsets the inner wrap shape from other shapes.
15490   *
15491   * **Syntax**: `<length>`
15492   *
15493   * **Initial value**: `0`
15494   */
15495  "-ms-wrap-margin"?: Property.MsWrapMargin<TLength>;
15496  /**
15497   * The **`-ms-wrap-through`** CSS property is a Microsoft extension that specifies how content should wrap around an exclusion element.
15498   *
15499   * **Syntax**: `wrap | none`
15500   *
15501   * **Initial value**: `wrap`
15502   */
15503  "-ms-wrap-through"?: Property.MsWrapThrough;
15504  /**
15505   * The **`writing-mode`** CSS property sets whether lines of text are laid out horizontally or vertically, as well as the direction in which blocks progress. When set for an entire document, it should be set on the root element (`html` element for HTML documents).
15506   *
15507   * **Syntax**: `horizontal-tb | vertical-rl | vertical-lr | sideways-rl | sideways-lr`
15508   *
15509   * **Initial value**: `horizontal-tb`
15510   */
15511  "-ms-writing-mode"?: Property.WritingMode;
15512  /**
15513   * The CSS **`align-content`** property sets the distribution of space between and around content items along a flexbox's cross-axis or a grid's block axis.
15514   *
15515   * **Syntax**: `normal | <baseline-position> | <content-distribution> | <overflow-position>? <content-position>`
15516   *
15517   * **Initial value**: `normal`
15518   */
15519  "-webkit-align-content"?: Property.AlignContent;
15520  /**
15521   * The CSS **`align-items`** property sets the `align-self` value on all direct children as a group. In Flexbox, it controls the alignment of items on the Cross Axis. In Grid Layout, it controls the alignment of items on the Block Axis within their grid area.
15522   *
15523   * **Syntax**: `normal | stretch | <baseline-position> | [ <overflow-position>? <self-position> ]`
15524   *
15525   * **Initial value**: `normal`
15526   */
15527  "-webkit-align-items"?: Property.AlignItems;
15528  /**
15529   * The **`align-self`** CSS property overrides a grid or flex item's `align-items` value. In Grid, it aligns the item inside the grid area. In Flexbox, it aligns the item on the cross axis.
15530   *
15531   * **Syntax**: `auto | normal | stretch | <baseline-position> | <overflow-position>? <self-position>`
15532   *
15533   * **Initial value**: `auto`
15534   */
15535  "-webkit-align-self"?: Property.AlignSelf;
15536  /**
15537   * The **`animation-delay`** CSS property specifies the amount of time to wait from applying the animation to an element before beginning to perform the animation. The animation can start later, immediately from its beginning, or immediately and partway through the animation.
15538   *
15539   * **Syntax**: `<time>#`
15540   *
15541   * **Initial value**: `0s`
15542   */
15543  "-webkit-animation-delay"?: Property.AnimationDelay<TTime>;
15544  /**
15545   * The **`animation-direction`** CSS property sets whether an animation should play forward, backward, or alternate back and forth between playing the sequence forward and backward.
15546   *
15547   * **Syntax**: `<single-animation-direction>#`
15548   *
15549   * **Initial value**: `normal`
15550   */
15551  "-webkit-animation-direction"?: Property.AnimationDirection;
15552  /**
15553   * The **`animation-duration`** CSS property sets the length of time that an animation takes to complete one cycle.
15554   *
15555   * **Syntax**: `<time>#`
15556   *
15557   * **Initial value**: `0s`
15558   */
15559  "-webkit-animation-duration"?: Property.AnimationDuration<TTime>;
15560  /**
15561   * The **`animation-fill-mode`** CSS property sets how a CSS animation applies styles to its target before and after its execution.
15562   *
15563   * **Syntax**: `<single-animation-fill-mode>#`
15564   *
15565   * **Initial value**: `none`
15566   */
15567  "-webkit-animation-fill-mode"?: Property.AnimationFillMode;
15568  /**
15569   * The **`animation-iteration-count`** CSS property sets the number of times an animation sequence should be played before stopping.
15570   *
15571   * **Syntax**: `<single-animation-iteration-count>#`
15572   *
15573   * **Initial value**: `1`
15574   */
15575  "-webkit-animation-iteration-count"?: Property.AnimationIterationCount;
15576  /**
15577   * The **`animation-name`** CSS property specifies the names of one or more `@keyframes` at-rules describing the animation or animations to apply to the element.
15578   *
15579   * **Syntax**: `[ none | <keyframes-name> ]#`
15580   *
15581   * **Initial value**: `none`
15582   */
15583  "-webkit-animation-name"?: Property.AnimationName;
15584  /**
15585   * The **`animation-play-state`** CSS property sets whether an animation is running or paused.
15586   *
15587   * **Syntax**: `<single-animation-play-state>#`
15588   *
15589   * **Initial value**: `running`
15590   */
15591  "-webkit-animation-play-state"?: Property.AnimationPlayState;
15592  /**
15593   * The **`animation-timing-function`** CSS property sets how an animation progresses through the duration of each cycle.
15594   *
15595   * **Syntax**: `<easing-function>#`
15596   *
15597   * **Initial value**: `ease`
15598   */
15599  "-webkit-animation-timing-function"?: Property.AnimationTimingFunction;
15600  /**
15601   * The `**appearance**` CSS property is used to display an element using platform-native styling, based on the operating system's theme. The **`-moz-appearance`** and **`-webkit-appearance`** properties are non-standard versions of this property, used (respectively) by Gecko (Firefox) and by WebKit-based (e.g., Safari) and Blink-based (e.g., Chrome, Opera) browsers to achieve the same thing. Note that Firefox and Edge also support **`-webkit-appearance`**, for compatibility reasons.
15602   *
15603   * **Syntax**: `none | button | button-bevel | caret | checkbox | default-button | inner-spin-button | listbox | listitem | media-controls-background | media-controls-fullscreen-background | media-current-time-display | media-enter-fullscreen-button | media-exit-fullscreen-button | media-fullscreen-button | media-mute-button | media-overlay-play-button | media-play-button | media-seek-back-button | media-seek-forward-button | media-slider | media-sliderthumb | media-time-remaining-display | media-toggle-closed-captions-button | media-volume-slider | media-volume-slider-container | media-volume-sliderthumb | menulist | menulist-button | menulist-text | menulist-textfield | meter | progress-bar | progress-bar-value | push-button | radio | searchfield | searchfield-cancel-button | searchfield-decoration | searchfield-results-button | searchfield-results-decoration | slider-horizontal | slider-vertical | sliderthumb-horizontal | sliderthumb-vertical | square-button | textarea | textfield | -apple-pay-button`
15604   *
15605   * **Initial value**: `none` (but this value is overridden in the user agent CSS)
15606   */
15607  "-webkit-appearance"?: Property.WebkitAppearance;
15608  /**
15609   * The **`backdrop-filter`** CSS property lets you apply graphical effects such as blurring or color shifting to the area behind an element. Because it applies to everything _behind_ the element, to see the effect you must make the element or its background at least partially transparent.
15610   *
15611   * **Syntax**: `none | <filter-function-list>`
15612   *
15613   * **Initial value**: `none`
15614   */
15615  "-webkit-backdrop-filter"?: Property.BackdropFilter;
15616  /**
15617   * The **`backface-visibility`** CSS property sets whether the back face of an element is visible when turned towards the user.
15618   *
15619   * **Syntax**: `visible | hidden`
15620   *
15621   * **Initial value**: `visible`
15622   */
15623  "-webkit-backface-visibility"?: Property.BackfaceVisibility;
15624  /**
15625   * The **`background-clip`** CSS property sets whether an element's background extends underneath its border box, padding box, or content box.
15626   *
15627   * **Syntax**: `<box>#`
15628   *
15629   * **Initial value**: `border-box`
15630   */
15631  "-webkit-background-clip"?: Property.BackgroundClip;
15632  /**
15633   * The **`background-origin`** CSS property sets the background's origin: from the border start, inside the border, or inside the padding.
15634   *
15635   * **Syntax**: `<box>#`
15636   *
15637   * **Initial value**: `padding-box`
15638   */
15639  "-webkit-background-origin"?: Property.BackgroundOrigin;
15640  /**
15641   * The **`background-size`** CSS property sets the size of the element's background image. The image can be left to its natural size, stretched, or constrained to fit the available space.
15642   *
15643   * **Syntax**: `<bg-size>#`
15644   *
15645   * **Initial value**: `auto auto`
15646   */
15647  "-webkit-background-size"?: Property.BackgroundSize<TLength>;
15648  /**
15649   * **Syntax**: `<color>`
15650   *
15651   * **Initial value**: `currentcolor`
15652   */
15653  "-webkit-border-before-color"?: Property.WebkitBorderBeforeColor;
15654  /**
15655   * **Syntax**: `<'border-style'>`
15656   *
15657   * **Initial value**: `none`
15658   */
15659  "-webkit-border-before-style"?: Property.WebkitBorderBeforeStyle;
15660  /**
15661   * **Syntax**: `<'border-width'>`
15662   *
15663   * **Initial value**: `medium`
15664   */
15665  "-webkit-border-before-width"?: Property.WebkitBorderBeforeWidth<TLength>;
15666  /**
15667   * The **`border-bottom-left-radius`** CSS property rounds the bottom-left corner of an element by specifying the radius (or the radius of the semi-major and semi-minor axes) of the ellipse defining the curvature of the corner.
15668   *
15669   * **Syntax**: `<length-percentage>{1,2}`
15670   *
15671   * **Initial value**: `0`
15672   */
15673  "-webkit-border-bottom-left-radius"?: Property.BorderBottomLeftRadius<TLength>;
15674  /**
15675   * The **`border-bottom-right-radius`** CSS property rounds the bottom-right corner of an element by specifying the radius (or the radius of the semi-major and semi-minor axes) of the ellipse defining the curvature of the corner.
15676   *
15677   * **Syntax**: `<length-percentage>{1,2}`
15678   *
15679   * **Initial value**: `0`
15680   */
15681  "-webkit-border-bottom-right-radius"?: Property.BorderBottomRightRadius<TLength>;
15682  /**
15683   * The **`border-image-slice`** CSS property divides the image specified by `border-image-source` into regions. These regions form the components of an element's border image.
15684   *
15685   * **Syntax**: `<number-percentage>{1,4} && fill?`
15686   *
15687   * **Initial value**: `100%`
15688   */
15689  "-webkit-border-image-slice"?: Property.BorderImageSlice;
15690  /**
15691   * The **`border-top-left-radius`** CSS property rounds the top-left corner of an element by specifying the radius (or the radius of the semi-major and semi-minor axes) of the ellipse defining the curvature of the corner.
15692   *
15693   * **Syntax**: `<length-percentage>{1,2}`
15694   *
15695   * **Initial value**: `0`
15696   */
15697  "-webkit-border-top-left-radius"?: Property.BorderTopLeftRadius<TLength>;
15698  /**
15699   * The **`border-top-right-radius`** CSS property rounds the top-right corner of an element by specifying the radius (or the radius of the semi-major and semi-minor axes) of the ellipse defining the curvature of the corner.
15700   *
15701   * **Syntax**: `<length-percentage>{1,2}`
15702   *
15703   * **Initial value**: `0`
15704   */
15705  "-webkit-border-top-right-radius"?: Property.BorderTopRightRadius<TLength>;
15706  /**
15707   * The **`box-decoration-break`** CSS property specifies how an element's fragments should be rendered when broken across multiple lines, columns, or pages.
15708   *
15709   * **Syntax**: `slice | clone`
15710   *
15711   * **Initial value**: `slice`
15712   */
15713  "-webkit-box-decoration-break"?: Property.BoxDecorationBreak;
15714  /**
15715   * The **`-webkit-box-reflect`** CSS property lets you reflect the content of an element in one specific direction.
15716   *
15717   * **Syntax**: `[ above | below | right | left ]? <length>? <image>?`
15718   *
15719   * **Initial value**: `none`
15720   */
15721  "-webkit-box-reflect"?: Property.WebkitBoxReflect<TLength>;
15722  /**
15723   * The **`box-shadow`** CSS property adds shadow effects around an element's frame. You can set multiple effects separated by commas. A box shadow is described by X and Y offsets relative to the element, blur and spread radius, and color.
15724   *
15725   * **Syntax**: `none | <shadow>#`
15726   *
15727   * **Initial value**: `none`
15728   */
15729  "-webkit-box-shadow"?: Property.BoxShadow;
15730  /**
15731   * The **`box-sizing`** CSS property sets how the total width and height of an element is calculated.
15732   *
15733   * **Syntax**: `content-box | border-box`
15734   *
15735   * **Initial value**: `content-box`
15736   */
15737  "-webkit-box-sizing"?: Property.BoxSizing;
15738  /**
15739   * The `**clip-path**` CSS property creates a clipping region that sets what part of an element should be shown. Parts that are inside the region are shown, while those outside are hidden.
15740   *
15741   * **Syntax**: `<clip-source> | [ <basic-shape> || <geometry-box> ] | none`
15742   *
15743   * **Initial value**: `none`
15744   */
15745  "-webkit-clip-path"?: Property.ClipPath;
15746  /**
15747   * The **`column-count`** CSS property breaks an element's content into the specified number of columns.
15748   *
15749   * **Syntax**: `<integer> | auto`
15750   *
15751   * **Initial value**: `auto`
15752   */
15753  "-webkit-column-count"?: Property.ColumnCount;
15754  /**
15755   * The **`column-fill`** CSS property controls how an element's contents are balanced when broken into columns.
15756   *
15757   * **Syntax**: `auto | balance | balance-all`
15758   *
15759   * **Initial value**: `balance`
15760   */
15761  "-webkit-column-fill"?: Property.ColumnFill;
15762  /**
15763   * The **`column-gap`** CSS property sets the size of the gap (gutter) between an element's columns.
15764   *
15765   * **Syntax**: `normal | <length-percentage>`
15766   *
15767   * **Initial value**: `normal`
15768   */
15769  "-webkit-column-gap"?: Property.ColumnGap<TLength>;
15770  /**
15771   * The **`column-rule-color`** CSS property sets the color of the line drawn between columns in a multi-column layout.
15772   *
15773   * **Syntax**: `<color>`
15774   *
15775   * **Initial value**: `currentcolor`
15776   */
15777  "-webkit-column-rule-color"?: Property.ColumnRuleColor;
15778  /**
15779   * The **`column-rule-style`** CSS property sets the style of the line drawn between columns in a multi-column layout.
15780   *
15781   * **Syntax**: `<'border-style'>`
15782   *
15783   * **Initial value**: `none`
15784   */
15785  "-webkit-column-rule-style"?: Property.ColumnRuleStyle;
15786  /**
15787   * The **`column-rule-width`** CSS property sets the width of the line drawn between columns in a multi-column layout.
15788   *
15789   * **Syntax**: `<'border-width'>`
15790   *
15791   * **Initial value**: `medium`
15792   */
15793  "-webkit-column-rule-width"?: Property.ColumnRuleWidth<TLength>;
15794  /**
15795   * The **`column-span`** CSS property makes it possible for an element to span across all columns when its value is set to `all`.
15796   *
15797   * **Syntax**: `none | all`
15798   *
15799   * **Initial value**: `none`
15800   */
15801  "-webkit-column-span"?: Property.ColumnSpan;
15802  /**
15803   * The **`column-width`** CSS property sets the ideal column width in a multi-column layout. The container will have as many columns as can fit without any of them having a width less than the `column-width` value. If the width of the container is narrower than the specified value, the single column's width will be smaller than the declared column width.
15804   *
15805   * **Syntax**: `<length> | auto`
15806   *
15807   * **Initial value**: `auto`
15808   */
15809  "-webkit-column-width"?: Property.ColumnWidth<TLength>;
15810  /**
15811   * The **`filter`** CSS property applies graphical effects like blur or color shift to an element. Filters are commonly used to adjust the rendering of images, backgrounds, and borders.
15812   *
15813   * **Syntax**: `none | <filter-function-list>`
15814   *
15815   * **Initial value**: `none`
15816   */
15817  "-webkit-filter"?: Property.Filter;
15818  /**
15819   * The **`flex-basis`** CSS property sets the initial main size of a flex item. It sets the size of the content box unless otherwise set with `box-sizing`.
15820   *
15821   * **Syntax**: `content | <'width'>`
15822   *
15823   * **Initial value**: `auto`
15824   */
15825  "-webkit-flex-basis"?: Property.FlexBasis<TLength>;
15826  /**
15827   * The **`flex-direction`** CSS property sets how flex items are placed in the flex container defining the main axis and the direction (normal or reversed).
15828   *
15829   * **Syntax**: `row | row-reverse | column | column-reverse`
15830   *
15831   * **Initial value**: `row`
15832   */
15833  "-webkit-flex-direction"?: Property.FlexDirection;
15834  /**
15835   * The **`flex-grow`** CSS property sets the flex grow factor of a flex item main size.
15836   *
15837   * **Syntax**: `<number>`
15838   *
15839   * **Initial value**: `0`
15840   */
15841  "-webkit-flex-grow"?: Property.FlexGrow;
15842  /**
15843   * The **`flex-shrink`** CSS property sets the flex shrink factor of a flex item. If the size of all flex items is larger than the flex container, items shrink to fit according to `flex-shrink`.
15844   *
15845   * **Syntax**: `<number>`
15846   *
15847   * **Initial value**: `1`
15848   */
15849  "-webkit-flex-shrink"?: Property.FlexShrink;
15850  /**
15851   * The **`flex-wrap`** CSS property sets whether flex items are forced onto one line or can wrap onto multiple lines. If wrapping is allowed, it sets the direction that lines are stacked.
15852   *
15853   * **Syntax**: `nowrap | wrap | wrap-reverse`
15854   *
15855   * **Initial value**: `nowrap`
15856   */
15857  "-webkit-flex-wrap"?: Property.FlexWrap;
15858  /**
15859   * The **`font-feature-settings`** CSS property controls advanced typographic features in OpenType fonts.
15860   *
15861   * **Syntax**: `normal | <feature-tag-value>#`
15862   *
15863   * **Initial value**: `normal`
15864   */
15865  "-webkit-font-feature-settings"?: Property.FontFeatureSettings;
15866  /**
15867   * The **`font-kerning`** CSS property sets the use of the kerning information stored in a font.
15868   *
15869   * **Syntax**: `auto | normal | none`
15870   *
15871   * **Initial value**: `auto`
15872   */
15873  "-webkit-font-kerning"?: Property.FontKerning;
15874  /**
15875   * The **`font-smooth`** CSS property controls the application of anti-aliasing when fonts are rendered.
15876   *
15877   * **Syntax**: `auto | never | always | <absolute-size> | <length>`
15878   *
15879   * **Initial value**: `auto`
15880   */
15881  "-webkit-font-smoothing"?: Property.FontSmooth<TLength>;
15882  /**
15883   * The **`font-variant-ligatures`** CSS property controls which ligatures and contextual forms are used in textual content of the elements it applies to. This leads to more harmonized forms in the resulting text.
15884   *
15885   * **Syntax**: `normal | none | [ <common-lig-values> || <discretionary-lig-values> || <historical-lig-values> || <contextual-alt-values> ]`
15886   *
15887   * **Initial value**: `normal`
15888   */
15889  "-webkit-font-variant-ligatures"?: Property.FontVariantLigatures;
15890  /**
15891   * The **`hyphens`** CSS property specifies how words should be hyphenated when text wraps across multiple lines. It can prevent hyphenation entirely, hyphenate at manually-specified points within the text, or let the browser automatically insert hyphens where appropriate.
15892   *
15893   * **Syntax**: `none | manual | auto`
15894   *
15895   * **Initial value**: `manual`
15896   */
15897  "-webkit-hyphens"?: Property.Hyphens;
15898  /**
15899   * The CSS **`justify-content`** property defines how the browser distributes space between and around content items along the main-axis of a flex container, and the inline axis of a grid container.
15900   *
15901   * **Syntax**: `normal | <content-distribution> | <overflow-position>? [ <content-position> | left | right ]`
15902   *
15903   * **Initial value**: `normal`
15904   */
15905  "-webkit-justify-content"?: Property.JustifyContent;
15906  /**
15907   * The **`line-break`** CSS property sets how to break lines of Chinese, Japanese, or Korean (CJK) text when working with punctuation and symbols.
15908   *
15909   * **Syntax**: `auto | loose | normal | strict | anywhere`
15910   *
15911   * **Initial value**: `auto`
15912   */
15913  "-webkit-line-break"?: Property.LineBreak;
15914  /**
15915   * The **`-webkit-line-clamp`** CSS property allows limiting of the contents of a block container to the specified number of lines.
15916   *
15917   * **Syntax**: `none | <integer>`
15918   *
15919   * **Initial value**: `none`
15920   */
15921  "-webkit-line-clamp"?: Property.WebkitLineClamp;
15922  /**
15923   * The **`margin-inline-end`** CSS property defines the logical inline end margin of an element, which maps to a physical margin depending on the element's writing mode, directionality, and text orientation. In other words, it corresponds to the `margin-top`, `margin-right`, `margin-bottom` or `margin-left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
15924   *
15925   * **Syntax**: `<'margin-left'>`
15926   *
15927   * **Initial value**: `0`
15928   */
15929  "-webkit-margin-end"?: Property.MarginInlineEnd<TLength>;
15930  /**
15931   * The **`margin-inline-start`** CSS property defines the logical inline start margin of an element, which maps to a physical margin depending on the element's writing mode, directionality, and text orientation. It corresponds to the `margin-top`, `margin-right`, `margin-bottom`, or `margin-left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
15932   *
15933   * **Syntax**: `<'margin-left'>`
15934   *
15935   * **Initial value**: `0`
15936   */
15937  "-webkit-margin-start"?: Property.MarginInlineStart<TLength>;
15938  /**
15939   * If a `-webkit-mask-image` is specified, `-webkit-mask-attachment` determines whether the mask image's position is fixed within the viewport, or scrolls along with its containing block.
15940   *
15941   * **Syntax**: `<attachment>#`
15942   *
15943   * **Initial value**: `scroll`
15944   */
15945  "-webkit-mask-attachment"?: Property.WebkitMaskAttachment;
15946  /**
15947   * The **`mask-border-outset`** CSS property specifies the distance by which an element's mask border is set out from its border box.
15948   *
15949   * **Syntax**: `[ <length> | <number> ]{1,4}`
15950   *
15951   * **Initial value**: `0`
15952   */
15953  "-webkit-mask-box-image-outset"?: Property.MaskBorderOutset<TLength>;
15954  /**
15955   * The **`mask-border-repeat`** CSS property sets how the edge regions of a source image are adjusted to fit the dimensions of an element's mask border.
15956   *
15957   * **Syntax**: `[ stretch | repeat | round | space ]{1,2}`
15958   *
15959   * **Initial value**: `stretch`
15960   */
15961  "-webkit-mask-box-image-repeat"?: Property.MaskBorderRepeat;
15962  /**
15963   * The **`mask-border-slice`** CSS property divides the image set by `mask-border-source` into regions. These regions are used to form the components of an element's mask border.
15964   *
15965   * **Syntax**: `<number-percentage>{1,4} fill?`
15966   *
15967   * **Initial value**: `0`
15968   */
15969  "-webkit-mask-box-image-slice"?: Property.MaskBorderSlice;
15970  /**
15971   * The **`mask-border-source`** CSS property sets the source image used to create an element's mask border.
15972   *
15973   * **Syntax**: `none | <image>`
15974   *
15975   * **Initial value**: `none`
15976   */
15977  "-webkit-mask-box-image-source"?: Property.MaskBorderSource;
15978  /**
15979   * The **`mask-border-width`** CSS property sets the width of an element's mask border.
15980   *
15981   * **Syntax**: `[ <length-percentage> | <number> | auto ]{1,4}`
15982   *
15983   * **Initial value**: `auto`
15984   */
15985  "-webkit-mask-box-image-width"?: Property.MaskBorderWidth<TLength>;
15986  /**
15987   * The **`mask-clip`** CSS property determines the area which is affected by a mask. The painted content of an element must be restricted to this area.
15988   *
15989   * **Syntax**: `[ <box> | border | padding | content | text ]#`
15990   *
15991   * **Initial value**: `border`
15992   */
15993  "-webkit-mask-clip"?: Property.WebkitMaskClip;
15994  /**
15995   * The **`-webkit-mask-composite`** property specifies the manner in which multiple mask images applied to the same element are composited with one another. Mask images are composited in the opposite order that they are declared with the `-webkit-mask-image` property.
15996   *
15997   * **Syntax**: `<composite-style>#`
15998   *
15999   * **Initial value**: `source-over`
16000   */
16001  "-webkit-mask-composite"?: Property.WebkitMaskComposite;
16002  /**
16003   * The **`mask-image`** CSS property sets the image that is used as mask layer for an element.
16004   *
16005   * **Syntax**: `<mask-reference>#`
16006   *
16007   * **Initial value**: `none`
16008   */
16009  "-webkit-mask-image"?: Property.WebkitMaskImage;
16010  /**
16011   * The **`mask-origin`** CSS property sets the origin of a mask.
16012   *
16013   * **Syntax**: `[ <box> | border | padding | content ]#`
16014   *
16015   * **Initial value**: `padding`
16016   */
16017  "-webkit-mask-origin"?: Property.WebkitMaskOrigin;
16018  /**
16019   * The **`mask-position`** CSS property sets the initial position, relative to the mask position layer set by `mask-origin`, for each defined mask image.
16020   *
16021   * **Syntax**: `<position>#`
16022   *
16023   * **Initial value**: `0% 0%`
16024   */
16025  "-webkit-mask-position"?: Property.WebkitMaskPosition<TLength>;
16026  /**
16027   * The `-webkit-mask-position-x` CSS property sets the initial horizontal position of a mask image.
16028   *
16029   * **Syntax**: `[ <length-percentage> | left | center | right ]#`
16030   *
16031   * **Initial value**: `0%`
16032   */
16033  "-webkit-mask-position-x"?: Property.WebkitMaskPositionX<TLength>;
16034  /**
16035   * The `-webkit-mask-position-y` CSS property sets the initial vertical position of a mask image.
16036   *
16037   * **Syntax**: `[ <length-percentage> | top | center | bottom ]#`
16038   *
16039   * **Initial value**: `0%`
16040   */
16041  "-webkit-mask-position-y"?: Property.WebkitMaskPositionY<TLength>;
16042  /**
16043   * The **`mask-repeat`** CSS property sets how mask images are repeated. A mask image can be repeated along the horizontal axis, the vertical axis, both axes, or not repeated at all.
16044   *
16045   * **Syntax**: `<repeat-style>#`
16046   *
16047   * **Initial value**: `repeat`
16048   */
16049  "-webkit-mask-repeat"?: Property.WebkitMaskRepeat;
16050  /**
16051   * The `-webkit-mask-repeat-x` property specifies whether and how a mask image is repeated (tiled) horizontally.
16052   *
16053   * **Syntax**: `repeat | no-repeat | space | round`
16054   *
16055   * **Initial value**: `repeat`
16056   */
16057  "-webkit-mask-repeat-x"?: Property.WebkitMaskRepeatX;
16058  /**
16059   * The `-webkit-mask-repeat-y` property sets whether and how a mask image is repeated (tiled) vertically.
16060   *
16061   * **Syntax**: `repeat | no-repeat | space | round`
16062   *
16063   * **Initial value**: `repeat`
16064   */
16065  "-webkit-mask-repeat-y"?: Property.WebkitMaskRepeatY;
16066  /**
16067   * The **`mask-size`** CSS property specifies the sizes of the mask images. The size of the image can be fully or partially constrained in order to preserve its intrinsic ratio.
16068   *
16069   * **Syntax**: `<bg-size>#`
16070   *
16071   * **Initial value**: `auto auto`
16072   */
16073  "-webkit-mask-size"?: Property.WebkitMaskSize<TLength>;
16074  /**
16075   * The **`max-inline-size`** CSS property defines the horizontal or vertical maximum size of an element's block, depending on its writing mode. It corresponds to either the `max-width` or the `max-height` property, depending on the value of `writing-mode`.
16076   *
16077   * **Syntax**: `<'max-width'>`
16078   *
16079   * **Initial value**: `0`
16080   */
16081  "-webkit-max-inline-size"?: Property.MaxInlineSize<TLength>;
16082  /**
16083   * The **`order`** CSS property sets the order to lay out an item in a flex or grid container. Items in a container are sorted by ascending `order` value and then by their source code order.
16084   *
16085   * **Syntax**: `<integer>`
16086   *
16087   * **Initial value**: `0`
16088   */
16089  "-webkit-order"?: Property.Order;
16090  /**
16091   * The `-webkit-overflow-scrolling` CSS property controls whether or not touch devices use momentum-based scrolling for a given element.
16092   *
16093   * **Syntax**: `auto | touch`
16094   *
16095   * **Initial value**: `auto`
16096   */
16097  "-webkit-overflow-scrolling"?: Property.WebkitOverflowScrolling;
16098  /**
16099   * The **`padding-inline-end`** CSS property defines the logical inline end padding of an element, which maps to a physical padding depending on the element's writing mode, directionality, and text orientation.
16100   *
16101   * **Syntax**: `<'padding-left'>`
16102   *
16103   * **Initial value**: `0`
16104   */
16105  "-webkit-padding-end"?: Property.PaddingInlineEnd<TLength>;
16106  /**
16107   * The **`padding-inline-start`** CSS property defines the logical inline start padding of an element, which maps to a physical padding depending on the element's writing mode, directionality, and text orientation.
16108   *
16109   * **Syntax**: `<'padding-left'>`
16110   *
16111   * **Initial value**: `0`
16112   */
16113  "-webkit-padding-start"?: Property.PaddingInlineStart<TLength>;
16114  /**
16115   * The **`perspective`** CSS property determines the distance between the z=0 plane and the user in order to give a 3D-positioned element some perspective.
16116   *
16117   * **Syntax**: `none | <length>`
16118   *
16119   * **Initial value**: `none`
16120   */
16121  "-webkit-perspective"?: Property.Perspective<TLength>;
16122  /**
16123   * The **`perspective-origin`** CSS property determines the position at which the viewer is looking. It is used as the _vanishing point_ by the `perspective` property.
16124   *
16125   * **Syntax**: `<position>`
16126   *
16127   * **Initial value**: `50% 50%`
16128   */
16129  "-webkit-perspective-origin"?: Property.PerspectiveOrigin<TLength>;
16130  /**
16131   * The **`color-adjust`** CSS property sets what, if anything, the user agent may do to optimize the appearance of the element on the output device. By default, the browser is allowed to make any adjustments to the element's appearance it determines to be necessary and prudent given the type and capabilities of the output device.
16132   *
16133   * **Syntax**: `economy | exact`
16134   *
16135   * **Initial value**: `economy`
16136   */
16137  "-webkit-print-color-adjust"?: Property.ColorAdjust;
16138  /**
16139   * The `**ruby-position**` CSS property defines the position of a ruby element relatives to its base element. It can be position over the element (`over`), under it (`under`), or between the characters, on their right side (`inter-character`).
16140   *
16141   * **Syntax**: `[ alternate || [ over | under ] ] | inter-character`
16142   *
16143   * **Initial value**: `alternate`
16144   */
16145  "-webkit-ruby-position"?: Property.RubyPosition;
16146  /**
16147   * The **`scroll-snap-type`** CSS property sets how strictly snap points are enforced on the scroll container in case there is one.
16148   *
16149   * **Syntax**: `none | [ x | y | block | inline | both ] [ mandatory | proximity ]?`
16150   *
16151   * **Initial value**: `none`
16152   */
16153  "-webkit-scroll-snap-type"?: Property.ScrollSnapType;
16154  /**
16155   * The **`shape-margin`** CSS property sets a margin for a CSS shape created using `shape-outside`.
16156   *
16157   * **Syntax**: `<length-percentage>`
16158   *
16159   * **Initial value**: `0`
16160   */
16161  "-webkit-shape-margin"?: Property.ShapeMargin<TLength>;
16162  /**
16163   * **`-webkit-tap-highlight-color`** is a non-standard CSS property that sets the color of the highlight that appears over a link while it's being tapped. The highlighting indicates to the user that their tap is being successfully recognized, and indicates which element they're tapping on.
16164   *
16165   * **Syntax**: `<color>`
16166   *
16167   * **Initial value**: `black`
16168   */
16169  "-webkit-tap-highlight-color"?: Property.WebkitTapHighlightColor;
16170  /**
16171   * The **`text-combine-upright`** CSS property sets the combination of characters into the space of a single character. If the combined text is wider than 1em, the user agent must fit the contents within 1em. The resulting composition is treated as a single upright glyph for layout and decoration. This property only has an effect in vertical writing modes.
16172   *
16173   * **Syntax**: `none | all | [ digits <integer>? ]`
16174   *
16175   * **Initial value**: `none`
16176   */
16177  "-webkit-text-combine"?: Property.TextCombineUpright;
16178  /**
16179   * The **`text-decoration-color`** CSS property sets the color of decorations added to text by `text-decoration-line`.
16180   *
16181   * **Syntax**: `<color>`
16182   *
16183   * **Initial value**: `currentcolor`
16184   */
16185  "-webkit-text-decoration-color"?: Property.TextDecorationColor;
16186  /**
16187   * The **`text-decoration-line`** CSS property sets the kind of decoration that is used on text in an element, such as an underline or overline.
16188   *
16189   * **Syntax**: `none | [ underline || overline || line-through || blink ] | spelling-error | grammar-error`
16190   *
16191   * **Initial value**: `none`
16192   */
16193  "-webkit-text-decoration-line"?: Property.TextDecorationLine;
16194  /**
16195   * The **`text-decoration-skip`** CSS property sets what parts of an element’s content any text decoration affecting the element must skip over. It controls all text decoration lines drawn by the element and also any text decoration lines drawn by its ancestors.
16196   *
16197   * **Syntax**: `none | [ objects || [ spaces | [ leading-spaces || trailing-spaces ] ] || edges || box-decoration ]`
16198   *
16199   * **Initial value**: `objects`
16200   */
16201  "-webkit-text-decoration-skip"?: Property.TextDecorationSkip;
16202  /**
16203   * The **`text-decoration-style`** CSS property sets the style of the lines specified by `text-decoration-line`. The style applies to all lines that are set with `text-decoration-line`.
16204   *
16205   * **Syntax**: `solid | double | dotted | dashed | wavy`
16206   *
16207   * **Initial value**: `solid`
16208   */
16209  "-webkit-text-decoration-style"?: Property.TextDecorationStyle;
16210  /**
16211   * The **`text-emphasis-color`** CSS property sets the color of emphasis marks. This value can also be set using the `text-emphasis` shorthand.
16212   *
16213   * **Syntax**: `<color>`
16214   *
16215   * **Initial value**: `currentcolor`
16216   */
16217  "-webkit-text-emphasis-color"?: Property.TextEmphasisColor;
16218  /**
16219   * The **`text-emphasis-position`** CSS property sets where emphasis marks are drawn. Like ruby text, if there isn't enough room for emphasis marks, the line height is increased.
16220   *
16221   * **Syntax**: `[ over | under ] && [ right | left ]`
16222   *
16223   * **Initial value**: `over right`
16224   */
16225  "-webkit-text-emphasis-position"?: Property.TextEmphasisPosition;
16226  /**
16227   * The **`text-emphasis-style`** CSS property sets the appearance of emphasis marks. It can also be set, and reset, using the `text-emphasis` shorthand.
16228   *
16229   * **Syntax**: `none | [ [ filled | open ] || [ dot | circle | double-circle | triangle | sesame ] ] | <string>`
16230   *
16231   * **Initial value**: `none`
16232   */
16233  "-webkit-text-emphasis-style"?: Property.TextEmphasisStyle;
16234  /**
16235   * The **`-webkit-text-fill-color`** CSS property specifies the fill color of characters of text. If this property is not set, the value of the `color` property is used.
16236   *
16237   * **Syntax**: `<color>`
16238   *
16239   * **Initial value**: `currentcolor`
16240   */
16241  "-webkit-text-fill-color"?: Property.WebkitTextFillColor;
16242  /**
16243   * The **`text-orientation`** CSS property sets the orientation of the text characters in a line. It only affects text in vertical mode (when `writing-mode` is not `horizontal-tb`). It is useful for controlling the display of languages that use vertical script, and also for making vertical table headers.
16244   *
16245   * **Syntax**: `mixed | upright | sideways`
16246   *
16247   * **Initial value**: `mixed`
16248   */
16249  "-webkit-text-orientation"?: Property.TextOrientation;
16250  /**
16251   * The **`text-size-adjust`** CSS property controls the text inflation algorithm used on some smartphones and tablets. Other browsers will ignore this property.
16252   *
16253   * **Syntax**: `none | auto | <percentage>`
16254   *
16255   * **Initial value**: `auto` for smartphone browsers supporting inflation, `none` in other cases (and then not modifiable).
16256   */
16257  "-webkit-text-size-adjust"?: Property.TextSizeAdjust;
16258  /**
16259   * The **`-webkit-text-stroke-color`** CSS property specifies the stroke color of characters of text. If this property is not set, the value of the `color` property is used.
16260   *
16261   * **Syntax**: `<color>`
16262   *
16263   * **Initial value**: `currentcolor`
16264   */
16265  "-webkit-text-stroke-color"?: Property.WebkitTextStrokeColor;
16266  /**
16267   * The **`-webkit-text-stroke-width`** CSS property specifies the width of the stroke for text.
16268   *
16269   * **Syntax**: `<length>`
16270   *
16271   * **Initial value**: `0`
16272   */
16273  "-webkit-text-stroke-width"?: Property.WebkitTextStrokeWidth<TLength>;
16274  /**
16275   * The **`text-underline-position`** CSS property specifies the position of the underline which is set using the `text-decoration` property's `underline` value.
16276   *
16277   * **Syntax**: `auto | from-font | [ under || [ left | right ] ]`
16278   *
16279   * **Initial value**: `auto`
16280   */
16281  "-webkit-text-underline-position"?: Property.TextUnderlinePosition;
16282  /**
16283   * The `-webkit-touch-callout` CSS property controls the display of the default callout shown when you touch and hold a touch target.
16284   *
16285   * **Syntax**: `default | none`
16286   *
16287   * **Initial value**: `default`
16288   */
16289  "-webkit-touch-callout"?: Property.WebkitTouchCallout;
16290  /**
16291   * The **`transform`** CSS property lets you rotate, scale, skew, or translate an element. It modifies the coordinate space of the CSS visual formatting model.
16292   *
16293   * **Syntax**: `none | <transform-list>`
16294   *
16295   * **Initial value**: `none`
16296   */
16297  "-webkit-transform"?: Property.Transform;
16298  /**
16299   * The **`transform-origin`** CSS property sets the origin for an element's transformations.
16300   *
16301   * **Syntax**: `[ <length-percentage> | left | center | right | top | bottom ] | [ [ <length-percentage> | left | center | right ] && [ <length-percentage> | top | center | bottom ] ] <length>?`
16302   *
16303   * **Initial value**: `50% 50% 0`
16304   */
16305  "-webkit-transform-origin"?: Property.TransformOrigin<TLength>;
16306  /**
16307   * The **`transform-style`** CSS property sets whether children of an element are positioned in the 3D space or are flattened in the plane of the element.
16308   *
16309   * **Syntax**: `flat | preserve-3d`
16310   *
16311   * **Initial value**: `flat`
16312   */
16313  "-webkit-transform-style"?: Property.TransformStyle;
16314  /**
16315   * The **`transition-delay`** CSS property specifies the duration to wait before starting a property's transition effect when its value changes.
16316   *
16317   * **Syntax**: `<time>#`
16318   *
16319   * **Initial value**: `0s`
16320   */
16321  "-webkit-transition-delay"?: Property.TransitionDelay<TTime>;
16322  /**
16323   * The **`transition-duration`** CSS property sets the length of time a transition animation should take to complete. By default, the value is `0s`, meaning that no animation will occur.
16324   *
16325   * **Syntax**: `<time>#`
16326   *
16327   * **Initial value**: `0s`
16328   */
16329  "-webkit-transition-duration"?: Property.TransitionDuration<TTime>;
16330  /**
16331   * The **`transition-property`** CSS property sets the CSS properties to which a transition effect should be applied.
16332   *
16333   * **Syntax**: `none | <single-transition-property>#`
16334   *
16335   * **Initial value**: all
16336   */
16337  "-webkit-transition-property"?: Property.TransitionProperty;
16338  /**
16339   * The **`transition-timing-function`** CSS property sets how intermediate values are calculated for CSS properties being affected by a transition effect.
16340   *
16341   * **Syntax**: `<easing-function>#`
16342   *
16343   * **Initial value**: `ease`
16344   */
16345  "-webkit-transition-timing-function"?: Property.TransitionTimingFunction;
16346  /**
16347   * **Syntax**: `read-only | read-write | read-write-plaintext-only`
16348   *
16349   * **Initial value**: `read-only`
16350   */
16351  "-webkit-user-modify"?: Property.WebkitUserModify;
16352  /**
16353   * The `**user-select**` CSS property controls whether the user can select text. This doesn't have any effect on content loaded as chrome, except in textboxes.
16354   *
16355   * **Syntax**: `auto | text | none | contain | all`
16356   *
16357   * **Initial value**: `auto`
16358   */
16359  "-webkit-user-select"?: Property.UserSelect;
16360  /**
16361   * The **`writing-mode`** CSS property sets whether lines of text are laid out horizontally or vertically, as well as the direction in which blocks progress. When set for an entire document, it should be set on the root element (`html` element for HTML documents).
16362   *
16363   * **Syntax**: `horizontal-tb | vertical-rl | vertical-lr | sideways-rl | sideways-lr`
16364   *
16365   * **Initial value**: `horizontal-tb`
16366   */
16367  "-webkit-writing-mode"?: Property.WritingMode;
16368}
16369
16370export interface VendorShorthandPropertiesHyphen<TLength = (string & {}) | 0, TTime = string & {}> {
16371  /**
16372   * The **`animation`** shorthand CSS property applies an animation between styles. It is a shorthand for `animation-name`, `animation-duration`, `animation-timing-function`, `animation-delay`, `animation-iteration-count`, `animation-direction`, `animation-fill-mode`, and `animation-play-state`.
16373   *
16374   * **Syntax**: `<single-animation>#`
16375   */
16376  "-moz-animation"?: Property.Animation<TTime>;
16377  /**
16378   * The **`border-image`** CSS property draws an image around a given element. It replaces the element's regular border.
16379   *
16380   * **Syntax**: `<'border-image-source'> || <'border-image-slice'> [ / <'border-image-width'> | / <'border-image-width'>? / <'border-image-outset'> ]? || <'border-image-repeat'>`
16381   */
16382  "-moz-border-image"?: Property.BorderImage;
16383  /**
16384   * The **`column-rule`** shorthand CSS property sets the width, style, and color of the line drawn between columns in a multi-column layout.
16385   *
16386   * **Syntax**: `<'column-rule-width'> || <'column-rule-style'> || <'column-rule-color'>`
16387   */
16388  "-moz-column-rule"?: Property.ColumnRule<TLength>;
16389  /**
16390   * The **`columns`** CSS shorthand property sets the number of columns to use when drawing an element's contents, as well as those columns' widths.
16391   *
16392   * **Syntax**: `<'column-width'> || <'column-count'>`
16393   */
16394  "-moz-columns"?: Property.Columns<TLength>;
16395  /**
16396   * The **`transition`** CSS property is a shorthand property for `transition-property`, `transition-duration`, `transition-timing-function`, and `transition-delay`.
16397   *
16398   * **Syntax**: `<single-transition>#`
16399   */
16400  "-moz-transition"?: Property.Transition<TTime>;
16401  /**
16402   * The **`-ms-content-zoom-limit`** CSS shorthand property is a Microsoft extension that specifies values for the `-ms-content-zoom-limit-min` and `-ms-content-zoom-limit-max` properties.
16403   *
16404   * **Syntax**: `<'-ms-content-zoom-limit-min'> <'-ms-content-zoom-limit-max'>`
16405   */
16406  "-ms-content-zoom-limit"?: Property.MsContentZoomLimit;
16407  /**
16408   * The **`-ms-content-zoom-snap`** CSS shorthand property is a Microsoft extension that specifies values for the `-ms-content-zoom-snap-type` and `-ms-content-zoom-snap-points` properties.
16409   *
16410   * **Syntax**: `<'-ms-content-zoom-snap-type'> || <'-ms-content-zoom-snap-points'>`
16411   */
16412  "-ms-content-zoom-snap"?: Property.MsContentZoomSnap;
16413  /**
16414   * The **`flex`** CSS shorthand property sets how a flex _item_ will grow or shrink to fit the space available in its flex container.
16415   *
16416   * **Syntax**: `none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]`
16417   */
16418  "-ms-flex"?: Property.Flex<TLength>;
16419  /**
16420   * The **\-ms-scroll-limit** CSS property is a Microsoft extension that specifies values for the `-ms-scroll-limit-x-min`, `-ms-scroll-limit-y-min`, `-ms-scroll-limit-x-max`, and `-ms-scroll-limit-y-max` properties.
16421   *
16422   * **Syntax**: `<'-ms-scroll-limit-x-min'> <'-ms-scroll-limit-y-min'> <'-ms-scroll-limit-x-max'> <'-ms-scroll-limit-y-max'>`
16423   */
16424  "-ms-scroll-limit"?: Property.MsScrollLimit;
16425  /**
16426   * The **`-ms-scroll-snap-x`** CSS shorthand property is a Microsoft extension that specifies values for the `-ms-scroll-snap-type` and `-ms-scroll-snap-points-x` properties.
16427   *
16428   * **Syntax**: `<'-ms-scroll-snap-type'> <'-ms-scroll-snap-points-x'>`
16429   */
16430  "-ms-scroll-snap-x"?: Property.MsScrollSnapX;
16431  /**
16432   * The **`-ms-scroll-snap-x`** CSS shorthand property is a Microsoft extension that specifies values for the `-ms-scroll-snap-type` and `-ms-scroll-snap-points-y` properties.
16433   *
16434   * **Syntax**: `<'-ms-scroll-snap-type'> <'-ms-scroll-snap-points-y'>`
16435   */
16436  "-ms-scroll-snap-y"?: Property.MsScrollSnapY;
16437  /**
16438   * The **`transition`** CSS property is a shorthand property for `transition-property`, `transition-duration`, `transition-timing-function`, and `transition-delay`.
16439   *
16440   * **Syntax**: `<single-transition>#`
16441   */
16442  "-ms-transition"?: Property.Transition<TTime>;
16443  /**
16444   * The **`animation`** shorthand CSS property applies an animation between styles. It is a shorthand for `animation-name`, `animation-duration`, `animation-timing-function`, `animation-delay`, `animation-iteration-count`, `animation-direction`, `animation-fill-mode`, and `animation-play-state`.
16445   *
16446   * **Syntax**: `<single-animation>#`
16447   */
16448  "-webkit-animation"?: Property.Animation<TTime>;
16449  /**
16450   * The **`-webkit-border-before`** CSS property is a shorthand property for setting the individual logical block start border property values in a single place in the style sheet.
16451   *
16452   * **Syntax**: `<'border-width'> || <'border-style'> || <color>`
16453   */
16454  "-webkit-border-before"?: Property.WebkitBorderBefore<TLength>;
16455  /**
16456   * The **`border-image`** CSS property draws an image around a given element. It replaces the element's regular border.
16457   *
16458   * **Syntax**: `<'border-image-source'> || <'border-image-slice'> [ / <'border-image-width'> | / <'border-image-width'>? / <'border-image-outset'> ]? || <'border-image-repeat'>`
16459   */
16460  "-webkit-border-image"?: Property.BorderImage;
16461  /**
16462   * The **`border-radius`** CSS property rounds the corners of an element's outer border edge. You can set a single radius to make circular corners, or two radii to make elliptical corners.
16463   *
16464   * **Syntax**: `<length-percentage>{1,4} [ / <length-percentage>{1,4} ]?`
16465   */
16466  "-webkit-border-radius"?: Property.BorderRadius<TLength>;
16467  /**
16468   * The **`column-rule`** shorthand CSS property sets the width, style, and color of the line drawn between columns in a multi-column layout.
16469   *
16470   * **Syntax**: `<'column-rule-width'> || <'column-rule-style'> || <'column-rule-color'>`
16471   */
16472  "-webkit-column-rule"?: Property.ColumnRule<TLength>;
16473  /**
16474   * The **`columns`** CSS shorthand property sets the number of columns to use when drawing an element's contents, as well as those columns' widths.
16475   *
16476   * **Syntax**: `<'column-width'> || <'column-count'>`
16477   */
16478  "-webkit-columns"?: Property.Columns<TLength>;
16479  /**
16480   * The **`flex`** CSS shorthand property sets how a flex _item_ will grow or shrink to fit the space available in its flex container.
16481   *
16482   * **Syntax**: `none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]`
16483   */
16484  "-webkit-flex"?: Property.Flex<TLength>;
16485  /**
16486   * The **`flex-flow`** CSS shorthand property specifies the direction of a flex container, as well as its wrapping behavior.
16487   *
16488   * **Syntax**: `<'flex-direction'> || <'flex-wrap'>`
16489   */
16490  "-webkit-flex-flow"?: Property.FlexFlow;
16491  /**
16492   * The **`mask`** CSS shorthand property hides an element (partially or fully) by masking or clipping the image at specific points.
16493   *
16494   * **Syntax**: `[ <mask-reference> || <position> [ / <bg-size> ]? || <repeat-style> || [ <box> | border | padding | content | text ] || [ <box> | border | padding | content ] ]#`
16495   */
16496  "-webkit-mask"?: Property.WebkitMask<TLength>;
16497  /**
16498   * The **`mask-border`** CSS shorthand property lets you create a mask along the edge of an element's border.
16499   *
16500   * **Syntax**: `<'mask-border-source'> || <'mask-border-slice'> [ / <'mask-border-width'>? [ / <'mask-border-outset'> ]? ]? || <'mask-border-repeat'> || <'mask-border-mode'>`
16501   */
16502  "-webkit-mask-box-image"?: Property.MaskBorder;
16503  /**
16504   * The **`text-emphasis`** CSS property applies emphasis marks to text (except spaces and control characters). It is a shorthand for `text-emphasis-style` and `text-emphasis-color`.
16505   *
16506   * **Syntax**: `<'text-emphasis-style'> || <'text-emphasis-color'>`
16507   */
16508  "-webkit-text-emphasis"?: Property.TextEmphasis;
16509  /**
16510   * The **`-webkit-text-stroke`** CSS property specifies the width and color of strokes for text characters. This is a shorthand property for the longhand properties `-webkit-text-stroke-width` and `-webkit-text-stroke-color`.
16511   *
16512   * **Syntax**: `<length> || <color>`
16513   */
16514  "-webkit-text-stroke"?: Property.WebkitTextStroke<TLength>;
16515  /**
16516   * The **`transition`** CSS property is a shorthand property for `transition-property`, `transition-duration`, `transition-timing-function`, and `transition-delay`.
16517   *
16518   * **Syntax**: `<single-transition>#`
16519   */
16520  "-webkit-transition"?: Property.Transition<TTime>;
16521}
16522
16523export interface VendorPropertiesHyphen<TLength = (string & {}) | 0, TTime = string & {}>
16524  extends VendorLonghandPropertiesHyphen<TLength, TTime>,
16525    VendorShorthandPropertiesHyphen<TLength, TTime> {}
16526
16527export interface ObsoletePropertiesHyphen<TLength = (string & {}) | 0, TTime = string & {}> {
16528  /**
16529   * In combination with `elevation`, the **`azimuth`** CSS property enables different audio sources to be positioned spatially for aural presentation. This is important in that it provides a natural way to tell several voices apart, as each can be positioned to originate at a different location on the sound stage. Stereo output produce a lateral sound stage, while binaural headphones and multi-speaker setups allow for a fully three-dimensional stage.
16530   *
16531   * **Syntax**: `<angle> | [ [ left-side | far-left | left | center-left | center | center-right | right | far-right | right-side ] || behind ] | leftwards | rightwards`
16532   *
16533   * **Initial value**: `center`
16534   *
16535   * @deprecated
16536   */
16537  azimuth?: Property.Azimuth;
16538  /**
16539   * The **`box-align`** CSS property specifies how an element aligns its contents across its layout in a perpendicular direction. The effect of the property is only visible if there is extra space in the box.
16540   *
16541   * **Syntax**: `start | center | end | baseline | stretch`
16542   *
16543   * **Initial value**: `stretch`
16544   *
16545   * @deprecated
16546   */
16547  "box-align"?: Property.BoxAlign;
16548  /**
16549   * The **`box-direction`** CSS property specifies whether a box lays out its contents normally (from the top or left edge), or in reverse (from the bottom or right edge).
16550   *
16551   * **Syntax**: `normal | reverse | inherit`
16552   *
16553   * **Initial value**: `normal`
16554   *
16555   * @deprecated
16556   */
16557  "box-direction"?: Property.BoxDirection;
16558  /**
16559   * The **`-moz-box-flex`** and **`-webkit-box-flex`** CSS properties specify how a `-moz-box` or `-webkit-box` grows to fill the box that contains it, in the direction of the containing box's layout.
16560   *
16561   * **Syntax**: `<number>`
16562   *
16563   * **Initial value**: `0`
16564   *
16565   * @deprecated
16566   */
16567  "box-flex"?: Property.BoxFlex;
16568  /**
16569   * The **`box-flex-group`** CSS property assigns the flexbox's child elements to a flex group.
16570   *
16571   * **Syntax**: `<integer>`
16572   *
16573   * **Initial value**: `1`
16574   *
16575   * @deprecated
16576   */
16577  "box-flex-group"?: Property.BoxFlexGroup;
16578  /**
16579   * The **`box-lines`** CSS property determines whether the box may have a single or multiple lines (rows for horizontally oriented boxes, columns for vertically oriented boxes).
16580   *
16581   * **Syntax**: `single | multiple`
16582   *
16583   * **Initial value**: `single`
16584   *
16585   * @deprecated
16586   */
16587  "box-lines"?: Property.BoxLines;
16588  /**
16589   * The **`box-ordinal-group`** CSS property assigns the flexbox's child elements to an ordinal group.
16590   *
16591   * **Syntax**: `<integer>`
16592   *
16593   * **Initial value**: `1`
16594   *
16595   * @deprecated
16596   */
16597  "box-ordinal-group"?: Property.BoxOrdinalGroup;
16598  /**
16599   * This is a property of the original CSS Flexible Box Layout Module draft, and has been replaced by a newer standard. See flexbox for information about the current standard.
16600   *
16601   * **Syntax**: `horizontal | vertical | inline-axis | block-axis | inherit`
16602   *
16603   * **Initial value**: `inline-axis` (`horizontal` in XUL)
16604   *
16605   * @deprecated
16606   */
16607  "box-orient"?: Property.BoxOrient;
16608  /**
16609   * The **`-moz-box-pack`** and **`-webkit-box-pack`** CSS properties specify how a `-moz-box` or `-webkit-box` packs its contents in the direction of its layout. The effect of this is only visible if there is extra space in the box.
16610   *
16611   * **Syntax**: `start | center | end | justify`
16612   *
16613   * **Initial value**: `start`
16614   *
16615   * @deprecated
16616   */
16617  "box-pack"?: Property.BoxPack;
16618  /**
16619   * The **`clip`** CSS property defines a visible portion of an element. The `clip` property applies only to absolutely positioned elements — that is, elements with `position:absolute` or `position:fixed`.
16620   *
16621   * **Syntax**: `<shape> | auto`
16622   *
16623   * **Initial value**: `auto`
16624   *
16625   * @deprecated
16626   */
16627  clip?: Property.Clip;
16628  /**
16629   * The **`font-variant-alternates`** CSS property controls the usage of alternate glyphs. These alternate glyphs may be referenced by alternative names defined in `@font-feature-values`.
16630   *
16631   * **Syntax**: `normal | [ stylistic( <feature-value-name> ) || historical-forms || styleset( <feature-value-name># ) || character-variant( <feature-value-name># ) || swash( <feature-value-name> ) || ornaments( <feature-value-name> ) || annotation( <feature-value-name> ) ]`
16632   *
16633   * **Initial value**: `normal`
16634   *
16635   * @deprecated
16636   */
16637  "font-variant-alternates"?: Property.FontVariantAlternates;
16638  /**
16639   * The **`column-gap`** CSS property sets the size of the gap (gutter) between an element's columns.
16640   *
16641   * **Syntax**: `<length-percentage>`
16642   *
16643   * **Initial value**: `0`
16644   *
16645   * @deprecated
16646   */
16647  "grid-column-gap"?: Property.GridColumnGap<TLength>;
16648  /**
16649   * The **`gap`** CSS property sets the gaps (gutters) between rows and columns. It is a shorthand for `row-gap` and `column-gap`.
16650   *
16651   * **Syntax**: `<'grid-row-gap'> <'grid-column-gap'>?`
16652   *
16653   * @deprecated
16654   */
16655  "grid-gap"?: Property.GridGap<TLength>;
16656  /**
16657   * The **`row-gap`** CSS property sets the size of the gap (gutter) between an element's grid rows.
16658   *
16659   * **Syntax**: `<length-percentage>`
16660   *
16661   * **Initial value**: `0`
16662   *
16663   * @deprecated
16664   */
16665  "grid-row-gap"?: Property.GridRowGap<TLength>;
16666  /**
16667   * The **`ime-mode`** CSS property controls the state of the input method editor (IME) for text fields. This property is obsolete.
16668   *
16669   * **Syntax**: `auto | normal | active | inactive | disabled`
16670   *
16671   * **Initial value**: `auto`
16672   *
16673   * @deprecated
16674   */
16675  "ime-mode"?: Property.ImeMode;
16676  /**
16677   * The **`inset-inline`** CSS property defines the logical start and end offsets of an element in the inline direction, which maps to physical offsets depending on the element's writing mode, directionality, and text orientation. It corresponds to the `top` and `bottom`, or `right` and `left` properties depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
16678   *
16679   * **Syntax**: `<'top'>{1,2}`
16680   *
16681   * **Initial value**: `auto`
16682   *
16683   * @deprecated
16684   */
16685  "offset-block"?: Property.InsetBlock<TLength>;
16686  /**
16687   * The **`inset-block-end`** CSS property defines the logical block end offset of an element, which maps to a physical inset depending on the element's writing mode, directionality, and text orientation. It corresponds to the `top`, `right`, `bottom`, or `left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
16688   *
16689   * **Syntax**: `<'top'>`
16690   *
16691   * **Initial value**: `auto`
16692   *
16693   * @deprecated
16694   */
16695  "offset-block-end"?: Property.InsetBlockEnd<TLength>;
16696  /**
16697   * The **`inset-block-start`** CSS property defines the logical block start offset of an element, which maps to a physical inset depending on the element's writing mode, directionality, and text orientation. It corresponds to the `top`, `right`, `bottom`, or `left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
16698   *
16699   * **Syntax**: `<'top'>`
16700   *
16701   * **Initial value**: `auto`
16702   *
16703   * @deprecated
16704   */
16705  "offset-block-start"?: Property.InsetBlockStart<TLength>;
16706  /**
16707   * The **`inset-inline`** CSS property defines the logical start and end offsets of an element in the inline direction, which maps to physical offsets depending on the element's writing mode, directionality, and text orientation. It corresponds to the `top` and `bottom`, or `right` and `left` properties depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
16708   *
16709   * **Syntax**: `<'top'>{1,2}`
16710   *
16711   * **Initial value**: `auto`
16712   *
16713   * @deprecated
16714   */
16715  "offset-inline"?: Property.InsetInline<TLength>;
16716  /**
16717   * The **`inset-inline-end`** CSS property defines the logical inline end inset of an element, which maps to a physical offset depending on the element's writing mode, directionality, and text orientation. It corresponds to the `top`, `right`, `bottom`, or `left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
16718   *
16719   * **Syntax**: `<'top'>`
16720   *
16721   * **Initial value**: `auto`
16722   *
16723   * @deprecated
16724   */
16725  "offset-inline-end"?: Property.InsetInlineEnd<TLength>;
16726  /**
16727   * The **`inset-inline-start`** CSS property defines the logical inline start inset of an element, which maps to a physical offset depending on the element's writing mode, directionality, and text orientation. It corresponds to the `top`, `right`, `bottom`, or `left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
16728   *
16729   * **Syntax**: `<'top'>`
16730   *
16731   * **Initial value**: `auto`
16732   *
16733   * @deprecated
16734   */
16735  "offset-inline-start"?: Property.InsetInlineStart<TLength>;
16736  /**
16737   * The **`scroll-snap-coordinate`** CSS property defines the x and y coordinate positions within an element that will align with its nearest ancestor scroll container's `scroll-snap-destination` for each respective axis.
16738   *
16739   * **Syntax**: `none | <position>#`
16740   *
16741   * **Initial value**: `none`
16742   *
16743   * @deprecated
16744   */
16745  "scroll-snap-coordinate"?: Property.ScrollSnapCoordinate<TLength>;
16746  /**
16747   * The **`scroll-snap-destination`** CSS property defines the position in x and y coordinates within the scroll container's visual viewport which element snap points align with.
16748   *
16749   * **Syntax**: `<position>`
16750   *
16751   * **Initial value**: `0px 0px`
16752   *
16753   * @deprecated
16754   */
16755  "scroll-snap-destination"?: Property.ScrollSnapDestination<TLength>;
16756  /**
16757   * The **`scroll-snap-points-x`** CSS property defines the horizontal positioning of snap points within the content of the scroll container they are applied to.
16758   *
16759   * **Syntax**: `none | repeat( <length-percentage> )`
16760   *
16761   * **Initial value**: `none`
16762   *
16763   * @deprecated
16764   */
16765  "scroll-snap-points-x"?: Property.ScrollSnapPointsX;
16766  /**
16767   * The **`scroll-snap-points-y`** CSS property defines the vertical positioning of snap points within the content of the scroll container they are applied to.
16768   *
16769   * **Syntax**: `none | repeat( <length-percentage> )`
16770   *
16771   * **Initial value**: `none`
16772   *
16773   * @deprecated
16774   */
16775  "scroll-snap-points-y"?: Property.ScrollSnapPointsY;
16776  /**
16777   * The **`scroll-snap-type-x`** CSS property defines how strictly snap points are enforced on the horizontal axis of the scroll container in case there is one.
16778   *
16779   * **Syntax**: `none | mandatory | proximity`
16780   *
16781   * **Initial value**: `none`
16782   *
16783   * @deprecated
16784   */
16785  "scroll-snap-type-x"?: Property.ScrollSnapTypeX;
16786  /**
16787   * The **`scroll-snap-type-y`** CSS property defines how strictly snap points are enforced on the vertical axis of the scroll container in case there is one.
16788   *
16789   * **Syntax**: `none | mandatory | proximity`
16790   *
16791   * **Initial value**: `none`
16792   *
16793   * @deprecated
16794   */
16795  "scroll-snap-type-y"?: Property.ScrollSnapTypeY;
16796  /**
16797   * The **`-ms-scrollbar-track-color`** CSS property is a Microsoft extension that specifies the color of the track element of a scrollbar.
16798   *
16799   * **Syntax**: `<color>`
16800   *
16801   * **Initial value**: `Scrollbar`
16802   *
16803   * @deprecated
16804   */
16805  "scrollbar-track-color"?: Property.MsScrollbarTrackColor;
16806  /**
16807   * The **`box-align`** CSS property specifies how an element aligns its contents across its layout in a perpendicular direction. The effect of the property is only visible if there is extra space in the box.
16808   *
16809   * **Syntax**: `start | center | end | baseline | stretch`
16810   *
16811   * **Initial value**: `stretch`
16812   *
16813   * @deprecated
16814   */
16815  "-khtml-box-align"?: Property.BoxAlign;
16816  /**
16817   * The **`box-direction`** CSS property specifies whether a box lays out its contents normally (from the top or left edge), or in reverse (from the bottom or right edge).
16818   *
16819   * **Syntax**: `normal | reverse | inherit`
16820   *
16821   * **Initial value**: `normal`
16822   *
16823   * @deprecated
16824   */
16825  "-khtml-box-direction"?: Property.BoxDirection;
16826  /**
16827   * The **`-moz-box-flex`** and **`-webkit-box-flex`** CSS properties specify how a `-moz-box` or `-webkit-box` grows to fill the box that contains it, in the direction of the containing box's layout.
16828   *
16829   * **Syntax**: `<number>`
16830   *
16831   * **Initial value**: `0`
16832   *
16833   * @deprecated
16834   */
16835  "-khtml-box-flex"?: Property.BoxFlex;
16836  /**
16837   * The **`box-flex-group`** CSS property assigns the flexbox's child elements to a flex group.
16838   *
16839   * **Syntax**: `<integer>`
16840   *
16841   * **Initial value**: `1`
16842   *
16843   * @deprecated
16844   */
16845  "-khtml-box-flex-group"?: Property.BoxFlexGroup;
16846  /**
16847   * The **`box-lines`** CSS property determines whether the box may have a single or multiple lines (rows for horizontally oriented boxes, columns for vertically oriented boxes).
16848   *
16849   * **Syntax**: `single | multiple`
16850   *
16851   * **Initial value**: `single`
16852   *
16853   * @deprecated
16854   */
16855  "-khtml-box-lines"?: Property.BoxLines;
16856  /**
16857   * The **`box-ordinal-group`** CSS property assigns the flexbox's child elements to an ordinal group.
16858   *
16859   * **Syntax**: `<integer>`
16860   *
16861   * **Initial value**: `1`
16862   *
16863   * @deprecated
16864   */
16865  "-khtml-box-ordinal-group"?: Property.BoxOrdinalGroup;
16866  /**
16867   * This is a property of the original CSS Flexible Box Layout Module draft, and has been replaced by a newer standard. See flexbox for information about the current standard.
16868   *
16869   * **Syntax**: `horizontal | vertical | inline-axis | block-axis | inherit`
16870   *
16871   * **Initial value**: `inline-axis` (`horizontal` in XUL)
16872   *
16873   * @deprecated
16874   */
16875  "-khtml-box-orient"?: Property.BoxOrient;
16876  /**
16877   * The **`-moz-box-pack`** and **`-webkit-box-pack`** CSS properties specify how a `-moz-box` or `-webkit-box` packs its contents in the direction of its layout. The effect of this is only visible if there is extra space in the box.
16878   *
16879   * **Syntax**: `start | center | end | justify`
16880   *
16881   * **Initial value**: `start`
16882   *
16883   * @deprecated
16884   */
16885  "-khtml-box-pack"?: Property.BoxPack;
16886  /**
16887   * The **`line-break`** CSS property sets how to break lines of Chinese, Japanese, or Korean (CJK) text when working with punctuation and symbols.
16888   *
16889   * **Syntax**: `auto | loose | normal | strict | anywhere`
16890   *
16891   * **Initial value**: `auto`
16892   *
16893   * @deprecated
16894   */
16895  "-khtml-line-break"?: Property.LineBreak;
16896  /**
16897   * The **`opacity`** CSS property sets the opacity of an element. Opacity is the degree to which content behind an element is hidden, and is the opposite of transparency.
16898   *
16899   * **Syntax**: `<alpha-value>`
16900   *
16901   * **Initial value**: `1.0`
16902   *
16903   * @deprecated
16904   */
16905  "-khtml-opacity"?: Property.Opacity;
16906  /**
16907   * The `**user-select**` CSS property controls whether the user can select text. This doesn't have any effect on content loaded as chrome, except in textboxes.
16908   *
16909   * **Syntax**: `auto | text | none | contain | all`
16910   *
16911   * **Initial value**: `auto`
16912   *
16913   * @deprecated
16914   */
16915  "-khtml-user-select"?: Property.UserSelect;
16916  /**
16917   * The **`background-clip`** CSS property sets whether an element's background extends underneath its border box, padding box, or content box.
16918   *
16919   * **Syntax**: `<box>#`
16920   *
16921   * **Initial value**: `border-box`
16922   *
16923   * @deprecated
16924   */
16925  "-moz-background-clip"?: Property.BackgroundClip;
16926  /**
16927   * The **`box-decoration-break`** CSS property specifies how an element's fragments should be rendered when broken across multiple lines, columns, or pages.
16928   *
16929   * **Syntax**: `slice | clone`
16930   *
16931   * **Initial value**: `slice`
16932   *
16933   * @deprecated
16934   */
16935  "-moz-background-inline-policy"?: Property.BoxDecorationBreak;
16936  /**
16937   * The **`background-origin`** CSS property sets the background's origin: from the border start, inside the border, or inside the padding.
16938   *
16939   * **Syntax**: `<box>#`
16940   *
16941   * **Initial value**: `padding-box`
16942   *
16943   * @deprecated
16944   */
16945  "-moz-background-origin"?: Property.BackgroundOrigin;
16946  /**
16947   * The **`background-size`** CSS property sets the size of the element's background image. The image can be left to its natural size, stretched, or constrained to fit the available space.
16948   *
16949   * **Syntax**: `<bg-size>#`
16950   *
16951   * **Initial value**: `auto auto`
16952   *
16953   * @deprecated
16954   */
16955  "-moz-background-size"?: Property.BackgroundSize<TLength>;
16956  /**
16957   * The **`-moz-binding`** CSS property is used by Mozilla-based applications to attach an XBL binding to a DOM element.
16958   *
16959   * **Syntax**: `<url> | none`
16960   *
16961   * **Initial value**: `none`
16962   *
16963   * @deprecated
16964   */
16965  "-moz-binding"?: Property.MozBinding;
16966  /**
16967   * The **`border-radius`** CSS property rounds the corners of an element's outer border edge. You can set a single radius to make circular corners, or two radii to make elliptical corners.
16968   *
16969   * **Syntax**: `<length-percentage>{1,4} [ / <length-percentage>{1,4} ]?`
16970   *
16971   * @deprecated
16972   */
16973  "-moz-border-radius"?: Property.BorderRadius<TLength>;
16974  /**
16975   * The **`border-bottom-left-radius`** CSS property rounds the bottom-left corner of an element by specifying the radius (or the radius of the semi-major and semi-minor axes) of the ellipse defining the curvature of the corner.
16976   *
16977   * **Syntax**: `<length-percentage>{1,2}`
16978   *
16979   * **Initial value**: `0`
16980   *
16981   * @deprecated
16982   */
16983  "-moz-border-radius-bottomleft"?: Property.BorderBottomLeftRadius<TLength>;
16984  /**
16985   * The **`border-bottom-right-radius`** CSS property rounds the bottom-right corner of an element by specifying the radius (or the radius of the semi-major and semi-minor axes) of the ellipse defining the curvature of the corner.
16986   *
16987   * **Syntax**: `<length-percentage>{1,2}`
16988   *
16989   * **Initial value**: `0`
16990   *
16991   * @deprecated
16992   */
16993  "-moz-border-radius-bottomright"?: Property.BorderBottomRightRadius<TLength>;
16994  /**
16995   * The **`border-top-left-radius`** CSS property rounds the top-left corner of an element by specifying the radius (or the radius of the semi-major and semi-minor axes) of the ellipse defining the curvature of the corner.
16996   *
16997   * **Syntax**: `<length-percentage>{1,2}`
16998   *
16999   * **Initial value**: `0`
17000   *
17001   * @deprecated
17002   */
17003  "-moz-border-radius-topleft"?: Property.BorderTopLeftRadius<TLength>;
17004  /**
17005   * The **`border-top-right-radius`** CSS property rounds the top-right corner of an element by specifying the radius (or the radius of the semi-major and semi-minor axes) of the ellipse defining the curvature of the corner.
17006   *
17007   * **Syntax**: `<length-percentage>{1,2}`
17008   *
17009   * **Initial value**: `0`
17010   *
17011   * @deprecated
17012   */
17013  "-moz-border-radius-topright"?: Property.BorderTopRightRadius<TLength>;
17014  /**
17015   * The **`box-align`** CSS property specifies how an element aligns its contents across its layout in a perpendicular direction. The effect of the property is only visible if there is extra space in the box.
17016   *
17017   * **Syntax**: `start | center | end | baseline | stretch`
17018   *
17019   * **Initial value**: `stretch`
17020   *
17021   * @deprecated
17022   */
17023  "-moz-box-align"?: Property.BoxAlign;
17024  /**
17025   * The **`box-direction`** CSS property specifies whether a box lays out its contents normally (from the top or left edge), or in reverse (from the bottom or right edge).
17026   *
17027   * **Syntax**: `normal | reverse | inherit`
17028   *
17029   * **Initial value**: `normal`
17030   *
17031   * @deprecated
17032   */
17033  "-moz-box-direction"?: Property.BoxDirection;
17034  /**
17035   * The **`-moz-box-flex`** and **`-webkit-box-flex`** CSS properties specify how a `-moz-box` or `-webkit-box` grows to fill the box that contains it, in the direction of the containing box's layout.
17036   *
17037   * **Syntax**: `<number>`
17038   *
17039   * **Initial value**: `0`
17040   *
17041   * @deprecated
17042   */
17043  "-moz-box-flex"?: Property.BoxFlex;
17044  /**
17045   * The **`box-ordinal-group`** CSS property assigns the flexbox's child elements to an ordinal group.
17046   *
17047   * **Syntax**: `<integer>`
17048   *
17049   * **Initial value**: `1`
17050   *
17051   * @deprecated
17052   */
17053  "-moz-box-ordinal-group"?: Property.BoxOrdinalGroup;
17054  /**
17055   * This is a property of the original CSS Flexible Box Layout Module draft, and has been replaced by a newer standard. See flexbox for information about the current standard.
17056   *
17057   * **Syntax**: `horizontal | vertical | inline-axis | block-axis | inherit`
17058   *
17059   * **Initial value**: `inline-axis` (`horizontal` in XUL)
17060   *
17061   * @deprecated
17062   */
17063  "-moz-box-orient"?: Property.BoxOrient;
17064  /**
17065   * The **`-moz-box-pack`** and **`-webkit-box-pack`** CSS properties specify how a `-moz-box` or `-webkit-box` packs its contents in the direction of its layout. The effect of this is only visible if there is extra space in the box.
17066   *
17067   * **Syntax**: `start | center | end | justify`
17068   *
17069   * **Initial value**: `start`
17070   *
17071   * @deprecated
17072   */
17073  "-moz-box-pack"?: Property.BoxPack;
17074  /**
17075   * The **`box-shadow`** CSS property adds shadow effects around an element's frame. You can set multiple effects separated by commas. A box shadow is described by X and Y offsets relative to the element, blur and spread radius, and color.
17076   *
17077   * **Syntax**: `none | <shadow>#`
17078   *
17079   * **Initial value**: `none`
17080   *
17081   * @deprecated
17082   */
17083  "-moz-box-shadow"?: Property.BoxShadow;
17084  /**
17085   * The non-standard **`-moz-float-edge`** CSS property specifies whether the height and width properties of the element include the margin, border, or padding thickness.
17086   *
17087   * **Syntax**: `border-box | content-box | margin-box | padding-box`
17088   *
17089   * **Initial value**: `content-box`
17090   *
17091   * @deprecated
17092   */
17093  "-moz-float-edge"?: Property.MozFloatEdge;
17094  /**
17095   * The **`-moz-force-broken-image-icon`** extended CSS property can be used to force the broken image icon to be shown even when a broken image has an `alt` attribute.
17096   *
17097   * **Syntax**: `<integer [0,1]>`
17098   *
17099   * **Initial value**: `0`
17100   *
17101   * @deprecated
17102   */
17103  "-moz-force-broken-image-icon"?: Property.MozForceBrokenImageIcon;
17104  /**
17105   * The **`opacity`** CSS property sets the opacity of an element. Opacity is the degree to which content behind an element is hidden, and is the opposite of transparency.
17106   *
17107   * **Syntax**: `<alpha-value>`
17108   *
17109   * **Initial value**: `1.0`
17110   *
17111   * @deprecated
17112   */
17113  "-moz-opacity"?: Property.Opacity;
17114  /**
17115   * The **`outline`** CSS shorthand property set all the outline properties in a single declaration.
17116   *
17117   * **Syntax**: `[ <'outline-color'> || <'outline-style'> || <'outline-width'> ]`
17118   *
17119   * @deprecated
17120   */
17121  "-moz-outline"?: Property.Outline<TLength>;
17122  /**
17123   * The **`outline-color`** CSS property sets the color of an element's outline.
17124   *
17125   * **Syntax**: `<color> | invert`
17126   *
17127   * **Initial value**: `invert`, for browsers supporting it, `currentColor` for the other
17128   *
17129   * @deprecated
17130   */
17131  "-moz-outline-color"?: Property.OutlineColor;
17132  /**
17133   * In Mozilla applications like Firefox, the **`-moz-outline-radius`** CSS shorthand property can be used to give an element's `outline` rounded corners.
17134   *
17135   * **Syntax**: `<outline-radius>{1,4} [ / <outline-radius>{1,4} ]?`
17136   *
17137   * @deprecated
17138   */
17139  "-moz-outline-radius"?: Property.MozOutlineRadius<TLength>;
17140  /**
17141   * In Mozilla applications, the **`-moz-outline-radius-bottomleft`** CSS property can be used to round the bottom-left corner of an element's `outline`.
17142   *
17143   * **Syntax**: `<outline-radius>`
17144   *
17145   * **Initial value**: `0`
17146   *
17147   * @deprecated
17148   */
17149  "-moz-outline-radius-bottomleft"?: Property.MozOutlineRadiusBottomleft<TLength>;
17150  /**
17151   * In Mozilla applications, the **`-moz-outline-radius-bottomright`** CSS property can be used to round the bottom-right corner of an element's `outline`.
17152   *
17153   * **Syntax**: `<outline-radius>`
17154   *
17155   * **Initial value**: `0`
17156   *
17157   * @deprecated
17158   */
17159  "-moz-outline-radius-bottomright"?: Property.MozOutlineRadiusBottomright<TLength>;
17160  /**
17161   * In Mozilla applications, the **`-moz-outline-radius-topleft`** CSS property can be used to round the top-left corner of an element's `outline`.
17162   *
17163   * **Syntax**: `<outline-radius>`
17164   *
17165   * **Initial value**: `0`
17166   *
17167   * @deprecated
17168   */
17169  "-moz-outline-radius-topleft"?: Property.MozOutlineRadiusTopleft<TLength>;
17170  /**
17171   * In Mozilla applications, the **`-moz-outline-radius-topright`** CSS property can be used to round the top-right corner of an element's `outline`.
17172   *
17173   * **Syntax**: `<outline-radius>`
17174   *
17175   * **Initial value**: `0`
17176   *
17177   * @deprecated
17178   */
17179  "-moz-outline-radius-topright"?: Property.MozOutlineRadiusTopright<TLength>;
17180  /**
17181   * The **`outline-style`** CSS property sets the style of an element's outline. An outline is a line that is drawn around an element, outside the `border`.
17182   *
17183   * **Syntax**: `auto | <'border-style'>`
17184   *
17185   * **Initial value**: `none`
17186   *
17187   * @deprecated
17188   */
17189  "-moz-outline-style"?: Property.OutlineStyle;
17190  /**
17191   * The CSS **`outline-width`** property sets the thickness of an element's outline. An outline is a line that is drawn around an element, outside the `border`.
17192   *
17193   * **Syntax**: `<line-width>`
17194   *
17195   * **Initial value**: `medium`
17196   *
17197   * @deprecated
17198   */
17199  "-moz-outline-width"?: Property.OutlineWidth<TLength>;
17200  /**
17201   * The **`text-align-last`** CSS property sets how the last line of a block or a line, right before a forced line break, is aligned.
17202   *
17203   * **Syntax**: `auto | start | end | left | right | center | justify`
17204   *
17205   * **Initial value**: `auto`
17206   *
17207   * @deprecated
17208   */
17209  "-moz-text-align-last"?: Property.TextAlignLast;
17210  /**
17211   * The **`text-decoration-color`** CSS property sets the color of decorations added to text by `text-decoration-line`.
17212   *
17213   * **Syntax**: `<color>`
17214   *
17215   * **Initial value**: `currentcolor`
17216   *
17217   * @deprecated
17218   */
17219  "-moz-text-decoration-color"?: Property.TextDecorationColor;
17220  /**
17221   * The **`text-decoration-line`** CSS property sets the kind of decoration that is used on text in an element, such as an underline or overline.
17222   *
17223   * **Syntax**: `none | [ underline || overline || line-through || blink ] | spelling-error | grammar-error`
17224   *
17225   * **Initial value**: `none`
17226   *
17227   * @deprecated
17228   */
17229  "-moz-text-decoration-line"?: Property.TextDecorationLine;
17230  /**
17231   * The **`text-decoration-style`** CSS property sets the style of the lines specified by `text-decoration-line`. The style applies to all lines that are set with `text-decoration-line`.
17232   *
17233   * **Syntax**: `solid | double | dotted | dashed | wavy`
17234   *
17235   * **Initial value**: `solid`
17236   *
17237   * @deprecated
17238   */
17239  "-moz-text-decoration-style"?: Property.TextDecorationStyle;
17240  /**
17241   * In Mozilla applications, **`-moz-user-input`** determines if an element will accept user input.
17242   *
17243   * **Syntax**: `auto | none | enabled | disabled`
17244   *
17245   * **Initial value**: `auto`
17246   *
17247   * @deprecated
17248   */
17249  "-moz-user-input"?: Property.MozUserInput;
17250  /**
17251   * The **`ime-mode`** CSS property controls the state of the input method editor (IME) for text fields. This property is obsolete.
17252   *
17253   * **Syntax**: `auto | normal | active | inactive | disabled`
17254   *
17255   * **Initial value**: `auto`
17256   *
17257   * @deprecated
17258   */
17259  "-ms-ime-mode"?: Property.ImeMode;
17260  /**
17261   * The **`-ms-scrollbar-track-color`** CSS property is a Microsoft extension that specifies the color of the track element of a scrollbar.
17262   *
17263   * **Syntax**: `<color>`
17264   *
17265   * **Initial value**: `Scrollbar`
17266   *
17267   * @deprecated
17268   */
17269  "-ms-scrollbar-track-color"?: Property.MsScrollbarTrackColor;
17270  /**
17271   * The **`animation`** shorthand CSS property applies an animation between styles. It is a shorthand for `animation-name`, `animation-duration`, `animation-timing-function`, `animation-delay`, `animation-iteration-count`, `animation-direction`, `animation-fill-mode`, and `animation-play-state`.
17272   *
17273   * **Syntax**: `<single-animation>#`
17274   *
17275   * @deprecated
17276   */
17277  "-o-animation"?: Property.Animation<TTime>;
17278  /**
17279   * The **`animation-delay`** CSS property specifies the amount of time to wait from applying the animation to an element before beginning to perform the animation. The animation can start later, immediately from its beginning, or immediately and partway through the animation.
17280   *
17281   * **Syntax**: `<time>#`
17282   *
17283   * **Initial value**: `0s`
17284   *
17285   * @deprecated
17286   */
17287  "-o-animation-delay"?: Property.AnimationDelay<TTime>;
17288  /**
17289   * The **`animation-direction`** CSS property sets whether an animation should play forward, backward, or alternate back and forth between playing the sequence forward and backward.
17290   *
17291   * **Syntax**: `<single-animation-direction>#`
17292   *
17293   * **Initial value**: `normal`
17294   *
17295   * @deprecated
17296   */
17297  "-o-animation-direction"?: Property.AnimationDirection;
17298  /**
17299   * The **`animation-duration`** CSS property sets the length of time that an animation takes to complete one cycle.
17300   *
17301   * **Syntax**: `<time>#`
17302   *
17303   * **Initial value**: `0s`
17304   *
17305   * @deprecated
17306   */
17307  "-o-animation-duration"?: Property.AnimationDuration<TTime>;
17308  /**
17309   * The **`animation-fill-mode`** CSS property sets how a CSS animation applies styles to its target before and after its execution.
17310   *
17311   * **Syntax**: `<single-animation-fill-mode>#`
17312   *
17313   * **Initial value**: `none`
17314   *
17315   * @deprecated
17316   */
17317  "-o-animation-fill-mode"?: Property.AnimationFillMode;
17318  /**
17319   * The **`animation-iteration-count`** CSS property sets the number of times an animation sequence should be played before stopping.
17320   *
17321   * **Syntax**: `<single-animation-iteration-count>#`
17322   *
17323   * **Initial value**: `1`
17324   *
17325   * @deprecated
17326   */
17327  "-o-animation-iteration-count"?: Property.AnimationIterationCount;
17328  /**
17329   * The **`animation-name`** CSS property specifies the names of one or more `@keyframes` at-rules describing the animation or animations to apply to the element.
17330   *
17331   * **Syntax**: `[ none | <keyframes-name> ]#`
17332   *
17333   * **Initial value**: `none`
17334   *
17335   * @deprecated
17336   */
17337  "-o-animation-name"?: Property.AnimationName;
17338  /**
17339   * The **`animation-play-state`** CSS property sets whether an animation is running or paused.
17340   *
17341   * **Syntax**: `<single-animation-play-state>#`
17342   *
17343   * **Initial value**: `running`
17344   *
17345   * @deprecated
17346   */
17347  "-o-animation-play-state"?: Property.AnimationPlayState;
17348  /**
17349   * The **`animation-timing-function`** CSS property sets how an animation progresses through the duration of each cycle.
17350   *
17351   * **Syntax**: `<easing-function>#`
17352   *
17353   * **Initial value**: `ease`
17354   *
17355   * @deprecated
17356   */
17357  "-o-animation-timing-function"?: Property.AnimationTimingFunction;
17358  /**
17359   * The **`background-size`** CSS property sets the size of the element's background image. The image can be left to its natural size, stretched, or constrained to fit the available space.
17360   *
17361   * **Syntax**: `<bg-size>#`
17362   *
17363   * **Initial value**: `auto auto`
17364   *
17365   * @deprecated
17366   */
17367  "-o-background-size"?: Property.BackgroundSize<TLength>;
17368  /**
17369   * The **`border-image`** CSS property draws an image around a given element. It replaces the element's regular border.
17370   *
17371   * **Syntax**: `<'border-image-source'> || <'border-image-slice'> [ / <'border-image-width'> | / <'border-image-width'>? / <'border-image-outset'> ]? || <'border-image-repeat'>`
17372   *
17373   * @deprecated
17374   */
17375  "-o-border-image"?: Property.BorderImage;
17376  /**
17377   * The **`object-fit`** CSS property sets how the content of a replaced element, such as an `<img>` or `<video>`, should be resized to fit its container.
17378   *
17379   * **Syntax**: `fill | contain | cover | none | scale-down`
17380   *
17381   * **Initial value**: `fill`
17382   *
17383   * @deprecated
17384   */
17385  "-o-object-fit"?: Property.ObjectFit;
17386  /**
17387   * The **`object-position`** CSS property specifies the alignment of the selected replaced element's contents within the element's box. Areas of the box which aren't covered by the replaced element's object will show the element's background.
17388   *
17389   * **Syntax**: `<position>`
17390   *
17391   * **Initial value**: `50% 50%`
17392   *
17393   * @deprecated
17394   */
17395  "-o-object-position"?: Property.ObjectPosition<TLength>;
17396  /**
17397   * The **`tab-size`** CSS property is used to customize the width of tab characters (U+0009).
17398   *
17399   * **Syntax**: `<integer> | <length>`
17400   *
17401   * **Initial value**: `8`
17402   *
17403   * @deprecated
17404   */
17405  "-o-tab-size"?: Property.TabSize<TLength>;
17406  /**
17407   * The **`text-overflow`** CSS property sets how hidden overflow content is signaled to users. It can be clipped, display an ellipsis ('`…`'), or display a custom string.
17408   *
17409   * **Syntax**: `[ clip | ellipsis | <string> ]{1,2}`
17410   *
17411   * **Initial value**: `clip`
17412   *
17413   * @deprecated
17414   */
17415  "-o-text-overflow"?: Property.TextOverflow;
17416  /**
17417   * The **`transform`** CSS property lets you rotate, scale, skew, or translate an element. It modifies the coordinate space of the CSS visual formatting model.
17418   *
17419   * **Syntax**: `none | <transform-list>`
17420   *
17421   * **Initial value**: `none`
17422   *
17423   * @deprecated
17424   */
17425  "-o-transform"?: Property.Transform;
17426  /**
17427   * The **`transform-origin`** CSS property sets the origin for an element's transformations.
17428   *
17429   * **Syntax**: `[ <length-percentage> | left | center | right | top | bottom ] | [ [ <length-percentage> | left | center | right ] && [ <length-percentage> | top | center | bottom ] ] <length>?`
17430   *
17431   * **Initial value**: `50% 50% 0`
17432   *
17433   * @deprecated
17434   */
17435  "-o-transform-origin"?: Property.TransformOrigin<TLength>;
17436  /**
17437   * The **`transition`** CSS property is a shorthand property for `transition-property`, `transition-duration`, `transition-timing-function`, and `transition-delay`.
17438   *
17439   * **Syntax**: `<single-transition>#`
17440   *
17441   * @deprecated
17442   */
17443  "-o-transition"?: Property.Transition<TTime>;
17444  /**
17445   * The **`transition-delay`** CSS property specifies the duration to wait before starting a property's transition effect when its value changes.
17446   *
17447   * **Syntax**: `<time>#`
17448   *
17449   * **Initial value**: `0s`
17450   *
17451   * @deprecated
17452   */
17453  "-o-transition-delay"?: Property.TransitionDelay<TTime>;
17454  /**
17455   * The **`transition-duration`** CSS property sets the length of time a transition animation should take to complete. By default, the value is `0s`, meaning that no animation will occur.
17456   *
17457   * **Syntax**: `<time>#`
17458   *
17459   * **Initial value**: `0s`
17460   *
17461   * @deprecated
17462   */
17463  "-o-transition-duration"?: Property.TransitionDuration<TTime>;
17464  /**
17465   * The **`transition-property`** CSS property sets the CSS properties to which a transition effect should be applied.
17466   *
17467   * **Syntax**: `none | <single-transition-property>#`
17468   *
17469   * **Initial value**: all
17470   *
17471   * @deprecated
17472   */
17473  "-o-transition-property"?: Property.TransitionProperty;
17474  /**
17475   * The **`transition-timing-function`** CSS property sets how intermediate values are calculated for CSS properties being affected by a transition effect.
17476   *
17477   * **Syntax**: `<easing-function>#`
17478   *
17479   * **Initial value**: `ease`
17480   *
17481   * @deprecated
17482   */
17483  "-o-transition-timing-function"?: Property.TransitionTimingFunction;
17484  /**
17485   * The **`box-align`** CSS property specifies how an element aligns its contents across its layout in a perpendicular direction. The effect of the property is only visible if there is extra space in the box.
17486   *
17487   * **Syntax**: `start | center | end | baseline | stretch`
17488   *
17489   * **Initial value**: `stretch`
17490   *
17491   * @deprecated
17492   */
17493  "-webkit-box-align"?: Property.BoxAlign;
17494  /**
17495   * The **`box-direction`** CSS property specifies whether a box lays out its contents normally (from the top or left edge), or in reverse (from the bottom or right edge).
17496   *
17497   * **Syntax**: `normal | reverse | inherit`
17498   *
17499   * **Initial value**: `normal`
17500   *
17501   * @deprecated
17502   */
17503  "-webkit-box-direction"?: Property.BoxDirection;
17504  /**
17505   * The **`-moz-box-flex`** and **`-webkit-box-flex`** CSS properties specify how a `-moz-box` or `-webkit-box` grows to fill the box that contains it, in the direction of the containing box's layout.
17506   *
17507   * **Syntax**: `<number>`
17508   *
17509   * **Initial value**: `0`
17510   *
17511   * @deprecated
17512   */
17513  "-webkit-box-flex"?: Property.BoxFlex;
17514  /**
17515   * The **`box-flex-group`** CSS property assigns the flexbox's child elements to a flex group.
17516   *
17517   * **Syntax**: `<integer>`
17518   *
17519   * **Initial value**: `1`
17520   *
17521   * @deprecated
17522   */
17523  "-webkit-box-flex-group"?: Property.BoxFlexGroup;
17524  /**
17525   * The **`box-lines`** CSS property determines whether the box may have a single or multiple lines (rows for horizontally oriented boxes, columns for vertically oriented boxes).
17526   *
17527   * **Syntax**: `single | multiple`
17528   *
17529   * **Initial value**: `single`
17530   *
17531   * @deprecated
17532   */
17533  "-webkit-box-lines"?: Property.BoxLines;
17534  /**
17535   * The **`box-ordinal-group`** CSS property assigns the flexbox's child elements to an ordinal group.
17536   *
17537   * **Syntax**: `<integer>`
17538   *
17539   * **Initial value**: `1`
17540   *
17541   * @deprecated
17542   */
17543  "-webkit-box-ordinal-group"?: Property.BoxOrdinalGroup;
17544  /**
17545   * This is a property of the original CSS Flexible Box Layout Module draft, and has been replaced by a newer standard. See flexbox for information about the current standard.
17546   *
17547   * **Syntax**: `horizontal | vertical | inline-axis | block-axis | inherit`
17548   *
17549   * **Initial value**: `inline-axis` (`horizontal` in XUL)
17550   *
17551   * @deprecated
17552   */
17553  "-webkit-box-orient"?: Property.BoxOrient;
17554  /**
17555   * The **`-moz-box-pack`** and **`-webkit-box-pack`** CSS properties specify how a `-moz-box` or `-webkit-box` packs its contents in the direction of its layout. The effect of this is only visible if there is extra space in the box.
17556   *
17557   * **Syntax**: `start | center | end | justify`
17558   *
17559   * **Initial value**: `start`
17560   *
17561   * @deprecated
17562   */
17563  "-webkit-box-pack"?: Property.BoxPack;
17564  /**
17565   * The **`scroll-snap-points-x`** CSS property defines the horizontal positioning of snap points within the content of the scroll container they are applied to.
17566   *
17567   * **Syntax**: `none | repeat( <length-percentage> )`
17568   *
17569   * **Initial value**: `none`
17570   *
17571   * @deprecated
17572   */
17573  "-webkit-scroll-snap-points-x"?: Property.ScrollSnapPointsX;
17574  /**
17575   * The **`scroll-snap-points-y`** CSS property defines the vertical positioning of snap points within the content of the scroll container they are applied to.
17576   *
17577   * **Syntax**: `none | repeat( <length-percentage> )`
17578   *
17579   * **Initial value**: `none`
17580   *
17581   * @deprecated
17582   */
17583  "-webkit-scroll-snap-points-y"?: Property.ScrollSnapPointsY;
17584}
17585
17586export interface SvgPropertiesHyphen<TLength = (string & {}) | 0, TTime = string & {}> {
17587  "alignment-baseline"?: Property.AlignmentBaseline;
17588  "baseline-shift"?: Property.BaselineShift<TLength>;
17589  clip?: Property.Clip;
17590  "clip-path"?: Property.ClipPath;
17591  "clip-rule"?: Property.ClipRule;
17592  color?: Property.Color;
17593  "color-interpolation"?: Property.ColorInterpolation;
17594  "color-rendering"?: Property.ColorRendering;
17595  cursor?: Property.Cursor;
17596  direction?: Property.Direction;
17597  display?: Property.Display;
17598  "dominant-baseline"?: Property.DominantBaseline;
17599  fill?: Property.Fill;
17600  "fill-opacity"?: Property.FillOpacity;
17601  "fill-rule"?: Property.FillRule;
17602  filter?: Property.Filter;
17603  "flood-color"?: Property.FloodColor;
17604  "flood-opacity"?: Property.FloodOpacity;
17605  font?: Property.Font;
17606  "font-family"?: Property.FontFamily;
17607  "font-size"?: Property.FontSize<TLength>;
17608  "font-size-adjust"?: Property.FontSizeAdjust;
17609  "font-stretch"?: Property.FontStretch;
17610  "font-style"?: Property.FontStyle;
17611  "font-variant"?: Property.FontVariant;
17612  "font-weight"?: Property.FontWeight;
17613  "glyph-orientation-vertical"?: Property.GlyphOrientationVertical;
17614  "image-rendering"?: Property.ImageRendering;
17615  "letter-spacing"?: Property.LetterSpacing<TLength>;
17616  "lighting-color"?: Property.LightingColor;
17617  "line-height"?: Property.LineHeight<TLength>;
17618  marker?: Property.Marker;
17619  "marker-end"?: Property.MarkerEnd;
17620  "marker-mid"?: Property.MarkerMid;
17621  "marker-start"?: Property.MarkerStart;
17622  mask?: Property.Mask<TLength>;
17623  opacity?: Property.Opacity;
17624  overflow?: Property.Overflow;
17625  "paint-order"?: Property.PaintOrder;
17626  "pointer-events"?: Property.PointerEvents;
17627  "shape-rendering"?: Property.ShapeRendering;
17628  "stop-color"?: Property.StopColor;
17629  "stop-opacity"?: Property.StopOpacity;
17630  stroke?: Property.Stroke;
17631  "stroke-dasharray"?: Property.StrokeDasharray<TLength>;
17632  "stroke-dashoffset"?: Property.StrokeDashoffset<TLength>;
17633  "stroke-linecap"?: Property.StrokeLinecap;
17634  "stroke-linejoin"?: Property.StrokeLinejoin;
17635  "stroke-miterlimit"?: Property.StrokeMiterlimit;
17636  "stroke-opacity"?: Property.StrokeOpacity;
17637  "stroke-width"?: Property.StrokeWidth<TLength>;
17638  "text-anchor"?: Property.TextAnchor;
17639  "text-decoration"?: Property.TextDecoration<TLength>;
17640  "text-rendering"?: Property.TextRendering;
17641  "unicode-bidi"?: Property.UnicodeBidi;
17642  "vector-effect"?: Property.VectorEffect;
17643  visibility?: Property.Visibility;
17644  "white-space"?: Property.WhiteSpace;
17645  "word-spacing"?: Property.WordSpacing<TLength>;
17646  "writing-mode"?: Property.WritingMode;
17647}
17648
17649export interface PropertiesHyphen<TLength = (string & {}) | 0, TTime = string & {}>
17650  extends StandardPropertiesHyphen<TLength, TTime>,
17651    VendorPropertiesHyphen<TLength, TTime>,
17652    ObsoletePropertiesHyphen<TLength, TTime>,
17653    SvgPropertiesHyphen<TLength, TTime> {}
17654
17655export type StandardLonghandPropertiesFallback<TLength = (string & {}) | 0, TTime = string & {}> = {
17656  [P in keyof StandardLonghandProperties<TLength, TTime>]: StandardLonghandProperties<TLength, TTime>[P] | StandardLonghandProperties<TLength, TTime>[P][];
17657};
17658
17659export type StandardShorthandPropertiesFallback<TLength = (string & {}) | 0, TTime = string & {}> = {
17660  [P in keyof StandardShorthandProperties<TLength, TTime>]: StandardShorthandProperties<TLength, TTime>[P] | StandardShorthandProperties<TLength, TTime>[P][];
17661};
17662
17663export interface StandardPropertiesFallback<TLength = (string & {}) | 0, TTime = string & {}>
17664  extends StandardLonghandPropertiesFallback<TLength, TTime>,
17665    StandardShorthandPropertiesFallback<TLength, TTime> {}
17666
17667export type VendorLonghandPropertiesFallback<TLength = (string & {}) | 0, TTime = string & {}> = {
17668  [P in keyof VendorLonghandProperties<TLength, TTime>]: VendorLonghandProperties<TLength, TTime>[P] | VendorLonghandProperties<TLength, TTime>[P][];
17669};
17670
17671export type VendorShorthandPropertiesFallback<TLength = (string & {}) | 0, TTime = string & {}> = {
17672  [P in keyof VendorShorthandProperties<TLength, TTime>]: VendorShorthandProperties<TLength, TTime>[P] | VendorShorthandProperties<TLength, TTime>[P][];
17673};
17674
17675export interface VendorPropertiesFallback<TLength = (string & {}) | 0, TTime = string & {}>
17676  extends VendorLonghandPropertiesFallback<TLength, TTime>,
17677    VendorShorthandPropertiesFallback<TLength, TTime> {}
17678
17679export type ObsoletePropertiesFallback<TLength = (string & {}) | 0, TTime = string & {}> = {
17680  [P in keyof ObsoleteProperties<TLength, TTime>]: ObsoleteProperties<TLength, TTime>[P] | ObsoleteProperties<TLength, TTime>[P][];
17681};
17682
17683export type SvgPropertiesFallback<TLength = (string & {}) | 0, TTime = string & {}> = {
17684  [P in keyof SvgProperties<TLength, TTime>]: SvgProperties<TLength, TTime>[P] | SvgProperties<TLength, TTime>[P][];
17685};
17686
17687export interface PropertiesFallback<TLength = (string & {}) | 0, TTime = string & {}>
17688  extends StandardPropertiesFallback<TLength, TTime>,
17689    VendorPropertiesFallback<TLength, TTime>,
17690    ObsoletePropertiesFallback<TLength, TTime>,
17691    SvgPropertiesFallback<TLength, TTime> {}
17692
17693export type StandardLonghandPropertiesHyphenFallback<TLength = (string & {}) | 0, TTime = string & {}> = {
17694  [P in keyof StandardLonghandPropertiesHyphen<TLength, TTime>]: StandardLonghandPropertiesHyphen<TLength, TTime>[P] | StandardLonghandPropertiesHyphen<TLength, TTime>[P][];
17695};
17696
17697export type StandardShorthandPropertiesHyphenFallback<TLength = (string & {}) | 0, TTime = string & {}> = {
17698  [P in keyof StandardShorthandPropertiesHyphen<TLength, TTime>]: StandardShorthandPropertiesHyphen<TLength, TTime>[P] | StandardShorthandPropertiesHyphen<TLength, TTime>[P][];
17699};
17700
17701export interface StandardPropertiesHyphenFallback<TLength = (string & {}) | 0, TTime = string & {}>
17702  extends StandardLonghandPropertiesHyphenFallback<TLength, TTime>,
17703    StandardShorthandPropertiesHyphenFallback<TLength, TTime> {}
17704
17705export type VendorLonghandPropertiesHyphenFallback<TLength = (string & {}) | 0, TTime = string & {}> = {
17706  [P in keyof VendorLonghandPropertiesHyphen<TLength, TTime>]: VendorLonghandPropertiesHyphen<TLength, TTime>[P] | VendorLonghandPropertiesHyphen<TLength, TTime>[P][];
17707};
17708
17709export type VendorShorthandPropertiesHyphenFallback<TLength = (string & {}) | 0, TTime = string & {}> = {
17710  [P in keyof VendorShorthandPropertiesHyphen<TLength, TTime>]: VendorShorthandPropertiesHyphen<TLength, TTime>[P] | VendorShorthandPropertiesHyphen<TLength, TTime>[P][];
17711};
17712
17713export interface VendorPropertiesHyphenFallback<TLength = (string & {}) | 0, TTime = string & {}>
17714  extends VendorLonghandPropertiesHyphenFallback<TLength, TTime>,
17715    VendorShorthandPropertiesHyphenFallback<TLength, TTime> {}
17716
17717export type ObsoletePropertiesHyphenFallback<TLength = (string & {}) | 0, TTime = string & {}> = {
17718  [P in keyof ObsoletePropertiesHyphen<TLength, TTime>]: ObsoletePropertiesHyphen<TLength, TTime>[P] | ObsoletePropertiesHyphen<TLength, TTime>[P][];
17719};
17720
17721export type SvgPropertiesHyphenFallback<TLength = (string & {}) | 0, TTime = string & {}> = {
17722  [P in keyof SvgPropertiesHyphen<TLength, TTime>]: SvgPropertiesHyphen<TLength, TTime>[P] | SvgPropertiesHyphen<TLength, TTime>[P][];
17723};
17724
17725export interface PropertiesHyphenFallback<TLength = (string & {}) | 0, TTime = string & {}>
17726  extends StandardPropertiesHyphenFallback<TLength, TTime>,
17727    VendorPropertiesHyphenFallback<TLength, TTime>,
17728    ObsoletePropertiesHyphenFallback<TLength, TTime>,
17729    SvgPropertiesHyphenFallback<TLength, TTime> {}
17730
17731export type AtRules =
17732  | "@charset"
17733  | "@counter-style"
17734  | "@document"
17735  | "@font-face"
17736  | "@font-feature-values"
17737  | "@import"
17738  | "@keyframes"
17739  | "@media"
17740  | "@namespace"
17741  | "@page"
17742  | "@property"
17743  | "@supports"
17744  | "@viewport";
17745
17746export type AdvancedPseudos =
17747  | ":-moz-any()"
17748  | ":-moz-dir"
17749  | ":-webkit-any()"
17750  | "::cue"
17751  | "::cue-region"
17752  | "::part"
17753  | "::slotted"
17754  | ":dir"
17755  | ":has"
17756  | ":host"
17757  | ":host-context"
17758  | ":is"
17759  | ":lang"
17760  | ":matches()"
17761  | ":not"
17762  | ":nth-child"
17763  | ":nth-last-child"
17764  | ":nth-last-of-type"
17765  | ":nth-of-type"
17766  | ":where";
17767
17768export type SimplePseudos =
17769  | ":-khtml-any-link"
17770  | ":-moz-any-link"
17771  | ":-moz-focusring"
17772  | ":-moz-full-screen"
17773  | ":-moz-placeholder"
17774  | ":-moz-read-only"
17775  | ":-moz-read-write"
17776  | ":-moz-ui-invalid"
17777  | ":-moz-ui-valid"
17778  | ":-ms-fullscreen"
17779  | ":-ms-input-placeholder"
17780  | ":-webkit-any-link"
17781  | ":-webkit-full-screen"
17782  | "::-moz-placeholder"
17783  | "::-moz-progress-bar"
17784  | "::-moz-range-progress"
17785  | "::-moz-range-thumb"
17786  | "::-moz-range-track"
17787  | "::-moz-selection"
17788  | "::-ms-backdrop"
17789  | "::-ms-browse"
17790  | "::-ms-check"
17791  | "::-ms-clear"
17792  | "::-ms-fill"
17793  | "::-ms-fill-lower"
17794  | "::-ms-fill-upper"
17795  | "::-ms-input-placeholder"
17796  | "::-ms-reveal"
17797  | "::-ms-thumb"
17798  | "::-ms-ticks-after"
17799  | "::-ms-ticks-before"
17800  | "::-ms-tooltip"
17801  | "::-ms-track"
17802  | "::-ms-value"
17803  | "::-webkit-backdrop"
17804  | "::-webkit-input-placeholder"
17805  | "::-webkit-progress-bar"
17806  | "::-webkit-progress-inner-value"
17807  | "::-webkit-progress-value"
17808  | "::-webkit-slider-runnable-track"
17809  | "::-webkit-slider-thumb"
17810  | "::after"
17811  | "::backdrop"
17812  | "::before"
17813  | "::cue"
17814  | "::cue-region"
17815  | "::first-letter"
17816  | "::first-line"
17817  | "::grammar-error"
17818  | "::marker"
17819  | "::placeholder"
17820  | "::selection"
17821  | "::spelling-error"
17822  | "::target-text"
17823  | ":active"
17824  | ":after"
17825  | ":any-link"
17826  | ":before"
17827  | ":blank"
17828  | ":checked"
17829  | ":current"
17830  | ":default"
17831  | ":defined"
17832  | ":disabled"
17833  | ":empty"
17834  | ":enabled"
17835  | ":first"
17836  | ":first-child"
17837  | ":first-letter"
17838  | ":first-line"
17839  | ":first-of-type"
17840  | ":focus"
17841  | ":focus-visible"
17842  | ":focus-within"
17843  | ":fullscreen"
17844  | ":future"
17845  | ":hover"
17846  | ":in-range"
17847  | ":indeterminate"
17848  | ":invalid"
17849  | ":last-child"
17850  | ":last-of-type"
17851  | ":left"
17852  | ":link"
17853  | ":local-link"
17854  | ":nth-col"
17855  | ":nth-last-col"
17856  | ":only-child"
17857  | ":only-of-type"
17858  | ":optional"
17859  | ":out-of-range"
17860  | ":past"
17861  | ":paused"
17862  | ":picture-in-picture"
17863  | ":placeholder-shown"
17864  | ":read-only"
17865  | ":read-write"
17866  | ":required"
17867  | ":right"
17868  | ":root"
17869  | ":scope"
17870  | ":target"
17871  | ":target-within"
17872  | ":user-invalid"
17873  | ":user-valid"
17874  | ":valid"
17875  | ":visited";
17876
17877export type Pseudos = AdvancedPseudos | SimplePseudos;
17878
17879export type HtmlAttributes =
17880  | "[abbr]"
17881  | "[accept-charset]"
17882  | "[accept]"
17883  | "[accesskey]"
17884  | "[action]"
17885  | "[align]"
17886  | "[alink]"
17887  | "[allow]"
17888  | "[allowfullscreen]"
17889  | "[allowpaymentrequest]"
17890  | "[alt]"
17891  | "[archive]"
17892  | "[async]"
17893  | "[autobuffer]"
17894  | "[autocapitalize]"
17895  | "[autocomplete]"
17896  | "[autofocus]"
17897  | "[autoplay]"
17898  | "[axis]"
17899  | "[background]"
17900  | "[behavior]"
17901  | "[bgcolor]"
17902  | "[border]"
17903  | "[bottommargin]"
17904  | "[buffered]"
17905  | "[cellpadding]"
17906  | "[cellspacing]"
17907  | "[char]"
17908  | "[charoff]"
17909  | "[charset]"
17910  | "[checked]"
17911  | "[cite]"
17912  | "[class]"
17913  | "[classid]"
17914  | "[clear]"
17915  | "[code]"
17916  | "[codebase]"
17917  | "[codetype]"
17918  | "[color]"
17919  | "[cols]"
17920  | "[colspan]"
17921  | "[command]"
17922  | "[compact]"
17923  | "[content]"
17924  | "[contenteditable]"
17925  | "[contextmenu]"
17926  | "[controls]"
17927  | "[coords]"
17928  | "[crossorigin]"
17929  | "[data]"
17930  | "[datafld]"
17931  | "[datasrc]"
17932  | "[datetime]"
17933  | "[declare]"
17934  | "[decoding]"
17935  | "[default]"
17936  | "[defer]"
17937  | "[dir]"
17938  | "[direction]"
17939  | "[dirname]"
17940  | "[disabled]"
17941  | "[download]"
17942  | "[draggable]"
17943  | "[enctype]"
17944  | "[enterkeyhint]"
17945  | "[exportparts]"
17946  | "[face]"
17947  | "[for]"
17948  | "[form]"
17949  | "[formaction]"
17950  | "[formenctype]"
17951  | "[formmethod]"
17952  | "[formnovalidate]"
17953  | "[formtarget]"
17954  | "[frame]"
17955  | "[frameborder]"
17956  | "[headers]"
17957  | "[height]"
17958  | "[hidden]"
17959  | "[high]"
17960  | "[href]"
17961  | "[hreflang]"
17962  | "[hspace]"
17963  | "[http-equiv]"
17964  | "[icon]"
17965  | "[id]"
17966  | "[imagesizes]"
17967  | "[imagesrcset]"
17968  | "[inputmode]"
17969  | "[integrity]"
17970  | "[intrinsicsize]"
17971  | "[is]"
17972  | "[ismap]"
17973  | "[itemid]"
17974  | "[itemprop]"
17975  | "[itemref]"
17976  | "[itemscope]"
17977  | "[itemtype]"
17978  | "[kind]"
17979  | "[label]"
17980  | "[lang]"
17981  | "[language]"
17982  | "[leftmargin]"
17983  | "[link]"
17984  | "[loading]"
17985  | "[longdesc]"
17986  | "[loop]"
17987  | "[low]"
17988  | "[manifest]"
17989  | "[marginheight]"
17990  | "[marginwidth]"
17991  | "[max]"
17992  | "[maxlength]"
17993  | "[mayscript]"
17994  | "[media]"
17995  | "[method]"
17996  | "[methods]"
17997  | "[min]"
17998  | "[minlength]"
17999  | "[moz-opaque]"
18000  | "[mozallowfullscreen]"
18001  | "[mozcurrentsampleoffset]"
18002  | "[msallowfullscreen]"
18003  | "[multiple]"
18004  | "[muted]"
18005  | "[name]"
18006  | "[nohref]"
18007  | "[nomodule]"
18008  | "[nonce]"
18009  | "[noresize]"
18010  | "[noshade]"
18011  | "[novalidate]"
18012  | "[nowrap]"
18013  | "[object]"
18014  | "[onafterprint]"
18015  | "[onbeforeprint]"
18016  | "[onbeforeunload]"
18017  | "[onblur]"
18018  | "[onerror]"
18019  | "[onfocus]"
18020  | "[onhashchange]"
18021  | "[onlanguagechange]"
18022  | "[onload]"
18023  | "[onmessage]"
18024  | "[onoffline]"
18025  | "[ononline]"
18026  | "[onpopstate]"
18027  | "[onredo]"
18028  | "[onresize]"
18029  | "[onstorage]"
18030  | "[onundo]"
18031  | "[onunload]"
18032  | "[open]"
18033  | "[optimum]"
18034  | "[part]"
18035  | "[ping]"
18036  | "[placeholder]"
18037  | "[played]"
18038  | "[poster]"
18039  | "[prefetch]"
18040  | "[preload]"
18041  | "[profile]"
18042  | "[prompt]"
18043  | "[radiogroup]"
18044  | "[readonly]"
18045  | "[referrerPolicy]"
18046  | "[referrerpolicy]"
18047  | "[rel]"
18048  | "[required]"
18049  | "[rev]"
18050  | "[reversed]"
18051  | "[rightmargin]"
18052  | "[rows]"
18053  | "[rowspan]"
18054  | "[rules]"
18055  | "[sandbox-allow-downloads]"
18056  | "[sandbox-allow-modals]"
18057  | "[sandbox-allow-popups-to-escape-sandbox]"
18058  | "[sandbox-allow-popups]"
18059  | "[sandbox-allow-presentation]"
18060  | "[sandbox-allow-same-origin]"
18061  | "[sandbox-allow-storage-access-by-user-activation]"
18062  | "[sandbox-allow-top-navigation-by-user-activation]"
18063  | "[sandbox]"
18064  | "[scope]"
18065  | "[scoped]"
18066  | "[scrollamount]"
18067  | "[scrolldelay]"
18068  | "[scrolling]"
18069  | "[selected]"
18070  | "[shape]"
18071  | "[size]"
18072  | "[sizes]"
18073  | "[slot]"
18074  | "[span]"
18075  | "[spellcheck]"
18076  | "[src]"
18077  | "[srcdoc]"
18078  | "[srclang]"
18079  | "[srcset]"
18080  | "[standby]"
18081  | "[start]"
18082  | "[style]"
18083  | "[summary]"
18084  | "[tabindex]"
18085  | "[target]"
18086  | "[text]"
18087  | "[title]"
18088  | "[topmargin]"
18089  | "[translate]"
18090  | "[truespeed]"
18091  | "[type]"
18092  | "[usemap]"
18093  | "[valign]"
18094  | "[value]"
18095  | "[valuetype]"
18096  | "[version]"
18097  | "[vlink]"
18098  | "[volume]"
18099  | "[vspace]"
18100  | "[webkitallowfullscreen]"
18101  | "[width]"
18102  | "[wrap]"
18103  | "[xmlns]";
18104
18105export type SvgAttributes =
18106  | "[accent-height]"
18107  | "[alignment-baseline]"
18108  | "[allowReorder]"
18109  | "[alphabetic]"
18110  | "[animation]"
18111  | "[arabic-form]"
18112  | "[ascent]"
18113  | "[attributeName]"
18114  | "[attributeType]"
18115  | "[azimuth]"
18116  | "[baseFrequency]"
18117  | "[baseProfile]"
18118  | "[baseline-shift]"
18119  | "[bbox]"
18120  | "[bias]"
18121  | "[by]"
18122  | "[calcMode]"
18123  | "[cap-height]"
18124  | "[class]"
18125  | "[clip-path]"
18126  | "[clip-rule]"
18127  | "[clipPathUnits]"
18128  | "[clip]"
18129  | "[color-interpolation-filters]"
18130  | "[color-interpolation]"
18131  | "[color-profile]"
18132  | "[color-rendering]"
18133  | "[color]"
18134  | "[contentScriptType]"
18135  | "[contentStyleType]"
18136  | "[cursor]"
18137  | "[cx]"
18138  | "[cy]"
18139  | "[d]"
18140  | "[descent]"
18141  | "[diffuseConstant]"
18142  | "[direction]"
18143  | "[display]"
18144  | "[divisor]"
18145  | "[document]"
18146  | "[dominant-baseline]"
18147  | "[download]"
18148  | "[dur]"
18149  | "[dx]"
18150  | "[dy]"
18151  | "[edgeMode]"
18152  | "[elevation]"
18153  | "[enable-background]"
18154  | "[externalResourcesRequired]"
18155  | "[fill-opacity]"
18156  | "[fill-rule]"
18157  | "[fill]"
18158  | "[filterRes]"
18159  | "[filterUnits]"
18160  | "[filter]"
18161  | "[flood-color]"
18162  | "[flood-opacity]"
18163  | "[font-family]"
18164  | "[font-size-adjust]"
18165  | "[font-size]"
18166  | "[font-stretch]"
18167  | "[font-style]"
18168  | "[font-variant]"
18169  | "[font-weight]"
18170  | "[format]"
18171  | "[fr]"
18172  | "[from]"
18173  | "[fx]"
18174  | "[fy]"
18175  | "[g1]"
18176  | "[g2]"
18177  | "[global]"
18178  | "[glyph-name]"
18179  | "[glyph-orientation-horizontal]"
18180  | "[glyph-orientation-vertical]"
18181  | "[glyphRef]"
18182  | "[gradientTransform]"
18183  | "[gradientUnits]"
18184  | "[graphical]"
18185  | "[hanging]"
18186  | "[hatchContentUnits]"
18187  | "[hatchUnits]"
18188  | "[height]"
18189  | "[horiz-adv-x]"
18190  | "[horiz-origin-x]"
18191  | "[horiz-origin-y]"
18192  | "[href]"
18193  | "[hreflang]"
18194  | "[id]"
18195  | "[ideographic]"
18196  | "[image-rendering]"
18197  | "[in2]"
18198  | "[in]"
18199  | "[k1]"
18200  | "[k2]"
18201  | "[k3]"
18202  | "[k4]"
18203  | "[k]"
18204  | "[kernelMatrix]"
18205  | "[kernelUnitLength]"
18206  | "[kerning]"
18207  | "[keyPoints]"
18208  | "[lang]"
18209  | "[lengthAdjust]"
18210  | "[letter-spacing]"
18211  | "[lighting-color]"
18212  | "[limitingConeAngle]"
18213  | "[local]"
18214  | "[marker-end]"
18215  | "[marker-mid]"
18216  | "[marker-start]"
18217  | "[markerHeight]"
18218  | "[markerUnits]"
18219  | "[markerWidth]"
18220  | "[maskContentUnits]"
18221  | "[maskUnits]"
18222  | "[mask]"
18223  | "[mathematical]"
18224  | "[media]"
18225  | "[mode]"
18226  | "[name]"
18227  | "[numOctaves]"
18228  | "[offset]"
18229  | "[opacity]"
18230  | "[operator]"
18231  | "[order]"
18232  | "[orient]"
18233  | "[orientation]"
18234  | "[origin]"
18235  | "[overflow]"
18236  | "[overline-position]"
18237  | "[overline-thickness]"
18238  | "[paint-order]"
18239  | "[panose-1]"
18240  | "[path]"
18241  | "[patternContentUnits]"
18242  | "[patternTransform]"
18243  | "[patternUnits]"
18244  | "[ping]"
18245  | "[pitch]"
18246  | "[pointer-events]"
18247  | "[pointsAtX]"
18248  | "[pointsAtY]"
18249  | "[pointsAtZ]"
18250  | "[points]"
18251  | "[preserveAlpha]"
18252  | "[preserveAspectRatio]"
18253  | "[primitiveUnits]"
18254  | "[r]"
18255  | "[radius]"
18256  | "[refX]"
18257  | "[refY]"
18258  | "[referrerPolicy]"
18259  | "[rel]"
18260  | "[rendering-intent]"
18261  | "[repeatCount]"
18262  | "[requiredExtensions]"
18263  | "[requiredFeatures]"
18264  | "[rotate]"
18265  | "[rx]"
18266  | "[ry]"
18267  | "[scale]"
18268  | "[seed]"
18269  | "[shape-rendering]"
18270  | "[side]"
18271  | "[slope]"
18272  | "[solid-color]"
18273  | "[solid-opacity]"
18274  | "[spacing]"
18275  | "[specularConstant]"
18276  | "[specularExponent]"
18277  | "[spreadMethod]"
18278  | "[startOffset]"
18279  | "[stdDeviation]"
18280  | "[stemh]"
18281  | "[stemv]"
18282  | "[stitchTiles]"
18283  | "[stop-color]"
18284  | "[stop-opacity]"
18285  | "[strikethrough-position]"
18286  | "[strikethrough-thickness]"
18287  | "[string]"
18288  | "[stroke-dasharray]"
18289  | "[stroke-dashoffset]"
18290  | "[stroke-linecap]"
18291  | "[stroke-linejoin]"
18292  | "[stroke-miterlimit]"
18293  | "[stroke-opacity]"
18294  | "[stroke-width]"
18295  | "[stroke]"
18296  | "[style]"
18297  | "[surfaceScale]"
18298  | "[systemLanguage]"
18299  | "[tabindex]"
18300  | "[targetX]"
18301  | "[targetY]"
18302  | "[target]"
18303  | "[text-anchor]"
18304  | "[text-decoration]"
18305  | "[text-overflow]"
18306  | "[text-rendering]"
18307  | "[textLength]"
18308  | "[title]"
18309  | "[to]"
18310  | "[transform-origin]"
18311  | "[transform]"
18312  | "[type]"
18313  | "[u1]"
18314  | "[u2]"
18315  | "[underline-position]"
18316  | "[underline-thickness]"
18317  | "[unicode-bidi]"
18318  | "[unicode-range]"
18319  | "[unicode]"
18320  | "[units-per-em]"
18321  | "[v-alphabetic]"
18322  | "[v-hanging]"
18323  | "[v-ideographic]"
18324  | "[v-mathematical]"
18325  | "[values]"
18326  | "[vector-effect]"
18327  | "[version]"
18328  | "[vert-adv-y]"
18329  | "[vert-origin-x]"
18330  | "[vert-origin-y]"
18331  | "[viewBox]"
18332  | "[viewTarget]"
18333  | "[visibility]"
18334  | "[white-space]"
18335  | "[width]"
18336  | "[widths]"
18337  | "[word-spacing]"
18338  | "[writing-mode]"
18339  | "[x-height]"
18340  | "[x1]"
18341  | "[x2]"
18342  | "[xChannelSelector]"
18343  | "[x]"
18344  | "[y1]"
18345  | "[y2]"
18346  | "[yChannelSelector]"
18347  | "[y]"
18348  | "[z]"
18349  | "[zoomAndPan]";
18350
18351export type Globals = "-moz-initial" | "inherit" | "initial" | "revert" | "unset";
18352
18353export namespace Property {
18354  export type AlignContent = Globals | DataType.ContentDistribution | DataType.ContentPosition | "baseline" | "normal" | (string & {});
18355
18356  export type AlignItems = Globals | DataType.SelfPosition | "baseline" | "normal" | "stretch" | (string & {});
18357
18358  export type AlignSelf = Globals | DataType.SelfPosition | "auto" | "baseline" | "normal" | "stretch" | (string & {});
18359
18360  export type AlignTracks = Globals | DataType.ContentDistribution | DataType.ContentPosition | "baseline" | "normal" | (string & {});
18361
18362  export type All = Globals;
18363
18364  export type Animation<TTime = string & {}> = Globals | DataType.SingleAnimation<TTime> | (string & {});
18365
18366  export type AnimationDelay<TTime = string & {}> = Globals | TTime | (string & {});
18367
18368  export type AnimationDirection = Globals | DataType.SingleAnimationDirection | (string & {});
18369
18370  export type AnimationDuration<TTime = string & {}> = Globals | TTime | (string & {});
18371
18372  export type AnimationFillMode = Globals | DataType.SingleAnimationFillMode | (string & {});
18373
18374  export type AnimationIterationCount = Globals | "infinite" | (string & {}) | (number & {});
18375
18376  export type AnimationName = Globals | "none" | (string & {});
18377
18378  export type AnimationPlayState = Globals | "paused" | "running" | (string & {});
18379
18380  export type AnimationTimingFunction = Globals | DataType.EasingFunction | (string & {});
18381
18382  export type Appearance = Globals | DataType.CompatAuto | "auto" | "menulist-button" | "none" | "textfield";
18383
18384  export type AspectRatio = Globals | "auto" | (string & {});
18385
18386  export type Azimuth =
18387    | Globals
18388    | "behind"
18389    | "center"
18390    | "center-left"
18391    | "center-right"
18392    | "far-left"
18393    | "far-right"
18394    | "left"
18395    | "left-side"
18396    | "leftwards"
18397    | "right"
18398    | "right-side"
18399    | "rightwards"
18400    | (string & {});
18401
18402  export type BackdropFilter = Globals | "none" | (string & {});
18403
18404  export type BackfaceVisibility = Globals | "hidden" | "visible";
18405
18406  export type Background<TLength = (string & {}) | 0> = Globals | DataType.FinalBgLayer<TLength> | (string & {});
18407
18408  export type BackgroundAttachment = Globals | DataType.Attachment | (string & {});
18409
18410  export type BackgroundBlendMode = Globals | DataType.BlendMode | (string & {});
18411
18412  export type BackgroundClip = Globals | DataType.Box | (string & {});
18413
18414  export type BackgroundColor = Globals | DataType.Color;
18415
18416  export type BackgroundImage = Globals | "none" | (string & {});
18417
18418  export type BackgroundOrigin = Globals | DataType.Box | (string & {});
18419
18420  export type BackgroundPosition<TLength = (string & {}) | 0> = Globals | DataType.BgPosition<TLength> | (string & {});
18421
18422  export type BackgroundPositionX<TLength = (string & {}) | 0> = Globals | TLength | "center" | "left" | "right" | "x-end" | "x-start" | (string & {});
18423
18424  export type BackgroundPositionY<TLength = (string & {}) | 0> = Globals | TLength | "bottom" | "center" | "top" | "y-end" | "y-start" | (string & {});
18425
18426  export type BackgroundRepeat = Globals | DataType.RepeatStyle | (string & {});
18427
18428  export type BackgroundSize<TLength = (string & {}) | 0> = Globals | DataType.BgSize<TLength> | (string & {});
18429
18430  export type BlockOverflow = Globals | "clip" | "ellipsis" | (string & {});
18431
18432  export type BlockSize<TLength = (string & {}) | 0> =
18433    | Globals
18434    | TLength
18435    | "-moz-fit-content"
18436    | "-moz-max-content"
18437    | "-moz-min-content"
18438    | "-webkit-fill-available"
18439    | "auto"
18440    | "fit-content"
18441    | "max-content"
18442    | "min-content"
18443    | (string & {});
18444
18445  export type Border<TLength = (string & {}) | 0> = Globals | DataType.LineWidth<TLength> | DataType.LineStyle | DataType.Color | (string & {});
18446
18447  export type BorderBlock<TLength = (string & {}) | 0> = Globals | DataType.LineWidth<TLength> | DataType.LineStyle | DataType.Color | (string & {});
18448
18449  export type BorderBlockColor = Globals | DataType.Color | (string & {});
18450
18451  export type BorderBlockEnd<TLength = (string & {}) | 0> = Globals | DataType.LineWidth<TLength> | DataType.LineStyle | DataType.Color | (string & {});
18452
18453  export type BorderBlockEndColor = Globals | DataType.Color;
18454
18455  export type BorderBlockEndStyle = Globals | DataType.LineStyle;
18456
18457  export type BorderBlockEndWidth<TLength = (string & {}) | 0> = Globals | DataType.LineWidth<TLength>;
18458
18459  export type BorderBlockStart<TLength = (string & {}) | 0> = Globals | DataType.LineWidth<TLength> | DataType.LineStyle | DataType.Color | (string & {});
18460
18461  export type BorderBlockStartColor = Globals | DataType.Color;
18462
18463  export type BorderBlockStartStyle = Globals | DataType.LineStyle;
18464
18465  export type BorderBlockStartWidth<TLength = (string & {}) | 0> = Globals | DataType.LineWidth<TLength>;
18466
18467  export type BorderBlockStyle = Globals | DataType.LineStyle;
18468
18469  export type BorderBlockWidth<TLength = (string & {}) | 0> = Globals | DataType.LineWidth<TLength>;
18470
18471  export type BorderBottom<TLength = (string & {}) | 0> = Globals | DataType.LineWidth<TLength> | DataType.LineStyle | DataType.Color | (string & {});
18472
18473  export type BorderBottomColor = Globals | DataType.Color;
18474
18475  export type BorderBottomLeftRadius<TLength = (string & {}) | 0> = Globals | TLength | (string & {});
18476
18477  export type BorderBottomRightRadius<TLength = (string & {}) | 0> = Globals | TLength | (string & {});
18478
18479  export type BorderBottomStyle = Globals | DataType.LineStyle;
18480
18481  export type BorderBottomWidth<TLength = (string & {}) | 0> = Globals | DataType.LineWidth<TLength>;
18482
18483  export type BorderCollapse = Globals | "collapse" | "separate";
18484
18485  export type BorderColor = Globals | DataType.Color | (string & {});
18486
18487  export type BorderEndEndRadius<TLength = (string & {}) | 0> = Globals | TLength | (string & {});
18488
18489  export type BorderEndStartRadius<TLength = (string & {}) | 0> = Globals | TLength | (string & {});
18490
18491  export type BorderImage = Globals | "none" | "repeat" | "round" | "space" | "stretch" | (string & {}) | (number & {});
18492
18493  export type BorderImageOutset<TLength = (string & {}) | 0> = Globals | TLength | (string & {}) | (number & {});
18494
18495  export type BorderImageRepeat = Globals | "repeat" | "round" | "space" | "stretch" | (string & {});
18496
18497  export type BorderImageSlice = Globals | (string & {}) | (number & {});
18498
18499  export type BorderImageSource = Globals | "none" | (string & {});
18500
18501  export type BorderImageWidth<TLength = (string & {}) | 0> = Globals | TLength | "auto" | (string & {}) | (number & {});
18502
18503  export type BorderInline<TLength = (string & {}) | 0> = Globals | DataType.LineWidth<TLength> | DataType.LineStyle | DataType.Color | (string & {});
18504
18505  export type BorderInlineColor = Globals | DataType.Color | (string & {});
18506
18507  export type BorderInlineEnd<TLength = (string & {}) | 0> = Globals | DataType.LineWidth<TLength> | DataType.LineStyle | DataType.Color | (string & {});
18508
18509  export type BorderInlineEndColor = Globals | DataType.Color;
18510
18511  export type BorderInlineEndStyle = Globals | DataType.LineStyle;
18512
18513  export type BorderInlineEndWidth<TLength = (string & {}) | 0> = Globals | DataType.LineWidth<TLength>;
18514
18515  export type BorderInlineStart<TLength = (string & {}) | 0> = Globals | DataType.LineWidth<TLength> | DataType.LineStyle | DataType.Color | (string & {});
18516
18517  export type BorderInlineStartColor = Globals | DataType.Color;
18518
18519  export type BorderInlineStartStyle = Globals | DataType.LineStyle;
18520
18521  export type BorderInlineStartWidth<TLength = (string & {}) | 0> = Globals | DataType.LineWidth<TLength>;
18522
18523  export type BorderInlineStyle = Globals | DataType.LineStyle;
18524
18525  export type BorderInlineWidth<TLength = (string & {}) | 0> = Globals | DataType.LineWidth<TLength>;
18526
18527  export type BorderLeft<TLength = (string & {}) | 0> = Globals | DataType.LineWidth<TLength> | DataType.LineStyle | DataType.Color | (string & {});
18528
18529  export type BorderLeftColor = Globals | DataType.Color;
18530
18531  export type BorderLeftStyle = Globals | DataType.LineStyle;
18532
18533  export type BorderLeftWidth<TLength = (string & {}) | 0> = Globals | DataType.LineWidth<TLength>;
18534
18535  export type BorderRadius<TLength = (string & {}) | 0> = Globals | TLength | (string & {});
18536
18537  export type BorderRight<TLength = (string & {}) | 0> = Globals | DataType.LineWidth<TLength> | DataType.LineStyle | DataType.Color | (string & {});
18538
18539  export type BorderRightColor = Globals | DataType.Color;
18540
18541  export type BorderRightStyle = Globals | DataType.LineStyle;
18542
18543  export type BorderRightWidth<TLength = (string & {}) | 0> = Globals | DataType.LineWidth<TLength>;
18544
18545  export type BorderSpacing<TLength = (string & {}) | 0> = Globals | TLength | (string & {});
18546
18547  export type BorderStartEndRadius<TLength = (string & {}) | 0> = Globals | TLength | (string & {});
18548
18549  export type BorderStartStartRadius<TLength = (string & {}) | 0> = Globals | TLength | (string & {});
18550
18551  export type BorderStyle = Globals | DataType.LineStyle | (string & {});
18552
18553  export type BorderTop<TLength = (string & {}) | 0> = Globals | DataType.LineWidth<TLength> | DataType.LineStyle | DataType.Color | (string & {});
18554
18555  export type BorderTopColor = Globals | DataType.Color;
18556
18557  export type BorderTopLeftRadius<TLength = (string & {}) | 0> = Globals | TLength | (string & {});
18558
18559  export type BorderTopRightRadius<TLength = (string & {}) | 0> = Globals | TLength | (string & {});
18560
18561  export type BorderTopStyle = Globals | DataType.LineStyle;
18562
18563  export type BorderTopWidth<TLength = (string & {}) | 0> = Globals | DataType.LineWidth<TLength>;
18564
18565  export type BorderWidth<TLength = (string & {}) | 0> = Globals | DataType.LineWidth<TLength> | (string & {});
18566
18567  export type Bottom<TLength = (string & {}) | 0> = Globals | TLength | "auto" | (string & {});
18568
18569  export type BoxAlign = Globals | "baseline" | "center" | "end" | "start" | "stretch";
18570
18571  export type BoxDecorationBreak = Globals | "clone" | "slice";
18572
18573  export type BoxDirection = Globals | "inherit" | "normal" | "reverse";
18574
18575  export type BoxFlex = Globals | (number & {});
18576
18577  export type BoxFlexGroup = Globals | (number & {});
18578
18579  export type BoxLines = Globals | "multiple" | "single";
18580
18581  export type BoxOrdinalGroup = Globals | (number & {});
18582
18583  export type BoxOrient = Globals | "block-axis" | "horizontal" | "inherit" | "inline-axis" | "vertical";
18584
18585  export type BoxPack = Globals | "center" | "end" | "justify" | "start";
18586
18587  export type BoxShadow = Globals | "none" | (string & {});
18588
18589  export type BoxSizing = Globals | "border-box" | "content-box";
18590
18591  export type BreakAfter =
18592    | Globals
18593    | "all"
18594    | "always"
18595    | "auto"
18596    | "avoid"
18597    | "avoid-column"
18598    | "avoid-page"
18599    | "avoid-region"
18600    | "column"
18601    | "left"
18602    | "page"
18603    | "recto"
18604    | "region"
18605    | "right"
18606    | "verso";
18607
18608  export type BreakBefore =
18609    | Globals
18610    | "all"
18611    | "always"
18612    | "auto"
18613    | "avoid"
18614    | "avoid-column"
18615    | "avoid-page"
18616    | "avoid-region"
18617    | "column"
18618    | "left"
18619    | "page"
18620    | "recto"
18621    | "region"
18622    | "right"
18623    | "verso";
18624
18625  export type BreakInside = Globals | "auto" | "avoid" | "avoid-column" | "avoid-page" | "avoid-region";
18626
18627  export type CaptionSide = Globals | "block-end" | "block-start" | "bottom" | "inline-end" | "inline-start" | "top";
18628
18629  export type CaretColor = Globals | DataType.Color | "auto";
18630
18631  export type Clear = Globals | "both" | "inline-end" | "inline-start" | "left" | "none" | "right";
18632
18633  export type Clip = Globals | "auto" | (string & {});
18634
18635  export type ClipPath = Globals | DataType.GeometryBox | "none" | (string & {});
18636
18637  export type Color = Globals | DataType.Color;
18638
18639  export type ColorAdjust = Globals | "economy" | "exact";
18640
18641  export type ColorScheme = Globals | "dark" | "light" | "normal" | (string & {});
18642
18643  export type ColumnCount = Globals | "auto" | (number & {});
18644
18645  export type ColumnFill = Globals | "auto" | "balance";
18646
18647  export type ColumnGap<TLength = (string & {}) | 0> = Globals | TLength | "normal" | (string & {});
18648
18649  export type ColumnRule<TLength = (string & {}) | 0> = Globals | DataType.LineWidth<TLength> | DataType.LineStyle | DataType.Color | (string & {});
18650
18651  export type ColumnRuleColor = Globals | DataType.Color;
18652
18653  export type ColumnRuleStyle = Globals | DataType.LineStyle | (string & {});
18654
18655  export type ColumnRuleWidth<TLength = (string & {}) | 0> = Globals | DataType.LineWidth<TLength> | (string & {});
18656
18657  export type ColumnSpan = Globals | "all" | "none";
18658
18659  export type ColumnWidth<TLength = (string & {}) | 0> = Globals | TLength | "auto";
18660
18661  export type Columns<TLength = (string & {}) | 0> = Globals | TLength | "auto" | (string & {}) | (number & {});
18662
18663  export type Contain = Globals | "content" | "layout" | "none" | "paint" | "size" | "strict" | "style" | (string & {});
18664
18665  export type Content = Globals | DataType.ContentList | "none" | "normal" | (string & {});
18666
18667  export type ContentVisibility = Globals | "auto" | "hidden" | "visible";
18668
18669  export type CounterIncrement = Globals | "none" | (string & {});
18670
18671  export type CounterReset = Globals | "none" | (string & {});
18672
18673  export type CounterSet = Globals | "none" | (string & {});
18674
18675  export type Cursor =
18676    | Globals
18677    | "-moz-grab"
18678    | "-webkit-grab"
18679    | "alias"
18680    | "all-scroll"
18681    | "auto"
18682    | "cell"
18683    | "col-resize"
18684    | "context-menu"
18685    | "copy"
18686    | "crosshair"
18687    | "default"
18688    | "e-resize"
18689    | "ew-resize"
18690    | "grab"
18691    | "grabbing"
18692    | "help"
18693    | "move"
18694    | "n-resize"
18695    | "ne-resize"
18696    | "nesw-resize"
18697    | "no-drop"
18698    | "none"
18699    | "not-allowed"
18700    | "ns-resize"
18701    | "nw-resize"
18702    | "nwse-resize"
18703    | "pointer"
18704    | "progress"
18705    | "row-resize"
18706    | "s-resize"
18707    | "se-resize"
18708    | "sw-resize"
18709    | "text"
18710    | "vertical-text"
18711    | "w-resize"
18712    | "wait"
18713    | "zoom-in"
18714    | "zoom-out"
18715    | (string & {});
18716
18717  export type Direction = Globals | "ltr" | "rtl";
18718
18719  export type Display =
18720    | Globals
18721    | DataType.DisplayOutside
18722    | DataType.DisplayInside
18723    | DataType.DisplayInternal
18724    | DataType.DisplayLegacy
18725    | "contents"
18726    | "list-item"
18727    | "none"
18728    | (string & {});
18729
18730  export type EmptyCells = Globals | "hide" | "show";
18731
18732  export type Filter = Globals | "none" | (string & {});
18733
18734  export type Flex<TLength = (string & {}) | 0> = Globals | TLength | "auto" | "content" | "fit-content" | "max-content" | "min-content" | "none" | (string & {}) | (number & {});
18735
18736  export type FlexBasis<TLength = (string & {}) | 0> =
18737    | Globals
18738    | TLength
18739    | "-moz-max-content"
18740    | "-moz-min-content"
18741    | "-webkit-auto"
18742    | "auto"
18743    | "content"
18744    | "fit-content"
18745    | "max-content"
18746    | "min-content"
18747    | (string & {});
18748
18749  export type FlexDirection = Globals | "column" | "column-reverse" | "row" | "row-reverse";
18750
18751  export type FlexFlow = Globals | "column" | "column-reverse" | "nowrap" | "row" | "row-reverse" | "wrap" | "wrap-reverse" | (string & {});
18752
18753  export type FlexGrow = Globals | (number & {});
18754
18755  export type FlexShrink = Globals | (number & {});
18756
18757  export type FlexWrap = Globals | "nowrap" | "wrap" | "wrap-reverse";
18758
18759  export type Float = Globals | "inline-end" | "inline-start" | "left" | "none" | "right";
18760
18761  export type Font = Globals | "caption" | "icon" | "menu" | "message-box" | "small-caption" | "status-bar" | (string & {});
18762
18763  export type FontFamily = Globals | DataType.GenericFamily | (string & {});
18764
18765  export type FontFeatureSettings = Globals | "normal" | (string & {});
18766
18767  export type FontKerning = Globals | "auto" | "none" | "normal";
18768
18769  export type FontLanguageOverride = Globals | "normal" | (string & {});
18770
18771  export type FontOpticalSizing = Globals | "auto" | "none";
18772
18773  export type FontSize<TLength = (string & {}) | 0> = Globals | DataType.AbsoluteSize | TLength | "larger" | "smaller" | (string & {});
18774
18775  export type FontSizeAdjust = Globals | "none" | (number & {});
18776
18777  export type FontSmooth<TLength = (string & {}) | 0> = Globals | DataType.AbsoluteSize | TLength | "always" | "auto" | "never";
18778
18779  export type FontStretch = Globals | DataType.FontStretchAbsolute;
18780
18781  export type FontStyle = Globals | "italic" | "normal" | "oblique" | (string & {});
18782
18783  export type FontSynthesis = Globals | "none" | "style" | "weight" | (string & {});
18784
18785  export type FontVariant =
18786    | Globals
18787    | DataType.EastAsianVariantValues
18788    | "all-petite-caps"
18789    | "all-small-caps"
18790    | "common-ligatures"
18791    | "contextual"
18792    | "diagonal-fractions"
18793    | "discretionary-ligatures"
18794    | "full-width"
18795    | "historical-forms"
18796    | "historical-ligatures"
18797    | "lining-nums"
18798    | "no-common-ligatures"
18799    | "no-contextual"
18800    | "no-discretionary-ligatures"
18801    | "no-historical-ligatures"
18802    | "none"
18803    | "normal"
18804    | "oldstyle-nums"
18805    | "ordinal"
18806    | "petite-caps"
18807    | "proportional-nums"
18808    | "proportional-width"
18809    | "ruby"
18810    | "slashed-zero"
18811    | "small-caps"
18812    | "stacked-fractions"
18813    | "tabular-nums"
18814    | "titling-caps"
18815    | "unicase"
18816    | (string & {});
18817
18818  export type FontVariantAlternates = Globals | "historical-forms" | "normal" | (string & {});
18819
18820  export type FontVariantCaps = Globals | "all-petite-caps" | "all-small-caps" | "normal" | "petite-caps" | "small-caps" | "titling-caps" | "unicase";
18821
18822  export type FontVariantEastAsian = Globals | DataType.EastAsianVariantValues | "full-width" | "normal" | "proportional-width" | "ruby" | (string & {});
18823
18824  export type FontVariantLigatures =
18825    | Globals
18826    | "common-ligatures"
18827    | "contextual"
18828    | "discretionary-ligatures"
18829    | "historical-ligatures"
18830    | "no-common-ligatures"
18831    | "no-contextual"
18832    | "no-discretionary-ligatures"
18833    | "no-historical-ligatures"
18834    | "none"
18835    | "normal"
18836    | (string & {});
18837
18838  export type FontVariantNumeric =
18839    | Globals
18840    | "diagonal-fractions"
18841    | "lining-nums"
18842    | "normal"
18843    | "oldstyle-nums"
18844    | "ordinal"
18845    | "proportional-nums"
18846    | "slashed-zero"
18847    | "stacked-fractions"
18848    | "tabular-nums"
18849    | (string & {});
18850
18851  export type FontVariantPosition = Globals | "normal" | "sub" | "super";
18852
18853  export type FontVariationSettings = Globals | "normal" | (string & {});
18854
18855  export type FontWeight = Globals | DataType.FontWeightAbsolute | "bolder" | "lighter";
18856
18857  export type ForcedColorAdjust = Globals | "auto" | "none";
18858
18859  export type Gap<TLength = (string & {}) | 0> = Globals | TLength | "normal" | (string & {});
18860
18861  export type Grid = Globals | "none" | (string & {});
18862
18863  export type GridArea = Globals | DataType.GridLine | (string & {});
18864
18865  export type GridAutoColumns<TLength = (string & {}) | 0> = Globals | DataType.TrackBreadth<TLength> | (string & {});
18866
18867  export type GridAutoFlow = Globals | "column" | "dense" | "row" | (string & {});
18868
18869  export type GridAutoRows<TLength = (string & {}) | 0> = Globals | DataType.TrackBreadth<TLength> | (string & {});
18870
18871  export type GridColumn = Globals | DataType.GridLine | (string & {});
18872
18873  export type GridColumnEnd = Globals | DataType.GridLine;
18874
18875  export type GridColumnGap<TLength = (string & {}) | 0> = Globals | TLength | (string & {});
18876
18877  export type GridColumnStart = Globals | DataType.GridLine;
18878
18879  export type GridGap<TLength = (string & {}) | 0> = Globals | TLength | (string & {});
18880
18881  export type GridRow = Globals | DataType.GridLine | (string & {});
18882
18883  export type GridRowEnd = Globals | DataType.GridLine;
18884
18885  export type GridRowGap<TLength = (string & {}) | 0> = Globals | TLength | (string & {});
18886
18887  export type GridRowStart = Globals | DataType.GridLine;
18888
18889  export type GridTemplate = Globals | "none" | (string & {});
18890
18891  export type GridTemplateAreas = Globals | "none" | (string & {});
18892
18893  export type GridTemplateColumns<TLength = (string & {}) | 0> = Globals | DataType.TrackBreadth<TLength> | "none" | "subgrid" | (string & {});
18894
18895  export type GridTemplateRows<TLength = (string & {}) | 0> = Globals | DataType.TrackBreadth<TLength> | "none" | "subgrid" | (string & {});
18896
18897  export type HangingPunctuation = Globals | "allow-end" | "first" | "force-end" | "last" | "none" | (string & {});
18898
18899  export type Height<TLength = (string & {}) | 0> =
18900    | Globals
18901    | TLength
18902    | "-moz-max-content"
18903    | "-moz-min-content"
18904    | "-webkit-fit-content"
18905    | "auto"
18906    | "fit-content"
18907    | "max-content"
18908    | "min-content"
18909    | (string & {});
18910
18911  export type Hyphens = Globals | "auto" | "manual" | "none";
18912
18913  export type ImageOrientation = Globals | "flip" | "from-image" | (string & {});
18914
18915  export type ImageRendering = Globals | "-moz-crisp-edges" | "-webkit-optimize-contrast" | "auto" | "crisp-edges" | "pixelated";
18916
18917  export type ImageResolution = Globals | "from-image" | (string & {});
18918
18919  export type ImeMode = Globals | "active" | "auto" | "disabled" | "inactive" | "normal";
18920
18921  export type InitialLetter = Globals | "normal" | (string & {}) | (number & {});
18922
18923  export type InlineSize<TLength = (string & {}) | 0> =
18924    | Globals
18925    | TLength
18926    | "-moz-fit-content"
18927    | "-moz-max-content"
18928    | "-moz-min-content"
18929    | "-webkit-fill-available"
18930    | "auto"
18931    | "fit-content"
18932    | "max-content"
18933    | "min-content"
18934    | (string & {});
18935
18936  export type Inset<TLength = (string & {}) | 0> = Globals | TLength | "auto" | (string & {});
18937
18938  export type InsetBlock<TLength = (string & {}) | 0> = Globals | TLength | "auto" | (string & {});
18939
18940  export type InsetBlockEnd<TLength = (string & {}) | 0> = Globals | TLength | "auto" | (string & {});
18941
18942  export type InsetBlockStart<TLength = (string & {}) | 0> = Globals | TLength | "auto" | (string & {});
18943
18944  export type InsetInline<TLength = (string & {}) | 0> = Globals | TLength | "auto" | (string & {});
18945
18946  export type InsetInlineEnd<TLength = (string & {}) | 0> = Globals | TLength | "auto" | (string & {});
18947
18948  export type InsetInlineStart<TLength = (string & {}) | 0> = Globals | TLength | "auto" | (string & {});
18949
18950  export type Isolation = Globals | "auto" | "isolate";
18951
18952  export type JustifyContent = Globals | DataType.ContentDistribution | DataType.ContentPosition | "left" | "normal" | "right" | (string & {});
18953
18954  export type JustifyItems = Globals | DataType.SelfPosition | "baseline" | "left" | "legacy" | "normal" | "right" | "stretch" | (string & {});
18955
18956  export type JustifySelf = Globals | DataType.SelfPosition | "auto" | "baseline" | "left" | "normal" | "right" | "stretch" | (string & {});
18957
18958  export type JustifyTracks = Globals | DataType.ContentDistribution | DataType.ContentPosition | "left" | "normal" | "right" | (string & {});
18959
18960  export type Left<TLength = (string & {}) | 0> = Globals | TLength | "auto" | (string & {});
18961
18962  export type LetterSpacing<TLength = (string & {}) | 0> = Globals | TLength | "normal";
18963
18964  export type LineBreak = Globals | "anywhere" | "auto" | "loose" | "normal" | "strict";
18965
18966  export type LineClamp = Globals | "none" | (number & {});
18967
18968  export type LineHeight<TLength = (string & {}) | 0> = Globals | TLength | "normal" | (string & {}) | (number & {});
18969
18970  export type LineHeightStep<TLength = (string & {}) | 0> = Globals | TLength;
18971
18972  export type ListStyle = Globals | "inside" | "none" | "outside" | (string & {});
18973
18974  export type ListStyleImage = Globals | "none" | (string & {});
18975
18976  export type ListStylePosition = Globals | "inside" | "outside";
18977
18978  export type ListStyleType = Globals | "none" | (string & {});
18979
18980  export type Margin<TLength = (string & {}) | 0> = Globals | TLength | "auto" | (string & {});
18981
18982  export type MarginBlock<TLength = (string & {}) | 0> = Globals | TLength | "auto" | (string & {});
18983
18984  export type MarginBlockEnd<TLength = (string & {}) | 0> = Globals | TLength | "auto" | (string & {});
18985
18986  export type MarginBlockStart<TLength = (string & {}) | 0> = Globals | TLength | "auto" | (string & {});
18987
18988  export type MarginBottom<TLength = (string & {}) | 0> = Globals | TLength | "auto" | (string & {});
18989
18990  export type MarginInline<TLength = (string & {}) | 0> = Globals | TLength | "auto" | (string & {});
18991
18992  export type MarginInlineEnd<TLength = (string & {}) | 0> = Globals | TLength | "auto" | (string & {});
18993
18994  export type MarginInlineStart<TLength = (string & {}) | 0> = Globals | TLength | "auto" | (string & {});
18995
18996  export type MarginLeft<TLength = (string & {}) | 0> = Globals | TLength | "auto" | (string & {});
18997
18998  export type MarginRight<TLength = (string & {}) | 0> = Globals | TLength | "auto" | (string & {});
18999
19000  export type MarginTop<TLength = (string & {}) | 0> = Globals | TLength | "auto" | (string & {});
19001
19002  export type Mask<TLength = (string & {}) | 0> = Globals | DataType.MaskLayer<TLength> | (string & {});
19003
19004  export type MaskBorder = Globals | "alpha" | "luminance" | "none" | "repeat" | "round" | "space" | "stretch" | (string & {}) | (number & {});
19005
19006  export type MaskBorderMode = Globals | "alpha" | "luminance";
19007
19008  export type MaskBorderOutset<TLength = (string & {}) | 0> = Globals | TLength | (string & {}) | (number & {});
19009
19010  export type MaskBorderRepeat = Globals | "repeat" | "round" | "space" | "stretch" | (string & {});
19011
19012  export type MaskBorderSlice = Globals | (string & {}) | (number & {});
19013
19014  export type MaskBorderSource = Globals | "none" | (string & {});
19015
19016  export type MaskBorderWidth<TLength = (string & {}) | 0> = Globals | TLength | "auto" | (string & {}) | (number & {});
19017
19018  export type MaskClip = Globals | DataType.GeometryBox | "no-clip" | (string & {});
19019
19020  export type MaskComposite = Globals | DataType.CompositingOperator | (string & {});
19021
19022  export type MaskImage = Globals | "none" | (string & {});
19023
19024  export type MaskMode = Globals | DataType.MaskingMode | (string & {});
19025
19026  export type MaskOrigin = Globals | DataType.Box | "margin-box" | (string & {});
19027
19028  export type MaskPosition<TLength = (string & {}) | 0> = Globals | DataType.Position<TLength> | (string & {});
19029
19030  export type MaskRepeat = Globals | DataType.RepeatStyle | (string & {});
19031
19032  export type MaskSize<TLength = (string & {}) | 0> = Globals | DataType.BgSize<TLength> | (string & {});
19033
19034  export type MaskType = Globals | "alpha" | "luminance";
19035
19036  export type MathStyle = Globals | "compact" | "normal";
19037
19038  export type MaxBlockSize<TLength = (string & {}) | 0> =
19039    | Globals
19040    | TLength
19041    | "-moz-max-content"
19042    | "-moz-min-content"
19043    | "-webkit-fill-available"
19044    | "fit-content"
19045    | "max-content"
19046    | "min-content"
19047    | "none"
19048    | (string & {});
19049
19050  export type MaxHeight<TLength = (string & {}) | 0> =
19051    | Globals
19052    | TLength
19053    | "-moz-fit-content"
19054    | "-moz-max-content"
19055    | "-moz-min-content"
19056    | "-webkit-fit-content"
19057    | "-webkit-max-content"
19058    | "-webkit-min-content"
19059    | "fit-content"
19060    | "intrinsic"
19061    | "max-content"
19062    | "min-content"
19063    | "none"
19064    | (string & {});
19065
19066  export type MaxInlineSize<TLength = (string & {}) | 0> =
19067    | Globals
19068    | TLength
19069    | "-moz-fit-content"
19070    | "-moz-max-content"
19071    | "-moz-min-content"
19072    | "-webkit-fill-available"
19073    | "fit-content"
19074    | "max-content"
19075    | "min-content"
19076    | "none"
19077    | (string & {});
19078
19079  export type MaxLines = Globals | "none" | (number & {});
19080
19081  export type MaxWidth<TLength = (string & {}) | 0> =
19082    | Globals
19083    | TLength
19084    | "-moz-fit-content"
19085    | "-moz-max-content"
19086    | "-moz-min-content"
19087    | "-webkit-fit-content"
19088    | "-webkit-max-content"
19089    | "-webkit-min-content"
19090    | "fit-content"
19091    | "intrinsic"
19092    | "max-content"
19093    | "min-content"
19094    | "none"
19095    | (string & {});
19096
19097  export type MinBlockSize<TLength = (string & {}) | 0> =
19098    | Globals
19099    | TLength
19100    | "-moz-max-content"
19101    | "-moz-min-content"
19102    | "-webkit-fill-available"
19103    | "auto"
19104    | "fit-content"
19105    | "max-content"
19106    | "min-content"
19107    | (string & {});
19108
19109  export type MinHeight<TLength = (string & {}) | 0> =
19110    | Globals
19111    | TLength
19112    | "-moz-fit-content"
19113    | "-moz-max-content"
19114    | "-moz-min-content"
19115    | "-webkit-fit-content"
19116    | "-webkit-max-content"
19117    | "-webkit-min-content"
19118    | "auto"
19119    | "fit-content"
19120    | "intrinsic"
19121    | "max-content"
19122    | "min-content"
19123    | (string & {});
19124
19125  export type MinInlineSize<TLength = (string & {}) | 0> =
19126    | Globals
19127    | TLength
19128    | "-moz-fit-content"
19129    | "-moz-max-content"
19130    | "-moz-min-content"
19131    | "-webkit-fill-available"
19132    | "auto"
19133    | "fit-content"
19134    | "max-content"
19135    | "min-content"
19136    | (string & {});
19137
19138  export type MinWidth<TLength = (string & {}) | 0> =
19139    | Globals
19140    | TLength
19141    | "-moz-fit-content"
19142    | "-moz-max-content"
19143    | "-moz-min-content"
19144    | "-webkit-fill-available"
19145    | "-webkit-fit-content"
19146    | "-webkit-max-content"
19147    | "-webkit-min-content"
19148    | "auto"
19149    | "fit-content"
19150    | "intrinsic"
19151    | "max-content"
19152    | "min-content"
19153    | "min-intrinsic"
19154    | (string & {});
19155
19156  export type MixBlendMode = Globals | DataType.BlendMode;
19157
19158  export type Offset<TLength = (string & {}) | 0> = Globals | DataType.Position<TLength> | DataType.GeometryBox | "auto" | "none" | (string & {});
19159
19160  export type OffsetDistance<TLength = (string & {}) | 0> = Globals | TLength | (string & {});
19161
19162  export type OffsetPath = Globals | DataType.GeometryBox | "none" | (string & {});
19163
19164  export type OffsetRotate = Globals | "auto" | "reverse" | (string & {});
19165
19166  export type ObjectFit = Globals | "contain" | "cover" | "fill" | "none" | "scale-down";
19167
19168  export type ObjectPosition<TLength = (string & {}) | 0> = Globals | DataType.Position<TLength>;
19169
19170  export type OffsetAnchor<TLength = (string & {}) | 0> = Globals | DataType.Position<TLength> | "auto";
19171
19172  export type Opacity = Globals | (string & {}) | (number & {});
19173
19174  export type Order = Globals | (number & {});
19175
19176  export type Orphans = Globals | (number & {});
19177
19178  export type Outline<TLength = (string & {}) | 0> = Globals | DataType.Color | DataType.LineStyle | DataType.LineWidth<TLength> | "auto" | "invert" | (string & {});
19179
19180  export type OutlineColor = Globals | DataType.Color | "invert";
19181
19182  export type OutlineOffset<TLength = (string & {}) | 0> = Globals | TLength;
19183
19184  export type OutlineStyle = Globals | DataType.LineStyle | "auto" | (string & {});
19185
19186  export type OutlineWidth<TLength = (string & {}) | 0> = Globals | DataType.LineWidth<TLength>;
19187
19188  export type Overflow = Globals | "-moz-hidden-unscrollable" | "auto" | "clip" | "hidden" | "scroll" | "visible" | (string & {});
19189
19190  export type OverflowAnchor = Globals | "auto" | "none";
19191
19192  export type OverflowBlock = Globals | "auto" | "clip" | "hidden" | "scroll" | "visible";
19193
19194  export type OverflowClipBox = Globals | "content-box" | "padding-box";
19195
19196  export type OverflowClipMargin<TLength = (string & {}) | 0> = Globals | DataType.VisualBox | TLength | (string & {});
19197
19198  export type OverflowInline = Globals | "auto" | "clip" | "hidden" | "scroll" | "visible";
19199
19200  export type OverflowWrap = Globals | "anywhere" | "break-word" | "normal";
19201
19202  export type OverflowX = Globals | "-moz-hidden-unscrollable" | "auto" | "clip" | "hidden" | "scroll" | "visible";
19203
19204  export type OverflowY = Globals | "-moz-hidden-unscrollable" | "auto" | "clip" | "hidden" | "scroll" | "visible";
19205
19206  export type OverscrollBehavior = Globals | "auto" | "contain" | "none" | (string & {});
19207
19208  export type OverscrollBehaviorBlock = Globals | "auto" | "contain" | "none";
19209
19210  export type OverscrollBehaviorInline = Globals | "auto" | "contain" | "none";
19211
19212  export type OverscrollBehaviorX = Globals | "auto" | "contain" | "none";
19213
19214  export type OverscrollBehaviorY = Globals | "auto" | "contain" | "none";
19215
19216  export type Padding<TLength = (string & {}) | 0> = Globals | TLength | (string & {});
19217
19218  export type PaddingBlock<TLength = (string & {}) | 0> = Globals | TLength | (string & {});
19219
19220  export type PaddingBlockEnd<TLength = (string & {}) | 0> = Globals | TLength | (string & {});
19221
19222  export type PaddingBlockStart<TLength = (string & {}) | 0> = Globals | TLength | (string & {});
19223
19224  export type PaddingBottom<TLength = (string & {}) | 0> = Globals | TLength | (string & {});
19225
19226  export type PaddingInline<TLength = (string & {}) | 0> = Globals | TLength | (string & {});
19227
19228  export type PaddingInlineEnd<TLength = (string & {}) | 0> = Globals | TLength | (string & {});
19229
19230  export type PaddingInlineStart<TLength = (string & {}) | 0> = Globals | TLength | (string & {});
19231
19232  export type PaddingLeft<TLength = (string & {}) | 0> = Globals | TLength | (string & {});
19233
19234  export type PaddingRight<TLength = (string & {}) | 0> = Globals | TLength | (string & {});
19235
19236  export type PaddingTop<TLength = (string & {}) | 0> = Globals | TLength | (string & {});
19237
19238  export type PageBreakAfter = Globals | "always" | "auto" | "avoid" | "left" | "recto" | "right" | "verso";
19239
19240  export type PageBreakBefore = Globals | "always" | "auto" | "avoid" | "left" | "recto" | "right" | "verso";
19241
19242  export type PageBreakInside = Globals | "auto" | "avoid";
19243
19244  export type PaintOrder = Globals | "fill" | "markers" | "normal" | "stroke" | (string & {});
19245
19246  export type Perspective<TLength = (string & {}) | 0> = Globals | TLength | "none";
19247
19248  export type PerspectiveOrigin<TLength = (string & {}) | 0> = Globals | DataType.Position<TLength>;
19249
19250  export type PlaceContent = Globals | DataType.ContentDistribution | DataType.ContentPosition | "baseline" | "normal" | (string & {});
19251
19252  export type PlaceItems = Globals | DataType.SelfPosition | "baseline" | "normal" | "stretch" | (string & {});
19253
19254  export type PlaceSelf = Globals | DataType.SelfPosition | "auto" | "baseline" | "normal" | "stretch" | (string & {});
19255
19256  export type PointerEvents = Globals | "all" | "auto" | "fill" | "inherit" | "none" | "painted" | "stroke" | "visible" | "visibleFill" | "visiblePainted" | "visibleStroke";
19257
19258  export type Position = Globals | "-webkit-sticky" | "absolute" | "fixed" | "relative" | "static" | "sticky";
19259
19260  export type Quotes = Globals | "auto" | "none" | (string & {});
19261
19262  export type Resize = Globals | "block" | "both" | "horizontal" | "inline" | "none" | "vertical";
19263
19264  export type Right<TLength = (string & {}) | 0> = Globals | TLength | "auto" | (string & {});
19265
19266  export type Rotate = Globals | "none" | (string & {});
19267
19268  export type RowGap<TLength = (string & {}) | 0> = Globals | TLength | "normal" | (string & {});
19269
19270  export type RubyAlign = Globals | "center" | "space-around" | "space-between" | "start";
19271
19272  export type RubyMerge = Globals | "auto" | "collapse" | "separate";
19273
19274  export type RubyPosition = Globals | "alternate" | "over" | "under" | (string & {});
19275
19276  export type Scale = Globals | "none" | (string & {}) | (number & {});
19277
19278  export type ScrollBehavior = Globals | "auto" | "smooth";
19279
19280  export type ScrollMargin<TLength = (string & {}) | 0> = Globals | TLength | (string & {});
19281
19282  export type ScrollMarginBlock<TLength = (string & {}) | 0> = Globals | TLength | (string & {});
19283
19284  export type ScrollMarginBlockEnd<TLength = (string & {}) | 0> = Globals | TLength;
19285
19286  export type ScrollMarginBlockStart<TLength = (string & {}) | 0> = Globals | TLength;
19287
19288  export type ScrollMarginBottom<TLength = (string & {}) | 0> = Globals | TLength;
19289
19290  export type ScrollMarginInline<TLength = (string & {}) | 0> = Globals | TLength | (string & {});
19291
19292  export type ScrollMarginInlineEnd<TLength = (string & {}) | 0> = Globals | TLength;
19293
19294  export type ScrollMarginInlineStart<TLength = (string & {}) | 0> = Globals | TLength;
19295
19296  export type ScrollMarginLeft<TLength = (string & {}) | 0> = Globals | TLength;
19297
19298  export type ScrollMarginRight<TLength = (string & {}) | 0> = Globals | TLength;
19299
19300  export type ScrollMarginTop<TLength = (string & {}) | 0> = Globals | TLength;
19301
19302  export type ScrollPadding<TLength = (string & {}) | 0> = Globals | TLength | "auto" | (string & {});
19303
19304  export type ScrollPaddingBlock<TLength = (string & {}) | 0> = Globals | TLength | "auto" | (string & {});
19305
19306  export type ScrollPaddingBlockEnd<TLength = (string & {}) | 0> = Globals | TLength | "auto" | (string & {});
19307
19308  export type ScrollPaddingBlockStart<TLength = (string & {}) | 0> = Globals | TLength | "auto" | (string & {});
19309
19310  export type ScrollPaddingBottom<TLength = (string & {}) | 0> = Globals | TLength | "auto" | (string & {});
19311
19312  export type ScrollPaddingInline<TLength = (string & {}) | 0> = Globals | TLength | "auto" | (string & {});
19313
19314  export type ScrollPaddingInlineEnd<TLength = (string & {}) | 0> = Globals | TLength | "auto" | (string & {});
19315
19316  export type ScrollPaddingInlineStart<TLength = (string & {}) | 0> = Globals | TLength | "auto" | (string & {});
19317
19318  export type ScrollPaddingLeft<TLength = (string & {}) | 0> = Globals | TLength | "auto" | (string & {});
19319
19320  export type ScrollPaddingRight<TLength = (string & {}) | 0> = Globals | TLength | "auto" | (string & {});
19321
19322  export type ScrollPaddingTop<TLength = (string & {}) | 0> = Globals | TLength | "auto" | (string & {});
19323
19324  export type ScrollSnapAlign = Globals | "center" | "end" | "none" | "start" | (string & {});
19325
19326  export type ScrollSnapCoordinate<TLength = (string & {}) | 0> = Globals | DataType.Position<TLength> | "none" | (string & {});
19327
19328  export type ScrollSnapDestination<TLength = (string & {}) | 0> = Globals | DataType.Position<TLength>;
19329
19330  export type ScrollSnapPointsX = Globals | "none" | (string & {});
19331
19332  export type ScrollSnapPointsY = Globals | "none" | (string & {});
19333
19334  export type ScrollSnapStop = Globals | "always" | "normal";
19335
19336  export type ScrollSnapType = Globals | "block" | "both" | "inline" | "none" | "x" | "y" | (string & {});
19337
19338  export type ScrollSnapTypeX = Globals | "mandatory" | "none" | "proximity";
19339
19340  export type ScrollSnapTypeY = Globals | "mandatory" | "none" | "proximity";
19341
19342  export type ScrollbarColor = Globals | DataType.Color | "auto" | "dark" | "light";
19343
19344  export type ScrollbarGutter = Globals | "always" | "auto" | "stable" | (string & {});
19345
19346  export type MsScrollbarTrackColor = Globals | DataType.Color;
19347
19348  export type ScrollbarWidth = Globals | "auto" | "none" | "thin";
19349
19350  export type ShapeImageThreshold = Globals | (string & {}) | (number & {});
19351
19352  export type ShapeMargin<TLength = (string & {}) | 0> = Globals | TLength | (string & {});
19353
19354  export type ShapeOutside = Globals | DataType.Box | "margin-box" | "none" | (string & {});
19355
19356  export type TabSize<TLength = (string & {}) | 0> = Globals | TLength | (number & {});
19357
19358  export type TableLayout = Globals | "auto" | "fixed";
19359
19360  export type TextAlign = Globals | "center" | "end" | "justify" | "left" | "match-parent" | "right" | "start";
19361
19362  export type TextAlignLast = Globals | "auto" | "center" | "end" | "justify" | "left" | "right" | "start";
19363
19364  export type TextCombineUpright = Globals | "-ms-text-combine-horizontal" | "all" | "digits" | "none" | (string & {});
19365
19366  export type TextDecoration<TLength = (string & {}) | 0> =
19367    | Globals
19368    | DataType.Color
19369    | TLength
19370    | "auto"
19371    | "blink"
19372    | "dashed"
19373    | "dotted"
19374    | "double"
19375    | "from-font"
19376    | "grammar-error"
19377    | "line-through"
19378    | "none"
19379    | "overline"
19380    | "solid"
19381    | "spelling-error"
19382    | "underline"
19383    | "wavy"
19384    | (string & {});
19385
19386  export type TextDecorationColor = Globals | DataType.Color;
19387
19388  export type TextDecorationLine = Globals | "blink" | "grammar-error" | "line-through" | "none" | "overline" | "spelling-error" | "underline" | (string & {});
19389
19390  export type TextDecorationSkip = Globals | "box-decoration" | "edges" | "leading-spaces" | "none" | "objects" | "spaces" | "trailing-spaces" | (string & {});
19391
19392  export type TextDecorationSkipInk = Globals | "all" | "auto" | "none";
19393
19394  export type TextDecorationStyle = Globals | "dashed" | "dotted" | "double" | "solid" | "wavy";
19395
19396  export type TextDecorationThickness<TLength = (string & {}) | 0> = Globals | TLength | "auto" | "from-font" | (string & {});
19397
19398  export type TextEmphasis = Globals | DataType.Color | "circle" | "dot" | "double-circle" | "filled" | "none" | "open" | "sesame" | "triangle" | (string & {});
19399
19400  export type TextEmphasisColor = Globals | DataType.Color;
19401
19402  export type TextEmphasisPosition = Globals | (string & {});
19403
19404  export type TextEmphasisStyle = Globals | "circle" | "dot" | "double-circle" | "filled" | "none" | "open" | "sesame" | "triangle" | (string & {});
19405
19406  export type TextIndent<TLength = (string & {}) | 0> = Globals | TLength | (string & {});
19407
19408  export type TextJustify = Globals | "auto" | "inter-character" | "inter-word" | "none";
19409
19410  export type TextOrientation = Globals | "mixed" | "sideways" | "upright";
19411
19412  export type TextOverflow = Globals | "clip" | "ellipsis" | (string & {});
19413
19414  export type TextRendering = Globals | "auto" | "geometricPrecision" | "optimizeLegibility" | "optimizeSpeed";
19415
19416  export type TextShadow = Globals | "none" | (string & {});
19417
19418  export type TextSizeAdjust = Globals | "auto" | "none" | (string & {});
19419
19420  export type TextTransform = Globals | "capitalize" | "full-size-kana" | "full-width" | "lowercase" | "none" | "uppercase";
19421
19422  export type TextUnderlineOffset<TLength = (string & {}) | 0> = Globals | TLength | "auto" | (string & {});
19423
19424  export type TextUnderlinePosition = Globals | "auto" | "from-font" | "left" | "right" | "under" | (string & {});
19425
19426  export type Top<TLength = (string & {}) | 0> = Globals | TLength | "auto" | (string & {});
19427
19428  export type TouchAction =
19429    | Globals
19430    | "-ms-manipulation"
19431    | "-ms-none"
19432    | "-ms-pinch-zoom"
19433    | "auto"
19434    | "manipulation"
19435    | "none"
19436    | "pan-down"
19437    | "pan-left"
19438    | "pan-right"
19439    | "pan-up"
19440    | "pan-x"
19441    | "pan-y"
19442    | "pinch-zoom"
19443    | (string & {});
19444
19445  export type Transform = Globals | "none" | (string & {});
19446
19447  export type TransformBox = Globals | "border-box" | "content-box" | "fill-box" | "stroke-box" | "view-box";
19448
19449  export type TransformOrigin<TLength = (string & {}) | 0> = Globals | TLength | "bottom" | "center" | "left" | "right" | "top" | (string & {});
19450
19451  export type TransformStyle = Globals | "flat" | "preserve-3d";
19452
19453  export type Transition<TTime = string & {}> = Globals | DataType.SingleTransition<TTime> | (string & {});
19454
19455  export type TransitionDelay<TTime = string & {}> = Globals | TTime | (string & {});
19456
19457  export type TransitionDuration<TTime = string & {}> = Globals | TTime | (string & {});
19458
19459  export type TransitionProperty = Globals | "all" | "none" | (string & {});
19460
19461  export type TransitionTimingFunction = Globals | DataType.EasingFunction | (string & {});
19462
19463  export type Translate<TLength = (string & {}) | 0> = Globals | TLength | "none" | (string & {});
19464
19465  export type UnicodeBidi =
19466    | Globals
19467    | "-moz-isolate"
19468    | "-moz-isolate-override"
19469    | "-moz-plaintext"
19470    | "-webkit-isolate"
19471    | "-webkit-isolate-override"
19472    | "-webkit-plaintext"
19473    | "bidi-override"
19474    | "embed"
19475    | "isolate"
19476    | "isolate-override"
19477    | "normal"
19478    | "plaintext";
19479
19480  export type UserSelect = Globals | "-moz-none" | "all" | "auto" | "contain" | "element" | "none" | "text";
19481
19482  export type VerticalAlign<TLength = (string & {}) | 0> =
19483    | Globals
19484    | TLength
19485    | "baseline"
19486    | "bottom"
19487    | "middle"
19488    | "sub"
19489    | "super"
19490    | "text-bottom"
19491    | "text-top"
19492    | "top"
19493    | (string & {});
19494
19495  export type Visibility = Globals | "collapse" | "hidden" | "visible";
19496
19497  export type WhiteSpace = Globals | "-moz-pre-wrap" | "break-spaces" | "normal" | "nowrap" | "pre" | "pre-line" | "pre-wrap";
19498
19499  export type Widows = Globals | (number & {});
19500
19501  export type Width<TLength = (string & {}) | 0> =
19502    | Globals
19503    | TLength
19504    | "-moz-fit-content"
19505    | "-moz-max-content"
19506    | "-moz-min-content"
19507    | "-webkit-fit-content"
19508    | "-webkit-max-content"
19509    | "auto"
19510    | "fit-content"
19511    | "intrinsic"
19512    | "max-content"
19513    | "min-content"
19514    | "min-intrinsic"
19515    | (string & {});
19516
19517  export type WillChange = Globals | DataType.AnimateableFeature | "auto" | (string & {});
19518
19519  export type WordBreak = Globals | "break-all" | "break-word" | "keep-all" | "normal";
19520
19521  export type WordSpacing<TLength = (string & {}) | 0> = Globals | TLength | "normal" | (string & {});
19522
19523  export type WordWrap = Globals | "break-word" | "normal";
19524
19525  export type WritingMode = Globals | "horizontal-tb" | "sideways-lr" | "sideways-rl" | "vertical-lr" | "vertical-rl";
19526
19527  export type ZIndex = Globals | "auto" | (number & {});
19528
19529  export type Zoom = Globals | "normal" | "reset" | (string & {}) | (number & {});
19530
19531  export type MozAppearance =
19532    | Globals
19533    | "-moz-mac-unified-toolbar"
19534    | "-moz-win-borderless-glass"
19535    | "-moz-win-browsertabbar-toolbox"
19536    | "-moz-win-communications-toolbox"
19537    | "-moz-win-communicationstext"
19538    | "-moz-win-exclude-glass"
19539    | "-moz-win-glass"
19540    | "-moz-win-media-toolbox"
19541    | "-moz-win-mediatext"
19542    | "-moz-window-button-box"
19543    | "-moz-window-button-box-maximized"
19544    | "-moz-window-button-close"
19545    | "-moz-window-button-maximize"
19546    | "-moz-window-button-minimize"
19547    | "-moz-window-button-restore"
19548    | "-moz-window-frame-bottom"
19549    | "-moz-window-frame-left"
19550    | "-moz-window-frame-right"
19551    | "-moz-window-titlebar"
19552    | "-moz-window-titlebar-maximized"
19553    | "button"
19554    | "button-arrow-down"
19555    | "button-arrow-next"
19556    | "button-arrow-previous"
19557    | "button-arrow-up"
19558    | "button-bevel"
19559    | "button-focus"
19560    | "caret"
19561    | "checkbox"
19562    | "checkbox-container"
19563    | "checkbox-label"
19564    | "checkmenuitem"
19565    | "dualbutton"
19566    | "groupbox"
19567    | "listbox"
19568    | "listitem"
19569    | "menuarrow"
19570    | "menubar"
19571    | "menucheckbox"
19572    | "menuimage"
19573    | "menuitem"
19574    | "menuitemtext"
19575    | "menulist"
19576    | "menulist-button"
19577    | "menulist-text"
19578    | "menulist-textfield"
19579    | "menupopup"
19580    | "menuradio"
19581    | "menuseparator"
19582    | "meterbar"
19583    | "meterchunk"
19584    | "none"
19585    | "progressbar"
19586    | "progressbar-vertical"
19587    | "progresschunk"
19588    | "progresschunk-vertical"
19589    | "radio"
19590    | "radio-container"
19591    | "radio-label"
19592    | "radiomenuitem"
19593    | "range"
19594    | "range-thumb"
19595    | "resizer"
19596    | "resizerpanel"
19597    | "scale-horizontal"
19598    | "scale-vertical"
19599    | "scalethumb-horizontal"
19600    | "scalethumb-vertical"
19601    | "scalethumbend"
19602    | "scalethumbstart"
19603    | "scalethumbtick"
19604    | "scrollbarbutton-down"
19605    | "scrollbarbutton-left"
19606    | "scrollbarbutton-right"
19607    | "scrollbarbutton-up"
19608    | "scrollbarthumb-horizontal"
19609    | "scrollbarthumb-vertical"
19610    | "scrollbartrack-horizontal"
19611    | "scrollbartrack-vertical"
19612    | "searchfield"
19613    | "separator"
19614    | "sheet"
19615    | "spinner"
19616    | "spinner-downbutton"
19617    | "spinner-textfield"
19618    | "spinner-upbutton"
19619    | "splitter"
19620    | "statusbar"
19621    | "statusbarpanel"
19622    | "tab"
19623    | "tab-scroll-arrow-back"
19624    | "tab-scroll-arrow-forward"
19625    | "tabpanel"
19626    | "tabpanels"
19627    | "textfield"
19628    | "textfield-multiline"
19629    | "toolbar"
19630    | "toolbarbutton"
19631    | "toolbarbutton-dropdown"
19632    | "toolbargripper"
19633    | "toolbox"
19634    | "tooltip"
19635    | "treeheader"
19636    | "treeheadercell"
19637    | "treeheadersortarrow"
19638    | "treeitem"
19639    | "treeline"
19640    | "treetwisty"
19641    | "treetwistyopen"
19642    | "treeview";
19643
19644  export type MozBinding = Globals | "none" | (string & {});
19645
19646  export type MozBorderBottomColors = Globals | DataType.Color | "none" | (string & {});
19647
19648  export type MozBorderLeftColors = Globals | DataType.Color | "none" | (string & {});
19649
19650  export type MozBorderRightColors = Globals | DataType.Color | "none" | (string & {});
19651
19652  export type MozBorderTopColors = Globals | DataType.Color | "none" | (string & {});
19653
19654  export type MozContextProperties = Globals | "fill" | "fill-opacity" | "none" | "stroke" | "stroke-opacity" | (string & {});
19655
19656  export type MozFloatEdge = Globals | "border-box" | "content-box" | "margin-box" | "padding-box";
19657
19658  export type MozForceBrokenImageIcon = Globals | (number & {});
19659
19660  export type MozImageRegion = Globals | "auto" | (string & {});
19661
19662  export type MozOrient = Globals | "block" | "horizontal" | "inline" | "vertical";
19663
19664  export type MozOutlineRadius<TLength = (string & {}) | 0> = Globals | TLength | (string & {});
19665
19666  export type MozOutlineRadiusBottomleft<TLength = (string & {}) | 0> = Globals | TLength | (string & {});
19667
19668  export type MozOutlineRadiusBottomright<TLength = (string & {}) | 0> = Globals | TLength | (string & {});
19669
19670  export type MozOutlineRadiusTopleft<TLength = (string & {}) | 0> = Globals | TLength | (string & {});
19671
19672  export type MozOutlineRadiusTopright<TLength = (string & {}) | 0> = Globals | TLength | (string & {});
19673
19674  export type MozStackSizing = Globals | "ignore" | "stretch-to-fit";
19675
19676  export type MozTextBlink = Globals | "blink" | "none";
19677
19678  export type MozUserFocus = Globals | "ignore" | "none" | "normal" | "select-after" | "select-all" | "select-before" | "select-menu" | "select-same";
19679
19680  export type MozUserInput = Globals | "auto" | "disabled" | "enabled" | "none";
19681
19682  export type MozUserModify = Globals | "read-only" | "read-write" | "write-only";
19683
19684  export type MozWindowDragging = Globals | "drag" | "no-drag";
19685
19686  export type MozWindowShadow = Globals | "default" | "menu" | "none" | "sheet" | "tooltip";
19687
19688  export type MsAccelerator = Globals | "false" | "true";
19689
19690  export type MsBlockProgression = Globals | "bt" | "lr" | "rl" | "tb";
19691
19692  export type MsContentZoomChaining = Globals | "chained" | "none";
19693
19694  export type MsContentZoomLimit = Globals | (string & {});
19695
19696  export type MsContentZoomLimitMax = Globals | (string & {});
19697
19698  export type MsContentZoomLimitMin = Globals | (string & {});
19699
19700  export type MsContentZoomSnap = Globals | "mandatory" | "none" | "proximity" | (string & {});
19701
19702  export type MsContentZoomSnapPoints = Globals | (string & {});
19703
19704  export type MsContentZoomSnapType = Globals | "mandatory" | "none" | "proximity";
19705
19706  export type MsContentZooming = Globals | "none" | "zoom";
19707
19708  export type MsFilter = Globals | (string & {});
19709
19710  export type MsFlowFrom = Globals | "none" | (string & {});
19711
19712  export type MsFlowInto = Globals | "none" | (string & {});
19713
19714  export type MsGridColumns<TLength = (string & {}) | 0> = Globals | DataType.TrackBreadth<TLength> | "none" | (string & {});
19715
19716  export type MsGridRows<TLength = (string & {}) | 0> = Globals | DataType.TrackBreadth<TLength> | "none" | (string & {});
19717
19718  export type MsHighContrastAdjust = Globals | "auto" | "none";
19719
19720  export type MsHyphenateLimitChars = Globals | "auto" | (string & {}) | (number & {});
19721
19722  export type MsHyphenateLimitLines = Globals | "no-limit" | (number & {});
19723
19724  export type MsHyphenateLimitZone<TLength = (string & {}) | 0> = Globals | TLength | (string & {});
19725
19726  export type MsImeAlign = Globals | "after" | "auto";
19727
19728  export type MsOverflowStyle = Globals | "-ms-autohiding-scrollbar" | "auto" | "none" | "scrollbar";
19729
19730  export type MsScrollChaining = Globals | "chained" | "none";
19731
19732  export type MsScrollLimit = Globals | (string & {});
19733
19734  export type MsScrollLimitXMax<TLength = (string & {}) | 0> = Globals | TLength | "auto";
19735
19736  export type MsScrollLimitXMin<TLength = (string & {}) | 0> = Globals | TLength;
19737
19738  export type MsScrollLimitYMax<TLength = (string & {}) | 0> = Globals | TLength | "auto";
19739
19740  export type MsScrollLimitYMin<TLength = (string & {}) | 0> = Globals | TLength;
19741
19742  export type MsScrollRails = Globals | "none" | "railed";
19743
19744  export type MsScrollSnapPointsX = Globals | (string & {});
19745
19746  export type MsScrollSnapPointsY = Globals | (string & {});
19747
19748  export type MsScrollSnapType = Globals | "mandatory" | "none" | "proximity";
19749
19750  export type MsScrollSnapX = Globals | (string & {});
19751
19752  export type MsScrollSnapY = Globals | (string & {});
19753
19754  export type MsScrollTranslation = Globals | "none" | "vertical-to-horizontal";
19755
19756  export type MsScrollbar3dlightColor = Globals | DataType.Color;
19757
19758  export type MsScrollbarArrowColor = Globals | DataType.Color;
19759
19760  export type MsScrollbarBaseColor = Globals | DataType.Color;
19761
19762  export type MsScrollbarDarkshadowColor = Globals | DataType.Color;
19763
19764  export type MsScrollbarFaceColor = Globals | DataType.Color;
19765
19766  export type MsScrollbarHighlightColor = Globals | DataType.Color;
19767
19768  export type MsScrollbarShadowColor = Globals | DataType.Color;
19769
19770  export type MsTextAutospace = Globals | "ideograph-alpha" | "ideograph-numeric" | "ideograph-parenthesis" | "ideograph-space" | "none";
19771
19772  export type MsTouchSelect = Globals | "grippers" | "none";
19773
19774  export type MsUserSelect = Globals | "element" | "none" | "text";
19775
19776  export type MsWrapFlow = Globals | "auto" | "both" | "clear" | "end" | "maximum" | "start";
19777
19778  export type MsWrapMargin<TLength = (string & {}) | 0> = Globals | TLength;
19779
19780  export type MsWrapThrough = Globals | "none" | "wrap";
19781
19782  export type WebkitAppearance =
19783    | Globals
19784    | "-apple-pay-button"
19785    | "button"
19786    | "button-bevel"
19787    | "caret"
19788    | "checkbox"
19789    | "default-button"
19790    | "inner-spin-button"
19791    | "listbox"
19792    | "listitem"
19793    | "media-controls-background"
19794    | "media-controls-fullscreen-background"
19795    | "media-current-time-display"
19796    | "media-enter-fullscreen-button"
19797    | "media-exit-fullscreen-button"
19798    | "media-fullscreen-button"
19799    | "media-mute-button"
19800    | "media-overlay-play-button"
19801    | "media-play-button"
19802    | "media-seek-back-button"
19803    | "media-seek-forward-button"
19804    | "media-slider"
19805    | "media-sliderthumb"
19806    | "media-time-remaining-display"
19807    | "media-toggle-closed-captions-button"
19808    | "media-volume-slider"
19809    | "media-volume-slider-container"
19810    | "media-volume-sliderthumb"
19811    | "menulist"
19812    | "menulist-button"
19813    | "menulist-text"
19814    | "menulist-textfield"
19815    | "meter"
19816    | "none"
19817    | "progress-bar"
19818    | "progress-bar-value"
19819    | "push-button"
19820    | "radio"
19821    | "searchfield"
19822    | "searchfield-cancel-button"
19823    | "searchfield-decoration"
19824    | "searchfield-results-button"
19825    | "searchfield-results-decoration"
19826    | "slider-horizontal"
19827    | "slider-vertical"
19828    | "sliderthumb-horizontal"
19829    | "sliderthumb-vertical"
19830    | "square-button"
19831    | "textarea"
19832    | "textfield";
19833
19834  export type WebkitBorderBefore<TLength = (string & {}) | 0> = Globals | DataType.LineWidth<TLength> | DataType.LineStyle | DataType.Color | (string & {});
19835
19836  export type WebkitBorderBeforeColor = Globals | DataType.Color;
19837
19838  export type WebkitBorderBeforeStyle = Globals | DataType.LineStyle | (string & {});
19839
19840  export type WebkitBorderBeforeWidth<TLength = (string & {}) | 0> = Globals | DataType.LineWidth<TLength> | (string & {});
19841
19842  export type WebkitBoxReflect<TLength = (string & {}) | 0> = Globals | TLength | "above" | "below" | "left" | "right" | (string & {});
19843
19844  export type WebkitLineClamp = Globals | "none" | (number & {});
19845
19846  export type WebkitMask<TLength = (string & {}) | 0> =
19847    | Globals
19848    | DataType.Position<TLength>
19849    | DataType.RepeatStyle
19850    | DataType.Box
19851    | "border"
19852    | "content"
19853    | "none"
19854    | "padding"
19855    | "text"
19856    | (string & {});
19857
19858  export type WebkitMaskAttachment = Globals | DataType.Attachment | (string & {});
19859
19860  export type WebkitMaskClip = Globals | DataType.Box | "border" | "content" | "padding" | "text" | (string & {});
19861
19862  export type WebkitMaskComposite = Globals | DataType.CompositeStyle | (string & {});
19863
19864  export type WebkitMaskImage = Globals | "none" | (string & {});
19865
19866  export type WebkitMaskOrigin = Globals | DataType.Box | "border" | "content" | "padding" | (string & {});
19867
19868  export type WebkitMaskPosition<TLength = (string & {}) | 0> = Globals | DataType.Position<TLength> | (string & {});
19869
19870  export type WebkitMaskPositionX<TLength = (string & {}) | 0> = Globals | TLength | "center" | "left" | "right" | (string & {});
19871
19872  export type WebkitMaskPositionY<TLength = (string & {}) | 0> = Globals | TLength | "bottom" | "center" | "top" | (string & {});
19873
19874  export type WebkitMaskRepeat = Globals | DataType.RepeatStyle | (string & {});
19875
19876  export type WebkitMaskRepeatX = Globals | "no-repeat" | "repeat" | "round" | "space";
19877
19878  export type WebkitMaskRepeatY = Globals | "no-repeat" | "repeat" | "round" | "space";
19879
19880  export type WebkitMaskSize<TLength = (string & {}) | 0> = Globals | DataType.BgSize<TLength> | (string & {});
19881
19882  export type WebkitOverflowScrolling = Globals | "auto" | "touch";
19883
19884  export type WebkitTapHighlightColor = Globals | DataType.Color;
19885
19886  export type WebkitTextFillColor = Globals | DataType.Color;
19887
19888  export type WebkitTextStroke<TLength = (string & {}) | 0> = Globals | DataType.Color | TLength | (string & {});
19889
19890  export type WebkitTextStrokeColor = Globals | DataType.Color;
19891
19892  export type WebkitTextStrokeWidth<TLength = (string & {}) | 0> = Globals | TLength;
19893
19894  export type WebkitTouchCallout = Globals | "default" | "none";
19895
19896  export type WebkitUserModify = Globals | "read-only" | "read-write" | "read-write-plaintext-only";
19897
19898  export type AlignmentBaseline =
19899    | Globals
19900    | "after-edge"
19901    | "alphabetic"
19902    | "auto"
19903    | "baseline"
19904    | "before-edge"
19905    | "central"
19906    | "hanging"
19907    | "ideographic"
19908    | "mathematical"
19909    | "middle"
19910    | "text-after-edge"
19911    | "text-before-edge";
19912
19913  export type BaselineShift<TLength = (string & {}) | 0> = Globals | TLength | "baseline" | "sub" | "super" | (string & {});
19914
19915  export type ClipRule = Globals | "evenodd" | "nonzero";
19916
19917  export type ColorInterpolation = Globals | "auto" | "linearRGB" | "sRGB";
19918
19919  export type ColorRendering = Globals | "auto" | "optimizeQuality" | "optimizeSpeed";
19920
19921  export type DominantBaseline =
19922    | Globals
19923    | "alphabetic"
19924    | "auto"
19925    | "central"
19926    | "hanging"
19927    | "ideographic"
19928    | "mathematical"
19929    | "middle"
19930    | "no-change"
19931    | "reset-size"
19932    | "text-after-edge"
19933    | "text-before-edge"
19934    | "use-script";
19935
19936  export type Fill = Globals | DataType.Paint;
19937
19938  export type FillOpacity = Globals | (number & {});
19939
19940  export type FillRule = Globals | "evenodd" | "nonzero";
19941
19942  export type FloodColor = Globals | DataType.Color | "currentColor";
19943
19944  export type FloodOpacity = Globals | (number & {});
19945
19946  export type GlyphOrientationVertical = Globals | "auto" | (string & {}) | (number & {});
19947
19948  export type LightingColor = Globals | DataType.Color | "currentColor";
19949
19950  export type Marker = Globals | "none" | (string & {});
19951
19952  export type MarkerEnd = Globals | "none" | (string & {});
19953
19954  export type MarkerMid = Globals | "none" | (string & {});
19955
19956  export type MarkerStart = Globals | "none" | (string & {});
19957
19958  export type ShapeRendering = Globals | "auto" | "crispEdges" | "geometricPrecision" | "optimizeSpeed";
19959
19960  export type StopColor = Globals | DataType.Color | "currentColor";
19961
19962  export type StopOpacity = Globals | (number & {});
19963
19964  export type Stroke = Globals | DataType.Paint;
19965
19966  export type StrokeDasharray<TLength = (string & {}) | 0> = Globals | DataType.Dasharray<TLength> | "none";
19967
19968  export type StrokeDashoffset<TLength = (string & {}) | 0> = Globals | TLength | (string & {});
19969
19970  export type StrokeLinecap = Globals | "butt" | "round" | "square";
19971
19972  export type StrokeLinejoin = Globals | "bevel" | "miter" | "round";
19973
19974  export type StrokeMiterlimit = Globals | (number & {});
19975
19976  export type StrokeOpacity = Globals | (number & {});
19977
19978  export type StrokeWidth<TLength = (string & {}) | 0> = Globals | TLength | (string & {});
19979
19980  export type TextAnchor = Globals | "end" | "middle" | "start";
19981
19982  export type VectorEffect = Globals | "non-scaling-stroke" | "none";
19983}
19984
19985export namespace AtRule {
19986  export interface CounterStyle<TLength = (string & {}) | 0, TTime = string & {}> {
19987    additiveSymbols?: string;
19988    fallback?: string;
19989    negative?: string;
19990    pad?: string;
19991    prefix?: string;
19992    range?: Range;
19993    speakAs?: SpeakAs;
19994    suffix?: string;
19995    symbols?: string;
19996    system?: System;
19997  }
19998
19999  export interface CounterStyleHyphen<TLength = (string & {}) | 0, TTime = string & {}> {
20000    "additive-symbols"?: string;
20001    fallback?: string;
20002    negative?: string;
20003    pad?: string;
20004    prefix?: string;
20005    range?: Range;
20006    "speak-as"?: SpeakAs;
20007    suffix?: string;
20008    symbols?: string;
20009    system?: System;
20010  }
20011
20012  export type CounterStyleFallback<TLength = (string & {}) | 0, TTime = string & {}> = {
20013    [P in keyof CounterStyle<TLength, TTime>]: CounterStyle<TLength, TTime>[P] | CounterStyle<TLength, TTime>[P][];
20014  };
20015
20016  export type CounterStyleHyphenFallback<TLength = (string & {}) | 0, TTime = string & {}> = {
20017    [P in keyof CounterStyleHyphen<TLength, TTime>]: CounterStyleHyphen<TLength, TTime>[P] | CounterStyleHyphen<TLength, TTime>[P][];
20018  };
20019
20020  export interface FontFace<TLength = (string & {}) | 0, TTime = string & {}> {
20021    MozFontFeatureSettings?: FontFeatureSettings;
20022    fontDisplay?: FontDisplay;
20023    fontFamily?: string;
20024    fontFeatureSettings?: FontFeatureSettings;
20025    fontStretch?: FontStretch;
20026    fontStyle?: FontStyle;
20027    fontVariant?: FontVariant;
20028    fontVariationSettings?: FontVariationSettings;
20029    fontWeight?: FontWeight;
20030    src?: string;
20031    unicodeRange?: string;
20032  }
20033
20034  export interface FontFaceHyphen<TLength = (string & {}) | 0, TTime = string & {}> {
20035    "-moz-font-feature-settings"?: FontFeatureSettings;
20036    "font-display"?: FontDisplay;
20037    "font-family"?: string;
20038    "font-feature-settings"?: FontFeatureSettings;
20039    "font-stretch"?: FontStretch;
20040    "font-style"?: FontStyle;
20041    "font-variant"?: FontVariant;
20042    "font-variation-settings"?: FontVariationSettings;
20043    "font-weight"?: FontWeight;
20044    src?: string;
20045    "unicode-range"?: string;
20046  }
20047
20048  export type FontFaceFallback<TLength = (string & {}) | 0, TTime = string & {}> = {
20049    [P in keyof FontFace<TLength, TTime>]: FontFace<TLength, TTime>[P] | FontFace<TLength, TTime>[P][];
20050  };
20051
20052  export type FontFaceHyphenFallback<TLength = (string & {}) | 0, TTime = string & {}> = {
20053    [P in keyof FontFaceHyphen<TLength, TTime>]: FontFaceHyphen<TLength, TTime>[P] | FontFaceHyphen<TLength, TTime>[P][];
20054  };
20055
20056  export interface Page<TLength = (string & {}) | 0, TTime = string & {}> {
20057    size?: Size<TLength>;
20058  }
20059
20060  export interface PageHyphen<TLength = (string & {}) | 0, TTime = string & {}> {
20061    size?: Size<TLength>;
20062  }
20063
20064  export type PageFallback<TLength = (string & {}) | 0, TTime = string & {}> = {
20065    [P in keyof Page<TLength, TTime>]: Page<TLength, TTime>[P] | Page<TLength, TTime>[P][];
20066  };
20067
20068  export type PageHyphenFallback<TLength = (string & {}) | 0, TTime = string & {}> = {
20069    [P in keyof PageHyphen<TLength, TTime>]: PageHyphen<TLength, TTime>[P] | PageHyphen<TLength, TTime>[P][];
20070  };
20071
20072  export interface Property<TLength = (string & {}) | 0, TTime = string & {}> {
20073    inherits?: Inherits;
20074    initialValue?: string;
20075    syntax?: string;
20076  }
20077
20078  export interface PropertyHyphen<TLength = (string & {}) | 0, TTime = string & {}> {
20079    inherits?: Inherits;
20080    "initial-value"?: string;
20081    syntax?: string;
20082  }
20083
20084  export type PropertyFallback<TLength = (string & {}) | 0, TTime = string & {}> = {
20085    [P in keyof Property<TLength, TTime>]: Property<TLength, TTime>[P] | Property<TLength, TTime>[P][];
20086  };
20087
20088  export type PropertyHyphenFallback<TLength = (string & {}) | 0, TTime = string & {}> = {
20089    [P in keyof PropertyHyphen<TLength, TTime>]: PropertyHyphen<TLength, TTime>[P] | PropertyHyphen<TLength, TTime>[P][];
20090  };
20091
20092  export interface Viewport<TLength = (string & {}) | 0, TTime = string & {}> {
20093    height?: Height<TLength>;
20094    maxHeight?: MaxHeight<TLength>;
20095    maxWidth?: MaxWidth<TLength>;
20096    maxZoom?: MaxZoom;
20097    minHeight?: MinHeight<TLength>;
20098    minWidth?: MinWidth<TLength>;
20099    minZoom?: MinZoom;
20100    orientation?: Orientation;
20101    userZoom?: UserZoom;
20102    viewportFit?: ViewportFit;
20103    width?: Width<TLength>;
20104    zoom?: Zoom;
20105  }
20106
20107  export interface ViewportHyphen<TLength = (string & {}) | 0, TTime = string & {}> {
20108    height?: Height<TLength>;
20109    "max-height"?: MaxHeight<TLength>;
20110    "max-width"?: MaxWidth<TLength>;
20111    "max-zoom"?: MaxZoom;
20112    "min-height"?: MinHeight<TLength>;
20113    "min-width"?: MinWidth<TLength>;
20114    "min-zoom"?: MinZoom;
20115    orientation?: Orientation;
20116    "user-zoom"?: UserZoom;
20117    "viewport-fit"?: ViewportFit;
20118    width?: Width<TLength>;
20119    zoom?: Zoom;
20120  }
20121
20122  export type ViewportFallback<TLength = (string & {}) | 0, TTime = string & {}> = {
20123    [P in keyof Viewport<TLength, TTime>]: Viewport<TLength, TTime>[P] | Viewport<TLength, TTime>[P][];
20124  };
20125
20126  export type ViewportHyphenFallback<TLength = (string & {}) | 0, TTime = string & {}> = {
20127    [P in keyof ViewportHyphen<TLength, TTime>]: ViewportHyphen<TLength, TTime>[P] | ViewportHyphen<TLength, TTime>[P][];
20128  };
20129
20130  type Range = "auto" | "infinite" | (string & {}) | (number & {});
20131
20132  type SpeakAs = "auto" | "bullets" | "numbers" | "spell-out" | "words" | (string & {});
20133
20134  type System = "additive" | "alphabetic" | "cyclic" | "fixed" | "numeric" | "symbolic" | (string & {});
20135
20136  type FontFeatureSettings = "normal" | (string & {});
20137
20138  type FontDisplay = "auto" | "block" | "fallback" | "optional" | "swap";
20139
20140  type FontStretch = DataType.FontStretchAbsolute | (string & {});
20141
20142  type FontStyle = "italic" | "normal" | "oblique" | (string & {});
20143
20144  type FontVariant =
20145    | DataType.EastAsianVariantValues
20146    | "all-petite-caps"
20147    | "all-small-caps"
20148    | "common-ligatures"
20149    | "contextual"
20150    | "diagonal-fractions"
20151    | "discretionary-ligatures"
20152    | "full-width"
20153    | "historical-forms"
20154    | "historical-ligatures"
20155    | "lining-nums"
20156    | "no-common-ligatures"
20157    | "no-contextual"
20158    | "no-discretionary-ligatures"
20159    | "no-historical-ligatures"
20160    | "none"
20161    | "normal"
20162    | "oldstyle-nums"
20163    | "ordinal"
20164    | "petite-caps"
20165    | "proportional-nums"
20166    | "proportional-width"
20167    | "ruby"
20168    | "slashed-zero"
20169    | "small-caps"
20170    | "stacked-fractions"
20171    | "tabular-nums"
20172    | "titling-caps"
20173    | "unicase"
20174    | (string & {});
20175
20176  type FontVariationSettings = "normal" | (string & {});
20177
20178  type FontWeight = DataType.FontWeightAbsolute | (string & {});
20179
20180  type Size<TLength> = DataType.PageSize | TLength | "auto" | "landscape" | "portrait" | (string & {});
20181
20182  type Inherits = "false" | "true";
20183
20184  type Height<TLength> = DataType.ViewportLength<TLength> | (string & {});
20185
20186  type MaxHeight<TLength> = DataType.ViewportLength<TLength>;
20187
20188  type MaxWidth<TLength> = DataType.ViewportLength<TLength>;
20189
20190  type MaxZoom = "auto" | (string & {}) | (number & {});
20191
20192  type MinHeight<TLength> = DataType.ViewportLength<TLength>;
20193
20194  type MinWidth<TLength> = DataType.ViewportLength<TLength>;
20195
20196  type MinZoom = "auto" | (string & {}) | (number & {});
20197
20198  type Orientation = "auto" | "landscape" | "portrait";
20199
20200  type UserZoom = "fixed" | "zoom";
20201
20202  type ViewportFit = "auto" | "contain" | "cover";
20203
20204  type Width<TLength> = DataType.ViewportLength<TLength> | (string & {});
20205
20206  type Zoom = "auto" | (string & {}) | (number & {});
20207}
20208
20209declare namespace DataType {
20210  type AbsoluteSize = "large" | "medium" | "small" | "x-large" | "x-small" | "xx-large" | "xx-small" | "xxx-large";
20211
20212  type AnimateableFeature = "contents" | "scroll-position" | (string & {});
20213
20214  type Attachment = "fixed" | "local" | "scroll";
20215
20216  type BgPosition<TLength> = TLength | "bottom" | "center" | "left" | "right" | "top" | (string & {});
20217
20218  type BgSize<TLength> = TLength | "auto" | "contain" | "cover" | (string & {});
20219
20220  type BlendMode =
20221    | "color"
20222    | "color-burn"
20223    | "color-dodge"
20224    | "darken"
20225    | "difference"
20226    | "exclusion"
20227    | "hard-light"
20228    | "hue"
20229    | "lighten"
20230    | "luminosity"
20231    | "multiply"
20232    | "normal"
20233    | "overlay"
20234    | "saturation"
20235    | "screen"
20236    | "soft-light";
20237
20238  type Box = "border-box" | "content-box" | "padding-box";
20239
20240  type Color = NamedColor | DeprecatedSystemColor | "currentcolor" | (string & {});
20241
20242  type CompatAuto =
20243    | "button"
20244    | "checkbox"
20245    | "listbox"
20246    | "menulist"
20247    | "meter"
20248    | "progress-bar"
20249    | "push-button"
20250    | "radio"
20251    | "searchfield"
20252    | "slider-horizontal"
20253    | "square-button"
20254    | "textarea";
20255
20256  type CompositeStyle =
20257    | "clear"
20258    | "copy"
20259    | "destination-atop"
20260    | "destination-in"
20261    | "destination-out"
20262    | "destination-over"
20263    | "source-atop"
20264    | "source-in"
20265    | "source-out"
20266    | "source-over"
20267    | "xor";
20268
20269  type CompositingOperator = "add" | "exclude" | "intersect" | "subtract";
20270
20271  type ContentDistribution = "space-around" | "space-between" | "space-evenly" | "stretch";
20272
20273  type ContentList = Quote | "contents" | (string & {});
20274
20275  type ContentPosition = "center" | "end" | "flex-end" | "flex-start" | "start";
20276
20277  type CubicBezierTimingFunction = "ease" | "ease-in" | "ease-in-out" | "ease-out" | (string & {});
20278
20279  type Dasharray<TLength> = TLength | (string & {}) | (number & {});
20280
20281  type DeprecatedSystemColor =
20282    | "ActiveBorder"
20283    | "ActiveCaption"
20284    | "AppWorkspace"
20285    | "Background"
20286    | "ButtonFace"
20287    | "ButtonHighlight"
20288    | "ButtonShadow"
20289    | "ButtonText"
20290    | "CaptionText"
20291    | "GrayText"
20292    | "Highlight"
20293    | "HighlightText"
20294    | "InactiveBorder"
20295    | "InactiveCaption"
20296    | "InactiveCaptionText"
20297    | "InfoBackground"
20298    | "InfoText"
20299    | "Menu"
20300    | "MenuText"
20301    | "Scrollbar"
20302    | "ThreeDDarkShadow"
20303    | "ThreeDFace"
20304    | "ThreeDHighlight"
20305    | "ThreeDLightShadow"
20306    | "ThreeDShadow"
20307    | "Window"
20308    | "WindowFrame"
20309    | "WindowText";
20310
20311  type DisplayInside = "-ms-flexbox" | "-ms-grid" | "-webkit-flex" | "flex" | "flow" | "flow-root" | "grid" | "ruby" | "table";
20312
20313  type DisplayInternal =
20314    | "ruby-base"
20315    | "ruby-base-container"
20316    | "ruby-text"
20317    | "ruby-text-container"
20318    | "table-caption"
20319    | "table-cell"
20320    | "table-column"
20321    | "table-column-group"
20322    | "table-footer-group"
20323    | "table-header-group"
20324    | "table-row"
20325    | "table-row-group";
20326
20327  type DisplayLegacy = "-ms-inline-flexbox" | "-ms-inline-grid" | "-webkit-inline-flex" | "inline-block" | "inline-flex" | "inline-grid" | "inline-list-item" | "inline-table";
20328
20329  type DisplayOutside = "block" | "inline" | "run-in";
20330
20331  type EasingFunction = CubicBezierTimingFunction | StepTimingFunction | "linear";
20332
20333  type EastAsianVariantValues = "jis04" | "jis78" | "jis83" | "jis90" | "simplified" | "traditional";
20334
20335  type FinalBgLayer<TLength> = Color | BgPosition<TLength> | RepeatStyle | Attachment | Box | "none" | (string & {});
20336
20337  type FontStretchAbsolute =
20338    | "condensed"
20339    | "expanded"
20340    | "extra-condensed"
20341    | "extra-expanded"
20342    | "normal"
20343    | "semi-condensed"
20344    | "semi-expanded"
20345    | "ultra-condensed"
20346    | "ultra-expanded"
20347    | (string & {});
20348
20349  type FontWeightAbsolute = "bold" | "normal" | (number & {});
20350
20351  type GenericFamily = "cursive" | "fantasy" | "monospace" | "sans-serif" | "serif";
20352
20353  type GeometryBox = Box | "fill-box" | "margin-box" | "stroke-box" | "view-box";
20354
20355  type GridLine = "auto" | (string & {}) | (number & {});
20356
20357  type LineStyle = "dashed" | "dotted" | "double" | "groove" | "hidden" | "inset" | "none" | "outset" | "ridge" | "solid";
20358
20359  type LineWidth<TLength> = TLength | "medium" | "thick" | "thin";
20360
20361  type MaskLayer<TLength> = Position<TLength> | RepeatStyle | GeometryBox | CompositingOperator | MaskingMode | "no-clip" | "none" | (string & {});
20362
20363  type MaskingMode = "alpha" | "luminance" | "match-source";
20364
20365  type NamedColor =
20366    | "aliceblue"
20367    | "antiquewhite"
20368    | "aqua"
20369    | "aquamarine"
20370    | "azure"
20371    | "beige"
20372    | "bisque"
20373    | "black"
20374    | "blanchedalmond"
20375    | "blue"
20376    | "blueviolet"
20377    | "brown"
20378    | "burlywood"
20379    | "cadetblue"
20380    | "chartreuse"
20381    | "chocolate"
20382    | "coral"
20383    | "cornflowerblue"
20384    | "cornsilk"
20385    | "crimson"
20386    | "cyan"
20387    | "darkblue"
20388    | "darkcyan"
20389    | "darkgoldenrod"
20390    | "darkgray"
20391    | "darkgreen"
20392    | "darkgrey"
20393    | "darkkhaki"
20394    | "darkmagenta"
20395    | "darkolivegreen"
20396    | "darkorange"
20397    | "darkorchid"
20398    | "darkred"
20399    | "darksalmon"
20400    | "darkseagreen"
20401    | "darkslateblue"
20402    | "darkslategray"
20403    | "darkslategrey"
20404    | "darkturquoise"
20405    | "darkviolet"
20406    | "deeppink"
20407    | "deepskyblue"
20408    | "dimgray"
20409    | "dimgrey"
20410    | "dodgerblue"
20411    | "firebrick"
20412    | "floralwhite"
20413    | "forestgreen"
20414    | "fuchsia"
20415    | "gainsboro"
20416    | "ghostwhite"
20417    | "gold"
20418    | "goldenrod"
20419    | "gray"
20420    | "green"
20421    | "greenyellow"
20422    | "grey"
20423    | "honeydew"
20424    | "hotpink"
20425    | "indianred"
20426    | "indigo"
20427    | "ivory"
20428    | "khaki"
20429    | "lavender"
20430    | "lavenderblush"
20431    | "lawngreen"
20432    | "lemonchiffon"
20433    | "lightblue"
20434    | "lightcoral"
20435    | "lightcyan"
20436    | "lightgoldenrodyellow"
20437    | "lightgray"
20438    | "lightgreen"
20439    | "lightgrey"
20440    | "lightpink"
20441    | "lightsalmon"
20442    | "lightseagreen"
20443    | "lightskyblue"
20444    | "lightslategray"
20445    | "lightslategrey"
20446    | "lightsteelblue"
20447    | "lightyellow"
20448    | "lime"
20449    | "limegreen"
20450    | "linen"
20451    | "magenta"
20452    | "maroon"
20453    | "mediumaquamarine"
20454    | "mediumblue"
20455    | "mediumorchid"
20456    | "mediumpurple"
20457    | "mediumseagreen"
20458    | "mediumslateblue"
20459    | "mediumspringgreen"
20460    | "mediumturquoise"
20461    | "mediumvioletred"
20462    | "midnightblue"
20463    | "mintcream"
20464    | "mistyrose"
20465    | "moccasin"
20466    | "navajowhite"
20467    | "navy"
20468    | "oldlace"
20469    | "olive"
20470    | "olivedrab"
20471    | "orange"
20472    | "orangered"
20473    | "orchid"
20474    | "palegoldenrod"
20475    | "palegreen"
20476    | "paleturquoise"
20477    | "palevioletred"
20478    | "papayawhip"
20479    | "peachpuff"
20480    | "peru"
20481    | "pink"
20482    | "plum"
20483    | "powderblue"
20484    | "purple"
20485    | "rebeccapurple"
20486    | "red"
20487    | "rosybrown"
20488    | "royalblue"
20489    | "saddlebrown"
20490    | "salmon"
20491    | "sandybrown"
20492    | "seagreen"
20493    | "seashell"
20494    | "sienna"
20495    | "silver"
20496    | "skyblue"
20497    | "slateblue"
20498    | "slategray"
20499    | "slategrey"
20500    | "snow"
20501    | "springgreen"
20502    | "steelblue"
20503    | "tan"
20504    | "teal"
20505    | "thistle"
20506    | "tomato"
20507    | "transparent"
20508    | "turquoise"
20509    | "violet"
20510    | "wheat"
20511    | "white"
20512    | "whitesmoke"
20513    | "yellow"
20514    | "yellowgreen";
20515
20516  type PageSize = "A3" | "A4" | "A5" | "B4" | "B5" | "JIS-B4" | "JIS-B5" | "ledger" | "legal" | "letter";
20517
20518  type Paint = Color | "child" | "context-fill" | "context-stroke" | "none" | (string & {});
20519
20520  type Position<TLength> = TLength | "bottom" | "center" | "left" | "right" | "top" | (string & {});
20521
20522  type Quote = "close-quote" | "no-close-quote" | "no-open-quote" | "open-quote";
20523
20524  type RepeatStyle = "no-repeat" | "repeat" | "repeat-x" | "repeat-y" | "round" | "space" | (string & {});
20525
20526  type SelfPosition = "center" | "end" | "flex-end" | "flex-start" | "self-end" | "self-start" | "start";
20527
20528  type SingleAnimation<TTime> =
20529    | EasingFunction
20530    | SingleAnimationDirection
20531    | SingleAnimationFillMode
20532    | TTime
20533    | "infinite"
20534    | "none"
20535    | "paused"
20536    | "running"
20537    | (string & {})
20538    | (number & {});
20539
20540  type SingleAnimationDirection = "alternate" | "alternate-reverse" | "normal" | "reverse";
20541
20542  type SingleAnimationFillMode = "backwards" | "both" | "forwards" | "none";
20543
20544  type SingleTransition<TTime> = EasingFunction | TTime | "all" | "none" | (string & {});
20545
20546  type StepTimingFunction = "step-end" | "step-start" | (string & {});
20547
20548  type TrackBreadth<TLength> = TLength | "auto" | "max-content" | "min-content" | (string & {});
20549
20550  type ViewportLength<TLength> = TLength | "auto" | (string & {});
20551
20552  type VisualBox = "border-box" | "content-box" | "padding-box";
20553}
20554