1export interface StandardLonghandProperties<TLength = string | 0> {
2  /**
3   * The CSS **`align-content`** property sets how the browser distributes space between and around content items along the cross-axis of a flexbox container, and the main-axis of a grid container.
4   *
5   * **Syntax**: `normal | <baseline-position> | <content-distribution> | <overflow-position>? <content-position>`
6   *
7   * **Initial value**: `normal`
8   *
9   * ---
10   *
11   * _Supported in Flex Layout_
12   *
13   * |  Chrome  | Firefox |  Safari   |  Edge  |   IE   |
14   * | :------: | :-----: | :-------: | :----: | :----: |
15   * |  **29**  | **28**  |   **9**   | **12** | **11** |
16   * | 21 _-x-_ |         | 6.1 _-x-_ |        |        |
17   *
18   * ---
19   *
20   * _Supported in Grid Layout_
21   *
22   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
23   * | :----: | :-----: | :------: | :----: | :-: |
24   * | **57** | **52**  | **10.1** | **16** | No  |
25   *
26   * ---
27   *
28   * @see https://developer.mozilla.org/docs/Web/CSS/align-content
29   */
30  alignContent?: AlignContentProperty;
31  /**
32   * The CSS **`align-items`** property sets the `align-self` value on all direct children as a group. The align-self property sets the alignment of an item within its containing block. 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.
33   *
34   * **Syntax**: `normal | stretch | <baseline-position> | [ <overflow-position>? <self-position> ]`
35   *
36   * **Initial value**: `normal`
37   *
38   * ---
39   *
40   * _Supported in Flex Layout_
41   *
42   * |  Chrome  | Firefox | Safari  |  Edge  |   IE   |
43   * | :------: | :-----: | :-----: | :----: | :----: |
44   * |  **52**  | **20**  |  **9**  | **12** | **11** |
45   * | 21 _-x-_ |         | 7 _-x-_ |        |        |
46   *
47   * ---
48   *
49   * _Supported in Grid Layout_
50   *
51   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
52   * | :----: | :-----: | :------: | :----: | :-: |
53   * | **57** | **52**  | **10.1** | **16** | No  |
54   *
55   * ---
56   *
57   * @see https://developer.mozilla.org/docs/Web/CSS/align-items
58   */
59  alignItems?: AlignItemsProperty;
60  /**
61   * The **`align-self`** CSS property aligns flex items of the current flex line overriding the `align-items` value. If any of the item's cross-axis margin is set to `auto`, then `align-self` is ignored. In Grid layout `align-self` aligns the item inside the grid area.
62   *
63   * **Syntax**: `auto | normal | stretch | <baseline-position> | <overflow-position>? <self-position>`
64   *
65   * **Initial value**: `auto`
66   *
67   * ---
68   *
69   * _Supported in Flex Layout_
70   *
71   * |  Chrome  | Firefox |  Safari   |  Edge  |   IE   |
72   * | :------: | :-----: | :-------: | :----: | :----: |
73   * |  **36**  | **20**  |   **9**   | **12** | **11** |
74   * | 21 _-x-_ |         | 6.1 _-x-_ |        |        |
75   *
76   * ---
77   *
78   * _Supported in Grid Layout_
79   *
80   * | Chrome | Firefox |  Safari  |  Edge  |      IE      |
81   * | :----: | :-----: | :------: | :----: | :----------: |
82   * | **57** | **52**  | **10.1** | **16** | **10** _-x-_ |
83   *
84   * ---
85   *
86   * @see https://developer.mozilla.org/docs/Web/CSS/align-self
87   */
88  alignSelf?: AlignSelfProperty;
89  /**
90   * The **`animation-delay`** CSS property sets when an animation starts. The animation can start later, immediately from its beginning, or immediately and partway through the animation.
91   *
92   * **Syntax**: `<time>#`
93   *
94   * **Initial value**: `0s`
95   *
96   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
97   * | :-----: | :-----: | :-----: | :----: | :----: |
98   * | **43**  | **16**  |  **9**  | **12** | **10** |
99   * | 3 _-x-_ | 5 _-x-_ | 4 _-x-_ |        |        |
100   *
101   * @see https://developer.mozilla.org/docs/Web/CSS/animation-delay
102   */
103  animationDelay?: GlobalsString;
104  /**
105   * The **`animation-direction`** CSS property sets whether an animation should play forwards, backwards, or alternating back and forth.
106   *
107   * **Syntax**: `<single-animation-direction>#`
108   *
109   * **Initial value**: `normal`
110   *
111   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
112   * | :-----: | :-----: | :-----: | :----: | :----: |
113   * | **43**  | **16**  |  **9**  | **12** | **10** |
114   * | 3 _-x-_ | 5 _-x-_ | 4 _-x-_ |        |        |
115   *
116   * @see https://developer.mozilla.org/docs/Web/CSS/animation-direction
117   */
118  animationDirection?: AnimationDirectionProperty;
119  /**
120   * The **`animation-duration`** CSS property sets the length of time that an animation takes to complete one cycle.
121   *
122   * **Syntax**: `<time>#`
123   *
124   * **Initial value**: `0s`
125   *
126   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
127   * | :-----: | :-----: | :-----: | :----: | :----: |
128   * | **43**  | **16**  |  **9**  | **12** | **10** |
129   * | 3 _-x-_ | 5 _-x-_ | 4 _-x-_ |        |        |
130   *
131   * @see https://developer.mozilla.org/docs/Web/CSS/animation-duration
132   */
133  animationDuration?: GlobalsString;
134  /**
135   * The **`animation-fill-mode`** CSS property sets how a CSS animation applies styles to its target before and after its execution.
136   *
137   * **Syntax**: `<single-animation-fill-mode>#`
138   *
139   * **Initial value**: `none`
140   *
141   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
142   * | :-----: | :-----: | :-----: | :----: | :----: |
143   * | **43**  | **16**  |  **9**  | **12** | **10** |
144   * | 3 _-x-_ | 5 _-x-_ | 5 _-x-_ |        |        |
145   *
146   * @see https://developer.mozilla.org/docs/Web/CSS/animation-fill-mode
147   */
148  animationFillMode?: AnimationFillModeProperty;
149  /**
150   * The **`animation-iteration-count`** CSS property sets the number of times an animation cycle should be played before stopping.
151   *
152   * **Syntax**: `<single-animation-iteration-count>#`
153   *
154   * **Initial value**: `1`
155   *
156   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
157   * | :-----: | :-----: | :-----: | :----: | :----: |
158   * | **43**  | **16**  |  **9**  | **12** | **10** |
159   * | 3 _-x-_ | 5 _-x-_ | 4 _-x-_ |        |        |
160   *
161   * @see https://developer.mozilla.org/docs/Web/CSS/animation-iteration-count
162   */
163  animationIterationCount?: AnimationIterationCountProperty;
164  /**
165   * The **`animation-name`** CSS property sets one or more animations to apply to an element. Each name is an `@keyframes` at-rule that sets the property values for the animation sequence.
166   *
167   * **Syntax**: `[ none | <keyframes-name> ]#`
168   *
169   * **Initial value**: `none`
170   *
171   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
172   * | :-----: | :-----: | :-----: | :----: | :----: |
173   * | **43**  | **16**  |  **9**  | **12** | **10** |
174   * | 3 _-x-_ | 5 _-x-_ | 4 _-x-_ |        |        |
175   *
176   * @see https://developer.mozilla.org/docs/Web/CSS/animation-name
177   */
178  animationName?: AnimationNameProperty;
179  /**
180   * The **`animation-play-state`** CSS property sets whether an animation is running or paused.
181   *
182   * **Syntax**: `<single-animation-play-state>#`
183   *
184   * **Initial value**: `running`
185   *
186   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
187   * | :-----: | :-----: | :-----: | :----: | :----: |
188   * | **43**  | **16**  |  **9**  | **12** | **10** |
189   * | 3 _-x-_ | 5 _-x-_ | 4 _-x-_ |        |        |
190   *
191   * @see https://developer.mozilla.org/docs/Web/CSS/animation-play-state
192   */
193  animationPlayState?: AnimationPlayStateProperty;
194  /**
195   * The `**animation-timing-function**` CSS property sets how an animation progresses through the duration of each cycle.
196   *
197   * **Syntax**: `<timing-function>#`
198   *
199   * **Initial value**: `ease`
200   *
201   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
202   * | :-----: | :-----: | :-----: | :----: | :----: |
203   * | **43**  | **16**  |  **9**  | **12** | **10** |
204   * | 3 _-x-_ | 5 _-x-_ | 4 _-x-_ |        |        |
205   *
206   * @see https://developer.mozilla.org/docs/Web/CSS/animation-timing-function
207   */
208  animationTimingFunction?: AnimationTimingFunctionProperty;
209  /**
210   * The **`-moz-appearance`** CSS property is used in Gecko (Firefox) to display an element using platform-native styling based on the operating system's theme.
211   *
212   * **Syntax**: `none | auto | button | textfield | menulist-button | <compat-auto>`
213   *
214   * **Initial value**: `auto`
215   *
216   * |   Chrome    |   Firefox   |   Safari    |     Edge     | IE  |
217   * | :---------: | :---------: | :---------: | :----------: | :-: |
218   * | **1** _-x-_ | **1** _-x-_ | **3** _-x-_ | **12** _-x-_ | No  |
219   *
220   * @see https://developer.mozilla.org/docs/Web/CSS/appearance
221   */
222  appearance?: AppearanceProperty;
223  /**
224   * 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.
225   *
226   * **Syntax**: `auto | <ratio>`
227   *
228   * **Initial value**: `auto`
229   *
230   * | Chrome | Firefox | Safari |  Edge  | IE  |
231   * | :----: | :-----: | :----: | :----: | :-: |
232   * | **79** | **71**  |   No   | **79** | No  |
233   *
234   * @see https://developer.mozilla.org/docs/Web/CSS/aspect-ratio
235   */
236  aspectRatio?: AspectRatioProperty;
237  /**
238   * 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.
239   *
240   * **Syntax**: `none | <filter-function-list>`
241   *
242   * **Initial value**: `none`
243   *
244   * | Chrome | Firefox |   Safari    |  Edge  | IE  |
245   * | :----: | :-----: | :---------: | :----: | :-: |
246   * | **76** |   n/a   | **9** _-x-_ | **17** | No  |
247   *
248   * @see https://developer.mozilla.org/docs/Web/CSS/backdrop-filter
249   */
250  backdropFilter?: BackdropFilterProperty;
251  /**
252   * The **`backface-visibility`** CSS property sets whether the back face of an element is visible when turned towards the user.
253   *
254   * **Syntax**: `visible | hidden`
255   *
256   * **Initial value**: `visible`
257   *
258   * |  Chrome  | Firefox  |    Safari     |  Edge  |   IE   |
259   * | :------: | :------: | :-----------: | :----: | :----: |
260   * |  **36**  |  **16**  | **5.1** _-x-_ | **12** | **10** |
261   * | 12 _-x-_ | 10 _-x-_ |               |        |        |
262   *
263   * @see https://developer.mozilla.org/docs/Web/CSS/backface-visibility
264   */
265  backfaceVisibility?: BackfaceVisibilityProperty;
266  /**
267   * The **`background-attachment`** CSS property sets whether a background image's position is fixed within the viewport, or scrolls with its containing block.
268   *
269   * **Syntax**: `<attachment>#`
270   *
271   * **Initial value**: `scroll`
272   *
273   * | Chrome | Firefox | Safari |  Edge  |  IE   |
274   * | :----: | :-----: | :----: | :----: | :---: |
275   * | **1**  |  **1**  | **1**  | **12** | **4** |
276   *
277   * @see https://developer.mozilla.org/docs/Web/CSS/background-attachment
278   */
279  backgroundAttachment?: BackgroundAttachmentProperty;
280  /**
281   * 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.
282   *
283   * **Syntax**: `<blend-mode>#`
284   *
285   * **Initial value**: `normal`
286   *
287   * | Chrome | Firefox | Safari |  Edge  | IE  |
288   * | :----: | :-----: | :----: | :----: | :-: |
289   * | **35** | **30**  | **8**  | **79** | No  |
290   *
291   * @see https://developer.mozilla.org/docs/Web/CSS/background-blend-mode
292   */
293  backgroundBlendMode?: BackgroundBlendModeProperty;
294  /**
295   * The **`background-clip`** CSS property sets whether an element's background `<color>` or `<image>` extends underneath its border.
296   *
297   * **Syntax**: `<box>#`
298   *
299   * **Initial value**: `border-box`
300   *
301   * | Chrome | Firefox |   Safari    |  Edge  |  IE   |
302   * | :----: | :-----: | :---------: | :----: | :---: |
303   * | **1**  |  **4**  | **3** _-x-_ | **12** | **9** |
304   *
305   * @see https://developer.mozilla.org/docs/Web/CSS/background-clip
306   */
307  backgroundClip?: BackgroundClipProperty;
308  /**
309   * The **`background-color`** CSS property sets the background color of an element.
310   *
311   * **Syntax**: `<color>`
312   *
313   * **Initial value**: `transparent`
314   *
315   * | Chrome | Firefox | Safari |  Edge  |  IE   |
316   * | :----: | :-----: | :----: | :----: | :---: |
317   * | **1**  |  **1**  | **1**  | **12** | **4** |
318   *
319   * @see https://developer.mozilla.org/docs/Web/CSS/background-color
320   */
321  backgroundColor?: BackgroundColorProperty;
322  /**
323   * The **`background-image`** CSS property sets one or more background images on an element.
324   *
325   * **Syntax**: `<bg-image>#`
326   *
327   * **Initial value**: `none`
328   *
329   * | Chrome | Firefox | Safari |  Edge  |  IE   |
330   * | :----: | :-----: | :----: | :----: | :---: |
331   * | **1**  |  **1**  | **1**  | **12** | **4** |
332   *
333   * @see https://developer.mozilla.org/docs/Web/CSS/background-image
334   */
335  backgroundImage?: BackgroundImageProperty;
336  /**
337   * The **`background-origin`** CSS property sets the _background positioning area_. In other words, it sets the origin position of an image set with the `background-image` property.
338   *
339   * **Syntax**: `<box>#`
340   *
341   * **Initial value**: `padding-box`
342   *
343   * | Chrome | Firefox | Safari |  Edge  |  IE   |
344   * | :----: | :-----: | :----: | :----: | :---: |
345   * | **1**  |  **4**  | **3**  | **12** | **9** |
346   *
347   * @see https://developer.mozilla.org/docs/Web/CSS/background-origin
348   */
349  backgroundOrigin?: BackgroundOriginProperty;
350  /**
351   * 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`.
352   *
353   * **Syntax**: `<bg-position>#`
354   *
355   * **Initial value**: `0% 0%`
356   *
357   * | Chrome | Firefox | Safari |  Edge  |  IE   |
358   * | :----: | :-----: | :----: | :----: | :---: |
359   * | **1**  |  **1**  | **1**  | **12** | **4** |
360   *
361   * @see https://developer.mozilla.org/docs/Web/CSS/background-position
362   */
363  backgroundPosition?: BackgroundPositionProperty<TLength>;
364  /**
365   * 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`.
366   *
367   * **Syntax**: `[ center | [ [ left | right | x-start | x-end ]? <length-percentage>? ]! ]#`
368   *
369   * **Initial value**: `left`
370   *
371   * | Chrome | Firefox | Safari |  Edge  |  IE   |
372   * | :----: | :-----: | :----: | :----: | :---: |
373   * | **1**  | **49**  | **1**  | **12** | **6** |
374   *
375   * @see https://developer.mozilla.org/docs/Web/CSS/background-position-x
376   */
377  backgroundPositionX?: BackgroundPositionXProperty<TLength>;
378  /**
379   * The **`background-position-y`** CSS property sets the initial vertical position, relative to the background position layer defined by `background-origin`, for each defined background image.
380   *
381   * **Syntax**: `[ center | [ [ top | bottom | y-start | y-end ]? <length-percentage>? ]! ]#`
382   *
383   * **Initial value**: `top`
384   *
385   * | Chrome | Firefox | Safari |  Edge  |  IE   |
386   * | :----: | :-----: | :----: | :----: | :---: |
387   * | **1**  | **49**  | **1**  | **12** | **6** |
388   *
389   * @see https://developer.mozilla.org/docs/Web/CSS/background-position-y
390   */
391  backgroundPositionY?: BackgroundPositionYProperty<TLength>;
392  /**
393   * 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.
394   *
395   * **Syntax**: `<repeat-style>#`
396   *
397   * **Initial value**: `repeat`
398   *
399   * | Chrome | Firefox | Safari |  Edge  |  IE   |
400   * | :----: | :-----: | :----: | :----: | :---: |
401   * | **1**  |  **1**  | **1**  | **12** | **4** |
402   *
403   * @see https://developer.mozilla.org/docs/Web/CSS/background-repeat
404   */
405  backgroundRepeat?: BackgroundRepeatProperty;
406  /**
407   * 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.
408   *
409   * **Syntax**: `<bg-size>#`
410   *
411   * **Initial value**: `auto auto`
412   *
413   * | Chrome  | Firefox | Safari  |  Edge  |  IE   |
414   * | :-----: | :-----: | :-----: | :----: | :---: |
415   * |  **3**  |  **4**  |  **5**  | **12** | **9** |
416   * | 1 _-x-_ |         | 3 _-x-_ |        |       |
417   *
418   * @see https://developer.mozilla.org/docs/Web/CSS/background-size
419   */
420  backgroundSize?: BackgroundSizeProperty<TLength>;
421  /**
422   * **Syntax**: `clip | ellipsis | <string>`
423   *
424   * **Initial value**: `clip`
425   */
426  blockOverflow?: BlockOverflowProperty;
427  /**
428   * 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`.
429   *
430   * **Syntax**: `<'width'>`
431   *
432   * **Initial value**: `auto`
433   *
434   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
435   * | :----: | :-----: | :------: | :----: | :-: |
436   * | **57** | **41**  | **12.1** | **79** | No  |
437   *
438   * @see https://developer.mozilla.org/docs/Web/CSS/block-size
439   */
440  blockSize?: BlockSizeProperty<TLength>;
441  /**
442   * 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`.
443   *
444   * **Syntax**: `<'border-top-color'>{1,2}`
445   *
446   * **Initial value**: `currentcolor`
447   *
448   * | Chrome | Firefox | Safari | Edge | IE  |
449   * | :----: | :-----: | :----: | :--: | :-: |
450   * |  n/a   | **66**  |   No   | n/a  | No  |
451   *
452   * @see https://developer.mozilla.org/docs/Web/CSS/border-block-color
453   */
454  borderBlockColor?: BorderBlockColorProperty;
455  /**
456   * 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`.
457   *
458   * **Syntax**: `<'border-top-color'>`
459   *
460   * **Initial value**: `currentcolor`
461   *
462   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
463   * | :----: | :-----: | :------: | :----: | :-: |
464   * | **69** | **41**  | **12.1** | **79** | No  |
465   *
466   * @see https://developer.mozilla.org/docs/Web/CSS/border-block-end-color
467   */
468  borderBlockEndColor?: BorderBlockEndColorProperty;
469  /**
470   * 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`.
471   *
472   * **Syntax**: `<'border-top-style'>`
473   *
474   * **Initial value**: `none`
475   *
476   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
477   * | :----: | :-----: | :------: | :----: | :-: |
478   * | **69** | **41**  | **12.1** | **79** | No  |
479   *
480   * @see https://developer.mozilla.org/docs/Web/CSS/border-block-end-style
481   */
482  borderBlockEndStyle?: BorderBlockEndStyleProperty;
483  /**
484   * 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`.
485   *
486   * **Syntax**: `<'border-top-width'>`
487   *
488   * **Initial value**: `medium`
489   *
490   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
491   * | :----: | :-----: | :------: | :----: | :-: |
492   * | **69** | **41**  | **12.1** | **79** | No  |
493   *
494   * @see https://developer.mozilla.org/docs/Web/CSS/border-block-end-width
495   */
496  borderBlockEndWidth?: BorderBlockEndWidthProperty<TLength>;
497  /**
498   * 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`.
499   *
500   * **Syntax**: `<'border-top-color'>`
501   *
502   * **Initial value**: `currentcolor`
503   *
504   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
505   * | :----: | :-----: | :------: | :----: | :-: |
506   * | **69** | **41**  | **12.1** | **79** | No  |
507   *
508   * @see https://developer.mozilla.org/docs/Web/CSS/border-block-start-color
509   */
510  borderBlockStartColor?: BorderBlockStartColorProperty;
511  /**
512   * 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`.
513   *
514   * **Syntax**: `<'border-top-style'>`
515   *
516   * **Initial value**: `none`
517   *
518   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
519   * | :----: | :-----: | :------: | :----: | :-: |
520   * | **69** | **41**  | **12.1** | **79** | No  |
521   *
522   * @see https://developer.mozilla.org/docs/Web/CSS/border-block-start-style
523   */
524  borderBlockStartStyle?: BorderBlockStartStyleProperty;
525  /**
526   * 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`.
527   *
528   * **Syntax**: `<'border-top-width'>`
529   *
530   * **Initial value**: `medium`
531   *
532   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
533   * | :----: | :-----: | :------: | :----: | :-: |
534   * | **69** | **41**  | **12.1** | **79** | No  |
535   *
536   * @see https://developer.mozilla.org/docs/Web/CSS/border-block-start-width
537   */
538  borderBlockStartWidth?: BorderBlockStartWidthProperty<TLength>;
539  /**
540   * 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`.
541   *
542   * **Syntax**: `<'border-top-style'>`
543   *
544   * **Initial value**: `none`
545   *
546   * | Chrome | Firefox | Safari |  Edge  | IE  |
547   * | :----: | :-----: | :----: | :----: | :-: |
548   * | **69** | **66**  |   No   | **79** | No  |
549   *
550   * @see https://developer.mozilla.org/docs/Web/CSS/border-block-style
551   */
552  borderBlockStyle?: BorderBlockStyleProperty;
553  /**
554   * 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`.
555   *
556   * **Syntax**: `<'border-top-width'>`
557   *
558   * **Initial value**: `medium`
559   *
560   * | Chrome | Firefox | Safari |  Edge  | IE  |
561   * | :----: | :-----: | :----: | :----: | :-: |
562   * | **69** | **66**  |   No   | **79** | No  |
563   *
564   * @see https://developer.mozilla.org/docs/Web/CSS/border-block-width
565   */
566  borderBlockWidth?: BorderBlockWidthProperty<TLength>;
567  /**
568   * 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`.
569   *
570   * **Syntax**: `<'border-top-color'>`
571   *
572   * **Initial value**: `currentcolor`
573   *
574   * | Chrome | Firefox | Safari |  Edge  |  IE   |
575   * | :----: | :-----: | :----: | :----: | :---: |
576   * | **1**  |  **1**  | **1**  | **12** | **4** |
577   *
578   * @see https://developer.mozilla.org/docs/Web/CSS/border-bottom-color
579   */
580  borderBottomColor?: BorderBottomColorProperty;
581  /**
582   * The **`border-bottom-left-radius`** CSS property rounds the bottom-left corner of an element.
583   *
584   * **Syntax**: `<length-percentage>{1,2}`
585   *
586   * **Initial value**: `0`
587   *
588   * | Chrome  | Firefox | Safari  |  Edge  |  IE   |
589   * | :-----: | :-----: | :-----: | :----: | :---: |
590   * |  **4**  |  **4**  |  **5**  | **12** | **9** |
591   * | 1 _-x-_ |         | 3 _-x-_ |        |       |
592   *
593   * @see https://developer.mozilla.org/docs/Web/CSS/border-bottom-left-radius
594   */
595  borderBottomLeftRadius?: BorderBottomLeftRadiusProperty<TLength>;
596  /**
597   * The **`border-bottom-right-radius`** CSS property rounds the bottom-right corner of an element.
598   *
599   * **Syntax**: `<length-percentage>{1,2}`
600   *
601   * **Initial value**: `0`
602   *
603   * | Chrome  | Firefox | Safari  |  Edge  |  IE   |
604   * | :-----: | :-----: | :-----: | :----: | :---: |
605   * |  **4**  |  **4**  |  **5**  | **12** | **9** |
606   * | 1 _-x-_ |         | 3 _-x-_ |        |       |
607   *
608   * @see https://developer.mozilla.org/docs/Web/CSS/border-bottom-right-radius
609   */
610  borderBottomRightRadius?: BorderBottomRightRadiusProperty<TLength>;
611  /**
612   * The **`border-bottom-style`** CSS property sets the line style of an element's bottom `border`.
613   *
614   * **Syntax**: `<line-style>`
615   *
616   * **Initial value**: `none`
617   *
618   * | Chrome | Firefox | Safari |  Edge  |   IE    |
619   * | :----: | :-----: | :----: | :----: | :-----: |
620   * | **1**  |  **1**  | **1**  | **12** | **5.5** |
621   *
622   * @see https://developer.mozilla.org/docs/Web/CSS/border-bottom-style
623   */
624  borderBottomStyle?: BorderBottomStyleProperty;
625  /**
626   * The **`border-bottom-width`** CSS property sets the width of the bottom border of a box.
627   *
628   * **Syntax**: `<line-width>`
629   *
630   * **Initial value**: `medium`
631   *
632   * | Chrome | Firefox | Safari |  Edge  |  IE   |
633   * | :----: | :-----: | :----: | :----: | :---: |
634   * | **1**  |  **1**  | **1**  | **12** | **4** |
635   *
636   * @see https://developer.mozilla.org/docs/Web/CSS/border-bottom-width
637   */
638  borderBottomWidth?: BorderBottomWidthProperty<TLength>;
639  /**
640   * The **`border-collapse`** CSS property sets whether cells inside a `<table>` have shared or separate borders.
641   *
642   * **Syntax**: `collapse | separate`
643   *
644   * **Initial value**: `separate`
645   *
646   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
647   * | :----: | :-----: | :-----: | :----: | :---: |
648   * | **1**  |  **1**  | **1.2** | **12** | **5** |
649   *
650   * @see https://developer.mozilla.org/docs/Web/CSS/border-collapse
651   */
652  borderCollapse?: BorderCollapseProperty;
653  /**
654   * 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 on the element's `writing-mode`, `direction`, and `text-orientation`.
655   *
656   * **Syntax**: `<length-percentage>{1,2}`
657   *
658   * **Initial value**: `0`
659   *
660   * | Chrome | Firefox | Safari | Edge | IE  |
661   * | :----: | :-----: | :----: | :--: | :-: |
662   * |   No   | **66**  |   No   |  No  | No  |
663   *
664   * @see https://developer.mozilla.org/docs/Web/CSS/border-end-end-radius
665   */
666  borderEndEndRadius?: BorderEndEndRadiusProperty<TLength>;
667  /**
668   * 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`.
669   *
670   * **Syntax**: `<length-percentage>{1,2}`
671   *
672   * **Initial value**: `0`
673   *
674   * | Chrome | Firefox | Safari | Edge | IE  |
675   * | :----: | :-----: | :----: | :--: | :-: |
676   * |   No   | **66**  |   No   |  No  | No  |
677   *
678   * @see https://developer.mozilla.org/docs/Web/CSS/border-end-start-radius
679   */
680  borderEndStartRadius?: BorderEndStartRadiusProperty<TLength>;
681  /**
682   * The **`border-image-outset`** CSS property sets the distance by which an element's border image is set out from its border box.
683   *
684   * **Syntax**: `[ <length> | <number> ]{1,4}`
685   *
686   * **Initial value**: `0`
687   *
688   * | Chrome | Firefox | Safari |  Edge  |   IE   |
689   * | :----: | :-----: | :----: | :----: | :----: |
690   * | **15** | **15**  | **6**  | **12** | **11** |
691   *
692   * @see https://developer.mozilla.org/docs/Web/CSS/border-image-outset
693   */
694  borderImageOutset?: BorderImageOutsetProperty<TLength>;
695  /**
696   * 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.
697   *
698   * **Syntax**: `[ stretch | repeat | round | space ]{1,2}`
699   *
700   * **Initial value**: `stretch`
701   *
702   * | Chrome | Firefox | Safari |  Edge  |   IE   |
703   * | :----: | :-----: | :----: | :----: | :----: |
704   * | **15** | **15**  | **6**  | **12** | **11** |
705   *
706   * @see https://developer.mozilla.org/docs/Web/CSS/border-image-repeat
707   */
708  borderImageRepeat?: BorderImageRepeatProperty;
709  /**
710   * 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.
711   *
712   * **Syntax**: `<number-percentage>{1,4} && fill?`
713   *
714   * **Initial value**: `100%`
715   *
716   * | Chrome | Firefox | Safari |  Edge  |   IE   |
717   * | :----: | :-----: | :----: | :----: | :----: |
718   * | **15** | **15**  | **6**  | **12** | **11** |
719   *
720   * @see https://developer.mozilla.org/docs/Web/CSS/border-image-slice
721   */
722  borderImageSlice?: BorderImageSliceProperty;
723  /**
724   * The **`border-image-source`** CSS property sets the source image used to create an element's border image.
725   *
726   * **Syntax**: `none | <image>`
727   *
728   * **Initial value**: `none`
729   *
730   * | Chrome | Firefox | Safari |  Edge  |   IE   |
731   * | :----: | :-----: | :----: | :----: | :----: |
732   * | **15** | **15**  | **6**  | **12** | **11** |
733   *
734   * @see https://developer.mozilla.org/docs/Web/CSS/border-image-source
735   */
736  borderImageSource?: BorderImageSourceProperty;
737  /**
738   * The **`border-image-width`** CSS property sets the width of an element's border image.
739   *
740   * **Syntax**: `[ <length-percentage> | <number> | auto ]{1,4}`
741   *
742   * **Initial value**: `1`
743   *
744   * | Chrome | Firefox | Safari |  Edge  |   IE   |
745   * | :----: | :-----: | :----: | :----: | :----: |
746   * | **15** | **13**  | **6**  | **12** | **11** |
747   *
748   * @see https://developer.mozilla.org/docs/Web/CSS/border-image-width
749   */
750  borderImageWidth?: BorderImageWidthProperty<TLength>;
751  /**
752   * 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`.
753   *
754   * **Syntax**: `<'border-top-color'>{1,2}`
755   *
756   * **Initial value**: `currentcolor`
757   *
758   * | Chrome | Firefox | Safari |  Edge  | IE  |
759   * | :----: | :-----: | :----: | :----: | :-: |
760   * | **69** | **66**  |   No   | **79** | No  |
761   *
762   * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-color
763   */
764  borderInlineColor?: BorderInlineColorProperty;
765  /**
766   * 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`.
767   *
768   * **Syntax**: `<'border-top-color'>`
769   *
770   * **Initial value**: `currentcolor`
771   *
772   * | Chrome |           Firefox           |  Safari  |  Edge  | IE  |
773   * | :----: | :-------------------------: | :------: | :----: | :-: |
774   * | **69** |           **41**            | **12.1** | **79** | No  |
775   * |        | 3 _(-moz-border-end-color)_ |          |        |     |
776   *
777   * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-end-color
778   */
779  borderInlineEndColor?: BorderInlineEndColorProperty;
780  /**
781   * 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`.
782   *
783   * **Syntax**: `<'border-top-style'>`
784   *
785   * **Initial value**: `none`
786   *
787   * | Chrome |           Firefox           |  Safari  |  Edge  | IE  |
788   * | :----: | :-------------------------: | :------: | :----: | :-: |
789   * | **69** |           **41**            | **12.1** | **79** | No  |
790   * |        | 3 _(-moz-border-end-style)_ |          |        |     |
791   *
792   * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-end-style
793   */
794  borderInlineEndStyle?: BorderInlineEndStyleProperty;
795  /**
796   * 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`.
797   *
798   * **Syntax**: `<'border-top-width'>`
799   *
800   * **Initial value**: `medium`
801   *
802   * | Chrome |           Firefox           |  Safari  |  Edge  | IE  |
803   * | :----: | :-------------------------: | :------: | :----: | :-: |
804   * | **69** |           **41**            | **12.1** | **79** | No  |
805   * |        | 3 _(-moz-border-end-width)_ |          |        |     |
806   *
807   * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-end-width
808   */
809  borderInlineEndWidth?: BorderInlineEndWidthProperty<TLength>;
810  /**
811   * 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`.
812   *
813   * **Syntax**: `<'border-top-color'>`
814   *
815   * **Initial value**: `currentcolor`
816   *
817   * | Chrome |            Firefox            |  Safari  |  Edge  | IE  |
818   * | :----: | :---------------------------: | :------: | :----: | :-: |
819   * | **69** |            **41**             | **12.1** | **79** | No  |
820   * |        | 3 _(-moz-border-start-color)_ |          |        |     |
821   *
822   * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-start-color
823   */
824  borderInlineStartColor?: BorderInlineStartColorProperty;
825  /**
826   * 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`.
827   *
828   * **Syntax**: `<'border-top-style'>`
829   *
830   * **Initial value**: `none`
831   *
832   * | Chrome |            Firefox            |  Safari  |  Edge  | IE  |
833   * | :----: | :---------------------------: | :------: | :----: | :-: |
834   * | **69** |            **41**             | **12.1** | **79** | No  |
835   * |        | 3 _(-moz-border-start-style)_ |          |        |     |
836   *
837   * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-start-style
838   */
839  borderInlineStartStyle?: BorderInlineStartStyleProperty;
840  /**
841   * 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`.
842   *
843   * **Syntax**: `<'border-top-width'>`
844   *
845   * **Initial value**: `medium`
846   *
847   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
848   * | :----: | :-----: | :------: | :----: | :-: |
849   * | **69** | **41**  | **12.1** | **79** | No  |
850   *
851   * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-start-width
852   */
853  borderInlineStartWidth?: BorderInlineStartWidthProperty<TLength>;
854  /**
855   * 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`.
856   *
857   * **Syntax**: `<'border-top-style'>`
858   *
859   * **Initial value**: `none`
860   *
861   * | Chrome | Firefox | Safari |  Edge  | IE  |
862   * | :----: | :-----: | :----: | :----: | :-: |
863   * | **69** | **66**  |   No   | **79** | No  |
864   *
865   * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-style
866   */
867  borderInlineStyle?: BorderInlineStyleProperty;
868  /**
869   * 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`.
870   *
871   * **Syntax**: `<'border-top-width'>`
872   *
873   * **Initial value**: `medium`
874   *
875   * | Chrome | Firefox | Safari |  Edge  | IE  |
876   * | :----: | :-----: | :----: | :----: | :-: |
877   * | **69** | **66**  |   No   | **79** | No  |
878   *
879   * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-width
880   */
881  borderInlineWidth?: BorderInlineWidthProperty<TLength>;
882  /**
883   * 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`.
884   *
885   * **Syntax**: `<color>`
886   *
887   * **Initial value**: `currentcolor`
888   *
889   * | Chrome | Firefox | Safari |  Edge  |  IE   |
890   * | :----: | :-----: | :----: | :----: | :---: |
891   * | **1**  |  **1**  | **1**  | **12** | **4** |
892   *
893   * @see https://developer.mozilla.org/docs/Web/CSS/border-left-color
894   */
895  borderLeftColor?: BorderLeftColorProperty;
896  /**
897   * The **`border-left-style`** CSS property sets the line style of an element's left `border`.
898   *
899   * **Syntax**: `<line-style>`
900   *
901   * **Initial value**: `none`
902   *
903   * | Chrome | Firefox | Safari |  Edge  |   IE    |
904   * | :----: | :-----: | :----: | :----: | :-----: |
905   * | **1**  |  **1**  | **1**  | **12** | **5.5** |
906   *
907   * @see https://developer.mozilla.org/docs/Web/CSS/border-left-style
908   */
909  borderLeftStyle?: BorderLeftStyleProperty;
910  /**
911   * The **`border-left-width`** CSS property sets the width of the left border of an element.
912   *
913   * **Syntax**: `<line-width>`
914   *
915   * **Initial value**: `medium`
916   *
917   * | Chrome | Firefox | Safari |  Edge  |  IE   |
918   * | :----: | :-----: | :----: | :----: | :---: |
919   * | **1**  |  **1**  | **1**  | **12** | **4** |
920   *
921   * @see https://developer.mozilla.org/docs/Web/CSS/border-left-width
922   */
923  borderLeftWidth?: BorderLeftWidthProperty<TLength>;
924  /**
925   * 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`.
926   *
927   * **Syntax**: `<color>`
928   *
929   * **Initial value**: `currentcolor`
930   *
931   * | Chrome | Firefox | Safari |  Edge  |  IE   |
932   * | :----: | :-----: | :----: | :----: | :---: |
933   * | **1**  |  **1**  | **1**  | **12** | **4** |
934   *
935   * @see https://developer.mozilla.org/docs/Web/CSS/border-right-color
936   */
937  borderRightColor?: BorderRightColorProperty;
938  /**
939   * The **`border-right-style`** CSS property sets the line style of an element's right `border`.
940   *
941   * **Syntax**: `<line-style>`
942   *
943   * **Initial value**: `none`
944   *
945   * | Chrome | Firefox | Safari |  Edge  |   IE    |
946   * | :----: | :-----: | :----: | :----: | :-----: |
947   * | **1**  |  **1**  | **1**  | **12** | **5.5** |
948   *
949   * @see https://developer.mozilla.org/docs/Web/CSS/border-right-style
950   */
951  borderRightStyle?: BorderRightStyleProperty;
952  /**
953   * The **`border-right-width`** CSS property sets the width of the right border of an element.
954   *
955   * **Syntax**: `<line-width>`
956   *
957   * **Initial value**: `medium`
958   *
959   * | Chrome | Firefox | Safari |  Edge  |  IE   |
960   * | :----: | :-----: | :----: | :----: | :---: |
961   * | **1**  |  **1**  | **1**  | **12** | **4** |
962   *
963   * @see https://developer.mozilla.org/docs/Web/CSS/border-right-width
964   */
965  borderRightWidth?: BorderRightWidthProperty<TLength>;
966  /**
967   * The **`border-spacing`** CSS property sets the distance between the borders of adjacent `<table>` cells. This property applies only when `border-collapse` is `separate`.
968   *
969   * **Syntax**: `<length> <length>?`
970   *
971   * **Initial value**: `0`
972   *
973   * | Chrome | Firefox | Safari |  Edge  |  IE   |
974   * | :----: | :-----: | :----: | :----: | :---: |
975   * | **1**  |  **1**  | **1**  | **12** | **8** |
976   *
977   * @see https://developer.mozilla.org/docs/Web/CSS/border-spacing
978   */
979  borderSpacing?: BorderSpacingProperty<TLength>;
980  /**
981   * 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`.
982   *
983   * **Syntax**: `<length-percentage>{1,2}`
984   *
985   * **Initial value**: `0`
986   *
987   * | Chrome | Firefox | Safari | Edge | IE  |
988   * | :----: | :-----: | :----: | :--: | :-: |
989   * |   No   | **66**  |   No   |  No  | No  |
990   *
991   * @see https://developer.mozilla.org/docs/Web/CSS/border-start-end-radius
992   */
993  borderStartEndRadius?: BorderStartEndRadiusProperty<TLength>;
994  /**
995   * 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`.
996   *
997   * **Syntax**: `<length-percentage>{1,2}`
998   *
999   * **Initial value**: `0`
1000   *
1001   * | Chrome | Firefox | Safari | Edge | IE  |
1002   * | :----: | :-----: | :----: | :--: | :-: |
1003   * |   No   | **66**  |   No   |  No  | No  |
1004   *
1005   * @see https://developer.mozilla.org/docs/Web/CSS/border-start-start-radius
1006   */
1007  borderStartStartRadius?: BorderStartStartRadiusProperty<TLength>;
1008  /**
1009   * 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`.
1010   *
1011   * **Syntax**: `<color>`
1012   *
1013   * **Initial value**: `currentcolor`
1014   *
1015   * | Chrome | Firefox | Safari |  Edge  |  IE   |
1016   * | :----: | :-----: | :----: | :----: | :---: |
1017   * | **1**  |  **1**  | **1**  | **12** | **4** |
1018   *
1019   * @see https://developer.mozilla.org/docs/Web/CSS/border-top-color
1020   */
1021  borderTopColor?: BorderTopColorProperty;
1022  /**
1023   * The **`border-top-left-radius`** CSS property rounds the top-left corner of an element.
1024   *
1025   * **Syntax**: `<length-percentage>{1,2}`
1026   *
1027   * **Initial value**: `0`
1028   *
1029   * | Chrome  | Firefox | Safari  |  Edge  |  IE   |
1030   * | :-----: | :-----: | :-----: | :----: | :---: |
1031   * |  **4**  |  **4**  |  **5**  | **12** | **9** |
1032   * | 1 _-x-_ |         | 3 _-x-_ |        |       |
1033   *
1034   * @see https://developer.mozilla.org/docs/Web/CSS/border-top-left-radius
1035   */
1036  borderTopLeftRadius?: BorderTopLeftRadiusProperty<TLength>;
1037  /**
1038   * The **`border-top-right-radius`** CSS property rounds the top-right corner of an element.
1039   *
1040   * **Syntax**: `<length-percentage>{1,2}`
1041   *
1042   * **Initial value**: `0`
1043   *
1044   * | Chrome  | Firefox | Safari  |  Edge  |  IE   |
1045   * | :-----: | :-----: | :-----: | :----: | :---: |
1046   * |  **4**  |  **4**  |  **5**  | **12** | **9** |
1047   * | 1 _-x-_ |         | 3 _-x-_ |        |       |
1048   *
1049   * @see https://developer.mozilla.org/docs/Web/CSS/border-top-right-radius
1050   */
1051  borderTopRightRadius?: BorderTopRightRadiusProperty<TLength>;
1052  /**
1053   * The **`border-top-style`** CSS property sets the line style of an element's top `border`.
1054   *
1055   * **Syntax**: `<line-style>`
1056   *
1057   * **Initial value**: `none`
1058   *
1059   * | Chrome | Firefox | Safari |  Edge  |   IE    |
1060   * | :----: | :-----: | :----: | :----: | :-----: |
1061   * | **1**  |  **1**  | **1**  | **12** | **5.5** |
1062   *
1063   * @see https://developer.mozilla.org/docs/Web/CSS/border-top-style
1064   */
1065  borderTopStyle?: BorderTopStyleProperty;
1066  /**
1067   * The **`border-top-width`** CSS property sets the width of the top border of an element.
1068   *
1069   * **Syntax**: `<line-width>`
1070   *
1071   * **Initial value**: `medium`
1072   *
1073   * | Chrome | Firefox | Safari |  Edge  |  IE   |
1074   * | :----: | :-----: | :----: | :----: | :---: |
1075   * | **1**  |  **1**  | **1**  | **12** | **4** |
1076   *
1077   * @see https://developer.mozilla.org/docs/Web/CSS/border-top-width
1078   */
1079  borderTopWidth?: BorderTopWidthProperty<TLength>;
1080  /**
1081   * The **`bottom`** CSS property participates in specifying the vertical position of a _positioned element_. It has no effect on non-positioned elements.
1082   *
1083   * **Syntax**: `<length> | <percentage> | auto`
1084   *
1085   * **Initial value**: `auto`
1086   *
1087   * | Chrome | Firefox | Safari |  Edge  |  IE   |
1088   * | :----: | :-----: | :----: | :----: | :---: |
1089   * | **1**  |  **1**  | **1**  | **12** | **5** |
1090   *
1091   * @see https://developer.mozilla.org/docs/Web/CSS/bottom
1092   */
1093  bottom?: BottomProperty<TLength>;
1094  /**
1095   * The **`box-decoration-break`** CSS property specifies how an element's fragments should be rendered when broken across multiple lines, columns, or pages.
1096   *
1097   * **Syntax**: `slice | clone`
1098   *
1099   * **Initial value**: `slice`
1100   *
1101   * |    Chrome    | Firefox |    Safari     |     Edge     | IE  |
1102   * | :----------: | :-----: | :-----------: | :----------: | :-: |
1103   * | **22** _-x-_ | **32**  | **6.1** _-x-_ | **79** _-x-_ | No  |
1104   *
1105   * @see https://developer.mozilla.org/docs/Web/CSS/box-decoration-break
1106   */
1107  boxDecorationBreak?: BoxDecorationBreakProperty;
1108  /**
1109   * 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 radii, and color.
1110   *
1111   * **Syntax**: `none | <shadow>#`
1112   *
1113   * **Initial value**: `none`
1114   *
1115   * | Chrome  | Firefox | Safari  |  Edge  |  IE   |
1116   * | :-----: | :-----: | :-----: | :----: | :---: |
1117   * | **10**  |  **4**  | **5.1** | **12** | **9** |
1118   * | 1 _-x-_ |         | 3 _-x-_ |        |       |
1119   *
1120   * @see https://developer.mozilla.org/docs/Web/CSS/box-shadow
1121   */
1122  boxShadow?: BoxShadowProperty;
1123  /**
1124   * The **`box-sizing`** CSS property defines how the user agent should calculate the total width and height of an element.
1125   *
1126   * **Syntax**: `content-box | border-box`
1127   *
1128   * **Initial value**: `content-box`
1129   *
1130   * | Chrome  | Firefox | Safari  |  Edge  |  IE   |
1131   * | :-----: | :-----: | :-----: | :----: | :---: |
1132   * | **10**  | **29**  | **5.1** | **12** | **8** |
1133   * | 1 _-x-_ | 1 _-x-_ | 3 _-x-_ |        |       |
1134   *
1135   * @see https://developer.mozilla.org/docs/Web/CSS/box-sizing
1136   */
1137  boxSizing?: BoxSizingProperty;
1138  /**
1139   * The **`break-after`** CSS property defines how page, column, or region breaks should behave after a generated box. If there is no generated box, the property is ignored.
1140   *
1141   * **Syntax**: `auto | avoid | always | all | avoid-page | page | left | right | recto | verso | avoid-column | column | avoid-region | region`
1142   *
1143   * **Initial value**: `auto`
1144   *
1145   * ---
1146   *
1147   * _Supported in Multi-column Layout_
1148   *
1149   * | Chrome | Firefox | Safari |  Edge  |   IE   |
1150   * | :----: | :-----: | :----: | :----: | :----: |
1151   * | **50** |   No    |   No   | **12** | **10** |
1152   *
1153   * ---
1154   *
1155   * _Supported in Paged Media_
1156   *
1157   * | Chrome | Firefox | Safari |  Edge  |   IE   |
1158   * | :----: | :-----: | :----: | :----: | :----: |
1159   * | **50** | **65**  | **10** | **12** | **10** |
1160   *
1161   * ---
1162   *
1163   * _Supported in CSS Regions_
1164   *
1165   * | Chrome | Firefox | Safari | Edge | IE  |
1166   * | :----: | :-----: | :----: | :--: | :-: |
1167   * |   No   |   No    |   No   |  No  | No  |
1168   *
1169   * ---
1170   *
1171   * @see https://developer.mozilla.org/docs/Web/CSS/break-after
1172   */
1173  breakAfter?: BreakAfterProperty;
1174  /**
1175   * 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.
1176   *
1177   * **Syntax**: `auto | avoid | always | all | avoid-page | page | left | right | recto | verso | avoid-column | column | avoid-region | region`
1178   *
1179   * **Initial value**: `auto`
1180   *
1181   * ---
1182   *
1183   * _Supported in Multi-column Layout_
1184   *
1185   * | Chrome | Firefox | Safari |  Edge  |   IE   |
1186   * | :----: | :-----: | :----: | :----: | :----: |
1187   * | **50** | **65**  |   No   | **12** | **10** |
1188   *
1189   * ---
1190   *
1191   * _Supported in Paged Media_
1192   *
1193   * | Chrome | Firefox | Safari |  Edge  |   IE   |
1194   * | :----: | :-----: | :----: | :----: | :----: |
1195   * | **50** | **65**  | **10** | **12** | **10** |
1196   *
1197   * ---
1198   *
1199   * _Supported in CSS Regions_
1200   *
1201   * | Chrome | Firefox | Safari | Edge | IE  |
1202   * | :----: | :-----: | :----: | :--: | :-: |
1203   * |   No   |   No    |   No   |  No  | No  |
1204   *
1205   * ---
1206   *
1207   * @see https://developer.mozilla.org/docs/Web/CSS/break-before
1208   */
1209  breakBefore?: BreakBeforeProperty;
1210  /**
1211   * The **`break-inside`** CSS property defines how page, column, or region breaks should behave inside a generated box. If there is no generated box, the property is ignored.
1212   *
1213   * **Syntax**: `auto | avoid | avoid-page | avoid-column | avoid-region`
1214   *
1215   * **Initial value**: `auto`
1216   *
1217   * ---
1218   *
1219   * _Supported in Multi-column Layout_
1220   *
1221   * | Chrome | Firefox | Safari |  Edge  |   IE   |
1222   * | :----: | :-----: | :----: | :----: | :----: |
1223   * | **50** | **65**  | **10** | **12** | **10** |
1224   *
1225   * ---
1226   *
1227   * _Supported in Paged Media_
1228   *
1229   * | Chrome | Firefox | Safari |  Edge  |   IE   |
1230   * | :----: | :-----: | :----: | :----: | :----: |
1231   * | **50** | **65**  | **10** | **12** | **10** |
1232   *
1233   * ---
1234   *
1235   * _Supported in CSS Regions_
1236   *
1237   * | Chrome | Firefox | Safari | Edge | IE  |
1238   * | :----: | :-----: | :----: | :--: | :-: |
1239   * |   No   |   No    |   No   |  No  | No  |
1240   *
1241   * ---
1242   *
1243   * @see https://developer.mozilla.org/docs/Web/CSS/break-inside
1244   */
1245  breakInside?: BreakInsideProperty;
1246  /**
1247   * 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.
1248   *
1249   * **Syntax**: `top | bottom | block-start | block-end | inline-start | inline-end`
1250   *
1251   * **Initial value**: `top`
1252   *
1253   * | Chrome | Firefox | Safari |  Edge  |  IE   |
1254   * | :----: | :-----: | :----: | :----: | :---: |
1255   * | **1**  |  **1**  | **1**  | **12** | **8** |
1256   *
1257   * @see https://developer.mozilla.org/docs/Web/CSS/caption-side
1258   */
1259  captionSide?: CaptionSideProperty;
1260  /**
1261   * The **`caret-color`** CSS property sets the color of the insertion caret, the visible marker where the next character typed will be inserted. 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.
1262   *
1263   * **Syntax**: `auto | <color>`
1264   *
1265   * **Initial value**: `auto`
1266   *
1267   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
1268   * | :----: | :-----: | :------: | :----: | :-: |
1269   * | **57** | **53**  | **11.1** | **79** | No  |
1270   *
1271   * @see https://developer.mozilla.org/docs/Web/CSS/caret-color
1272   */
1273  caretColor?: CaretColorProperty;
1274  /**
1275   * 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.
1276   *
1277   * **Syntax**: `none | left | right | both | inline-start | inline-end`
1278   *
1279   * **Initial value**: `none`
1280   *
1281   * | Chrome | Firefox | Safari |  Edge  |  IE   |
1282   * | :----: | :-----: | :----: | :----: | :---: |
1283   * | **1**  |  **1**  | **1**  | **12** | **4** |
1284   *
1285   * @see https://developer.mozilla.org/docs/Web/CSS/clear
1286   */
1287  clear?: ClearProperty;
1288  /**
1289   * 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.
1290   *
1291   * **Syntax**: `<clip-source> | [ <basic-shape> || <geometry-box> ] | none`
1292   *
1293   * **Initial value**: `none`
1294   *
1295   * |  Chrome  | Firefox |  Safari   |  Edge  |   IE   |
1296   * | :------: | :-----: | :-------: | :----: | :----: |
1297   * |  **55**  | **3.5** |  **9.1**  | **12** | **10** |
1298   * | 23 _-x-_ |         | 6.1 _-x-_ |        |        |
1299   *
1300   * @see https://developer.mozilla.org/docs/Web/CSS/clip-path
1301   */
1302  clipPath?: ClipPathProperty;
1303  /**
1304   * 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`.
1305   *
1306   * **Syntax**: `<color>`
1307   *
1308   * **Initial value**: Varies from one browser to another
1309   *
1310   * | Chrome | Firefox | Safari |  Edge  |  IE   |
1311   * | :----: | :-----: | :----: | :----: | :---: |
1312   * | **1**  |  **1**  | **1**  | **12** | **3** |
1313   *
1314   * @see https://developer.mozilla.org/docs/Web/CSS/color
1315   */
1316  color?: ColorProperty;
1317  /**
1318   * 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.
1319   *
1320   * **Syntax**: `economy | exact`
1321   *
1322   * **Initial value**: `economy`
1323   *
1324   * |                Chrome                 | Firefox |                Safari                |                 Edge                  | IE  |
1325   * | :-----------------------------------: | :-----: | :----------------------------------: | :-----------------------------------: | :-: |
1326   * | **49** _(-webkit-print-color-adjust)_ | **48**  | **6** _(-webkit-print-color-adjust)_ | **79** _(-webkit-print-color-adjust)_ | No  |
1327   *
1328   * @see https://developer.mozilla.org/docs/Web/CSS/color-adjust
1329   */
1330  colorAdjust?: ColorAdjustProperty;
1331  /**
1332   * The **`column-count`** CSS property breaks an element's content into the specified number of columns.
1333   *
1334   * **Syntax**: `<integer> | auto`
1335   *
1336   * **Initial value**: `auto`
1337   *
1338   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
1339   * | :-----: | :-----: | :-----: | :----: | :----: |
1340   * | **50**  | **52**  |  **9**  | **12** | **10** |
1341   * | 1 _-x-_ |         | 3 _-x-_ |        |        |
1342   *
1343   * @see https://developer.mozilla.org/docs/Web/CSS/column-count
1344   */
1345  columnCount?: ColumnCountProperty;
1346  /**
1347   * The **`column-fill`** CSS property controls how an element's contents are balanced when broken into columns.
1348   *
1349   * **Syntax**: `auto | balance | balance-all`
1350   *
1351   * **Initial value**: `balance`
1352   *
1353   * | Chrome | Firefox | Safari  |  Edge  |   IE   |
1354   * | :----: | :-----: | :-----: | :----: | :----: |
1355   * | **50** | **52**  |  **9**  | **12** | **10** |
1356   * |        |         | 8 _-x-_ |        |        |
1357   *
1358   * @see https://developer.mozilla.org/docs/Web/CSS/column-fill
1359   */
1360  columnFill?: ColumnFillProperty;
1361  /**
1362   * The **`column-gap`** CSS property sets the size of the gap (gutter) between an element's columns.
1363   *
1364   * **Syntax**: `normal | <length-percentage>`
1365   *
1366   * **Initial value**: `normal`
1367   *
1368   * ---
1369   *
1370   * _Supported in Flex Layout_
1371   *
1372   * | Chrome | Firefox |   Safari    | Edge | IE  |
1373   * | :----: | :-----: | :---------: | :--: | :-: |
1374   * |   No   | **63**  | **3** _-x-_ |  No  | No  |
1375   *
1376   * ---
1377   *
1378   * _Supported in Grid Layout_
1379   *
1380   * |     Chrome      |     Firefox     |        Safari         |  Edge  | IE  |
1381   * | :-------------: | :-------------: | :-------------------: | :----: | :-: |
1382   * |     **66**      |     **61**      | **10.1** _(grid-gap)_ | **16** | No  |
1383   * | 57 _(grid-gap)_ | 52 _(grid-gap)_ |                       |        |     |
1384   *
1385   * ---
1386   *
1387   * _Supported in Multi-column Layout_
1388   *
1389   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
1390   * | :-----: | :-----: | :-----: | :----: | :----: |
1391   * | **50**  | **52**  | **10**  | **12** | **10** |
1392   * | 1 _-x-_ |         | 3 _-x-_ |        |        |
1393   *
1394   * ---
1395   *
1396   * @see https://developer.mozilla.org/docs/Web/CSS/column-gap
1397   */
1398  columnGap?: ColumnGapProperty<TLength>;
1399  /**
1400   * The **`column-rule-color`** CSS property sets the color of the rule (line) drawn between columns in a multi-column layout.
1401   *
1402   * **Syntax**: `<color>`
1403   *
1404   * **Initial value**: `currentcolor`
1405   *
1406   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
1407   * | :-----: | :-----: | :-----: | :----: | :----: |
1408   * | **50**  | **52**  |  **9**  | **12** | **10** |
1409   * | 1 _-x-_ |         | 3 _-x-_ |        |        |
1410   *
1411   * @see https://developer.mozilla.org/docs/Web/CSS/column-rule-color
1412   */
1413  columnRuleColor?: ColumnRuleColorProperty;
1414  /**
1415   * The **`column-rule-style`** CSS property sets the style of the line drawn between columns in a multi-column layout.
1416   *
1417   * **Syntax**: `<'border-style'>`
1418   *
1419   * **Initial value**: `none`
1420   *
1421   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
1422   * | :-----: | :-----: | :-----: | :----: | :----: |
1423   * | **50**  | **52**  |  **9**  | **12** | **10** |
1424   * | 1 _-x-_ |         | 3 _-x-_ |        |        |
1425   *
1426   * @see https://developer.mozilla.org/docs/Web/CSS/column-rule-style
1427   */
1428  columnRuleStyle?: ColumnRuleStyleProperty;
1429  /**
1430   * The **`column-rule-width`** CSS property sets the width of the rule (line) drawn between columns in a multi-column layout.
1431   *
1432   * **Syntax**: `<'border-width'>`
1433   *
1434   * **Initial value**: `medium`
1435   *
1436   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
1437   * | :-----: | :-----: | :-----: | :----: | :----: |
1438   * | **50**  | **52**  |  **9**  | **12** | **10** |
1439   * | 1 _-x-_ |         | 3 _-x-_ |        |        |
1440   *
1441   * @see https://developer.mozilla.org/docs/Web/CSS/column-rule-width
1442   */
1443  columnRuleWidth?: ColumnRuleWidthProperty<TLength>;
1444  /**
1445   * The **`column-span`** CSS property makes it possible for an element to span across all columns when its value is set to `all`.
1446   *
1447   * **Syntax**: `none | all`
1448   *
1449   * **Initial value**: `none`
1450   *
1451   * | Chrome  | Firefox |  Safari   |  Edge  |   IE   |
1452   * | :-----: | :-----: | :-------: | :----: | :----: |
1453   * | **50**  | **71**  |   **9**   | **12** | **10** |
1454   * | 6 _-x-_ |         | 5.1 _-x-_ |        |        |
1455   *
1456   * @see https://developer.mozilla.org/docs/Web/CSS/column-span
1457   */
1458  columnSpan?: ColumnSpanProperty;
1459  /**
1460   * The **`column-width`** CSS property specifies 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.
1461   *
1462   * **Syntax**: `<length> | auto`
1463   *
1464   * **Initial value**: `auto`
1465   *
1466   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
1467   * | :-----: | :-----: | :-----: | :----: | :----: |
1468   * | **50**  | **50**  |  **9**  | **12** | **10** |
1469   * | 1 _-x-_ |         | 3 _-x-_ |        |        |
1470   *
1471   * @see https://developer.mozilla.org/docs/Web/CSS/column-width
1472   */
1473  columnWidth?: ColumnWidthProperty<TLength>;
1474  /**
1475   * 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.
1476   *
1477   * **Syntax**: `none | strict | content | [ size || layout || style || paint ]`
1478   *
1479   * **Initial value**: `none`
1480   *
1481   * | Chrome | Firefox | Safari |  Edge  | IE  |
1482   * | :----: | :-----: | :----: | :----: | :-: |
1483   * | **52** | **69**  |   No   | **79** | No  |
1484   *
1485   * @see https://developer.mozilla.org/docs/Web/CSS/contain
1486   */
1487  contain?: ContainProperty;
1488  /**
1489   * The **`content`** CSS property replaces an element with a generated value. Objects inserted using the `content` property are _anonymous replaced elements._
1490   *
1491   * **Syntax**: `normal | none | [ <content-replacement> | <content-list> ] [/ <string> ]?`
1492   *
1493   * **Initial value**: `normal`
1494   *
1495   * | Chrome | Firefox | Safari |  Edge  |  IE   |
1496   * | :----: | :-----: | :----: | :----: | :---: |
1497   * | **1**  |  **1**  | **1**  | **12** | **8** |
1498   *
1499   * @see https://developer.mozilla.org/docs/Web/CSS/content
1500   */
1501  content?: ContentProperty;
1502  /**
1503   * The **`counter-increment`** CSS property increases or decreases the value of a CSS counter by a given value.
1504   *
1505   * **Syntax**: `[ <custom-ident> <integer>? ]+ | none`
1506   *
1507   * **Initial value**: `none`
1508   *
1509   * | Chrome | Firefox | Safari |  Edge  |  IE   |
1510   * | :----: | :-----: | :----: | :----: | :---: |
1511   * | **2**  |  **1**  | **3**  | **12** | **8** |
1512   *
1513   * @see https://developer.mozilla.org/docs/Web/CSS/counter-increment
1514   */
1515  counterIncrement?: CounterIncrementProperty;
1516  /**
1517   * The **`counter-reset`** CSS property resets a CSS counter to a given value.
1518   *
1519   * **Syntax**: `[ <custom-ident> <integer>? ]+ | none`
1520   *
1521   * **Initial value**: `none`
1522   *
1523   * | Chrome | Firefox | Safari |  Edge  |  IE   |
1524   * | :----: | :-----: | :----: | :----: | :---: |
1525   * | **2**  |  **1**  | **3**  | **12** | **8** |
1526   *
1527   * @see https://developer.mozilla.org/docs/Web/CSS/counter-reset
1528   */
1529  counterReset?: CounterResetProperty;
1530  /**
1531   * 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.
1532   *
1533   * **Syntax**: `[ <custom-ident> <integer>? ]+ | none`
1534   *
1535   * **Initial value**: `none`
1536   *
1537   * | Chrome | Firefox | Safari | Edge | IE  |
1538   * | :----: | :-----: | :----: | :--: | :-: |
1539   * |   No   | **68**  |   No   |  No  | No  |
1540   *
1541   * @see https://developer.mozilla.org/docs/Web/CSS/counter-set
1542   */
1543  counterSet?: CounterSetProperty;
1544  /**
1545   * The **`cursor`** CSS property sets mouse cursor to display when the mouse pointer is over an element.
1546   *
1547   * **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 ] ]`
1548   *
1549   * **Initial value**: `auto`
1550   *
1551   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
1552   * | :----: | :-----: | :-----: | :----: | :---: |
1553   * | **1**  |  **1**  | **1.2** | **12** | **4** |
1554   *
1555   * @see https://developer.mozilla.org/docs/Web/CSS/cursor
1556   */
1557  cursor?: CursorProperty;
1558  /**
1559   * 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).
1560   *
1561   * **Syntax**: `ltr | rtl`
1562   *
1563   * **Initial value**: `ltr`
1564   *
1565   * | Chrome | Firefox | Safari |  Edge  |   IE    |
1566   * | :----: | :-----: | :----: | :----: | :-----: |
1567   * | **2**  |  **1**  | **1**  | **12** | **5.5** |
1568   *
1569   * @see https://developer.mozilla.org/docs/Web/CSS/direction
1570   */
1571  direction?: DirectionProperty;
1572  /**
1573   * The **`display`** CSS property defines the _display type_ of an element, which consists of the two basic qualities of how an element generates boxes — the **outer display type** defining how the box participates in flow layout, and the **inner display type** defining how the children of the box are laid out.
1574   *
1575   * **Syntax**: `[ <display-outside> || <display-inside> ] | <display-listitem> | <display-internal> | <display-box> | <display-legacy>`
1576   *
1577   * **Initial value**: `inline`
1578   *
1579   * | Chrome | Firefox | Safari |  Edge  |  IE   |
1580   * | :----: | :-----: | :----: | :----: | :---: |
1581   * | **1**  |  **1**  | **1**  | **12** | **4** |
1582   *
1583   * @see https://developer.mozilla.org/docs/Web/CSS/display
1584   */
1585  display?: DisplayProperty;
1586  /**
1587   * The **`empty-cells`** CSS property sets whether borders and backgrounds appear around `<table>` cells that have no visible content.
1588   *
1589   * **Syntax**: `show | hide`
1590   *
1591   * **Initial value**: `show`
1592   *
1593   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
1594   * | :----: | :-----: | :-----: | :----: | :---: |
1595   * | **1**  |  **1**  | **1.2** | **12** | **8** |
1596   *
1597   * @see https://developer.mozilla.org/docs/Web/CSS/empty-cells
1598   */
1599  emptyCells?: EmptyCellsProperty;
1600  /**
1601   * 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.
1602   *
1603   * **Syntax**: `none | <filter-function-list>`
1604   *
1605   * **Initial value**: `none`
1606   *
1607   * |  Chrome  | Firefox | Safari  |  Edge  | IE  |
1608   * | :------: | :-----: | :-----: | :----: | :-: |
1609   * |  **53**  | **35**  | **9.1** | **12** | No  |
1610   * | 18 _-x-_ |         | 6 _-x-_ |        |     |
1611   *
1612   * @see https://developer.mozilla.org/docs/Web/CSS/filter
1613   */
1614  filter?: FilterProperty;
1615  /**
1616   * 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`.
1617   *
1618   * **Syntax**: `content | <'width'>`
1619   *
1620   * **Initial value**: `auto`
1621   *
1622   * |  Chrome  | Firefox | Safari  |  Edge  |   IE   |
1623   * | :------: | :-----: | :-----: | :----: | :----: |
1624   * |  **29**  | **22**  |  **9**  | **12** | **11** |
1625   * | 22 _-x-_ |         | 7 _-x-_ |        |        |
1626   *
1627   * @see https://developer.mozilla.org/docs/Web/CSS/flex-basis
1628   */
1629  flexBasis?: FlexBasisProperty<TLength>;
1630  /**
1631   * 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).
1632   *
1633   * **Syntax**: `row | row-reverse | column | column-reverse`
1634   *
1635   * **Initial value**: `row`
1636   *
1637   * |  Chrome  | Firefox | Safari  |  Edge  |    IE    |
1638   * | :------: | :-----: | :-----: | :----: | :------: |
1639   * |  **29**  | **20**  |  **9**  | **12** |  **11**  |
1640   * | 21 _-x-_ |         | 7 _-x-_ |        | 10 _-x-_ |
1641   *
1642   * @see https://developer.mozilla.org/docs/Web/CSS/flex-direction
1643   */
1644  flexDirection?: FlexDirectionProperty;
1645  /**
1646   * The **`flex-grow`** CSS property sets how much of the available space in the flex container should be assigned to that item (the flex grow factor). If all sibling items have the same flex grow factor, then all items will receive the same share of available space, otherwise it is distributed according to the ratio defined by the different flex grow factors.
1647   *
1648   * **Syntax**: `<number>`
1649   *
1650   * **Initial value**: `0`
1651   *
1652   * |  Chrome  | Firefox |  Safari   |  Edge  |            IE            |
1653   * | :------: | :-----: | :-------: | :----: | :----------------------: |
1654   * |  **29**  | **20**  |   **9**   | **12** |          **11**          |
1655   * | 22 _-x-_ |         | 6.1 _-x-_ |        | 10 _(-ms-flex-positive)_ |
1656   *
1657   * @see https://developer.mozilla.org/docs/Web/CSS/flex-grow
1658   */
1659  flexGrow?: GlobalsNumber;
1660  /**
1661   * The **`flex-shrink`** CSS property sets the flex shrink factor of a flex item. If the size of flex items is larger than the flex container, items shrink to fit according to `flex-shrink`.
1662   *
1663   * **Syntax**: `<number>`
1664   *
1665   * **Initial value**: `1`
1666   *
1667   * |  Chrome  | Firefox | Safari  |  Edge  |   IE   |
1668   * | :------: | :-----: | :-----: | :----: | :----: |
1669   * |  **29**  | **20**  |  **9**  | **12** | **10** |
1670   * | 22 _-x-_ |         | 8 _-x-_ |        |        |
1671   *
1672   * @see https://developer.mozilla.org/docs/Web/CSS/flex-shrink
1673   */
1674  flexShrink?: GlobalsNumber;
1675  /**
1676   * 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.
1677   *
1678   * **Syntax**: `nowrap | wrap | wrap-reverse`
1679   *
1680   * **Initial value**: `nowrap`
1681   *
1682   * |  Chrome  | Firefox |  Safari   |  Edge  |   IE   |
1683   * | :------: | :-----: | :-------: | :----: | :----: |
1684   * |  **29**  | **28**  |   **9**   | **12** | **11** |
1685   * | 21 _-x-_ |         | 6.1 _-x-_ |        |        |
1686   *
1687   * @see https://developer.mozilla.org/docs/Web/CSS/flex-wrap
1688   */
1689  flexWrap?: FlexWrapProperty;
1690  /**
1691   * 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).
1692   *
1693   * **Syntax**: `left | right | none | inline-start | inline-end`
1694   *
1695   * **Initial value**: `none`
1696   *
1697   * | Chrome | Firefox | Safari |  Edge  |  IE   |
1698   * | :----: | :-----: | :----: | :----: | :---: |
1699   * | **1**  |  **1**  | **1**  | **12** | **4** |
1700   *
1701   * @see https://developer.mozilla.org/docs/Web/CSS/float
1702   */
1703  float?: FloatProperty;
1704  /**
1705   * 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.
1706   *
1707   * **Syntax**: `[ <family-name> | <generic-family> ]#`
1708   *
1709   * **Initial value**: depends on user agent
1710   *
1711   * | Chrome | Firefox | Safari |  Edge  |  IE   |
1712   * | :----: | :-----: | :----: | :----: | :---: |
1713   * | **1**  |  **1**  | **1**  | **12** | **3** |
1714   *
1715   * @see https://developer.mozilla.org/docs/Web/CSS/font-family
1716   */
1717  fontFamily?: FontFamilyProperty;
1718  /**
1719   * The **`font-feature-settings`** CSS property controls advanced typographic features in OpenType fonts.
1720   *
1721   * **Syntax**: `normal | <feature-tag-value>#`
1722   *
1723   * **Initial value**: `normal`
1724   *
1725   * |  Chrome  | Firefox  | Safari  |  Edge  |   IE   |
1726   * | :------: | :------: | :-----: | :----: | :----: |
1727   * |  **48**  |  **34**  | **9.1** | **15** | **10** |
1728   * | 16 _-x-_ | 15 _-x-_ |         |        |        |
1729   *
1730   * @see https://developer.mozilla.org/docs/Web/CSS/font-feature-settings
1731   */
1732  fontFeatureSettings?: FontFeatureSettingsProperty;
1733  /**
1734   * The **`font-kerning`** CSS property sets the use of the kerning information stored in a font.
1735   *
1736   * **Syntax**: `auto | normal | none`
1737   *
1738   * **Initial value**: `auto`
1739   *
1740   * | Chrome | Firefox | Safari  |  Edge  | IE  |
1741   * | :----: | :-----: | :-----: | :----: | :-: |
1742   * | **33** | **32**  |  **9**  | **79** | No  |
1743   * |        |         | 6 _-x-_ |        |     |
1744   *
1745   * @see https://developer.mozilla.org/docs/Web/CSS/font-kerning
1746   */
1747  fontKerning?: FontKerningProperty;
1748  /**
1749   * The **`font-language-override`** CSS property controls the use of language-specific glyphs in a typeface.
1750   *
1751   * **Syntax**: `normal | <string>`
1752   *
1753   * **Initial value**: `normal`
1754   *
1755   * | Chrome | Firefox | Safari | Edge | IE  |
1756   * | :----: | :-----: | :----: | :--: | :-: |
1757   * |   No   | **34**  |   No   |  No  | No  |
1758   * |        | 4 _-x-_ |        |      |     |
1759   *
1760   * @see https://developer.mozilla.org/docs/Web/CSS/font-language-override
1761   */
1762  fontLanguageOverride?: FontLanguageOverrideProperty;
1763  /**
1764   * The **`font-optical-sizing`** CSS property sets whether text rendering is optimized for viewing at different sizes. This only works for fonts that have an optical size variation axis.
1765   *
1766   * **Syntax**: `auto | none`
1767   *
1768   * **Initial value**: `auto`
1769   *
1770   * | Chrome | Firefox | Safari |  Edge  | IE  |
1771   * | :----: | :-----: | :----: | :----: | :-: |
1772   * | **79** | **62**  | **11** | **17** | No  |
1773   *
1774   * @see https://developer.mozilla.org/docs/Web/CSS/font-optical-sizing
1775   */
1776  fontOpticalSizing?: FontOpticalSizingProperty;
1777  /**
1778   * The **`font-size`** CSS property sets the size of the font. This property is also used to compute the size of `em`, `ex`, and other relative `<length>` units.
1779   *
1780   * **Syntax**: `<absolute-size> | <relative-size> | <length-percentage>`
1781   *
1782   * **Initial value**: `medium`
1783   *
1784   * | Chrome | Firefox | Safari |  Edge  |   IE    |
1785   * | :----: | :-----: | :----: | :----: | :-----: |
1786   * | **1**  |  **1**  | **1**  | **12** | **5.5** |
1787   *
1788   * @see https://developer.mozilla.org/docs/Web/CSS/font-size
1789   */
1790  fontSize?: FontSizeProperty<TLength>;
1791  /**
1792   * The **`font-size-adjust`** CSS property sets how the font size should be chosen based on the height of lowercase rather than capital letters.
1793   *
1794   * **Syntax**: `none | <number>`
1795   *
1796   * **Initial value**: `none`
1797   *
1798   * | Chrome | Firefox | Safari | Edge | IE  |
1799   * | :----: | :-----: | :----: | :--: | :-: |
1800   * |  n/a   |  **1**  |   No   | n/a  | No  |
1801   *
1802   * @see https://developer.mozilla.org/docs/Web/CSS/font-size-adjust
1803   */
1804  fontSizeAdjust?: FontSizeAdjustProperty;
1805  /**
1806   * The **`font-stretch`** CSS property selects a normal, condensed, or expanded face from a font.
1807   *
1808   * **Syntax**: `<font-stretch-absolute>`
1809   *
1810   * **Initial value**: `normal`
1811   *
1812   * | Chrome | Firefox | Safari |  Edge  |  IE   |
1813   * | :----: | :-----: | :----: | :----: | :---: |
1814   * | **60** |  **9**  | **11** | **12** | **9** |
1815   *
1816   * @see https://developer.mozilla.org/docs/Web/CSS/font-stretch
1817   */
1818  fontStretch?: FontStretchProperty;
1819  /**
1820   * The **`font-style`** CSS property sets whether a font should be styled with a normal, italic, or oblique face from its `font-family`.
1821   *
1822   * **Syntax**: `normal | italic | oblique <angle>?`
1823   *
1824   * **Initial value**: `normal`
1825   *
1826   * | Chrome | Firefox | Safari |  Edge  |  IE   |
1827   * | :----: | :-----: | :----: | :----: | :---: |
1828   * | **1**  |  **1**  | **1**  | **12** | **4** |
1829   *
1830   * @see https://developer.mozilla.org/docs/Web/CSS/font-style
1831   */
1832  fontStyle?: FontStyleProperty;
1833  /**
1834   * The **`font-synthesis`** CSS property controls which missing typefaces, bold or italic, may be synthesized by the browser.
1835   *
1836   * **Syntax**: `none | [ weight || style ]`
1837   *
1838   * **Initial value**: `weight style`
1839   *
1840   * | Chrome | Firefox | Safari | Edge | IE  |
1841   * | :----: | :-----: | :----: | :--: | :-: |
1842   * |   No   | **34**  | **9**  |  No  | No  |
1843   *
1844   * @see https://developer.mozilla.org/docs/Web/CSS/font-synthesis
1845   */
1846  fontSynthesis?: FontSynthesisProperty;
1847  /**
1848   * The **font-variant** CSS property is a shorthand for the longhand properties `font-variant-caps`, `font-variant-numeric`, `font-variant-alternates`, `font-variant-ligatures`, and `font-variant-east-asian`. You can also set the CSS Level 2 (Revision 1) values of `font-variant`, (that is, `normal` or `small-caps`), by using the `font` shorthand.
1849   *
1850   * **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 ]`
1851   *
1852   * **Initial value**: `normal`
1853   *
1854   * | Chrome | Firefox | Safari |  Edge  |  IE   |
1855   * | :----: | :-----: | :----: | :----: | :---: |
1856   * | **1**  |  **1**  | **1**  | **12** | **4** |
1857   *
1858   * @see https://developer.mozilla.org/docs/Web/CSS/font-variant
1859   */
1860  fontVariant?: FontVariantProperty;
1861  /**
1862   * The **`font-variant-caps`** CSS property controls the use of alternate glyphs for capital letters.
1863   *
1864   * **Syntax**: `normal | small-caps | all-small-caps | petite-caps | all-petite-caps | unicase | titling-caps`
1865   *
1866   * **Initial value**: `normal`
1867   *
1868   * | Chrome | Firefox | Safari |  Edge  | IE  |
1869   * | :----: | :-----: | :----: | :----: | :-: |
1870   * | **52** | **34**  |   No   | **79** | No  |
1871   *
1872   * @see https://developer.mozilla.org/docs/Web/CSS/font-variant-caps
1873   */
1874  fontVariantCaps?: FontVariantCapsProperty;
1875  /**
1876   * The **`font-variant-east-asian`** CSS property controls the use of alternate glyphs for East Asian scripts, like Japanese and Chinese.
1877   *
1878   * **Syntax**: `normal | [ <east-asian-variant-values> || <east-asian-width-values> || ruby ]`
1879   *
1880   * **Initial value**: `normal`
1881   *
1882   * | Chrome | Firefox | Safari |  Edge  | IE  |
1883   * | :----: | :-----: | :----: | :----: | :-: |
1884   * | **63** | **34**  |   No   | **79** | No  |
1885   *
1886   * @see https://developer.mozilla.org/docs/Web/CSS/font-variant-east-asian
1887   */
1888  fontVariantEastAsian?: FontVariantEastAsianProperty;
1889  /**
1890   * 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.
1891   *
1892   * **Syntax**: `normal | none | [ <common-lig-values> || <discretionary-lig-values> || <historical-lig-values> || <contextual-alt-values> ]`
1893   *
1894   * **Initial value**: `normal`
1895   *
1896   * |  Chrome  | Firefox | Safari  |  Edge  | IE  |
1897   * | :------: | :-----: | :-----: | :----: | :-: |
1898   * |  **34**  | **34**  | **9.1** | **79** | No  |
1899   * | 31 _-x-_ |         | 7 _-x-_ |        |     |
1900   *
1901   * @see https://developer.mozilla.org/docs/Web/CSS/font-variant-ligatures
1902   */
1903  fontVariantLigatures?: FontVariantLigaturesProperty;
1904  /**
1905   * The **`font-variant-numeric`** CSS property controls the usage of alternate glyphs for numbers, fractions, and ordinal markers.
1906   *
1907   * **Syntax**: `normal | [ <numeric-figure-values> || <numeric-spacing-values> || <numeric-fraction-values> || ordinal || slashed-zero ]`
1908   *
1909   * **Initial value**: `normal`
1910   *
1911   * | Chrome | Firefox | Safari  |  Edge  | IE  |
1912   * | :----: | :-----: | :-----: | :----: | :-: |
1913   * | **52** | **34**  | **9.1** | **79** | No  |
1914   *
1915   * @see https://developer.mozilla.org/docs/Web/CSS/font-variant-numeric
1916   */
1917  fontVariantNumeric?: FontVariantNumericProperty;
1918  /**
1919   * The **`font-variant-position`** CSS property controls the use of alternate, smaller glyphs that are positioned as superscript or subscript.
1920   *
1921   * **Syntax**: `normal | sub | super`
1922   *
1923   * **Initial value**: `normal`
1924   *
1925   * | Chrome | Firefox | Safari | Edge | IE  |
1926   * | :----: | :-----: | :----: | :--: | :-: |
1927   * |   No   | **34**  |   No   |  No  | No  |
1928   *
1929   * @see https://developer.mozilla.org/docs/Web/CSS/font-variant-position
1930   */
1931  fontVariantPosition?: FontVariantPositionProperty;
1932  /**
1933   * 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.
1934   *
1935   * **Syntax**: `normal | [ <string> <number> ]#`
1936   *
1937   * **Initial value**: `normal`
1938   *
1939   * | Chrome | Firefox | Safari |  Edge  | IE  |
1940   * | :----: | :-----: | :----: | :----: | :-: |
1941   * | **62** | **62**  | **11** | **17** | No  |
1942   *
1943   * @see https://developer.mozilla.org/docs/Web/CSS/font-variation-settings
1944   */
1945  fontVariationSettings?: FontVariationSettingsProperty;
1946  /**
1947   * The **`font-weight`** CSS property specifies the weight (or boldness) of the font. The font weights available to you will depend on the `font-family` you are using. Some fonts are only available in `normal` and `bold`.
1948   *
1949   * **Syntax**: `<font-weight-absolute> | bolder | lighter`
1950   *
1951   * **Initial value**: `normal`
1952   *
1953   * | Chrome | Firefox | Safari |  Edge  |  IE   |
1954   * | :----: | :-----: | :----: | :----: | :---: |
1955   * | **2**  |  **1**  | **1**  | **12** | **3** |
1956   *
1957   * @see https://developer.mozilla.org/docs/Web/CSS/font-weight
1958   */
1959  fontWeight?: FontWeightProperty;
1960  /**
1961   * The **`grid-auto-columns`** CSS property specifies the size of an implicitly-created grid column track.
1962   *
1963   * **Syntax**: `<track-size>+`
1964   *
1965   * **Initial value**: `auto`
1966   *
1967   * | Chrome | Firefox |  Safari  |          Edge           |             IE              |
1968   * | :----: | :-----: | :------: | :---------------------: | :-------------------------: |
1969   * | **57** | **70**  | **10.1** |         **16**          | **10** _(-ms-grid-columns)_ |
1970   * |        |         |          | 12 _(-ms-grid-columns)_ |                             |
1971   *
1972   * @see https://developer.mozilla.org/docs/Web/CSS/grid-auto-columns
1973   */
1974  gridAutoColumns?: GridAutoColumnsProperty<TLength>;
1975  /**
1976   * The **`grid-auto-flow`** CSS property controls how the auto-placement algorithm works, specifying exactly how auto-placed items get flowed into the grid.
1977   *
1978   * **Syntax**: `[ row | column ] || dense`
1979   *
1980   * **Initial value**: `row`
1981   *
1982   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
1983   * | :----: | :-----: | :------: | :----: | :-: |
1984   * | **57** | **52**  | **10.1** | **16** | No  |
1985   *
1986   * @see https://developer.mozilla.org/docs/Web/CSS/grid-auto-flow
1987   */
1988  gridAutoFlow?: GridAutoFlowProperty;
1989  /**
1990   * The **`grid-auto-rows`** CSS property specifies the size of an implicitly-created grid row track.
1991   *
1992   * **Syntax**: `<track-size>+`
1993   *
1994   * **Initial value**: `auto`
1995   *
1996   * | Chrome | Firefox |  Safari  |         Edge         |            IE            |
1997   * | :----: | :-----: | :------: | :------------------: | :----------------------: |
1998   * | **57** | **70**  | **10.1** |        **16**        | **10** _(-ms-grid-rows)_ |
1999   * |        |         |          | 12 _(-ms-grid-rows)_ |                          |
2000   *
2001   * @see https://developer.mozilla.org/docs/Web/CSS/grid-auto-rows
2002   */
2003  gridAutoRows?: GridAutoRowsProperty<TLength>;
2004  /**
2005   * 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.
2006   *
2007   * **Syntax**: `<grid-line>`
2008   *
2009   * **Initial value**: `auto`
2010   *
2011   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
2012   * | :----: | :-----: | :------: | :----: | :-: |
2013   * | **57** | **52**  | **10.1** | **16** | No  |
2014   *
2015   * @see https://developer.mozilla.org/docs/Web/CSS/grid-column-end
2016   */
2017  gridColumnEnd?: GridColumnEndProperty;
2018  /**
2019   * 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.
2020   *
2021   * **Syntax**: `<grid-line>`
2022   *
2023   * **Initial value**: `auto`
2024   *
2025   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
2026   * | :----: | :-----: | :------: | :----: | :-: |
2027   * | **57** | **52**  | **10.1** | **16** | No  |
2028   *
2029   * @see https://developer.mozilla.org/docs/Web/CSS/grid-column-start
2030   */
2031  gridColumnStart?: GridColumnStartProperty;
2032  /**
2033   * 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.
2034   *
2035   * **Syntax**: `<grid-line>`
2036   *
2037   * **Initial value**: `auto`
2038   *
2039   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
2040   * | :----: | :-----: | :------: | :----: | :-: |
2041   * | **57** | **52**  | **10.1** | **16** | No  |
2042   *
2043   * @see https://developer.mozilla.org/docs/Web/CSS/grid-row-end
2044   */
2045  gridRowEnd?: GridRowEndProperty;
2046  /**
2047   * 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.
2048   *
2049   * **Syntax**: `<grid-line>`
2050   *
2051   * **Initial value**: `auto`
2052   *
2053   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
2054   * | :----: | :-----: | :------: | :----: | :-: |
2055   * | **57** | **52**  | **10.1** | **16** | No  |
2056   *
2057   * @see https://developer.mozilla.org/docs/Web/CSS/grid-row-start
2058   */
2059  gridRowStart?: GridRowStartProperty;
2060  /**
2061   * The **`grid-template-areas`** CSS property specifies named grid areas.
2062   *
2063   * **Syntax**: `none | <string>+`
2064   *
2065   * **Initial value**: `none`
2066   *
2067   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
2068   * | :----: | :-----: | :------: | :----: | :-: |
2069   * | **57** | **52**  | **10.1** | **16** | No  |
2070   *
2071   * @see https://developer.mozilla.org/docs/Web/CSS/grid-template-areas
2072   */
2073  gridTemplateAreas?: GridTemplateAreasProperty;
2074  /**
2075   * The **`grid-template-columns`** CSS property defines the line names and track sizing functions of the grid columns.
2076   *
2077   * **Syntax**: `none | <track-list> | <auto-track-list> | subgrid <line-name-list>?`
2078   *
2079   * **Initial value**: `none`
2080   *
2081   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
2082   * | :----: | :-----: | :------: | :----: | :-: |
2083   * | **57** | **52**  | **10.1** | **16** | No  |
2084   *
2085   * @see https://developer.mozilla.org/docs/Web/CSS/grid-template-columns
2086   */
2087  gridTemplateColumns?: GridTemplateColumnsProperty<TLength>;
2088  /**
2089   * The **`grid-template-rows`** CSS property defines the line names and track sizing functions of the grid rows.
2090   *
2091   * **Syntax**: `none | <track-list> | <auto-track-list> | subgrid <line-name-list>?`
2092   *
2093   * **Initial value**: `none`
2094   *
2095   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
2096   * | :----: | :-----: | :------: | :----: | :-: |
2097   * | **57** | **52**  | **10.1** | **16** | No  |
2098   *
2099   * @see https://developer.mozilla.org/docs/Web/CSS/grid-template-rows
2100   */
2101  gridTemplateRows?: GridTemplateRowsProperty<TLength>;
2102  /**
2103   * 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.
2104   *
2105   * **Syntax**: `none | [ first || [ force-end | allow-end ] || last ]`
2106   *
2107   * **Initial value**: `none`
2108   *
2109   * | Chrome | Firefox | Safari | Edge | IE  |
2110   * | :----: | :-----: | :----: | :--: | :-: |
2111   * |   No   |   No    | **10** |  No  | No  |
2112   *
2113   * @see https://developer.mozilla.org/docs/Web/CSS/hanging-punctuation
2114   */
2115  hangingPunctuation?: HangingPunctuationProperty;
2116  /**
2117   * 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.
2118   *
2119   * **Syntax**: `auto | <length> | <percentage> | min-content | max-content | fit-content(<length-percentage>)`
2120   *
2121   * **Initial value**: `auto`
2122   *
2123   * | Chrome | Firefox | Safari |  Edge  |  IE   |
2124   * | :----: | :-----: | :----: | :----: | :---: |
2125   * | **1**  |  **1**  | **1**  | **12** | **4** |
2126   *
2127   * @see https://developer.mozilla.org/docs/Web/CSS/height
2128   */
2129  height?: HeightProperty<TLength>;
2130  /**
2131   * The **`hyphens`** CSS property specifies how words should be hyphenated when text wraps across multiple lines. You can prevent hyphenation entirely, use hyphenation in manually-specified points within the text, or let the browser automatically insert hyphens where appropriate.
2132   *
2133   * **Syntax**: `none | manual | auto`
2134   *
2135   * **Initial value**: `manual`
2136   *
2137   * |  Chrome  | Firefox |    Safari     |     Edge     |      IE      |
2138   * | :------: | :-----: | :-----------: | :----------: | :----------: |
2139   * |  **55**  | **43**  | **5.1** _-x-_ | **12** _-x-_ | **10** _-x-_ |
2140   * | 13 _-x-_ | 6 _-x-_ |               |              |              |
2141   *
2142   * @see https://developer.mozilla.org/docs/Web/CSS/hyphens
2143   */
2144  hyphens?: HyphensProperty;
2145  /**
2146   * 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>`.
2147   *
2148   * **Syntax**: `from-image | <angle> | [ <angle>? flip ]`
2149   *
2150   * **Initial value**: `0deg`
2151   *
2152   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
2153   * | :----: | :-----: | :------: | :----: | :-: |
2154   * | **81** | **26**  | **13.1** | **81** | No  |
2155   *
2156   * @see https://developer.mozilla.org/docs/Web/CSS/image-orientation
2157   */
2158  imageOrientation?: ImageOrientationProperty;
2159  /**
2160   * 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.
2161   *
2162   * **Syntax**: `auto | crisp-edges | pixelated`
2163   *
2164   * **Initial value**: `auto`
2165   *
2166   * | Chrome | Firefox | Safari |  Edge  | IE  |
2167   * | :----: | :-----: | :----: | :----: | :-: |
2168   * | **13** | **3.6** | **6**  | **79** | No  |
2169   *
2170   * @see https://developer.mozilla.org/docs/Web/CSS/image-rendering
2171   */
2172  imageRendering?: ImageRenderingProperty;
2173  /**
2174   * **Syntax**: `[ from-image || <resolution> ] && snap?`
2175   *
2176   * **Initial value**: `1dppx`
2177   */
2178  imageResolution?: ImageResolutionProperty;
2179  /**
2180   * The `initial-letter` CSS property sets styling for dropped, raised, and sunken initial letters.
2181   *
2182   * **Syntax**: `normal | [ <number> <integer>? ]`
2183   *
2184   * **Initial value**: `normal`
2185   *
2186   * | Chrome | Firefox | Safari | Edge | IE  |
2187   * | :----: | :-----: | :----: | :--: | :-: |
2188   * |   No   |   No    | **9**  |  No  | No  |
2189   *
2190   * @see https://developer.mozilla.org/docs/Web/CSS/initial-letter
2191   */
2192  initialLetter?: InitialLetterProperty;
2193  /**
2194   * 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`.
2195   *
2196   * **Syntax**: `<'width'>`
2197   *
2198   * **Initial value**: `auto`
2199   *
2200   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
2201   * | :----: | :-----: | :------: | :----: | :-: |
2202   * | **57** | **41**  | **12.1** | **79** | No  |
2203   *
2204   * @see https://developer.mozilla.org/docs/Web/CSS/inline-size
2205   */
2206  inlineSize?: InlineSizeProperty<TLength>;
2207  /**
2208   * The **`inset`** CSS property defines the logical block and inline start and end offsets of an element, which map 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`.
2209   *
2210   * **Syntax**: `<'top'>{1,4}`
2211   *
2212   * **Initial value**: `auto`
2213   *
2214   * | Chrome | Firefox | Safari | Edge | IE  |
2215   * | :----: | :-----: | :----: | :--: | :-: |
2216   * |   No   | **66**  |   No   |  No  | No  |
2217   *
2218   * @see https://developer.mozilla.org/docs/Web/CSS/inset
2219   */
2220  inset?: InsetProperty<TLength>;
2221  /**
2222   * The **`inset-block`** CSS property defines the logical block start and end offsets of an element, 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`.
2223   *
2224   * **Syntax**: `<'top'>{1,2}`
2225   *
2226   * **Initial value**: `auto`
2227   *
2228   * | Chrome | Firefox | Safari | Edge | IE  |
2229   * | :----: | :-----: | :----: | :--: | :-: |
2230   * |  n/a   | **63**  |   No   | n/a  | No  |
2231   *
2232   * @see https://developer.mozilla.org/docs/Web/CSS/inset-block
2233   */
2234  insetBlock?: InsetBlockProperty<TLength>;
2235  /**
2236   * 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`.
2237   *
2238   * **Syntax**: `<'top'>`
2239   *
2240   * **Initial value**: `auto`
2241   *
2242   * | Chrome | Firefox | Safari | Edge | IE  |
2243   * | :----: | :-----: | :----: | :--: | :-: |
2244   * |  n/a   | **63**  |   No   | n/a  | No  |
2245   *
2246   * @see https://developer.mozilla.org/docs/Web/CSS/inset-block-end
2247   */
2248  insetBlockEnd?: InsetBlockEndProperty<TLength>;
2249  /**
2250   * 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`.
2251   *
2252   * **Syntax**: `<'top'>`
2253   *
2254   * **Initial value**: `auto`
2255   *
2256   * | Chrome | Firefox | Safari | Edge | IE  |
2257   * | :----: | :-----: | :----: | :--: | :-: |
2258   * |  n/a   | **63**  |   No   | n/a  | No  |
2259   *
2260   * @see https://developer.mozilla.org/docs/Web/CSS/inset-block-start
2261   */
2262  insetBlockStart?: InsetBlockStartProperty<TLength>;
2263  /**
2264   * The **`inset-inline`** CSS property defines the logical block start and end offsets of an element, 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`.
2265   *
2266   * **Syntax**: `<'top'>{1,2}`
2267   *
2268   * **Initial value**: `auto`
2269   *
2270   * | Chrome | Firefox | Safari | Edge | IE  |
2271   * | :----: | :-----: | :----: | :--: | :-: |
2272   * |  n/a   | **63**  |   No   | n/a  | No  |
2273   *
2274   * @see https://developer.mozilla.org/docs/Web/CSS/inset-inline
2275   */
2276  insetInline?: InsetInlineProperty<TLength>;
2277  /**
2278   * The **`inset-inline-end`** CSS property defines the logical inline end inset 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`.
2279   *
2280   * **Syntax**: `<'top'>`
2281   *
2282   * **Initial value**: `auto`
2283   *
2284   * | Chrome | Firefox | Safari | Edge | IE  |
2285   * | :----: | :-----: | :----: | :--: | :-: |
2286   * |  n/a   | **63**  |   No   | n/a  | No  |
2287   *
2288   * @see https://developer.mozilla.org/docs/Web/CSS/inset-inline-end
2289   */
2290  insetInlineEnd?: InsetInlineEndProperty<TLength>;
2291  /**
2292   * 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`.
2293   *
2294   * **Syntax**: `<'top'>`
2295   *
2296   * **Initial value**: `auto`
2297   *
2298   * | Chrome | Firefox | Safari | Edge | IE  |
2299   * | :----: | :-----: | :----: | :--: | :-: |
2300   * |  n/a   | **63**  |   No   | n/a  | No  |
2301   *
2302   * @see https://developer.mozilla.org/docs/Web/CSS/inset-inline-start
2303   */
2304  insetInlineStart?: InsetInlineStartProperty<TLength>;
2305  /**
2306   * The **`isolation`** CSS property determines whether an element must create a new stacking context.
2307   *
2308   * **Syntax**: `auto | isolate`
2309   *
2310   * **Initial value**: `auto`
2311   *
2312   * | Chrome | Firefox | Safari |  Edge  | IE  |
2313   * | :----: | :-----: | :----: | :----: | :-: |
2314   * | **41** | **36**  | **8**  | **79** | No  |
2315   *
2316   * @see https://developer.mozilla.org/docs/Web/CSS/isolation
2317   */
2318  isolation?: IsolationProperty;
2319  /**
2320   * 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.
2321   *
2322   * **Syntax**: `normal | <content-distribution> | <overflow-position>? [ <content-position> | left | right ]`
2323   *
2324   * **Initial value**: `normal`
2325   *
2326   * ---
2327   *
2328   * _Supported in Flex Layout_
2329   *
2330   * |  Chrome  | Firefox |  Safari   |  Edge  |   IE   |
2331   * | :------: | :-----: | :-------: | :----: | :----: |
2332   * |  **52**  | **20**  |   **9**   | **12** | **11** |
2333   * | 21 _-x-_ |         | 6.1 _-x-_ |        |        |
2334   *
2335   * ---
2336   *
2337   * _Supported in Grid Layout_
2338   *
2339   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
2340   * | :----: | :-----: | :------: | :----: | :-: |
2341   * | **57** | **52**  | **10.1** | **16** | No  |
2342   *
2343   * ---
2344   *
2345   * @see https://developer.mozilla.org/docs/Web/CSS/justify-content
2346   */
2347  justifyContent?: JustifyContentProperty;
2348  /**
2349   * 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.
2350   *
2351   * **Syntax**: `normal | stretch | <baseline-position> | <overflow-position>? [ <self-position> | left | right ] | legacy | legacy && [ left | right | center ]`
2352   *
2353   * **Initial value**: `legacy`
2354   *
2355   * ---
2356   *
2357   * _Supported in Flex Layout_
2358   *
2359   * | Chrome | Firefox | Safari |  Edge  |   IE   |
2360   * | :----: | :-----: | :----: | :----: | :----: |
2361   * | **52** | **20**  | **9**  | **12** | **11** |
2362   *
2363   * ---
2364   *
2365   * _Supported in Grid Layout_
2366   *
2367   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
2368   * | :----: | :-----: | :------: | :----: | :-: |
2369   * | **57** | **45**  | **10.1** | **16** | No  |
2370   *
2371   * ---
2372   *
2373   * @see https://developer.mozilla.org/docs/Web/CSS/justify-items
2374   */
2375  justifyItems?: JustifyItemsProperty;
2376  /**
2377   * The CSS **`justify-self`** property set the way a box is justified inside its alignment container along the appropriate axis.
2378   *
2379   * **Syntax**: `auto | normal | stretch | <baseline-position> | <overflow-position>? [ <self-position> | left | right ]`
2380   *
2381   * **Initial value**: `auto`
2382   *
2383   * ---
2384   *
2385   * _Supported in Flex Layout_
2386   *
2387   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
2388   * | :----: | :-----: | :------: | :----: | :-: |
2389   * | **57** | **45**  | **10.1** | **16** | No  |
2390   *
2391   * ---
2392   *
2393   * _Supported in Grid Layout_
2394   *
2395   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
2396   * | :----: | :-----: | :------: | :----: | :-: |
2397   * | **57** | **45**  | **10.1** | **16** | No  |
2398   *
2399   * ---
2400   *
2401   * @see https://developer.mozilla.org/docs/Web/CSS/justify-self
2402   */
2403  justifySelf?: JustifySelfProperty;
2404  /**
2405   * The **`left`** CSS property participates in specifying the horizontal position of a _positioned element_. It has no effect on non-positioned elements.
2406   *
2407   * **Syntax**: `<length> | <percentage> | auto`
2408   *
2409   * **Initial value**: `auto`
2410   *
2411   * | Chrome | Firefox | Safari |  Edge  |   IE    |
2412   * | :----: | :-----: | :----: | :----: | :-----: |
2413   * | **1**  |  **1**  | **1**  | **12** | **5.5** |
2414   *
2415   * @see https://developer.mozilla.org/docs/Web/CSS/left
2416   */
2417  left?: LeftProperty<TLength>;
2418  /**
2419   * The **`letter-spacing`** CSS property sets the spacing behavior between text characters.
2420   *
2421   * **Syntax**: `normal | <length>`
2422   *
2423   * **Initial value**: `normal`
2424   *
2425   * | Chrome | Firefox | Safari |  Edge  |  IE   |
2426   * | :----: | :-----: | :----: | :----: | :---: |
2427   * | **1**  |  **1**  | **1**  | **12** | **4** |
2428   *
2429   * @see https://developer.mozilla.org/docs/Web/CSS/letter-spacing
2430   */
2431  letterSpacing?: LetterSpacingProperty<TLength>;
2432  /**
2433   * The **`line-break`** CSS property sets how to break lines of Chinese, Japanese, or Korean (CJK) text when working with punctuation and symbols.
2434   *
2435   * **Syntax**: `auto | loose | normal | strict | anywhere`
2436   *
2437   * **Initial value**: `auto`
2438   *
2439   * | Chrome  | Firefox |   Safari    |  Edge  |   IE    |
2440   * | :-----: | :-----: | :---------: | :----: | :-----: |
2441   * | **58**  | **69**  | **3** _-x-_ | **14** | **5.5** |
2442   * | 1 _-x-_ |         |             |        |         |
2443   *
2444   * @see https://developer.mozilla.org/docs/Web/CSS/line-break
2445   */
2446  lineBreak?: LineBreakProperty;
2447  /**
2448   * The **`line-height`** CSS property sets the amount of space used for lines, such as in 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.
2449   *
2450   * **Syntax**: `normal | <number> | <length> | <percentage>`
2451   *
2452   * **Initial value**: `normal`
2453   *
2454   * | Chrome | Firefox | Safari |  Edge  |  IE   |
2455   * | :----: | :-----: | :----: | :----: | :---: |
2456   * | **1**  |  **1**  | **1**  | **12** | **4** |
2457   *
2458   * @see https://developer.mozilla.org/docs/Web/CSS/line-height
2459   */
2460  lineHeight?: LineHeightProperty<TLength>;
2461  /**
2462   * 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.
2463   *
2464   * **Syntax**: `<length>`
2465   *
2466   * **Initial value**: `0`
2467   *
2468   * | Chrome | Firefox | Safari | Edge | IE  |
2469   * | :----: | :-----: | :----: | :--: | :-: |
2470   * |  n/a   |   No    |   No   | n/a  | No  |
2471   *
2472   * @see https://developer.mozilla.org/docs/Web/CSS/line-height-step
2473   */
2474  lineHeightStep?: LineHeightStepProperty<TLength>;
2475  /**
2476   * The **`list-style-image`** CSS property sets an image to be used as the list item marker.
2477   *
2478   * **Syntax**: `<url> | none`
2479   *
2480   * **Initial value**: `none`
2481   *
2482   * | Chrome | Firefox | Safari |  Edge  |  IE   |
2483   * | :----: | :-----: | :----: | :----: | :---: |
2484   * | **1**  |  **1**  | **1**  | **12** | **4** |
2485   *
2486   * @see https://developer.mozilla.org/docs/Web/CSS/list-style-image
2487   */
2488  listStyleImage?: ListStyleImageProperty;
2489  /**
2490   * The **`list-style-position`** CSS property sets the position of the `::marker` relative to a list item.
2491   *
2492   * **Syntax**: `inside | outside`
2493   *
2494   * **Initial value**: `outside`
2495   *
2496   * | Chrome | Firefox | Safari |  Edge  |  IE   |
2497   * | :----: | :-----: | :----: | :----: | :---: |
2498   * | **1**  |  **1**  | **1**  | **12** | **4** |
2499   *
2500   * @see https://developer.mozilla.org/docs/Web/CSS/list-style-position
2501   */
2502  listStylePosition?: ListStylePositionProperty;
2503  /**
2504   * The **`list-style-type`** CSS property sets the marker (such as a disc, character, or custom counter style) of a list item element.
2505   *
2506   * **Syntax**: `<counter-style> | <string> | none`
2507   *
2508   * **Initial value**: `disc`
2509   *
2510   * | Chrome | Firefox | Safari |  Edge  |  IE   |
2511   * | :----: | :-----: | :----: | :----: | :---: |
2512   * | **1**  |  **1**  | **1**  | **12** | **4** |
2513   *
2514   * @see https://developer.mozilla.org/docs/Web/CSS/list-style-type
2515   */
2516  listStyleType?: ListStyleTypeProperty;
2517  /**
2518   * The **`margin-block`** CSS 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.
2519   *
2520   * **Syntax**: `<'margin-left'>{1,2}`
2521   *
2522   * **Initial value**: `0`
2523   *
2524   * | Chrome | Firefox | Safari | Edge | IE  |
2525   * | :----: | :-----: | :----: | :--: | :-: |
2526   * |  n/a   | **66**  |   No   | n/a  | No  |
2527   *
2528   * @see https://developer.mozilla.org/docs/Web/CSS/margin-block
2529   */
2530  marginBlock?: MarginBlockProperty<TLength>;
2531  /**
2532   * 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.
2533   *
2534   * **Syntax**: `<'margin-left'>`
2535   *
2536   * **Initial value**: `0`
2537   *
2538   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
2539   * | :----: | :-----: | :------: | :----: | :-: |
2540   * | **69** | **41**  | **12.1** | **79** | No  |
2541   *
2542   * @see https://developer.mozilla.org/docs/Web/CSS/margin-block-end
2543   */
2544  marginBlockEnd?: MarginBlockEndProperty<TLength>;
2545  /**
2546   * 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.
2547   *
2548   * **Syntax**: `<'margin-left'>`
2549   *
2550   * **Initial value**: `0`
2551   *
2552   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
2553   * | :----: | :-----: | :------: | :----: | :-: |
2554   * | **69** | **41**  | **12.1** | **79** | No  |
2555   *
2556   * @see https://developer.mozilla.org/docs/Web/CSS/margin-block-start
2557   */
2558  marginBlockStart?: MarginBlockStartProperty<TLength>;
2559  /**
2560   * 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.
2561   *
2562   * **Syntax**: `<length> | <percentage> | auto`
2563   *
2564   * **Initial value**: `0`
2565   *
2566   * | Chrome | Firefox | Safari |  Edge  |  IE   |
2567   * | :----: | :-----: | :----: | :----: | :---: |
2568   * | **1**  |  **1**  | **1**  | **12** | **3** |
2569   *
2570   * @see https://developer.mozilla.org/docs/Web/CSS/margin-bottom
2571   */
2572  marginBottom?: MarginBottomProperty<TLength>;
2573  /**
2574   * The **`margin-inline`** CSS property defines 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.
2575   *
2576   * **Syntax**: `<'margin-left'>{1,2}`
2577   *
2578   * **Initial value**: `0`
2579   *
2580   * | Chrome | Firefox | Safari | Edge | IE  |
2581   * | :----: | :-----: | :----: | :--: | :-: |
2582   * |  n/a   | **66**  |   No   | n/a  | No  |
2583   *
2584   * @see https://developer.mozilla.org/docs/Web/CSS/margin-inline
2585   */
2586  marginInline?: MarginInlineProperty<TLength>;
2587  /**
2588   * 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`.
2589   *
2590   * **Syntax**: `<'margin-left'>`
2591   *
2592   * **Initial value**: `0`
2593   *
2594   * |          Chrome          |        Firefox        |          Safari          |  Edge  | IE  |
2595   * | :----------------------: | :-------------------: | :----------------------: | :----: | :-: |
2596   * |          **69**          |        **41**         |         **12.1**         | **79** | No  |
2597   * | 2 _(-webkit-margin-end)_ | 3 _(-moz-margin-end)_ | 3 _(-webkit-margin-end)_ |        |     |
2598   *
2599   * @see https://developer.mozilla.org/docs/Web/CSS/margin-inline-end
2600   */
2601  marginInlineEnd?: MarginInlineEndProperty<TLength>;
2602  /**
2603   * 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`.
2604   *
2605   * **Syntax**: `<'margin-left'>`
2606   *
2607   * **Initial value**: `0`
2608   *
2609   * |           Chrome           |         Firefox         |           Safari           |  Edge  | IE  |
2610   * | :------------------------: | :---------------------: | :------------------------: | :----: | :-: |
2611   * |           **69**           |         **41**          |          **12.1**          | **79** | No  |
2612   * | 2 _(-webkit-margin-start)_ | 3 _(-moz-margin-start)_ | 3 _(-webkit-margin-start)_ |        |     |
2613   *
2614   * @see https://developer.mozilla.org/docs/Web/CSS/margin-inline-start
2615   */
2616  marginInlineStart?: MarginInlineStartProperty<TLength>;
2617  /**
2618   * 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.
2619   *
2620   * **Syntax**: `<length> | <percentage> | auto`
2621   *
2622   * **Initial value**: `0`
2623   *
2624   * | Chrome | Firefox | Safari |  Edge  |  IE   |
2625   * | :----: | :-----: | :----: | :----: | :---: |
2626   * | **1**  |  **1**  | **1**  | **12** | **3** |
2627   *
2628   * @see https://developer.mozilla.org/docs/Web/CSS/margin-left
2629   */
2630  marginLeft?: MarginLeftProperty<TLength>;
2631  /**
2632   * 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.
2633   *
2634   * **Syntax**: `<length> | <percentage> | auto`
2635   *
2636   * **Initial value**: `0`
2637   *
2638   * | Chrome | Firefox | Safari |  Edge  |  IE   |
2639   * | :----: | :-----: | :----: | :----: | :---: |
2640   * | **1**  |  **1**  | **1**  | **12** | **3** |
2641   *
2642   * @see https://developer.mozilla.org/docs/Web/CSS/margin-right
2643   */
2644  marginRight?: MarginRightProperty<TLength>;
2645  /**
2646   * 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.
2647   *
2648   * **Syntax**: `<length> | <percentage> | auto`
2649   *
2650   * **Initial value**: `0`
2651   *
2652   * | Chrome | Firefox | Safari |  Edge  |  IE   |
2653   * | :----: | :-----: | :----: | :----: | :---: |
2654   * | **1**  |  **1**  | **1**  | **12** | **3** |
2655   *
2656   * @see https://developer.mozilla.org/docs/Web/CSS/margin-top
2657   */
2658  marginTop?: MarginTopProperty<TLength>;
2659  /**
2660   * The **`mask-border-mode`** CSS property specifies the blending mode used in a mask border.
2661   *
2662   * **Syntax**: `luminance | alpha`
2663   *
2664   * **Initial value**: `alpha`
2665   */
2666  maskBorderMode?: MaskBorderModeProperty;
2667  /**
2668   * The **`mask-border-outset`** CSS property specifies the distance by which an element's mask border is set out from its border box.
2669   *
2670   * **Syntax**: `[ <length> | <number> ]{1,4}`
2671   *
2672   * **Initial value**: `0`
2673   */
2674  maskBorderOutset?: MaskBorderOutsetProperty<TLength>;
2675  /**
2676   * 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.
2677   *
2678   * **Syntax**: `[ stretch | repeat | round | space ]{1,2}`
2679   *
2680   * **Initial value**: `stretch`
2681   */
2682  maskBorderRepeat?: MaskBorderRepeatProperty;
2683  /**
2684   * 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.
2685   *
2686   * **Syntax**: `<number-percentage>{1,4} fill?`
2687   *
2688   * **Initial value**: `0`
2689   */
2690  maskBorderSlice?: MaskBorderSliceProperty;
2691  /**
2692   * The **`mask-border-source`** CSS property sets the source image used to create an element's mask border.
2693   *
2694   * **Syntax**: `none | <image>`
2695   *
2696   * **Initial value**: `none`
2697   */
2698  maskBorderSource?: MaskBorderSourceProperty;
2699  /**
2700   * The **`mask-border-width`** CSS property sets the width of an element's mask border.
2701   *
2702   * **Syntax**: `[ <length-percentage> | <number> | auto ]{1,4}`
2703   *
2704   * **Initial value**: `auto`
2705   */
2706  maskBorderWidth?: MaskBorderWidthProperty<TLength>;
2707  /**
2708   * 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.
2709   *
2710   * **Syntax**: `[ <geometry-box> | no-clip ]#`
2711   *
2712   * **Initial value**: `border-box`
2713   *
2714   * |   Chrome    | Firefox |   Safari    |     Edge     | IE  |
2715   * | :---------: | :-----: | :---------: | :----------: | :-: |
2716   * | **1** _-x-_ | **53**  | **4** _-x-_ | **79** _-x-_ | No  |
2717   *
2718   * @see https://developer.mozilla.org/docs/Web/CSS/mask-clip
2719   */
2720  maskClip?: MaskClipProperty;
2721  /**
2722   * The **`mask-composite`** CSS property represents a compositing operation used on the current mask layer with the mask layers below it.
2723   *
2724   * **Syntax**: `<compositing-operator>#`
2725   *
2726   * **Initial value**: `add`
2727   *
2728   * | Chrome | Firefox | Safari | Edge  | IE  |
2729   * | :----: | :-----: | :----: | :---: | :-: |
2730   * |   No   | **53**  |   No   | 18-79 | No  |
2731   *
2732   * @see https://developer.mozilla.org/docs/Web/CSS/mask-composite
2733   */
2734  maskComposite?: MaskCompositeProperty;
2735  /**
2736   * The **`mask-image`** CSS property sets the image that is used as mask layer for an element.
2737   *
2738   * **Syntax**: `<mask-reference>#`
2739   *
2740   * **Initial value**: `none`
2741   *
2742   * |   Chrome    | Firefox |   Safari    |  Edge  | IE  |
2743   * | :---------: | :-----: | :---------: | :----: | :-: |
2744   * | **1** _-x-_ | **53**  | **4** _-x-_ | **16** | No  |
2745   *
2746   * @see https://developer.mozilla.org/docs/Web/CSS/mask-image
2747   */
2748  maskImage?: MaskImageProperty;
2749  /**
2750   * The **`mask-mode`** CSS property sets whether the mask reference defined by `mask-image` is treated as a luminance or alpha mask.
2751   *
2752   * **Syntax**: `<masking-mode>#`
2753   *
2754   * **Initial value**: `match-source`
2755   *
2756   * | Chrome | Firefox | Safari | Edge | IE  |
2757   * | :----: | :-----: | :----: | :--: | :-: |
2758   * |   No   | **53**  |   No   |  No  | No  |
2759   *
2760   * @see https://developer.mozilla.org/docs/Web/CSS/mask-mode
2761   */
2762  maskMode?: MaskModeProperty;
2763  /**
2764   * The **`mask-origin`** CSS property sets the origin of a mask.
2765   *
2766   * **Syntax**: `<geometry-box>#`
2767   *
2768   * **Initial value**: `border-box`
2769   *
2770   * |   Chrome    | Firefox |   Safari    |     Edge     | IE  |
2771   * | :---------: | :-----: | :---------: | :----------: | :-: |
2772   * | **1** _-x-_ | **53**  | **4** _-x-_ | **79** _-x-_ | No  |
2773   *
2774   * @see https://developer.mozilla.org/docs/Web/CSS/mask-origin
2775   */
2776  maskOrigin?: MaskOriginProperty;
2777  /**
2778   * The **`mask-position`** CSS property sets the initial position, relative to the mask position layer set by `mask-origin`, for each defined mask image.
2779   *
2780   * **Syntax**: `<position>#`
2781   *
2782   * **Initial value**: `center`
2783   *
2784   * |   Chrome    | Firefox |    Safari     |  Edge  | IE  |
2785   * | :---------: | :-----: | :-----------: | :----: | :-: |
2786   * | **1** _-x-_ | **53**  | **3.2** _-x-_ | **18** | No  |
2787   *
2788   * @see https://developer.mozilla.org/docs/Web/CSS/mask-position
2789   */
2790  maskPosition?: MaskPositionProperty<TLength>;
2791  /**
2792   * 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.
2793   *
2794   * **Syntax**: `<repeat-style>#`
2795   *
2796   * **Initial value**: `no-repeat`
2797   *
2798   * |   Chrome    | Firefox |    Safari     |  Edge  | IE  |
2799   * | :---------: | :-----: | :-----------: | :----: | :-: |
2800   * | **1** _-x-_ | **53**  | **3.2** _-x-_ | **18** | No  |
2801   *
2802   * @see https://developer.mozilla.org/docs/Web/CSS/mask-repeat
2803   */
2804  maskRepeat?: MaskRepeatProperty;
2805  /**
2806   * 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.
2807   *
2808   * **Syntax**: `<bg-size>#`
2809   *
2810   * **Initial value**: `auto`
2811   *
2812   * |   Chrome    | Firefox |   Safari    |  Edge  | IE  |
2813   * | :---------: | :-----: | :---------: | :----: | :-: |
2814   * | **4** _-x-_ | **53**  | **4** _-x-_ | **18** | No  |
2815   *
2816   * @see https://developer.mozilla.org/docs/Web/CSS/mask-size
2817   */
2818  maskSize?: MaskSizeProperty<TLength>;
2819  /**
2820   * 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.
2821   *
2822   * **Syntax**: `luminance | alpha`
2823   *
2824   * **Initial value**: `luminance`
2825   *
2826   * | Chrome | Firefox | Safari  |  Edge  | IE  |
2827   * | :----: | :-----: | :-----: | :----: | :-: |
2828   * | **24** | **35**  | **6.1** | **79** | No  |
2829   *
2830   * @see https://developer.mozilla.org/docs/Web/CSS/mask-type
2831   */
2832  maskType?: MaskTypeProperty;
2833  /**
2834   * 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`.
2835   *
2836   * **Syntax**: `<'max-width'>`
2837   *
2838   * **Initial value**: `0`
2839   *
2840   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
2841   * | :----: | :-----: | :------: | :----: | :-: |
2842   * | **57** | **41**  | **12.1** | **79** | No  |
2843   *
2844   * @see https://developer.mozilla.org/docs/Web/CSS/max-block-size
2845   */
2846  maxBlockSize?: MaxBlockSizeProperty<TLength>;
2847  /**
2848   * 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`.
2849   *
2850   * **Syntax**: `auto | <length> | <percentage> | min-content | max-content | fit-content(<length-percentage>)`
2851   *
2852   * **Initial value**: `none`
2853   *
2854   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
2855   * | :----: | :-----: | :-----: | :----: | :---: |
2856   * | **18** |  **1**  | **1.3** | **12** | **7** |
2857   *
2858   * @see https://developer.mozilla.org/docs/Web/CSS/max-height
2859   */
2860  maxHeight?: MaxHeightProperty<TLength>;
2861  /**
2862   * 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 the `max-width` or the `max-height` property depending on the value defined for `writing-mode`. If the writing mode is vertically oriented, the value of `max-inline-size` relates to the maximal height of the element, otherwise it relates to the maximal width of the element. It relates to `max-block-size`, which defines the other dimension of the element.
2863   *
2864   * **Syntax**: `<'max-width'>`
2865   *
2866   * **Initial value**: `0`
2867   *
2868   * | Chrome | Firefox |   Safari   |  Edge  | IE  |
2869   * | :----: | :-----: | :--------: | :----: | :-: |
2870   * | **57** | **41**  |  **12.1**  | **79** | No  |
2871   * |        |         | 10.1 _-x-_ |        |     |
2872   *
2873   * @see https://developer.mozilla.org/docs/Web/CSS/max-inline-size
2874   */
2875  maxInlineSize?: MaxInlineSizeProperty<TLength>;
2876  /**
2877   * **Syntax**: `none | <integer>`
2878   *
2879   * **Initial value**: `none`
2880   */
2881  maxLines?: MaxLinesProperty;
2882  /**
2883   * 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`.
2884   *
2885   * **Syntax**: `auto | <length> | <percentage> | min-content | max-content | fit-content(<length-percentage>)`
2886   *
2887   * **Initial value**: `none`
2888   *
2889   * | Chrome | Firefox | Safari |  Edge  |  IE   |
2890   * | :----: | :-----: | :----: | :----: | :---: |
2891   * | **1**  |  **1**  | **1**  | **12** | **7** |
2892   *
2893   * @see https://developer.mozilla.org/docs/Web/CSS/max-width
2894   */
2895  maxWidth?: MaxWidthProperty<TLength>;
2896  /**
2897   * 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`.
2898   *
2899   * **Syntax**: `<'min-width'>`
2900   *
2901   * **Initial value**: `0`
2902   *
2903   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
2904   * | :----: | :-----: | :------: | :----: | :-: |
2905   * | **57** | **41**  | **12.1** | **79** | No  |
2906   *
2907   * @see https://developer.mozilla.org/docs/Web/CSS/min-block-size
2908   */
2909  minBlockSize?: MinBlockSizeProperty<TLength>;
2910  /**
2911   * 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`.
2912   *
2913   * **Syntax**: `auto | <length> | <percentage> | min-content | max-content | fit-content(<length-percentage>)`
2914   *
2915   * **Initial value**: `auto`
2916   *
2917   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
2918   * | :----: | :-----: | :-----: | :----: | :---: |
2919   * | **1**  |  **3**  | **1.3** | **12** | **7** |
2920   *
2921   * @see https://developer.mozilla.org/docs/Web/CSS/min-height
2922   */
2923  minHeight?: MinHeightProperty<TLength>;
2924  /**
2925   * 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`.
2926   *
2927   * **Syntax**: `<'min-width'>`
2928   *
2929   * **Initial value**: `0`
2930   *
2931   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
2932   * | :----: | :-----: | :------: | :----: | :-: |
2933   * | **57** | **41**  | **12.1** | **79** | No  |
2934   *
2935   * @see https://developer.mozilla.org/docs/Web/CSS/min-inline-size
2936   */
2937  minInlineSize?: MinInlineSizeProperty<TLength>;
2938  /**
2939   * 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`.
2940   *
2941   * **Syntax**: `auto | <length> | <percentage> | min-content | max-content | fit-content(<length-percentage>)`
2942   *
2943   * **Initial value**: `auto`
2944   *
2945   * | Chrome | Firefox | Safari |  Edge  |  IE   |
2946   * | :----: | :-----: | :----: | :----: | :---: |
2947   * | **1**  |  **1**  | **1**  | **12** | **7** |
2948   *
2949   * @see https://developer.mozilla.org/docs/Web/CSS/min-width
2950   */
2951  minWidth?: MinWidthProperty<TLength>;
2952  /**
2953   * 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.
2954   *
2955   * **Syntax**: `<blend-mode>`
2956   *
2957   * **Initial value**: `normal`
2958   *
2959   * | Chrome | Firefox | Safari |  Edge  | IE  |
2960   * | :----: | :-----: | :----: | :----: | :-: |
2961   * | **41** | **32**  | **8**  | **79** | No  |
2962   *
2963   * @see https://developer.mozilla.org/docs/Web/CSS/mix-blend-mode
2964   */
2965  mixBlendMode?: MixBlendModeProperty;
2966  /**
2967   * The **`offset-distance`** CSS property specifies a position along an `offset-path`.
2968   *
2969   * **Syntax**: `<length-percentage>`
2970   *
2971   * **Initial value**: `0`
2972   *
2973   * |         Chrome         | Firefox | Safari |  Edge  | IE  |
2974   * | :--------------------: | :-----: | :----: | :----: | :-: |
2975   * |         **55**         | **72**  |   No   | **79** | No  |
2976   * | 46 _(motion-distance)_ |         |        |        |     |
2977   *
2978   * @see https://developer.mozilla.org/docs/Web/CSS/offset-distance
2979   */
2980  motionDistance?: OffsetDistanceProperty<TLength>;
2981  /**
2982   * 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.
2983   *
2984   * **Syntax**: `none | ray( [ <angle> && <size>? && contain? ] ) | <path()> | <url> | [ <basic-shape> || <geometry-box> ]`
2985   *
2986   * **Initial value**: `none`
2987   *
2988   * |       Chrome       | Firefox | Safari |  Edge  | IE  |
2989   * | :----------------: | :-----: | :----: | :----: | :-: |
2990   * |       **55**       | **72**  |   No   | **79** | No  |
2991   * | 46 _(motion-path)_ |         |        |        |     |
2992   *
2993   * @see https://developer.mozilla.org/docs/Web/CSS/offset-path
2994   */
2995  motionPath?: OffsetPathProperty;
2996  /**
2997   * The **`offset-rotate`** CSS property defines the direction of the element while positioning along the offset path.
2998   *
2999   * **Syntax**: `[ auto | reverse ] || <angle>`
3000   *
3001   * **Initial value**: `auto`
3002   *
3003   * |         Chrome         | Firefox | Safari |  Edge  | IE  |
3004   * | :--------------------: | :-----: | :----: | :----: | :-: |
3005   * |         **56**         | **72**  |   No   | **79** | No  |
3006   * | 46 _(motion-rotation)_ |         |        |        |     |
3007   *
3008   * @see https://developer.mozilla.org/docs/Web/CSS/offset-rotate
3009   */
3010  motionRotation?: OffsetRotateProperty;
3011  /**
3012   * 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.
3013   *
3014   * **Syntax**: `fill | contain | cover | none | scale-down`
3015   *
3016   * **Initial value**: `fill`
3017   *
3018   * | Chrome | Firefox | Safari |  Edge  | IE  |
3019   * | :----: | :-----: | :----: | :----: | :-: |
3020   * | **31** | **36**  | **10** | **16** | No  |
3021   *
3022   * @see https://developer.mozilla.org/docs/Web/CSS/object-fit
3023   */
3024  objectFit?: ObjectFitProperty;
3025  /**
3026   * 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.
3027   *
3028   * **Syntax**: `<position>`
3029   *
3030   * **Initial value**: `50% 50%`
3031   *
3032   * | Chrome | Firefox | Safari |  Edge  | IE  |
3033   * | :----: | :-----: | :----: | :----: | :-: |
3034   * | **31** | **36**  | **10** | **16** | No  |
3035   *
3036   * @see https://developer.mozilla.org/docs/Web/CSS/object-position
3037   */
3038  objectPosition?: ObjectPositionProperty<TLength>;
3039  /**
3040   * **Syntax**: `auto | <position>`
3041   *
3042   * **Initial value**: `auto`
3043   *
3044   * | Chrome | Firefox | Safari |  Edge  | IE  |
3045   * | :----: | :-----: | :----: | :----: | :-: |
3046   * | **79** | **72**  |   No   | **79** | No  |
3047   *
3048   * @see https://developer.mozilla.org/docs/Web/CSS/offset-anchor
3049   */
3050  offsetAnchor?: OffsetAnchorProperty<TLength>;
3051  /**
3052   * The **`offset-distance`** CSS property specifies a position along an `offset-path`.
3053   *
3054   * **Syntax**: `<length-percentage>`
3055   *
3056   * **Initial value**: `0`
3057   *
3058   * |         Chrome         | Firefox | Safari |  Edge  | IE  |
3059   * | :--------------------: | :-----: | :----: | :----: | :-: |
3060   * |         **55**         | **72**  |   No   | **79** | No  |
3061   * | 46 _(motion-distance)_ |         |        |        |     |
3062   *
3063   * @see https://developer.mozilla.org/docs/Web/CSS/offset-distance
3064   */
3065  offsetDistance?: OffsetDistanceProperty<TLength>;
3066  /**
3067   * 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.
3068   *
3069   * **Syntax**: `none | ray( [ <angle> && <size>? && contain? ] ) | <path()> | <url> | [ <basic-shape> || <geometry-box> ]`
3070   *
3071   * **Initial value**: `none`
3072   *
3073   * |       Chrome       | Firefox | Safari |  Edge  | IE  |
3074   * | :----------------: | :-----: | :----: | :----: | :-: |
3075   * |       **55**       | **72**  |   No   | **79** | No  |
3076   * | 46 _(motion-path)_ |         |        |        |     |
3077   *
3078   * @see https://developer.mozilla.org/docs/Web/CSS/offset-path
3079   */
3080  offsetPath?: OffsetPathProperty;
3081  /**
3082   * The **`offset-rotate`** CSS property defines the direction of the element while positioning along the offset path.
3083   *
3084   * **Syntax**: `[ auto | reverse ] || <angle>`
3085   *
3086   * **Initial value**: `auto`
3087   *
3088   * |         Chrome         | Firefox | Safari |  Edge  | IE  |
3089   * | :--------------------: | :-----: | :----: | :----: | :-: |
3090   * |         **56**         | **72**  |   No   | **79** | No  |
3091   * | 46 _(motion-rotation)_ |         |        |        |     |
3092   *
3093   * @see https://developer.mozilla.org/docs/Web/CSS/offset-rotate
3094   */
3095  offsetRotate?: OffsetRotateProperty;
3096  /**
3097   * The **`offset-rotate`** CSS property defines the direction of the element while positioning along the offset path.
3098   *
3099   * **Syntax**: `[ auto | reverse ] || <angle>`
3100   *
3101   * **Initial value**: `auto`
3102   *
3103   * |         Chrome         | Firefox | Safari |  Edge  | IE  |
3104   * | :--------------------: | :-----: | :----: | :----: | :-: |
3105   * |         **56**         | **72**  |   No   | **79** | No  |
3106   * | 46 _(motion-rotation)_ |         |        |        |     |
3107   *
3108   * @see https://developer.mozilla.org/docs/Web/CSS/offset-rotate
3109   */
3110  offsetRotation?: OffsetRotateProperty;
3111  /**
3112   * The **`opacity`** CSS property sets the transparency of an element or the degree to which content behind an element is visible.
3113   *
3114   * **Syntax**: `<alpha-value>`
3115   *
3116   * **Initial value**: `1.0`
3117   *
3118   * | Chrome | Firefox | Safari |  Edge  |  IE   |
3119   * | :----: | :-----: | :----: | :----: | :---: |
3120   * | **1**  |  **1**  | **2**  | **12** | **9** |
3121   *
3122   * @see https://developer.mozilla.org/docs/Web/CSS/opacity
3123   */
3124  opacity?: OpacityProperty;
3125  /**
3126   * 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.
3127   *
3128   * **Syntax**: `<integer>`
3129   *
3130   * **Initial value**: `0`
3131   *
3132   * |  Chrome  | Firefox | Safari  |  Edge  |    IE    |
3133   * | :------: | :-----: | :-----: | :----: | :------: |
3134   * |  **29**  | **20**  |  **9**  | **12** |  **11**  |
3135   * | 21 _-x-_ |         | 7 _-x-_ |        | 10 _-x-_ |
3136   *
3137   * @see https://developer.mozilla.org/docs/Web/CSS/order
3138   */
3139  order?: GlobalsNumber;
3140  /**
3141   * 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.
3142   *
3143   * **Syntax**: `<integer>`
3144   *
3145   * **Initial value**: `2`
3146   *
3147   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
3148   * | :----: | :-----: | :-----: | :----: | :---: |
3149   * | **25** |   No    | **1.3** | **12** | **8** |
3150   *
3151   * @see https://developer.mozilla.org/docs/Web/CSS/orphans
3152   */
3153  orphans?: GlobalsNumber;
3154  /**
3155   * The **`outline-color`** CSS property sets the color of an element's outline.
3156   *
3157   * **Syntax**: `<color> | invert`
3158   *
3159   * **Initial value**: `invert`, for browsers supporting it, `currentColor` for the other
3160   *
3161   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
3162   * | :----: | :-----: | :-----: | :----: | :---: |
3163   * | **1**  | **1.5** | **1.2** | **12** | **8** |
3164   *
3165   * @see https://developer.mozilla.org/docs/Web/CSS/outline-color
3166   */
3167  outlineColor?: OutlineColorProperty;
3168  /**
3169   * The **`outline-offset`** CSS property sets the amount of space between an outline and the edge or border of an element.
3170   *
3171   * **Syntax**: `<length>`
3172   *
3173   * **Initial value**: `0`
3174   *
3175   * | Chrome | Firefox | Safari  |  Edge  | IE  |
3176   * | :----: | :-----: | :-----: | :----: | :-: |
3177   * | **1**  | **1.5** | **1.2** | **15** | No  |
3178   *
3179   * @see https://developer.mozilla.org/docs/Web/CSS/outline-offset
3180   */
3181  outlineOffset?: OutlineOffsetProperty<TLength>;
3182  /**
3183   * 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`.
3184   *
3185   * **Syntax**: `auto | <'border-style'>`
3186   *
3187   * **Initial value**: `none`
3188   *
3189   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
3190   * | :----: | :-----: | :-----: | :----: | :---: |
3191   * | **1**  | **1.5** | **1.2** | **12** | **8** |
3192   *
3193   * @see https://developer.mozilla.org/docs/Web/CSS/outline-style
3194   */
3195  outlineStyle?: OutlineStyleProperty;
3196  /**
3197   * The **`outline-width`** CSS property sets the thickness of an element's outline. An outline is a line that is drawn around an element, outside the `border`.
3198   *
3199   * **Syntax**: `<line-width>`
3200   *
3201   * **Initial value**: `medium`
3202   *
3203   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
3204   * | :----: | :-----: | :-----: | :----: | :---: |
3205   * | **1**  | **1.5** | **1.2** | **12** | **8** |
3206   *
3207   * @see https://developer.mozilla.org/docs/Web/CSS/outline-width
3208   */
3209  outlineWidth?: OutlineWidthProperty<TLength>;
3210  /**
3211   * **Syntax**: `auto | none`
3212   *
3213   * **Initial value**: `auto`
3214   *
3215   * | Chrome | Firefox | Safari |  Edge  | IE  |
3216   * | :----: | :-----: | :----: | :----: | :-: |
3217   * | **56** | **66**  |   No   | **79** | No  |
3218   *
3219   * @see https://developer.mozilla.org/docs/Web/CSS/overflow-anchor
3220   */
3221  overflowAnchor?: OverflowAnchorProperty;
3222  /**
3223   * **Syntax**: `visible | hidden | clip | scroll | auto`
3224   *
3225   * **Initial value**: `auto`
3226   *
3227   * | Chrome | Firefox | Safari | Edge | IE  |
3228   * | :----: | :-----: | :----: | :--: | :-: |
3229   * |   No   | **69**  |   No   |  No  | No  |
3230   *
3231   * @see https://developer.mozilla.org/docs/Web/CSS/overflow-block
3232   */
3233  overflowBlock?: OverflowBlockProperty;
3234  /**
3235   * 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.
3236   *
3237   * **Syntax**: `padding-box | content-box`
3238   *
3239   * **Initial value**: `padding-box`
3240   *
3241   * | Chrome | Firefox | Safari | Edge | IE  |
3242   * | :----: | :-----: | :----: | :--: | :-: |
3243   * |   No   | **29**  |   No   |  No  | No  |
3244   *
3245   * @see https://developer.mozilla.org/docs/Mozilla/Gecko/Chrome/CSS/overflow-clip-box
3246   */
3247  overflowClipBox?: OverflowClipBoxProperty;
3248  /**
3249   * **Syntax**: `visible | hidden | clip | scroll | auto`
3250   *
3251   * **Initial value**: `auto`
3252   *
3253   * | Chrome | Firefox | Safari | Edge | IE  |
3254   * | :----: | :-----: | :----: | :--: | :-: |
3255   * |   No   | **69**  |   No   |  No  | No  |
3256   *
3257   * @see https://developer.mozilla.org/docs/Web/CSS/overflow-inline
3258   */
3259  overflowInline?: OverflowInlineProperty;
3260  /**
3261   * The `**overflow-wrap**` CSS property sets whether the browser should insert line breaks within words to prevent text from overflowing its content box.
3262   *
3263   * **Syntax**: `normal | break-word | anywhere`
3264   *
3265   * **Initial value**: `normal`
3266   *
3267   * |     Chrome      |      Firefox      |     Safari      |       Edge       |          IE           |
3268   * | :-------------: | :---------------: | :-------------: | :--------------: | :-------------------: |
3269   * |     **23**      |      **49**       |     **6.1**     |      **18**      | **5.5** _(word-wrap)_ |
3270   * | 1 _(word-wrap)_ | 3.5 _(word-wrap)_ | 1 _(word-wrap)_ | 12 _(word-wrap)_ |                       |
3271   *
3272   * @see https://developer.mozilla.org/docs/Web/CSS/overflow-wrap
3273   */
3274  overflowWrap?: OverflowWrapProperty;
3275  /**
3276   * 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.
3277   *
3278   * **Syntax**: `visible | hidden | clip | scroll | auto`
3279   *
3280   * **Initial value**: `visible`
3281   *
3282   * | Chrome | Firefox | Safari |  Edge  |  IE   |
3283   * | :----: | :-----: | :----: | :----: | :---: |
3284   * | **1**  | **3.5** | **3**  | **12** | **5** |
3285   *
3286   * @see https://developer.mozilla.org/docs/Web/CSS/overflow-x
3287   */
3288  overflowX?: OverflowXProperty;
3289  /**
3290   * 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.
3291   *
3292   * **Syntax**: `visible | hidden | clip | scroll | auto`
3293   *
3294   * **Initial value**: `visible`
3295   *
3296   * | Chrome | Firefox | Safari |  Edge  |  IE   |
3297   * | :----: | :-----: | :----: | :----: | :---: |
3298   * | **1**  | **1.5** | **3**  | **12** | **5** |
3299   *
3300   * @see https://developer.mozilla.org/docs/Web/CSS/overflow-y
3301   */
3302  overflowY?: OverflowYProperty;
3303  /**
3304   * 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`.
3305   *
3306   * **Syntax**: `[ contain | none | auto ]{1,2}`
3307   *
3308   * **Initial value**: `auto`
3309   *
3310   * | Chrome | Firefox | Safari |  Edge  | IE  |
3311   * | :----: | :-----: | :----: | :----: | :-: |
3312   * | **63** | **59**  |   No   | **18** | No  |
3313   *
3314   * @see https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior
3315   */
3316  overscrollBehavior?: OverscrollBehaviorProperty;
3317  /**
3318   * The **`overscroll-behavior-block`** CSS property sets the browser's behavior when the block direction boundary of a scrolling area is reached.
3319   *
3320   * **Syntax**: `contain | none | auto`
3321   *
3322   * **Initial value**: `auto`
3323   *
3324   * | Chrome | Firefox | Safari |  Edge  | IE  |
3325   * | :----: | :-----: | :----: | :----: | :-: |
3326   * | **77** | **73**  |   No   | **79** | No  |
3327   *
3328   * @see https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-block
3329   */
3330  overscrollBehaviorBlock?: OverscrollBehaviorBlockProperty;
3331  /**
3332   * The **`overscroll-behavior-inline`** CSS property sets the browser's behavior when the inline direction boundary of a scrolling area is reached.
3333   *
3334   * **Syntax**: `contain | none | auto`
3335   *
3336   * **Initial value**: `auto`
3337   *
3338   * | Chrome | Firefox | Safari |  Edge  | IE  |
3339   * | :----: | :-----: | :----: | :----: | :-: |
3340   * | **77** | **73**  |   No   | **79** | No  |
3341   *
3342   * @see https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-inline
3343   */
3344  overscrollBehaviorInline?: OverscrollBehaviorInlineProperty;
3345  /**
3346   * The **`overscroll-behavior-x`** CSS property sets the browser's behavior when the horizontal boundary of a scrolling area is reached.
3347   *
3348   * **Syntax**: `contain | none | auto`
3349   *
3350   * **Initial value**: `auto`
3351   *
3352   * | Chrome | Firefox | Safari |  Edge  | IE  |
3353   * | :----: | :-----: | :----: | :----: | :-: |
3354   * | **63** | **59**  |   No   | **18** | No  |
3355   *
3356   * @see https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-x
3357   */
3358  overscrollBehaviorX?: OverscrollBehaviorXProperty;
3359  /**
3360   * The **`overscroll-behavior-y`** CSS property sets the browser's behavior when the vertical boundary of a scrolling area is reached.
3361   *
3362   * **Syntax**: `contain | none | auto`
3363   *
3364   * **Initial value**: `auto`
3365   *
3366   * | Chrome | Firefox | Safari |  Edge  | IE  |
3367   * | :----: | :-----: | :----: | :----: | :-: |
3368   * | **63** | **59**  |   No   | **18** | No  |
3369   *
3370   * @see https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-y
3371   */
3372  overscrollBehaviorY?: OverscrollBehaviorYProperty;
3373  /**
3374   * The **`padding-block`** CSS 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.
3375   *
3376   * **Syntax**: `<'padding-left'>{1,2}`
3377   *
3378   * **Initial value**: `0`
3379   *
3380   * | Chrome | Firefox | Safari | Edge | IE  |
3381   * | :----: | :-----: | :----: | :--: | :-: |
3382   * |  n/a   | **66**  |   No   | n/a  | No  |
3383   *
3384   * @see https://developer.mozilla.org/docs/Web/CSS/padding-block
3385   */
3386  paddingBlock?: PaddingBlockProperty<TLength>;
3387  /**
3388   * 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. It corresponds to the `padding-top`, `padding-right`, `padding-bottom`, or `padding-left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
3389   *
3390   * **Syntax**: `<'padding-left'>`
3391   *
3392   * **Initial value**: `0`
3393   *
3394   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
3395   * | :----: | :-----: | :------: | :----: | :-: |
3396   * | **69** | **41**  | **12.1** | **79** | No  |
3397   *
3398   * @see https://developer.mozilla.org/docs/Web/CSS/padding-block-end
3399   */
3400  paddingBlockEnd?: PaddingBlockEndProperty<TLength>;
3401  /**
3402   * 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. It corresponds to the `padding-top`, `padding-right`, `padding-bottom`, or `padding-left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
3403   *
3404   * **Syntax**: `<'padding-left'>`
3405   *
3406   * **Initial value**: `0`
3407   *
3408   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
3409   * | :----: | :-----: | :------: | :----: | :-: |
3410   * | **69** | **41**  | **12.1** | **79** | No  |
3411   *
3412   * @see https://developer.mozilla.org/docs/Web/CSS/padding-block-start
3413   */
3414  paddingBlockStart?: PaddingBlockStartProperty<TLength>;
3415  /**
3416   * The **`padding-bottom`** CSS property sets the height of the padding area on the bottom of an element.
3417   *
3418   * **Syntax**: `<length> | <percentage>`
3419   *
3420   * **Initial value**: `0`
3421   *
3422   * | Chrome | Firefox | Safari |  Edge  |  IE   |
3423   * | :----: | :-----: | :----: | :----: | :---: |
3424   * | **1**  |  **1**  | **1**  | **12** | **4** |
3425   *
3426   * @see https://developer.mozilla.org/docs/Web/CSS/padding-bottom
3427   */
3428  paddingBottom?: PaddingBottomProperty<TLength>;
3429  /**
3430   * The **`padding-inline`** CSS 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.
3431   *
3432   * **Syntax**: `<'padding-left'>{1,2}`
3433   *
3434   * **Initial value**: `0`
3435   *
3436   * | Chrome | Firefox | Safari | Edge | IE  |
3437   * | :----: | :-----: | :----: | :--: | :-: |
3438   * |  n/a   | **66**  |   No   | n/a  | No  |
3439   *
3440   * @see https://developer.mozilla.org/docs/Web/CSS/padding-inline
3441   */
3442  paddingInline?: PaddingInlineProperty<TLength>;
3443  /**
3444   * 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. It corresponds to the `padding-top`, `padding-right`, `padding-bottom`, or `padding-left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
3445   *
3446   * **Syntax**: `<'padding-left'>`
3447   *
3448   * **Initial value**: `0`
3449   *
3450   * |          Chrome           |        Firefox         |          Safari           |  Edge  | IE  |
3451   * | :-----------------------: | :--------------------: | :-----------------------: | :----: | :-: |
3452   * |          **69**           |         **41**         |         **12.1**          | **79** | No  |
3453   * | 2 _(-webkit-padding-end)_ | 3 _(-moz-padding-end)_ | 3 _(-webkit-padding-end)_ |        |     |
3454   *
3455   * @see https://developer.mozilla.org/docs/Web/CSS/padding-inline-end
3456   */
3457  paddingInlineEnd?: PaddingInlineEndProperty<TLength>;
3458  /**
3459   * 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. It corresponds to the `padding-top`, `padding-right`, `padding-bottom`, or `padding-left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
3460   *
3461   * **Syntax**: `<'padding-left'>`
3462   *
3463   * **Initial value**: `0`
3464   *
3465   * |           Chrome            |         Firefox          |           Safari            |  Edge  | IE  |
3466   * | :-------------------------: | :----------------------: | :-------------------------: | :----: | :-: |
3467   * |           **69**            |          **41**          |          **12.1**           | **79** | No  |
3468   * | 2 _(-webkit-padding-start)_ | 3 _(-moz-padding-start)_ | 3 _(-webkit-padding-start)_ |        |     |
3469   *
3470   * @see https://developer.mozilla.org/docs/Web/CSS/padding-inline-start
3471   */
3472  paddingInlineStart?: PaddingInlineStartProperty<TLength>;
3473  /**
3474   * The **`padding-left`** CSS property sets the width of the padding area on the left side of an element.
3475   *
3476   * **Syntax**: `<length> | <percentage>`
3477   *
3478   * **Initial value**: `0`
3479   *
3480   * | Chrome | Firefox | Safari |  Edge  |  IE   |
3481   * | :----: | :-----: | :----: | :----: | :---: |
3482   * | **1**  |  **1**  | **1**  | **12** | **4** |
3483   *
3484   * @see https://developer.mozilla.org/docs/Web/CSS/padding-left
3485   */
3486  paddingLeft?: PaddingLeftProperty<TLength>;
3487  /**
3488   * The **`padding-right`** CSS property sets the width of the padding area on the right side of an element.
3489   *
3490   * **Syntax**: `<length> | <percentage>`
3491   *
3492   * **Initial value**: `0`
3493   *
3494   * | Chrome | Firefox | Safari |  Edge  |  IE   |
3495   * | :----: | :-----: | :----: | :----: | :---: |
3496   * | **1**  |  **1**  | **1**  | **12** | **4** |
3497   *
3498   * @see https://developer.mozilla.org/docs/Web/CSS/padding-right
3499   */
3500  paddingRight?: PaddingRightProperty<TLength>;
3501  /**
3502   * The **`padding-top`** padding area on the top of an element.
3503   *
3504   * **Syntax**: `<length> | <percentage>`
3505   *
3506   * **Initial value**: `0`
3507   *
3508   * | Chrome | Firefox | Safari |  Edge  |  IE   |
3509   * | :----: | :-----: | :----: | :----: | :---: |
3510   * | **1**  |  **1**  | **1**  | **12** | **4** |
3511   *
3512   * @see https://developer.mozilla.org/docs/Web/CSS/padding-top
3513   */
3514  paddingTop?: PaddingTopProperty<TLength>;
3515  /**
3516   * The **`page-break-after`** CSS property adjusts page breaks _after_ the current element.
3517   *
3518   * **Syntax**: `auto | always | avoid | left | right | recto | verso`
3519   *
3520   * **Initial value**: `auto`
3521   *
3522   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
3523   * | :----: | :-----: | :-----: | :----: | :---: |
3524   * | **1**  |  **1**  | **1.2** | **12** | **4** |
3525   *
3526   * @see https://developer.mozilla.org/docs/Web/CSS/page-break-after
3527   */
3528  pageBreakAfter?: PageBreakAfterProperty;
3529  /**
3530   * The **`page-break-before`** CSS property adjusts page breaks _before_ the current element.
3531   *
3532   * **Syntax**: `auto | always | avoid | left | right | recto | verso`
3533   *
3534   * **Initial value**: `auto`
3535   *
3536   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
3537   * | :----: | :-----: | :-----: | :----: | :---: |
3538   * | **1**  |  **1**  | **1.2** | **12** | **4** |
3539   *
3540   * @see https://developer.mozilla.org/docs/Web/CSS/page-break-before
3541   */
3542  pageBreakBefore?: PageBreakBeforeProperty;
3543  /**
3544   * The **`page-break-inside`** CSS property adjusts page breaks _inside_ the current element.
3545   *
3546   * **Syntax**: `auto | avoid`
3547   *
3548   * **Initial value**: `auto`
3549   *
3550   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
3551   * | :----: | :-----: | :-----: | :----: | :---: |
3552   * | **1**  | **19**  | **1.3** | **12** | **8** |
3553   *
3554   * @see https://developer.mozilla.org/docs/Web/CSS/page-break-inside
3555   */
3556  pageBreakInside?: PageBreakInsideProperty;
3557  /**
3558   * 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.
3559   *
3560   * **Syntax**: `normal | [ fill || stroke || markers ]`
3561   *
3562   * **Initial value**: `normal`
3563   *
3564   * | Chrome | Firefox | Safari |  Edge  | IE  |
3565   * | :----: | :-----: | :----: | :----: | :-: |
3566   * | **35** | **60**  | **8**  | **17** | No  |
3567   *
3568   * @see https://developer.mozilla.org/docs/Web/CSS/paint-order
3569   */
3570  paintOrder?: PaintOrderProperty;
3571  /**
3572   * 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. Each 3D element with z>0 becomes larger; each 3D-element with z<0 becomes smaller. The strength of the effect is determined by the value of this property.
3573   *
3574   * **Syntax**: `none | <length>`
3575   *
3576   * **Initial value**: `none`
3577   *
3578   * |  Chrome  | Firefox  | Safari  |  Edge  |   IE   |
3579   * | :------: | :------: | :-----: | :----: | :----: |
3580   * |  **36**  |  **16**  |  **9**  | **12** | **10** |
3581   * | 12 _-x-_ | 10 _-x-_ | 4 _-x-_ |        |        |
3582   *
3583   * @see https://developer.mozilla.org/docs/Web/CSS/perspective
3584   */
3585  perspective?: PerspectiveProperty<TLength>;
3586  /**
3587   * 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.
3588   *
3589   * **Syntax**: `<position>`
3590   *
3591   * **Initial value**: `50% 50%`
3592   *
3593   * |  Chrome  | Firefox  | Safari  |  Edge  |   IE   |
3594   * | :------: | :------: | :-----: | :----: | :----: |
3595   * |  **36**  |  **16**  |  **9**  | **12** | **10** |
3596   * | 12 _-x-_ | 10 _-x-_ | 4 _-x-_ |        |        |
3597   *
3598   * @see https://developer.mozilla.org/docs/Web/CSS/perspective-origin
3599   */
3600  perspectiveOrigin?: PerspectiveOriginProperty<TLength>;
3601  /**
3602   * The `**place-content**` CSS property is a shorthand for `align-content` and `justify-content`. It can be used in any layout method which utilizes both of these alignment values.
3603   *
3604   * **Syntax**: `<'align-content'> <'justify-content'>?`
3605   *
3606   * **Initial value**: `normal`
3607   *
3608   * ---
3609   *
3610   * _Supported in Flex Layout_
3611   *
3612   * | Chrome | Firefox | Safari |  Edge  | IE  |
3613   * | :----: | :-----: | :----: | :----: | :-: |
3614   * | **59** | **45**  | **9**  | **79** | No  |
3615   *
3616   * ---
3617   *
3618   * _Supported in Grid Layout_
3619   *
3620   * | Chrome | Firefox | Safari |  Edge  | IE  |
3621   * | :----: | :-----: | :----: | :----: | :-: |
3622   * | **59** | **53**  | **11** | **79** | No  |
3623   *
3624   * ---
3625   *
3626   * @see https://developer.mozilla.org/docs/Web/CSS/place-content
3627   */
3628  placeContent?: PlaceContentProperty;
3629  /**
3630   * The **`pointer-events`** CSS property sets under what circumstances (if any) a particular graphic element can become the target of mouse events.
3631   *
3632   * **Syntax**: `auto | none | visiblePainted | visibleFill | visibleStroke | visible | painted | fill | stroke | all | inherit`
3633   *
3634   * **Initial value**: `auto`
3635   *
3636   * | Chrome | Firefox | Safari |  Edge  |   IE   |
3637   * | :----: | :-----: | :----: | :----: | :----: |
3638   * | **1**  | **1.5** | **4**  | **12** | **11** |
3639   *
3640   * @see https://developer.mozilla.org/docs/Web/CSS/pointer-events
3641   */
3642  pointerEvents?: PointerEventsProperty;
3643  /**
3644   * 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.
3645   *
3646   * **Syntax**: `static | relative | absolute | sticky | fixed`
3647   *
3648   * **Initial value**: `static`
3649   *
3650   * | Chrome | Firefox | Safari |  Edge  |  IE   |
3651   * | :----: | :-----: | :----: | :----: | :---: |
3652   * | **1**  |  **1**  | **1**  | **12** | **4** |
3653   *
3654   * @see https://developer.mozilla.org/docs/Web/CSS/position
3655   */
3656  position?: PositionProperty;
3657  /**
3658   * The **`quotes`** CSS property sets how quotation marks appear.
3659   *
3660   * **Syntax**: `none | auto | [ <string> <string> ]+`
3661   *
3662   * **Initial value**: depends on user agent
3663   *
3664   * | Chrome | Firefox | Safari |  Edge  |  IE   |
3665   * | :----: | :-----: | :----: | :----: | :---: |
3666   * | **11** | **1.5** | **9**  | **12** | **8** |
3667   *
3668   * @see https://developer.mozilla.org/docs/Web/CSS/quotes
3669   */
3670  quotes?: QuotesProperty;
3671  /**
3672   * The **`resize`** CSS property sets whether an element is resizable, and if so, in which directions.
3673   *
3674   * **Syntax**: `none | both | horizontal | vertical | block | inline`
3675   *
3676   * **Initial value**: `none`
3677   *
3678   * | Chrome | Firefox | Safari |  Edge  | IE  |
3679   * | :----: | :-----: | :----: | :----: | :-: |
3680   * | **1**  |  **4**  | **3**  | **79** | No  |
3681   *
3682   * @see https://developer.mozilla.org/docs/Web/CSS/resize
3683   */
3684  resize?: ResizeProperty;
3685  /**
3686   * The **`right`** CSS property participates in specifying the horizontal position of a _positioned element_. It has no effect on non-positioned elements.
3687   *
3688   * **Syntax**: `<length> | <percentage> | auto`
3689   *
3690   * **Initial value**: `auto`
3691   *
3692   * | Chrome | Firefox | Safari |  Edge  |   IE    |
3693   * | :----: | :-----: | :----: | :----: | :-----: |
3694   * | **1**  |  **1**  | **1**  | **12** | **5.5** |
3695   *
3696   * @see https://developer.mozilla.org/docs/Web/CSS/right
3697   */
3698  right?: RightProperty<TLength>;
3699  /**
3700   * The **`rotate`** CSS property allows you to specify rotation transforms individually and independantly 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.
3701   *
3702   * **Syntax**: `none | <angle> | [ x | y | z | <number>{3} ] && <angle>`
3703   *
3704   * **Initial value**: `none`
3705   *
3706   * | Chrome | Firefox | Safari | Edge | IE  |
3707   * | :----: | :-----: | :----: | :--: | :-: |
3708   * |   No   | **72**  |   No   |  No  | No  |
3709   *
3710   * @see https://developer.mozilla.org/docs/Web/CSS/rotate
3711   */
3712  rotate?: RotateProperty;
3713  /**
3714   * The **`row-gap`** CSS property sets the size of the gap (gutter) between an element's grid rows.
3715   *
3716   * **Syntax**: `normal | <length-percentage>`
3717   *
3718   * **Initial value**: `normal`
3719   *
3720   * ---
3721   *
3722   * _Supported in Flex Layout_
3723   *
3724   * | Chrome | Firefox | Safari | Edge | IE  |
3725   * | :----: | :-----: | :----: | :--: | :-: |
3726   * |   No   | **63**  |   No   |  No  | No  |
3727   *
3728   * ---
3729   *
3730   * _Supported in Grid Layout_
3731   *
3732   * |       Chrome        |       Firefox       |          Safari           |  Edge  | IE  |
3733   * | :-----------------: | :-----------------: | :-----------------------: | :----: | :-: |
3734   * |       **66**        |       **61**        | **10.1** _(grid-row-gap)_ | **16** | No  |
3735   * | 57 _(grid-row-gap)_ | 52 _(grid-row-gap)_ |                           |        |     |
3736   *
3737   * ---
3738   *
3739   * @see https://developer.mozilla.org/docs/Web/CSS/row-gap
3740   */
3741  rowGap?: RowGapProperty<TLength>;
3742  /**
3743   * The `**ruby-align**` CSS property defines the distribution of the different ruby elements over the base.
3744   *
3745   * **Syntax**: `start | center | space-between | space-around`
3746   *
3747   * **Initial value**: `space-around`
3748   *
3749   * | Chrome | Firefox | Safari | Edge | IE  |
3750   * | :----: | :-----: | :----: | :--: | :-: |
3751   * |   No   | **38**  |   No   |  No  | No  |
3752   *
3753   * @see https://developer.mozilla.org/docs/Web/CSS/ruby-align
3754   */
3755  rubyAlign?: RubyAlignProperty;
3756  /**
3757   * **Syntax**: `separate | collapse | auto`
3758   *
3759   * **Initial value**: `separate`
3760   */
3761  rubyMerge?: RubyMergeProperty;
3762  /**
3763   * 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`).
3764   *
3765   * **Syntax**: `over | under | inter-character`
3766   *
3767   * **Initial value**: `over`
3768   *
3769   * | Chrome | Firefox | Safari | Edge  | IE  |
3770   * | :----: | :-----: | :----: | :---: | :-: |
3771   * |   No   | **38**  |   No   | 12-79 | No  |
3772   *
3773   * @see https://developer.mozilla.org/docs/Web/CSS/ruby-position
3774   */
3775  rubyPosition?: RubyPositionProperty;
3776  /**
3777   * The **`scale`** CSS property allows you to specify scale transforms individually and independantly 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.
3778   *
3779   * **Syntax**: `none | <number>{1,3}`
3780   *
3781   * **Initial value**: `none`
3782   *
3783   * | Chrome | Firefox | Safari | Edge | IE  |
3784   * | :----: | :-----: | :----: | :--: | :-: |
3785   * |   No   | **72**  |   No   |  No  | No  |
3786   *
3787   * @see https://developer.mozilla.org/docs/Web/CSS/scale
3788   */
3789  scale?: ScaleProperty;
3790  /**
3791   * The **`scroll-behavior`** CSS property sets the behavior for a scrolling box when scrolling is triggered by the navigation or CSSOM scrolling APIs.
3792   *
3793   * **Syntax**: `auto | smooth`
3794   *
3795   * **Initial value**: `auto`
3796   *
3797   * | Chrome | Firefox | Safari |  Edge  | IE  |
3798   * | :----: | :-----: | :----: | :----: | :-: |
3799   * | **61** | **36**  |   No   | **79** | No  |
3800   *
3801   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-behavior
3802   */
3803  scrollBehavior?: ScrollBehaviorProperty;
3804  /**
3805   * The **`scroll-margin`** property is a shorthand property which sets all of the `scroll-margin` longhands, assigning values much like the `margin` property does for the `margin-*` longhands.
3806   *
3807   * **Syntax**: `<length>{1,4}`
3808   *
3809   * **Initial value**: `0`
3810   *
3811   * | Chrome | Firefox |            Safari             |  Edge  | IE  |
3812   * | :----: | :-----: | :---------------------------: | :----: | :-: |
3813   * | **69** | **68**  | **11** _(scroll-snap-margin)_ | **79** | No  |
3814   *
3815   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin
3816   */
3817  scrollMargin?: ScrollMarginProperty<TLength>;
3818  /**
3819   * The `scroll-margin-block` property is a shorthand property which sets the scroll-margin longhands in the block dimension.
3820   *
3821   * **Syntax**: `<length>{1,2}`
3822   *
3823   * **Initial value**: `0`
3824   *
3825   * | Chrome | Firefox | Safari |  Edge  | IE  |
3826   * | :----: | :-----: | :----: | :----: | :-: |
3827   * | **69** | **68**  |   No   | **79** | No  |
3828   *
3829   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-block
3830   */
3831  scrollMarginBlock?: ScrollMarginBlockProperty<TLength>;
3832  /**
3833   * 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.
3834   *
3835   * **Syntax**: `<length>`
3836   *
3837   * **Initial value**: `0`
3838   *
3839   * | Chrome | Firefox | Safari |  Edge  | IE  |
3840   * | :----: | :-----: | :----: | :----: | :-: |
3841   * | **69** | **68**  |   No   | **79** | No  |
3842   *
3843   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-block-end
3844   */
3845  scrollMarginBlockEnd?: ScrollMarginBlockEndProperty<TLength>;
3846  /**
3847   * 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.
3848   *
3849   * **Syntax**: `<length>`
3850   *
3851   * **Initial value**: `0`
3852   *
3853   * | Chrome | Firefox | Safari |  Edge  | IE  |
3854   * | :----: | :-----: | :----: | :----: | :-: |
3855   * | **69** | **68**  |   No   | **79** | No  |
3856   *
3857   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-block-start
3858   */
3859  scrollMarginBlockStart?: ScrollMarginBlockStartProperty<TLength>;
3860  /**
3861   * 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.
3862   *
3863   * **Syntax**: `<length>`
3864   *
3865   * **Initial value**: `0`
3866   *
3867   * | Chrome | Firefox |                Safari                |  Edge  | IE  |
3868   * | :----: | :-----: | :----------------------------------: | :----: | :-: |
3869   * | **69** | **68**  | **11** _(scroll-snap-margin-bottom)_ | **79** | No  |
3870   *
3871   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-bottom
3872   */
3873  scrollMarginBottom?: ScrollMarginBottomProperty<TLength>;
3874  /**
3875   * The `scroll-margin-inline` property is a shorthand property which sets the scroll-margin longhands in the inline dimension.
3876   *
3877   * **Syntax**: `<length>{1,2}`
3878   *
3879   * **Initial value**: `0`
3880   *
3881   * | Chrome | Firefox | Safari | Edge | IE  |
3882   * | :----: | :-----: | :----: | :--: | :-: |
3883   * |   No   | **68**  |   No   |  No  | No  |
3884   *
3885   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-inline
3886   */
3887  scrollMarginInline?: ScrollMarginInlineProperty<TLength>;
3888  /**
3889   * 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.
3890   *
3891   * **Syntax**: `<length>`
3892   *
3893   * **Initial value**: `0`
3894   *
3895   * | Chrome | Firefox | Safari |  Edge  | IE  |
3896   * | :----: | :-----: | :----: | :----: | :-: |
3897   * | **69** | **68**  |   No   | **79** | No  |
3898   *
3899   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-inline-end
3900   */
3901  scrollMarginInlineEnd?: ScrollMarginInlineEndProperty<TLength>;
3902  /**
3903   * 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.
3904   *
3905   * **Syntax**: `<length>`
3906   *
3907   * **Initial value**: `0`
3908   *
3909   * | Chrome | Firefox | Safari |  Edge  | IE  |
3910   * | :----: | :-----: | :----: | :----: | :-: |
3911   * | **69** | **68**  |   No   | **79** | No  |
3912   *
3913   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-inline-start
3914   */
3915  scrollMarginInlineStart?: ScrollMarginInlineStartProperty<TLength>;
3916  /**
3917   * 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.
3918   *
3919   * **Syntax**: `<length>`
3920   *
3921   * **Initial value**: `0`
3922   *
3923   * | Chrome | Firefox |               Safari               |  Edge  | IE  |
3924   * | :----: | :-----: | :--------------------------------: | :----: | :-: |
3925   * | **69** | **68**  | **11** _(scroll-snap-margin-left)_ | **79** | No  |
3926   *
3927   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-left
3928   */
3929  scrollMarginLeft?: ScrollMarginLeftProperty<TLength>;
3930  /**
3931   * 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.
3932   *
3933   * **Syntax**: `<length>`
3934   *
3935   * **Initial value**: `0`
3936   *
3937   * | Chrome | Firefox |               Safari                |  Edge  | IE  |
3938   * | :----: | :-----: | :---------------------------------: | :----: | :-: |
3939   * | **69** | **68**  | **11** _(scroll-snap-margin-right)_ | **79** | No  |
3940   *
3941   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-right
3942   */
3943  scrollMarginRight?: ScrollMarginRightProperty<TLength>;
3944  /**
3945   * 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.
3946   *
3947   * **Syntax**: `<length>`
3948   *
3949   * **Initial value**: `0`
3950   *
3951   * | Chrome | Firefox |              Safari               |  Edge  | IE  |
3952   * | :----: | :-----: | :-------------------------------: | :----: | :-: |
3953   * | **69** | **68**  | **11** _(scroll-snap-margin-top)_ | **79** | No  |
3954   *
3955   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-top
3956   */
3957  scrollMarginTop?: ScrollMarginTopProperty<TLength>;
3958  /**
3959 * The scroll-padding property is a shorthand property which sets all of the scroll-padding longhands, assigning values much like the padding property does for the padding-\* longhands.
3960
3961The scroll-padding properties define offsets for 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.
3962 *
3963 * **Syntax**: `[ auto | <length-percentage> ]{1,4}`
3964 *
3965 * **Initial value**: `auto`
3966 *
3967 * | Chrome | Firefox | Safari |  Edge  | IE  |
3968 * | :----: | :-----: | :----: | :----: | :-: |
3969 * | **69** | **68**  | **11** | **79** | No  |
3970 *
3971 * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding
3972 */
3973  scrollPadding?: ScrollPaddingProperty<TLength>;
3974  /**
3975 * The `scroll-padding-block` property is a shorthand property which sets the scroll-padding longhands for the block dimension.
3976
3977The scroll-padding properties define offsets for 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.
3978 *
3979 * **Syntax**: `[ auto | <length-percentage> ]{1,2}`
3980 *
3981 * **Initial value**: `auto`
3982 *
3983 * | Chrome | Firefox | Safari |  Edge  | IE  |
3984 * | :----: | :-----: | :----: | :----: | :-: |
3985 * | **69** | **68**  |   No   | **79** | No  |
3986 *
3987 * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding-block
3988 */
3989  scrollPaddingBlock?: ScrollPaddingBlockProperty<TLength>;
3990  /**
3991   * 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.
3992   *
3993   * **Syntax**: `auto | <length-percentage>`
3994   *
3995   * **Initial value**: `auto`
3996   *
3997   * | Chrome | Firefox | Safari |  Edge  | IE  |
3998   * | :----: | :-----: | :----: | :----: | :-: |
3999   * | **69** | **68**  |   No   | **79** | No  |
4000   *
4001   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding-block-end
4002   */
4003  scrollPaddingBlockEnd?: ScrollPaddingBlockEndProperty<TLength>;
4004  /**
4005   * 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.
4006   *
4007   * **Syntax**: `auto | <length-percentage>`
4008   *
4009   * **Initial value**: `auto`
4010   *
4011   * | Chrome | Firefox | Safari |  Edge  | IE  |
4012   * | :----: | :-----: | :----: | :----: | :-: |
4013   * | **69** | **68**  |   No   | **79** | No  |
4014   *
4015   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding-block-start
4016   */
4017  scrollPaddingBlockStart?: ScrollPaddingBlockStartProperty<TLength>;
4018  /**
4019   * 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.
4020   *
4021   * **Syntax**: `auto | <length-percentage>`
4022   *
4023   * **Initial value**: `auto`
4024   *
4025   * | Chrome | Firefox | Safari |  Edge  | IE  |
4026   * | :----: | :-----: | :----: | :----: | :-: |
4027   * | **69** | **68**  | **11** | **79** | No  |
4028   *
4029   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding-bottom
4030   */
4031  scrollPaddingBottom?: ScrollPaddingBottomProperty<TLength>;
4032  /**
4033 * The `scroll-padding-inline` property is a shorthand property which sets the scroll-padding longhands for the inline dimension.
4034
4035The scroll-padding properties define offsets for 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.
4036 *
4037 * **Syntax**: `[ auto | <length-percentage> ]{1,2}`
4038 *
4039 * **Initial value**: `auto`
4040 *
4041 * | Chrome | Firefox | Safari |  Edge  | IE  |
4042 * | :----: | :-----: | :----: | :----: | :-: |
4043 * | **69** | **68**  |   No   | **79** | No  |
4044 *
4045 * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding-inline
4046 */
4047  scrollPaddingInline?: ScrollPaddingInlineProperty<TLength>;
4048  /**
4049   * 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.
4050   *
4051   * **Syntax**: `auto | <length-percentage>`
4052   *
4053   * **Initial value**: `auto`
4054   *
4055   * | Chrome | Firefox | Safari |  Edge  | IE  |
4056   * | :----: | :-----: | :----: | :----: | :-: |
4057   * | **69** | **68**  |   No   | **79** | No  |
4058   *
4059   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding-inline-end
4060   */
4061  scrollPaddingInlineEnd?: ScrollPaddingInlineEndProperty<TLength>;
4062  /**
4063   * 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.
4064   *
4065   * **Syntax**: `auto | <length-percentage>`
4066   *
4067   * **Initial value**: `auto`
4068   *
4069   * | Chrome | Firefox | Safari |  Edge  | IE  |
4070   * | :----: | :-----: | :----: | :----: | :-: |
4071   * | **69** | **68**  |   No   | **79** | No  |
4072   *
4073   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding-inline-start
4074   */
4075  scrollPaddingInlineStart?: ScrollPaddingInlineStartProperty<TLength>;
4076  /**
4077   * 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.
4078   *
4079   * **Syntax**: `auto | <length-percentage>`
4080   *
4081   * **Initial value**: `auto`
4082   *
4083   * | Chrome | Firefox | Safari |  Edge  | IE  |
4084   * | :----: | :-----: | :----: | :----: | :-: |
4085   * | **69** | **68**  | **11** | **79** | No  |
4086   *
4087   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding-left
4088   */
4089  scrollPaddingLeft?: ScrollPaddingLeftProperty<TLength>;
4090  /**
4091   * 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.
4092   *
4093   * **Syntax**: `auto | <length-percentage>`
4094   *
4095   * **Initial value**: `auto`
4096   *
4097   * | Chrome | Firefox | Safari |  Edge  | IE  |
4098   * | :----: | :-----: | :----: | :----: | :-: |
4099   * | **69** | **68**  | **11** | **79** | No  |
4100   *
4101   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding-right
4102   */
4103  scrollPaddingRight?: ScrollPaddingRightProperty<TLength>;
4104  /**
4105   * 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.
4106   *
4107   * **Syntax**: `auto | <length-percentage>`
4108   *
4109   * **Initial value**: `auto`
4110   *
4111   * | Chrome | Firefox | Safari |  Edge  | IE  |
4112   * | :----: | :-----: | :----: | :----: | :-: |
4113   * | **69** | **68**  | **11** | **79** | No  |
4114   *
4115   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding-top
4116   */
4117  scrollPaddingTop?: ScrollPaddingTopProperty<TLength>;
4118  /**
4119   * 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.
4120   *
4121   * **Syntax**: `[ none | start | end | center ]{1,2}`
4122   *
4123   * **Initial value**: `none`
4124   *
4125   * | Chrome | Firefox | Safari |  Edge  | IE  |
4126   * | :----: | :-----: | :----: | :----: | :-: |
4127   * | **69** | **68**  | **11** | **79** | No  |
4128   *
4129   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-snap-align
4130   */
4131  scrollSnapAlign?: ScrollSnapAlignProperty;
4132  /**
4133   * The **`scroll-margin`** property is a shorthand property which sets all of the `scroll-margin` longhands, assigning values much like the `margin` property does for the `margin-*` longhands.
4134   *
4135   * **Syntax**: `<length>{1,4}`
4136   *
4137   * **Initial value**: `0`
4138   *
4139   * | Chrome | Firefox |            Safari             |  Edge  | IE  |
4140   * | :----: | :-----: | :---------------------------: | :----: | :-: |
4141   * | **69** | **68**  | **11** _(scroll-snap-margin)_ | **79** | No  |
4142   *
4143   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin
4144   */
4145  scrollSnapMargin?: ScrollMarginProperty<TLength>;
4146  /**
4147   * 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.
4148   *
4149   * **Syntax**: `<length>`
4150   *
4151   * **Initial value**: `0`
4152   *
4153   * | Chrome | Firefox |                Safari                |  Edge  | IE  |
4154   * | :----: | :-----: | :----------------------------------: | :----: | :-: |
4155   * | **69** | **68**  | **11** _(scroll-snap-margin-bottom)_ | **79** | No  |
4156   *
4157   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-bottom
4158   */
4159  scrollSnapMarginBottom?: ScrollMarginBottomProperty<TLength>;
4160  /**
4161   * 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.
4162   *
4163   * **Syntax**: `<length>`
4164   *
4165   * **Initial value**: `0`
4166   *
4167   * | Chrome | Firefox |               Safari               |  Edge  | IE  |
4168   * | :----: | :-----: | :--------------------------------: | :----: | :-: |
4169   * | **69** | **68**  | **11** _(scroll-snap-margin-left)_ | **79** | No  |
4170   *
4171   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-left
4172   */
4173  scrollSnapMarginLeft?: ScrollMarginLeftProperty<TLength>;
4174  /**
4175   * 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.
4176   *
4177   * **Syntax**: `<length>`
4178   *
4179   * **Initial value**: `0`
4180   *
4181   * | Chrome | Firefox |               Safari                |  Edge  | IE  |
4182   * | :----: | :-----: | :---------------------------------: | :----: | :-: |
4183   * | **69** | **68**  | **11** _(scroll-snap-margin-right)_ | **79** | No  |
4184   *
4185   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-right
4186   */
4187  scrollSnapMarginRight?: ScrollMarginRightProperty<TLength>;
4188  /**
4189   * 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.
4190   *
4191   * **Syntax**: `<length>`
4192   *
4193   * **Initial value**: `0`
4194   *
4195   * | Chrome | Firefox |              Safari               |  Edge  | IE  |
4196   * | :----: | :-----: | :-------------------------------: | :----: | :-: |
4197   * | **69** | **68**  | **11** _(scroll-snap-margin-top)_ | **79** | No  |
4198   *
4199   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-top
4200   */
4201  scrollSnapMarginTop?: ScrollMarginTopProperty<TLength>;
4202  /**
4203   * The **`scroll-snap-stop`** CSS property defines whether the scroll container is allowed to "pass over" possible snap positions.
4204   *
4205   * **Syntax**: `normal | always`
4206   *
4207   * **Initial value**: `normal`
4208   *
4209   * | Chrome | Firefox | Safari |  Edge  | IE  |
4210   * | :----: | :-----: | :----: | :----: | :-: |
4211   * | **75** |   No    |   No   | **79** | No  |
4212   *
4213   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-snap-stop
4214   */
4215  scrollSnapStop?: ScrollSnapStopProperty;
4216  /**
4217   * The **`scroll-snap-type`** CSS property sets how strictly snap points are enforced on the scroll container in case there is one.
4218   *
4219   * **Syntax**: `none | [ x | y | block | inline | both ] [ mandatory | proximity ]?`
4220   *
4221   * **Initial value**: `none`
4222   *
4223   * | Chrome | Firefox | Safari  |     Edge     |      IE      |
4224   * | :----: | :-----: | :-----: | :----------: | :----------: |
4225   * | **69** |  39-68  | **11**  | **12** _-x-_ | **10** _-x-_ |
4226   * |        |         | 9 _-x-_ |              |              |
4227   *
4228   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-snap-type
4229   */
4230  scrollSnapType?: ScrollSnapTypeProperty;
4231  /**
4232   * The **`scrollbar-color`** CSS property sets the color of the scrollbar track and thumb.
4233   *
4234   * **Syntax**: `auto | dark | light | <color>{2}`
4235   *
4236   * **Initial value**: `auto`
4237   *
4238   * | Chrome | Firefox | Safari | Edge | IE  |
4239   * | :----: | :-----: | :----: | :--: | :-: |
4240   * |   No   | **64**  |   No   |  No  | No  |
4241   *
4242   * @see https://developer.mozilla.org/docs/Web/CSS/scrollbar-color
4243   */
4244  scrollbarColor?: ScrollbarColorProperty;
4245  /**
4246   * The `scrollbar-width` property allows the author to set the maximum thickness of an element’s scrollbars when they are shown.
4247   *
4248   * **Syntax**: `auto | thin | none`
4249   *
4250   * **Initial value**: `auto`
4251   *
4252   * | Chrome | Firefox | Safari | Edge | IE  |
4253   * | :----: | :-----: | :----: | :--: | :-: |
4254   * |   No   | **64**  |   No   |  No  | No  |
4255   *
4256   * @see https://developer.mozilla.org/docs/Web/CSS/scrollbar-width
4257   */
4258  scrollbarWidth?: ScrollbarWidthProperty;
4259  /**
4260   * 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`.
4261   *
4262   * **Syntax**: `<alpha-value>`
4263   *
4264   * **Initial value**: `0.0`
4265   *
4266   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
4267   * | :----: | :-----: | :------: | :----: | :-: |
4268   * | **37** | **62**  | **10.1** | **79** | No  |
4269   *
4270   * @see https://developer.mozilla.org/docs/Web/CSS/shape-image-threshold
4271   */
4272  shapeImageThreshold?: ShapeImageThresholdProperty;
4273  /**
4274   * The **`shape-margin`** CSS property sets a margin for a CSS shape created using `shape-outside`.
4275   *
4276   * **Syntax**: `<length-percentage>`
4277   *
4278   * **Initial value**: `0`
4279   *
4280   * | Chrome | Firefox |     Safari     |  Edge  | IE  |
4281   * | :----: | :-----: | :------------: | :----: | :-: |
4282   * | **37** | **62**  | **10.1** _-x-_ | **79** | No  |
4283   *
4284   * @see https://developer.mozilla.org/docs/Web/CSS/shape-margin
4285   */
4286  shapeMargin?: ShapeMarginProperty<TLength>;
4287  /**
4288   * 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.
4289   *
4290   * **Syntax**: `none | <shape-box> || <basic-shape> | <image>`
4291   *
4292   * **Initial value**: `none`
4293   *
4294   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
4295   * | :----: | :-----: | :------: | :----: | :-: |
4296   * | **37** | **62**  | **10.1** | **79** | No  |
4297   *
4298   * @see https://developer.mozilla.org/docs/Web/CSS/shape-outside
4299   */
4300  shapeOutside?: ShapeOutsideProperty;
4301  /**
4302   * The **`tab-size`** CSS property is used to customize the width of a tab (`U+0009`) character.
4303   *
4304   * **Syntax**: `<integer> | <length>`
4305   *
4306   * **Initial value**: `8`
4307   *
4308   * | Chrome |   Firefox   | Safari  |  Edge  | IE  |
4309   * | :----: | :---------: | :-----: | :----: | :-: |
4310   * | **21** | **4** _-x-_ | **6.1** | **79** | No  |
4311   *
4312   * @see https://developer.mozilla.org/docs/Web/CSS/tab-size
4313   */
4314  tabSize?: TabSizeProperty<TLength>;
4315  /**
4316   * The **`table-layout`** CSS property sets the algorithm used to lay out `<table>` cells, rows, and columns.
4317   *
4318   * **Syntax**: `auto | fixed`
4319   *
4320   * **Initial value**: `auto`
4321   *
4322   * | Chrome | Firefox | Safari |  Edge  |  IE   |
4323   * | :----: | :-----: | :----: | :----: | :---: |
4324   * | **14** |  **1**  | **1**  | **12** | **5** |
4325   *
4326   * @see https://developer.mozilla.org/docs/Web/CSS/table-layout
4327   */
4328  tableLayout?: TableLayoutProperty;
4329  /**
4330   * The **`text-align`** CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like `vertical-align` but in the horizontal direction.
4331   *
4332   * **Syntax**: `start | end | left | right | center | justify | match-parent`
4333   *
4334   * **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.
4335   *
4336   * | Chrome | Firefox | Safari |  Edge  |  IE   |
4337   * | :----: | :-----: | :----: | :----: | :---: |
4338   * | **1**  |  **1**  | **1**  | **12** | **3** |
4339   *
4340   * @see https://developer.mozilla.org/docs/Web/CSS/text-align
4341   */
4342  textAlign?: TextAlignProperty;
4343  /**
4344   * 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.
4345   *
4346   * **Syntax**: `auto | start | end | left | right | center | justify`
4347   *
4348   * **Initial value**: `auto`
4349   *
4350   * | Chrome | Firefox | Safari |  Edge  |   IE    |
4351   * | :----: | :-----: | :----: | :----: | :-----: |
4352   * | **47** | **49**  |   No   | **12** | **5.5** |
4353   *
4354   * @see https://developer.mozilla.org/docs/Web/CSS/text-align-last
4355   */
4356  textAlignLast?: TextAlignLastProperty;
4357  /**
4358   * 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.
4359   *
4360   * **Syntax**: `none | all | [ digits <integer>? ]`
4361   *
4362   * **Initial value**: `none`
4363   *
4364   * |           Chrome           | Firefox |              Safari              |                  Edge                  |                   IE                   |
4365   * | :------------------------: | :-----: | :------------------------------: | :------------------------------------: | :------------------------------------: |
4366   * |           **48**           | **48**  | **5.1** _(-webkit-text-combine)_ | **12** _(-ms-text-combine-horizontal)_ | **11** _(-ms-text-combine-horizontal)_ |
4367   * | 9 _(-webkit-text-combine)_ |         |                                  |                                        |                                        |
4368   *
4369   * @see https://developer.mozilla.org/docs/Web/CSS/text-combine-upright
4370   */
4371  textCombineUpright?: TextCombineUprightProperty;
4372  /**
4373   * The **`text-decoration-color`** CSS property sets the color of decorations added to text by `text-decoration-line`.
4374   *
4375   * **Syntax**: `<color>`
4376   *
4377   * **Initial value**: `currentcolor`
4378   *
4379   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
4380   * | :----: | :-----: | :------: | :----: | :-: |
4381   * | **57** | **36**  | **12.1** | **79** | No  |
4382   * |        |         | 8 _-x-_  |        |     |
4383   *
4384   * @see https://developer.mozilla.org/docs/Web/CSS/text-decoration-color
4385   */
4386  textDecorationColor?: TextDecorationColorProperty;
4387  /**
4388   * 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.
4389   *
4390   * **Syntax**: `none | [ underline || overline || line-through || blink ] | spelling-error | grammar-error`
4391   *
4392   * **Initial value**: `none`
4393   *
4394   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
4395   * | :----: | :-----: | :------: | :----: | :-: |
4396   * | **57** | **36**  | **12.1** | **79** | No  |
4397   * |        |         | 8 _-x-_  |        |     |
4398   *
4399   * @see https://developer.mozilla.org/docs/Web/CSS/text-decoration-line
4400   */
4401  textDecorationLine?: TextDecorationLineProperty;
4402  /**
4403   * 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.
4404   *
4405   * **Syntax**: `none | [ objects || [ spaces | [ leading-spaces || trailing-spaces ] ] || edges || box-decoration ]`
4406   *
4407   * **Initial value**: `objects`
4408   *
4409   * | Chrome | Firefox |  Safari  | Edge | IE  |
4410   * | :----: | :-----: | :------: | :--: | :-: |
4411   * | 57-64  |   No    | **12.1** |  No  | No  |
4412   * |        |         | 8 _-x-_  |      |     |
4413   *
4414   * @see https://developer.mozilla.org/docs/Web/CSS/text-decoration-skip
4415   */
4416  textDecorationSkip?: TextDecorationSkipProperty;
4417  /**
4418   * The **`text-decoration-skip-ink`** CSS property specifies how overlines and underlines are drawn when they pass over glyph ascenders and descenders.
4419   *
4420   * **Syntax**: `auto | all | none`
4421   *
4422   * **Initial value**: `auto`
4423   *
4424   * | Chrome | Firefox | Safari |  Edge  | IE  |
4425   * | :----: | :-----: | :----: | :----: | :-: |
4426   * | **64** | **70**  |   No   | **79** | No  |
4427   *
4428   * @see https://developer.mozilla.org/docs/Web/CSS/text-decoration-skip-ink
4429   */
4430  textDecorationSkipInk?: TextDecorationSkipInkProperty;
4431  /**
4432   * 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`.
4433   *
4434   * **Syntax**: `solid | double | dotted | dashed | wavy`
4435   *
4436   * **Initial value**: `solid`
4437   *
4438   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
4439   * | :----: | :-----: | :------: | :----: | :-: |
4440   * | **57** | **36**  | **12.1** | **79** | No  |
4441   * |        |         | 8 _-x-_  |        |     |
4442   *
4443   * @see https://developer.mozilla.org/docs/Web/CSS/text-decoration-style
4444   */
4445  textDecorationStyle?: TextDecorationStyleProperty;
4446  /**
4447   * The **`text-decoration-thickness`** CSS property sets the thickness, or width, of the decoration line that is used on text in an element, such as a line-through, underline, or overline.
4448   *
4449   * **Syntax**: `auto | from-font | <length> | <percentage> `
4450   *
4451   * **Initial value**: `auto`
4452   *
4453   * | Chrome | Firefox |  Safari  | Edge | IE  |
4454   * | :----: | :-----: | :------: | :--: | :-: |
4455   * |   No   | **70**  | **12.1** |  No  | No  |
4456   *
4457   * @see https://developer.mozilla.org/docs/Web/CSS/text-decoration-thickness
4458   */
4459  textDecorationThickness?: TextDecorationThicknessProperty<TLength>;
4460  /**
4461   * The **`text-decoration-thickness`** CSS property sets the thickness, or width, of the decoration line that is used on text in an element, such as a line-through, underline, or overline.
4462   *
4463   * **Syntax**: `auto | from-font | <length> | <percentage> `
4464   *
4465   * **Initial value**: `auto`
4466   *
4467   * | Chrome | Firefox |  Safari  | Edge | IE  |
4468   * | :----: | :-----: | :------: | :--: | :-: |
4469   * |   No   | **70**  | **12.1** |  No  | No  |
4470   *
4471   * @see https://developer.mozilla.org/docs/Web/CSS/text-decoration-thickness
4472   */
4473  textDecorationWidth?: TextDecorationThicknessProperty<TLength>;
4474  /**
4475   * The **`text-emphasis-color`** CSS property sets the color of emphasis marks. This value can also be set using the `text-emphasis` shorthand.
4476   *
4477   * **Syntax**: `<color>`
4478   *
4479   * **Initial value**: `currentcolor`
4480   *
4481   * |    Chrome    | Firefox | Safari  |     Edge     | IE  |
4482   * | :----------: | :-----: | :-----: | :----------: | :-: |
4483   * | **25** _-x-_ | **46**  | **6.1** | **79** _-x-_ | No  |
4484   *
4485   * @see https://developer.mozilla.org/docs/Web/CSS/text-emphasis-color
4486   */
4487  textEmphasisColor?: TextEmphasisColorProperty;
4488  /**
4489   * 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.
4490   *
4491   * **Syntax**: `[ over | under ] && [ right | left ]`
4492   *
4493   * **Initial value**: `over right`
4494   *
4495   * |    Chrome    | Firefox | Safari  |     Edge     | IE  |
4496   * | :----------: | :-----: | :-----: | :----------: | :-: |
4497   * | **25** _-x-_ | **46**  | **6.1** | **79** _-x-_ | No  |
4498   *
4499   * @see https://developer.mozilla.org/docs/Web/CSS/text-emphasis-position
4500   */
4501  textEmphasisPosition?: GlobalsString;
4502  /**
4503   * The **`text-emphasis-style`** CSS property sets the appearance of emphasis marks. It can also be set, and reset, using the `text-emphasis` shorthand.
4504   *
4505   * **Syntax**: `none | [ [ filled | open ] || [ dot | circle | double-circle | triangle | sesame ] ] | <string>`
4506   *
4507   * **Initial value**: `none`
4508   *
4509   * |    Chrome    | Firefox | Safari  |     Edge     | IE  |
4510   * | :----------: | :-----: | :-----: | :----------: | :-: |
4511   * | **25** _-x-_ | **46**  | **6.1** | **79** _-x-_ | No  |
4512   *
4513   * @see https://developer.mozilla.org/docs/Web/CSS/text-emphasis-style
4514   */
4515  textEmphasisStyle?: TextEmphasisStyleProperty;
4516  /**
4517   * The **`text-indent`** CSS property sets the length of empty space (indentation) that is put before lines of text in a block.
4518   *
4519   * **Syntax**: `<length-percentage> && hanging? && each-line?`
4520   *
4521   * **Initial value**: `0`
4522   *
4523   * | Chrome | Firefox | Safari |  Edge  |  IE   |
4524   * | :----: | :-----: | :----: | :----: | :---: |
4525   * | **1**  |  **1**  | **1**  | **12** | **3** |
4526   *
4527   * @see https://developer.mozilla.org/docs/Web/CSS/text-indent
4528   */
4529  textIndent?: TextIndentProperty<TLength>;
4530  /**
4531   * The **`text-justify`** CSS property sets what type of justification should be applied to text when `text-align``: justify;` is set on an element.
4532   *
4533   * **Syntax**: `auto | inter-character | inter-word | none`
4534   *
4535   * **Initial value**: `auto`
4536   *
4537   * | Chrome | Firefox | Safari |  Edge  |   IE   |
4538   * | :----: | :-----: | :----: | :----: | :----: |
4539   * |  n/a   | **55**  |   No   | **12** | **11** |
4540   *
4541   * @see https://developer.mozilla.org/docs/Web/CSS/text-justify
4542   */
4543  textJustify?: TextJustifyProperty;
4544  /**
4545   * 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.
4546   *
4547   * **Syntax**: `mixed | upright | sideways`
4548   *
4549   * **Initial value**: `mixed`
4550   *
4551   * |  Chrome  | Firefox |    Safari     |  Edge  | IE  |
4552   * | :------: | :-----: | :-----------: | :----: | :-: |
4553   * |  **48**  | **41**  | **5.1** _-x-_ | **79** | No  |
4554   * | 11 _-x-_ |         |               |        |     |
4555   *
4556   * @see https://developer.mozilla.org/docs/Web/CSS/text-orientation
4557   */
4558  textOrientation?: TextOrientationProperty;
4559  /**
4560   * 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.
4561   *
4562   * **Syntax**: `[ clip | ellipsis | <string> ]{1,2}`
4563   *
4564   * **Initial value**: `clip`
4565   *
4566   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
4567   * | :----: | :-----: | :-----: | :----: | :---: |
4568   * | **1**  |  **7**  | **1.3** | **12** | **6** |
4569   *
4570   * @see https://developer.mozilla.org/docs/Web/CSS/text-overflow
4571   */
4572  textOverflow?: TextOverflowProperty;
4573  /**
4574   * The **`text-rendering`** CSS property provides information to the rendering engine about what to optimize for when rendering text.
4575   *
4576   * **Syntax**: `auto | optimizeSpeed | optimizeLegibility | geometricPrecision`
4577   *
4578   * **Initial value**: `auto`
4579   *
4580   * | Chrome | Firefox | Safari |  Edge  | IE  |
4581   * | :----: | :-----: | :----: | :----: | :-: |
4582   * | **4**  |  **1**  | **5**  | **79** | No  |
4583   *
4584   * @see https://developer.mozilla.org/docs/Web/CSS/text-rendering
4585   */
4586  textRendering?: TextRenderingProperty;
4587  /**
4588   * 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.
4589   *
4590   * **Syntax**: `none | <shadow-t>#`
4591   *
4592   * **Initial value**: `none`
4593   *
4594   * | Chrome | Firefox | Safari  |  Edge  |   IE   |
4595   * | :----: | :-----: | :-----: | :----: | :----: |
4596   * | **2**  | **3.5** | **1.1** | **12** | **10** |
4597   *
4598   * @see https://developer.mozilla.org/docs/Web/CSS/text-shadow
4599   */
4600  textShadow?: TextShadowProperty;
4601  /**
4602   * The **`text-size-adjust`** CSS property controls the text inflation algorithm used on some smartphones and tablets. Other browsers will ignore this property.
4603   *
4604   * **Syntax**: `none | auto | <percentage>`
4605   *
4606   * **Initial value**: `auto` for smartphone browsers supporting inflation, `none` in other cases (and then not modifiable).
4607   *
4608   * | Chrome | Firefox | Safari |  Edge  | IE  |
4609   * | :----: | :-----: | :----: | :----: | :-: |
4610   * | **54** |   No    |   No   | **79** | No  |
4611   *
4612   * @see https://developer.mozilla.org/docs/Web/CSS/text-size-adjust
4613   */
4614  textSizeAdjust?: TextSizeAdjustProperty;
4615  /**
4616   * 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
4617   *
4618   * **Syntax**: `none | capitalize | uppercase | lowercase | full-width | full-size-kana`
4619   *
4620   * **Initial value**: `none`
4621   *
4622   * | Chrome | Firefox | Safari |  Edge  |  IE   |
4623   * | :----: | :-----: | :----: | :----: | :---: |
4624   * | **1**  |  **1**  | **1**  | **12** | **4** |
4625   *
4626   * @see https://developer.mozilla.org/docs/Web/CSS/text-transform
4627   */
4628  textTransform?: TextTransformProperty;
4629  /**
4630   * The **`text-underline-offset`** CSS property sets the offset distance of an underline text decoration line (applied using `text-decoration`) from its original position.
4631   *
4632   * **Syntax**: `auto | <length> | <percentage> `
4633   *
4634   * **Initial value**: `auto`
4635   *
4636   * | Chrome | Firefox |  Safari  | Edge | IE  |
4637   * | :----: | :-----: | :------: | :--: | :-: |
4638   * |   No   | **70**  | **12.1** |  No  | No  |
4639   *
4640   * @see https://developer.mozilla.org/docs/Web/CSS/text-underline-offset
4641   */
4642  textUnderlineOffset?: TextUnderlineOffsetProperty<TLength>;
4643  /**
4644   * The **`text-underline-position`** CSS property specifies the position of the underline which is set using the `text-decoration` property's `underline` value.
4645   *
4646   * **Syntax**: `auto | from-font | [ under || [ left | right ] ]`
4647   *
4648   * **Initial value**: `auto`
4649   *
4650   * | Chrome | Firefox |  Safari  |  Edge  |  IE   |
4651   * | :----: | :-----: | :------: | :----: | :---: |
4652   * | **33** | **74**  | **12.1** | **12** | **6** |
4653   * |        |         | 9 _-x-_  |        |       |
4654   *
4655   * @see https://developer.mozilla.org/docs/Web/CSS/text-underline-position
4656   */
4657  textUnderlinePosition?: TextUnderlinePositionProperty;
4658  /**
4659   * The **`top`** CSS property participates in specifying the vertical position of a _positioned element_. It has no effect on non-positioned elements.
4660   *
4661   * **Syntax**: `<length> | <percentage> | auto`
4662   *
4663   * **Initial value**: `auto`
4664   *
4665   * | Chrome | Firefox | Safari |  Edge  |  IE   |
4666   * | :----: | :-----: | :----: | :----: | :---: |
4667   * | **1**  |  **1**  | **1**  | **12** | **5** |
4668   *
4669   * @see https://developer.mozilla.org/docs/Web/CSS/top
4670   */
4671  top?: TopProperty<TLength>;
4672  /**
4673   * The **`touch-action`** CSS property sets how a region can be manipulated by a touchscreen user (for example, by zooming features built into the browser).
4674   *
4675   * **Syntax**: `auto | none | [ [ pan-x | pan-left | pan-right ] || [ pan-y | pan-up | pan-down ] || pinch-zoom ] | manipulation`
4676   *
4677   * **Initial value**: `auto`
4678   *
4679   * | Chrome | Firefox | Safari |  Edge  |    IE    |
4680   * | :----: | :-----: | :----: | :----: | :------: |
4681   * | **36** | **52**  | **13** | **12** |  **11**  |
4682   * |        |         |        |        | 10 _-x-_ |
4683   *
4684   * @see https://developer.mozilla.org/docs/Web/CSS/touch-action
4685   */
4686  touchAction?: TouchActionProperty;
4687  /**
4688   * The **`transform`** CSS property lets you rotate, scale, skew, or translate an element. It modifies the coordinate space of the CSS visual formatting model.
4689   *
4690   * **Syntax**: `none | <transform-list>`
4691   *
4692   * **Initial value**: `none`
4693   *
4694   * | Chrome  | Firefox |  Safari   |  Edge  |   IE    |
4695   * | :-----: | :-----: | :-------: | :----: | :-----: |
4696   * | **36**  | **16**  |   **9**   | **12** | **10**  |
4697   * | 1 _-x-_ |         | 3.1 _-x-_ |        | 9 _-x-_ |
4698   *
4699   * @see https://developer.mozilla.org/docs/Web/CSS/transform
4700   */
4701  transform?: TransformProperty;
4702  /**
4703   * The **`transform-box`** CSS property defines the layout box to which the `transform` and `transform-origin` properties relate.
4704   *
4705   * **Syntax**: `content-box | border-box | fill-box | stroke-box | view-box`
4706   *
4707   * **Initial value**: `view-box`
4708   *
4709   * | Chrome | Firefox | Safari |  Edge  | IE  |
4710   * | :----: | :-----: | :----: | :----: | :-: |
4711   * | **64** | **55**  | **11** | **79** | No  |
4712   *
4713   * @see https://developer.mozilla.org/docs/Web/CSS/transform-box
4714   */
4715  transformBox?: TransformBoxProperty;
4716  /**
4717   * The **`transform-origin`** CSS property sets the origin for an element's transformations.
4718   *
4719   * **Syntax**: `[ <length-percentage> | left | center | right | top | bottom ] | [ [ <length-percentage> | left | center | right ] && [ <length-percentage> | top | center | bottom ] ] <length>?`
4720   *
4721   * **Initial value**: `50% 50% 0`
4722   *
4723   * | Chrome  |  Firefox  | Safari  |  Edge  |   IE    |
4724   * | :-----: | :-------: | :-----: | :----: | :-----: |
4725   * | **36**  |  **16**   |  **9**  | **12** | **10**  |
4726   * | 1 _-x-_ | 3.5 _-x-_ | 2 _-x-_ |        | 9 _-x-_ |
4727   *
4728   * @see https://developer.mozilla.org/docs/Web/CSS/transform-origin
4729   */
4730  transformOrigin?: TransformOriginProperty<TLength>;
4731  /**
4732   * 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.
4733   *
4734   * **Syntax**: `flat | preserve-3d`
4735   *
4736   * **Initial value**: `flat`
4737   *
4738   * |  Chrome  | Firefox  | Safari  |  Edge  | IE  |
4739   * | :------: | :------: | :-----: | :----: | :-: |
4740   * |  **36**  |  **16**  |  **9**  | **12** | No  |
4741   * | 12 _-x-_ | 10 _-x-_ | 4 _-x-_ |        |     |
4742   *
4743   * @see https://developer.mozilla.org/docs/Web/CSS/transform-style
4744   */
4745  transformStyle?: TransformStyleProperty;
4746  /**
4747   * The **`transition-delay`** CSS property specifies the duration to wait before starting a property's transition effect when its value changes.
4748   *
4749   * **Syntax**: `<time>#`
4750   *
4751   * **Initial value**: `0s`
4752   *
4753   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
4754   * | :-----: | :-----: | :-----: | :----: | :----: |
4755   * | **26**  | **16**  |  **9**  | **12** | **10** |
4756   * | 1 _-x-_ | 4 _-x-_ | 4 _-x-_ |        |        |
4757   *
4758   * @see https://developer.mozilla.org/docs/Web/CSS/transition-delay
4759   */
4760  transitionDelay?: GlobalsString;
4761  /**
4762   * 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.
4763   *
4764   * **Syntax**: `<time>#`
4765   *
4766   * **Initial value**: `0s`
4767   *
4768   * | Chrome  | Firefox |  Safari   |  Edge  |   IE   |
4769   * | :-----: | :-----: | :-------: | :----: | :----: |
4770   * | **26**  | **16**  |   **9**   | **12** | **10** |
4771   * | 1 _-x-_ | 4 _-x-_ | 3.1 _-x-_ |        |        |
4772   *
4773   * @see https://developer.mozilla.org/docs/Web/CSS/transition-duration
4774   */
4775  transitionDuration?: GlobalsString;
4776  /**
4777   * The **`transition-property`** CSS property sets the CSS properties to which a transition effect should be applied.
4778   *
4779   * **Syntax**: `none | <single-transition-property>#`
4780   *
4781   * **Initial value**: all
4782   *
4783   * | Chrome  | Firefox |  Safari   |  Edge  |   IE   |
4784   * | :-----: | :-----: | :-------: | :----: | :----: |
4785   * | **26**  | **16**  |   **9**   | **12** | **10** |
4786   * | 1 _-x-_ | 4 _-x-_ | 3.1 _-x-_ |        |        |
4787   *
4788   * @see https://developer.mozilla.org/docs/Web/CSS/transition-property
4789   */
4790  transitionProperty?: TransitionPropertyProperty;
4791  /**
4792   * The **`transition-timing-function`** CSS property sets how intermediate values are calculated for CSS properties being affected by a transition effect.
4793   *
4794   * **Syntax**: `<timing-function>#`
4795   *
4796   * **Initial value**: `ease`
4797   *
4798   * | Chrome  | Firefox |  Safari   |  Edge  |   IE   |
4799   * | :-----: | :-----: | :-------: | :----: | :----: |
4800   * | **26**  | **16**  |   **9**   | **12** | **10** |
4801   * | 1 _-x-_ | 4 _-x-_ | 3.1 _-x-_ |        |        |
4802   *
4803   * @see https://developer.mozilla.org/docs/Web/CSS/transition-timing-function
4804   */
4805  transitionTimingFunction?: TransitionTimingFunctionProperty;
4806  /**
4807   * The **`translate`** CSS property allows you to specify translation transforms individually and independantly 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.
4808   *
4809   * **Syntax**: `none | <length-percentage> [ <length-percentage> <length>? ]?`
4810   *
4811   * **Initial value**: `none`
4812   *
4813   * | Chrome | Firefox | Safari | Edge | IE  |
4814   * | :----: | :-----: | :----: | :--: | :-: |
4815   * |   No   | **72**  |   No   |  No  | No  |
4816   *
4817   * @see https://developer.mozilla.org/docs/Web/CSS/translate
4818   */
4819  translate?: TranslateProperty<TLength>;
4820  /**
4821   * 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.
4822   *
4823   * **Syntax**: `normal | embed | isolate | bidi-override | isolate-override | plaintext`
4824   *
4825   * **Initial value**: `normal`
4826   *
4827   * | Chrome | Firefox | Safari  |  Edge  |   IE    |
4828   * | :----: | :-----: | :-----: | :----: | :-----: |
4829   * | **2**  |  **1**  | **1.3** | **12** | **5.5** |
4830   *
4831   * @see https://developer.mozilla.org/docs/Web/CSS/unicode-bidi
4832   */
4833  unicodeBidi?: UnicodeBidiProperty;
4834  /**
4835   * 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.
4836   *
4837   * **Syntax**: `auto | text | none | contain | all`
4838   *
4839   * **Initial value**: `auto`
4840   *
4841   * | Chrome  | Firefox |   Safari    |     Edge     |      IE      |
4842   * | :-----: | :-----: | :---------: | :----------: | :----------: |
4843   * | **54**  | **69**  | **3** _-x-_ | **12** _-x-_ | **10** _-x-_ |
4844   * | 1 _-x-_ | 1 _-x-_ |             |              |              |
4845   *
4846   * @see https://developer.mozilla.org/docs/Web/CSS/user-select
4847   */
4848  userSelect?: UserSelectProperty;
4849  /**
4850   * The **`vertical-align`** CSS property sets vertical alignment of an inline or table-cell box.
4851   *
4852   * **Syntax**: `baseline | sub | super | text-top | text-bottom | middle | top | bottom | <percentage> | <length>`
4853   *
4854   * **Initial value**: `baseline`
4855   *
4856   * | Chrome | Firefox | Safari |  Edge  |  IE   |
4857   * | :----: | :-----: | :----: | :----: | :---: |
4858   * | **1**  |  **1**  | **1**  | **12** | **4** |
4859   *
4860   * @see https://developer.mozilla.org/docs/Web/CSS/vertical-align
4861   */
4862  verticalAlign?: VerticalAlignProperty<TLength>;
4863  /**
4864   * 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>`.
4865   *
4866   * **Syntax**: `visible | hidden | collapse`
4867   *
4868   * **Initial value**: `visible`
4869   *
4870   * | Chrome | Firefox | Safari |  Edge  |  IE   |
4871   * | :----: | :-----: | :----: | :----: | :---: |
4872   * | **1**  |  **1**  | **1**  | **12** | **4** |
4873   *
4874   * @see https://developer.mozilla.org/docs/Web/CSS/visibility
4875   */
4876  visibility?: VisibilityProperty;
4877  /**
4878   * The **`white-space`** CSS property sets how white space inside an element is handled.
4879   *
4880   * **Syntax**: `normal | pre | nowrap | pre-wrap | pre-line | break-spaces`
4881   *
4882   * **Initial value**: `normal`
4883   *
4884   * | Chrome | Firefox | Safari |  Edge  |   IE    |
4885   * | :----: | :-----: | :----: | :----: | :-----: |
4886   * | **1**  |  **1**  | **1**  | **12** | **5.5** |
4887   *
4888   * @see https://developer.mozilla.org/docs/Web/CSS/white-space
4889   */
4890  whiteSpace?: WhiteSpaceProperty;
4891  /**
4892   * 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.
4893   *
4894   * **Syntax**: `<integer>`
4895   *
4896   * **Initial value**: `2`
4897   *
4898   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
4899   * | :----: | :-----: | :-----: | :----: | :---: |
4900   * | **25** |   No    | **1.3** | **12** | **8** |
4901   *
4902   * @see https://developer.mozilla.org/docs/Web/CSS/widows
4903   */
4904  widows?: GlobalsNumber;
4905  /**
4906   * 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.
4907   *
4908   * **Syntax**: `auto | <length> | <percentage> | min-content | max-content | fit-content(<length-percentage>)`
4909   *
4910   * **Initial value**: `auto`
4911   *
4912   * | Chrome | Firefox | Safari |  Edge  |  IE   |
4913   * | :----: | :-----: | :----: | :----: | :---: |
4914   * | **1**  |  **1**  | **1**  | **12** | **4** |
4915   *
4916   * @see https://developer.mozilla.org/docs/Web/CSS/width
4917   */
4918  width?: WidthProperty<TLength>;
4919  /**
4920   * 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.
4921   *
4922   * **Syntax**: `auto | <animateable-feature>#`
4923   *
4924   * **Initial value**: `auto`
4925   *
4926   * | Chrome | Firefox | Safari  |  Edge  | IE  |
4927   * | :----: | :-----: | :-----: | :----: | :-: |
4928   * | **36** | **36**  | **9.1** | **79** | No  |
4929   *
4930   * @see https://developer.mozilla.org/docs/Web/CSS/will-change
4931   */
4932  willChange?: WillChangeProperty;
4933  /**
4934   * The **`word-break`** CSS property sets whether line breaks appear wherever the text would otherwise overflow its content box.
4935   *
4936   * **Syntax**: `normal | break-all | keep-all | break-word`
4937   *
4938   * **Initial value**: `normal`
4939   *
4940   * | Chrome | Firefox | Safari |  Edge  |   IE    |
4941   * | :----: | :-----: | :----: | :----: | :-----: |
4942   * | **1**  | **15**  | **3**  | **12** | **5.5** |
4943   *
4944   * @see https://developer.mozilla.org/docs/Web/CSS/word-break
4945   */
4946  wordBreak?: WordBreakProperty;
4947  /**
4948   * The **`word-spacing`** CSS property sets the length of space between words and between tags.
4949   *
4950   * **Syntax**: `normal | <length-percentage>`
4951   *
4952   * **Initial value**: `normal`
4953   *
4954   * | Chrome | Firefox | Safari |  Edge  |  IE   |
4955   * | :----: | :-----: | :----: | :----: | :---: |
4956   * | **1**  |  **1**  | **1**  | **12** | **6** |
4957   *
4958   * @see https://developer.mozilla.org/docs/Web/CSS/word-spacing
4959   */
4960  wordSpacing?: WordSpacingProperty<TLength>;
4961  /**
4962   * The `**overflow-wrap**` CSS property sets whether the browser should insert line breaks within words to prevent text from overflowing its content box.
4963   *
4964   * **Syntax**: `normal | break-word`
4965   *
4966   * **Initial value**: `normal`
4967   *
4968   * | Chrome | Firefox | Safari |  Edge  |   IE    |
4969   * | :----: | :-----: | :----: | :----: | :-----: |
4970   * | **1**  | **3.5** | **2**  | **12** | **5.5** |
4971   *
4972   * @see https://developer.mozilla.org/docs/Web/CSS/overflow-wrap
4973   */
4974  wordWrap?: WordWrapProperty;
4975  /**
4976   * 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.
4977   *
4978   * **Syntax**: `horizontal-tb | vertical-rl | vertical-lr | sideways-rl | sideways-lr`
4979   *
4980   * **Initial value**: `horizontal-tb`
4981   *
4982   * | Chrome  | Firefox |  Safari   |  Edge  |     IE      |
4983   * | :-----: | :-----: | :-------: | :----: | :---------: |
4984   * | **48**  | **41**  | **10.1**  | **12** | **9** _-x-_ |
4985   * | 8 _-x-_ |         | 5.1 _-x-_ |        |             |
4986   *
4987   * @see https://developer.mozilla.org/docs/Web/CSS/writing-mode
4988   */
4989  writingMode?: WritingModeProperty;
4990  /**
4991   * 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.
4992   *
4993   * **Syntax**: `auto | <integer>`
4994   *
4995   * **Initial value**: `auto`
4996   *
4997   * | Chrome | Firefox | Safari |  Edge  |  IE   |
4998   * | :----: | :-----: | :----: | :----: | :---: |
4999   * | **1**  |  **1**  | **1**  | **12** | **4** |
5000   *
5001   * @see https://developer.mozilla.org/docs/Web/CSS/z-index
5002   */
5003  zIndex?: ZIndexProperty;
5004  /**
5005   * 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.
5006   *
5007   * **Syntax**: `normal | reset | <number> | <percentage>`
5008   *
5009   * **Initial value**: `normal`
5010   *
5011   * | Chrome | Firefox | Safari  |  Edge  |   IE    |
5012   * | :----: | :-----: | :-----: | :----: | :-----: |
5013   * | **1**  |   No    | **3.1** | **12** | **5.5** |
5014   *
5015   * @see https://developer.mozilla.org/docs/Web/CSS/zoom
5016   */
5017  zoom?: ZoomProperty;
5018}
5019
5020export interface StandardShorthandProperties<TLength = string | 0> {
5021  /**
5022   * The `**all**` CSS shorthand property sets all of an element's properties (other than `unicode-bidi` and `direction`) to their initial or inherited values, or to the values specified in another stylesheet origin.
5023   *
5024   * **Syntax**: `initial | inherit | unset | revert`
5025   *
5026   * **Initial value**: There is no practical initial value for it.
5027   *
5028   * | Chrome | Firefox | Safari  |  Edge  | IE  |
5029   * | :----: | :-----: | :-----: | :----: | :-: |
5030   * | **37** | **27**  | **9.1** | **79** | No  |
5031   *
5032   * @see https://developer.mozilla.org/docs/Web/CSS/all
5033   */
5034  all?: Globals;
5035  /**
5036   * The **`animation`** shorthand CSS property sets an animated transition 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`.
5037   *
5038   * **Syntax**: `<single-animation>#`
5039   *
5040   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
5041   * | :-----: | :-----: | :-----: | :----: | :----: |
5042   * | **43**  | **16**  |  **9**  | **12** | **10** |
5043   * | 3 _-x-_ | 5 _-x-_ | 4 _-x-_ |        |        |
5044   *
5045   * @see https://developer.mozilla.org/docs/Web/CSS/animation
5046   */
5047  animation?: AnimationProperty;
5048  /**
5049   * The **`background`** shorthand CSS property sets all background style properties at once, such as color, image, origin and size, or repeat method.
5050   *
5051   * **Syntax**: `[ <bg-layer> , ]* <final-bg-layer>`
5052   *
5053   * | Chrome | Firefox | Safari |  Edge  |  IE   |
5054   * | :----: | :-----: | :----: | :----: | :---: |
5055   * | **1**  |  **1**  | **1**  | **12** | **4** |
5056   *
5057   * @see https://developer.mozilla.org/docs/Web/CSS/background
5058   */
5059  background?: BackgroundProperty<TLength>;
5060  /**
5061   * The **`border`** CSS property sets an element's border. It's a shorthand for `border-width`, `border-style`, and `border-color`.
5062   *
5063   * **Syntax**: `<line-width> || <line-style> || <color>`
5064   *
5065   * | Chrome | Firefox | Safari |  Edge  |  IE   |
5066   * | :----: | :-----: | :----: | :----: | :---: |
5067   * | **1**  |  **1**  | **1**  | **12** | **4** |
5068   *
5069   * @see https://developer.mozilla.org/docs/Web/CSS/border
5070   */
5071  border?: BorderProperty<TLength>;
5072  /**
5073   * 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.
5074   *
5075   * **Syntax**: `<'border-top-width'> || <'border-top-style'> || <'color'>`
5076   *
5077   * | Chrome | Firefox | Safari |  Edge  | IE  |
5078   * | :----: | :-----: | :----: | :----: | :-: |
5079   * | **69** | **66**  |   No   | **79** | No  |
5080   *
5081   * @see https://developer.mozilla.org/docs/Web/CSS/border-block
5082   */
5083  borderBlock?: BorderBlockProperty<TLength>;
5084  /**
5085   * 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.
5086   *
5087   * **Syntax**: `<'border-top-width'> || <'border-top-style'> || <'color'>`
5088   *
5089   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
5090   * | :----: | :-----: | :------: | :----: | :-: |
5091   * | **69** | **41**  | **12.1** | **79** | No  |
5092   *
5093   * @see https://developer.mozilla.org/docs/Web/CSS/border-block-end
5094   */
5095  borderBlockEnd?: BorderBlockEndProperty<TLength>;
5096  /**
5097   * 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.
5098   *
5099   * **Syntax**: `<'border-top-width'> || <'border-top-style'> || <'color'>`
5100   *
5101   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
5102   * | :----: | :-----: | :------: | :----: | :-: |
5103   * | **69** | **41**  | **12.1** | **79** | No  |
5104   *
5105   * @see https://developer.mozilla.org/docs/Web/CSS/border-block-start
5106   */
5107  borderBlockStart?: BorderBlockStartProperty<TLength>;
5108  /**
5109   * The **`border-bottom`** CSS property is a shorthand that sets the values of `border-bottom-width`, `border-bottom-style` and `border-bottom-color`. These properties set an element's bottom border.
5110   *
5111   * **Syntax**: `<line-width> || <line-style> || <color>`
5112   *
5113   * | Chrome | Firefox | Safari |  Edge  |  IE   |
5114   * | :----: | :-----: | :----: | :----: | :---: |
5115   * | **1**  |  **1**  | **1**  | **12** | **4** |
5116   *
5117   * @see https://developer.mozilla.org/docs/Web/CSS/border-bottom
5118   */
5119  borderBottom?: BorderBottomProperty<TLength>;
5120  /**
5121   * The **`border-color`** shorthand CSS property sets the color of all sides of an element's border.
5122   *
5123   * **Syntax**: `<color>{1,4}`
5124   *
5125   * | Chrome | Firefox | Safari |  Edge  |  IE   |
5126   * | :----: | :-----: | :----: | :----: | :---: |
5127   * | **1**  |  **1**  | **1**  | **12** | **4** |
5128   *
5129   * @see https://developer.mozilla.org/docs/Web/CSS/border-color
5130   */
5131  borderColor?: BorderColorProperty;
5132  /**
5133   * The **`border-image`** CSS property draws an image in place of an element's `border-style`.
5134   *
5135   * **Syntax**: `<'border-image-source'> || <'border-image-slice'> [ / <'border-image-width'> | / <'border-image-width'>? / <'border-image-outset'> ]? || <'border-image-repeat'>`
5136   *
5137   * | Chrome  |  Firefox  | Safari  |  Edge  |   IE   |
5138   * | :-----: | :-------: | :-----: | :----: | :----: |
5139   * | **16**  |  **15**   |  **6**  | **12** | **11** |
5140   * | 7 _-x-_ | 3.5 _-x-_ | 3 _-x-_ |        |        |
5141   *
5142   * @see https://developer.mozilla.org/docs/Web/CSS/border-image
5143   */
5144  borderImage?: BorderImageProperty;
5145  /**
5146   * 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.
5147   *
5148   * **Syntax**: `<'border-top-width'> || <'border-top-style'> || <'color'>`
5149   *
5150   * | Chrome | Firefox | Safari |  Edge  | IE  |
5151   * | :----: | :-----: | :----: | :----: | :-: |
5152   * | **69** | **66**  |   No   | **79** | No  |
5153   *
5154   * @see https://developer.mozilla.org/docs/Web/CSS/border-inline
5155   */
5156  borderInline?: BorderInlineProperty<TLength>;
5157  /**
5158   * 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.
5159   *
5160   * **Syntax**: `<'border-top-width'> || <'border-top-style'> || <'color'>`
5161   *
5162   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
5163   * | :----: | :-----: | :------: | :----: | :-: |
5164   * | **69** | **41**  | **12.1** | **79** | No  |
5165   *
5166   * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-end
5167   */
5168  borderInlineEnd?: BorderInlineEndProperty<TLength>;
5169  /**
5170   * 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.
5171   *
5172   * **Syntax**: `<'border-top-width'> || <'border-top-style'> || <'color'>`
5173   *
5174   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
5175   * | :----: | :-----: | :------: | :----: | :-: |
5176   * | **69** | **41**  | **12.1** | **79** | No  |
5177   *
5178   * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-start
5179   */
5180  borderInlineStart?: BorderInlineStartProperty<TLength>;
5181  /**
5182   * The **`border-left`** CSS property is a shorthand that sets the values of `border-left-width`, `border-left-style` and `border-left-color`. These properties set an element's left border.
5183   *
5184   * **Syntax**: `<line-width> || <line-style> || <color>`
5185   *
5186   * | Chrome | Firefox | Safari |  Edge  |  IE   |
5187   * | :----: | :-----: | :----: | :----: | :---: |
5188   * | **1**  |  **1**  | **1**  | **12** | **4** |
5189   *
5190   * @see https://developer.mozilla.org/docs/Web/CSS/border-left
5191   */
5192  borderLeft?: BorderLeftProperty<TLength>;
5193  /**
5194   * 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.
5195   *
5196   * **Syntax**: `<length-percentage>{1,4} [ / <length-percentage>{1,4} ]?`
5197   *
5198   * | Chrome  | Firefox | Safari  |  Edge  |  IE   |
5199   * | :-----: | :-----: | :-----: | :----: | :---: |
5200   * |  **4**  |  **4**  |  **5**  | **12** | **9** |
5201   * | 1 _-x-_ |         | 3 _-x-_ |        |       |
5202   *
5203   * @see https://developer.mozilla.org/docs/Web/CSS/border-radius
5204   */
5205  borderRadius?: BorderRadiusProperty<TLength>;
5206  /**
5207   * The **`border-right`** CSS property is a shorthand that sets the values of `border-right-width`, `border-right-style` and `border-right-color`. These properties set an element's right border.
5208   *
5209   * **Syntax**: `<line-width> || <line-style> || <color>`
5210   *
5211   * | Chrome | Firefox | Safari |  Edge  |   IE    |
5212   * | :----: | :-----: | :----: | :----: | :-----: |
5213   * | **1**  |  **1**  | **1**  | **12** | **5.5** |
5214   *
5215   * @see https://developer.mozilla.org/docs/Web/CSS/border-right
5216   */
5217  borderRight?: BorderRightProperty<TLength>;
5218  /**
5219   * The **`border-style`** CSS property is a shorthand property that sets the line style for all four sides of an element's border.
5220   *
5221   * **Syntax**: `<line-style>{1,4}`
5222   *
5223   * | Chrome | Firefox | Safari |  Edge  |  IE   |
5224   * | :----: | :-----: | :----: | :----: | :---: |
5225   * | **1**  |  **1**  | **1**  | **12** | **4** |
5226   *
5227   * @see https://developer.mozilla.org/docs/Web/CSS/border-style
5228   */
5229  borderStyle?: BorderStyleProperty;
5230  /**
5231   * The **`border-top`** CSS property is a shorthand that sets the values of `border-top-width`, `border-top-style` and `border-top-color`. These properties set an element's top border.
5232   *
5233   * **Syntax**: `<line-width> || <line-style> || <color>`
5234   *
5235   * | Chrome | Firefox | Safari |  Edge  |  IE   |
5236   * | :----: | :-----: | :----: | :----: | :---: |
5237   * | **1**  |  **1**  | **1**  | **12** | **4** |
5238   *
5239   * @see https://developer.mozilla.org/docs/Web/CSS/border-top
5240   */
5241  borderTop?: BorderTopProperty<TLength>;
5242  /**
5243   * The **`border-width`** shorthand CSS property sets the widths of all four sides of an element's border.
5244   *
5245   * **Syntax**: `<line-width>{1,4}`
5246   *
5247   * | Chrome | Firefox | Safari |  Edge  |  IE   |
5248   * | :----: | :-----: | :----: | :----: | :---: |
5249   * | **1**  |  **1**  | **1**  | **12** | **4** |
5250   *
5251   * @see https://developer.mozilla.org/docs/Web/CSS/border-width
5252   */
5253  borderWidth?: BorderWidthProperty<TLength>;
5254  /**
5255   * The **`column-rule`** CSS property sets the width, style, and color of the rule (line) drawn between columns in a multi-column layout.
5256   *
5257   * **Syntax**: `<'column-rule-width'> || <'column-rule-style'> || <'column-rule-color'>`
5258   *
5259   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
5260   * | :-----: | :-----: | :-----: | :----: | :----: |
5261   * | **50**  | **52**  |  **9**  | **12** | **10** |
5262   * | 1 _-x-_ |         | 3 _-x-_ |        |        |
5263   *
5264   * @see https://developer.mozilla.org/docs/Web/CSS/column-rule
5265   */
5266  columnRule?: ColumnRuleProperty<TLength>;
5267  /**
5268   * The **`columns`** CSS property sets the column width and column count of an element.
5269   *
5270   * **Syntax**: `<'column-width'> || <'column-count'>`
5271   *
5272   * | Chrome | Firefox | Safari  |  Edge  |   IE   |
5273   * | :----: | :-----: | :-----: | :----: | :----: |
5274   * | **50** | **52**  |  **9**  | **12** | **10** |
5275   * |        |         | 3 _-x-_ |        |        |
5276   *
5277   * @see https://developer.mozilla.org/docs/Web/CSS/columns
5278   */
5279  columns?: ColumnsProperty<TLength>;
5280  /**
5281   * The **`flex`** CSS property sets how a flex item will grow or shrink to fit the space available in its flex container. It is a shorthand for `flex-grow`, `flex-shrink`, and `flex-basis`.
5282   *
5283   * **Syntax**: `none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]`
5284   *
5285   * |  Chrome  | Firefox |  Safari   |  Edge  |    IE    |
5286   * | :------: | :-----: | :-------: | :----: | :------: |
5287   * |  **29**  | **20**  |   **9**   | **12** |  **11**  |
5288   * | 21 _-x-_ |         | 6.1 _-x-_ |        | 10 _-x-_ |
5289   *
5290   * @see https://developer.mozilla.org/docs/Web/CSS/flex
5291   */
5292  flex?: FlexProperty<TLength>;
5293  /**
5294   * The **`flex-flow`** CSS property is a shorthand property for `flex-direction` and `flex-wrap` properties.
5295   *
5296   * **Syntax**: `<'flex-direction'> || <'flex-wrap'>`
5297   *
5298   * |  Chrome  | Firefox |  Safari   |  Edge  |   IE   |
5299   * | :------: | :-----: | :-------: | :----: | :----: |
5300   * |  **29**  | **28**  |   **9**   | **12** | **11** |
5301   * | 21 _-x-_ |         | 6.1 _-x-_ |        |        |
5302   *
5303   * @see https://developer.mozilla.org/docs/Web/CSS/flex-flow
5304   */
5305  flexFlow?: FlexFlowProperty;
5306  /**
5307   * The **`font`** CSS property is a shorthand for `font-style`, `font-variant`, `font-weight`, `font-size`, `line-height`, and `font-family`. Alternatively, it sets an element's font to a system font.
5308   *
5309   * **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`
5310   *
5311   * | Chrome | Firefox | Safari |  Edge  |  IE   |
5312   * | :----: | :-----: | :----: | :----: | :---: |
5313   * | **1**  |  **1**  | **1**  | **12** | **3** |
5314   *
5315   * @see https://developer.mozilla.org/docs/Web/CSS/font
5316   */
5317  font?: FontProperty;
5318  /**
5319   * The **`gap`** CSS property sets the gaps (gutters) between rows and columns. It is a shorthand for `row-gap` and `column-gap`.
5320   *
5321   * **Syntax**: `<'row-gap'> <'column-gap'>?`
5322   *
5323   * ---
5324   *
5325   * _Supported in Flex Layout_
5326   *
5327   * | Chrome | Firefox | Safari | Edge | IE  |
5328   * | :----: | :-----: | :----: | :--: | :-: |
5329   * | **84** | **63**  |   No   |  No  | No  |
5330   *
5331   * ---
5332   *
5333   * _Supported in Grid Layout_
5334   *
5335   * |     Chrome      |     Firefox     |      Safari       |  Edge  | IE  |
5336   * | :-------------: | :-------------: | :---------------: | :----: | :-: |
5337   * |     **66**      |     **61**      |      **12**       | **16** | No  |
5338   * | 57 _(grid-gap)_ | 52 _(grid-gap)_ | 10.1 _(grid-gap)_ |        |     |
5339   *
5340   * ---
5341   *
5342   * _Supported in Multi-column Layout_
5343   *
5344   * | Chrome | Firefox | Safari |  Edge  | IE  |
5345   * | :----: | :-----: | :----: | :----: | :-: |
5346   * | **66** | **61**  |   No   | **16** | No  |
5347   *
5348   * ---
5349   *
5350   * @see https://developer.mozilla.org/docs/Web/CSS/gap
5351   */
5352  gap?: GapProperty<TLength>;
5353  /**
5354   * The **`grid`** CSS property is a shorthand property that sets all of the explicit grid properties (`grid-template-rows`, `grid-template-columns`, and `grid-template-areas`), and all the implicit grid properties (`grid-auto-rows`, `grid-auto-columns`, and `grid-auto-flow`), in a single declaration.
5355   *
5356   * **Syntax**: `<'grid-template'> | <'grid-template-rows'> / [ auto-flow && dense? ] <'grid-auto-columns'>? | [ auto-flow && dense? ] <'grid-auto-rows'>? / <'grid-template-columns'>`
5357   *
5358   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
5359   * | :----: | :-----: | :------: | :----: | :-: |
5360   * | **57** | **52**  | **10.1** | **16** | No  |
5361   *
5362   * @see https://developer.mozilla.org/docs/Web/CSS/grid
5363   */
5364  grid?: GridProperty;
5365  /**
5366   * The **`grid-area`** CSS property is a shorthand property for `grid-row-start`, `grid-column-start`, `grid-row-end` and `grid-column-end`, specifying 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 edges of its grid area.
5367   *
5368   * **Syntax**: `<grid-line> [ / <grid-line> ]{0,3}`
5369   *
5370   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
5371   * | :----: | :-----: | :------: | :----: | :-: |
5372   * | **57** | **52**  | **10.1** | **16** | No  |
5373   *
5374   * @see https://developer.mozilla.org/docs/Web/CSS/grid-area
5375   */
5376  gridArea?: GridAreaProperty;
5377  /**
5378   * The **`grid-column`** CSS property is a shorthand property for `grid-column-start` and `grid-column-end` specifying a grid item's size and location within the 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.
5379   *
5380   * **Syntax**: `<grid-line> [ / <grid-line> ]?`
5381   *
5382   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
5383   * | :----: | :-----: | :------: | :----: | :-: |
5384   * | **57** | **52**  | **10.1** | **16** | No  |
5385   *
5386   * @see https://developer.mozilla.org/docs/Web/CSS/grid-column
5387   */
5388  gridColumn?: GridColumnProperty;
5389  /**
5390   * The **`grid-row`** CSS property is a shorthand property for `grid-row-start` and `grid-row-end` specifying 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.
5391   *
5392   * **Syntax**: `<grid-line> [ / <grid-line> ]?`
5393   *
5394   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
5395   * | :----: | :-----: | :------: | :----: | :-: |
5396   * | **57** | **52**  | **10.1** | **16** | No  |
5397   *
5398   * @see https://developer.mozilla.org/docs/Web/CSS/grid-row
5399   */
5400  gridRow?: GridRowProperty;
5401  /**
5402   * The **`grid-template`** CSS property is a shorthand property for defining grid columns, rows, and areas.
5403   *
5404   * **Syntax**: `none | [ <'grid-template-rows'> / <'grid-template-columns'> ] | [ <line-names>? <string> <track-size>? <line-names>? ]+ [ / <explicit-track-list> ]?`
5405   *
5406   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
5407   * | :----: | :-----: | :------: | :----: | :-: |
5408   * | **57** | **52**  | **10.1** | **16** | No  |
5409   *
5410   * @see https://developer.mozilla.org/docs/Web/CSS/grid-template
5411   */
5412  gridTemplate?: GridTemplateProperty;
5413  /**
5414   * **Syntax**: `none | <integer>`
5415   *
5416   * **Initial value**: `none`
5417   */
5418  lineClamp?: LineClampProperty;
5419  /**
5420   * The **`list-style`** CSS property is a shorthand to set list style properties `list-style-type`, `list-style-image`, and `list-style-position`.
5421   *
5422   * **Syntax**: `<'list-style-type'> || <'list-style-position'> || <'list-style-image'>`
5423   *
5424   * | Chrome | Firefox | Safari |  Edge  |  IE   |
5425   * | :----: | :-----: | :----: | :----: | :---: |
5426   * | **1**  |  **1**  | **1**  | **12** | **4** |
5427   *
5428   * @see https://developer.mozilla.org/docs/Web/CSS/list-style
5429   */
5430  listStyle?: ListStyleProperty;
5431  /**
5432   * 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`.
5433   *
5434   * **Syntax**: `[ <length> | <percentage> | auto ]{1,4}`
5435   *
5436   * | Chrome | Firefox | Safari |  Edge  |  IE   |
5437   * | :----: | :-----: | :----: | :----: | :---: |
5438   * | **1**  |  **1**  | **1**  | **12** | **3** |
5439   *
5440   * @see https://developer.mozilla.org/docs/Web/CSS/margin
5441   */
5442  margin?: MarginProperty<TLength>;
5443  /**
5444   * The **`mask`** CSS property hides an element (partially or fully) by masking or clipping the image at specific points.
5445   *
5446   * **Syntax**: `<mask-layer>#`
5447   *
5448   * | Chrome | Firefox | Safari  |  Edge  | IE  |
5449   * | :----: | :-----: | :-----: | :----: | :-: |
5450   * | **1**  |  **2**  | **3.2** | **12** | No  |
5451   *
5452   * @see https://developer.mozilla.org/docs/Web/CSS/mask
5453   */
5454  mask?: MaskProperty<TLength>;
5455  /**
5456   * The **`mask-border`** CSS property lets you create a mask along the edge of an element's border.
5457   *
5458   * **Syntax**: `<'mask-border-source'> || <'mask-border-slice'> [ / <'mask-border-width'>? [ / <'mask-border-outset'> ]? ]? || <'mask-border-repeat'> || <'mask-border-mode'>`
5459   */
5460  maskBorder?: MaskBorderProperty;
5461  /**
5462   * The **`offset`** CSS property is a shorthand property for animating an element along a defined path.
5463   *
5464   * **Syntax**: `[ <'offset-position'>? [ <'offset-path'> [ <'offset-distance'> || <'offset-rotate'> ]? ]? ]! [ / <'offset-anchor'> ]?`
5465   *
5466   * |    Chrome     | Firefox | Safari |  Edge  | IE  |
5467   * | :-----------: | :-----: | :----: | :----: | :-: |
5468   * |    **55**     | **72**  |   No   | **79** | No  |
5469   * | 46 _(motion)_ |         |        |        |     |
5470   *
5471   * @see https://developer.mozilla.org/docs/Web/CSS/offset
5472   */
5473  motion?: OffsetProperty<TLength>;
5474  /**
5475   * The **`offset`** CSS property is a shorthand property for animating an element along a defined path.
5476   *
5477   * **Syntax**: `[ <'offset-position'>? [ <'offset-path'> [ <'offset-distance'> || <'offset-rotate'> ]? ]? ]! [ / <'offset-anchor'> ]?`
5478   *
5479   * |    Chrome     | Firefox | Safari |  Edge  | IE  |
5480   * | :-----------: | :-----: | :----: | :----: | :-: |
5481   * |    **55**     | **72**  |   No   | **79** | No  |
5482   * | 46 _(motion)_ |         |        |        |     |
5483   *
5484   * @see https://developer.mozilla.org/docs/Web/CSS/offset
5485   */
5486  offset?: OffsetProperty<TLength>;
5487  /**
5488   * The **`outline`** CSS property is a shorthand to set various outline properties in a single declaration: `outline-style`, `outline-width`, and `outline-color`.
5489   *
5490   * **Syntax**: `[ <'outline-color'> || <'outline-style'> || <'outline-width'> ]`
5491   *
5492   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
5493   * | :----: | :-----: | :-----: | :----: | :---: |
5494   * | **1**  | **1.5** | **1.2** | **12** | **8** |
5495   *
5496   * @see https://developer.mozilla.org/docs/Web/CSS/outline
5497   */
5498  outline?: OutlineProperty<TLength>;
5499  /**
5500   * The **`overflow`** CSS property sets what to do when an element's content is too big to fit in its block formatting context. It is a shorthand for `overflow-x` and `overflow-y`.
5501   *
5502   * **Syntax**: `[ visible | hidden | clip | scroll | auto ]{1,2}`
5503   *
5504   * **Initial value**: `visible`
5505   *
5506   * | Chrome | Firefox | Safari |  Edge  |  IE   |
5507   * | :----: | :-----: | :----: | :----: | :---: |
5508   * | **1**  |  **1**  | **1**  | **12** | **4** |
5509   *
5510   * @see https://developer.mozilla.org/docs/Web/CSS/overflow
5511   */
5512  overflow?: OverflowProperty;
5513  /**
5514   * The **`padding`** CSS property sets the padding area on all four sides of an element. It is a shorthand for `padding-top`, `padding-right`, `padding-bottom`, and `padding-left`.
5515   *
5516   * **Syntax**: `[ <length> | <percentage> ]{1,4}`
5517   *
5518   * | Chrome | Firefox | Safari |  Edge  |  IE   |
5519   * | :----: | :-----: | :----: | :----: | :---: |
5520   * | **1**  |  **1**  | **1**  | **12** | **4** |
5521   *
5522   * @see https://developer.mozilla.org/docs/Web/CSS/padding
5523   */
5524  padding?: PaddingProperty<TLength>;
5525  /**
5526   * The CSS **`place-items`** shorthand property sets the `align-items` and `justify-items` properties, respectively. If the second value is not set, the first value is also used for it.
5527   *
5528   * **Syntax**: `<'align-items'> <'justify-items'>?`
5529   *
5530   * ---
5531   *
5532   * _Supported in Flex Layout_
5533   *
5534   * | Chrome | Firefox | Safari |  Edge  | IE  |
5535   * | :----: | :-----: | :----: | :----: | :-: |
5536   * | **59** | **45**  | **11** | **79** | No  |
5537   *
5538   * ---
5539   *
5540   * _Supported in Grid Layout_
5541   *
5542   * | Chrome | Firefox | Safari |  Edge  | IE  |
5543   * | :----: | :-----: | :----: | :----: | :-: |
5544   * | **59** | **45**  | **11** | **79** | No  |
5545   *
5546   * ---
5547   *
5548   * @see https://developer.mozilla.org/docs/Web/CSS/place-items
5549   */
5550  placeItems?: PlaceItemsProperty;
5551  /**
5552   * The **`place-self`** CSS property is a shorthand property sets both the `align-self` and `justify-self` properties. The first value is the `align-self` property value, the second the `justify-self` one. If the second value is not present, the first value is also used for it.
5553   *
5554   * **Syntax**: `<'align-self'> <'justify-self'>?`
5555   *
5556   * ---
5557   *
5558   * _Supported in Flex Layout_
5559   *
5560   * | Chrome | Firefox | Safari |  Edge  | IE  |
5561   * | :----: | :-----: | :----: | :----: | :-: |
5562   * | **59** | **45**  |   No   | **79** | No  |
5563   *
5564   * ---
5565   *
5566   * _Supported in Grid Layout_
5567   *
5568   * | Chrome | Firefox | Safari |  Edge  | IE  |
5569   * | :----: | :-----: | :----: | :----: | :-: |
5570   * | **59** | **45**  |   No   | **79** | No  |
5571   *
5572   * ---
5573   *
5574   * @see https://developer.mozilla.org/docs/Web/CSS/place-self
5575   */
5576  placeSelf?: PlaceSelfProperty;
5577  /**
5578   * The **`text-decoration`** CSS property sets the appearance of decorative lines on text. It is a shorthand for `text-decoration-line`, `text-decoration-color`, and `text-decoration-style`.
5579   *
5580   * **Syntax**: `<'text-decoration-line'> || <'text-decoration-style'> || <'text-decoration-color'> || <'text-decoration-thickness'>`
5581   *
5582   * | Chrome | Firefox | Safari |  Edge  |  IE   |
5583   * | :----: | :-----: | :----: | :----: | :---: |
5584   * | **1**  |  **1**  | **1**  | **12** | **3** |
5585   *
5586   * @see https://developer.mozilla.org/docs/Web/CSS/text-decoration
5587   */
5588  textDecoration?: TextDecorationProperty<TLength>;
5589  /**
5590   * 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`.
5591   *
5592   * **Syntax**: `<'text-emphasis-style'> || <'text-emphasis-color'>`
5593   *
5594   * |    Chrome    | Firefox | Safari  |     Edge     | IE  |
5595   * | :----------: | :-----: | :-----: | :----------: | :-: |
5596   * | **25** _-x-_ | **46**  | **6.1** | **79** _-x-_ | No  |
5597   *
5598   * @see https://developer.mozilla.org/docs/Web/CSS/text-emphasis
5599   */
5600  textEmphasis?: TextEmphasisProperty;
5601  /**
5602   * The **`transition`** CSS property is a shorthand property for `transition-property`, `transition-duration`, `transition-timing-function`, and `transition-delay`.
5603   *
5604   * **Syntax**: `<single-transition>#`
5605   *
5606   * | Chrome  | Firefox |  Safari   |  Edge  |   IE   |
5607   * | :-----: | :-----: | :-------: | :----: | :----: |
5608   * | **26**  | **16**  |   **9**   | **12** | **10** |
5609   * | 1 _-x-_ | 4 _-x-_ | 3.1 _-x-_ |        |        |
5610   *
5611   * @see https://developer.mozilla.org/docs/Web/CSS/transition
5612   */
5613  transition?: TransitionProperty;
5614}
5615
5616export interface StandardProperties<TLength = string | 0> extends StandardLonghandProperties<TLength>, StandardShorthandProperties<TLength> {}
5617
5618export interface VendorLonghandProperties<TLength = string | 0> {
5619  /**
5620   * The **`animation-delay`** CSS property sets when an animation starts. The animation can start later, immediately from its beginning, or immediately and partway through the animation.
5621   *
5622   * **Syntax**: `<time>#`
5623   *
5624   * **Initial value**: `0s`
5625   */
5626  MozAnimationDelay?: GlobalsString;
5627  /**
5628   * The **`animation-direction`** CSS property sets whether an animation should play forwards, backwards, or alternating back and forth.
5629   *
5630   * **Syntax**: `<single-animation-direction>#`
5631   *
5632   * **Initial value**: `normal`
5633   */
5634  MozAnimationDirection?: AnimationDirectionProperty;
5635  /**
5636   * The **`animation-duration`** CSS property sets the length of time that an animation takes to complete one cycle.
5637   *
5638   * **Syntax**: `<time>#`
5639   *
5640   * **Initial value**: `0s`
5641   */
5642  MozAnimationDuration?: GlobalsString;
5643  /**
5644   * The **`animation-fill-mode`** CSS property sets how a CSS animation applies styles to its target before and after its execution.
5645   *
5646   * **Syntax**: `<single-animation-fill-mode>#`
5647   *
5648   * **Initial value**: `none`
5649   */
5650  MozAnimationFillMode?: AnimationFillModeProperty;
5651  /**
5652   * The **`animation-iteration-count`** CSS property sets the number of times an animation cycle should be played before stopping.
5653   *
5654   * **Syntax**: `<single-animation-iteration-count>#`
5655   *
5656   * **Initial value**: `1`
5657   */
5658  MozAnimationIterationCount?: AnimationIterationCountProperty;
5659  /**
5660   * The **`animation-name`** CSS property sets one or more animations to apply to an element. Each name is an `@keyframes` at-rule that sets the property values for the animation sequence.
5661   *
5662   * **Syntax**: `[ none | <keyframes-name> ]#`
5663   *
5664   * **Initial value**: `none`
5665   */
5666  MozAnimationName?: AnimationNameProperty;
5667  /**
5668   * The **`animation-play-state`** CSS property sets whether an animation is running or paused.
5669   *
5670   * **Syntax**: `<single-animation-play-state>#`
5671   *
5672   * **Initial value**: `running`
5673   */
5674  MozAnimationPlayState?: AnimationPlayStateProperty;
5675  /**
5676   * The `**animation-timing-function**` CSS property sets how an animation progresses through the duration of each cycle.
5677   *
5678   * **Syntax**: `<timing-function>#`
5679   *
5680   * **Initial value**: `ease`
5681   */
5682  MozAnimationTimingFunction?: AnimationTimingFunctionProperty;
5683  /**
5684   * The **`-moz-appearance`** CSS property is used in Gecko (Firefox) to display an element using platform-native styling based on the operating system's theme.
5685   *
5686   * **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`
5687   *
5688   * **Initial value**: `none` (but this value is overridden in the user agent CSS)
5689   */
5690  MozAppearance?: MozAppearanceProperty;
5691  /**
5692   * The **`backface-visibility`** CSS property sets whether the back face of an element is visible when turned towards the user.
5693   *
5694   * **Syntax**: `visible | hidden`
5695   *
5696   * **Initial value**: `visible`
5697   */
5698  MozBackfaceVisibility?: BackfaceVisibilityProperty;
5699  /**
5700   * In Mozilla applications like Firefox, the **`-moz-border-bottom-colors`** CSS property sets a list of colors for the bottom border.
5701   *
5702   * **Syntax**: `<color>+ | none`
5703   *
5704   * **Initial value**: `none`
5705   */
5706  MozBorderBottomColors?: MozBorderBottomColorsProperty;
5707  /**
5708   * 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`.
5709   *
5710   * **Syntax**: `<'border-top-color'>`
5711   *
5712   * **Initial value**: `currentcolor`
5713   */
5714  MozBorderEndColor?: BorderInlineEndColorProperty;
5715  /**
5716   * 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`.
5717   *
5718   * **Syntax**: `<'border-top-style'>`
5719   *
5720   * **Initial value**: `none`
5721   */
5722  MozBorderEndStyle?: BorderInlineEndStyleProperty;
5723  /**
5724   * 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`.
5725   *
5726   * **Syntax**: `<'border-top-width'>`
5727   *
5728   * **Initial value**: `medium`
5729   */
5730  MozBorderEndWidth?: BorderInlineEndWidthProperty<TLength>;
5731  /**
5732   * In Mozilla applications like Firefox, the **`-moz-border-left-colors`** CSS property sets a list of colors for the left border.
5733   *
5734   * **Syntax**: `<color>+ | none`
5735   *
5736   * **Initial value**: `none`
5737   */
5738  MozBorderLeftColors?: MozBorderLeftColorsProperty;
5739  /**
5740   * In Mozilla applications like Firefox, the **`-moz-border-right-colors`** CSS property sets a list of colors for the right border.
5741   *
5742   * **Syntax**: `<color>+ | none`
5743   *
5744   * **Initial value**: `none`
5745   */
5746  MozBorderRightColors?: MozBorderRightColorsProperty;
5747  /**
5748   * 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`.
5749   *
5750   * **Syntax**: `<'border-top-color'>`
5751   *
5752   * **Initial value**: `currentcolor`
5753   */
5754  MozBorderStartColor?: BorderInlineStartColorProperty;
5755  /**
5756   * 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`.
5757   *
5758   * **Syntax**: `<'border-top-style'>`
5759   *
5760   * **Initial value**: `none`
5761   */
5762  MozBorderStartStyle?: BorderInlineStartStyleProperty;
5763  /**
5764   * In Mozilla applications like Firefox, the **`-moz-border-top-colors`** CSS property sets a list of colors for the top border.
5765   *
5766   * **Syntax**: `<color>+ | none`
5767   *
5768   * **Initial value**: `none`
5769   */
5770  MozBorderTopColors?: MozBorderTopColorsProperty;
5771  /**
5772   * The **`box-sizing`** CSS property defines how the user agent should calculate the total width and height of an element.
5773   *
5774   * **Syntax**: `content-box | border-box`
5775   *
5776   * **Initial value**: `content-box`
5777   */
5778  MozBoxSizing?: BoxSizingProperty;
5779  /**
5780   * The **`column-count`** CSS property breaks an element's content into the specified number of columns.
5781   *
5782   * **Syntax**: `<integer> | auto`
5783   *
5784   * **Initial value**: `auto`
5785   */
5786  MozColumnCount?: ColumnCountProperty;
5787  /**
5788   * The **`column-fill`** CSS property controls how an element's contents are balanced when broken into columns.
5789   *
5790   * **Syntax**: `auto | balance | balance-all`
5791   *
5792   * **Initial value**: `balance`
5793   */
5794  MozColumnFill?: ColumnFillProperty;
5795  /**
5796   * The **`column-gap`** CSS property sets the size of the gap (gutter) between an element's columns.
5797   *
5798   * **Syntax**: `normal | <length-percentage>`
5799   *
5800   * **Initial value**: `normal`
5801   */
5802  MozColumnGap?: ColumnGapProperty<TLength>;
5803  /**
5804   * The **`column-rule-color`** CSS property sets the color of the rule (line) drawn between columns in a multi-column layout.
5805   *
5806   * **Syntax**: `<color>`
5807   *
5808   * **Initial value**: `currentcolor`
5809   */
5810  MozColumnRuleColor?: ColumnRuleColorProperty;
5811  /**
5812   * The **`column-rule-style`** CSS property sets the style of the line drawn between columns in a multi-column layout.
5813   *
5814   * **Syntax**: `<'border-style'>`
5815   *
5816   * **Initial value**: `none`
5817   */
5818  MozColumnRuleStyle?: ColumnRuleStyleProperty;
5819  /**
5820   * The **`column-rule-width`** CSS property sets the width of the rule (line) drawn between columns in a multi-column layout.
5821   *
5822   * **Syntax**: `<'border-width'>`
5823   *
5824   * **Initial value**: `medium`
5825   */
5826  MozColumnRuleWidth?: ColumnRuleWidthProperty<TLength>;
5827  /**
5828   * The **`column-width`** CSS property specifies 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.
5829   *
5830   * **Syntax**: `<length> | auto`
5831   *
5832   * **Initial value**: `auto`
5833   */
5834  MozColumnWidth?: ColumnWidthProperty<TLength>;
5835  /**
5836   * If you reference an SVG image in a webpage (such as with the `<img>` element or as a background image), the SVG image can coordinate with the embedding element (its context) to have the image adopt property values set on the embedding element. To do this the embedding element needs to list the properties that are to be made available to the image by listing them as values of the **`-moz-context-properties`** property, and the image needs to opt in to using those properties by using values such as the `context-fill` value.
5837   *
5838   * **Syntax**: `none | [ fill | fill-opacity | stroke | stroke-opacity ]#`
5839   *
5840   * **Initial value**: `none`
5841   */
5842  MozContextProperties?: MozContextPropertiesProperty;
5843  /**
5844   * 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.
5845   *
5846   * **Syntax**: `border-box | content-box | margin-box | padding-box`
5847   *
5848   * **Initial value**: `content-box`
5849   */
5850  MozFloatEdge?: MozFloatEdgeProperty;
5851  /**
5852   * The **`font-feature-settings`** CSS property controls advanced typographic features in OpenType fonts.
5853   *
5854   * **Syntax**: `normal | <feature-tag-value>#`
5855   *
5856   * **Initial value**: `normal`
5857   */
5858  MozFontFeatureSettings?: FontFeatureSettingsProperty;
5859  /**
5860   * The **`font-language-override`** CSS property controls the use of language-specific glyphs in a typeface.
5861   *
5862   * **Syntax**: `normal | <string>`
5863   *
5864   * **Initial value**: `normal`
5865   */
5866  MozFontLanguageOverride?: FontLanguageOverrideProperty;
5867  /**
5868   * 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.
5869   *
5870   * **Syntax**: `<integer>`
5871   *
5872   * **Initial value**: `0`
5873   */
5874  MozForceBrokenImageIcon?: GlobalsNumber;
5875  /**
5876   * The **`hyphens`** CSS property specifies how words should be hyphenated when text wraps across multiple lines. You can prevent hyphenation entirely, use hyphenation in manually-specified points within the text, or let the browser automatically insert hyphens where appropriate.
5877   *
5878   * **Syntax**: `none | manual | auto`
5879   *
5880   * **Initial value**: `manual`
5881   */
5882  MozHyphens?: HyphensProperty;
5883  /**
5884   * 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.
5885   *
5886   * **Syntax**: `<shape> | auto`
5887   *
5888   * **Initial value**: `auto`
5889   */
5890  MozImageRegion?: MozImageRegionProperty;
5891  /**
5892   * 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`.
5893   *
5894   * **Syntax**: `<'margin-left'>`
5895   *
5896   * **Initial value**: `0`
5897   */
5898  MozMarginEnd?: MarginInlineEndProperty<TLength>;
5899  /**
5900   * 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`.
5901   *
5902   * **Syntax**: `<'margin-left'>`
5903   *
5904   * **Initial value**: `0`
5905   */
5906  MozMarginStart?: MarginInlineStartProperty<TLength>;
5907  /**
5908   * The **`-moz-orient`** CSS property specifies the orientation of the element to which it's applied.
5909   *
5910   * **Syntax**: `inline | block | horizontal | vertical`
5911   *
5912   * **Initial value**: `inline`
5913   */
5914  MozOrient?: MozOrientProperty;
5915  /**
5916   * In Mozilla applications, the **`-moz-outline-radius-bottomleft`** CSS property can be used to round the bottom-left corner of an element's `outline`.
5917   *
5918   * **Syntax**: `<outline-radius>`
5919   *
5920   * **Initial value**: `0`
5921   */
5922  MozOutlineRadiusBottomleft?: MozOutlineRadiusBottomleftProperty<TLength>;
5923  /**
5924   * In Mozilla applications, the **`-moz-outline-radius-bottomright`** CSS property can be used to round the bottom-right corner of an element's `outline`.
5925   *
5926   * **Syntax**: `<outline-radius>`
5927   *
5928   * **Initial value**: `0`
5929   */
5930  MozOutlineRadiusBottomright?: MozOutlineRadiusBottomrightProperty<TLength>;
5931  /**
5932   * In Mozilla applications, the **`-moz-outline-radius-topleft`** CSS property can be used to round the top-left corner of an element's `outline`.
5933   *
5934   * **Syntax**: `<outline-radius>`
5935   *
5936   * **Initial value**: `0`
5937   */
5938  MozOutlineRadiusTopleft?: MozOutlineRadiusTopleftProperty<TLength>;
5939  /**
5940   * In Mozilla applications, the **`-moz-outline-radius-topright`** CSS property can be used to round the top-right corner of an element's `outline`.
5941   *
5942   * **Syntax**: `<outline-radius>`
5943   *
5944   * **Initial value**: `0`
5945   */
5946  MozOutlineRadiusTopright?: MozOutlineRadiusToprightProperty<TLength>;
5947  /**
5948   * 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. It corresponds to the `padding-top`, `padding-right`, `padding-bottom`, or `padding-left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
5949   *
5950   * **Syntax**: `<'padding-left'>`
5951   *
5952   * **Initial value**: `0`
5953   */
5954  MozPaddingEnd?: PaddingInlineEndProperty<TLength>;
5955  /**
5956   * 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. It corresponds to the `padding-top`, `padding-right`, `padding-bottom`, or `padding-left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
5957   *
5958   * **Syntax**: `<'padding-left'>`
5959   *
5960   * **Initial value**: `0`
5961   */
5962  MozPaddingStart?: PaddingInlineStartProperty<TLength>;
5963  /**
5964   * 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. Each 3D element with z>0 becomes larger; each 3D-element with z<0 becomes smaller. The strength of the effect is determined by the value of this property.
5965   *
5966   * **Syntax**: `none | <length>`
5967   *
5968   * **Initial value**: `none`
5969   */
5970  MozPerspective?: PerspectiveProperty<TLength>;
5971  /**
5972   * 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.
5973   *
5974   * **Syntax**: `<position>`
5975   *
5976   * **Initial value**: `50% 50%`
5977   */
5978  MozPerspectiveOrigin?: PerspectiveOriginProperty<TLength>;
5979  /**
5980   * **`-moz-stack-sizing`** is an extended CSS property. Normally, a `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.
5981   *
5982   * **Syntax**: `ignore | stretch-to-fit`
5983   *
5984   * **Initial value**: `stretch-to-fit`
5985   */
5986  MozStackSizing?: MozStackSizingProperty;
5987  /**
5988   * The **`tab-size`** CSS property is used to customize the width of a tab (`U+0009`) character.
5989   *
5990   * **Syntax**: `<integer> | <length>`
5991   *
5992   * **Initial value**: `8`
5993   */
5994  MozTabSize?: TabSizeProperty<TLength>;
5995  /**
5996   * The **`-moz-text-blink`** non-standard Mozilla CSS extension specifies the blink mode.
5997   *
5998   * **Syntax**: `none | blink`
5999   *
6000   * **Initial value**: `none`
6001   */
6002  MozTextBlink?: MozTextBlinkProperty;
6003  /**
6004   * The **`text-size-adjust`** CSS property controls the text inflation algorithm used on some smartphones and tablets. Other browsers will ignore this property.
6005   *
6006   * **Syntax**: `none | auto | <percentage>`
6007   *
6008   * **Initial value**: `auto` for smartphone browsers supporting inflation, `none` in other cases (and then not modifiable).
6009   */
6010  MozTextSizeAdjust?: TextSizeAdjustProperty;
6011  /**
6012   * The **`transform-origin`** CSS property sets the origin for an element's transformations.
6013   *
6014   * **Syntax**: `[ <length-percentage> | left | center | right | top | bottom ] | [ [ <length-percentage> | left | center | right ] && [ <length-percentage> | top | center | bottom ] ] <length>?`
6015   *
6016   * **Initial value**: `50% 50% 0`
6017   */
6018  MozTransformOrigin?: TransformOriginProperty<TLength>;
6019  /**
6020   * 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.
6021   *
6022   * **Syntax**: `flat | preserve-3d`
6023   *
6024   * **Initial value**: `flat`
6025   */
6026  MozTransformStyle?: TransformStyleProperty;
6027  /**
6028   * The **`transition-delay`** CSS property specifies the duration to wait before starting a property's transition effect when its value changes.
6029   *
6030   * **Syntax**: `<time>#`
6031   *
6032   * **Initial value**: `0s`
6033   */
6034  MozTransitionDelay?: GlobalsString;
6035  /**
6036   * 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.
6037   *
6038   * **Syntax**: `<time>#`
6039   *
6040   * **Initial value**: `0s`
6041   */
6042  MozTransitionDuration?: GlobalsString;
6043  /**
6044   * The **`transition-property`** CSS property sets the CSS properties to which a transition effect should be applied.
6045   *
6046   * **Syntax**: `none | <single-transition-property>#`
6047   *
6048   * **Initial value**: all
6049   */
6050  MozTransitionProperty?: TransitionPropertyProperty;
6051  /**
6052   * The **`transition-timing-function`** CSS property sets how intermediate values are calculated for CSS properties being affected by a transition effect.
6053   *
6054   * **Syntax**: `<timing-function>#`
6055   *
6056   * **Initial value**: `ease`
6057   */
6058  MozTransitionTimingFunction?: TransitionTimingFunctionProperty;
6059  /**
6060   * The **`-moz-user-focus`** CSS property is used to indicate whether an element can have the focus.
6061   *
6062   * **Syntax**: `ignore | normal | select-after | select-before | select-menu | select-same | select-all | none`
6063   *
6064   * **Initial value**: `none`
6065   */
6066  MozUserFocus?: MozUserFocusProperty;
6067  /**
6068   * 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.
6069   *
6070   * **Syntax**: `read-only | read-write | write-only`
6071   *
6072   * **Initial value**: `read-only`
6073   */
6074  MozUserModify?: MozUserModifyProperty;
6075  /**
6076   * 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.
6077   *
6078   * **Syntax**: `auto | text | none | contain | all`
6079   *
6080   * **Initial value**: `auto`
6081   */
6082  MozUserSelect?: UserSelectProperty;
6083  /**
6084   * 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.
6085   *
6086   * **Syntax**: `drag | no-drag`
6087   *
6088   * **Initial value**: `drag`
6089   */
6090  MozWindowDragging?: MozWindowDraggingProperty;
6091  /**
6092   * The **`-moz-window-shadow`** CSS property specifies whether a window will have a shadow. It only works on Mac OS X.
6093   *
6094   * **Syntax**: `default | menu | tooltip | sheet | none`
6095   *
6096   * **Initial value**: `default`
6097   */
6098  MozWindowShadow?: MozWindowShadowProperty;
6099  /**
6100   * The **`-ms-accelerator`** CSS property is a Microsoft extension that sets or retrieves a string indicating whether the object represents a keyboard shortcut.
6101   *
6102   * **Syntax**: `false | true`
6103   *
6104   * **Initial value**: `false`
6105   */
6106  msAccelerator?: MsAcceleratorProperty;
6107  /**
6108   * The **`align-self`** CSS property aligns flex items of the current flex line overriding the `align-items` value. If any of the item's cross-axis margin is set to `auto`, then `align-self` is ignored. In Grid layout `align-self` aligns the item inside the grid area.
6109   *
6110   * **Syntax**: `auto | normal | stretch | <baseline-position> | <overflow-position>? <self-position>`
6111   *
6112   * **Initial value**: `auto`
6113   */
6114  msAlignSelf?: AlignSelfProperty;
6115  /**
6116   * The **`-ms-block-progression`** CSS property is a Microsoft extension that specifies the block progression and layout orientation.
6117   *
6118   * **Syntax**: `tb | rl | bt | lr`
6119   *
6120   * **Initial value**: `tb`
6121   */
6122  msBlockProgression?: MsBlockProgressionProperty;
6123  /**
6124   * 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.
6125   *
6126   * **Syntax**: `none | chained`
6127   *
6128   * **Initial value**: `none`
6129   */
6130  msContentZoomChaining?: MsContentZoomChainingProperty;
6131  /**
6132   * The **`-ms-content-zoom-limit-max`** CSS property is a Microsoft extension that specifies the selected elements' maximum zoom factor.
6133   *
6134   * **Syntax**: `<percentage>`
6135   *
6136   * **Initial value**: `400%`
6137   */
6138  msContentZoomLimitMax?: GlobalsString;
6139  /**
6140   * The **`-ms-content-zoom-limit-min`** CSS property is a Microsoft extension that specifies the minimum zoom factor.
6141   *
6142   * **Syntax**: `<percentage>`
6143   *
6144   * **Initial value**: `100%`
6145   */
6146  msContentZoomLimitMin?: GlobalsString;
6147  /**
6148   * The **`-ms-content-zoom-snap-points`** CSS property is a Microsoft extension that specifies where zoom snap-points are located.
6149   *
6150   * **Syntax**: `snapInterval( <percentage>, <percentage> ) | snapList( <percentage># )`
6151   *
6152   * **Initial value**: `snapInterval(0%, 100%)`
6153   */
6154  msContentZoomSnapPoints?: GlobalsString;
6155  /**
6156   * The **`-ms-content-zoom-snap-type`** CSS property is a Microsoft extension that specifies how zooming is affected by defined snap-points.
6157   *
6158   * **Syntax**: `none | proximity | mandatory`
6159   *
6160   * **Initial value**: `none`
6161   */
6162  msContentZoomSnapType?: MsContentZoomSnapTypeProperty;
6163  /**
6164   * The **`-ms-content-zooming`** CSS property is a Microsoft extension that specifies whether zooming is enabled.
6165   *
6166   * **Syntax**: `none | zoom`
6167   *
6168   * **Initial value**: zoom for the top level element, none for all other elements
6169   */
6170  msContentZooming?: MsContentZoomingProperty;
6171  /**
6172   * The `-ms-filter` CSS property is a Microsoft extension that sets or retrieves the filter or collection of filters applied to an object.
6173   *
6174   * **Syntax**: `<string>`
6175   *
6176   * **Initial value**: "" (the empty string)
6177   */
6178  msFilter?: GlobalsString;
6179  /**
6180   * 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).
6181   *
6182   * **Syntax**: `row | row-reverse | column | column-reverse`
6183   *
6184   * **Initial value**: `row`
6185   */
6186  msFlexDirection?: FlexDirectionProperty;
6187  /**
6188   * The **`flex-grow`** CSS property sets how much of the available space in the flex container should be assigned to that item (the flex grow factor). If all sibling items have the same flex grow factor, then all items will receive the same share of available space, otherwise it is distributed according to the ratio defined by the different flex grow factors.
6189   *
6190   * **Syntax**: `<number>`
6191   *
6192   * **Initial value**: `0`
6193   */
6194  msFlexPositive?: GlobalsNumber;
6195  /**
6196   * 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.
6197   *
6198   * **Syntax**: `[ none | <custom-ident> ]#`
6199   *
6200   * **Initial value**: `none`
6201   */
6202  msFlowFrom?: MsFlowFromProperty;
6203  /**
6204   * 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.
6205   *
6206   * **Syntax**: `[ none | <custom-ident> ]#`
6207   *
6208   * **Initial value**: `none`
6209   */
6210  msFlowInto?: MsFlowIntoProperty;
6211  /**
6212   * The **`grid-auto-columns`** CSS property specifies the size of an implicitly-created grid column track.
6213   *
6214   * **Syntax**: `<track-size>+`
6215   *
6216   * **Initial value**: `auto`
6217   */
6218  msGridColumns?: GridAutoColumnsProperty<TLength>;
6219  /**
6220   * The **`grid-auto-rows`** CSS property specifies the size of an implicitly-created grid row track.
6221   *
6222   * **Syntax**: `<track-size>+`
6223   *
6224   * **Initial value**: `auto`
6225   */
6226  msGridRows?: GridAutoRowsProperty<TLength>;
6227  /**
6228   * 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.
6229   *
6230   * **Syntax**: `auto | none`
6231   *
6232   * **Initial value**: `auto`
6233   */
6234  msHighContrastAdjust?: MsHighContrastAdjustProperty;
6235  /**
6236   * 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.
6237   *
6238   * **Syntax**: `auto | <integer>{1,3}`
6239   *
6240   * **Initial value**: `auto`
6241   */
6242  msHyphenateLimitChars?: MsHyphenateLimitCharsProperty;
6243  /**
6244   * 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.
6245   *
6246   * **Syntax**: `no-limit | <integer>`
6247   *
6248   * **Initial value**: `no-limit`
6249   */
6250  msHyphenateLimitLines?: MsHyphenateLimitLinesProperty;
6251  /**
6252   * The `**-ms-hyphenate-limit-zone**` CSS property is a Microsoft extension specifying the width of the hyphenation zone.
6253   *
6254   * **Syntax**: `<percentage> | <length>`
6255   *
6256   * **Initial value**: `0`
6257   */
6258  msHyphenateLimitZone?: MsHyphenateLimitZoneProperty<TLength>;
6259  /**
6260   * The **`hyphens`** CSS property specifies how words should be hyphenated when text wraps across multiple lines. You can prevent hyphenation entirely, use hyphenation in manually-specified points within the text, or let the browser automatically insert hyphens where appropriate.
6261   *
6262   * **Syntax**: `none | manual | auto`
6263   *
6264   * **Initial value**: `manual`
6265   */
6266  msHyphens?: HyphensProperty;
6267  /**
6268   * 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.
6269   *
6270   * **Syntax**: `auto | after`
6271   *
6272   * **Initial value**: `auto`
6273   */
6274  msImeAlign?: MsImeAlignProperty;
6275  /**
6276   * The **`line-break`** CSS property sets how to break lines of Chinese, Japanese, or Korean (CJK) text when working with punctuation and symbols.
6277   *
6278   * **Syntax**: `auto | loose | normal | strict | anywhere`
6279   *
6280   * **Initial value**: `auto`
6281   */
6282  msLineBreak?: LineBreakProperty;
6283  /**
6284   * 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.
6285   *
6286   * **Syntax**: `<integer>`
6287   *
6288   * **Initial value**: `0`
6289   */
6290  msOrder?: GlobalsNumber;
6291  /**
6292   * The **`-ms-overflow-style`** CSS property is a Microsoft extension controlling the behavior of scrollbars when the content of an element overflows.
6293   *
6294   * **Syntax**: `auto | none | scrollbar | -ms-autohiding-scrollbar`
6295   *
6296   * **Initial value**: `auto`
6297   */
6298  msOverflowStyle?: MsOverflowStyleProperty;
6299  /**
6300   * 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.
6301   *
6302   * **Syntax**: `visible | hidden | clip | scroll | auto`
6303   *
6304   * **Initial value**: `visible`
6305   */
6306  msOverflowX?: OverflowXProperty;
6307  /**
6308   * 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.
6309   *
6310   * **Syntax**: `visible | hidden | clip | scroll | auto`
6311   *
6312   * **Initial value**: `visible`
6313   */
6314  msOverflowY?: OverflowYProperty;
6315  /**
6316   * 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.
6317   *
6318   * **Syntax**: `chained | none`
6319   *
6320   * **Initial value**: `chained`
6321   */
6322  msScrollChaining?: MsScrollChainingProperty;
6323  /**
6324   * The `**-ms-scroll-limit-x-max**` CSS property is a Microsoft extension that specifies the maximum value for the `Element.scrollLeft` property.
6325   *
6326   * **Syntax**: `auto | <length>`
6327   *
6328   * **Initial value**: `auto`
6329   */
6330  msScrollLimitXMax?: MsScrollLimitXMaxProperty<TLength>;
6331  /**
6332   * The **`-ms-scroll-limit-x-min`** CSS property is a Microsoft extension that specifies the minimum value for the `Element.scrollLeft` property.
6333   *
6334   * **Syntax**: `<length>`
6335   *
6336   * **Initial value**: `0`
6337   */
6338  msScrollLimitXMin?: MsScrollLimitXMinProperty<TLength>;
6339  /**
6340   * The **`-ms-scroll-limit-y-max`** CSS property is a Microsoft extension that specifies the maximum value for the `Element.scrollTop` property.
6341   *
6342   * **Syntax**: `auto | <length>`
6343   *
6344   * **Initial value**: `auto`
6345   */
6346  msScrollLimitYMax?: MsScrollLimitYMaxProperty<TLength>;
6347  /**
6348   * The **`-ms-scroll-limit-y-min`** CSS property is a Microsoft extension that specifies the minimum value for the `Element.scrollTop` property.
6349   *
6350   * **Syntax**: `<length>`
6351   *
6352   * **Initial value**: `0`
6353   */
6354  msScrollLimitYMin?: MsScrollLimitYMinProperty<TLength>;
6355  /**
6356   * The **`-ms-scroll-rails`** CSS property is a Microsoft extension that specifies whether scrolling locks to the primary axis of motion.
6357   *
6358   * **Syntax**: `none | railed`
6359   *
6360   * **Initial value**: `railed`
6361   */
6362  msScrollRails?: MsScrollRailsProperty;
6363  /**
6364   * The **`-ms-scroll-snap-points-x`** CSS property is a Microsoft extension that specifies where snap-points will be located along the x-axis.
6365   *
6366   * **Syntax**: `snapInterval( <length-percentage>, <length-percentage> ) | snapList( <length-percentage># )`
6367   *
6368   * **Initial value**: `snapInterval(0px, 100%)`
6369   */
6370  msScrollSnapPointsX?: GlobalsString;
6371  /**
6372   * The **`-ms-scroll-snap-points-y`** CSS property is a Microsoft extension that specifies where snap-points will be located along the y-axis.
6373   *
6374   * **Syntax**: `snapInterval( <length-percentage>, <length-percentage> ) | snapList( <length-percentage># )`
6375   *
6376   * **Initial value**: `snapInterval(0px, 100%)`
6377   */
6378  msScrollSnapPointsY?: GlobalsString;
6379  /**
6380   * The **`scroll-snap-type`** CSS property sets how strictly snap points are enforced on the scroll container in case there is one.
6381   *
6382   * **Syntax**: `none | proximity | mandatory`
6383   *
6384   * **Initial value**: `none`
6385   */
6386  msScrollSnapType?: MsScrollSnapTypeProperty;
6387  /**
6388   * The **`-ms-scroll-translation`** CSS property is a Microsoft extension that specifies whether vertical-to-horizontal scroll wheel translation occurs on the specified element.
6389   *
6390   * **Syntax**: `none | vertical-to-horizontal`
6391   *
6392   * **Initial value**: `none`
6393   */
6394  msScrollTranslation?: MsScrollTranslationProperty;
6395  /**
6396   * 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.
6397   *
6398   * **Syntax**: `<color>`
6399   *
6400   * **Initial value**: depends on user agent
6401   */
6402  msScrollbar3dlightColor?: MsScrollbar3dlightColorProperty;
6403  /**
6404   * The **`-ms-scrollbar-arrow-color`** CSS property is a Microsoft extension that specifies the color of the arrow elements of a scroll arrow.
6405   *
6406   * **Syntax**: `<color>`
6407   *
6408   * **Initial value**: `ButtonText`
6409   */
6410  msScrollbarArrowColor?: MsScrollbarArrowColorProperty;
6411  /**
6412   * The `**-ms-scrollbar-base-color**` CSS property is a Microsoft extension that specifies the base color of the main elements of a scroll bar.
6413   *
6414   * **Syntax**: `<color>`
6415   *
6416   * **Initial value**: depends on user agent
6417   */
6418  msScrollbarBaseColor?: MsScrollbarBaseColorProperty;
6419  /**
6420   * The **`-ms-scrollbar-darkshadow-color`** CSS property is a Microsoft extension that specifies the color of a scroll bar's gutter.
6421   *
6422   * **Syntax**: `<color>`
6423   *
6424   * **Initial value**: `ThreeDDarkShadow`
6425   */
6426  msScrollbarDarkshadowColor?: MsScrollbarDarkshadowColorProperty;
6427  /**
6428   * 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.
6429   *
6430   * **Syntax**: `<color>`
6431   *
6432   * **Initial value**: `ThreeDFace`
6433   */
6434  msScrollbarFaceColor?: MsScrollbarFaceColorProperty;
6435  /**
6436   * 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.
6437   *
6438   * **Syntax**: `<color>`
6439   *
6440   * **Initial value**: `ThreeDHighlight`
6441   */
6442  msScrollbarHighlightColor?: MsScrollbarHighlightColorProperty;
6443  /**
6444   * 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.
6445   *
6446   * **Syntax**: `<color>`
6447   *
6448   * **Initial value**: `ThreeDDarkShadow`
6449   */
6450  msScrollbarShadowColor?: MsScrollbarShadowColorProperty;
6451  /**
6452   * The **`-ms-text-autospace`** CSS property is a Microsoft extension that specifies the autospacing and narrow space width adjustment of text.
6453   *
6454   * **Syntax**: `none | ideograph-alpha | ideograph-numeric | ideograph-parenthesis | ideograph-space`
6455   *
6456   * **Initial value**: `none`
6457   */
6458  msTextAutospace?: MsTextAutospaceProperty;
6459  /**
6460   * 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.
6461   *
6462   * **Syntax**: `none | all | [ digits <integer>? ]`
6463   *
6464   * **Initial value**: `none`
6465   */
6466  msTextCombineHorizontal?: TextCombineUprightProperty;
6467  /**
6468   * 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.
6469   *
6470   * **Syntax**: `[ clip | ellipsis | <string> ]{1,2}`
6471   *
6472   * **Initial value**: `clip`
6473   */
6474  msTextOverflow?: TextOverflowProperty;
6475  /**
6476   * The **`touch-action`** CSS property sets how a region can be manipulated by a touchscreen user (for example, by zooming features built into the browser).
6477   *
6478   * **Syntax**: `auto | none | [ [ pan-x | pan-left | pan-right ] || [ pan-y | pan-up | pan-down ] || pinch-zoom ] | manipulation`
6479   *
6480   * **Initial value**: `auto`
6481   */
6482  msTouchAction?: TouchActionProperty;
6483  /**
6484   * The **`-ms-touch-select`** CSS property is a Microsoft extension that toggles the gripper visual elements that enable touch text selection.
6485   *
6486   * **Syntax**: `grippers | none`
6487   *
6488   * **Initial value**: `grippers`
6489   */
6490  msTouchSelect?: MsTouchSelectProperty;
6491  /**
6492   * The **`transform`** CSS property lets you rotate, scale, skew, or translate an element. It modifies the coordinate space of the CSS visual formatting model.
6493   *
6494   * **Syntax**: `none | <transform-list>`
6495   *
6496   * **Initial value**: `none`
6497   */
6498  msTransform?: TransformProperty;
6499  /**
6500   * The **`transform-origin`** CSS property sets the origin for an element's transformations.
6501   *
6502   * **Syntax**: `[ <length-percentage> | left | center | right | top | bottom ] | [ [ <length-percentage> | left | center | right ] && [ <length-percentage> | top | center | bottom ] ] <length>?`
6503   *
6504   * **Initial value**: `50% 50% 0`
6505   */
6506  msTransformOrigin?: TransformOriginProperty<TLength>;
6507  /**
6508   * The **`transition-delay`** CSS property specifies the duration to wait before starting a property's transition effect when its value changes.
6509   *
6510   * **Syntax**: `<time>#`
6511   *
6512   * **Initial value**: `0s`
6513   */
6514  msTransitionDelay?: GlobalsString;
6515  /**
6516   * 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.
6517   *
6518   * **Syntax**: `<time>#`
6519   *
6520   * **Initial value**: `0s`
6521   */
6522  msTransitionDuration?: GlobalsString;
6523  /**
6524   * The **`transition-property`** CSS property sets the CSS properties to which a transition effect should be applied.
6525   *
6526   * **Syntax**: `none | <single-transition-property>#`
6527   *
6528   * **Initial value**: all
6529   */
6530  msTransitionProperty?: TransitionPropertyProperty;
6531  /**
6532   * The **`transition-timing-function`** CSS property sets how intermediate values are calculated for CSS properties being affected by a transition effect.
6533   *
6534   * **Syntax**: `<timing-function>#`
6535   *
6536   * **Initial value**: `ease`
6537   */
6538  msTransitionTimingFunction?: TransitionTimingFunctionProperty;
6539  /**
6540   * 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.
6541   *
6542   * **Syntax**: `none | element | text`
6543   *
6544   * **Initial value**: `text`
6545   */
6546  msUserSelect?: MsUserSelectProperty;
6547  /**
6548   * The **`word-break`** CSS property sets whether line breaks appear wherever the text would otherwise overflow its content box.
6549   *
6550   * **Syntax**: `normal | break-all | keep-all | break-word`
6551   *
6552   * **Initial value**: `normal`
6553   */
6554  msWordBreak?: WordBreakProperty;
6555  /**
6556   * The **`-ms-wrap-flow`** CSS property is a Microsoft extension that specifies how exclusions impact inline content within block-level elements.
6557   *
6558   * **Syntax**: `auto | both | start | end | maximum | clear`
6559   *
6560   * **Initial value**: `auto`
6561   */
6562  msWrapFlow?: MsWrapFlowProperty;
6563  /**
6564   * The **`-ms-wrap-margin`** CSS property is a Microsoft extension that specifies a margin that offsets the inner wrap shape from other shapes.
6565   *
6566   * **Syntax**: `<length>`
6567   *
6568   * **Initial value**: `0`
6569   */
6570  msWrapMargin?: MsWrapMarginProperty<TLength>;
6571  /**
6572   * The **`-ms-wrap-through`** CSS property is a Microsoft extension that specifies how content should wrap around an exclusion element.
6573   *
6574   * **Syntax**: `wrap | none`
6575   *
6576   * **Initial value**: `wrap`
6577   */
6578  msWrapThrough?: MsWrapThroughProperty;
6579  /**
6580   * 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.
6581   *
6582   * **Syntax**: `horizontal-tb | vertical-rl | vertical-lr | sideways-rl | sideways-lr`
6583   *
6584   * **Initial value**: `horizontal-tb`
6585   */
6586  msWritingMode?: WritingModeProperty;
6587  /**
6588   * 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.
6589   *
6590   * **Syntax**: `fill | contain | cover | none | scale-down`
6591   *
6592   * **Initial value**: `fill`
6593   */
6594  OObjectFit?: ObjectFitProperty;
6595  /**
6596   * 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.
6597   *
6598   * **Syntax**: `<position>`
6599   *
6600   * **Initial value**: `50% 50%`
6601   */
6602  OObjectPosition?: ObjectPositionProperty<TLength>;
6603  /**
6604   * The **`tab-size`** CSS property is used to customize the width of a tab (`U+0009`) character.
6605   *
6606   * **Syntax**: `<integer> | <length>`
6607   *
6608   * **Initial value**: `8`
6609   */
6610  OTabSize?: TabSizeProperty<TLength>;
6611  /**
6612   * 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.
6613   *
6614   * **Syntax**: `[ clip | ellipsis | <string> ]{1,2}`
6615   *
6616   * **Initial value**: `clip`
6617   */
6618  OTextOverflow?: TextOverflowProperty;
6619  /**
6620   * The **`transform-origin`** CSS property sets the origin for an element's transformations.
6621   *
6622   * **Syntax**: `[ <length-percentage> | left | center | right | top | bottom ] | [ [ <length-percentage> | left | center | right ] && [ <length-percentage> | top | center | bottom ] ] <length>?`
6623   *
6624   * **Initial value**: `50% 50% 0`
6625   */
6626  OTransformOrigin?: TransformOriginProperty<TLength>;
6627  /**
6628   * The CSS **`align-content`** property sets how the browser distributes space between and around content items along the cross-axis of a flexbox container, and the main-axis of a grid container.
6629   *
6630   * **Syntax**: `normal | <baseline-position> | <content-distribution> | <overflow-position>? <content-position>`
6631   *
6632   * **Initial value**: `normal`
6633   */
6634  WebkitAlignContent?: AlignContentProperty;
6635  /**
6636   * The CSS **`align-items`** property sets the `align-self` value on all direct children as a group. The align-self property sets the alignment of an item within its containing block. 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.
6637   *
6638   * **Syntax**: `normal | stretch | <baseline-position> | [ <overflow-position>? <self-position> ]`
6639   *
6640   * **Initial value**: `normal`
6641   */
6642  WebkitAlignItems?: AlignItemsProperty;
6643  /**
6644   * The **`align-self`** CSS property aligns flex items of the current flex line overriding the `align-items` value. If any of the item's cross-axis margin is set to `auto`, then `align-self` is ignored. In Grid layout `align-self` aligns the item inside the grid area.
6645   *
6646   * **Syntax**: `auto | normal | stretch | <baseline-position> | <overflow-position>? <self-position>`
6647   *
6648   * **Initial value**: `auto`
6649   */
6650  WebkitAlignSelf?: AlignSelfProperty;
6651  /**
6652   * The **`animation-delay`** CSS property sets when an animation starts. The animation can start later, immediately from its beginning, or immediately and partway through the animation.
6653   *
6654   * **Syntax**: `<time>#`
6655   *
6656   * **Initial value**: `0s`
6657   */
6658  WebkitAnimationDelay?: GlobalsString;
6659  /**
6660   * The **`animation-direction`** CSS property sets whether an animation should play forwards, backwards, or alternating back and forth.
6661   *
6662   * **Syntax**: `<single-animation-direction>#`
6663   *
6664   * **Initial value**: `normal`
6665   */
6666  WebkitAnimationDirection?: AnimationDirectionProperty;
6667  /**
6668   * The **`animation-duration`** CSS property sets the length of time that an animation takes to complete one cycle.
6669   *
6670   * **Syntax**: `<time>#`
6671   *
6672   * **Initial value**: `0s`
6673   */
6674  WebkitAnimationDuration?: GlobalsString;
6675  /**
6676   * The **`animation-fill-mode`** CSS property sets how a CSS animation applies styles to its target before and after its execution.
6677   *
6678   * **Syntax**: `<single-animation-fill-mode>#`
6679   *
6680   * **Initial value**: `none`
6681   */
6682  WebkitAnimationFillMode?: AnimationFillModeProperty;
6683  /**
6684   * The **`animation-iteration-count`** CSS property sets the number of times an animation cycle should be played before stopping.
6685   *
6686   * **Syntax**: `<single-animation-iteration-count>#`
6687   *
6688   * **Initial value**: `1`
6689   */
6690  WebkitAnimationIterationCount?: AnimationIterationCountProperty;
6691  /**
6692   * The **`animation-name`** CSS property sets one or more animations to apply to an element. Each name is an `@keyframes` at-rule that sets the property values for the animation sequence.
6693   *
6694   * **Syntax**: `[ none | <keyframes-name> ]#`
6695   *
6696   * **Initial value**: `none`
6697   */
6698  WebkitAnimationName?: AnimationNameProperty;
6699  /**
6700   * The **`animation-play-state`** CSS property sets whether an animation is running or paused.
6701   *
6702   * **Syntax**: `<single-animation-play-state>#`
6703   *
6704   * **Initial value**: `running`
6705   */
6706  WebkitAnimationPlayState?: AnimationPlayStateProperty;
6707  /**
6708   * The `**animation-timing-function**` CSS property sets how an animation progresses through the duration of each cycle.
6709   *
6710   * **Syntax**: `<timing-function>#`
6711   *
6712   * **Initial value**: `ease`
6713   */
6714  WebkitAnimationTimingFunction?: AnimationTimingFunctionProperty;
6715  /**
6716   * The **`-moz-appearance`** CSS property is used in Gecko (Firefox) to display an element using platform-native styling based on the operating system's theme.
6717   *
6718   * **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`
6719   *
6720   * **Initial value**: `none` (but this value is overridden in the user agent CSS)
6721   */
6722  WebkitAppearance?: WebkitAppearanceProperty;
6723  /**
6724   * 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.
6725   *
6726   * **Syntax**: `none | <filter-function-list>`
6727   *
6728   * **Initial value**: `none`
6729   */
6730  WebkitBackdropFilter?: BackdropFilterProperty;
6731  /**
6732   * The **`backface-visibility`** CSS property sets whether the back face of an element is visible when turned towards the user.
6733   *
6734   * **Syntax**: `visible | hidden`
6735   *
6736   * **Initial value**: `visible`
6737   */
6738  WebkitBackfaceVisibility?: BackfaceVisibilityProperty;
6739  /**
6740   * The **`background-clip`** CSS property sets whether an element's background `<color>` or `<image>` extends underneath its border.
6741   *
6742   * **Syntax**: `<box>#`
6743   *
6744   * **Initial value**: `border-box`
6745   */
6746  WebkitBackgroundClip?: BackgroundClipProperty;
6747  /**
6748   * The **`background-origin`** CSS property sets the _background positioning area_. In other words, it sets the origin position of an image set with the `background-image` property.
6749   *
6750   * **Syntax**: `<box>#`
6751   *
6752   * **Initial value**: `padding-box`
6753   */
6754  WebkitBackgroundOrigin?: BackgroundOriginProperty;
6755  /**
6756   * 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.
6757   *
6758   * **Syntax**: `<bg-size>#`
6759   *
6760   * **Initial value**: `auto auto`
6761   */
6762  WebkitBackgroundSize?: BackgroundSizeProperty<TLength>;
6763  /**
6764   * **Syntax**: `<'color'>`
6765   *
6766   * **Initial value**: `currentcolor`
6767   */
6768  WebkitBorderBeforeColor?: WebkitBorderBeforeColorProperty;
6769  /**
6770   * **Syntax**: `<'border-style'>`
6771   *
6772   * **Initial value**: `none`
6773   */
6774  WebkitBorderBeforeStyle?: WebkitBorderBeforeStyleProperty;
6775  /**
6776   * **Syntax**: `<'border-width'>`
6777   *
6778   * **Initial value**: `medium`
6779   */
6780  WebkitBorderBeforeWidth?: WebkitBorderBeforeWidthProperty<TLength>;
6781  /**
6782   * The **`border-bottom-left-radius`** CSS property rounds the bottom-left corner of an element.
6783   *
6784   * **Syntax**: `<length-percentage>{1,2}`
6785   *
6786   * **Initial value**: `0`
6787   */
6788  WebkitBorderBottomLeftRadius?: BorderBottomLeftRadiusProperty<TLength>;
6789  /**
6790   * The **`border-bottom-right-radius`** CSS property rounds the bottom-right corner of an element.
6791   *
6792   * **Syntax**: `<length-percentage>{1,2}`
6793   *
6794   * **Initial value**: `0`
6795   */
6796  WebkitBorderBottomRightRadius?: BorderBottomRightRadiusProperty<TLength>;
6797  /**
6798   * 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.
6799   *
6800   * **Syntax**: `<number-percentage>{1,4} && fill?`
6801   *
6802   * **Initial value**: `100%`
6803   */
6804  WebkitBorderImageSlice?: BorderImageSliceProperty;
6805  /**
6806   * The **`border-top-left-radius`** CSS property rounds the top-left corner of an element.
6807   *
6808   * **Syntax**: `<length-percentage>{1,2}`
6809   *
6810   * **Initial value**: `0`
6811   */
6812  WebkitBorderTopLeftRadius?: BorderTopLeftRadiusProperty<TLength>;
6813  /**
6814   * The **`border-top-right-radius`** CSS property rounds the top-right corner of an element.
6815   *
6816   * **Syntax**: `<length-percentage>{1,2}`
6817   *
6818   * **Initial value**: `0`
6819   */
6820  WebkitBorderTopRightRadius?: BorderTopRightRadiusProperty<TLength>;
6821  /**
6822   * The **`box-decoration-break`** CSS property specifies how an element's fragments should be rendered when broken across multiple lines, columns, or pages.
6823   *
6824   * **Syntax**: `slice | clone`
6825   *
6826   * **Initial value**: `slice`
6827   */
6828  WebkitBoxDecorationBreak?: BoxDecorationBreakProperty;
6829  /**
6830   * The **`-webkit-box-reflect`** CSS property lets you reflect the content of an element in one specific direction.
6831   *
6832   * **Syntax**: `[ above | below | right | left ]? <length>? <image>?`
6833   *
6834   * **Initial value**: `none`
6835   */
6836  WebkitBoxReflect?: WebkitBoxReflectProperty<TLength>;
6837  /**
6838   * 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 radii, and color.
6839   *
6840   * **Syntax**: `none | <shadow>#`
6841   *
6842   * **Initial value**: `none`
6843   */
6844  WebkitBoxShadow?: BoxShadowProperty;
6845  /**
6846   * The **`box-sizing`** CSS property defines how the user agent should calculate the total width and height of an element.
6847   *
6848   * **Syntax**: `content-box | border-box`
6849   *
6850   * **Initial value**: `content-box`
6851   */
6852  WebkitBoxSizing?: BoxSizingProperty;
6853  /**
6854   * 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.
6855   *
6856   * **Syntax**: `<clip-source> | [ <basic-shape> || <geometry-box> ] | none`
6857   *
6858   * **Initial value**: `none`
6859   */
6860  WebkitClipPath?: ClipPathProperty;
6861  /**
6862   * The **`column-count`** CSS property breaks an element's content into the specified number of columns.
6863   *
6864   * **Syntax**: `<integer> | auto`
6865   *
6866   * **Initial value**: `auto`
6867   */
6868  WebkitColumnCount?: ColumnCountProperty;
6869  /**
6870   * The **`column-fill`** CSS property controls how an element's contents are balanced when broken into columns.
6871   *
6872   * **Syntax**: `auto | balance | balance-all`
6873   *
6874   * **Initial value**: `balance`
6875   */
6876  WebkitColumnFill?: ColumnFillProperty;
6877  /**
6878   * The **`column-gap`** CSS property sets the size of the gap (gutter) between an element's columns.
6879   *
6880   * **Syntax**: `normal | <length-percentage>`
6881   *
6882   * **Initial value**: `normal`
6883   */
6884  WebkitColumnGap?: ColumnGapProperty<TLength>;
6885  /**
6886   * The **`column-rule-color`** CSS property sets the color of the rule (line) drawn between columns in a multi-column layout.
6887   *
6888   * **Syntax**: `<color>`
6889   *
6890   * **Initial value**: `currentcolor`
6891   */
6892  WebkitColumnRuleColor?: ColumnRuleColorProperty;
6893  /**
6894   * The **`column-rule-style`** CSS property sets the style of the line drawn between columns in a multi-column layout.
6895   *
6896   * **Syntax**: `<'border-style'>`
6897   *
6898   * **Initial value**: `none`
6899   */
6900  WebkitColumnRuleStyle?: ColumnRuleStyleProperty;
6901  /**
6902   * The **`column-rule-width`** CSS property sets the width of the rule (line) drawn between columns in a multi-column layout.
6903   *
6904   * **Syntax**: `<'border-width'>`
6905   *
6906   * **Initial value**: `medium`
6907   */
6908  WebkitColumnRuleWidth?: ColumnRuleWidthProperty<TLength>;
6909  /**
6910   * The **`column-span`** CSS property makes it possible for an element to span across all columns when its value is set to `all`.
6911   *
6912   * **Syntax**: `none | all`
6913   *
6914   * **Initial value**: `none`
6915   */
6916  WebkitColumnSpan?: ColumnSpanProperty;
6917  /**
6918   * The **`column-width`** CSS property specifies 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.
6919   *
6920   * **Syntax**: `<length> | auto`
6921   *
6922   * **Initial value**: `auto`
6923   */
6924  WebkitColumnWidth?: ColumnWidthProperty<TLength>;
6925  /**
6926   * 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.
6927   *
6928   * **Syntax**: `none | <filter-function-list>`
6929   *
6930   * **Initial value**: `none`
6931   */
6932  WebkitFilter?: FilterProperty;
6933  /**
6934   * 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`.
6935   *
6936   * **Syntax**: `content | <'width'>`
6937   *
6938   * **Initial value**: `auto`
6939   */
6940  WebkitFlexBasis?: FlexBasisProperty<TLength>;
6941  /**
6942   * 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).
6943   *
6944   * **Syntax**: `row | row-reverse | column | column-reverse`
6945   *
6946   * **Initial value**: `row`
6947   */
6948  WebkitFlexDirection?: FlexDirectionProperty;
6949  /**
6950   * The **`flex-grow`** CSS property sets how much of the available space in the flex container should be assigned to that item (the flex grow factor). If all sibling items have the same flex grow factor, then all items will receive the same share of available space, otherwise it is distributed according to the ratio defined by the different flex grow factors.
6951   *
6952   * **Syntax**: `<number>`
6953   *
6954   * **Initial value**: `0`
6955   */
6956  WebkitFlexGrow?: GlobalsNumber;
6957  /**
6958   * The **`flex-shrink`** CSS property sets the flex shrink factor of a flex item. If the size of flex items is larger than the flex container, items shrink to fit according to `flex-shrink`.
6959   *
6960   * **Syntax**: `<number>`
6961   *
6962   * **Initial value**: `1`
6963   */
6964  WebkitFlexShrink?: GlobalsNumber;
6965  /**
6966   * 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.
6967   *
6968   * **Syntax**: `nowrap | wrap | wrap-reverse`
6969   *
6970   * **Initial value**: `nowrap`
6971   */
6972  WebkitFlexWrap?: FlexWrapProperty;
6973  /**
6974   * The **`font-feature-settings`** CSS property controls advanced typographic features in OpenType fonts.
6975   *
6976   * **Syntax**: `normal | <feature-tag-value>#`
6977   *
6978   * **Initial value**: `normal`
6979   */
6980  WebkitFontFeatureSettings?: FontFeatureSettingsProperty;
6981  /**
6982   * The **`font-kerning`** CSS property sets the use of the kerning information stored in a font.
6983   *
6984   * **Syntax**: `auto | normal | none`
6985   *
6986   * **Initial value**: `auto`
6987   */
6988  WebkitFontKerning?: FontKerningProperty;
6989  /**
6990   * 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.
6991   *
6992   * **Syntax**: `normal | none | [ <common-lig-values> || <discretionary-lig-values> || <historical-lig-values> || <contextual-alt-values> ]`
6993   *
6994   * **Initial value**: `normal`
6995   */
6996  WebkitFontVariantLigatures?: FontVariantLigaturesProperty;
6997  /**
6998   * The **`hyphens`** CSS property specifies how words should be hyphenated when text wraps across multiple lines. You can prevent hyphenation entirely, use hyphenation in manually-specified points within the text, or let the browser automatically insert hyphens where appropriate.
6999   *
7000   * **Syntax**: `none | manual | auto`
7001   *
7002   * **Initial value**: `manual`
7003   */
7004  WebkitHyphens?: HyphensProperty;
7005  /**
7006   * 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.
7007   *
7008   * **Syntax**: `normal | <content-distribution> | <overflow-position>? [ <content-position> | left | right ]`
7009   *
7010   * **Initial value**: `normal`
7011   */
7012  WebkitJustifyContent?: JustifyContentProperty;
7013  /**
7014   * The **`line-break`** CSS property sets how to break lines of Chinese, Japanese, or Korean (CJK) text when working with punctuation and symbols.
7015   *
7016   * **Syntax**: `auto | loose | normal | strict | anywhere`
7017   *
7018   * **Initial value**: `auto`
7019   */
7020  WebkitLineBreak?: LineBreakProperty;
7021  /**
7022   * The **`-webkit-line-clamp`** CSS property allows limiting of the contents of a block container to the specified number of lines.
7023   *
7024   * **Syntax**: `none | <integer>`
7025   *
7026   * **Initial value**: `none`
7027   */
7028  WebkitLineClamp?: WebkitLineClampProperty;
7029  /**
7030   * 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`.
7031   *
7032   * **Syntax**: `<'margin-left'>`
7033   *
7034   * **Initial value**: `0`
7035   */
7036  WebkitMarginEnd?: MarginInlineEndProperty<TLength>;
7037  /**
7038   * 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`.
7039   *
7040   * **Syntax**: `<'margin-left'>`
7041   *
7042   * **Initial value**: `0`
7043   */
7044  WebkitMarginStart?: MarginInlineStartProperty<TLength>;
7045  /**
7046   * 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.
7047   *
7048   * **Syntax**: `<attachment>#`
7049   *
7050   * **Initial value**: `scroll`
7051   */
7052  WebkitMaskAttachment?: WebkitMaskAttachmentProperty;
7053  /**
7054   * 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.
7055   *
7056   * **Syntax**: `[ <box> | border | padding | content | text ]#`
7057   *
7058   * **Initial value**: `border`
7059   */
7060  WebkitMaskClip?: WebkitMaskClipProperty;
7061  /**
7062   * 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.
7063   *
7064   * **Syntax**: `<composite-style>#`
7065   *
7066   * **Initial value**: `source-over`
7067   */
7068  WebkitMaskComposite?: WebkitMaskCompositeProperty;
7069  /**
7070   * The **`mask-image`** CSS property sets the image that is used as mask layer for an element.
7071   *
7072   * **Syntax**: `<mask-reference>#`
7073   *
7074   * **Initial value**: `none`
7075   */
7076  WebkitMaskImage?: WebkitMaskImageProperty;
7077  /**
7078   * The **`mask-origin`** CSS property sets the origin of a mask.
7079   *
7080   * **Syntax**: `[ <box> | border | padding | content ]#`
7081   *
7082   * **Initial value**: `padding`
7083   */
7084  WebkitMaskOrigin?: WebkitMaskOriginProperty;
7085  /**
7086   * The **`mask-position`** CSS property sets the initial position, relative to the mask position layer set by `mask-origin`, for each defined mask image.
7087   *
7088   * **Syntax**: `<position>#`
7089   *
7090   * **Initial value**: `0% 0%`
7091   */
7092  WebkitMaskPosition?: WebkitMaskPositionProperty<TLength>;
7093  /**
7094   * The `-webkit-mask-position-x` CSS property sets the initial horizontal position of a mask image.
7095   *
7096   * **Syntax**: `[ <length-percentage> | left | center | right ]#`
7097   *
7098   * **Initial value**: `0%`
7099   */
7100  WebkitMaskPositionX?: WebkitMaskPositionXProperty<TLength>;
7101  /**
7102   * The `-webkit-mask-position-y` CSS property sets the initial vertical position of a mask image.
7103   *
7104   * **Syntax**: `[ <length-percentage> | top | center | bottom ]#`
7105   *
7106   * **Initial value**: `0%`
7107   */
7108  WebkitMaskPositionY?: WebkitMaskPositionYProperty<TLength>;
7109  /**
7110   * 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.
7111   *
7112   * **Syntax**: `<repeat-style>#`
7113   *
7114   * **Initial value**: `repeat`
7115   */
7116  WebkitMaskRepeat?: WebkitMaskRepeatProperty;
7117  /**
7118   * The `-webkit-mask-repeat-x` property specifies whether and how a mask image is repeated (tiled) horizontally.
7119   *
7120   * **Syntax**: `repeat | no-repeat | space | round`
7121   *
7122   * **Initial value**: `repeat`
7123   */
7124  WebkitMaskRepeatX?: WebkitMaskRepeatXProperty;
7125  /**
7126   * The `-webkit-mask-repeat-y` property sets whether and how a mask image is repeated (tiled) vertically.
7127   *
7128   * **Syntax**: `repeat | no-repeat | space | round`
7129   *
7130   * **Initial value**: `repeat`
7131   */
7132  WebkitMaskRepeatY?: WebkitMaskRepeatYProperty;
7133  /**
7134   * 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.
7135   *
7136   * **Syntax**: `<bg-size>#`
7137   *
7138   * **Initial value**: `auto auto`
7139   */
7140  WebkitMaskSize?: WebkitMaskSizeProperty<TLength>;
7141  /**
7142   * 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 the `max-width` or the `max-height` property depending on the value defined for `writing-mode`. If the writing mode is vertically oriented, the value of `max-inline-size` relates to the maximal height of the element, otherwise it relates to the maximal width of the element. It relates to `max-block-size`, which defines the other dimension of the element.
7143   *
7144   * **Syntax**: `<'max-width'>`
7145   *
7146   * **Initial value**: `0`
7147   */
7148  WebkitMaxInlineSize?: MaxInlineSizeProperty<TLength>;
7149  /**
7150   * 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.
7151   *
7152   * **Syntax**: `<integer>`
7153   *
7154   * **Initial value**: `0`
7155   */
7156  WebkitOrder?: GlobalsNumber;
7157  /**
7158   * The `-webkit-overflow-scrolling` CSS property controls whether or not touch devices use momentum-based scrolling for a given element.
7159   *
7160   * **Syntax**: `auto | touch`
7161   *
7162   * **Initial value**: `auto`
7163   */
7164  WebkitOverflowScrolling?: WebkitOverflowScrollingProperty;
7165  /**
7166   * 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. It corresponds to the `padding-top`, `padding-right`, `padding-bottom`, or `padding-left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
7167   *
7168   * **Syntax**: `<'padding-left'>`
7169   *
7170   * **Initial value**: `0`
7171   */
7172  WebkitPaddingEnd?: PaddingInlineEndProperty<TLength>;
7173  /**
7174   * 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. It corresponds to the `padding-top`, `padding-right`, `padding-bottom`, or `padding-left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
7175   *
7176   * **Syntax**: `<'padding-left'>`
7177   *
7178   * **Initial value**: `0`
7179   */
7180  WebkitPaddingStart?: PaddingInlineStartProperty<TLength>;
7181  /**
7182   * 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. Each 3D element with z>0 becomes larger; each 3D-element with z<0 becomes smaller. The strength of the effect is determined by the value of this property.
7183   *
7184   * **Syntax**: `none | <length>`
7185   *
7186   * **Initial value**: `none`
7187   */
7188  WebkitPerspective?: PerspectiveProperty<TLength>;
7189  /**
7190   * 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.
7191   *
7192   * **Syntax**: `<position>`
7193   *
7194   * **Initial value**: `50% 50%`
7195   */
7196  WebkitPerspectiveOrigin?: PerspectiveOriginProperty<TLength>;
7197  /**
7198   * 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.
7199   *
7200   * **Syntax**: `economy | exact`
7201   *
7202   * **Initial value**: `economy`
7203   */
7204  WebkitPrintColorAdjust?: ColorAdjustProperty;
7205  /**
7206   * The **`scroll-snap-type`** CSS property sets how strictly snap points are enforced on the scroll container in case there is one.
7207   *
7208   * **Syntax**: `none | [ x | y | block | inline | both ] [ mandatory | proximity ]?`
7209   *
7210   * **Initial value**: `none`
7211   */
7212  WebkitScrollSnapType?: ScrollSnapTypeProperty;
7213  /**
7214   * The **`shape-margin`** CSS property sets a margin for a CSS shape created using `shape-outside`.
7215   *
7216   * **Syntax**: `<length-percentage>`
7217   *
7218   * **Initial value**: `0`
7219   */
7220  WebkitShapeMargin?: ShapeMarginProperty<TLength>;
7221  /**
7222   * **`-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.
7223   *
7224   * **Syntax**: `<color>`
7225   *
7226   * **Initial value**: `black`
7227   */
7228  WebkitTapHighlightColor?: WebkitTapHighlightColorProperty;
7229  /**
7230   * 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.
7231   *
7232   * **Syntax**: `none | all | [ digits <integer>? ]`
7233   *
7234   * **Initial value**: `none`
7235   */
7236  WebkitTextCombine?: TextCombineUprightProperty;
7237  /**
7238   * The **`text-decoration-color`** CSS property sets the color of decorations added to text by `text-decoration-line`.
7239   *
7240   * **Syntax**: `<color>`
7241   *
7242   * **Initial value**: `currentcolor`
7243   */
7244  WebkitTextDecorationColor?: TextDecorationColorProperty;
7245  /**
7246   * 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.
7247   *
7248   * **Syntax**: `none | [ underline || overline || line-through || blink ] | spelling-error | grammar-error`
7249   *
7250   * **Initial value**: `none`
7251   */
7252  WebkitTextDecorationLine?: TextDecorationLineProperty;
7253  /**
7254   * 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.
7255   *
7256   * **Syntax**: `none | [ objects || [ spaces | [ leading-spaces || trailing-spaces ] ] || edges || box-decoration ]`
7257   *
7258   * **Initial value**: `objects`
7259   */
7260  WebkitTextDecorationSkip?: TextDecorationSkipProperty;
7261  /**
7262   * 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`.
7263   *
7264   * **Syntax**: `solid | double | dotted | dashed | wavy`
7265   *
7266   * **Initial value**: `solid`
7267   */
7268  WebkitTextDecorationStyle?: TextDecorationStyleProperty;
7269  /**
7270   * The **`text-emphasis-color`** CSS property sets the color of emphasis marks. This value can also be set using the `text-emphasis` shorthand.
7271   *
7272   * **Syntax**: `<color>`
7273   *
7274   * **Initial value**: `currentcolor`
7275   */
7276  WebkitTextEmphasisColor?: TextEmphasisColorProperty;
7277  /**
7278   * 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.
7279   *
7280   * **Syntax**: `[ over | under ] && [ right | left ]`
7281   *
7282   * **Initial value**: `over right`
7283   */
7284  WebkitTextEmphasisPosition?: GlobalsString;
7285  /**
7286   * The **`text-emphasis-style`** CSS property sets the appearance of emphasis marks. It can also be set, and reset, using the `text-emphasis` shorthand.
7287   *
7288   * **Syntax**: `none | [ [ filled | open ] || [ dot | circle | double-circle | triangle | sesame ] ] | <string>`
7289   *
7290   * **Initial value**: `none`
7291   */
7292  WebkitTextEmphasisStyle?: TextEmphasisStyleProperty;
7293  /**
7294   * 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.
7295   *
7296   * **Syntax**: `<color>`
7297   *
7298   * **Initial value**: `currentcolor`
7299   */
7300  WebkitTextFillColor?: WebkitTextFillColorProperty;
7301  /**
7302   * 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.
7303   *
7304   * **Syntax**: `mixed | upright | sideways`
7305   *
7306   * **Initial value**: `mixed`
7307   */
7308  WebkitTextOrientation?: TextOrientationProperty;
7309  /**
7310   * The **`text-size-adjust`** CSS property controls the text inflation algorithm used on some smartphones and tablets. Other browsers will ignore this property.
7311   *
7312   * **Syntax**: `none | auto | <percentage>`
7313   *
7314   * **Initial value**: `auto` for smartphone browsers supporting inflation, `none` in other cases (and then not modifiable).
7315   */
7316  WebkitTextSizeAdjust?: TextSizeAdjustProperty;
7317  /**
7318   * 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.
7319   *
7320   * **Syntax**: `<color>`
7321   *
7322   * **Initial value**: `currentcolor`
7323   */
7324  WebkitTextStrokeColor?: WebkitTextStrokeColorProperty;
7325  /**
7326   * The **`-webkit-text-stroke-width`** CSS property specifies the width of the stroke for text.
7327   *
7328   * **Syntax**: `<length>`
7329   *
7330   * **Initial value**: `0`
7331   */
7332  WebkitTextStrokeWidth?: WebkitTextStrokeWidthProperty<TLength>;
7333  /**
7334   * The **`text-underline-position`** CSS property specifies the position of the underline which is set using the `text-decoration` property's `underline` value.
7335   *
7336   * **Syntax**: `auto | from-font | [ under || [ left | right ] ]`
7337   *
7338   * **Initial value**: `auto`
7339   */
7340  WebkitTextUnderlinePosition?: TextUnderlinePositionProperty;
7341  /**
7342   * The `-webkit-touch-callout` CSS property controls the display of the default callout shown when you touch and hold a touch target.
7343   *
7344   * **Syntax**: `default | none`
7345   *
7346   * **Initial value**: `default`
7347   */
7348  WebkitTouchCallout?: WebkitTouchCalloutProperty;
7349  /**
7350   * The **`transform`** CSS property lets you rotate, scale, skew, or translate an element. It modifies the coordinate space of the CSS visual formatting model.
7351   *
7352   * **Syntax**: `none | <transform-list>`
7353   *
7354   * **Initial value**: `none`
7355   */
7356  WebkitTransform?: TransformProperty;
7357  /**
7358   * The **`transform-origin`** CSS property sets the origin for an element's transformations.
7359   *
7360   * **Syntax**: `[ <length-percentage> | left | center | right | top | bottom ] | [ [ <length-percentage> | left | center | right ] && [ <length-percentage> | top | center | bottom ] ] <length>?`
7361   *
7362   * **Initial value**: `50% 50% 0`
7363   */
7364  WebkitTransformOrigin?: TransformOriginProperty<TLength>;
7365  /**
7366   * 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.
7367   *
7368   * **Syntax**: `flat | preserve-3d`
7369   *
7370   * **Initial value**: `flat`
7371   */
7372  WebkitTransformStyle?: TransformStyleProperty;
7373  /**
7374   * The **`transition-delay`** CSS property specifies the duration to wait before starting a property's transition effect when its value changes.
7375   *
7376   * **Syntax**: `<time>#`
7377   *
7378   * **Initial value**: `0s`
7379   */
7380  WebkitTransitionDelay?: GlobalsString;
7381  /**
7382   * 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.
7383   *
7384   * **Syntax**: `<time>#`
7385   *
7386   * **Initial value**: `0s`
7387   */
7388  WebkitTransitionDuration?: GlobalsString;
7389  /**
7390   * The **`transition-property`** CSS property sets the CSS properties to which a transition effect should be applied.
7391   *
7392   * **Syntax**: `none | <single-transition-property>#`
7393   *
7394   * **Initial value**: all
7395   */
7396  WebkitTransitionProperty?: TransitionPropertyProperty;
7397  /**
7398   * The **`transition-timing-function`** CSS property sets how intermediate values are calculated for CSS properties being affected by a transition effect.
7399   *
7400   * **Syntax**: `<timing-function>#`
7401   *
7402   * **Initial value**: `ease`
7403   */
7404  WebkitTransitionTimingFunction?: TransitionTimingFunctionProperty;
7405  /**
7406   * **Syntax**: `read-only | read-write | read-write-plaintext-only`
7407   *
7408   * **Initial value**: `read-only`
7409   */
7410  WebkitUserModify?: WebkitUserModifyProperty;
7411  /**
7412   * 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.
7413   *
7414   * **Syntax**: `auto | text | none | contain | all`
7415   *
7416   * **Initial value**: `auto`
7417   */
7418  WebkitUserSelect?: UserSelectProperty;
7419  /**
7420   * 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.
7421   *
7422   * **Syntax**: `horizontal-tb | vertical-rl | vertical-lr | sideways-rl | sideways-lr`
7423   *
7424   * **Initial value**: `horizontal-tb`
7425   */
7426  WebkitWritingMode?: WritingModeProperty;
7427}
7428
7429export interface VendorShorthandProperties<TLength = string | 0> {
7430  /**
7431   * The **`animation`** shorthand CSS property sets an animated transition 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`.
7432   *
7433   * **Syntax**: `<single-animation>#`
7434   */
7435  MozAnimation?: AnimationProperty;
7436  /**
7437   * The **`border-image`** CSS property draws an image in place of an element's `border-style`.
7438   *
7439   * **Syntax**: `<'border-image-source'> || <'border-image-slice'> [ / <'border-image-width'> | / <'border-image-width'>? / <'border-image-outset'> ]? || <'border-image-repeat'>`
7440   */
7441  MozBorderImage?: BorderImageProperty;
7442  /**
7443   * The **`column-rule`** CSS property sets the width, style, and color of the rule (line) drawn between columns in a multi-column layout.
7444   *
7445   * **Syntax**: `<'column-rule-width'> || <'column-rule-style'> || <'column-rule-color'>`
7446   */
7447  MozColumnRule?: ColumnRuleProperty<TLength>;
7448  /**
7449   * The **`columns`** CSS property sets the column width and column count of an element.
7450   *
7451   * **Syntax**: `<'column-width'> || <'column-count'>`
7452   */
7453  MozColumns?: ColumnsProperty<TLength>;
7454  /**
7455   * The **`transition`** CSS property is a shorthand property for `transition-property`, `transition-duration`, `transition-timing-function`, and `transition-delay`.
7456   *
7457   * **Syntax**: `<single-transition>#`
7458   */
7459  MozTransition?: TransitionProperty;
7460  /**
7461   * 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.
7462   *
7463   * **Syntax**: `<'-ms-content-zoom-limit-min'> <'-ms-content-zoom-limit-max'>`
7464   */
7465  msContentZoomLimit?: GlobalsString;
7466  /**
7467   * 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.
7468   *
7469   * **Syntax**: `<'-ms-content-zoom-snap-type'> || <'-ms-content-zoom-snap-points'>`
7470   */
7471  msContentZoomSnap?: MsContentZoomSnapProperty;
7472  /**
7473   * The **`flex`** CSS property sets how a flex item will grow or shrink to fit the space available in its flex container. It is a shorthand for `flex-grow`, `flex-shrink`, and `flex-basis`.
7474   *
7475   * **Syntax**: `none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]`
7476   */
7477  msFlex?: FlexProperty<TLength>;
7478  /**
7479   * 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.
7480   *
7481   * **Syntax**: `<'-ms-scroll-limit-x-min'> <'-ms-scroll-limit-y-min'> <'-ms-scroll-limit-x-max'> <'-ms-scroll-limit-y-max'>`
7482   */
7483  msScrollLimit?: GlobalsString;
7484  /**
7485   * 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.
7486   *
7487   * **Syntax**: `<'-ms-scroll-snap-type'> <'-ms-scroll-snap-points-x'>`
7488   */
7489  msScrollSnapX?: GlobalsString;
7490  /**
7491   * 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.
7492   *
7493   * **Syntax**: `<'-ms-scroll-snap-type'> <'-ms-scroll-snap-points-y'>`
7494   */
7495  msScrollSnapY?: GlobalsString;
7496  /**
7497   * The **`transition`** CSS property is a shorthand property for `transition-property`, `transition-duration`, `transition-timing-function`, and `transition-delay`.
7498   *
7499   * **Syntax**: `<single-transition>#`
7500   */
7501  msTransition?: TransitionProperty;
7502  /**
7503   * The **`animation`** shorthand CSS property sets an animated transition 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`.
7504   *
7505   * **Syntax**: `<single-animation>#`
7506   */
7507  WebkitAnimation?: AnimationProperty;
7508  /**
7509   * 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.
7510   *
7511   * **Syntax**: `<'border-width'> || <'border-style'> || <'color'>`
7512   */
7513  WebkitBorderBefore?: WebkitBorderBeforeProperty<TLength>;
7514  /**
7515   * The **`border-image`** CSS property draws an image in place of an element's `border-style`.
7516   *
7517   * **Syntax**: `<'border-image-source'> || <'border-image-slice'> [ / <'border-image-width'> | / <'border-image-width'>? / <'border-image-outset'> ]? || <'border-image-repeat'>`
7518   */
7519  WebkitBorderImage?: BorderImageProperty;
7520  /**
7521   * 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.
7522   *
7523   * **Syntax**: `<length-percentage>{1,4} [ / <length-percentage>{1,4} ]?`
7524   */
7525  WebkitBorderRadius?: BorderRadiusProperty<TLength>;
7526  /**
7527   * The **`column-rule`** CSS property sets the width, style, and color of the rule (line) drawn between columns in a multi-column layout.
7528   *
7529   * **Syntax**: `<'column-rule-width'> || <'column-rule-style'> || <'column-rule-color'>`
7530   */
7531  WebkitColumnRule?: ColumnRuleProperty<TLength>;
7532  /**
7533   * The **`columns`** CSS property sets the column width and column count of an element.
7534   *
7535   * **Syntax**: `<'column-width'> || <'column-count'>`
7536   */
7537  WebkitColumns?: ColumnsProperty<TLength>;
7538  /**
7539   * The **`flex`** CSS property sets how a flex item will grow or shrink to fit the space available in its flex container. It is a shorthand for `flex-grow`, `flex-shrink`, and `flex-basis`.
7540   *
7541   * **Syntax**: `none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]`
7542   */
7543  WebkitFlex?: FlexProperty<TLength>;
7544  /**
7545   * The **`flex-flow`** CSS property is a shorthand property for `flex-direction` and `flex-wrap` properties.
7546   *
7547   * **Syntax**: `<'flex-direction'> || <'flex-wrap'>`
7548   */
7549  WebkitFlexFlow?: FlexFlowProperty;
7550  /**
7551   * The **`mask`** CSS property hides an element (partially or fully) by masking or clipping the image at specific points.
7552   *
7553   * **Syntax**: `[ <mask-reference> || <position> [ / <bg-size> ]? || <repeat-style> || [ <box> | border | padding | content | text ] || [ <box> | border | padding | content ] ]#`
7554   */
7555  WebkitMask?: WebkitMaskProperty<TLength>;
7556  /**
7557   * 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`.
7558   *
7559   * **Syntax**: `<'text-emphasis-style'> || <'text-emphasis-color'>`
7560   */
7561  WebkitTextEmphasis?: TextEmphasisProperty;
7562  /**
7563   * 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`.
7564   *
7565   * **Syntax**: `<length> || <color>`
7566   */
7567  WebkitTextStroke?: WebkitTextStrokeProperty<TLength>;
7568  /**
7569   * The **`transition`** CSS property is a shorthand property for `transition-property`, `transition-duration`, `transition-timing-function`, and `transition-delay`.
7570   *
7571   * **Syntax**: `<single-transition>#`
7572   */
7573  WebkitTransition?: TransitionProperty;
7574}
7575
7576export interface VendorProperties<TLength = string | 0> extends VendorLonghandProperties<TLength>, VendorShorthandProperties<TLength> {}
7577
7578export interface ObsoleteProperties<TLength = string | 0> {
7579  /**
7580   * 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.
7581   *
7582   * **Syntax**: `start | center | end | baseline | stretch`
7583   *
7584   * **Initial value**: `stretch`
7585   *
7586   * @deprecated
7587   */
7588  boxAlign?: BoxAlignProperty;
7589  /**
7590   * 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).
7591   *
7592   * **Syntax**: `normal | reverse | inherit`
7593   *
7594   * **Initial value**: `normal`
7595   *
7596   * @deprecated
7597   */
7598  boxDirection?: BoxDirectionProperty;
7599  /**
7600   * 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.
7601   *
7602   * **Syntax**: `<number>`
7603   *
7604   * **Initial value**: `0`
7605   *
7606   * @deprecated
7607   */
7608  boxFlex?: GlobalsNumber;
7609  /**
7610   * The **`box-flex-group`** CSS property assigns the flexbox's child elements to a flex group.
7611   *
7612   * **Syntax**: `<integer>`
7613   *
7614   * **Initial value**: `1`
7615   *
7616   * @deprecated
7617   */
7618  boxFlexGroup?: GlobalsNumber;
7619  /**
7620   * 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).
7621   *
7622   * **Syntax**: `single | multiple`
7623   *
7624   * **Initial value**: `single`
7625   *
7626   * @deprecated
7627   */
7628  boxLines?: BoxLinesProperty;
7629  /**
7630   * The **`box-ordinal-group`** CSS property assigns the flexbox's child elements to an ordinal group.
7631   *
7632   * **Syntax**: `<integer>`
7633   *
7634   * **Initial value**: `1`
7635   *
7636   * @deprecated
7637   */
7638  boxOrdinalGroup?: GlobalsNumber;
7639  /**
7640   * The **`box-orient`** CSS property specifies whether an element lays out its contents horizontally or vertically.
7641   *
7642   * **Syntax**: `horizontal | vertical | inline-axis | block-axis | inherit`
7643   *
7644   * **Initial value**: `inline-axis` (`horizontal` in XUL)
7645   *
7646   * @deprecated
7647   */
7648  boxOrient?: BoxOrientProperty;
7649  /**
7650   * 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.
7651   *
7652   * **Syntax**: `start | center | end | justify`
7653   *
7654   * **Initial value**: `start`
7655   *
7656   * @deprecated
7657   */
7658  boxPack?: BoxPackProperty;
7659  /**
7660   * The **`clip`** CSS property defines what portion of an element is visible. The `clip` property applies only to absolutely positioned elements, that is elements with `position:absolute` or `position:fixed`.
7661   *
7662   * **Syntax**: `<shape> | auto`
7663   *
7664   * **Initial value**: `auto`
7665   *
7666   * @deprecated
7667   */
7668  clip?: ClipProperty;
7669  /**
7670   * 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`.
7671   *
7672   * **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> ) ]`
7673   *
7674   * **Initial value**: `normal`
7675   *
7676   * @deprecated
7677   */
7678  fontVariantAlternates?: FontVariantAlternatesProperty;
7679  /**
7680   * The **`column-gap`** CSS property sets the size of the gap (gutter) between an element's columns.
7681   *
7682   * **Syntax**: `<length-percentage>`
7683   *
7684   * **Initial value**: `0`
7685   *
7686   * @deprecated
7687   */
7688  gridColumnGap?: GridColumnGapProperty<TLength>;
7689  /**
7690   * The **`gap`** CSS property sets the gaps (gutters) between rows and columns. It is a shorthand for `row-gap` and `column-gap`.
7691   *
7692   * **Syntax**: `<'grid-row-gap'> <'grid-column-gap'>?`
7693   *
7694   * @deprecated
7695   */
7696  gridGap?: GridGapProperty<TLength>;
7697  /**
7698   * The **`row-gap`** CSS property sets the size of the gap (gutter) between an element's grid rows.
7699   *
7700   * **Syntax**: `<length-percentage>`
7701   *
7702   * **Initial value**: `0`
7703   *
7704   * @deprecated
7705   */
7706  gridRowGap?: GridRowGapProperty<TLength>;
7707  /**
7708   * The **`ime-mode`** CSS property controls the state of the input method editor (IME) for text fields. This property is obsolete.
7709   *
7710   * **Syntax**: `auto | normal | active | inactive | disabled`
7711   *
7712   * **Initial value**: `auto`
7713   *
7714   * @deprecated
7715   */
7716  imeMode?: ImeModeProperty;
7717  /**
7718   * The **`inset-block`** CSS property defines the logical block start and end offsets of an element, 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`.
7719   *
7720   * **Syntax**: `<'top'>{1,2}`
7721   *
7722   * **Initial value**: `auto`
7723   *
7724   * @deprecated
7725   */
7726  offsetBlock?: InsetBlockProperty<TLength>;
7727  /**
7728   * 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`.
7729   *
7730   * **Syntax**: `<'top'>`
7731   *
7732   * **Initial value**: `auto`
7733   *
7734   * @deprecated
7735   */
7736  offsetBlockEnd?: InsetBlockEndProperty<TLength>;
7737  /**
7738   * 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`.
7739   *
7740   * **Syntax**: `<'top'>`
7741   *
7742   * **Initial value**: `auto`
7743   *
7744   * @deprecated
7745   */
7746  offsetBlockStart?: InsetBlockStartProperty<TLength>;
7747  /**
7748   * The **`inset-inline`** CSS property defines the logical block start and end offsets of an element, 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`.
7749   *
7750   * **Syntax**: `<'top'>{1,2}`
7751   *
7752   * **Initial value**: `auto`
7753   *
7754   * @deprecated
7755   */
7756  offsetInline?: InsetInlineProperty<TLength>;
7757  /**
7758   * The **`inset-inline-end`** CSS property defines the logical inline end inset 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`.
7759   *
7760   * **Syntax**: `<'top'>`
7761   *
7762   * **Initial value**: `auto`
7763   *
7764   * @deprecated
7765   */
7766  offsetInlineEnd?: InsetInlineEndProperty<TLength>;
7767  /**
7768   * 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`.
7769   *
7770   * **Syntax**: `<'top'>`
7771   *
7772   * **Initial value**: `auto`
7773   *
7774   * @deprecated
7775   */
7776  offsetInlineStart?: InsetInlineStartProperty<TLength>;
7777  /**
7778   * 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.
7779   *
7780   * **Syntax**: `none | <position>#`
7781   *
7782   * **Initial value**: `none`
7783   *
7784   * @deprecated
7785   */
7786  scrollSnapCoordinate?: ScrollSnapCoordinateProperty<TLength>;
7787  /**
7788   * 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.
7789   *
7790   * **Syntax**: `<position>`
7791   *
7792   * **Initial value**: `0px 0px`
7793   *
7794   * @deprecated
7795   */
7796  scrollSnapDestination?: ScrollSnapDestinationProperty<TLength>;
7797  /**
7798   * 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.
7799   *
7800   * **Syntax**: `none | repeat( <length-percentage> )`
7801   *
7802   * **Initial value**: `none`
7803   *
7804   * @deprecated
7805   */
7806  scrollSnapPointsX?: ScrollSnapPointsXProperty;
7807  /**
7808   * 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.
7809   *
7810   * **Syntax**: `none | repeat( <length-percentage> )`
7811   *
7812   * **Initial value**: `none`
7813   *
7814   * @deprecated
7815   */
7816  scrollSnapPointsY?: ScrollSnapPointsYProperty;
7817  /**
7818   * 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.
7819   *
7820   * **Syntax**: `none | mandatory | proximity`
7821   *
7822   * **Initial value**: `none`
7823   *
7824   * @deprecated
7825   */
7826  scrollSnapTypeX?: ScrollSnapTypeXProperty;
7827  /**
7828   * 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.
7829   *
7830   * **Syntax**: `none | mandatory | proximity`
7831   *
7832   * **Initial value**: `none`
7833   *
7834   * @deprecated
7835   */
7836  scrollSnapTypeY?: ScrollSnapTypeYProperty;
7837  /**
7838   * The **`-ms-scrollbar-track-color`** CSS property is a Microsoft extension that specifies the color of the track element of a scrollbar.
7839   *
7840   * **Syntax**: `<color>`
7841   *
7842   * **Initial value**: `Scrollbar`
7843   *
7844   * @deprecated
7845   */
7846  scrollbarTrackColor?: MsScrollbarTrackColorProperty;
7847  /**
7848   * 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.
7849   *
7850   * **Syntax**: `none | all | [ digits <integer>? ]`
7851   *
7852   * **Initial value**: `none`
7853   *
7854   * @deprecated
7855   */
7856  textCombineHorizontal?: TextCombineUprightProperty;
7857  /**
7858   * 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.
7859   *
7860   * **Syntax**: `start | center | end | baseline | stretch`
7861   *
7862   * **Initial value**: `stretch`
7863   *
7864   * @deprecated
7865   */
7866  KhtmlBoxAlign?: BoxAlignProperty;
7867  /**
7868   * 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).
7869   *
7870   * **Syntax**: `normal | reverse | inherit`
7871   *
7872   * **Initial value**: `normal`
7873   *
7874   * @deprecated
7875   */
7876  KhtmlBoxDirection?: BoxDirectionProperty;
7877  /**
7878   * 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.
7879   *
7880   * **Syntax**: `<number>`
7881   *
7882   * **Initial value**: `0`
7883   *
7884   * @deprecated
7885   */
7886  KhtmlBoxFlex?: GlobalsNumber;
7887  /**
7888   * The **`box-flex-group`** CSS property assigns the flexbox's child elements to a flex group.
7889   *
7890   * **Syntax**: `<integer>`
7891   *
7892   * **Initial value**: `1`
7893   *
7894   * @deprecated
7895   */
7896  KhtmlBoxFlexGroup?: GlobalsNumber;
7897  /**
7898   * 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).
7899   *
7900   * **Syntax**: `single | multiple`
7901   *
7902   * **Initial value**: `single`
7903   *
7904   * @deprecated
7905   */
7906  KhtmlBoxLines?: BoxLinesProperty;
7907  /**
7908   * The **`box-ordinal-group`** CSS property assigns the flexbox's child elements to an ordinal group.
7909   *
7910   * **Syntax**: `<integer>`
7911   *
7912   * **Initial value**: `1`
7913   *
7914   * @deprecated
7915   */
7916  KhtmlBoxOrdinalGroup?: GlobalsNumber;
7917  /**
7918   * The **`box-orient`** CSS property specifies whether an element lays out its contents horizontally or vertically.
7919   *
7920   * **Syntax**: `horizontal | vertical | inline-axis | block-axis | inherit`
7921   *
7922   * **Initial value**: `inline-axis` (`horizontal` in XUL)
7923   *
7924   * @deprecated
7925   */
7926  KhtmlBoxOrient?: BoxOrientProperty;
7927  /**
7928   * 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.
7929   *
7930   * **Syntax**: `start | center | end | justify`
7931   *
7932   * **Initial value**: `start`
7933   *
7934   * @deprecated
7935   */
7936  KhtmlBoxPack?: BoxPackProperty;
7937  /**
7938   * The **`line-break`** CSS property sets how to break lines of Chinese, Japanese, or Korean (CJK) text when working with punctuation and symbols.
7939   *
7940   * **Syntax**: `auto | loose | normal | strict | anywhere`
7941   *
7942   * **Initial value**: `auto`
7943   *
7944   * @deprecated
7945   */
7946  KhtmlLineBreak?: LineBreakProperty;
7947  /**
7948   * The **`opacity`** CSS property sets the transparency of an element or the degree to which content behind an element is visible.
7949   *
7950   * **Syntax**: `<alpha-value>`
7951   *
7952   * **Initial value**: `1.0`
7953   *
7954   * @deprecated
7955   */
7956  KhtmlOpacity?: OpacityProperty;
7957  /**
7958   * 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.
7959   *
7960   * **Syntax**: `auto | text | none | contain | all`
7961   *
7962   * **Initial value**: `auto`
7963   *
7964   * @deprecated
7965   */
7966  KhtmlUserSelect?: UserSelectProperty;
7967  /**
7968   * The **`background-clip`** CSS property sets whether an element's background `<color>` or `<image>` extends underneath its border.
7969   *
7970   * **Syntax**: `<box>#`
7971   *
7972   * **Initial value**: `border-box`
7973   *
7974   * @deprecated
7975   */
7976  MozBackgroundClip?: BackgroundClipProperty;
7977  /**
7978   * The **`box-decoration-break`** CSS property specifies how an element's fragments should be rendered when broken across multiple lines, columns, or pages.
7979   *
7980   * **Syntax**: `slice | clone`
7981   *
7982   * **Initial value**: `slice`
7983   *
7984   * @deprecated
7985   */
7986  MozBackgroundInlinePolicy?: BoxDecorationBreakProperty;
7987  /**
7988   * The **`background-origin`** CSS property sets the _background positioning area_. In other words, it sets the origin position of an image set with the `background-image` property.
7989   *
7990   * **Syntax**: `<box>#`
7991   *
7992   * **Initial value**: `padding-box`
7993   *
7994   * @deprecated
7995   */
7996  MozBackgroundOrigin?: BackgroundOriginProperty;
7997  /**
7998   * 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.
7999   *
8000   * **Syntax**: `<bg-size>#`
8001   *
8002   * **Initial value**: `auto auto`
8003   *
8004   * @deprecated
8005   */
8006  MozBackgroundSize?: BackgroundSizeProperty<TLength>;
8007  /**
8008   * The **`-moz-binding`** CSS property is used by Mozilla-based applications to attach an XBL binding to a DOM element.
8009   *
8010   * **Syntax**: `<url> | none`
8011   *
8012   * **Initial value**: `none`
8013   *
8014   * @deprecated
8015   */
8016  MozBinding?: MozBindingProperty;
8017  /**
8018   * 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.
8019   *
8020   * **Syntax**: `<length-percentage>{1,4} [ / <length-percentage>{1,4} ]?`
8021   *
8022   * @deprecated
8023   */
8024  MozBorderRadius?: BorderRadiusProperty<TLength>;
8025  /**
8026   * The **`border-bottom-left-radius`** CSS property rounds the bottom-left corner of an element.
8027   *
8028   * **Syntax**: `<length-percentage>{1,2}`
8029   *
8030   * **Initial value**: `0`
8031   *
8032   * @deprecated
8033   */
8034  MozBorderRadiusBottomleft?: BorderBottomLeftRadiusProperty<TLength>;
8035  /**
8036   * The **`border-bottom-right-radius`** CSS property rounds the bottom-right corner of an element.
8037   *
8038   * **Syntax**: `<length-percentage>{1,2}`
8039   *
8040   * **Initial value**: `0`
8041   *
8042   * @deprecated
8043   */
8044  MozBorderRadiusBottomright?: BorderBottomRightRadiusProperty<TLength>;
8045  /**
8046   * The **`border-top-left-radius`** CSS property rounds the top-left corner of an element.
8047   *
8048   * **Syntax**: `<length-percentage>{1,2}`
8049   *
8050   * **Initial value**: `0`
8051   *
8052   * @deprecated
8053   */
8054  MozBorderRadiusTopleft?: BorderTopLeftRadiusProperty<TLength>;
8055  /**
8056   * The **`border-top-right-radius`** CSS property rounds the top-right corner of an element.
8057   *
8058   * **Syntax**: `<length-percentage>{1,2}`
8059   *
8060   * **Initial value**: `0`
8061   *
8062   * @deprecated
8063   */
8064  MozBorderRadiusTopright?: BorderTopRightRadiusProperty<TLength>;
8065  /**
8066   * 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.
8067   *
8068   * **Syntax**: `start | center | end | baseline | stretch`
8069   *
8070   * **Initial value**: `stretch`
8071   *
8072   * @deprecated
8073   */
8074  MozBoxAlign?: BoxAlignProperty;
8075  /**
8076   * 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).
8077   *
8078   * **Syntax**: `normal | reverse | inherit`
8079   *
8080   * **Initial value**: `normal`
8081   *
8082   * @deprecated
8083   */
8084  MozBoxDirection?: BoxDirectionProperty;
8085  /**
8086   * 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.
8087   *
8088   * **Syntax**: `<number>`
8089   *
8090   * **Initial value**: `0`
8091   *
8092   * @deprecated
8093   */
8094  MozBoxFlex?: GlobalsNumber;
8095  /**
8096   * The **`box-ordinal-group`** CSS property assigns the flexbox's child elements to an ordinal group.
8097   *
8098   * **Syntax**: `<integer>`
8099   *
8100   * **Initial value**: `1`
8101   *
8102   * @deprecated
8103   */
8104  MozBoxOrdinalGroup?: GlobalsNumber;
8105  /**
8106   * The **`box-orient`** CSS property specifies whether an element lays out its contents horizontally or vertically.
8107   *
8108   * **Syntax**: `horizontal | vertical | inline-axis | block-axis | inherit`
8109   *
8110   * **Initial value**: `inline-axis` (`horizontal` in XUL)
8111   *
8112   * @deprecated
8113   */
8114  MozBoxOrient?: BoxOrientProperty;
8115  /**
8116   * 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.
8117   *
8118   * **Syntax**: `start | center | end | justify`
8119   *
8120   * **Initial value**: `start`
8121   *
8122   * @deprecated
8123   */
8124  MozBoxPack?: BoxPackProperty;
8125  /**
8126   * 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 radii, and color.
8127   *
8128   * **Syntax**: `none | <shadow>#`
8129   *
8130   * **Initial value**: `none`
8131   *
8132   * @deprecated
8133   */
8134  MozBoxShadow?: BoxShadowProperty;
8135  /**
8136   * The **`opacity`** CSS property sets the transparency of an element or the degree to which content behind an element is visible.
8137   *
8138   * **Syntax**: `<alpha-value>`
8139   *
8140   * **Initial value**: `1.0`
8141   *
8142   * @deprecated
8143   */
8144  MozOpacity?: OpacityProperty;
8145  /**
8146   * The **`outline`** CSS property is a shorthand to set various outline properties in a single declaration: `outline-style`, `outline-width`, and `outline-color`.
8147   *
8148   * **Syntax**: `[ <'outline-color'> || <'outline-style'> || <'outline-width'> ]`
8149   *
8150   * @deprecated
8151   */
8152  MozOutline?: OutlineProperty<TLength>;
8153  /**
8154   * The **`outline-color`** CSS property sets the color of an element's outline.
8155   *
8156   * **Syntax**: `<color> | invert`
8157   *
8158   * **Initial value**: `invert`, for browsers supporting it, `currentColor` for the other
8159   *
8160   * @deprecated
8161   */
8162  MozOutlineColor?: OutlineColorProperty;
8163  /**
8164   * In Mozilla applications like Firefox, the **`-moz-outline-radius`** CSS property can be used to give an element's `outline` rounded corners.
8165   *
8166   * **Syntax**: `<outline-radius>{1,4} [ / <outline-radius>{1,4} ]?`
8167   *
8168   * @deprecated
8169   */
8170  MozOutlineRadius?: MozOutlineRadiusProperty<TLength>;
8171  /**
8172   * 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`.
8173   *
8174   * **Syntax**: `auto | <'border-style'>`
8175   *
8176   * **Initial value**: `none`
8177   *
8178   * @deprecated
8179   */
8180  MozOutlineStyle?: OutlineStyleProperty;
8181  /**
8182   * The **`outline-width`** CSS property sets the thickness of an element's outline. An outline is a line that is drawn around an element, outside the `border`.
8183   *
8184   * **Syntax**: `<line-width>`
8185   *
8186   * **Initial value**: `medium`
8187   *
8188   * @deprecated
8189   */
8190  MozOutlineWidth?: OutlineWidthProperty<TLength>;
8191  /**
8192   * 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.
8193   *
8194   * **Syntax**: `auto | start | end | left | right | center | justify`
8195   *
8196   * **Initial value**: `auto`
8197   *
8198   * @deprecated
8199   */
8200  MozTextAlignLast?: TextAlignLastProperty;
8201  /**
8202   * The **`text-decoration-color`** CSS property sets the color of decorations added to text by `text-decoration-line`.
8203   *
8204   * **Syntax**: `<color>`
8205   *
8206   * **Initial value**: `currentcolor`
8207   *
8208   * @deprecated
8209   */
8210  MozTextDecorationColor?: TextDecorationColorProperty;
8211  /**
8212   * 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.
8213   *
8214   * **Syntax**: `none | [ underline || overline || line-through || blink ] | spelling-error | grammar-error`
8215   *
8216   * **Initial value**: `none`
8217   *
8218   * @deprecated
8219   */
8220  MozTextDecorationLine?: TextDecorationLineProperty;
8221  /**
8222   * 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`.
8223   *
8224   * **Syntax**: `solid | double | dotted | dashed | wavy`
8225   *
8226   * **Initial value**: `solid`
8227   *
8228   * @deprecated
8229   */
8230  MozTextDecorationStyle?: TextDecorationStyleProperty;
8231  /**
8232   * In Mozilla applications, **`-moz-user-input`** determines if an element will accept user input.
8233   *
8234   * **Syntax**: `auto | none | enabled | disabled`
8235   *
8236   * **Initial value**: `auto`
8237   *
8238   * @deprecated
8239   */
8240  MozUserInput?: MozUserInputProperty;
8241  /**
8242   * The **`ime-mode`** CSS property controls the state of the input method editor (IME) for text fields. This property is obsolete.
8243   *
8244   * **Syntax**: `auto | normal | active | inactive | disabled`
8245   *
8246   * **Initial value**: `auto`
8247   *
8248   * @deprecated
8249   */
8250  msImeMode?: ImeModeProperty;
8251  /**
8252   * The **`-ms-scrollbar-track-color`** CSS property is a Microsoft extension that specifies the color of the track element of a scrollbar.
8253   *
8254   * **Syntax**: `<color>`
8255   *
8256   * **Initial value**: `Scrollbar`
8257   *
8258   * @deprecated
8259   */
8260  msScrollbarTrackColor?: MsScrollbarTrackColorProperty;
8261  /**
8262   * The **`animation`** shorthand CSS property sets an animated transition 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`.
8263   *
8264   * **Syntax**: `<single-animation>#`
8265   *
8266   * @deprecated
8267   */
8268  OAnimation?: AnimationProperty;
8269  /**
8270   * The **`animation-delay`** CSS property sets when an animation starts. The animation can start later, immediately from its beginning, or immediately and partway through the animation.
8271   *
8272   * **Syntax**: `<time>#`
8273   *
8274   * **Initial value**: `0s`
8275   *
8276   * @deprecated
8277   */
8278  OAnimationDelay?: GlobalsString;
8279  /**
8280   * The **`animation-direction`** CSS property sets whether an animation should play forwards, backwards, or alternating back and forth.
8281   *
8282   * **Syntax**: `<single-animation-direction>#`
8283   *
8284   * **Initial value**: `normal`
8285   *
8286   * @deprecated
8287   */
8288  OAnimationDirection?: AnimationDirectionProperty;
8289  /**
8290   * The **`animation-duration`** CSS property sets the length of time that an animation takes to complete one cycle.
8291   *
8292   * **Syntax**: `<time>#`
8293   *
8294   * **Initial value**: `0s`
8295   *
8296   * @deprecated
8297   */
8298  OAnimationDuration?: GlobalsString;
8299  /**
8300   * The **`animation-fill-mode`** CSS property sets how a CSS animation applies styles to its target before and after its execution.
8301   *
8302   * **Syntax**: `<single-animation-fill-mode>#`
8303   *
8304   * **Initial value**: `none`
8305   *
8306   * @deprecated
8307   */
8308  OAnimationFillMode?: AnimationFillModeProperty;
8309  /**
8310   * The **`animation-iteration-count`** CSS property sets the number of times an animation cycle should be played before stopping.
8311   *
8312   * **Syntax**: `<single-animation-iteration-count>#`
8313   *
8314   * **Initial value**: `1`
8315   *
8316   * @deprecated
8317   */
8318  OAnimationIterationCount?: AnimationIterationCountProperty;
8319  /**
8320   * The **`animation-name`** CSS property sets one or more animations to apply to an element. Each name is an `@keyframes` at-rule that sets the property values for the animation sequence.
8321   *
8322   * **Syntax**: `[ none | <keyframes-name> ]#`
8323   *
8324   * **Initial value**: `none`
8325   *
8326   * @deprecated
8327   */
8328  OAnimationName?: AnimationNameProperty;
8329  /**
8330   * The **`animation-play-state`** CSS property sets whether an animation is running or paused.
8331   *
8332   * **Syntax**: `<single-animation-play-state>#`
8333   *
8334   * **Initial value**: `running`
8335   *
8336   * @deprecated
8337   */
8338  OAnimationPlayState?: AnimationPlayStateProperty;
8339  /**
8340   * The `**animation-timing-function**` CSS property sets how an animation progresses through the duration of each cycle.
8341   *
8342   * **Syntax**: `<timing-function>#`
8343   *
8344   * **Initial value**: `ease`
8345   *
8346   * @deprecated
8347   */
8348  OAnimationTimingFunction?: AnimationTimingFunctionProperty;
8349  /**
8350   * 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.
8351   *
8352   * **Syntax**: `<bg-size>#`
8353   *
8354   * **Initial value**: `auto auto`
8355   *
8356   * @deprecated
8357   */
8358  OBackgroundSize?: BackgroundSizeProperty<TLength>;
8359  /**
8360   * The **`border-image`** CSS property draws an image in place of an element's `border-style`.
8361   *
8362   * **Syntax**: `<'border-image-source'> || <'border-image-slice'> [ / <'border-image-width'> | / <'border-image-width'>? / <'border-image-outset'> ]? || <'border-image-repeat'>`
8363   *
8364   * @deprecated
8365   */
8366  OBorderImage?: BorderImageProperty;
8367  /**
8368   * The **`transform`** CSS property lets you rotate, scale, skew, or translate an element. It modifies the coordinate space of the CSS visual formatting model.
8369   *
8370   * **Syntax**: `none | <transform-list>`
8371   *
8372   * **Initial value**: `none`
8373   *
8374   * @deprecated
8375   */
8376  OTransform?: TransformProperty;
8377  /**
8378   * The **`transition`** CSS property is a shorthand property for `transition-property`, `transition-duration`, `transition-timing-function`, and `transition-delay`.
8379   *
8380   * **Syntax**: `<single-transition>#`
8381   *
8382   * @deprecated
8383   */
8384  OTransition?: TransitionProperty;
8385  /**
8386   * The **`transition-delay`** CSS property specifies the duration to wait before starting a property's transition effect when its value changes.
8387   *
8388   * **Syntax**: `<time>#`
8389   *
8390   * **Initial value**: `0s`
8391   *
8392   * @deprecated
8393   */
8394  OTransitionDelay?: GlobalsString;
8395  /**
8396   * 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.
8397   *
8398   * **Syntax**: `<time>#`
8399   *
8400   * **Initial value**: `0s`
8401   *
8402   * @deprecated
8403   */
8404  OTransitionDuration?: GlobalsString;
8405  /**
8406   * The **`transition-property`** CSS property sets the CSS properties to which a transition effect should be applied.
8407   *
8408   * **Syntax**: `none | <single-transition-property>#`
8409   *
8410   * **Initial value**: all
8411   *
8412   * @deprecated
8413   */
8414  OTransitionProperty?: TransitionPropertyProperty;
8415  /**
8416   * The **`transition-timing-function`** CSS property sets how intermediate values are calculated for CSS properties being affected by a transition effect.
8417   *
8418   * **Syntax**: `<timing-function>#`
8419   *
8420   * **Initial value**: `ease`
8421   *
8422   * @deprecated
8423   */
8424  OTransitionTimingFunction?: TransitionTimingFunctionProperty;
8425  /**
8426   * 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.
8427   *
8428   * **Syntax**: `start | center | end | baseline | stretch`
8429   *
8430   * **Initial value**: `stretch`
8431   *
8432   * @deprecated
8433   */
8434  WebkitBoxAlign?: BoxAlignProperty;
8435  /**
8436   * 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).
8437   *
8438   * **Syntax**: `normal | reverse | inherit`
8439   *
8440   * **Initial value**: `normal`
8441   *
8442   * @deprecated
8443   */
8444  WebkitBoxDirection?: BoxDirectionProperty;
8445  /**
8446   * 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.
8447   *
8448   * **Syntax**: `<number>`
8449   *
8450   * **Initial value**: `0`
8451   *
8452   * @deprecated
8453   */
8454  WebkitBoxFlex?: GlobalsNumber;
8455  /**
8456   * The **`box-flex-group`** CSS property assigns the flexbox's child elements to a flex group.
8457   *
8458   * **Syntax**: `<integer>`
8459   *
8460   * **Initial value**: `1`
8461   *
8462   * @deprecated
8463   */
8464  WebkitBoxFlexGroup?: GlobalsNumber;
8465  /**
8466   * 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).
8467   *
8468   * **Syntax**: `single | multiple`
8469   *
8470   * **Initial value**: `single`
8471   *
8472   * @deprecated
8473   */
8474  WebkitBoxLines?: BoxLinesProperty;
8475  /**
8476   * The **`box-ordinal-group`** CSS property assigns the flexbox's child elements to an ordinal group.
8477   *
8478   * **Syntax**: `<integer>`
8479   *
8480   * **Initial value**: `1`
8481   *
8482   * @deprecated
8483   */
8484  WebkitBoxOrdinalGroup?: GlobalsNumber;
8485  /**
8486   * The **`box-orient`** CSS property specifies whether an element lays out its contents horizontally or vertically.
8487   *
8488   * **Syntax**: `horizontal | vertical | inline-axis | block-axis | inherit`
8489   *
8490   * **Initial value**: `inline-axis` (`horizontal` in XUL)
8491   *
8492   * @deprecated
8493   */
8494  WebkitBoxOrient?: BoxOrientProperty;
8495  /**
8496   * 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.
8497   *
8498   * **Syntax**: `start | center | end | justify`
8499   *
8500   * **Initial value**: `start`
8501   *
8502   * @deprecated
8503   */
8504  WebkitBoxPack?: BoxPackProperty;
8505  /**
8506   * 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.
8507   *
8508   * **Syntax**: `none | repeat( <length-percentage> )`
8509   *
8510   * **Initial value**: `none`
8511   *
8512   * @deprecated
8513   */
8514  WebkitScrollSnapPointsX?: ScrollSnapPointsXProperty;
8515  /**
8516   * 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.
8517   *
8518   * **Syntax**: `none | repeat( <length-percentage> )`
8519   *
8520   * **Initial value**: `none`
8521   *
8522   * @deprecated
8523   */
8524  WebkitScrollSnapPointsY?: ScrollSnapPointsYProperty;
8525}
8526
8527export interface SvgProperties<TLength = string | 0> {
8528  alignmentBaseline?: AlignmentBaselineProperty;
8529  baselineShift?: BaselineShiftProperty<TLength>;
8530  clip?: ClipProperty;
8531  clipPath?: ClipPathProperty;
8532  clipRule?: ClipRuleProperty;
8533  color?: ColorProperty;
8534  colorInterpolation?: ColorInterpolationProperty;
8535  colorRendering?: ColorRenderingProperty;
8536  cursor?: CursorProperty;
8537  direction?: DirectionProperty;
8538  display?: DisplayProperty;
8539  dominantBaseline?: DominantBaselineProperty;
8540  fill?: FillProperty;
8541  fillOpacity?: GlobalsNumber;
8542  fillRule?: FillRuleProperty;
8543  filter?: FilterProperty;
8544  floodColor?: FloodColorProperty;
8545  floodOpacity?: GlobalsNumber;
8546  font?: FontProperty;
8547  fontFamily?: FontFamilyProperty;
8548  fontSize?: FontSizeProperty<TLength>;
8549  fontSizeAdjust?: FontSizeAdjustProperty;
8550  fontStretch?: FontStretchProperty;
8551  fontStyle?: FontStyleProperty;
8552  fontVariant?: FontVariantProperty;
8553  fontWeight?: FontWeightProperty;
8554  glyphOrientationVertical?: GlyphOrientationVerticalProperty;
8555  imageRendering?: ImageRenderingProperty;
8556  letterSpacing?: LetterSpacingProperty<TLength>;
8557  lightingColor?: LightingColorProperty;
8558  lineHeight?: LineHeightProperty<TLength>;
8559  marker?: MarkerProperty;
8560  markerEnd?: MarkerEndProperty;
8561  markerMid?: MarkerMidProperty;
8562  markerStart?: MarkerStartProperty;
8563  mask?: MaskProperty<TLength>;
8564  opacity?: OpacityProperty;
8565  overflow?: OverflowProperty;
8566  paintOrder?: PaintOrderProperty;
8567  pointerEvents?: PointerEventsProperty;
8568  shapeRendering?: ShapeRenderingProperty;
8569  stopColor?: StopColorProperty;
8570  stopOpacity?: GlobalsNumber;
8571  stroke?: StrokeProperty;
8572  strokeDasharray?: StrokeDasharrayProperty<TLength>;
8573  strokeDashoffset?: StrokeDashoffsetProperty<TLength>;
8574  strokeLinecap?: StrokeLinecapProperty;
8575  strokeLinejoin?: StrokeLinejoinProperty;
8576  strokeMiterlimit?: GlobalsNumber;
8577  strokeOpacity?: GlobalsNumber;
8578  strokeWidth?: StrokeWidthProperty<TLength>;
8579  textAnchor?: TextAnchorProperty;
8580  textDecoration?: TextDecorationProperty<TLength>;
8581  textRendering?: TextRenderingProperty;
8582  unicodeBidi?: UnicodeBidiProperty;
8583  vectorEffect?: VectorEffectProperty;
8584  visibility?: VisibilityProperty;
8585  whiteSpace?: WhiteSpaceProperty;
8586  wordSpacing?: WordSpacingProperty<TLength>;
8587  writingMode?: WritingModeProperty;
8588}
8589
8590export interface Properties<TLength = string | 0> extends StandardProperties<TLength>, VendorProperties<TLength>, ObsoleteProperties<TLength>, SvgProperties<TLength> {}
8591
8592export interface StandardLonghandPropertiesHyphen<TLength = string | 0> {
8593  /**
8594   * The CSS **`align-content`** property sets how the browser distributes space between and around content items along the cross-axis of a flexbox container, and the main-axis of a grid container.
8595   *
8596   * **Syntax**: `normal | <baseline-position> | <content-distribution> | <overflow-position>? <content-position>`
8597   *
8598   * **Initial value**: `normal`
8599   *
8600   * ---
8601   *
8602   * _Supported in Flex Layout_
8603   *
8604   * |  Chrome  | Firefox |  Safari   |  Edge  |   IE   |
8605   * | :------: | :-----: | :-------: | :----: | :----: |
8606   * |  **29**  | **28**  |   **9**   | **12** | **11** |
8607   * | 21 _-x-_ |         | 6.1 _-x-_ |        |        |
8608   *
8609   * ---
8610   *
8611   * _Supported in Grid Layout_
8612   *
8613   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
8614   * | :----: | :-----: | :------: | :----: | :-: |
8615   * | **57** | **52**  | **10.1** | **16** | No  |
8616   *
8617   * ---
8618   *
8619   * @see https://developer.mozilla.org/docs/Web/CSS/align-content
8620   */
8621  "align-content"?: AlignContentProperty;
8622  /**
8623   * The CSS **`align-items`** property sets the `align-self` value on all direct children as a group. The align-self property sets the alignment of an item within its containing block. 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.
8624   *
8625   * **Syntax**: `normal | stretch | <baseline-position> | [ <overflow-position>? <self-position> ]`
8626   *
8627   * **Initial value**: `normal`
8628   *
8629   * ---
8630   *
8631   * _Supported in Flex Layout_
8632   *
8633   * |  Chrome  | Firefox | Safari  |  Edge  |   IE   |
8634   * | :------: | :-----: | :-----: | :----: | :----: |
8635   * |  **52**  | **20**  |  **9**  | **12** | **11** |
8636   * | 21 _-x-_ |         | 7 _-x-_ |        |        |
8637   *
8638   * ---
8639   *
8640   * _Supported in Grid Layout_
8641   *
8642   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
8643   * | :----: | :-----: | :------: | :----: | :-: |
8644   * | **57** | **52**  | **10.1** | **16** | No  |
8645   *
8646   * ---
8647   *
8648   * @see https://developer.mozilla.org/docs/Web/CSS/align-items
8649   */
8650  "align-items"?: AlignItemsProperty;
8651  /**
8652   * The **`align-self`** CSS property aligns flex items of the current flex line overriding the `align-items` value. If any of the item's cross-axis margin is set to `auto`, then `align-self` is ignored. In Grid layout `align-self` aligns the item inside the grid area.
8653   *
8654   * **Syntax**: `auto | normal | stretch | <baseline-position> | <overflow-position>? <self-position>`
8655   *
8656   * **Initial value**: `auto`
8657   *
8658   * ---
8659   *
8660   * _Supported in Flex Layout_
8661   *
8662   * |  Chrome  | Firefox |  Safari   |  Edge  |   IE   |
8663   * | :------: | :-----: | :-------: | :----: | :----: |
8664   * |  **36**  | **20**  |   **9**   | **12** | **11** |
8665   * | 21 _-x-_ |         | 6.1 _-x-_ |        |        |
8666   *
8667   * ---
8668   *
8669   * _Supported in Grid Layout_
8670   *
8671   * | Chrome | Firefox |  Safari  |  Edge  |      IE      |
8672   * | :----: | :-----: | :------: | :----: | :----------: |
8673   * | **57** | **52**  | **10.1** | **16** | **10** _-x-_ |
8674   *
8675   * ---
8676   *
8677   * @see https://developer.mozilla.org/docs/Web/CSS/align-self
8678   */
8679  "align-self"?: AlignSelfProperty;
8680  /**
8681   * The **`animation-delay`** CSS property sets when an animation starts. The animation can start later, immediately from its beginning, or immediately and partway through the animation.
8682   *
8683   * **Syntax**: `<time>#`
8684   *
8685   * **Initial value**: `0s`
8686   *
8687   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
8688   * | :-----: | :-----: | :-----: | :----: | :----: |
8689   * | **43**  | **16**  |  **9**  | **12** | **10** |
8690   * | 3 _-x-_ | 5 _-x-_ | 4 _-x-_ |        |        |
8691   *
8692   * @see https://developer.mozilla.org/docs/Web/CSS/animation-delay
8693   */
8694  "animation-delay"?: GlobalsString;
8695  /**
8696   * The **`animation-direction`** CSS property sets whether an animation should play forwards, backwards, or alternating back and forth.
8697   *
8698   * **Syntax**: `<single-animation-direction>#`
8699   *
8700   * **Initial value**: `normal`
8701   *
8702   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
8703   * | :-----: | :-----: | :-----: | :----: | :----: |
8704   * | **43**  | **16**  |  **9**  | **12** | **10** |
8705   * | 3 _-x-_ | 5 _-x-_ | 4 _-x-_ |        |        |
8706   *
8707   * @see https://developer.mozilla.org/docs/Web/CSS/animation-direction
8708   */
8709  "animation-direction"?: AnimationDirectionProperty;
8710  /**
8711   * The **`animation-duration`** CSS property sets the length of time that an animation takes to complete one cycle.
8712   *
8713   * **Syntax**: `<time>#`
8714   *
8715   * **Initial value**: `0s`
8716   *
8717   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
8718   * | :-----: | :-----: | :-----: | :----: | :----: |
8719   * | **43**  | **16**  |  **9**  | **12** | **10** |
8720   * | 3 _-x-_ | 5 _-x-_ | 4 _-x-_ |        |        |
8721   *
8722   * @see https://developer.mozilla.org/docs/Web/CSS/animation-duration
8723   */
8724  "animation-duration"?: GlobalsString;
8725  /**
8726   * The **`animation-fill-mode`** CSS property sets how a CSS animation applies styles to its target before and after its execution.
8727   *
8728   * **Syntax**: `<single-animation-fill-mode>#`
8729   *
8730   * **Initial value**: `none`
8731   *
8732   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
8733   * | :-----: | :-----: | :-----: | :----: | :----: |
8734   * | **43**  | **16**  |  **9**  | **12** | **10** |
8735   * | 3 _-x-_ | 5 _-x-_ | 5 _-x-_ |        |        |
8736   *
8737   * @see https://developer.mozilla.org/docs/Web/CSS/animation-fill-mode
8738   */
8739  "animation-fill-mode"?: AnimationFillModeProperty;
8740  /**
8741   * The **`animation-iteration-count`** CSS property sets the number of times an animation cycle should be played before stopping.
8742   *
8743   * **Syntax**: `<single-animation-iteration-count>#`
8744   *
8745   * **Initial value**: `1`
8746   *
8747   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
8748   * | :-----: | :-----: | :-----: | :----: | :----: |
8749   * | **43**  | **16**  |  **9**  | **12** | **10** |
8750   * | 3 _-x-_ | 5 _-x-_ | 4 _-x-_ |        |        |
8751   *
8752   * @see https://developer.mozilla.org/docs/Web/CSS/animation-iteration-count
8753   */
8754  "animation-iteration-count"?: AnimationIterationCountProperty;
8755  /**
8756   * The **`animation-name`** CSS property sets one or more animations to apply to an element. Each name is an `@keyframes` at-rule that sets the property values for the animation sequence.
8757   *
8758   * **Syntax**: `[ none | <keyframes-name> ]#`
8759   *
8760   * **Initial value**: `none`
8761   *
8762   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
8763   * | :-----: | :-----: | :-----: | :----: | :----: |
8764   * | **43**  | **16**  |  **9**  | **12** | **10** |
8765   * | 3 _-x-_ | 5 _-x-_ | 4 _-x-_ |        |        |
8766   *
8767   * @see https://developer.mozilla.org/docs/Web/CSS/animation-name
8768   */
8769  "animation-name"?: AnimationNameProperty;
8770  /**
8771   * The **`animation-play-state`** CSS property sets whether an animation is running or paused.
8772   *
8773   * **Syntax**: `<single-animation-play-state>#`
8774   *
8775   * **Initial value**: `running`
8776   *
8777   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
8778   * | :-----: | :-----: | :-----: | :----: | :----: |
8779   * | **43**  | **16**  |  **9**  | **12** | **10** |
8780   * | 3 _-x-_ | 5 _-x-_ | 4 _-x-_ |        |        |
8781   *
8782   * @see https://developer.mozilla.org/docs/Web/CSS/animation-play-state
8783   */
8784  "animation-play-state"?: AnimationPlayStateProperty;
8785  /**
8786   * The `**animation-timing-function**` CSS property sets how an animation progresses through the duration of each cycle.
8787   *
8788   * **Syntax**: `<timing-function>#`
8789   *
8790   * **Initial value**: `ease`
8791   *
8792   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
8793   * | :-----: | :-----: | :-----: | :----: | :----: |
8794   * | **43**  | **16**  |  **9**  | **12** | **10** |
8795   * | 3 _-x-_ | 5 _-x-_ | 4 _-x-_ |        |        |
8796   *
8797   * @see https://developer.mozilla.org/docs/Web/CSS/animation-timing-function
8798   */
8799  "animation-timing-function"?: AnimationTimingFunctionProperty;
8800  /**
8801   * The **`-moz-appearance`** CSS property is used in Gecko (Firefox) to display an element using platform-native styling based on the operating system's theme.
8802   *
8803   * **Syntax**: `none | auto | button | textfield | menulist-button | <compat-auto>`
8804   *
8805   * **Initial value**: `auto`
8806   *
8807   * |   Chrome    |   Firefox   |   Safari    |     Edge     | IE  |
8808   * | :---------: | :---------: | :---------: | :----------: | :-: |
8809   * | **1** _-x-_ | **1** _-x-_ | **3** _-x-_ | **12** _-x-_ | No  |
8810   *
8811   * @see https://developer.mozilla.org/docs/Web/CSS/appearance
8812   */
8813  appearance?: AppearanceProperty;
8814  /**
8815   * 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.
8816   *
8817   * **Syntax**: `auto | <ratio>`
8818   *
8819   * **Initial value**: `auto`
8820   *
8821   * | Chrome | Firefox | Safari |  Edge  | IE  |
8822   * | :----: | :-----: | :----: | :----: | :-: |
8823   * | **79** | **71**  |   No   | **79** | No  |
8824   *
8825   * @see https://developer.mozilla.org/docs/Web/CSS/aspect-ratio
8826   */
8827  "aspect-ratio"?: AspectRatioProperty;
8828  /**
8829   * 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.
8830   *
8831   * **Syntax**: `none | <filter-function-list>`
8832   *
8833   * **Initial value**: `none`
8834   *
8835   * | Chrome | Firefox |   Safari    |  Edge  | IE  |
8836   * | :----: | :-----: | :---------: | :----: | :-: |
8837   * | **76** |   n/a   | **9** _-x-_ | **17** | No  |
8838   *
8839   * @see https://developer.mozilla.org/docs/Web/CSS/backdrop-filter
8840   */
8841  "backdrop-filter"?: BackdropFilterProperty;
8842  /**
8843   * The **`backface-visibility`** CSS property sets whether the back face of an element is visible when turned towards the user.
8844   *
8845   * **Syntax**: `visible | hidden`
8846   *
8847   * **Initial value**: `visible`
8848   *
8849   * |  Chrome  | Firefox  |    Safari     |  Edge  |   IE   |
8850   * | :------: | :------: | :-----------: | :----: | :----: |
8851   * |  **36**  |  **16**  | **5.1** _-x-_ | **12** | **10** |
8852   * | 12 _-x-_ | 10 _-x-_ |               |        |        |
8853   *
8854   * @see https://developer.mozilla.org/docs/Web/CSS/backface-visibility
8855   */
8856  "backface-visibility"?: BackfaceVisibilityProperty;
8857  /**
8858   * The **`background-attachment`** CSS property sets whether a background image's position is fixed within the viewport, or scrolls with its containing block.
8859   *
8860   * **Syntax**: `<attachment>#`
8861   *
8862   * **Initial value**: `scroll`
8863   *
8864   * | Chrome | Firefox | Safari |  Edge  |  IE   |
8865   * | :----: | :-----: | :----: | :----: | :---: |
8866   * | **1**  |  **1**  | **1**  | **12** | **4** |
8867   *
8868   * @see https://developer.mozilla.org/docs/Web/CSS/background-attachment
8869   */
8870  "background-attachment"?: BackgroundAttachmentProperty;
8871  /**
8872   * 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.
8873   *
8874   * **Syntax**: `<blend-mode>#`
8875   *
8876   * **Initial value**: `normal`
8877   *
8878   * | Chrome | Firefox | Safari |  Edge  | IE  |
8879   * | :----: | :-----: | :----: | :----: | :-: |
8880   * | **35** | **30**  | **8**  | **79** | No  |
8881   *
8882   * @see https://developer.mozilla.org/docs/Web/CSS/background-blend-mode
8883   */
8884  "background-blend-mode"?: BackgroundBlendModeProperty;
8885  /**
8886   * The **`background-clip`** CSS property sets whether an element's background `<color>` or `<image>` extends underneath its border.
8887   *
8888   * **Syntax**: `<box>#`
8889   *
8890   * **Initial value**: `border-box`
8891   *
8892   * | Chrome | Firefox |   Safari    |  Edge  |  IE   |
8893   * | :----: | :-----: | :---------: | :----: | :---: |
8894   * | **1**  |  **4**  | **3** _-x-_ | **12** | **9** |
8895   *
8896   * @see https://developer.mozilla.org/docs/Web/CSS/background-clip
8897   */
8898  "background-clip"?: BackgroundClipProperty;
8899  /**
8900   * The **`background-color`** CSS property sets the background color of an element.
8901   *
8902   * **Syntax**: `<color>`
8903   *
8904   * **Initial value**: `transparent`
8905   *
8906   * | Chrome | Firefox | Safari |  Edge  |  IE   |
8907   * | :----: | :-----: | :----: | :----: | :---: |
8908   * | **1**  |  **1**  | **1**  | **12** | **4** |
8909   *
8910   * @see https://developer.mozilla.org/docs/Web/CSS/background-color
8911   */
8912  "background-color"?: BackgroundColorProperty;
8913  /**
8914   * The **`background-image`** CSS property sets one or more background images on an element.
8915   *
8916   * **Syntax**: `<bg-image>#`
8917   *
8918   * **Initial value**: `none`
8919   *
8920   * | Chrome | Firefox | Safari |  Edge  |  IE   |
8921   * | :----: | :-----: | :----: | :----: | :---: |
8922   * | **1**  |  **1**  | **1**  | **12** | **4** |
8923   *
8924   * @see https://developer.mozilla.org/docs/Web/CSS/background-image
8925   */
8926  "background-image"?: BackgroundImageProperty;
8927  /**
8928   * The **`background-origin`** CSS property sets the _background positioning area_. In other words, it sets the origin position of an image set with the `background-image` property.
8929   *
8930   * **Syntax**: `<box>#`
8931   *
8932   * **Initial value**: `padding-box`
8933   *
8934   * | Chrome | Firefox | Safari |  Edge  |  IE   |
8935   * | :----: | :-----: | :----: | :----: | :---: |
8936   * | **1**  |  **4**  | **3**  | **12** | **9** |
8937   *
8938   * @see https://developer.mozilla.org/docs/Web/CSS/background-origin
8939   */
8940  "background-origin"?: BackgroundOriginProperty;
8941  /**
8942   * 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`.
8943   *
8944   * **Syntax**: `<bg-position>#`
8945   *
8946   * **Initial value**: `0% 0%`
8947   *
8948   * | Chrome | Firefox | Safari |  Edge  |  IE   |
8949   * | :----: | :-----: | :----: | :----: | :---: |
8950   * | **1**  |  **1**  | **1**  | **12** | **4** |
8951   *
8952   * @see https://developer.mozilla.org/docs/Web/CSS/background-position
8953   */
8954  "background-position"?: BackgroundPositionProperty<TLength>;
8955  /**
8956   * 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`.
8957   *
8958   * **Syntax**: `[ center | [ [ left | right | x-start | x-end ]? <length-percentage>? ]! ]#`
8959   *
8960   * **Initial value**: `left`
8961   *
8962   * | Chrome | Firefox | Safari |  Edge  |  IE   |
8963   * | :----: | :-----: | :----: | :----: | :---: |
8964   * | **1**  | **49**  | **1**  | **12** | **6** |
8965   *
8966   * @see https://developer.mozilla.org/docs/Web/CSS/background-position-x
8967   */
8968  "background-position-x"?: BackgroundPositionXProperty<TLength>;
8969  /**
8970   * The **`background-position-y`** CSS property sets the initial vertical position, relative to the background position layer defined by `background-origin`, for each defined background image.
8971   *
8972   * **Syntax**: `[ center | [ [ top | bottom | y-start | y-end ]? <length-percentage>? ]! ]#`
8973   *
8974   * **Initial value**: `top`
8975   *
8976   * | Chrome | Firefox | Safari |  Edge  |  IE   |
8977   * | :----: | :-----: | :----: | :----: | :---: |
8978   * | **1**  | **49**  | **1**  | **12** | **6** |
8979   *
8980   * @see https://developer.mozilla.org/docs/Web/CSS/background-position-y
8981   */
8982  "background-position-y"?: BackgroundPositionYProperty<TLength>;
8983  /**
8984   * 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.
8985   *
8986   * **Syntax**: `<repeat-style>#`
8987   *
8988   * **Initial value**: `repeat`
8989   *
8990   * | Chrome | Firefox | Safari |  Edge  |  IE   |
8991   * | :----: | :-----: | :----: | :----: | :---: |
8992   * | **1**  |  **1**  | **1**  | **12** | **4** |
8993   *
8994   * @see https://developer.mozilla.org/docs/Web/CSS/background-repeat
8995   */
8996  "background-repeat"?: BackgroundRepeatProperty;
8997  /**
8998   * 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.
8999   *
9000   * **Syntax**: `<bg-size>#`
9001   *
9002   * **Initial value**: `auto auto`
9003   *
9004   * | Chrome  | Firefox | Safari  |  Edge  |  IE   |
9005   * | :-----: | :-----: | :-----: | :----: | :---: |
9006   * |  **3**  |  **4**  |  **5**  | **12** | **9** |
9007   * | 1 _-x-_ |         | 3 _-x-_ |        |       |
9008   *
9009   * @see https://developer.mozilla.org/docs/Web/CSS/background-size
9010   */
9011  "background-size"?: BackgroundSizeProperty<TLength>;
9012  /**
9013   * **Syntax**: `clip | ellipsis | <string>`
9014   *
9015   * **Initial value**: `clip`
9016   */
9017  "block-overflow"?: BlockOverflowProperty;
9018  /**
9019   * 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`.
9020   *
9021   * **Syntax**: `<'width'>`
9022   *
9023   * **Initial value**: `auto`
9024   *
9025   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
9026   * | :----: | :-----: | :------: | :----: | :-: |
9027   * | **57** | **41**  | **12.1** | **79** | No  |
9028   *
9029   * @see https://developer.mozilla.org/docs/Web/CSS/block-size
9030   */
9031  "block-size"?: BlockSizeProperty<TLength>;
9032  /**
9033   * 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`.
9034   *
9035   * **Syntax**: `<'border-top-color'>{1,2}`
9036   *
9037   * **Initial value**: `currentcolor`
9038   *
9039   * | Chrome | Firefox | Safari | Edge | IE  |
9040   * | :----: | :-----: | :----: | :--: | :-: |
9041   * |  n/a   | **66**  |   No   | n/a  | No  |
9042   *
9043   * @see https://developer.mozilla.org/docs/Web/CSS/border-block-color
9044   */
9045  "border-block-color"?: BorderBlockColorProperty;
9046  /**
9047   * 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`.
9048   *
9049   * **Syntax**: `<'border-top-color'>`
9050   *
9051   * **Initial value**: `currentcolor`
9052   *
9053   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
9054   * | :----: | :-----: | :------: | :----: | :-: |
9055   * | **69** | **41**  | **12.1** | **79** | No  |
9056   *
9057   * @see https://developer.mozilla.org/docs/Web/CSS/border-block-end-color
9058   */
9059  "border-block-end-color"?: BorderBlockEndColorProperty;
9060  /**
9061   * 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`.
9062   *
9063   * **Syntax**: `<'border-top-style'>`
9064   *
9065   * **Initial value**: `none`
9066   *
9067   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
9068   * | :----: | :-----: | :------: | :----: | :-: |
9069   * | **69** | **41**  | **12.1** | **79** | No  |
9070   *
9071   * @see https://developer.mozilla.org/docs/Web/CSS/border-block-end-style
9072   */
9073  "border-block-end-style"?: BorderBlockEndStyleProperty;
9074  /**
9075   * 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`.
9076   *
9077   * **Syntax**: `<'border-top-width'>`
9078   *
9079   * **Initial value**: `medium`
9080   *
9081   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
9082   * | :----: | :-----: | :------: | :----: | :-: |
9083   * | **69** | **41**  | **12.1** | **79** | No  |
9084   *
9085   * @see https://developer.mozilla.org/docs/Web/CSS/border-block-end-width
9086   */
9087  "border-block-end-width"?: BorderBlockEndWidthProperty<TLength>;
9088  /**
9089   * 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`.
9090   *
9091   * **Syntax**: `<'border-top-color'>`
9092   *
9093   * **Initial value**: `currentcolor`
9094   *
9095   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
9096   * | :----: | :-----: | :------: | :----: | :-: |
9097   * | **69** | **41**  | **12.1** | **79** | No  |
9098   *
9099   * @see https://developer.mozilla.org/docs/Web/CSS/border-block-start-color
9100   */
9101  "border-block-start-color"?: BorderBlockStartColorProperty;
9102  /**
9103   * 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`.
9104   *
9105   * **Syntax**: `<'border-top-style'>`
9106   *
9107   * **Initial value**: `none`
9108   *
9109   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
9110   * | :----: | :-----: | :------: | :----: | :-: |
9111   * | **69** | **41**  | **12.1** | **79** | No  |
9112   *
9113   * @see https://developer.mozilla.org/docs/Web/CSS/border-block-start-style
9114   */
9115  "border-block-start-style"?: BorderBlockStartStyleProperty;
9116  /**
9117   * 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`.
9118   *
9119   * **Syntax**: `<'border-top-width'>`
9120   *
9121   * **Initial value**: `medium`
9122   *
9123   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
9124   * | :----: | :-----: | :------: | :----: | :-: |
9125   * | **69** | **41**  | **12.1** | **79** | No  |
9126   *
9127   * @see https://developer.mozilla.org/docs/Web/CSS/border-block-start-width
9128   */
9129  "border-block-start-width"?: BorderBlockStartWidthProperty<TLength>;
9130  /**
9131   * 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`.
9132   *
9133   * **Syntax**: `<'border-top-style'>`
9134   *
9135   * **Initial value**: `none`
9136   *
9137   * | Chrome | Firefox | Safari |  Edge  | IE  |
9138   * | :----: | :-----: | :----: | :----: | :-: |
9139   * | **69** | **66**  |   No   | **79** | No  |
9140   *
9141   * @see https://developer.mozilla.org/docs/Web/CSS/border-block-style
9142   */
9143  "border-block-style"?: BorderBlockStyleProperty;
9144  /**
9145   * 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`.
9146   *
9147   * **Syntax**: `<'border-top-width'>`
9148   *
9149   * **Initial value**: `medium`
9150   *
9151   * | Chrome | Firefox | Safari |  Edge  | IE  |
9152   * | :----: | :-----: | :----: | :----: | :-: |
9153   * | **69** | **66**  |   No   | **79** | No  |
9154   *
9155   * @see https://developer.mozilla.org/docs/Web/CSS/border-block-width
9156   */
9157  "border-block-width"?: BorderBlockWidthProperty<TLength>;
9158  /**
9159   * 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`.
9160   *
9161   * **Syntax**: `<'border-top-color'>`
9162   *
9163   * **Initial value**: `currentcolor`
9164   *
9165   * | Chrome | Firefox | Safari |  Edge  |  IE   |
9166   * | :----: | :-----: | :----: | :----: | :---: |
9167   * | **1**  |  **1**  | **1**  | **12** | **4** |
9168   *
9169   * @see https://developer.mozilla.org/docs/Web/CSS/border-bottom-color
9170   */
9171  "border-bottom-color"?: BorderBottomColorProperty;
9172  /**
9173   * The **`border-bottom-left-radius`** CSS property rounds the bottom-left corner of an element.
9174   *
9175   * **Syntax**: `<length-percentage>{1,2}`
9176   *
9177   * **Initial value**: `0`
9178   *
9179   * | Chrome  | Firefox | Safari  |  Edge  |  IE   |
9180   * | :-----: | :-----: | :-----: | :----: | :---: |
9181   * |  **4**  |  **4**  |  **5**  | **12** | **9** |
9182   * | 1 _-x-_ |         | 3 _-x-_ |        |       |
9183   *
9184   * @see https://developer.mozilla.org/docs/Web/CSS/border-bottom-left-radius
9185   */
9186  "border-bottom-left-radius"?: BorderBottomLeftRadiusProperty<TLength>;
9187  /**
9188   * The **`border-bottom-right-radius`** CSS property rounds the bottom-right corner of an element.
9189   *
9190   * **Syntax**: `<length-percentage>{1,2}`
9191   *
9192   * **Initial value**: `0`
9193   *
9194   * | Chrome  | Firefox | Safari  |  Edge  |  IE   |
9195   * | :-----: | :-----: | :-----: | :----: | :---: |
9196   * |  **4**  |  **4**  |  **5**  | **12** | **9** |
9197   * | 1 _-x-_ |         | 3 _-x-_ |        |       |
9198   *
9199   * @see https://developer.mozilla.org/docs/Web/CSS/border-bottom-right-radius
9200   */
9201  "border-bottom-right-radius"?: BorderBottomRightRadiusProperty<TLength>;
9202  /**
9203   * The **`border-bottom-style`** CSS property sets the line style of an element's bottom `border`.
9204   *
9205   * **Syntax**: `<line-style>`
9206   *
9207   * **Initial value**: `none`
9208   *
9209   * | Chrome | Firefox | Safari |  Edge  |   IE    |
9210   * | :----: | :-----: | :----: | :----: | :-----: |
9211   * | **1**  |  **1**  | **1**  | **12** | **5.5** |
9212   *
9213   * @see https://developer.mozilla.org/docs/Web/CSS/border-bottom-style
9214   */
9215  "border-bottom-style"?: BorderBottomStyleProperty;
9216  /**
9217   * The **`border-bottom-width`** CSS property sets the width of the bottom border of a box.
9218   *
9219   * **Syntax**: `<line-width>`
9220   *
9221   * **Initial value**: `medium`
9222   *
9223   * | Chrome | Firefox | Safari |  Edge  |  IE   |
9224   * | :----: | :-----: | :----: | :----: | :---: |
9225   * | **1**  |  **1**  | **1**  | **12** | **4** |
9226   *
9227   * @see https://developer.mozilla.org/docs/Web/CSS/border-bottom-width
9228   */
9229  "border-bottom-width"?: BorderBottomWidthProperty<TLength>;
9230  /**
9231   * The **`border-collapse`** CSS property sets whether cells inside a `<table>` have shared or separate borders.
9232   *
9233   * **Syntax**: `collapse | separate`
9234   *
9235   * **Initial value**: `separate`
9236   *
9237   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
9238   * | :----: | :-----: | :-----: | :----: | :---: |
9239   * | **1**  |  **1**  | **1.2** | **12** | **5** |
9240   *
9241   * @see https://developer.mozilla.org/docs/Web/CSS/border-collapse
9242   */
9243  "border-collapse"?: BorderCollapseProperty;
9244  /**
9245   * 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 on the element's `writing-mode`, `direction`, and `text-orientation`.
9246   *
9247   * **Syntax**: `<length-percentage>{1,2}`
9248   *
9249   * **Initial value**: `0`
9250   *
9251   * | Chrome | Firefox | Safari | Edge | IE  |
9252   * | :----: | :-----: | :----: | :--: | :-: |
9253   * |   No   | **66**  |   No   |  No  | No  |
9254   *
9255   * @see https://developer.mozilla.org/docs/Web/CSS/border-end-end-radius
9256   */
9257  "border-end-end-radius"?: BorderEndEndRadiusProperty<TLength>;
9258  /**
9259   * 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`.
9260   *
9261   * **Syntax**: `<length-percentage>{1,2}`
9262   *
9263   * **Initial value**: `0`
9264   *
9265   * | Chrome | Firefox | Safari | Edge | IE  |
9266   * | :----: | :-----: | :----: | :--: | :-: |
9267   * |   No   | **66**  |   No   |  No  | No  |
9268   *
9269   * @see https://developer.mozilla.org/docs/Web/CSS/border-end-start-radius
9270   */
9271  "border-end-start-radius"?: BorderEndStartRadiusProperty<TLength>;
9272  /**
9273   * The **`border-image-outset`** CSS property sets the distance by which an element's border image is set out from its border box.
9274   *
9275   * **Syntax**: `[ <length> | <number> ]{1,4}`
9276   *
9277   * **Initial value**: `0`
9278   *
9279   * | Chrome | Firefox | Safari |  Edge  |   IE   |
9280   * | :----: | :-----: | :----: | :----: | :----: |
9281   * | **15** | **15**  | **6**  | **12** | **11** |
9282   *
9283   * @see https://developer.mozilla.org/docs/Web/CSS/border-image-outset
9284   */
9285  "border-image-outset"?: BorderImageOutsetProperty<TLength>;
9286  /**
9287   * 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.
9288   *
9289   * **Syntax**: `[ stretch | repeat | round | space ]{1,2}`
9290   *
9291   * **Initial value**: `stretch`
9292   *
9293   * | Chrome | Firefox | Safari |  Edge  |   IE   |
9294   * | :----: | :-----: | :----: | :----: | :----: |
9295   * | **15** | **15**  | **6**  | **12** | **11** |
9296   *
9297   * @see https://developer.mozilla.org/docs/Web/CSS/border-image-repeat
9298   */
9299  "border-image-repeat"?: BorderImageRepeatProperty;
9300  /**
9301   * 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.
9302   *
9303   * **Syntax**: `<number-percentage>{1,4} && fill?`
9304   *
9305   * **Initial value**: `100%`
9306   *
9307   * | Chrome | Firefox | Safari |  Edge  |   IE   |
9308   * | :----: | :-----: | :----: | :----: | :----: |
9309   * | **15** | **15**  | **6**  | **12** | **11** |
9310   *
9311   * @see https://developer.mozilla.org/docs/Web/CSS/border-image-slice
9312   */
9313  "border-image-slice"?: BorderImageSliceProperty;
9314  /**
9315   * The **`border-image-source`** CSS property sets the source image used to create an element's border image.
9316   *
9317   * **Syntax**: `none | <image>`
9318   *
9319   * **Initial value**: `none`
9320   *
9321   * | Chrome | Firefox | Safari |  Edge  |   IE   |
9322   * | :----: | :-----: | :----: | :----: | :----: |
9323   * | **15** | **15**  | **6**  | **12** | **11** |
9324   *
9325   * @see https://developer.mozilla.org/docs/Web/CSS/border-image-source
9326   */
9327  "border-image-source"?: BorderImageSourceProperty;
9328  /**
9329   * The **`border-image-width`** CSS property sets the width of an element's border image.
9330   *
9331   * **Syntax**: `[ <length-percentage> | <number> | auto ]{1,4}`
9332   *
9333   * **Initial value**: `1`
9334   *
9335   * | Chrome | Firefox | Safari |  Edge  |   IE   |
9336   * | :----: | :-----: | :----: | :----: | :----: |
9337   * | **15** | **13**  | **6**  | **12** | **11** |
9338   *
9339   * @see https://developer.mozilla.org/docs/Web/CSS/border-image-width
9340   */
9341  "border-image-width"?: BorderImageWidthProperty<TLength>;
9342  /**
9343   * 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`.
9344   *
9345   * **Syntax**: `<'border-top-color'>{1,2}`
9346   *
9347   * **Initial value**: `currentcolor`
9348   *
9349   * | Chrome | Firefox | Safari |  Edge  | IE  |
9350   * | :----: | :-----: | :----: | :----: | :-: |
9351   * | **69** | **66**  |   No   | **79** | No  |
9352   *
9353   * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-color
9354   */
9355  "border-inline-color"?: BorderInlineColorProperty;
9356  /**
9357   * 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`.
9358   *
9359   * **Syntax**: `<'border-top-color'>`
9360   *
9361   * **Initial value**: `currentcolor`
9362   *
9363   * | Chrome |           Firefox           |  Safari  |  Edge  | IE  |
9364   * | :----: | :-------------------------: | :------: | :----: | :-: |
9365   * | **69** |           **41**            | **12.1** | **79** | No  |
9366   * |        | 3 _(-moz-border-end-color)_ |          |        |     |
9367   *
9368   * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-end-color
9369   */
9370  "border-inline-end-color"?: BorderInlineEndColorProperty;
9371  /**
9372   * 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`.
9373   *
9374   * **Syntax**: `<'border-top-style'>`
9375   *
9376   * **Initial value**: `none`
9377   *
9378   * | Chrome |           Firefox           |  Safari  |  Edge  | IE  |
9379   * | :----: | :-------------------------: | :------: | :----: | :-: |
9380   * | **69** |           **41**            | **12.1** | **79** | No  |
9381   * |        | 3 _(-moz-border-end-style)_ |          |        |     |
9382   *
9383   * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-end-style
9384   */
9385  "border-inline-end-style"?: BorderInlineEndStyleProperty;
9386  /**
9387   * 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`.
9388   *
9389   * **Syntax**: `<'border-top-width'>`
9390   *
9391   * **Initial value**: `medium`
9392   *
9393   * | Chrome |           Firefox           |  Safari  |  Edge  | IE  |
9394   * | :----: | :-------------------------: | :------: | :----: | :-: |
9395   * | **69** |           **41**            | **12.1** | **79** | No  |
9396   * |        | 3 _(-moz-border-end-width)_ |          |        |     |
9397   *
9398   * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-end-width
9399   */
9400  "border-inline-end-width"?: BorderInlineEndWidthProperty<TLength>;
9401  /**
9402   * 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`.
9403   *
9404   * **Syntax**: `<'border-top-color'>`
9405   *
9406   * **Initial value**: `currentcolor`
9407   *
9408   * | Chrome |            Firefox            |  Safari  |  Edge  | IE  |
9409   * | :----: | :---------------------------: | :------: | :----: | :-: |
9410   * | **69** |            **41**             | **12.1** | **79** | No  |
9411   * |        | 3 _(-moz-border-start-color)_ |          |        |     |
9412   *
9413   * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-start-color
9414   */
9415  "border-inline-start-color"?: BorderInlineStartColorProperty;
9416  /**
9417   * 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`.
9418   *
9419   * **Syntax**: `<'border-top-style'>`
9420   *
9421   * **Initial value**: `none`
9422   *
9423   * | Chrome |            Firefox            |  Safari  |  Edge  | IE  |
9424   * | :----: | :---------------------------: | :------: | :----: | :-: |
9425   * | **69** |            **41**             | **12.1** | **79** | No  |
9426   * |        | 3 _(-moz-border-start-style)_ |          |        |     |
9427   *
9428   * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-start-style
9429   */
9430  "border-inline-start-style"?: BorderInlineStartStyleProperty;
9431  /**
9432   * 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`.
9433   *
9434   * **Syntax**: `<'border-top-width'>`
9435   *
9436   * **Initial value**: `medium`
9437   *
9438   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
9439   * | :----: | :-----: | :------: | :----: | :-: |
9440   * | **69** | **41**  | **12.1** | **79** | No  |
9441   *
9442   * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-start-width
9443   */
9444  "border-inline-start-width"?: BorderInlineStartWidthProperty<TLength>;
9445  /**
9446   * 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`.
9447   *
9448   * **Syntax**: `<'border-top-style'>`
9449   *
9450   * **Initial value**: `none`
9451   *
9452   * | Chrome | Firefox | Safari |  Edge  | IE  |
9453   * | :----: | :-----: | :----: | :----: | :-: |
9454   * | **69** | **66**  |   No   | **79** | No  |
9455   *
9456   * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-style
9457   */
9458  "border-inline-style"?: BorderInlineStyleProperty;
9459  /**
9460   * 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`.
9461   *
9462   * **Syntax**: `<'border-top-width'>`
9463   *
9464   * **Initial value**: `medium`
9465   *
9466   * | Chrome | Firefox | Safari |  Edge  | IE  |
9467   * | :----: | :-----: | :----: | :----: | :-: |
9468   * | **69** | **66**  |   No   | **79** | No  |
9469   *
9470   * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-width
9471   */
9472  "border-inline-width"?: BorderInlineWidthProperty<TLength>;
9473  /**
9474   * 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`.
9475   *
9476   * **Syntax**: `<color>`
9477   *
9478   * **Initial value**: `currentcolor`
9479   *
9480   * | Chrome | Firefox | Safari |  Edge  |  IE   |
9481   * | :----: | :-----: | :----: | :----: | :---: |
9482   * | **1**  |  **1**  | **1**  | **12** | **4** |
9483   *
9484   * @see https://developer.mozilla.org/docs/Web/CSS/border-left-color
9485   */
9486  "border-left-color"?: BorderLeftColorProperty;
9487  /**
9488   * The **`border-left-style`** CSS property sets the line style of an element's left `border`.
9489   *
9490   * **Syntax**: `<line-style>`
9491   *
9492   * **Initial value**: `none`
9493   *
9494   * | Chrome | Firefox | Safari |  Edge  |   IE    |
9495   * | :----: | :-----: | :----: | :----: | :-----: |
9496   * | **1**  |  **1**  | **1**  | **12** | **5.5** |
9497   *
9498   * @see https://developer.mozilla.org/docs/Web/CSS/border-left-style
9499   */
9500  "border-left-style"?: BorderLeftStyleProperty;
9501  /**
9502   * The **`border-left-width`** CSS property sets the width of the left border of an element.
9503   *
9504   * **Syntax**: `<line-width>`
9505   *
9506   * **Initial value**: `medium`
9507   *
9508   * | Chrome | Firefox | Safari |  Edge  |  IE   |
9509   * | :----: | :-----: | :----: | :----: | :---: |
9510   * | **1**  |  **1**  | **1**  | **12** | **4** |
9511   *
9512   * @see https://developer.mozilla.org/docs/Web/CSS/border-left-width
9513   */
9514  "border-left-width"?: BorderLeftWidthProperty<TLength>;
9515  /**
9516   * 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`.
9517   *
9518   * **Syntax**: `<color>`
9519   *
9520   * **Initial value**: `currentcolor`
9521   *
9522   * | Chrome | Firefox | Safari |  Edge  |  IE   |
9523   * | :----: | :-----: | :----: | :----: | :---: |
9524   * | **1**  |  **1**  | **1**  | **12** | **4** |
9525   *
9526   * @see https://developer.mozilla.org/docs/Web/CSS/border-right-color
9527   */
9528  "border-right-color"?: BorderRightColorProperty;
9529  /**
9530   * The **`border-right-style`** CSS property sets the line style of an element's right `border`.
9531   *
9532   * **Syntax**: `<line-style>`
9533   *
9534   * **Initial value**: `none`
9535   *
9536   * | Chrome | Firefox | Safari |  Edge  |   IE    |
9537   * | :----: | :-----: | :----: | :----: | :-----: |
9538   * | **1**  |  **1**  | **1**  | **12** | **5.5** |
9539   *
9540   * @see https://developer.mozilla.org/docs/Web/CSS/border-right-style
9541   */
9542  "border-right-style"?: BorderRightStyleProperty;
9543  /**
9544   * The **`border-right-width`** CSS property sets the width of the right border of an element.
9545   *
9546   * **Syntax**: `<line-width>`
9547   *
9548   * **Initial value**: `medium`
9549   *
9550   * | Chrome | Firefox | Safari |  Edge  |  IE   |
9551   * | :----: | :-----: | :----: | :----: | :---: |
9552   * | **1**  |  **1**  | **1**  | **12** | **4** |
9553   *
9554   * @see https://developer.mozilla.org/docs/Web/CSS/border-right-width
9555   */
9556  "border-right-width"?: BorderRightWidthProperty<TLength>;
9557  /**
9558   * The **`border-spacing`** CSS property sets the distance between the borders of adjacent `<table>` cells. This property applies only when `border-collapse` is `separate`.
9559   *
9560   * **Syntax**: `<length> <length>?`
9561   *
9562   * **Initial value**: `0`
9563   *
9564   * | Chrome | Firefox | Safari |  Edge  |  IE   |
9565   * | :----: | :-----: | :----: | :----: | :---: |
9566   * | **1**  |  **1**  | **1**  | **12** | **8** |
9567   *
9568   * @see https://developer.mozilla.org/docs/Web/CSS/border-spacing
9569   */
9570  "border-spacing"?: BorderSpacingProperty<TLength>;
9571  /**
9572   * 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`.
9573   *
9574   * **Syntax**: `<length-percentage>{1,2}`
9575   *
9576   * **Initial value**: `0`
9577   *
9578   * | Chrome | Firefox | Safari | Edge | IE  |
9579   * | :----: | :-----: | :----: | :--: | :-: |
9580   * |   No   | **66**  |   No   |  No  | No  |
9581   *
9582   * @see https://developer.mozilla.org/docs/Web/CSS/border-start-end-radius
9583   */
9584  "border-start-end-radius"?: BorderStartEndRadiusProperty<TLength>;
9585  /**
9586   * 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`.
9587   *
9588   * **Syntax**: `<length-percentage>{1,2}`
9589   *
9590   * **Initial value**: `0`
9591   *
9592   * | Chrome | Firefox | Safari | Edge | IE  |
9593   * | :----: | :-----: | :----: | :--: | :-: |
9594   * |   No   | **66**  |   No   |  No  | No  |
9595   *
9596   * @see https://developer.mozilla.org/docs/Web/CSS/border-start-start-radius
9597   */
9598  "border-start-start-radius"?: BorderStartStartRadiusProperty<TLength>;
9599  /**
9600   * 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`.
9601   *
9602   * **Syntax**: `<color>`
9603   *
9604   * **Initial value**: `currentcolor`
9605   *
9606   * | Chrome | Firefox | Safari |  Edge  |  IE   |
9607   * | :----: | :-----: | :----: | :----: | :---: |
9608   * | **1**  |  **1**  | **1**  | **12** | **4** |
9609   *
9610   * @see https://developer.mozilla.org/docs/Web/CSS/border-top-color
9611   */
9612  "border-top-color"?: BorderTopColorProperty;
9613  /**
9614   * The **`border-top-left-radius`** CSS property rounds the top-left corner of an element.
9615   *
9616   * **Syntax**: `<length-percentage>{1,2}`
9617   *
9618   * **Initial value**: `0`
9619   *
9620   * | Chrome  | Firefox | Safari  |  Edge  |  IE   |
9621   * | :-----: | :-----: | :-----: | :----: | :---: |
9622   * |  **4**  |  **4**  |  **5**  | **12** | **9** |
9623   * | 1 _-x-_ |         | 3 _-x-_ |        |       |
9624   *
9625   * @see https://developer.mozilla.org/docs/Web/CSS/border-top-left-radius
9626   */
9627  "border-top-left-radius"?: BorderTopLeftRadiusProperty<TLength>;
9628  /**
9629   * The **`border-top-right-radius`** CSS property rounds the top-right corner of an element.
9630   *
9631   * **Syntax**: `<length-percentage>{1,2}`
9632   *
9633   * **Initial value**: `0`
9634   *
9635   * | Chrome  | Firefox | Safari  |  Edge  |  IE   |
9636   * | :-----: | :-----: | :-----: | :----: | :---: |
9637   * |  **4**  |  **4**  |  **5**  | **12** | **9** |
9638   * | 1 _-x-_ |         | 3 _-x-_ |        |       |
9639   *
9640   * @see https://developer.mozilla.org/docs/Web/CSS/border-top-right-radius
9641   */
9642  "border-top-right-radius"?: BorderTopRightRadiusProperty<TLength>;
9643  /**
9644   * The **`border-top-style`** CSS property sets the line style of an element's top `border`.
9645   *
9646   * **Syntax**: `<line-style>`
9647   *
9648   * **Initial value**: `none`
9649   *
9650   * | Chrome | Firefox | Safari |  Edge  |   IE    |
9651   * | :----: | :-----: | :----: | :----: | :-----: |
9652   * | **1**  |  **1**  | **1**  | **12** | **5.5** |
9653   *
9654   * @see https://developer.mozilla.org/docs/Web/CSS/border-top-style
9655   */
9656  "border-top-style"?: BorderTopStyleProperty;
9657  /**
9658   * The **`border-top-width`** CSS property sets the width of the top border of an element.
9659   *
9660   * **Syntax**: `<line-width>`
9661   *
9662   * **Initial value**: `medium`
9663   *
9664   * | Chrome | Firefox | Safari |  Edge  |  IE   |
9665   * | :----: | :-----: | :----: | :----: | :---: |
9666   * | **1**  |  **1**  | **1**  | **12** | **4** |
9667   *
9668   * @see https://developer.mozilla.org/docs/Web/CSS/border-top-width
9669   */
9670  "border-top-width"?: BorderTopWidthProperty<TLength>;
9671  /**
9672   * The **`bottom`** CSS property participates in specifying the vertical position of a _positioned element_. It has no effect on non-positioned elements.
9673   *
9674   * **Syntax**: `<length> | <percentage> | auto`
9675   *
9676   * **Initial value**: `auto`
9677   *
9678   * | Chrome | Firefox | Safari |  Edge  |  IE   |
9679   * | :----: | :-----: | :----: | :----: | :---: |
9680   * | **1**  |  **1**  | **1**  | **12** | **5** |
9681   *
9682   * @see https://developer.mozilla.org/docs/Web/CSS/bottom
9683   */
9684  bottom?: BottomProperty<TLength>;
9685  /**
9686   * The **`box-decoration-break`** CSS property specifies how an element's fragments should be rendered when broken across multiple lines, columns, or pages.
9687   *
9688   * **Syntax**: `slice | clone`
9689   *
9690   * **Initial value**: `slice`
9691   *
9692   * |    Chrome    | Firefox |    Safari     |     Edge     | IE  |
9693   * | :----------: | :-----: | :-----------: | :----------: | :-: |
9694   * | **22** _-x-_ | **32**  | **6.1** _-x-_ | **79** _-x-_ | No  |
9695   *
9696   * @see https://developer.mozilla.org/docs/Web/CSS/box-decoration-break
9697   */
9698  "box-decoration-break"?: BoxDecorationBreakProperty;
9699  /**
9700   * 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 radii, and color.
9701   *
9702   * **Syntax**: `none | <shadow>#`
9703   *
9704   * **Initial value**: `none`
9705   *
9706   * | Chrome  | Firefox | Safari  |  Edge  |  IE   |
9707   * | :-----: | :-----: | :-----: | :----: | :---: |
9708   * | **10**  |  **4**  | **5.1** | **12** | **9** |
9709   * | 1 _-x-_ |         | 3 _-x-_ |        |       |
9710   *
9711   * @see https://developer.mozilla.org/docs/Web/CSS/box-shadow
9712   */
9713  "box-shadow"?: BoxShadowProperty;
9714  /**
9715   * The **`box-sizing`** CSS property defines how the user agent should calculate the total width and height of an element.
9716   *
9717   * **Syntax**: `content-box | border-box`
9718   *
9719   * **Initial value**: `content-box`
9720   *
9721   * | Chrome  | Firefox | Safari  |  Edge  |  IE   |
9722   * | :-----: | :-----: | :-----: | :----: | :---: |
9723   * | **10**  | **29**  | **5.1** | **12** | **8** |
9724   * | 1 _-x-_ | 1 _-x-_ | 3 _-x-_ |        |       |
9725   *
9726   * @see https://developer.mozilla.org/docs/Web/CSS/box-sizing
9727   */
9728  "box-sizing"?: BoxSizingProperty;
9729  /**
9730   * The **`break-after`** CSS property defines how page, column, or region breaks should behave after a generated box. If there is no generated box, the property is ignored.
9731   *
9732   * **Syntax**: `auto | avoid | always | all | avoid-page | page | left | right | recto | verso | avoid-column | column | avoid-region | region`
9733   *
9734   * **Initial value**: `auto`
9735   *
9736   * ---
9737   *
9738   * _Supported in Multi-column Layout_
9739   *
9740   * | Chrome | Firefox | Safari |  Edge  |   IE   |
9741   * | :----: | :-----: | :----: | :----: | :----: |
9742   * | **50** |   No    |   No   | **12** | **10** |
9743   *
9744   * ---
9745   *
9746   * _Supported in Paged Media_
9747   *
9748   * | Chrome | Firefox | Safari |  Edge  |   IE   |
9749   * | :----: | :-----: | :----: | :----: | :----: |
9750   * | **50** | **65**  | **10** | **12** | **10** |
9751   *
9752   * ---
9753   *
9754   * _Supported in CSS Regions_
9755   *
9756   * | Chrome | Firefox | Safari | Edge | IE  |
9757   * | :----: | :-----: | :----: | :--: | :-: |
9758   * |   No   |   No    |   No   |  No  | No  |
9759   *
9760   * ---
9761   *
9762   * @see https://developer.mozilla.org/docs/Web/CSS/break-after
9763   */
9764  "break-after"?: BreakAfterProperty;
9765  /**
9766   * 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.
9767   *
9768   * **Syntax**: `auto | avoid | always | all | avoid-page | page | left | right | recto | verso | avoid-column | column | avoid-region | region`
9769   *
9770   * **Initial value**: `auto`
9771   *
9772   * ---
9773   *
9774   * _Supported in Multi-column Layout_
9775   *
9776   * | Chrome | Firefox | Safari |  Edge  |   IE   |
9777   * | :----: | :-----: | :----: | :----: | :----: |
9778   * | **50** | **65**  |   No   | **12** | **10** |
9779   *
9780   * ---
9781   *
9782   * _Supported in Paged Media_
9783   *
9784   * | Chrome | Firefox | Safari |  Edge  |   IE   |
9785   * | :----: | :-----: | :----: | :----: | :----: |
9786   * | **50** | **65**  | **10** | **12** | **10** |
9787   *
9788   * ---
9789   *
9790   * _Supported in CSS Regions_
9791   *
9792   * | Chrome | Firefox | Safari | Edge | IE  |
9793   * | :----: | :-----: | :----: | :--: | :-: |
9794   * |   No   |   No    |   No   |  No  | No  |
9795   *
9796   * ---
9797   *
9798   * @see https://developer.mozilla.org/docs/Web/CSS/break-before
9799   */
9800  "break-before"?: BreakBeforeProperty;
9801  /**
9802   * The **`break-inside`** CSS property defines how page, column, or region breaks should behave inside a generated box. If there is no generated box, the property is ignored.
9803   *
9804   * **Syntax**: `auto | avoid | avoid-page | avoid-column | avoid-region`
9805   *
9806   * **Initial value**: `auto`
9807   *
9808   * ---
9809   *
9810   * _Supported in Multi-column Layout_
9811   *
9812   * | Chrome | Firefox | Safari |  Edge  |   IE   |
9813   * | :----: | :-----: | :----: | :----: | :----: |
9814   * | **50** | **65**  | **10** | **12** | **10** |
9815   *
9816   * ---
9817   *
9818   * _Supported in Paged Media_
9819   *
9820   * | Chrome | Firefox | Safari |  Edge  |   IE   |
9821   * | :----: | :-----: | :----: | :----: | :----: |
9822   * | **50** | **65**  | **10** | **12** | **10** |
9823   *
9824   * ---
9825   *
9826   * _Supported in CSS Regions_
9827   *
9828   * | Chrome | Firefox | Safari | Edge | IE  |
9829   * | :----: | :-----: | :----: | :--: | :-: |
9830   * |   No   |   No    |   No   |  No  | No  |
9831   *
9832   * ---
9833   *
9834   * @see https://developer.mozilla.org/docs/Web/CSS/break-inside
9835   */
9836  "break-inside"?: BreakInsideProperty;
9837  /**
9838   * 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.
9839   *
9840   * **Syntax**: `top | bottom | block-start | block-end | inline-start | inline-end`
9841   *
9842   * **Initial value**: `top`
9843   *
9844   * | Chrome | Firefox | Safari |  Edge  |  IE   |
9845   * | :----: | :-----: | :----: | :----: | :---: |
9846   * | **1**  |  **1**  | **1**  | **12** | **8** |
9847   *
9848   * @see https://developer.mozilla.org/docs/Web/CSS/caption-side
9849   */
9850  "caption-side"?: CaptionSideProperty;
9851  /**
9852   * The **`caret-color`** CSS property sets the color of the insertion caret, the visible marker where the next character typed will be inserted. 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.
9853   *
9854   * **Syntax**: `auto | <color>`
9855   *
9856   * **Initial value**: `auto`
9857   *
9858   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
9859   * | :----: | :-----: | :------: | :----: | :-: |
9860   * | **57** | **53**  | **11.1** | **79** | No  |
9861   *
9862   * @see https://developer.mozilla.org/docs/Web/CSS/caret-color
9863   */
9864  "caret-color"?: CaretColorProperty;
9865  /**
9866   * 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.
9867   *
9868   * **Syntax**: `none | left | right | both | inline-start | inline-end`
9869   *
9870   * **Initial value**: `none`
9871   *
9872   * | Chrome | Firefox | Safari |  Edge  |  IE   |
9873   * | :----: | :-----: | :----: | :----: | :---: |
9874   * | **1**  |  **1**  | **1**  | **12** | **4** |
9875   *
9876   * @see https://developer.mozilla.org/docs/Web/CSS/clear
9877   */
9878  clear?: ClearProperty;
9879  /**
9880   * 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.
9881   *
9882   * **Syntax**: `<clip-source> | [ <basic-shape> || <geometry-box> ] | none`
9883   *
9884   * **Initial value**: `none`
9885   *
9886   * |  Chrome  | Firefox |  Safari   |  Edge  |   IE   |
9887   * | :------: | :-----: | :-------: | :----: | :----: |
9888   * |  **55**  | **3.5** |  **9.1**  | **12** | **10** |
9889   * | 23 _-x-_ |         | 6.1 _-x-_ |        |        |
9890   *
9891   * @see https://developer.mozilla.org/docs/Web/CSS/clip-path
9892   */
9893  "clip-path"?: ClipPathProperty;
9894  /**
9895   * 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`.
9896   *
9897   * **Syntax**: `<color>`
9898   *
9899   * **Initial value**: Varies from one browser to another
9900   *
9901   * | Chrome | Firefox | Safari |  Edge  |  IE   |
9902   * | :----: | :-----: | :----: | :----: | :---: |
9903   * | **1**  |  **1**  | **1**  | **12** | **3** |
9904   *
9905   * @see https://developer.mozilla.org/docs/Web/CSS/color
9906   */
9907  color?: ColorProperty;
9908  /**
9909   * 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.
9910   *
9911   * **Syntax**: `economy | exact`
9912   *
9913   * **Initial value**: `economy`
9914   *
9915   * |                Chrome                 | Firefox |                Safari                |                 Edge                  | IE  |
9916   * | :-----------------------------------: | :-----: | :----------------------------------: | :-----------------------------------: | :-: |
9917   * | **49** _(-webkit-print-color-adjust)_ | **48**  | **6** _(-webkit-print-color-adjust)_ | **79** _(-webkit-print-color-adjust)_ | No  |
9918   *
9919   * @see https://developer.mozilla.org/docs/Web/CSS/color-adjust
9920   */
9921  "color-adjust"?: ColorAdjustProperty;
9922  /**
9923   * The **`column-count`** CSS property breaks an element's content into the specified number of columns.
9924   *
9925   * **Syntax**: `<integer> | auto`
9926   *
9927   * **Initial value**: `auto`
9928   *
9929   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
9930   * | :-----: | :-----: | :-----: | :----: | :----: |
9931   * | **50**  | **52**  |  **9**  | **12** | **10** |
9932   * | 1 _-x-_ |         | 3 _-x-_ |        |        |
9933   *
9934   * @see https://developer.mozilla.org/docs/Web/CSS/column-count
9935   */
9936  "column-count"?: ColumnCountProperty;
9937  /**
9938   * The **`column-fill`** CSS property controls how an element's contents are balanced when broken into columns.
9939   *
9940   * **Syntax**: `auto | balance | balance-all`
9941   *
9942   * **Initial value**: `balance`
9943   *
9944   * | Chrome | Firefox | Safari  |  Edge  |   IE   |
9945   * | :----: | :-----: | :-----: | :----: | :----: |
9946   * | **50** | **52**  |  **9**  | **12** | **10** |
9947   * |        |         | 8 _-x-_ |        |        |
9948   *
9949   * @see https://developer.mozilla.org/docs/Web/CSS/column-fill
9950   */
9951  "column-fill"?: ColumnFillProperty;
9952  /**
9953   * The **`column-gap`** CSS property sets the size of the gap (gutter) between an element's columns.
9954   *
9955   * **Syntax**: `normal | <length-percentage>`
9956   *
9957   * **Initial value**: `normal`
9958   *
9959   * ---
9960   *
9961   * _Supported in Flex Layout_
9962   *
9963   * | Chrome | Firefox |   Safari    | Edge | IE  |
9964   * | :----: | :-----: | :---------: | :--: | :-: |
9965   * |   No   | **63**  | **3** _-x-_ |  No  | No  |
9966   *
9967   * ---
9968   *
9969   * _Supported in Grid Layout_
9970   *
9971   * |     Chrome      |     Firefox     |        Safari         |  Edge  | IE  |
9972   * | :-------------: | :-------------: | :-------------------: | :----: | :-: |
9973   * |     **66**      |     **61**      | **10.1** _(grid-gap)_ | **16** | No  |
9974   * | 57 _(grid-gap)_ | 52 _(grid-gap)_ |                       |        |     |
9975   *
9976   * ---
9977   *
9978   * _Supported in Multi-column Layout_
9979   *
9980   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
9981   * | :-----: | :-----: | :-----: | :----: | :----: |
9982   * | **50**  | **52**  | **10**  | **12** | **10** |
9983   * | 1 _-x-_ |         | 3 _-x-_ |        |        |
9984   *
9985   * ---
9986   *
9987   * @see https://developer.mozilla.org/docs/Web/CSS/column-gap
9988   */
9989  "column-gap"?: ColumnGapProperty<TLength>;
9990  /**
9991   * The **`column-rule-color`** CSS property sets the color of the rule (line) drawn between columns in a multi-column layout.
9992   *
9993   * **Syntax**: `<color>`
9994   *
9995   * **Initial value**: `currentcolor`
9996   *
9997   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
9998   * | :-----: | :-----: | :-----: | :----: | :----: |
9999   * | **50**  | **52**  |  **9**  | **12** | **10** |
10000   * | 1 _-x-_ |         | 3 _-x-_ |        |        |
10001   *
10002   * @see https://developer.mozilla.org/docs/Web/CSS/column-rule-color
10003   */
10004  "column-rule-color"?: ColumnRuleColorProperty;
10005  /**
10006   * The **`column-rule-style`** CSS property sets the style of the line drawn between columns in a multi-column layout.
10007   *
10008   * **Syntax**: `<'border-style'>`
10009   *
10010   * **Initial value**: `none`
10011   *
10012   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
10013   * | :-----: | :-----: | :-----: | :----: | :----: |
10014   * | **50**  | **52**  |  **9**  | **12** | **10** |
10015   * | 1 _-x-_ |         | 3 _-x-_ |        |        |
10016   *
10017   * @see https://developer.mozilla.org/docs/Web/CSS/column-rule-style
10018   */
10019  "column-rule-style"?: ColumnRuleStyleProperty;
10020  /**
10021   * The **`column-rule-width`** CSS property sets the width of the rule (line) drawn between columns in a multi-column layout.
10022   *
10023   * **Syntax**: `<'border-width'>`
10024   *
10025   * **Initial value**: `medium`
10026   *
10027   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
10028   * | :-----: | :-----: | :-----: | :----: | :----: |
10029   * | **50**  | **52**  |  **9**  | **12** | **10** |
10030   * | 1 _-x-_ |         | 3 _-x-_ |        |        |
10031   *
10032   * @see https://developer.mozilla.org/docs/Web/CSS/column-rule-width
10033   */
10034  "column-rule-width"?: ColumnRuleWidthProperty<TLength>;
10035  /**
10036   * The **`column-span`** CSS property makes it possible for an element to span across all columns when its value is set to `all`.
10037   *
10038   * **Syntax**: `none | all`
10039   *
10040   * **Initial value**: `none`
10041   *
10042   * | Chrome  | Firefox |  Safari   |  Edge  |   IE   |
10043   * | :-----: | :-----: | :-------: | :----: | :----: |
10044   * | **50**  | **71**  |   **9**   | **12** | **10** |
10045   * | 6 _-x-_ |         | 5.1 _-x-_ |        |        |
10046   *
10047   * @see https://developer.mozilla.org/docs/Web/CSS/column-span
10048   */
10049  "column-span"?: ColumnSpanProperty;
10050  /**
10051   * The **`column-width`** CSS property specifies 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.
10052   *
10053   * **Syntax**: `<length> | auto`
10054   *
10055   * **Initial value**: `auto`
10056   *
10057   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
10058   * | :-----: | :-----: | :-----: | :----: | :----: |
10059   * | **50**  | **50**  |  **9**  | **12** | **10** |
10060   * | 1 _-x-_ |         | 3 _-x-_ |        |        |
10061   *
10062   * @see https://developer.mozilla.org/docs/Web/CSS/column-width
10063   */
10064  "column-width"?: ColumnWidthProperty<TLength>;
10065  /**
10066   * 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.
10067   *
10068   * **Syntax**: `none | strict | content | [ size || layout || style || paint ]`
10069   *
10070   * **Initial value**: `none`
10071   *
10072   * | Chrome | Firefox | Safari |  Edge  | IE  |
10073   * | :----: | :-----: | :----: | :----: | :-: |
10074   * | **52** | **69**  |   No   | **79** | No  |
10075   *
10076   * @see https://developer.mozilla.org/docs/Web/CSS/contain
10077   */
10078  contain?: ContainProperty;
10079  /**
10080   * The **`content`** CSS property replaces an element with a generated value. Objects inserted using the `content` property are _anonymous replaced elements._
10081   *
10082   * **Syntax**: `normal | none | [ <content-replacement> | <content-list> ] [/ <string> ]?`
10083   *
10084   * **Initial value**: `normal`
10085   *
10086   * | Chrome | Firefox | Safari |  Edge  |  IE   |
10087   * | :----: | :-----: | :----: | :----: | :---: |
10088   * | **1**  |  **1**  | **1**  | **12** | **8** |
10089   *
10090   * @see https://developer.mozilla.org/docs/Web/CSS/content
10091   */
10092  content?: ContentProperty;
10093  /**
10094   * The **`counter-increment`** CSS property increases or decreases the value of a CSS counter by a given value.
10095   *
10096   * **Syntax**: `[ <custom-ident> <integer>? ]+ | none`
10097   *
10098   * **Initial value**: `none`
10099   *
10100   * | Chrome | Firefox | Safari |  Edge  |  IE   |
10101   * | :----: | :-----: | :----: | :----: | :---: |
10102   * | **2**  |  **1**  | **3**  | **12** | **8** |
10103   *
10104   * @see https://developer.mozilla.org/docs/Web/CSS/counter-increment
10105   */
10106  "counter-increment"?: CounterIncrementProperty;
10107  /**
10108   * The **`counter-reset`** CSS property resets a CSS counter to a given value.
10109   *
10110   * **Syntax**: `[ <custom-ident> <integer>? ]+ | none`
10111   *
10112   * **Initial value**: `none`
10113   *
10114   * | Chrome | Firefox | Safari |  Edge  |  IE   |
10115   * | :----: | :-----: | :----: | :----: | :---: |
10116   * | **2**  |  **1**  | **3**  | **12** | **8** |
10117   *
10118   * @see https://developer.mozilla.org/docs/Web/CSS/counter-reset
10119   */
10120  "counter-reset"?: CounterResetProperty;
10121  /**
10122   * 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.
10123   *
10124   * **Syntax**: `[ <custom-ident> <integer>? ]+ | none`
10125   *
10126   * **Initial value**: `none`
10127   *
10128   * | Chrome | Firefox | Safari | Edge | IE  |
10129   * | :----: | :-----: | :----: | :--: | :-: |
10130   * |   No   | **68**  |   No   |  No  | No  |
10131   *
10132   * @see https://developer.mozilla.org/docs/Web/CSS/counter-set
10133   */
10134  "counter-set"?: CounterSetProperty;
10135  /**
10136   * The **`cursor`** CSS property sets mouse cursor to display when the mouse pointer is over an element.
10137   *
10138   * **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 ] ]`
10139   *
10140   * **Initial value**: `auto`
10141   *
10142   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
10143   * | :----: | :-----: | :-----: | :----: | :---: |
10144   * | **1**  |  **1**  | **1.2** | **12** | **4** |
10145   *
10146   * @see https://developer.mozilla.org/docs/Web/CSS/cursor
10147   */
10148  cursor?: CursorProperty;
10149  /**
10150   * 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).
10151   *
10152   * **Syntax**: `ltr | rtl`
10153   *
10154   * **Initial value**: `ltr`
10155   *
10156   * | Chrome | Firefox | Safari |  Edge  |   IE    |
10157   * | :----: | :-----: | :----: | :----: | :-----: |
10158   * | **2**  |  **1**  | **1**  | **12** | **5.5** |
10159   *
10160   * @see https://developer.mozilla.org/docs/Web/CSS/direction
10161   */
10162  direction?: DirectionProperty;
10163  /**
10164   * The **`display`** CSS property defines the _display type_ of an element, which consists of the two basic qualities of how an element generates boxes — the **outer display type** defining how the box participates in flow layout, and the **inner display type** defining how the children of the box are laid out.
10165   *
10166   * **Syntax**: `[ <display-outside> || <display-inside> ] | <display-listitem> | <display-internal> | <display-box> | <display-legacy>`
10167   *
10168   * **Initial value**: `inline`
10169   *
10170   * | Chrome | Firefox | Safari |  Edge  |  IE   |
10171   * | :----: | :-----: | :----: | :----: | :---: |
10172   * | **1**  |  **1**  | **1**  | **12** | **4** |
10173   *
10174   * @see https://developer.mozilla.org/docs/Web/CSS/display
10175   */
10176  display?: DisplayProperty;
10177  /**
10178   * The **`empty-cells`** CSS property sets whether borders and backgrounds appear around `<table>` cells that have no visible content.
10179   *
10180   * **Syntax**: `show | hide`
10181   *
10182   * **Initial value**: `show`
10183   *
10184   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
10185   * | :----: | :-----: | :-----: | :----: | :---: |
10186   * | **1**  |  **1**  | **1.2** | **12** | **8** |
10187   *
10188   * @see https://developer.mozilla.org/docs/Web/CSS/empty-cells
10189   */
10190  "empty-cells"?: EmptyCellsProperty;
10191  /**
10192   * 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.
10193   *
10194   * **Syntax**: `none | <filter-function-list>`
10195   *
10196   * **Initial value**: `none`
10197   *
10198   * |  Chrome  | Firefox | Safari  |  Edge  | IE  |
10199   * | :------: | :-----: | :-----: | :----: | :-: |
10200   * |  **53**  | **35**  | **9.1** | **12** | No  |
10201   * | 18 _-x-_ |         | 6 _-x-_ |        |     |
10202   *
10203   * @see https://developer.mozilla.org/docs/Web/CSS/filter
10204   */
10205  filter?: FilterProperty;
10206  /**
10207   * 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`.
10208   *
10209   * **Syntax**: `content | <'width'>`
10210   *
10211   * **Initial value**: `auto`
10212   *
10213   * |  Chrome  | Firefox | Safari  |  Edge  |   IE   |
10214   * | :------: | :-----: | :-----: | :----: | :----: |
10215   * |  **29**  | **22**  |  **9**  | **12** | **11** |
10216   * | 22 _-x-_ |         | 7 _-x-_ |        |        |
10217   *
10218   * @see https://developer.mozilla.org/docs/Web/CSS/flex-basis
10219   */
10220  "flex-basis"?: FlexBasisProperty<TLength>;
10221  /**
10222   * 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).
10223   *
10224   * **Syntax**: `row | row-reverse | column | column-reverse`
10225   *
10226   * **Initial value**: `row`
10227   *
10228   * |  Chrome  | Firefox | Safari  |  Edge  |    IE    |
10229   * | :------: | :-----: | :-----: | :----: | :------: |
10230   * |  **29**  | **20**  |  **9**  | **12** |  **11**  |
10231   * | 21 _-x-_ |         | 7 _-x-_ |        | 10 _-x-_ |
10232   *
10233   * @see https://developer.mozilla.org/docs/Web/CSS/flex-direction
10234   */
10235  "flex-direction"?: FlexDirectionProperty;
10236  /**
10237   * The **`flex-grow`** CSS property sets how much of the available space in the flex container should be assigned to that item (the flex grow factor). If all sibling items have the same flex grow factor, then all items will receive the same share of available space, otherwise it is distributed according to the ratio defined by the different flex grow factors.
10238   *
10239   * **Syntax**: `<number>`
10240   *
10241   * **Initial value**: `0`
10242   *
10243   * |  Chrome  | Firefox |  Safari   |  Edge  |            IE            |
10244   * | :------: | :-----: | :-------: | :----: | :----------------------: |
10245   * |  **29**  | **20**  |   **9**   | **12** |          **11**          |
10246   * | 22 _-x-_ |         | 6.1 _-x-_ |        | 10 _(-ms-flex-positive)_ |
10247   *
10248   * @see https://developer.mozilla.org/docs/Web/CSS/flex-grow
10249   */
10250  "flex-grow"?: GlobalsNumber;
10251  /**
10252   * The **`flex-shrink`** CSS property sets the flex shrink factor of a flex item. If the size of flex items is larger than the flex container, items shrink to fit according to `flex-shrink`.
10253   *
10254   * **Syntax**: `<number>`
10255   *
10256   * **Initial value**: `1`
10257   *
10258   * |  Chrome  | Firefox | Safari  |  Edge  |   IE   |
10259   * | :------: | :-----: | :-----: | :----: | :----: |
10260   * |  **29**  | **20**  |  **9**  | **12** | **10** |
10261   * | 22 _-x-_ |         | 8 _-x-_ |        |        |
10262   *
10263   * @see https://developer.mozilla.org/docs/Web/CSS/flex-shrink
10264   */
10265  "flex-shrink"?: GlobalsNumber;
10266  /**
10267   * 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.
10268   *
10269   * **Syntax**: `nowrap | wrap | wrap-reverse`
10270   *
10271   * **Initial value**: `nowrap`
10272   *
10273   * |  Chrome  | Firefox |  Safari   |  Edge  |   IE   |
10274   * | :------: | :-----: | :-------: | :----: | :----: |
10275   * |  **29**  | **28**  |   **9**   | **12** | **11** |
10276   * | 21 _-x-_ |         | 6.1 _-x-_ |        |        |
10277   *
10278   * @see https://developer.mozilla.org/docs/Web/CSS/flex-wrap
10279   */
10280  "flex-wrap"?: FlexWrapProperty;
10281  /**
10282   * 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).
10283   *
10284   * **Syntax**: `left | right | none | inline-start | inline-end`
10285   *
10286   * **Initial value**: `none`
10287   *
10288   * | Chrome | Firefox | Safari |  Edge  |  IE   |
10289   * | :----: | :-----: | :----: | :----: | :---: |
10290   * | **1**  |  **1**  | **1**  | **12** | **4** |
10291   *
10292   * @see https://developer.mozilla.org/docs/Web/CSS/float
10293   */
10294  float?: FloatProperty;
10295  /**
10296   * 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.
10297   *
10298   * **Syntax**: `[ <family-name> | <generic-family> ]#`
10299   *
10300   * **Initial value**: depends on user agent
10301   *
10302   * | Chrome | Firefox | Safari |  Edge  |  IE   |
10303   * | :----: | :-----: | :----: | :----: | :---: |
10304   * | **1**  |  **1**  | **1**  | **12** | **3** |
10305   *
10306   * @see https://developer.mozilla.org/docs/Web/CSS/font-family
10307   */
10308  "font-family"?: FontFamilyProperty;
10309  /**
10310   * The **`font-feature-settings`** CSS property controls advanced typographic features in OpenType fonts.
10311   *
10312   * **Syntax**: `normal | <feature-tag-value>#`
10313   *
10314   * **Initial value**: `normal`
10315   *
10316   * |  Chrome  | Firefox  | Safari  |  Edge  |   IE   |
10317   * | :------: | :------: | :-----: | :----: | :----: |
10318   * |  **48**  |  **34**  | **9.1** | **15** | **10** |
10319   * | 16 _-x-_ | 15 _-x-_ |         |        |        |
10320   *
10321   * @see https://developer.mozilla.org/docs/Web/CSS/font-feature-settings
10322   */
10323  "font-feature-settings"?: FontFeatureSettingsProperty;
10324  /**
10325   * The **`font-kerning`** CSS property sets the use of the kerning information stored in a font.
10326   *
10327   * **Syntax**: `auto | normal | none`
10328   *
10329   * **Initial value**: `auto`
10330   *
10331   * | Chrome | Firefox | Safari  |  Edge  | IE  |
10332   * | :----: | :-----: | :-----: | :----: | :-: |
10333   * | **33** | **32**  |  **9**  | **79** | No  |
10334   * |        |         | 6 _-x-_ |        |     |
10335   *
10336   * @see https://developer.mozilla.org/docs/Web/CSS/font-kerning
10337   */
10338  "font-kerning"?: FontKerningProperty;
10339  /**
10340   * The **`font-language-override`** CSS property controls the use of language-specific glyphs in a typeface.
10341   *
10342   * **Syntax**: `normal | <string>`
10343   *
10344   * **Initial value**: `normal`
10345   *
10346   * | Chrome | Firefox | Safari | Edge | IE  |
10347   * | :----: | :-----: | :----: | :--: | :-: |
10348   * |   No   | **34**  |   No   |  No  | No  |
10349   * |        | 4 _-x-_ |        |      |     |
10350   *
10351   * @see https://developer.mozilla.org/docs/Web/CSS/font-language-override
10352   */
10353  "font-language-override"?: FontLanguageOverrideProperty;
10354  /**
10355   * The **`font-optical-sizing`** CSS property sets whether text rendering is optimized for viewing at different sizes. This only works for fonts that have an optical size variation axis.
10356   *
10357   * **Syntax**: `auto | none`
10358   *
10359   * **Initial value**: `auto`
10360   *
10361   * | Chrome | Firefox | Safari |  Edge  | IE  |
10362   * | :----: | :-----: | :----: | :----: | :-: |
10363   * | **79** | **62**  | **11** | **17** | No  |
10364   *
10365   * @see https://developer.mozilla.org/docs/Web/CSS/font-optical-sizing
10366   */
10367  "font-optical-sizing"?: FontOpticalSizingProperty;
10368  /**
10369   * The **`font-size`** CSS property sets the size of the font. This property is also used to compute the size of `em`, `ex`, and other relative `<length>` units.
10370   *
10371   * **Syntax**: `<absolute-size> | <relative-size> | <length-percentage>`
10372   *
10373   * **Initial value**: `medium`
10374   *
10375   * | Chrome | Firefox | Safari |  Edge  |   IE    |
10376   * | :----: | :-----: | :----: | :----: | :-----: |
10377   * | **1**  |  **1**  | **1**  | **12** | **5.5** |
10378   *
10379   * @see https://developer.mozilla.org/docs/Web/CSS/font-size
10380   */
10381  "font-size"?: FontSizeProperty<TLength>;
10382  /**
10383   * The **`font-size-adjust`** CSS property sets how the font size should be chosen based on the height of lowercase rather than capital letters.
10384   *
10385   * **Syntax**: `none | <number>`
10386   *
10387   * **Initial value**: `none`
10388   *
10389   * | Chrome | Firefox | Safari | Edge | IE  |
10390   * | :----: | :-----: | :----: | :--: | :-: |
10391   * |  n/a   |  **1**  |   No   | n/a  | No  |
10392   *
10393   * @see https://developer.mozilla.org/docs/Web/CSS/font-size-adjust
10394   */
10395  "font-size-adjust"?: FontSizeAdjustProperty;
10396  /**
10397   * The **`font-stretch`** CSS property selects a normal, condensed, or expanded face from a font.
10398   *
10399   * **Syntax**: `<font-stretch-absolute>`
10400   *
10401   * **Initial value**: `normal`
10402   *
10403   * | Chrome | Firefox | Safari |  Edge  |  IE   |
10404   * | :----: | :-----: | :----: | :----: | :---: |
10405   * | **60** |  **9**  | **11** | **12** | **9** |
10406   *
10407   * @see https://developer.mozilla.org/docs/Web/CSS/font-stretch
10408   */
10409  "font-stretch"?: FontStretchProperty;
10410  /**
10411   * The **`font-style`** CSS property sets whether a font should be styled with a normal, italic, or oblique face from its `font-family`.
10412   *
10413   * **Syntax**: `normal | italic | oblique <angle>?`
10414   *
10415   * **Initial value**: `normal`
10416   *
10417   * | Chrome | Firefox | Safari |  Edge  |  IE   |
10418   * | :----: | :-----: | :----: | :----: | :---: |
10419   * | **1**  |  **1**  | **1**  | **12** | **4** |
10420   *
10421   * @see https://developer.mozilla.org/docs/Web/CSS/font-style
10422   */
10423  "font-style"?: FontStyleProperty;
10424  /**
10425   * The **`font-synthesis`** CSS property controls which missing typefaces, bold or italic, may be synthesized by the browser.
10426   *
10427   * **Syntax**: `none | [ weight || style ]`
10428   *
10429   * **Initial value**: `weight style`
10430   *
10431   * | Chrome | Firefox | Safari | Edge | IE  |
10432   * | :----: | :-----: | :----: | :--: | :-: |
10433   * |   No   | **34**  | **9**  |  No  | No  |
10434   *
10435   * @see https://developer.mozilla.org/docs/Web/CSS/font-synthesis
10436   */
10437  "font-synthesis"?: FontSynthesisProperty;
10438  /**
10439   * The **font-variant** CSS property is a shorthand for the longhand properties `font-variant-caps`, `font-variant-numeric`, `font-variant-alternates`, `font-variant-ligatures`, and `font-variant-east-asian`. You can also set the CSS Level 2 (Revision 1) values of `font-variant`, (that is, `normal` or `small-caps`), by using the `font` shorthand.
10440   *
10441   * **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 ]`
10442   *
10443   * **Initial value**: `normal`
10444   *
10445   * | Chrome | Firefox | Safari |  Edge  |  IE   |
10446   * | :----: | :-----: | :----: | :----: | :---: |
10447   * | **1**  |  **1**  | **1**  | **12** | **4** |
10448   *
10449   * @see https://developer.mozilla.org/docs/Web/CSS/font-variant
10450   */
10451  "font-variant"?: FontVariantProperty;
10452  /**
10453   * The **`font-variant-caps`** CSS property controls the use of alternate glyphs for capital letters.
10454   *
10455   * **Syntax**: `normal | small-caps | all-small-caps | petite-caps | all-petite-caps | unicase | titling-caps`
10456   *
10457   * **Initial value**: `normal`
10458   *
10459   * | Chrome | Firefox | Safari |  Edge  | IE  |
10460   * | :----: | :-----: | :----: | :----: | :-: |
10461   * | **52** | **34**  |   No   | **79** | No  |
10462   *
10463   * @see https://developer.mozilla.org/docs/Web/CSS/font-variant-caps
10464   */
10465  "font-variant-caps"?: FontVariantCapsProperty;
10466  /**
10467   * The **`font-variant-east-asian`** CSS property controls the use of alternate glyphs for East Asian scripts, like Japanese and Chinese.
10468   *
10469   * **Syntax**: `normal | [ <east-asian-variant-values> || <east-asian-width-values> || ruby ]`
10470   *
10471   * **Initial value**: `normal`
10472   *
10473   * | Chrome | Firefox | Safari |  Edge  | IE  |
10474   * | :----: | :-----: | :----: | :----: | :-: |
10475   * | **63** | **34**  |   No   | **79** | No  |
10476   *
10477   * @see https://developer.mozilla.org/docs/Web/CSS/font-variant-east-asian
10478   */
10479  "font-variant-east-asian"?: FontVariantEastAsianProperty;
10480  /**
10481   * 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.
10482   *
10483   * **Syntax**: `normal | none | [ <common-lig-values> || <discretionary-lig-values> || <historical-lig-values> || <contextual-alt-values> ]`
10484   *
10485   * **Initial value**: `normal`
10486   *
10487   * |  Chrome  | Firefox | Safari  |  Edge  | IE  |
10488   * | :------: | :-----: | :-----: | :----: | :-: |
10489   * |  **34**  | **34**  | **9.1** | **79** | No  |
10490   * | 31 _-x-_ |         | 7 _-x-_ |        |     |
10491   *
10492   * @see https://developer.mozilla.org/docs/Web/CSS/font-variant-ligatures
10493   */
10494  "font-variant-ligatures"?: FontVariantLigaturesProperty;
10495  /**
10496   * The **`font-variant-numeric`** CSS property controls the usage of alternate glyphs for numbers, fractions, and ordinal markers.
10497   *
10498   * **Syntax**: `normal | [ <numeric-figure-values> || <numeric-spacing-values> || <numeric-fraction-values> || ordinal || slashed-zero ]`
10499   *
10500   * **Initial value**: `normal`
10501   *
10502   * | Chrome | Firefox | Safari  |  Edge  | IE  |
10503   * | :----: | :-----: | :-----: | :----: | :-: |
10504   * | **52** | **34**  | **9.1** | **79** | No  |
10505   *
10506   * @see https://developer.mozilla.org/docs/Web/CSS/font-variant-numeric
10507   */
10508  "font-variant-numeric"?: FontVariantNumericProperty;
10509  /**
10510   * The **`font-variant-position`** CSS property controls the use of alternate, smaller glyphs that are positioned as superscript or subscript.
10511   *
10512   * **Syntax**: `normal | sub | super`
10513   *
10514   * **Initial value**: `normal`
10515   *
10516   * | Chrome | Firefox | Safari | Edge | IE  |
10517   * | :----: | :-----: | :----: | :--: | :-: |
10518   * |   No   | **34**  |   No   |  No  | No  |
10519   *
10520   * @see https://developer.mozilla.org/docs/Web/CSS/font-variant-position
10521   */
10522  "font-variant-position"?: FontVariantPositionProperty;
10523  /**
10524   * 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.
10525   *
10526   * **Syntax**: `normal | [ <string> <number> ]#`
10527   *
10528   * **Initial value**: `normal`
10529   *
10530   * | Chrome | Firefox | Safari |  Edge  | IE  |
10531   * | :----: | :-----: | :----: | :----: | :-: |
10532   * | **62** | **62**  | **11** | **17** | No  |
10533   *
10534   * @see https://developer.mozilla.org/docs/Web/CSS/font-variation-settings
10535   */
10536  "font-variation-settings"?: FontVariationSettingsProperty;
10537  /**
10538   * The **`font-weight`** CSS property specifies the weight (or boldness) of the font. The font weights available to you will depend on the `font-family` you are using. Some fonts are only available in `normal` and `bold`.
10539   *
10540   * **Syntax**: `<font-weight-absolute> | bolder | lighter`
10541   *
10542   * **Initial value**: `normal`
10543   *
10544   * | Chrome | Firefox | Safari |  Edge  |  IE   |
10545   * | :----: | :-----: | :----: | :----: | :---: |
10546   * | **2**  |  **1**  | **1**  | **12** | **3** |
10547   *
10548   * @see https://developer.mozilla.org/docs/Web/CSS/font-weight
10549   */
10550  "font-weight"?: FontWeightProperty;
10551  /**
10552   * The **`grid-auto-columns`** CSS property specifies the size of an implicitly-created grid column track.
10553   *
10554   * **Syntax**: `<track-size>+`
10555   *
10556   * **Initial value**: `auto`
10557   *
10558   * | Chrome | Firefox |  Safari  |          Edge           |             IE              |
10559   * | :----: | :-----: | :------: | :---------------------: | :-------------------------: |
10560   * | **57** | **70**  | **10.1** |         **16**          | **10** _(-ms-grid-columns)_ |
10561   * |        |         |          | 12 _(-ms-grid-columns)_ |                             |
10562   *
10563   * @see https://developer.mozilla.org/docs/Web/CSS/grid-auto-columns
10564   */
10565  "grid-auto-columns"?: GridAutoColumnsProperty<TLength>;
10566  /**
10567   * The **`grid-auto-flow`** CSS property controls how the auto-placement algorithm works, specifying exactly how auto-placed items get flowed into the grid.
10568   *
10569   * **Syntax**: `[ row | column ] || dense`
10570   *
10571   * **Initial value**: `row`
10572   *
10573   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
10574   * | :----: | :-----: | :------: | :----: | :-: |
10575   * | **57** | **52**  | **10.1** | **16** | No  |
10576   *
10577   * @see https://developer.mozilla.org/docs/Web/CSS/grid-auto-flow
10578   */
10579  "grid-auto-flow"?: GridAutoFlowProperty;
10580  /**
10581   * The **`grid-auto-rows`** CSS property specifies the size of an implicitly-created grid row track.
10582   *
10583   * **Syntax**: `<track-size>+`
10584   *
10585   * **Initial value**: `auto`
10586   *
10587   * | Chrome | Firefox |  Safari  |         Edge         |            IE            |
10588   * | :----: | :-----: | :------: | :------------------: | :----------------------: |
10589   * | **57** | **70**  | **10.1** |        **16**        | **10** _(-ms-grid-rows)_ |
10590   * |        |         |          | 12 _(-ms-grid-rows)_ |                          |
10591   *
10592   * @see https://developer.mozilla.org/docs/Web/CSS/grid-auto-rows
10593   */
10594  "grid-auto-rows"?: GridAutoRowsProperty<TLength>;
10595  /**
10596   * 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.
10597   *
10598   * **Syntax**: `<grid-line>`
10599   *
10600   * **Initial value**: `auto`
10601   *
10602   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
10603   * | :----: | :-----: | :------: | :----: | :-: |
10604   * | **57** | **52**  | **10.1** | **16** | No  |
10605   *
10606   * @see https://developer.mozilla.org/docs/Web/CSS/grid-column-end
10607   */
10608  "grid-column-end"?: GridColumnEndProperty;
10609  /**
10610   * 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.
10611   *
10612   * **Syntax**: `<grid-line>`
10613   *
10614   * **Initial value**: `auto`
10615   *
10616   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
10617   * | :----: | :-----: | :------: | :----: | :-: |
10618   * | **57** | **52**  | **10.1** | **16** | No  |
10619   *
10620   * @see https://developer.mozilla.org/docs/Web/CSS/grid-column-start
10621   */
10622  "grid-column-start"?: GridColumnStartProperty;
10623  /**
10624   * 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.
10625   *
10626   * **Syntax**: `<grid-line>`
10627   *
10628   * **Initial value**: `auto`
10629   *
10630   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
10631   * | :----: | :-----: | :------: | :----: | :-: |
10632   * | **57** | **52**  | **10.1** | **16** | No  |
10633   *
10634   * @see https://developer.mozilla.org/docs/Web/CSS/grid-row-end
10635   */
10636  "grid-row-end"?: GridRowEndProperty;
10637  /**
10638   * 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.
10639   *
10640   * **Syntax**: `<grid-line>`
10641   *
10642   * **Initial value**: `auto`
10643   *
10644   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
10645   * | :----: | :-----: | :------: | :----: | :-: |
10646   * | **57** | **52**  | **10.1** | **16** | No  |
10647   *
10648   * @see https://developer.mozilla.org/docs/Web/CSS/grid-row-start
10649   */
10650  "grid-row-start"?: GridRowStartProperty;
10651  /**
10652   * The **`grid-template-areas`** CSS property specifies named grid areas.
10653   *
10654   * **Syntax**: `none | <string>+`
10655   *
10656   * **Initial value**: `none`
10657   *
10658   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
10659   * | :----: | :-----: | :------: | :----: | :-: |
10660   * | **57** | **52**  | **10.1** | **16** | No  |
10661   *
10662   * @see https://developer.mozilla.org/docs/Web/CSS/grid-template-areas
10663   */
10664  "grid-template-areas"?: GridTemplateAreasProperty;
10665  /**
10666   * The **`grid-template-columns`** CSS property defines the line names and track sizing functions of the grid columns.
10667   *
10668   * **Syntax**: `none | <track-list> | <auto-track-list> | subgrid <line-name-list>?`
10669   *
10670   * **Initial value**: `none`
10671   *
10672   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
10673   * | :----: | :-----: | :------: | :----: | :-: |
10674   * | **57** | **52**  | **10.1** | **16** | No  |
10675   *
10676   * @see https://developer.mozilla.org/docs/Web/CSS/grid-template-columns
10677   */
10678  "grid-template-columns"?: GridTemplateColumnsProperty<TLength>;
10679  /**
10680   * The **`grid-template-rows`** CSS property defines the line names and track sizing functions of the grid rows.
10681   *
10682   * **Syntax**: `none | <track-list> | <auto-track-list> | subgrid <line-name-list>?`
10683   *
10684   * **Initial value**: `none`
10685   *
10686   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
10687   * | :----: | :-----: | :------: | :----: | :-: |
10688   * | **57** | **52**  | **10.1** | **16** | No  |
10689   *
10690   * @see https://developer.mozilla.org/docs/Web/CSS/grid-template-rows
10691   */
10692  "grid-template-rows"?: GridTemplateRowsProperty<TLength>;
10693  /**
10694   * 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.
10695   *
10696   * **Syntax**: `none | [ first || [ force-end | allow-end ] || last ]`
10697   *
10698   * **Initial value**: `none`
10699   *
10700   * | Chrome | Firefox | Safari | Edge | IE  |
10701   * | :----: | :-----: | :----: | :--: | :-: |
10702   * |   No   |   No    | **10** |  No  | No  |
10703   *
10704   * @see https://developer.mozilla.org/docs/Web/CSS/hanging-punctuation
10705   */
10706  "hanging-punctuation"?: HangingPunctuationProperty;
10707  /**
10708   * 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.
10709   *
10710   * **Syntax**: `auto | <length> | <percentage> | min-content | max-content | fit-content(<length-percentage>)`
10711   *
10712   * **Initial value**: `auto`
10713   *
10714   * | Chrome | Firefox | Safari |  Edge  |  IE   |
10715   * | :----: | :-----: | :----: | :----: | :---: |
10716   * | **1**  |  **1**  | **1**  | **12** | **4** |
10717   *
10718   * @see https://developer.mozilla.org/docs/Web/CSS/height
10719   */
10720  height?: HeightProperty<TLength>;
10721  /**
10722   * The **`hyphens`** CSS property specifies how words should be hyphenated when text wraps across multiple lines. You can prevent hyphenation entirely, use hyphenation in manually-specified points within the text, or let the browser automatically insert hyphens where appropriate.
10723   *
10724   * **Syntax**: `none | manual | auto`
10725   *
10726   * **Initial value**: `manual`
10727   *
10728   * |  Chrome  | Firefox |    Safari     |     Edge     |      IE      |
10729   * | :------: | :-----: | :-----------: | :----------: | :----------: |
10730   * |  **55**  | **43**  | **5.1** _-x-_ | **12** _-x-_ | **10** _-x-_ |
10731   * | 13 _-x-_ | 6 _-x-_ |               |              |              |
10732   *
10733   * @see https://developer.mozilla.org/docs/Web/CSS/hyphens
10734   */
10735  hyphens?: HyphensProperty;
10736  /**
10737   * 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>`.
10738   *
10739   * **Syntax**: `from-image | <angle> | [ <angle>? flip ]`
10740   *
10741   * **Initial value**: `0deg`
10742   *
10743   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
10744   * | :----: | :-----: | :------: | :----: | :-: |
10745   * | **81** | **26**  | **13.1** | **81** | No  |
10746   *
10747   * @see https://developer.mozilla.org/docs/Web/CSS/image-orientation
10748   */
10749  "image-orientation"?: ImageOrientationProperty;
10750  /**
10751   * 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.
10752   *
10753   * **Syntax**: `auto | crisp-edges | pixelated`
10754   *
10755   * **Initial value**: `auto`
10756   *
10757   * | Chrome | Firefox | Safari |  Edge  | IE  |
10758   * | :----: | :-----: | :----: | :----: | :-: |
10759   * | **13** | **3.6** | **6**  | **79** | No  |
10760   *
10761   * @see https://developer.mozilla.org/docs/Web/CSS/image-rendering
10762   */
10763  "image-rendering"?: ImageRenderingProperty;
10764  /**
10765   * **Syntax**: `[ from-image || <resolution> ] && snap?`
10766   *
10767   * **Initial value**: `1dppx`
10768   */
10769  "image-resolution"?: ImageResolutionProperty;
10770  /**
10771   * The `initial-letter` CSS property sets styling for dropped, raised, and sunken initial letters.
10772   *
10773   * **Syntax**: `normal | [ <number> <integer>? ]`
10774   *
10775   * **Initial value**: `normal`
10776   *
10777   * | Chrome | Firefox | Safari | Edge | IE  |
10778   * | :----: | :-----: | :----: | :--: | :-: |
10779   * |   No   |   No    | **9**  |  No  | No  |
10780   *
10781   * @see https://developer.mozilla.org/docs/Web/CSS/initial-letter
10782   */
10783  "initial-letter"?: InitialLetterProperty;
10784  /**
10785   * 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`.
10786   *
10787   * **Syntax**: `<'width'>`
10788   *
10789   * **Initial value**: `auto`
10790   *
10791   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
10792   * | :----: | :-----: | :------: | :----: | :-: |
10793   * | **57** | **41**  | **12.1** | **79** | No  |
10794   *
10795   * @see https://developer.mozilla.org/docs/Web/CSS/inline-size
10796   */
10797  "inline-size"?: InlineSizeProperty<TLength>;
10798  /**
10799   * The **`inset`** CSS property defines the logical block and inline start and end offsets of an element, which map 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`.
10800   *
10801   * **Syntax**: `<'top'>{1,4}`
10802   *
10803   * **Initial value**: `auto`
10804   *
10805   * | Chrome | Firefox | Safari | Edge | IE  |
10806   * | :----: | :-----: | :----: | :--: | :-: |
10807   * |   No   | **66**  |   No   |  No  | No  |
10808   *
10809   * @see https://developer.mozilla.org/docs/Web/CSS/inset
10810   */
10811  inset?: InsetProperty<TLength>;
10812  /**
10813   * The **`inset-block`** CSS property defines the logical block start and end offsets of an element, 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`.
10814   *
10815   * **Syntax**: `<'top'>{1,2}`
10816   *
10817   * **Initial value**: `auto`
10818   *
10819   * | Chrome | Firefox | Safari | Edge | IE  |
10820   * | :----: | :-----: | :----: | :--: | :-: |
10821   * |  n/a   | **63**  |   No   | n/a  | No  |
10822   *
10823   * @see https://developer.mozilla.org/docs/Web/CSS/inset-block
10824   */
10825  "inset-block"?: InsetBlockProperty<TLength>;
10826  /**
10827   * 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`.
10828   *
10829   * **Syntax**: `<'top'>`
10830   *
10831   * **Initial value**: `auto`
10832   *
10833   * | Chrome | Firefox | Safari | Edge | IE  |
10834   * | :----: | :-----: | :----: | :--: | :-: |
10835   * |  n/a   | **63**  |   No   | n/a  | No  |
10836   *
10837   * @see https://developer.mozilla.org/docs/Web/CSS/inset-block-end
10838   */
10839  "inset-block-end"?: InsetBlockEndProperty<TLength>;
10840  /**
10841   * 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`.
10842   *
10843   * **Syntax**: `<'top'>`
10844   *
10845   * **Initial value**: `auto`
10846   *
10847   * | Chrome | Firefox | Safari | Edge | IE  |
10848   * | :----: | :-----: | :----: | :--: | :-: |
10849   * |  n/a   | **63**  |   No   | n/a  | No  |
10850   *
10851   * @see https://developer.mozilla.org/docs/Web/CSS/inset-block-start
10852   */
10853  "inset-block-start"?: InsetBlockStartProperty<TLength>;
10854  /**
10855   * The **`inset-inline`** CSS property defines the logical block start and end offsets of an element, 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`.
10856   *
10857   * **Syntax**: `<'top'>{1,2}`
10858   *
10859   * **Initial value**: `auto`
10860   *
10861   * | Chrome | Firefox | Safari | Edge | IE  |
10862   * | :----: | :-----: | :----: | :--: | :-: |
10863   * |  n/a   | **63**  |   No   | n/a  | No  |
10864   *
10865   * @see https://developer.mozilla.org/docs/Web/CSS/inset-inline
10866   */
10867  "inset-inline"?: InsetInlineProperty<TLength>;
10868  /**
10869   * The **`inset-inline-end`** CSS property defines the logical inline end inset 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`.
10870   *
10871   * **Syntax**: `<'top'>`
10872   *
10873   * **Initial value**: `auto`
10874   *
10875   * | Chrome | Firefox | Safari | Edge | IE  |
10876   * | :----: | :-----: | :----: | :--: | :-: |
10877   * |  n/a   | **63**  |   No   | n/a  | No  |
10878   *
10879   * @see https://developer.mozilla.org/docs/Web/CSS/inset-inline-end
10880   */
10881  "inset-inline-end"?: InsetInlineEndProperty<TLength>;
10882  /**
10883   * 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`.
10884   *
10885   * **Syntax**: `<'top'>`
10886   *
10887   * **Initial value**: `auto`
10888   *
10889   * | Chrome | Firefox | Safari | Edge | IE  |
10890   * | :----: | :-----: | :----: | :--: | :-: |
10891   * |  n/a   | **63**  |   No   | n/a  | No  |
10892   *
10893   * @see https://developer.mozilla.org/docs/Web/CSS/inset-inline-start
10894   */
10895  "inset-inline-start"?: InsetInlineStartProperty<TLength>;
10896  /**
10897   * The **`isolation`** CSS property determines whether an element must create a new stacking context.
10898   *
10899   * **Syntax**: `auto | isolate`
10900   *
10901   * **Initial value**: `auto`
10902   *
10903   * | Chrome | Firefox | Safari |  Edge  | IE  |
10904   * | :----: | :-----: | :----: | :----: | :-: |
10905   * | **41** | **36**  | **8**  | **79** | No  |
10906   *
10907   * @see https://developer.mozilla.org/docs/Web/CSS/isolation
10908   */
10909  isolation?: IsolationProperty;
10910  /**
10911   * 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.
10912   *
10913   * **Syntax**: `normal | <content-distribution> | <overflow-position>? [ <content-position> | left | right ]`
10914   *
10915   * **Initial value**: `normal`
10916   *
10917   * ---
10918   *
10919   * _Supported in Flex Layout_
10920   *
10921   * |  Chrome  | Firefox |  Safari   |  Edge  |   IE   |
10922   * | :------: | :-----: | :-------: | :----: | :----: |
10923   * |  **52**  | **20**  |   **9**   | **12** | **11** |
10924   * | 21 _-x-_ |         | 6.1 _-x-_ |        |        |
10925   *
10926   * ---
10927   *
10928   * _Supported in Grid Layout_
10929   *
10930   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
10931   * | :----: | :-----: | :------: | :----: | :-: |
10932   * | **57** | **52**  | **10.1** | **16** | No  |
10933   *
10934   * ---
10935   *
10936   * @see https://developer.mozilla.org/docs/Web/CSS/justify-content
10937   */
10938  "justify-content"?: JustifyContentProperty;
10939  /**
10940   * 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.
10941   *
10942   * **Syntax**: `normal | stretch | <baseline-position> | <overflow-position>? [ <self-position> | left | right ] | legacy | legacy && [ left | right | center ]`
10943   *
10944   * **Initial value**: `legacy`
10945   *
10946   * ---
10947   *
10948   * _Supported in Flex Layout_
10949   *
10950   * | Chrome | Firefox | Safari |  Edge  |   IE   |
10951   * | :----: | :-----: | :----: | :----: | :----: |
10952   * | **52** | **20**  | **9**  | **12** | **11** |
10953   *
10954   * ---
10955   *
10956   * _Supported in Grid Layout_
10957   *
10958   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
10959   * | :----: | :-----: | :------: | :----: | :-: |
10960   * | **57** | **45**  | **10.1** | **16** | No  |
10961   *
10962   * ---
10963   *
10964   * @see https://developer.mozilla.org/docs/Web/CSS/justify-items
10965   */
10966  "justify-items"?: JustifyItemsProperty;
10967  /**
10968   * The CSS **`justify-self`** property set the way a box is justified inside its alignment container along the appropriate axis.
10969   *
10970   * **Syntax**: `auto | normal | stretch | <baseline-position> | <overflow-position>? [ <self-position> | left | right ]`
10971   *
10972   * **Initial value**: `auto`
10973   *
10974   * ---
10975   *
10976   * _Supported in Flex Layout_
10977   *
10978   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
10979   * | :----: | :-----: | :------: | :----: | :-: |
10980   * | **57** | **45**  | **10.1** | **16** | No  |
10981   *
10982   * ---
10983   *
10984   * _Supported in Grid Layout_
10985   *
10986   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
10987   * | :----: | :-----: | :------: | :----: | :-: |
10988   * | **57** | **45**  | **10.1** | **16** | No  |
10989   *
10990   * ---
10991   *
10992   * @see https://developer.mozilla.org/docs/Web/CSS/justify-self
10993   */
10994  "justify-self"?: JustifySelfProperty;
10995  /**
10996   * The **`left`** CSS property participates in specifying the horizontal position of a _positioned element_. It has no effect on non-positioned elements.
10997   *
10998   * **Syntax**: `<length> | <percentage> | auto`
10999   *
11000   * **Initial value**: `auto`
11001   *
11002   * | Chrome | Firefox | Safari |  Edge  |   IE    |
11003   * | :----: | :-----: | :----: | :----: | :-----: |
11004   * | **1**  |  **1**  | **1**  | **12** | **5.5** |
11005   *
11006   * @see https://developer.mozilla.org/docs/Web/CSS/left
11007   */
11008  left?: LeftProperty<TLength>;
11009  /**
11010   * The **`letter-spacing`** CSS property sets the spacing behavior between text characters.
11011   *
11012   * **Syntax**: `normal | <length>`
11013   *
11014   * **Initial value**: `normal`
11015   *
11016   * | Chrome | Firefox | Safari |  Edge  |  IE   |
11017   * | :----: | :-----: | :----: | :----: | :---: |
11018   * | **1**  |  **1**  | **1**  | **12** | **4** |
11019   *
11020   * @see https://developer.mozilla.org/docs/Web/CSS/letter-spacing
11021   */
11022  "letter-spacing"?: LetterSpacingProperty<TLength>;
11023  /**
11024   * The **`line-break`** CSS property sets how to break lines of Chinese, Japanese, or Korean (CJK) text when working with punctuation and symbols.
11025   *
11026   * **Syntax**: `auto | loose | normal | strict | anywhere`
11027   *
11028   * **Initial value**: `auto`
11029   *
11030   * | Chrome  | Firefox |   Safari    |  Edge  |   IE    |
11031   * | :-----: | :-----: | :---------: | :----: | :-----: |
11032   * | **58**  | **69**  | **3** _-x-_ | **14** | **5.5** |
11033   * | 1 _-x-_ |         |             |        |         |
11034   *
11035   * @see https://developer.mozilla.org/docs/Web/CSS/line-break
11036   */
11037  "line-break"?: LineBreakProperty;
11038  /**
11039   * The **`line-height`** CSS property sets the amount of space used for lines, such as in 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.
11040   *
11041   * **Syntax**: `normal | <number> | <length> | <percentage>`
11042   *
11043   * **Initial value**: `normal`
11044   *
11045   * | Chrome | Firefox | Safari |  Edge  |  IE   |
11046   * | :----: | :-----: | :----: | :----: | :---: |
11047   * | **1**  |  **1**  | **1**  | **12** | **4** |
11048   *
11049   * @see https://developer.mozilla.org/docs/Web/CSS/line-height
11050   */
11051  "line-height"?: LineHeightProperty<TLength>;
11052  /**
11053   * 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.
11054   *
11055   * **Syntax**: `<length>`
11056   *
11057   * **Initial value**: `0`
11058   *
11059   * | Chrome | Firefox | Safari | Edge | IE  |
11060   * | :----: | :-----: | :----: | :--: | :-: |
11061   * |  n/a   |   No    |   No   | n/a  | No  |
11062   *
11063   * @see https://developer.mozilla.org/docs/Web/CSS/line-height-step
11064   */
11065  "line-height-step"?: LineHeightStepProperty<TLength>;
11066  /**
11067   * The **`list-style-image`** CSS property sets an image to be used as the list item marker.
11068   *
11069   * **Syntax**: `<url> | none`
11070   *
11071   * **Initial value**: `none`
11072   *
11073   * | Chrome | Firefox | Safari |  Edge  |  IE   |
11074   * | :----: | :-----: | :----: | :----: | :---: |
11075   * | **1**  |  **1**  | **1**  | **12** | **4** |
11076   *
11077   * @see https://developer.mozilla.org/docs/Web/CSS/list-style-image
11078   */
11079  "list-style-image"?: ListStyleImageProperty;
11080  /**
11081   * The **`list-style-position`** CSS property sets the position of the `::marker` relative to a list item.
11082   *
11083   * **Syntax**: `inside | outside`
11084   *
11085   * **Initial value**: `outside`
11086   *
11087   * | Chrome | Firefox | Safari |  Edge  |  IE   |
11088   * | :----: | :-----: | :----: | :----: | :---: |
11089   * | **1**  |  **1**  | **1**  | **12** | **4** |
11090   *
11091   * @see https://developer.mozilla.org/docs/Web/CSS/list-style-position
11092   */
11093  "list-style-position"?: ListStylePositionProperty;
11094  /**
11095   * The **`list-style-type`** CSS property sets the marker (such as a disc, character, or custom counter style) of a list item element.
11096   *
11097   * **Syntax**: `<counter-style> | <string> | none`
11098   *
11099   * **Initial value**: `disc`
11100   *
11101   * | Chrome | Firefox | Safari |  Edge  |  IE   |
11102   * | :----: | :-----: | :----: | :----: | :---: |
11103   * | **1**  |  **1**  | **1**  | **12** | **4** |
11104   *
11105   * @see https://developer.mozilla.org/docs/Web/CSS/list-style-type
11106   */
11107  "list-style-type"?: ListStyleTypeProperty;
11108  /**
11109   * The **`margin-block`** CSS 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.
11110   *
11111   * **Syntax**: `<'margin-left'>{1,2}`
11112   *
11113   * **Initial value**: `0`
11114   *
11115   * | Chrome | Firefox | Safari | Edge | IE  |
11116   * | :----: | :-----: | :----: | :--: | :-: |
11117   * |  n/a   | **66**  |   No   | n/a  | No  |
11118   *
11119   * @see https://developer.mozilla.org/docs/Web/CSS/margin-block
11120   */
11121  "margin-block"?: MarginBlockProperty<TLength>;
11122  /**
11123   * 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.
11124   *
11125   * **Syntax**: `<'margin-left'>`
11126   *
11127   * **Initial value**: `0`
11128   *
11129   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
11130   * | :----: | :-----: | :------: | :----: | :-: |
11131   * | **69** | **41**  | **12.1** | **79** | No  |
11132   *
11133   * @see https://developer.mozilla.org/docs/Web/CSS/margin-block-end
11134   */
11135  "margin-block-end"?: MarginBlockEndProperty<TLength>;
11136  /**
11137   * 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.
11138   *
11139   * **Syntax**: `<'margin-left'>`
11140   *
11141   * **Initial value**: `0`
11142   *
11143   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
11144   * | :----: | :-----: | :------: | :----: | :-: |
11145   * | **69** | **41**  | **12.1** | **79** | No  |
11146   *
11147   * @see https://developer.mozilla.org/docs/Web/CSS/margin-block-start
11148   */
11149  "margin-block-start"?: MarginBlockStartProperty<TLength>;
11150  /**
11151   * 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.
11152   *
11153   * **Syntax**: `<length> | <percentage> | auto`
11154   *
11155   * **Initial value**: `0`
11156   *
11157   * | Chrome | Firefox | Safari |  Edge  |  IE   |
11158   * | :----: | :-----: | :----: | :----: | :---: |
11159   * | **1**  |  **1**  | **1**  | **12** | **3** |
11160   *
11161   * @see https://developer.mozilla.org/docs/Web/CSS/margin-bottom
11162   */
11163  "margin-bottom"?: MarginBottomProperty<TLength>;
11164  /**
11165   * The **`margin-inline`** CSS property defines 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.
11166   *
11167   * **Syntax**: `<'margin-left'>{1,2}`
11168   *
11169   * **Initial value**: `0`
11170   *
11171   * | Chrome | Firefox | Safari | Edge | IE  |
11172   * | :----: | :-----: | :----: | :--: | :-: |
11173   * |  n/a   | **66**  |   No   | n/a  | No  |
11174   *
11175   * @see https://developer.mozilla.org/docs/Web/CSS/margin-inline
11176   */
11177  "margin-inline"?: MarginInlineProperty<TLength>;
11178  /**
11179   * 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`.
11180   *
11181   * **Syntax**: `<'margin-left'>`
11182   *
11183   * **Initial value**: `0`
11184   *
11185   * |          Chrome          |        Firefox        |          Safari          |  Edge  | IE  |
11186   * | :----------------------: | :-------------------: | :----------------------: | :----: | :-: |
11187   * |          **69**          |        **41**         |         **12.1**         | **79** | No  |
11188   * | 2 _(-webkit-margin-end)_ | 3 _(-moz-margin-end)_ | 3 _(-webkit-margin-end)_ |        |     |
11189   *
11190   * @see https://developer.mozilla.org/docs/Web/CSS/margin-inline-end
11191   */
11192  "margin-inline-end"?: MarginInlineEndProperty<TLength>;
11193  /**
11194   * 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`.
11195   *
11196   * **Syntax**: `<'margin-left'>`
11197   *
11198   * **Initial value**: `0`
11199   *
11200   * |           Chrome           |         Firefox         |           Safari           |  Edge  | IE  |
11201   * | :------------------------: | :---------------------: | :------------------------: | :----: | :-: |
11202   * |           **69**           |         **41**          |          **12.1**          | **79** | No  |
11203   * | 2 _(-webkit-margin-start)_ | 3 _(-moz-margin-start)_ | 3 _(-webkit-margin-start)_ |        |     |
11204   *
11205   * @see https://developer.mozilla.org/docs/Web/CSS/margin-inline-start
11206   */
11207  "margin-inline-start"?: MarginInlineStartProperty<TLength>;
11208  /**
11209   * 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.
11210   *
11211   * **Syntax**: `<length> | <percentage> | auto`
11212   *
11213   * **Initial value**: `0`
11214   *
11215   * | Chrome | Firefox | Safari |  Edge  |  IE   |
11216   * | :----: | :-----: | :----: | :----: | :---: |
11217   * | **1**  |  **1**  | **1**  | **12** | **3** |
11218   *
11219   * @see https://developer.mozilla.org/docs/Web/CSS/margin-left
11220   */
11221  "margin-left"?: MarginLeftProperty<TLength>;
11222  /**
11223   * 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.
11224   *
11225   * **Syntax**: `<length> | <percentage> | auto`
11226   *
11227   * **Initial value**: `0`
11228   *
11229   * | Chrome | Firefox | Safari |  Edge  |  IE   |
11230   * | :----: | :-----: | :----: | :----: | :---: |
11231   * | **1**  |  **1**  | **1**  | **12** | **3** |
11232   *
11233   * @see https://developer.mozilla.org/docs/Web/CSS/margin-right
11234   */
11235  "margin-right"?: MarginRightProperty<TLength>;
11236  /**
11237   * 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.
11238   *
11239   * **Syntax**: `<length> | <percentage> | auto`
11240   *
11241   * **Initial value**: `0`
11242   *
11243   * | Chrome | Firefox | Safari |  Edge  |  IE   |
11244   * | :----: | :-----: | :----: | :----: | :---: |
11245   * | **1**  |  **1**  | **1**  | **12** | **3** |
11246   *
11247   * @see https://developer.mozilla.org/docs/Web/CSS/margin-top
11248   */
11249  "margin-top"?: MarginTopProperty<TLength>;
11250  /**
11251   * The **`mask-border-mode`** CSS property specifies the blending mode used in a mask border.
11252   *
11253   * **Syntax**: `luminance | alpha`
11254   *
11255   * **Initial value**: `alpha`
11256   */
11257  "mask-border-mode"?: MaskBorderModeProperty;
11258  /**
11259   * The **`mask-border-outset`** CSS property specifies the distance by which an element's mask border is set out from its border box.
11260   *
11261   * **Syntax**: `[ <length> | <number> ]{1,4}`
11262   *
11263   * **Initial value**: `0`
11264   */
11265  "mask-border-outset"?: MaskBorderOutsetProperty<TLength>;
11266  /**
11267   * 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.
11268   *
11269   * **Syntax**: `[ stretch | repeat | round | space ]{1,2}`
11270   *
11271   * **Initial value**: `stretch`
11272   */
11273  "mask-border-repeat"?: MaskBorderRepeatProperty;
11274  /**
11275   * 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.
11276   *
11277   * **Syntax**: `<number-percentage>{1,4} fill?`
11278   *
11279   * **Initial value**: `0`
11280   */
11281  "mask-border-slice"?: MaskBorderSliceProperty;
11282  /**
11283   * The **`mask-border-source`** CSS property sets the source image used to create an element's mask border.
11284   *
11285   * **Syntax**: `none | <image>`
11286   *
11287   * **Initial value**: `none`
11288   */
11289  "mask-border-source"?: MaskBorderSourceProperty;
11290  /**
11291   * The **`mask-border-width`** CSS property sets the width of an element's mask border.
11292   *
11293   * **Syntax**: `[ <length-percentage> | <number> | auto ]{1,4}`
11294   *
11295   * **Initial value**: `auto`
11296   */
11297  "mask-border-width"?: MaskBorderWidthProperty<TLength>;
11298  /**
11299   * 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.
11300   *
11301   * **Syntax**: `[ <geometry-box> | no-clip ]#`
11302   *
11303   * **Initial value**: `border-box`
11304   *
11305   * |   Chrome    | Firefox |   Safari    |     Edge     | IE  |
11306   * | :---------: | :-----: | :---------: | :----------: | :-: |
11307   * | **1** _-x-_ | **53**  | **4** _-x-_ | **79** _-x-_ | No  |
11308   *
11309   * @see https://developer.mozilla.org/docs/Web/CSS/mask-clip
11310   */
11311  "mask-clip"?: MaskClipProperty;
11312  /**
11313   * The **`mask-composite`** CSS property represents a compositing operation used on the current mask layer with the mask layers below it.
11314   *
11315   * **Syntax**: `<compositing-operator>#`
11316   *
11317   * **Initial value**: `add`
11318   *
11319   * | Chrome | Firefox | Safari | Edge  | IE  |
11320   * | :----: | :-----: | :----: | :---: | :-: |
11321   * |   No   | **53**  |   No   | 18-79 | No  |
11322   *
11323   * @see https://developer.mozilla.org/docs/Web/CSS/mask-composite
11324   */
11325  "mask-composite"?: MaskCompositeProperty;
11326  /**
11327   * The **`mask-image`** CSS property sets the image that is used as mask layer for an element.
11328   *
11329   * **Syntax**: `<mask-reference>#`
11330   *
11331   * **Initial value**: `none`
11332   *
11333   * |   Chrome    | Firefox |   Safari    |  Edge  | IE  |
11334   * | :---------: | :-----: | :---------: | :----: | :-: |
11335   * | **1** _-x-_ | **53**  | **4** _-x-_ | **16** | No  |
11336   *
11337   * @see https://developer.mozilla.org/docs/Web/CSS/mask-image
11338   */
11339  "mask-image"?: MaskImageProperty;
11340  /**
11341   * The **`mask-mode`** CSS property sets whether the mask reference defined by `mask-image` is treated as a luminance or alpha mask.
11342   *
11343   * **Syntax**: `<masking-mode>#`
11344   *
11345   * **Initial value**: `match-source`
11346   *
11347   * | Chrome | Firefox | Safari | Edge | IE  |
11348   * | :----: | :-----: | :----: | :--: | :-: |
11349   * |   No   | **53**  |   No   |  No  | No  |
11350   *
11351   * @see https://developer.mozilla.org/docs/Web/CSS/mask-mode
11352   */
11353  "mask-mode"?: MaskModeProperty;
11354  /**
11355   * The **`mask-origin`** CSS property sets the origin of a mask.
11356   *
11357   * **Syntax**: `<geometry-box>#`
11358   *
11359   * **Initial value**: `border-box`
11360   *
11361   * |   Chrome    | Firefox |   Safari    |     Edge     | IE  |
11362   * | :---------: | :-----: | :---------: | :----------: | :-: |
11363   * | **1** _-x-_ | **53**  | **4** _-x-_ | **79** _-x-_ | No  |
11364   *
11365   * @see https://developer.mozilla.org/docs/Web/CSS/mask-origin
11366   */
11367  "mask-origin"?: MaskOriginProperty;
11368  /**
11369   * The **`mask-position`** CSS property sets the initial position, relative to the mask position layer set by `mask-origin`, for each defined mask image.
11370   *
11371   * **Syntax**: `<position>#`
11372   *
11373   * **Initial value**: `center`
11374   *
11375   * |   Chrome    | Firefox |    Safari     |  Edge  | IE  |
11376   * | :---------: | :-----: | :-----------: | :----: | :-: |
11377   * | **1** _-x-_ | **53**  | **3.2** _-x-_ | **18** | No  |
11378   *
11379   * @see https://developer.mozilla.org/docs/Web/CSS/mask-position
11380   */
11381  "mask-position"?: MaskPositionProperty<TLength>;
11382  /**
11383   * 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.
11384   *
11385   * **Syntax**: `<repeat-style>#`
11386   *
11387   * **Initial value**: `no-repeat`
11388   *
11389   * |   Chrome    | Firefox |    Safari     |  Edge  | IE  |
11390   * | :---------: | :-----: | :-----------: | :----: | :-: |
11391   * | **1** _-x-_ | **53**  | **3.2** _-x-_ | **18** | No  |
11392   *
11393   * @see https://developer.mozilla.org/docs/Web/CSS/mask-repeat
11394   */
11395  "mask-repeat"?: MaskRepeatProperty;
11396  /**
11397   * 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.
11398   *
11399   * **Syntax**: `<bg-size>#`
11400   *
11401   * **Initial value**: `auto`
11402   *
11403   * |   Chrome    | Firefox |   Safari    |  Edge  | IE  |
11404   * | :---------: | :-----: | :---------: | :----: | :-: |
11405   * | **4** _-x-_ | **53**  | **4** _-x-_ | **18** | No  |
11406   *
11407   * @see https://developer.mozilla.org/docs/Web/CSS/mask-size
11408   */
11409  "mask-size"?: MaskSizeProperty<TLength>;
11410  /**
11411   * 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.
11412   *
11413   * **Syntax**: `luminance | alpha`
11414   *
11415   * **Initial value**: `luminance`
11416   *
11417   * | Chrome | Firefox | Safari  |  Edge  | IE  |
11418   * | :----: | :-----: | :-----: | :----: | :-: |
11419   * | **24** | **35**  | **6.1** | **79** | No  |
11420   *
11421   * @see https://developer.mozilla.org/docs/Web/CSS/mask-type
11422   */
11423  "mask-type"?: MaskTypeProperty;
11424  /**
11425   * 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`.
11426   *
11427   * **Syntax**: `<'max-width'>`
11428   *
11429   * **Initial value**: `0`
11430   *
11431   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
11432   * | :----: | :-----: | :------: | :----: | :-: |
11433   * | **57** | **41**  | **12.1** | **79** | No  |
11434   *
11435   * @see https://developer.mozilla.org/docs/Web/CSS/max-block-size
11436   */
11437  "max-block-size"?: MaxBlockSizeProperty<TLength>;
11438  /**
11439   * 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`.
11440   *
11441   * **Syntax**: `auto | <length> | <percentage> | min-content | max-content | fit-content(<length-percentage>)`
11442   *
11443   * **Initial value**: `none`
11444   *
11445   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
11446   * | :----: | :-----: | :-----: | :----: | :---: |
11447   * | **18** |  **1**  | **1.3** | **12** | **7** |
11448   *
11449   * @see https://developer.mozilla.org/docs/Web/CSS/max-height
11450   */
11451  "max-height"?: MaxHeightProperty<TLength>;
11452  /**
11453   * 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 the `max-width` or the `max-height` property depending on the value defined for `writing-mode`. If the writing mode is vertically oriented, the value of `max-inline-size` relates to the maximal height of the element, otherwise it relates to the maximal width of the element. It relates to `max-block-size`, which defines the other dimension of the element.
11454   *
11455   * **Syntax**: `<'max-width'>`
11456   *
11457   * **Initial value**: `0`
11458   *
11459   * | Chrome | Firefox |   Safari   |  Edge  | IE  |
11460   * | :----: | :-----: | :--------: | :----: | :-: |
11461   * | **57** | **41**  |  **12.1**  | **79** | No  |
11462   * |        |         | 10.1 _-x-_ |        |     |
11463   *
11464   * @see https://developer.mozilla.org/docs/Web/CSS/max-inline-size
11465   */
11466  "max-inline-size"?: MaxInlineSizeProperty<TLength>;
11467  /**
11468   * **Syntax**: `none | <integer>`
11469   *
11470   * **Initial value**: `none`
11471   */
11472  "max-lines"?: MaxLinesProperty;
11473  /**
11474   * 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`.
11475   *
11476   * **Syntax**: `auto | <length> | <percentage> | min-content | max-content | fit-content(<length-percentage>)`
11477   *
11478   * **Initial value**: `none`
11479   *
11480   * | Chrome | Firefox | Safari |  Edge  |  IE   |
11481   * | :----: | :-----: | :----: | :----: | :---: |
11482   * | **1**  |  **1**  | **1**  | **12** | **7** |
11483   *
11484   * @see https://developer.mozilla.org/docs/Web/CSS/max-width
11485   */
11486  "max-width"?: MaxWidthProperty<TLength>;
11487  /**
11488   * 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`.
11489   *
11490   * **Syntax**: `<'min-width'>`
11491   *
11492   * **Initial value**: `0`
11493   *
11494   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
11495   * | :----: | :-----: | :------: | :----: | :-: |
11496   * | **57** | **41**  | **12.1** | **79** | No  |
11497   *
11498   * @see https://developer.mozilla.org/docs/Web/CSS/min-block-size
11499   */
11500  "min-block-size"?: MinBlockSizeProperty<TLength>;
11501  /**
11502   * 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`.
11503   *
11504   * **Syntax**: `auto | <length> | <percentage> | min-content | max-content | fit-content(<length-percentage>)`
11505   *
11506   * **Initial value**: `auto`
11507   *
11508   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
11509   * | :----: | :-----: | :-----: | :----: | :---: |
11510   * | **1**  |  **3**  | **1.3** | **12** | **7** |
11511   *
11512   * @see https://developer.mozilla.org/docs/Web/CSS/min-height
11513   */
11514  "min-height"?: MinHeightProperty<TLength>;
11515  /**
11516   * 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`.
11517   *
11518   * **Syntax**: `<'min-width'>`
11519   *
11520   * **Initial value**: `0`
11521   *
11522   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
11523   * | :----: | :-----: | :------: | :----: | :-: |
11524   * | **57** | **41**  | **12.1** | **79** | No  |
11525   *
11526   * @see https://developer.mozilla.org/docs/Web/CSS/min-inline-size
11527   */
11528  "min-inline-size"?: MinInlineSizeProperty<TLength>;
11529  /**
11530   * 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`.
11531   *
11532   * **Syntax**: `auto | <length> | <percentage> | min-content | max-content | fit-content(<length-percentage>)`
11533   *
11534   * **Initial value**: `auto`
11535   *
11536   * | Chrome | Firefox | Safari |  Edge  |  IE   |
11537   * | :----: | :-----: | :----: | :----: | :---: |
11538   * | **1**  |  **1**  | **1**  | **12** | **7** |
11539   *
11540   * @see https://developer.mozilla.org/docs/Web/CSS/min-width
11541   */
11542  "min-width"?: MinWidthProperty<TLength>;
11543  /**
11544   * 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.
11545   *
11546   * **Syntax**: `<blend-mode>`
11547   *
11548   * **Initial value**: `normal`
11549   *
11550   * | Chrome | Firefox | Safari |  Edge  | IE  |
11551   * | :----: | :-----: | :----: | :----: | :-: |
11552   * | **41** | **32**  | **8**  | **79** | No  |
11553   *
11554   * @see https://developer.mozilla.org/docs/Web/CSS/mix-blend-mode
11555   */
11556  "mix-blend-mode"?: MixBlendModeProperty;
11557  /**
11558   * The **`offset-distance`** CSS property specifies a position along an `offset-path`.
11559   *
11560   * **Syntax**: `<length-percentage>`
11561   *
11562   * **Initial value**: `0`
11563   *
11564   * |         Chrome         | Firefox | Safari |  Edge  | IE  |
11565   * | :--------------------: | :-----: | :----: | :----: | :-: |
11566   * |         **55**         | **72**  |   No   | **79** | No  |
11567   * | 46 _(motion-distance)_ |         |        |        |     |
11568   *
11569   * @see https://developer.mozilla.org/docs/Web/CSS/offset-distance
11570   */
11571  "motion-distance"?: OffsetDistanceProperty<TLength>;
11572  /**
11573   * 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.
11574   *
11575   * **Syntax**: `none | ray( [ <angle> && <size>? && contain? ] ) | <path()> | <url> | [ <basic-shape> || <geometry-box> ]`
11576   *
11577   * **Initial value**: `none`
11578   *
11579   * |       Chrome       | Firefox | Safari |  Edge  | IE  |
11580   * | :----------------: | :-----: | :----: | :----: | :-: |
11581   * |       **55**       | **72**  |   No   | **79** | No  |
11582   * | 46 _(motion-path)_ |         |        |        |     |
11583   *
11584   * @see https://developer.mozilla.org/docs/Web/CSS/offset-path
11585   */
11586  "motion-path"?: OffsetPathProperty;
11587  /**
11588   * The **`offset-rotate`** CSS property defines the direction of the element while positioning along the offset path.
11589   *
11590   * **Syntax**: `[ auto | reverse ] || <angle>`
11591   *
11592   * **Initial value**: `auto`
11593   *
11594   * |         Chrome         | Firefox | Safari |  Edge  | IE  |
11595   * | :--------------------: | :-----: | :----: | :----: | :-: |
11596   * |         **56**         | **72**  |   No   | **79** | No  |
11597   * | 46 _(motion-rotation)_ |         |        |        |     |
11598   *
11599   * @see https://developer.mozilla.org/docs/Web/CSS/offset-rotate
11600   */
11601  "motion-rotation"?: OffsetRotateProperty;
11602  /**
11603   * 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.
11604   *
11605   * **Syntax**: `fill | contain | cover | none | scale-down`
11606   *
11607   * **Initial value**: `fill`
11608   *
11609   * | Chrome | Firefox | Safari |  Edge  | IE  |
11610   * | :----: | :-----: | :----: | :----: | :-: |
11611   * | **31** | **36**  | **10** | **16** | No  |
11612   *
11613   * @see https://developer.mozilla.org/docs/Web/CSS/object-fit
11614   */
11615  "object-fit"?: ObjectFitProperty;
11616  /**
11617   * 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.
11618   *
11619   * **Syntax**: `<position>`
11620   *
11621   * **Initial value**: `50% 50%`
11622   *
11623   * | Chrome | Firefox | Safari |  Edge  | IE  |
11624   * | :----: | :-----: | :----: | :----: | :-: |
11625   * | **31** | **36**  | **10** | **16** | No  |
11626   *
11627   * @see https://developer.mozilla.org/docs/Web/CSS/object-position
11628   */
11629  "object-position"?: ObjectPositionProperty<TLength>;
11630  /**
11631   * **Syntax**: `auto | <position>`
11632   *
11633   * **Initial value**: `auto`
11634   *
11635   * | Chrome | Firefox | Safari |  Edge  | IE  |
11636   * | :----: | :-----: | :----: | :----: | :-: |
11637   * | **79** | **72**  |   No   | **79** | No  |
11638   *
11639   * @see https://developer.mozilla.org/docs/Web/CSS/offset-anchor
11640   */
11641  "offset-anchor"?: OffsetAnchorProperty<TLength>;
11642  /**
11643   * The **`offset-distance`** CSS property specifies a position along an `offset-path`.
11644   *
11645   * **Syntax**: `<length-percentage>`
11646   *
11647   * **Initial value**: `0`
11648   *
11649   * |         Chrome         | Firefox | Safari |  Edge  | IE  |
11650   * | :--------------------: | :-----: | :----: | :----: | :-: |
11651   * |         **55**         | **72**  |   No   | **79** | No  |
11652   * | 46 _(motion-distance)_ |         |        |        |     |
11653   *
11654   * @see https://developer.mozilla.org/docs/Web/CSS/offset-distance
11655   */
11656  "offset-distance"?: OffsetDistanceProperty<TLength>;
11657  /**
11658   * 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.
11659   *
11660   * **Syntax**: `none | ray( [ <angle> && <size>? && contain? ] ) | <path()> | <url> | [ <basic-shape> || <geometry-box> ]`
11661   *
11662   * **Initial value**: `none`
11663   *
11664   * |       Chrome       | Firefox | Safari |  Edge  | IE  |
11665   * | :----------------: | :-----: | :----: | :----: | :-: |
11666   * |       **55**       | **72**  |   No   | **79** | No  |
11667   * | 46 _(motion-path)_ |         |        |        |     |
11668   *
11669   * @see https://developer.mozilla.org/docs/Web/CSS/offset-path
11670   */
11671  "offset-path"?: OffsetPathProperty;
11672  /**
11673   * The **`offset-rotate`** CSS property defines the direction of the element while positioning along the offset path.
11674   *
11675   * **Syntax**: `[ auto | reverse ] || <angle>`
11676   *
11677   * **Initial value**: `auto`
11678   *
11679   * |         Chrome         | Firefox | Safari |  Edge  | IE  |
11680   * | :--------------------: | :-----: | :----: | :----: | :-: |
11681   * |         **56**         | **72**  |   No   | **79** | No  |
11682   * | 46 _(motion-rotation)_ |         |        |        |     |
11683   *
11684   * @see https://developer.mozilla.org/docs/Web/CSS/offset-rotate
11685   */
11686  "offset-rotate"?: OffsetRotateProperty;
11687  /**
11688   * The **`offset-rotate`** CSS property defines the direction of the element while positioning along the offset path.
11689   *
11690   * **Syntax**: `[ auto | reverse ] || <angle>`
11691   *
11692   * **Initial value**: `auto`
11693   *
11694   * |         Chrome         | Firefox | Safari |  Edge  | IE  |
11695   * | :--------------------: | :-----: | :----: | :----: | :-: |
11696   * |         **56**         | **72**  |   No   | **79** | No  |
11697   * | 46 _(motion-rotation)_ |         |        |        |     |
11698   *
11699   * @see https://developer.mozilla.org/docs/Web/CSS/offset-rotate
11700   */
11701  "offset-rotation"?: OffsetRotateProperty;
11702  /**
11703   * The **`opacity`** CSS property sets the transparency of an element or the degree to which content behind an element is visible.
11704   *
11705   * **Syntax**: `<alpha-value>`
11706   *
11707   * **Initial value**: `1.0`
11708   *
11709   * | Chrome | Firefox | Safari |  Edge  |  IE   |
11710   * | :----: | :-----: | :----: | :----: | :---: |
11711   * | **1**  |  **1**  | **2**  | **12** | **9** |
11712   *
11713   * @see https://developer.mozilla.org/docs/Web/CSS/opacity
11714   */
11715  opacity?: OpacityProperty;
11716  /**
11717   * 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.
11718   *
11719   * **Syntax**: `<integer>`
11720   *
11721   * **Initial value**: `0`
11722   *
11723   * |  Chrome  | Firefox | Safari  |  Edge  |    IE    |
11724   * | :------: | :-----: | :-----: | :----: | :------: |
11725   * |  **29**  | **20**  |  **9**  | **12** |  **11**  |
11726   * | 21 _-x-_ |         | 7 _-x-_ |        | 10 _-x-_ |
11727   *
11728   * @see https://developer.mozilla.org/docs/Web/CSS/order
11729   */
11730  order?: GlobalsNumber;
11731  /**
11732   * 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.
11733   *
11734   * **Syntax**: `<integer>`
11735   *
11736   * **Initial value**: `2`
11737   *
11738   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
11739   * | :----: | :-----: | :-----: | :----: | :---: |
11740   * | **25** |   No    | **1.3** | **12** | **8** |
11741   *
11742   * @see https://developer.mozilla.org/docs/Web/CSS/orphans
11743   */
11744  orphans?: GlobalsNumber;
11745  /**
11746   * The **`outline-color`** CSS property sets the color of an element's outline.
11747   *
11748   * **Syntax**: `<color> | invert`
11749   *
11750   * **Initial value**: `invert`, for browsers supporting it, `currentColor` for the other
11751   *
11752   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
11753   * | :----: | :-----: | :-----: | :----: | :---: |
11754   * | **1**  | **1.5** | **1.2** | **12** | **8** |
11755   *
11756   * @see https://developer.mozilla.org/docs/Web/CSS/outline-color
11757   */
11758  "outline-color"?: OutlineColorProperty;
11759  /**
11760   * The **`outline-offset`** CSS property sets the amount of space between an outline and the edge or border of an element.
11761   *
11762   * **Syntax**: `<length>`
11763   *
11764   * **Initial value**: `0`
11765   *
11766   * | Chrome | Firefox | Safari  |  Edge  | IE  |
11767   * | :----: | :-----: | :-----: | :----: | :-: |
11768   * | **1**  | **1.5** | **1.2** | **15** | No  |
11769   *
11770   * @see https://developer.mozilla.org/docs/Web/CSS/outline-offset
11771   */
11772  "outline-offset"?: OutlineOffsetProperty<TLength>;
11773  /**
11774   * 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`.
11775   *
11776   * **Syntax**: `auto | <'border-style'>`
11777   *
11778   * **Initial value**: `none`
11779   *
11780   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
11781   * | :----: | :-----: | :-----: | :----: | :---: |
11782   * | **1**  | **1.5** | **1.2** | **12** | **8** |
11783   *
11784   * @see https://developer.mozilla.org/docs/Web/CSS/outline-style
11785   */
11786  "outline-style"?: OutlineStyleProperty;
11787  /**
11788   * The **`outline-width`** CSS property sets the thickness of an element's outline. An outline is a line that is drawn around an element, outside the `border`.
11789   *
11790   * **Syntax**: `<line-width>`
11791   *
11792   * **Initial value**: `medium`
11793   *
11794   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
11795   * | :----: | :-----: | :-----: | :----: | :---: |
11796   * | **1**  | **1.5** | **1.2** | **12** | **8** |
11797   *
11798   * @see https://developer.mozilla.org/docs/Web/CSS/outline-width
11799   */
11800  "outline-width"?: OutlineWidthProperty<TLength>;
11801  /**
11802   * **Syntax**: `auto | none`
11803   *
11804   * **Initial value**: `auto`
11805   *
11806   * | Chrome | Firefox | Safari |  Edge  | IE  |
11807   * | :----: | :-----: | :----: | :----: | :-: |
11808   * | **56** | **66**  |   No   | **79** | No  |
11809   *
11810   * @see https://developer.mozilla.org/docs/Web/CSS/overflow-anchor
11811   */
11812  "overflow-anchor"?: OverflowAnchorProperty;
11813  /**
11814   * **Syntax**: `visible | hidden | clip | scroll | auto`
11815   *
11816   * **Initial value**: `auto`
11817   *
11818   * | Chrome | Firefox | Safari | Edge | IE  |
11819   * | :----: | :-----: | :----: | :--: | :-: |
11820   * |   No   | **69**  |   No   |  No  | No  |
11821   *
11822   * @see https://developer.mozilla.org/docs/Web/CSS/overflow-block
11823   */
11824  "overflow-block"?: OverflowBlockProperty;
11825  /**
11826   * 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.
11827   *
11828   * **Syntax**: `padding-box | content-box`
11829   *
11830   * **Initial value**: `padding-box`
11831   *
11832   * | Chrome | Firefox | Safari | Edge | IE  |
11833   * | :----: | :-----: | :----: | :--: | :-: |
11834   * |   No   | **29**  |   No   |  No  | No  |
11835   *
11836   * @see https://developer.mozilla.org/docs/Mozilla/Gecko/Chrome/CSS/overflow-clip-box
11837   */
11838  "overflow-clip-box"?: OverflowClipBoxProperty;
11839  /**
11840   * **Syntax**: `visible | hidden | clip | scroll | auto`
11841   *
11842   * **Initial value**: `auto`
11843   *
11844   * | Chrome | Firefox | Safari | Edge | IE  |
11845   * | :----: | :-----: | :----: | :--: | :-: |
11846   * |   No   | **69**  |   No   |  No  | No  |
11847   *
11848   * @see https://developer.mozilla.org/docs/Web/CSS/overflow-inline
11849   */
11850  "overflow-inline"?: OverflowInlineProperty;
11851  /**
11852   * The `**overflow-wrap**` CSS property sets whether the browser should insert line breaks within words to prevent text from overflowing its content box.
11853   *
11854   * **Syntax**: `normal | break-word | anywhere`
11855   *
11856   * **Initial value**: `normal`
11857   *
11858   * |     Chrome      |      Firefox      |     Safari      |       Edge       |          IE           |
11859   * | :-------------: | :---------------: | :-------------: | :--------------: | :-------------------: |
11860   * |     **23**      |      **49**       |     **6.1**     |      **18**      | **5.5** _(word-wrap)_ |
11861   * | 1 _(word-wrap)_ | 3.5 _(word-wrap)_ | 1 _(word-wrap)_ | 12 _(word-wrap)_ |                       |
11862   *
11863   * @see https://developer.mozilla.org/docs/Web/CSS/overflow-wrap
11864   */
11865  "overflow-wrap"?: OverflowWrapProperty;
11866  /**
11867   * 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.
11868   *
11869   * **Syntax**: `visible | hidden | clip | scroll | auto`
11870   *
11871   * **Initial value**: `visible`
11872   *
11873   * | Chrome | Firefox | Safari |  Edge  |  IE   |
11874   * | :----: | :-----: | :----: | :----: | :---: |
11875   * | **1**  | **3.5** | **3**  | **12** | **5** |
11876   *
11877   * @see https://developer.mozilla.org/docs/Web/CSS/overflow-x
11878   */
11879  "overflow-x"?: OverflowXProperty;
11880  /**
11881   * 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.
11882   *
11883   * **Syntax**: `visible | hidden | clip | scroll | auto`
11884   *
11885   * **Initial value**: `visible`
11886   *
11887   * | Chrome | Firefox | Safari |  Edge  |  IE   |
11888   * | :----: | :-----: | :----: | :----: | :---: |
11889   * | **1**  | **1.5** | **3**  | **12** | **5** |
11890   *
11891   * @see https://developer.mozilla.org/docs/Web/CSS/overflow-y
11892   */
11893  "overflow-y"?: OverflowYProperty;
11894  /**
11895   * 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`.
11896   *
11897   * **Syntax**: `[ contain | none | auto ]{1,2}`
11898   *
11899   * **Initial value**: `auto`
11900   *
11901   * | Chrome | Firefox | Safari |  Edge  | IE  |
11902   * | :----: | :-----: | :----: | :----: | :-: |
11903   * | **63** | **59**  |   No   | **18** | No  |
11904   *
11905   * @see https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior
11906   */
11907  "overscroll-behavior"?: OverscrollBehaviorProperty;
11908  /**
11909   * The **`overscroll-behavior-block`** CSS property sets the browser's behavior when the block direction boundary of a scrolling area is reached.
11910   *
11911   * **Syntax**: `contain | none | auto`
11912   *
11913   * **Initial value**: `auto`
11914   *
11915   * | Chrome | Firefox | Safari |  Edge  | IE  |
11916   * | :----: | :-----: | :----: | :----: | :-: |
11917   * | **77** | **73**  |   No   | **79** | No  |
11918   *
11919   * @see https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-block
11920   */
11921  "overscroll-behavior-block"?: OverscrollBehaviorBlockProperty;
11922  /**
11923   * The **`overscroll-behavior-inline`** CSS property sets the browser's behavior when the inline direction boundary of a scrolling area is reached.
11924   *
11925   * **Syntax**: `contain | none | auto`
11926   *
11927   * **Initial value**: `auto`
11928   *
11929   * | Chrome | Firefox | Safari |  Edge  | IE  |
11930   * | :----: | :-----: | :----: | :----: | :-: |
11931   * | **77** | **73**  |   No   | **79** | No  |
11932   *
11933   * @see https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-inline
11934   */
11935  "overscroll-behavior-inline"?: OverscrollBehaviorInlineProperty;
11936  /**
11937   * The **`overscroll-behavior-x`** CSS property sets the browser's behavior when the horizontal boundary of a scrolling area is reached.
11938   *
11939   * **Syntax**: `contain | none | auto`
11940   *
11941   * **Initial value**: `auto`
11942   *
11943   * | Chrome | Firefox | Safari |  Edge  | IE  |
11944   * | :----: | :-----: | :----: | :----: | :-: |
11945   * | **63** | **59**  |   No   | **18** | No  |
11946   *
11947   * @see https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-x
11948   */
11949  "overscroll-behavior-x"?: OverscrollBehaviorXProperty;
11950  /**
11951   * The **`overscroll-behavior-y`** CSS property sets the browser's behavior when the vertical boundary of a scrolling area is reached.
11952   *
11953   * **Syntax**: `contain | none | auto`
11954   *
11955   * **Initial value**: `auto`
11956   *
11957   * | Chrome | Firefox | Safari |  Edge  | IE  |
11958   * | :----: | :-----: | :----: | :----: | :-: |
11959   * | **63** | **59**  |   No   | **18** | No  |
11960   *
11961   * @see https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-y
11962   */
11963  "overscroll-behavior-y"?: OverscrollBehaviorYProperty;
11964  /**
11965   * The **`padding-block`** CSS 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.
11966   *
11967   * **Syntax**: `<'padding-left'>{1,2}`
11968   *
11969   * **Initial value**: `0`
11970   *
11971   * | Chrome | Firefox | Safari | Edge | IE  |
11972   * | :----: | :-----: | :----: | :--: | :-: |
11973   * |  n/a   | **66**  |   No   | n/a  | No  |
11974   *
11975   * @see https://developer.mozilla.org/docs/Web/CSS/padding-block
11976   */
11977  "padding-block"?: PaddingBlockProperty<TLength>;
11978  /**
11979   * 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. It corresponds to the `padding-top`, `padding-right`, `padding-bottom`, or `padding-left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
11980   *
11981   * **Syntax**: `<'padding-left'>`
11982   *
11983   * **Initial value**: `0`
11984   *
11985   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
11986   * | :----: | :-----: | :------: | :----: | :-: |
11987   * | **69** | **41**  | **12.1** | **79** | No  |
11988   *
11989   * @see https://developer.mozilla.org/docs/Web/CSS/padding-block-end
11990   */
11991  "padding-block-end"?: PaddingBlockEndProperty<TLength>;
11992  /**
11993   * 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. It corresponds to the `padding-top`, `padding-right`, `padding-bottom`, or `padding-left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
11994   *
11995   * **Syntax**: `<'padding-left'>`
11996   *
11997   * **Initial value**: `0`
11998   *
11999   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
12000   * | :----: | :-----: | :------: | :----: | :-: |
12001   * | **69** | **41**  | **12.1** | **79** | No  |
12002   *
12003   * @see https://developer.mozilla.org/docs/Web/CSS/padding-block-start
12004   */
12005  "padding-block-start"?: PaddingBlockStartProperty<TLength>;
12006  /**
12007   * The **`padding-bottom`** CSS property sets the height of the padding area on the bottom of an element.
12008   *
12009   * **Syntax**: `<length> | <percentage>`
12010   *
12011   * **Initial value**: `0`
12012   *
12013   * | Chrome | Firefox | Safari |  Edge  |  IE   |
12014   * | :----: | :-----: | :----: | :----: | :---: |
12015   * | **1**  |  **1**  | **1**  | **12** | **4** |
12016   *
12017   * @see https://developer.mozilla.org/docs/Web/CSS/padding-bottom
12018   */
12019  "padding-bottom"?: PaddingBottomProperty<TLength>;
12020  /**
12021   * The **`padding-inline`** CSS 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.
12022   *
12023   * **Syntax**: `<'padding-left'>{1,2}`
12024   *
12025   * **Initial value**: `0`
12026   *
12027   * | Chrome | Firefox | Safari | Edge | IE  |
12028   * | :----: | :-----: | :----: | :--: | :-: |
12029   * |  n/a   | **66**  |   No   | n/a  | No  |
12030   *
12031   * @see https://developer.mozilla.org/docs/Web/CSS/padding-inline
12032   */
12033  "padding-inline"?: PaddingInlineProperty<TLength>;
12034  /**
12035   * 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. It corresponds to the `padding-top`, `padding-right`, `padding-bottom`, or `padding-left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
12036   *
12037   * **Syntax**: `<'padding-left'>`
12038   *
12039   * **Initial value**: `0`
12040   *
12041   * |          Chrome           |        Firefox         |          Safari           |  Edge  | IE  |
12042   * | :-----------------------: | :--------------------: | :-----------------------: | :----: | :-: |
12043   * |          **69**           |         **41**         |         **12.1**          | **79** | No  |
12044   * | 2 _(-webkit-padding-end)_ | 3 _(-moz-padding-end)_ | 3 _(-webkit-padding-end)_ |        |     |
12045   *
12046   * @see https://developer.mozilla.org/docs/Web/CSS/padding-inline-end
12047   */
12048  "padding-inline-end"?: PaddingInlineEndProperty<TLength>;
12049  /**
12050   * 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. It corresponds to the `padding-top`, `padding-right`, `padding-bottom`, or `padding-left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
12051   *
12052   * **Syntax**: `<'padding-left'>`
12053   *
12054   * **Initial value**: `0`
12055   *
12056   * |           Chrome            |         Firefox          |           Safari            |  Edge  | IE  |
12057   * | :-------------------------: | :----------------------: | :-------------------------: | :----: | :-: |
12058   * |           **69**            |          **41**          |          **12.1**           | **79** | No  |
12059   * | 2 _(-webkit-padding-start)_ | 3 _(-moz-padding-start)_ | 3 _(-webkit-padding-start)_ |        |     |
12060   *
12061   * @see https://developer.mozilla.org/docs/Web/CSS/padding-inline-start
12062   */
12063  "padding-inline-start"?: PaddingInlineStartProperty<TLength>;
12064  /**
12065   * The **`padding-left`** CSS property sets the width of the padding area on the left side of an element.
12066   *
12067   * **Syntax**: `<length> | <percentage>`
12068   *
12069   * **Initial value**: `0`
12070   *
12071   * | Chrome | Firefox | Safari |  Edge  |  IE   |
12072   * | :----: | :-----: | :----: | :----: | :---: |
12073   * | **1**  |  **1**  | **1**  | **12** | **4** |
12074   *
12075   * @see https://developer.mozilla.org/docs/Web/CSS/padding-left
12076   */
12077  "padding-left"?: PaddingLeftProperty<TLength>;
12078  /**
12079   * The **`padding-right`** CSS property sets the width of the padding area on the right side of an element.
12080   *
12081   * **Syntax**: `<length> | <percentage>`
12082   *
12083   * **Initial value**: `0`
12084   *
12085   * | Chrome | Firefox | Safari |  Edge  |  IE   |
12086   * | :----: | :-----: | :----: | :----: | :---: |
12087   * | **1**  |  **1**  | **1**  | **12** | **4** |
12088   *
12089   * @see https://developer.mozilla.org/docs/Web/CSS/padding-right
12090   */
12091  "padding-right"?: PaddingRightProperty<TLength>;
12092  /**
12093   * The **`padding-top`** padding area on the top of an element.
12094   *
12095   * **Syntax**: `<length> | <percentage>`
12096   *
12097   * **Initial value**: `0`
12098   *
12099   * | Chrome | Firefox | Safari |  Edge  |  IE   |
12100   * | :----: | :-----: | :----: | :----: | :---: |
12101   * | **1**  |  **1**  | **1**  | **12** | **4** |
12102   *
12103   * @see https://developer.mozilla.org/docs/Web/CSS/padding-top
12104   */
12105  "padding-top"?: PaddingTopProperty<TLength>;
12106  /**
12107   * The **`page-break-after`** CSS property adjusts page breaks _after_ the current element.
12108   *
12109   * **Syntax**: `auto | always | avoid | left | right | recto | verso`
12110   *
12111   * **Initial value**: `auto`
12112   *
12113   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
12114   * | :----: | :-----: | :-----: | :----: | :---: |
12115   * | **1**  |  **1**  | **1.2** | **12** | **4** |
12116   *
12117   * @see https://developer.mozilla.org/docs/Web/CSS/page-break-after
12118   */
12119  "page-break-after"?: PageBreakAfterProperty;
12120  /**
12121   * The **`page-break-before`** CSS property adjusts page breaks _before_ the current element.
12122   *
12123   * **Syntax**: `auto | always | avoid | left | right | recto | verso`
12124   *
12125   * **Initial value**: `auto`
12126   *
12127   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
12128   * | :----: | :-----: | :-----: | :----: | :---: |
12129   * | **1**  |  **1**  | **1.2** | **12** | **4** |
12130   *
12131   * @see https://developer.mozilla.org/docs/Web/CSS/page-break-before
12132   */
12133  "page-break-before"?: PageBreakBeforeProperty;
12134  /**
12135   * The **`page-break-inside`** CSS property adjusts page breaks _inside_ the current element.
12136   *
12137   * **Syntax**: `auto | avoid`
12138   *
12139   * **Initial value**: `auto`
12140   *
12141   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
12142   * | :----: | :-----: | :-----: | :----: | :---: |
12143   * | **1**  | **19**  | **1.3** | **12** | **8** |
12144   *
12145   * @see https://developer.mozilla.org/docs/Web/CSS/page-break-inside
12146   */
12147  "page-break-inside"?: PageBreakInsideProperty;
12148  /**
12149   * 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.
12150   *
12151   * **Syntax**: `normal | [ fill || stroke || markers ]`
12152   *
12153   * **Initial value**: `normal`
12154   *
12155   * | Chrome | Firefox | Safari |  Edge  | IE  |
12156   * | :----: | :-----: | :----: | :----: | :-: |
12157   * | **35** | **60**  | **8**  | **17** | No  |
12158   *
12159   * @see https://developer.mozilla.org/docs/Web/CSS/paint-order
12160   */
12161  "paint-order"?: PaintOrderProperty;
12162  /**
12163   * 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. Each 3D element with z>0 becomes larger; each 3D-element with z<0 becomes smaller. The strength of the effect is determined by the value of this property.
12164   *
12165   * **Syntax**: `none | <length>`
12166   *
12167   * **Initial value**: `none`
12168   *
12169   * |  Chrome  | Firefox  | Safari  |  Edge  |   IE   |
12170   * | :------: | :------: | :-----: | :----: | :----: |
12171   * |  **36**  |  **16**  |  **9**  | **12** | **10** |
12172   * | 12 _-x-_ | 10 _-x-_ | 4 _-x-_ |        |        |
12173   *
12174   * @see https://developer.mozilla.org/docs/Web/CSS/perspective
12175   */
12176  perspective?: PerspectiveProperty<TLength>;
12177  /**
12178   * 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.
12179   *
12180   * **Syntax**: `<position>`
12181   *
12182   * **Initial value**: `50% 50%`
12183   *
12184   * |  Chrome  | Firefox  | Safari  |  Edge  |   IE   |
12185   * | :------: | :------: | :-----: | :----: | :----: |
12186   * |  **36**  |  **16**  |  **9**  | **12** | **10** |
12187   * | 12 _-x-_ | 10 _-x-_ | 4 _-x-_ |        |        |
12188   *
12189   * @see https://developer.mozilla.org/docs/Web/CSS/perspective-origin
12190   */
12191  "perspective-origin"?: PerspectiveOriginProperty<TLength>;
12192  /**
12193   * The `**place-content**` CSS property is a shorthand for `align-content` and `justify-content`. It can be used in any layout method which utilizes both of these alignment values.
12194   *
12195   * **Syntax**: `<'align-content'> <'justify-content'>?`
12196   *
12197   * **Initial value**: `normal`
12198   *
12199   * ---
12200   *
12201   * _Supported in Flex Layout_
12202   *
12203   * | Chrome | Firefox | Safari |  Edge  | IE  |
12204   * | :----: | :-----: | :----: | :----: | :-: |
12205   * | **59** | **45**  | **9**  | **79** | No  |
12206   *
12207   * ---
12208   *
12209   * _Supported in Grid Layout_
12210   *
12211   * | Chrome | Firefox | Safari |  Edge  | IE  |
12212   * | :----: | :-----: | :----: | :----: | :-: |
12213   * | **59** | **53**  | **11** | **79** | No  |
12214   *
12215   * ---
12216   *
12217   * @see https://developer.mozilla.org/docs/Web/CSS/place-content
12218   */
12219  "place-content"?: PlaceContentProperty;
12220  /**
12221   * The **`pointer-events`** CSS property sets under what circumstances (if any) a particular graphic element can become the target of mouse events.
12222   *
12223   * **Syntax**: `auto | none | visiblePainted | visibleFill | visibleStroke | visible | painted | fill | stroke | all | inherit`
12224   *
12225   * **Initial value**: `auto`
12226   *
12227   * | Chrome | Firefox | Safari |  Edge  |   IE   |
12228   * | :----: | :-----: | :----: | :----: | :----: |
12229   * | **1**  | **1.5** | **4**  | **12** | **11** |
12230   *
12231   * @see https://developer.mozilla.org/docs/Web/CSS/pointer-events
12232   */
12233  "pointer-events"?: PointerEventsProperty;
12234  /**
12235   * 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.
12236   *
12237   * **Syntax**: `static | relative | absolute | sticky | fixed`
12238   *
12239   * **Initial value**: `static`
12240   *
12241   * | Chrome | Firefox | Safari |  Edge  |  IE   |
12242   * | :----: | :-----: | :----: | :----: | :---: |
12243   * | **1**  |  **1**  | **1**  | **12** | **4** |
12244   *
12245   * @see https://developer.mozilla.org/docs/Web/CSS/position
12246   */
12247  position?: PositionProperty;
12248  /**
12249   * The **`quotes`** CSS property sets how quotation marks appear.
12250   *
12251   * **Syntax**: `none | auto | [ <string> <string> ]+`
12252   *
12253   * **Initial value**: depends on user agent
12254   *
12255   * | Chrome | Firefox | Safari |  Edge  |  IE   |
12256   * | :----: | :-----: | :----: | :----: | :---: |
12257   * | **11** | **1.5** | **9**  | **12** | **8** |
12258   *
12259   * @see https://developer.mozilla.org/docs/Web/CSS/quotes
12260   */
12261  quotes?: QuotesProperty;
12262  /**
12263   * The **`resize`** CSS property sets whether an element is resizable, and if so, in which directions.
12264   *
12265   * **Syntax**: `none | both | horizontal | vertical | block | inline`
12266   *
12267   * **Initial value**: `none`
12268   *
12269   * | Chrome | Firefox | Safari |  Edge  | IE  |
12270   * | :----: | :-----: | :----: | :----: | :-: |
12271   * | **1**  |  **4**  | **3**  | **79** | No  |
12272   *
12273   * @see https://developer.mozilla.org/docs/Web/CSS/resize
12274   */
12275  resize?: ResizeProperty;
12276  /**
12277   * The **`right`** CSS property participates in specifying the horizontal position of a _positioned element_. It has no effect on non-positioned elements.
12278   *
12279   * **Syntax**: `<length> | <percentage> | auto`
12280   *
12281   * **Initial value**: `auto`
12282   *
12283   * | Chrome | Firefox | Safari |  Edge  |   IE    |
12284   * | :----: | :-----: | :----: | :----: | :-----: |
12285   * | **1**  |  **1**  | **1**  | **12** | **5.5** |
12286   *
12287   * @see https://developer.mozilla.org/docs/Web/CSS/right
12288   */
12289  right?: RightProperty<TLength>;
12290  /**
12291   * The **`rotate`** CSS property allows you to specify rotation transforms individually and independantly 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.
12292   *
12293   * **Syntax**: `none | <angle> | [ x | y | z | <number>{3} ] && <angle>`
12294   *
12295   * **Initial value**: `none`
12296   *
12297   * | Chrome | Firefox | Safari | Edge | IE  |
12298   * | :----: | :-----: | :----: | :--: | :-: |
12299   * |   No   | **72**  |   No   |  No  | No  |
12300   *
12301   * @see https://developer.mozilla.org/docs/Web/CSS/rotate
12302   */
12303  rotate?: RotateProperty;
12304  /**
12305   * The **`row-gap`** CSS property sets the size of the gap (gutter) between an element's grid rows.
12306   *
12307   * **Syntax**: `normal | <length-percentage>`
12308   *
12309   * **Initial value**: `normal`
12310   *
12311   * ---
12312   *
12313   * _Supported in Flex Layout_
12314   *
12315   * | Chrome | Firefox | Safari | Edge | IE  |
12316   * | :----: | :-----: | :----: | :--: | :-: |
12317   * |   No   | **63**  |   No   |  No  | No  |
12318   *
12319   * ---
12320   *
12321   * _Supported in Grid Layout_
12322   *
12323   * |       Chrome        |       Firefox       |          Safari           |  Edge  | IE  |
12324   * | :-----------------: | :-----------------: | :-----------------------: | :----: | :-: |
12325   * |       **66**        |       **61**        | **10.1** _(grid-row-gap)_ | **16** | No  |
12326   * | 57 _(grid-row-gap)_ | 52 _(grid-row-gap)_ |                           |        |     |
12327   *
12328   * ---
12329   *
12330   * @see https://developer.mozilla.org/docs/Web/CSS/row-gap
12331   */
12332  "row-gap"?: RowGapProperty<TLength>;
12333  /**
12334   * The `**ruby-align**` CSS property defines the distribution of the different ruby elements over the base.
12335   *
12336   * **Syntax**: `start | center | space-between | space-around`
12337   *
12338   * **Initial value**: `space-around`
12339   *
12340   * | Chrome | Firefox | Safari | Edge | IE  |
12341   * | :----: | :-----: | :----: | :--: | :-: |
12342   * |   No   | **38**  |   No   |  No  | No  |
12343   *
12344   * @see https://developer.mozilla.org/docs/Web/CSS/ruby-align
12345   */
12346  "ruby-align"?: RubyAlignProperty;
12347  /**
12348   * **Syntax**: `separate | collapse | auto`
12349   *
12350   * **Initial value**: `separate`
12351   */
12352  "ruby-merge"?: RubyMergeProperty;
12353  /**
12354   * 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`).
12355   *
12356   * **Syntax**: `over | under | inter-character`
12357   *
12358   * **Initial value**: `over`
12359   *
12360   * | Chrome | Firefox | Safari | Edge  | IE  |
12361   * | :----: | :-----: | :----: | :---: | :-: |
12362   * |   No   | **38**  |   No   | 12-79 | No  |
12363   *
12364   * @see https://developer.mozilla.org/docs/Web/CSS/ruby-position
12365   */
12366  "ruby-position"?: RubyPositionProperty;
12367  /**
12368   * The **`scale`** CSS property allows you to specify scale transforms individually and independantly 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.
12369   *
12370   * **Syntax**: `none | <number>{1,3}`
12371   *
12372   * **Initial value**: `none`
12373   *
12374   * | Chrome | Firefox | Safari | Edge | IE  |
12375   * | :----: | :-----: | :----: | :--: | :-: |
12376   * |   No   | **72**  |   No   |  No  | No  |
12377   *
12378   * @see https://developer.mozilla.org/docs/Web/CSS/scale
12379   */
12380  scale?: ScaleProperty;
12381  /**
12382   * The **`scroll-behavior`** CSS property sets the behavior for a scrolling box when scrolling is triggered by the navigation or CSSOM scrolling APIs.
12383   *
12384   * **Syntax**: `auto | smooth`
12385   *
12386   * **Initial value**: `auto`
12387   *
12388   * | Chrome | Firefox | Safari |  Edge  | IE  |
12389   * | :----: | :-----: | :----: | :----: | :-: |
12390   * | **61** | **36**  |   No   | **79** | No  |
12391   *
12392   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-behavior
12393   */
12394  "scroll-behavior"?: ScrollBehaviorProperty;
12395  /**
12396   * The **`scroll-margin`** property is a shorthand property which sets all of the `scroll-margin` longhands, assigning values much like the `margin` property does for the `margin-*` longhands.
12397   *
12398   * **Syntax**: `<length>{1,4}`
12399   *
12400   * **Initial value**: `0`
12401   *
12402   * | Chrome | Firefox |            Safari             |  Edge  | IE  |
12403   * | :----: | :-----: | :---------------------------: | :----: | :-: |
12404   * | **69** | **68**  | **11** _(scroll-snap-margin)_ | **79** | No  |
12405   *
12406   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin
12407   */
12408  "scroll-margin"?: ScrollMarginProperty<TLength>;
12409  /**
12410   * The `scroll-margin-block` property is a shorthand property which sets the scroll-margin longhands in the block dimension.
12411   *
12412   * **Syntax**: `<length>{1,2}`
12413   *
12414   * **Initial value**: `0`
12415   *
12416   * | Chrome | Firefox | Safari |  Edge  | IE  |
12417   * | :----: | :-----: | :----: | :----: | :-: |
12418   * | **69** | **68**  |   No   | **79** | No  |
12419   *
12420   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-block
12421   */
12422  "scroll-margin-block"?: ScrollMarginBlockProperty<TLength>;
12423  /**
12424   * 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.
12425   *
12426   * **Syntax**: `<length>`
12427   *
12428   * **Initial value**: `0`
12429   *
12430   * | Chrome | Firefox | Safari |  Edge  | IE  |
12431   * | :----: | :-----: | :----: | :----: | :-: |
12432   * | **69** | **68**  |   No   | **79** | No  |
12433   *
12434   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-block-end
12435   */
12436  "scroll-margin-block-end"?: ScrollMarginBlockEndProperty<TLength>;
12437  /**
12438   * 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.
12439   *
12440   * **Syntax**: `<length>`
12441   *
12442   * **Initial value**: `0`
12443   *
12444   * | Chrome | Firefox | Safari |  Edge  | IE  |
12445   * | :----: | :-----: | :----: | :----: | :-: |
12446   * | **69** | **68**  |   No   | **79** | No  |
12447   *
12448   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-block-start
12449   */
12450  "scroll-margin-block-start"?: ScrollMarginBlockStartProperty<TLength>;
12451  /**
12452   * 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.
12453   *
12454   * **Syntax**: `<length>`
12455   *
12456   * **Initial value**: `0`
12457   *
12458   * | Chrome | Firefox |                Safari                |  Edge  | IE  |
12459   * | :----: | :-----: | :----------------------------------: | :----: | :-: |
12460   * | **69** | **68**  | **11** _(scroll-snap-margin-bottom)_ | **79** | No  |
12461   *
12462   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-bottom
12463   */
12464  "scroll-margin-bottom"?: ScrollMarginBottomProperty<TLength>;
12465  /**
12466   * The `scroll-margin-inline` property is a shorthand property which sets the scroll-margin longhands in the inline dimension.
12467   *
12468   * **Syntax**: `<length>{1,2}`
12469   *
12470   * **Initial value**: `0`
12471   *
12472   * | Chrome | Firefox | Safari | Edge | IE  |
12473   * | :----: | :-----: | :----: | :--: | :-: |
12474   * |   No   | **68**  |   No   |  No  | No  |
12475   *
12476   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-inline
12477   */
12478  "scroll-margin-inline"?: ScrollMarginInlineProperty<TLength>;
12479  /**
12480   * 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.
12481   *
12482   * **Syntax**: `<length>`
12483   *
12484   * **Initial value**: `0`
12485   *
12486   * | Chrome | Firefox | Safari |  Edge  | IE  |
12487   * | :----: | :-----: | :----: | :----: | :-: |
12488   * | **69** | **68**  |   No   | **79** | No  |
12489   *
12490   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-inline-end
12491   */
12492  "scroll-margin-inline-end"?: ScrollMarginInlineEndProperty<TLength>;
12493  /**
12494   * 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.
12495   *
12496   * **Syntax**: `<length>`
12497   *
12498   * **Initial value**: `0`
12499   *
12500   * | Chrome | Firefox | Safari |  Edge  | IE  |
12501   * | :----: | :-----: | :----: | :----: | :-: |
12502   * | **69** | **68**  |   No   | **79** | No  |
12503   *
12504   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-inline-start
12505   */
12506  "scroll-margin-inline-start"?: ScrollMarginInlineStartProperty<TLength>;
12507  /**
12508   * 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.
12509   *
12510   * **Syntax**: `<length>`
12511   *
12512   * **Initial value**: `0`
12513   *
12514   * | Chrome | Firefox |               Safari               |  Edge  | IE  |
12515   * | :----: | :-----: | :--------------------------------: | :----: | :-: |
12516   * | **69** | **68**  | **11** _(scroll-snap-margin-left)_ | **79** | No  |
12517   *
12518   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-left
12519   */
12520  "scroll-margin-left"?: ScrollMarginLeftProperty<TLength>;
12521  /**
12522   * 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.
12523   *
12524   * **Syntax**: `<length>`
12525   *
12526   * **Initial value**: `0`
12527   *
12528   * | Chrome | Firefox |               Safari                |  Edge  | IE  |
12529   * | :----: | :-----: | :---------------------------------: | :----: | :-: |
12530   * | **69** | **68**  | **11** _(scroll-snap-margin-right)_ | **79** | No  |
12531   *
12532   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-right
12533   */
12534  "scroll-margin-right"?: ScrollMarginRightProperty<TLength>;
12535  /**
12536   * 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.
12537   *
12538   * **Syntax**: `<length>`
12539   *
12540   * **Initial value**: `0`
12541   *
12542   * | Chrome | Firefox |              Safari               |  Edge  | IE  |
12543   * | :----: | :-----: | :-------------------------------: | :----: | :-: |
12544   * | **69** | **68**  | **11** _(scroll-snap-margin-top)_ | **79** | No  |
12545   *
12546   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-top
12547   */
12548  "scroll-margin-top"?: ScrollMarginTopProperty<TLength>;
12549  /**
12550 * The scroll-padding property is a shorthand property which sets all of the scroll-padding longhands, assigning values much like the padding property does for the padding-\* longhands.
12551
12552The scroll-padding properties define offsets for 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.
12553 *
12554 * **Syntax**: `[ auto | <length-percentage> ]{1,4}`
12555 *
12556 * **Initial value**: `auto`
12557 *
12558 * | Chrome | Firefox | Safari |  Edge  | IE  |
12559 * | :----: | :-----: | :----: | :----: | :-: |
12560 * | **69** | **68**  | **11** | **79** | No  |
12561 *
12562 * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding
12563 */
12564  "scroll-padding"?: ScrollPaddingProperty<TLength>;
12565  /**
12566 * The `scroll-padding-block` property is a shorthand property which sets the scroll-padding longhands for the block dimension.
12567
12568The scroll-padding properties define offsets for 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.
12569 *
12570 * **Syntax**: `[ auto | <length-percentage> ]{1,2}`
12571 *
12572 * **Initial value**: `auto`
12573 *
12574 * | Chrome | Firefox | Safari |  Edge  | IE  |
12575 * | :----: | :-----: | :----: | :----: | :-: |
12576 * | **69** | **68**  |   No   | **79** | No  |
12577 *
12578 * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding-block
12579 */
12580  "scroll-padding-block"?: ScrollPaddingBlockProperty<TLength>;
12581  /**
12582   * 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.
12583   *
12584   * **Syntax**: `auto | <length-percentage>`
12585   *
12586   * **Initial value**: `auto`
12587   *
12588   * | Chrome | Firefox | Safari |  Edge  | IE  |
12589   * | :----: | :-----: | :----: | :----: | :-: |
12590   * | **69** | **68**  |   No   | **79** | No  |
12591   *
12592   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding-block-end
12593   */
12594  "scroll-padding-block-end"?: ScrollPaddingBlockEndProperty<TLength>;
12595  /**
12596   * 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.
12597   *
12598   * **Syntax**: `auto | <length-percentage>`
12599   *
12600   * **Initial value**: `auto`
12601   *
12602   * | Chrome | Firefox | Safari |  Edge  | IE  |
12603   * | :----: | :-----: | :----: | :----: | :-: |
12604   * | **69** | **68**  |   No   | **79** | No  |
12605   *
12606   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding-block-start
12607   */
12608  "scroll-padding-block-start"?: ScrollPaddingBlockStartProperty<TLength>;
12609  /**
12610   * 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.
12611   *
12612   * **Syntax**: `auto | <length-percentage>`
12613   *
12614   * **Initial value**: `auto`
12615   *
12616   * | Chrome | Firefox | Safari |  Edge  | IE  |
12617   * | :----: | :-----: | :----: | :----: | :-: |
12618   * | **69** | **68**  | **11** | **79** | No  |
12619   *
12620   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding-bottom
12621   */
12622  "scroll-padding-bottom"?: ScrollPaddingBottomProperty<TLength>;
12623  /**
12624 * The `scroll-padding-inline` property is a shorthand property which sets the scroll-padding longhands for the inline dimension.
12625
12626The scroll-padding properties define offsets for 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.
12627 *
12628 * **Syntax**: `[ auto | <length-percentage> ]{1,2}`
12629 *
12630 * **Initial value**: `auto`
12631 *
12632 * | Chrome | Firefox | Safari |  Edge  | IE  |
12633 * | :----: | :-----: | :----: | :----: | :-: |
12634 * | **69** | **68**  |   No   | **79** | No  |
12635 *
12636 * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding-inline
12637 */
12638  "scroll-padding-inline"?: ScrollPaddingInlineProperty<TLength>;
12639  /**
12640   * 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.
12641   *
12642   * **Syntax**: `auto | <length-percentage>`
12643   *
12644   * **Initial value**: `auto`
12645   *
12646   * | Chrome | Firefox | Safari |  Edge  | IE  |
12647   * | :----: | :-----: | :----: | :----: | :-: |
12648   * | **69** | **68**  |   No   | **79** | No  |
12649   *
12650   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding-inline-end
12651   */
12652  "scroll-padding-inline-end"?: ScrollPaddingInlineEndProperty<TLength>;
12653  /**
12654   * 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.
12655   *
12656   * **Syntax**: `auto | <length-percentage>`
12657   *
12658   * **Initial value**: `auto`
12659   *
12660   * | Chrome | Firefox | Safari |  Edge  | IE  |
12661   * | :----: | :-----: | :----: | :----: | :-: |
12662   * | **69** | **68**  |   No   | **79** | No  |
12663   *
12664   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding-inline-start
12665   */
12666  "scroll-padding-inline-start"?: ScrollPaddingInlineStartProperty<TLength>;
12667  /**
12668   * 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.
12669   *
12670   * **Syntax**: `auto | <length-percentage>`
12671   *
12672   * **Initial value**: `auto`
12673   *
12674   * | Chrome | Firefox | Safari |  Edge  | IE  |
12675   * | :----: | :-----: | :----: | :----: | :-: |
12676   * | **69** | **68**  | **11** | **79** | No  |
12677   *
12678   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding-left
12679   */
12680  "scroll-padding-left"?: ScrollPaddingLeftProperty<TLength>;
12681  /**
12682   * 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.
12683   *
12684   * **Syntax**: `auto | <length-percentage>`
12685   *
12686   * **Initial value**: `auto`
12687   *
12688   * | Chrome | Firefox | Safari |  Edge  | IE  |
12689   * | :----: | :-----: | :----: | :----: | :-: |
12690   * | **69** | **68**  | **11** | **79** | No  |
12691   *
12692   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding-right
12693   */
12694  "scroll-padding-right"?: ScrollPaddingRightProperty<TLength>;
12695  /**
12696   * 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.
12697   *
12698   * **Syntax**: `auto | <length-percentage>`
12699   *
12700   * **Initial value**: `auto`
12701   *
12702   * | Chrome | Firefox | Safari |  Edge  | IE  |
12703   * | :----: | :-----: | :----: | :----: | :-: |
12704   * | **69** | **68**  | **11** | **79** | No  |
12705   *
12706   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding-top
12707   */
12708  "scroll-padding-top"?: ScrollPaddingTopProperty<TLength>;
12709  /**
12710   * 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.
12711   *
12712   * **Syntax**: `[ none | start | end | center ]{1,2}`
12713   *
12714   * **Initial value**: `none`
12715   *
12716   * | Chrome | Firefox | Safari |  Edge  | IE  |
12717   * | :----: | :-----: | :----: | :----: | :-: |
12718   * | **69** | **68**  | **11** | **79** | No  |
12719   *
12720   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-snap-align
12721   */
12722  "scroll-snap-align"?: ScrollSnapAlignProperty;
12723  /**
12724   * The **`scroll-margin`** property is a shorthand property which sets all of the `scroll-margin` longhands, assigning values much like the `margin` property does for the `margin-*` longhands.
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-snap-margin"?: ScrollMarginProperty<TLength>;
12737  /**
12738   * 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.
12739   *
12740   * **Syntax**: `<length>`
12741   *
12742   * **Initial value**: `0`
12743   *
12744   * | Chrome | Firefox |                Safari                |  Edge  | IE  |
12745   * | :----: | :-----: | :----------------------------------: | :----: | :-: |
12746   * | **69** | **68**  | **11** _(scroll-snap-margin-bottom)_ | **79** | No  |
12747   *
12748   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-bottom
12749   */
12750  "scroll-snap-margin-bottom"?: ScrollMarginBottomProperty<TLength>;
12751  /**
12752   * 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.
12753   *
12754   * **Syntax**: `<length>`
12755   *
12756   * **Initial value**: `0`
12757   *
12758   * | Chrome | Firefox |               Safari               |  Edge  | IE  |
12759   * | :----: | :-----: | :--------------------------------: | :----: | :-: |
12760   * | **69** | **68**  | **11** _(scroll-snap-margin-left)_ | **79** | No  |
12761   *
12762   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-left
12763   */
12764  "scroll-snap-margin-left"?: ScrollMarginLeftProperty<TLength>;
12765  /**
12766   * 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.
12767   *
12768   * **Syntax**: `<length>`
12769   *
12770   * **Initial value**: `0`
12771   *
12772   * | Chrome | Firefox |               Safari                |  Edge  | IE  |
12773   * | :----: | :-----: | :---------------------------------: | :----: | :-: |
12774   * | **69** | **68**  | **11** _(scroll-snap-margin-right)_ | **79** | No  |
12775   *
12776   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-right
12777   */
12778  "scroll-snap-margin-right"?: ScrollMarginRightProperty<TLength>;
12779  /**
12780   * 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.
12781   *
12782   * **Syntax**: `<length>`
12783   *
12784   * **Initial value**: `0`
12785   *
12786   * | Chrome | Firefox |              Safari               |  Edge  | IE  |
12787   * | :----: | :-----: | :-------------------------------: | :----: | :-: |
12788   * | **69** | **68**  | **11** _(scroll-snap-margin-top)_ | **79** | No  |
12789   *
12790   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-top
12791   */
12792  "scroll-snap-margin-top"?: ScrollMarginTopProperty<TLength>;
12793  /**
12794   * The **`scroll-snap-stop`** CSS property defines whether the scroll container is allowed to "pass over" possible snap positions.
12795   *
12796   * **Syntax**: `normal | always`
12797   *
12798   * **Initial value**: `normal`
12799   *
12800   * | Chrome | Firefox | Safari |  Edge  | IE  |
12801   * | :----: | :-----: | :----: | :----: | :-: |
12802   * | **75** |   No    |   No   | **79** | No  |
12803   *
12804   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-snap-stop
12805   */
12806  "scroll-snap-stop"?: ScrollSnapStopProperty;
12807  /**
12808   * The **`scroll-snap-type`** CSS property sets how strictly snap points are enforced on the scroll container in case there is one.
12809   *
12810   * **Syntax**: `none | [ x | y | block | inline | both ] [ mandatory | proximity ]?`
12811   *
12812   * **Initial value**: `none`
12813   *
12814   * | Chrome | Firefox | Safari  |     Edge     |      IE      |
12815   * | :----: | :-----: | :-----: | :----------: | :----------: |
12816   * | **69** |  39-68  | **11**  | **12** _-x-_ | **10** _-x-_ |
12817   * |        |         | 9 _-x-_ |              |              |
12818   *
12819   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-snap-type
12820   */
12821  "scroll-snap-type"?: ScrollSnapTypeProperty;
12822  /**
12823   * The **`scrollbar-color`** CSS property sets the color of the scrollbar track and thumb.
12824   *
12825   * **Syntax**: `auto | dark | light | <color>{2}`
12826   *
12827   * **Initial value**: `auto`
12828   *
12829   * | Chrome | Firefox | Safari | Edge | IE  |
12830   * | :----: | :-----: | :----: | :--: | :-: |
12831   * |   No   | **64**  |   No   |  No  | No  |
12832   *
12833   * @see https://developer.mozilla.org/docs/Web/CSS/scrollbar-color
12834   */
12835  "scrollbar-color"?: ScrollbarColorProperty;
12836  /**
12837   * The `scrollbar-width` property allows the author to set the maximum thickness of an element’s scrollbars when they are shown.
12838   *
12839   * **Syntax**: `auto | thin | none`
12840   *
12841   * **Initial value**: `auto`
12842   *
12843   * | Chrome | Firefox | Safari | Edge | IE  |
12844   * | :----: | :-----: | :----: | :--: | :-: |
12845   * |   No   | **64**  |   No   |  No  | No  |
12846   *
12847   * @see https://developer.mozilla.org/docs/Web/CSS/scrollbar-width
12848   */
12849  "scrollbar-width"?: ScrollbarWidthProperty;
12850  /**
12851   * 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`.
12852   *
12853   * **Syntax**: `<alpha-value>`
12854   *
12855   * **Initial value**: `0.0`
12856   *
12857   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
12858   * | :----: | :-----: | :------: | :----: | :-: |
12859   * | **37** | **62**  | **10.1** | **79** | No  |
12860   *
12861   * @see https://developer.mozilla.org/docs/Web/CSS/shape-image-threshold
12862   */
12863  "shape-image-threshold"?: ShapeImageThresholdProperty;
12864  /**
12865   * The **`shape-margin`** CSS property sets a margin for a CSS shape created using `shape-outside`.
12866   *
12867   * **Syntax**: `<length-percentage>`
12868   *
12869   * **Initial value**: `0`
12870   *
12871   * | Chrome | Firefox |     Safari     |  Edge  | IE  |
12872   * | :----: | :-----: | :------------: | :----: | :-: |
12873   * | **37** | **62**  | **10.1** _-x-_ | **79** | No  |
12874   *
12875   * @see https://developer.mozilla.org/docs/Web/CSS/shape-margin
12876   */
12877  "shape-margin"?: ShapeMarginProperty<TLength>;
12878  /**
12879   * 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.
12880   *
12881   * **Syntax**: `none | <shape-box> || <basic-shape> | <image>`
12882   *
12883   * **Initial value**: `none`
12884   *
12885   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
12886   * | :----: | :-----: | :------: | :----: | :-: |
12887   * | **37** | **62**  | **10.1** | **79** | No  |
12888   *
12889   * @see https://developer.mozilla.org/docs/Web/CSS/shape-outside
12890   */
12891  "shape-outside"?: ShapeOutsideProperty;
12892  /**
12893   * The **`tab-size`** CSS property is used to customize the width of a tab (`U+0009`) character.
12894   *
12895   * **Syntax**: `<integer> | <length>`
12896   *
12897   * **Initial value**: `8`
12898   *
12899   * | Chrome |   Firefox   | Safari  |  Edge  | IE  |
12900   * | :----: | :---------: | :-----: | :----: | :-: |
12901   * | **21** | **4** _-x-_ | **6.1** | **79** | No  |
12902   *
12903   * @see https://developer.mozilla.org/docs/Web/CSS/tab-size
12904   */
12905  "tab-size"?: TabSizeProperty<TLength>;
12906  /**
12907   * The **`table-layout`** CSS property sets the algorithm used to lay out `<table>` cells, rows, and columns.
12908   *
12909   * **Syntax**: `auto | fixed`
12910   *
12911   * **Initial value**: `auto`
12912   *
12913   * | Chrome | Firefox | Safari |  Edge  |  IE   |
12914   * | :----: | :-----: | :----: | :----: | :---: |
12915   * | **14** |  **1**  | **1**  | **12** | **5** |
12916   *
12917   * @see https://developer.mozilla.org/docs/Web/CSS/table-layout
12918   */
12919  "table-layout"?: TableLayoutProperty;
12920  /**
12921   * The **`text-align`** CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like `vertical-align` but in the horizontal direction.
12922   *
12923   * **Syntax**: `start | end | left | right | center | justify | match-parent`
12924   *
12925   * **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.
12926   *
12927   * | Chrome | Firefox | Safari |  Edge  |  IE   |
12928   * | :----: | :-----: | :----: | :----: | :---: |
12929   * | **1**  |  **1**  | **1**  | **12** | **3** |
12930   *
12931   * @see https://developer.mozilla.org/docs/Web/CSS/text-align
12932   */
12933  "text-align"?: TextAlignProperty;
12934  /**
12935   * 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.
12936   *
12937   * **Syntax**: `auto | start | end | left | right | center | justify`
12938   *
12939   * **Initial value**: `auto`
12940   *
12941   * | Chrome | Firefox | Safari |  Edge  |   IE    |
12942   * | :----: | :-----: | :----: | :----: | :-----: |
12943   * | **47** | **49**  |   No   | **12** | **5.5** |
12944   *
12945   * @see https://developer.mozilla.org/docs/Web/CSS/text-align-last
12946   */
12947  "text-align-last"?: TextAlignLastProperty;
12948  /**
12949   * 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.
12950   *
12951   * **Syntax**: `none | all | [ digits <integer>? ]`
12952   *
12953   * **Initial value**: `none`
12954   *
12955   * |           Chrome           | Firefox |              Safari              |                  Edge                  |                   IE                   |
12956   * | :------------------------: | :-----: | :------------------------------: | :------------------------------------: | :------------------------------------: |
12957   * |           **48**           | **48**  | **5.1** _(-webkit-text-combine)_ | **12** _(-ms-text-combine-horizontal)_ | **11** _(-ms-text-combine-horizontal)_ |
12958   * | 9 _(-webkit-text-combine)_ |         |                                  |                                        |                                        |
12959   *
12960   * @see https://developer.mozilla.org/docs/Web/CSS/text-combine-upright
12961   */
12962  "text-combine-upright"?: TextCombineUprightProperty;
12963  /**
12964   * The **`text-decoration-color`** CSS property sets the color of decorations added to text by `text-decoration-line`.
12965   *
12966   * **Syntax**: `<color>`
12967   *
12968   * **Initial value**: `currentcolor`
12969   *
12970   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
12971   * | :----: | :-----: | :------: | :----: | :-: |
12972   * | **57** | **36**  | **12.1** | **79** | No  |
12973   * |        |         | 8 _-x-_  |        |     |
12974   *
12975   * @see https://developer.mozilla.org/docs/Web/CSS/text-decoration-color
12976   */
12977  "text-decoration-color"?: TextDecorationColorProperty;
12978  /**
12979   * 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.
12980   *
12981   * **Syntax**: `none | [ underline || overline || line-through || blink ] | spelling-error | grammar-error`
12982   *
12983   * **Initial value**: `none`
12984   *
12985   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
12986   * | :----: | :-----: | :------: | :----: | :-: |
12987   * | **57** | **36**  | **12.1** | **79** | No  |
12988   * |        |         | 8 _-x-_  |        |     |
12989   *
12990   * @see https://developer.mozilla.org/docs/Web/CSS/text-decoration-line
12991   */
12992  "text-decoration-line"?: TextDecorationLineProperty;
12993  /**
12994   * 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.
12995   *
12996   * **Syntax**: `none | [ objects || [ spaces | [ leading-spaces || trailing-spaces ] ] || edges || box-decoration ]`
12997   *
12998   * **Initial value**: `objects`
12999   *
13000   * | Chrome | Firefox |  Safari  | Edge | IE  |
13001   * | :----: | :-----: | :------: | :--: | :-: |
13002   * | 57-64  |   No    | **12.1** |  No  | No  |
13003   * |        |         | 8 _-x-_  |      |     |
13004   *
13005   * @see https://developer.mozilla.org/docs/Web/CSS/text-decoration-skip
13006   */
13007  "text-decoration-skip"?: TextDecorationSkipProperty;
13008  /**
13009   * The **`text-decoration-skip-ink`** CSS property specifies how overlines and underlines are drawn when they pass over glyph ascenders and descenders.
13010   *
13011   * **Syntax**: `auto | all | none`
13012   *
13013   * **Initial value**: `auto`
13014   *
13015   * | Chrome | Firefox | Safari |  Edge  | IE  |
13016   * | :----: | :-----: | :----: | :----: | :-: |
13017   * | **64** | **70**  |   No   | **79** | No  |
13018   *
13019   * @see https://developer.mozilla.org/docs/Web/CSS/text-decoration-skip-ink
13020   */
13021  "text-decoration-skip-ink"?: TextDecorationSkipInkProperty;
13022  /**
13023   * 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`.
13024   *
13025   * **Syntax**: `solid | double | dotted | dashed | wavy`
13026   *
13027   * **Initial value**: `solid`
13028   *
13029   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
13030   * | :----: | :-----: | :------: | :----: | :-: |
13031   * | **57** | **36**  | **12.1** | **79** | No  |
13032   * |        |         | 8 _-x-_  |        |     |
13033   *
13034   * @see https://developer.mozilla.org/docs/Web/CSS/text-decoration-style
13035   */
13036  "text-decoration-style"?: TextDecorationStyleProperty;
13037  /**
13038   * The **`text-decoration-thickness`** CSS property sets the thickness, or width, of the decoration line that is used on text in an element, such as a line-through, underline, or overline.
13039   *
13040   * **Syntax**: `auto | from-font | <length> | <percentage> `
13041   *
13042   * **Initial value**: `auto`
13043   *
13044   * | Chrome | Firefox |  Safari  | Edge | IE  |
13045   * | :----: | :-----: | :------: | :--: | :-: |
13046   * |   No   | **70**  | **12.1** |  No  | No  |
13047   *
13048   * @see https://developer.mozilla.org/docs/Web/CSS/text-decoration-thickness
13049   */
13050  "text-decoration-thickness"?: TextDecorationThicknessProperty<TLength>;
13051  /**
13052   * The **`text-decoration-thickness`** CSS property sets the thickness, or width, of the decoration line that is used on text in an element, such as a line-through, underline, or overline.
13053   *
13054   * **Syntax**: `auto | from-font | <length> | <percentage> `
13055   *
13056   * **Initial value**: `auto`
13057   *
13058   * | Chrome | Firefox |  Safari  | Edge | IE  |
13059   * | :----: | :-----: | :------: | :--: | :-: |
13060   * |   No   | **70**  | **12.1** |  No  | No  |
13061   *
13062   * @see https://developer.mozilla.org/docs/Web/CSS/text-decoration-thickness
13063   */
13064  "text-decoration-width"?: TextDecorationThicknessProperty<TLength>;
13065  /**
13066   * The **`text-emphasis-color`** CSS property sets the color of emphasis marks. This value can also be set using the `text-emphasis` shorthand.
13067   *
13068   * **Syntax**: `<color>`
13069   *
13070   * **Initial value**: `currentcolor`
13071   *
13072   * |    Chrome    | Firefox | Safari  |     Edge     | IE  |
13073   * | :----------: | :-----: | :-----: | :----------: | :-: |
13074   * | **25** _-x-_ | **46**  | **6.1** | **79** _-x-_ | No  |
13075   *
13076   * @see https://developer.mozilla.org/docs/Web/CSS/text-emphasis-color
13077   */
13078  "text-emphasis-color"?: TextEmphasisColorProperty;
13079  /**
13080   * 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.
13081   *
13082   * **Syntax**: `[ over | under ] && [ right | left ]`
13083   *
13084   * **Initial value**: `over right`
13085   *
13086   * |    Chrome    | Firefox | Safari  |     Edge     | IE  |
13087   * | :----------: | :-----: | :-----: | :----------: | :-: |
13088   * | **25** _-x-_ | **46**  | **6.1** | **79** _-x-_ | No  |
13089   *
13090   * @see https://developer.mozilla.org/docs/Web/CSS/text-emphasis-position
13091   */
13092  "text-emphasis-position"?: GlobalsString;
13093  /**
13094   * The **`text-emphasis-style`** CSS property sets the appearance of emphasis marks. It can also be set, and reset, using the `text-emphasis` shorthand.
13095   *
13096   * **Syntax**: `none | [ [ filled | open ] || [ dot | circle | double-circle | triangle | sesame ] ] | <string>`
13097   *
13098   * **Initial value**: `none`
13099   *
13100   * |    Chrome    | Firefox | Safari  |     Edge     | IE  |
13101   * | :----------: | :-----: | :-----: | :----------: | :-: |
13102   * | **25** _-x-_ | **46**  | **6.1** | **79** _-x-_ | No  |
13103   *
13104   * @see https://developer.mozilla.org/docs/Web/CSS/text-emphasis-style
13105   */
13106  "text-emphasis-style"?: TextEmphasisStyleProperty;
13107  /**
13108   * The **`text-indent`** CSS property sets the length of empty space (indentation) that is put before lines of text in a block.
13109   *
13110   * **Syntax**: `<length-percentage> && hanging? && each-line?`
13111   *
13112   * **Initial value**: `0`
13113   *
13114   * | Chrome | Firefox | Safari |  Edge  |  IE   |
13115   * | :----: | :-----: | :----: | :----: | :---: |
13116   * | **1**  |  **1**  | **1**  | **12** | **3** |
13117   *
13118   * @see https://developer.mozilla.org/docs/Web/CSS/text-indent
13119   */
13120  "text-indent"?: TextIndentProperty<TLength>;
13121  /**
13122   * The **`text-justify`** CSS property sets what type of justification should be applied to text when `text-align``: justify;` is set on an element.
13123   *
13124   * **Syntax**: `auto | inter-character | inter-word | none`
13125   *
13126   * **Initial value**: `auto`
13127   *
13128   * | Chrome | Firefox | Safari |  Edge  |   IE   |
13129   * | :----: | :-----: | :----: | :----: | :----: |
13130   * |  n/a   | **55**  |   No   | **12** | **11** |
13131   *
13132   * @see https://developer.mozilla.org/docs/Web/CSS/text-justify
13133   */
13134  "text-justify"?: TextJustifyProperty;
13135  /**
13136   * 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.
13137   *
13138   * **Syntax**: `mixed | upright | sideways`
13139   *
13140   * **Initial value**: `mixed`
13141   *
13142   * |  Chrome  | Firefox |    Safari     |  Edge  | IE  |
13143   * | :------: | :-----: | :-----------: | :----: | :-: |
13144   * |  **48**  | **41**  | **5.1** _-x-_ | **79** | No  |
13145   * | 11 _-x-_ |         |               |        |     |
13146   *
13147   * @see https://developer.mozilla.org/docs/Web/CSS/text-orientation
13148   */
13149  "text-orientation"?: TextOrientationProperty;
13150  /**
13151   * 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.
13152   *
13153   * **Syntax**: `[ clip | ellipsis | <string> ]{1,2}`
13154   *
13155   * **Initial value**: `clip`
13156   *
13157   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
13158   * | :----: | :-----: | :-----: | :----: | :---: |
13159   * | **1**  |  **7**  | **1.3** | **12** | **6** |
13160   *
13161   * @see https://developer.mozilla.org/docs/Web/CSS/text-overflow
13162   */
13163  "text-overflow"?: TextOverflowProperty;
13164  /**
13165   * The **`text-rendering`** CSS property provides information to the rendering engine about what to optimize for when rendering text.
13166   *
13167   * **Syntax**: `auto | optimizeSpeed | optimizeLegibility | geometricPrecision`
13168   *
13169   * **Initial value**: `auto`
13170   *
13171   * | Chrome | Firefox | Safari |  Edge  | IE  |
13172   * | :----: | :-----: | :----: | :----: | :-: |
13173   * | **4**  |  **1**  | **5**  | **79** | No  |
13174   *
13175   * @see https://developer.mozilla.org/docs/Web/CSS/text-rendering
13176   */
13177  "text-rendering"?: TextRenderingProperty;
13178  /**
13179   * 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.
13180   *
13181   * **Syntax**: `none | <shadow-t>#`
13182   *
13183   * **Initial value**: `none`
13184   *
13185   * | Chrome | Firefox | Safari  |  Edge  |   IE   |
13186   * | :----: | :-----: | :-----: | :----: | :----: |
13187   * | **2**  | **3.5** | **1.1** | **12** | **10** |
13188   *
13189   * @see https://developer.mozilla.org/docs/Web/CSS/text-shadow
13190   */
13191  "text-shadow"?: TextShadowProperty;
13192  /**
13193   * The **`text-size-adjust`** CSS property controls the text inflation algorithm used on some smartphones and tablets. Other browsers will ignore this property.
13194   *
13195   * **Syntax**: `none | auto | <percentage>`
13196   *
13197   * **Initial value**: `auto` for smartphone browsers supporting inflation, `none` in other cases (and then not modifiable).
13198   *
13199   * | Chrome | Firefox | Safari |  Edge  | IE  |
13200   * | :----: | :-----: | :----: | :----: | :-: |
13201   * | **54** |   No    |   No   | **79** | No  |
13202   *
13203   * @see https://developer.mozilla.org/docs/Web/CSS/text-size-adjust
13204   */
13205  "text-size-adjust"?: TextSizeAdjustProperty;
13206  /**
13207   * 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
13208   *
13209   * **Syntax**: `none | capitalize | uppercase | lowercase | full-width | full-size-kana`
13210   *
13211   * **Initial value**: `none`
13212   *
13213   * | Chrome | Firefox | Safari |  Edge  |  IE   |
13214   * | :----: | :-----: | :----: | :----: | :---: |
13215   * | **1**  |  **1**  | **1**  | **12** | **4** |
13216   *
13217   * @see https://developer.mozilla.org/docs/Web/CSS/text-transform
13218   */
13219  "text-transform"?: TextTransformProperty;
13220  /**
13221   * The **`text-underline-offset`** CSS property sets the offset distance of an underline text decoration line (applied using `text-decoration`) from its original position.
13222   *
13223   * **Syntax**: `auto | <length> | <percentage> `
13224   *
13225   * **Initial value**: `auto`
13226   *
13227   * | Chrome | Firefox |  Safari  | Edge | IE  |
13228   * | :----: | :-----: | :------: | :--: | :-: |
13229   * |   No   | **70**  | **12.1** |  No  | No  |
13230   *
13231   * @see https://developer.mozilla.org/docs/Web/CSS/text-underline-offset
13232   */
13233  "text-underline-offset"?: TextUnderlineOffsetProperty<TLength>;
13234  /**
13235   * The **`text-underline-position`** CSS property specifies the position of the underline which is set using the `text-decoration` property's `underline` value.
13236   *
13237   * **Syntax**: `auto | from-font | [ under || [ left | right ] ]`
13238   *
13239   * **Initial value**: `auto`
13240   *
13241   * | Chrome | Firefox |  Safari  |  Edge  |  IE   |
13242   * | :----: | :-----: | :------: | :----: | :---: |
13243   * | **33** | **74**  | **12.1** | **12** | **6** |
13244   * |        |         | 9 _-x-_  |        |       |
13245   *
13246   * @see https://developer.mozilla.org/docs/Web/CSS/text-underline-position
13247   */
13248  "text-underline-position"?: TextUnderlinePositionProperty;
13249  /**
13250   * The **`top`** CSS property participates in specifying the vertical position of a _positioned element_. It has no effect on non-positioned elements.
13251   *
13252   * **Syntax**: `<length> | <percentage> | auto`
13253   *
13254   * **Initial value**: `auto`
13255   *
13256   * | Chrome | Firefox | Safari |  Edge  |  IE   |
13257   * | :----: | :-----: | :----: | :----: | :---: |
13258   * | **1**  |  **1**  | **1**  | **12** | **5** |
13259   *
13260   * @see https://developer.mozilla.org/docs/Web/CSS/top
13261   */
13262  top?: TopProperty<TLength>;
13263  /**
13264   * The **`touch-action`** CSS property sets how a region can be manipulated by a touchscreen user (for example, by zooming features built into the browser).
13265   *
13266   * **Syntax**: `auto | none | [ [ pan-x | pan-left | pan-right ] || [ pan-y | pan-up | pan-down ] || pinch-zoom ] | manipulation`
13267   *
13268   * **Initial value**: `auto`
13269   *
13270   * | Chrome | Firefox | Safari |  Edge  |    IE    |
13271   * | :----: | :-----: | :----: | :----: | :------: |
13272   * | **36** | **52**  | **13** | **12** |  **11**  |
13273   * |        |         |        |        | 10 _-x-_ |
13274   *
13275   * @see https://developer.mozilla.org/docs/Web/CSS/touch-action
13276   */
13277  "touch-action"?: TouchActionProperty;
13278  /**
13279   * The **`transform`** CSS property lets you rotate, scale, skew, or translate an element. It modifies the coordinate space of the CSS visual formatting model.
13280   *
13281   * **Syntax**: `none | <transform-list>`
13282   *
13283   * **Initial value**: `none`
13284   *
13285   * | Chrome  | Firefox |  Safari   |  Edge  |   IE    |
13286   * | :-----: | :-----: | :-------: | :----: | :-----: |
13287   * | **36**  | **16**  |   **9**   | **12** | **10**  |
13288   * | 1 _-x-_ |         | 3.1 _-x-_ |        | 9 _-x-_ |
13289   *
13290   * @see https://developer.mozilla.org/docs/Web/CSS/transform
13291   */
13292  transform?: TransformProperty;
13293  /**
13294   * The **`transform-box`** CSS property defines the layout box to which the `transform` and `transform-origin` properties relate.
13295   *
13296   * **Syntax**: `content-box | border-box | fill-box | stroke-box | view-box`
13297   *
13298   * **Initial value**: `view-box`
13299   *
13300   * | Chrome | Firefox | Safari |  Edge  | IE  |
13301   * | :----: | :-----: | :----: | :----: | :-: |
13302   * | **64** | **55**  | **11** | **79** | No  |
13303   *
13304   * @see https://developer.mozilla.org/docs/Web/CSS/transform-box
13305   */
13306  "transform-box"?: TransformBoxProperty;
13307  /**
13308   * The **`transform-origin`** CSS property sets the origin for an element's transformations.
13309   *
13310   * **Syntax**: `[ <length-percentage> | left | center | right | top | bottom ] | [ [ <length-percentage> | left | center | right ] && [ <length-percentage> | top | center | bottom ] ] <length>?`
13311   *
13312   * **Initial value**: `50% 50% 0`
13313   *
13314   * | Chrome  |  Firefox  | Safari  |  Edge  |   IE    |
13315   * | :-----: | :-------: | :-----: | :----: | :-----: |
13316   * | **36**  |  **16**   |  **9**  | **12** | **10**  |
13317   * | 1 _-x-_ | 3.5 _-x-_ | 2 _-x-_ |        | 9 _-x-_ |
13318   *
13319   * @see https://developer.mozilla.org/docs/Web/CSS/transform-origin
13320   */
13321  "transform-origin"?: TransformOriginProperty<TLength>;
13322  /**
13323   * 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.
13324   *
13325   * **Syntax**: `flat | preserve-3d`
13326   *
13327   * **Initial value**: `flat`
13328   *
13329   * |  Chrome  | Firefox  | Safari  |  Edge  | IE  |
13330   * | :------: | :------: | :-----: | :----: | :-: |
13331   * |  **36**  |  **16**  |  **9**  | **12** | No  |
13332   * | 12 _-x-_ | 10 _-x-_ | 4 _-x-_ |        |     |
13333   *
13334   * @see https://developer.mozilla.org/docs/Web/CSS/transform-style
13335   */
13336  "transform-style"?: TransformStyleProperty;
13337  /**
13338   * The **`transition-delay`** CSS property specifies the duration to wait before starting a property's transition effect when its value changes.
13339   *
13340   * **Syntax**: `<time>#`
13341   *
13342   * **Initial value**: `0s`
13343   *
13344   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
13345   * | :-----: | :-----: | :-----: | :----: | :----: |
13346   * | **26**  | **16**  |  **9**  | **12** | **10** |
13347   * | 1 _-x-_ | 4 _-x-_ | 4 _-x-_ |        |        |
13348   *
13349   * @see https://developer.mozilla.org/docs/Web/CSS/transition-delay
13350   */
13351  "transition-delay"?: GlobalsString;
13352  /**
13353   * 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.
13354   *
13355   * **Syntax**: `<time>#`
13356   *
13357   * **Initial value**: `0s`
13358   *
13359   * | Chrome  | Firefox |  Safari   |  Edge  |   IE   |
13360   * | :-----: | :-----: | :-------: | :----: | :----: |
13361   * | **26**  | **16**  |   **9**   | **12** | **10** |
13362   * | 1 _-x-_ | 4 _-x-_ | 3.1 _-x-_ |        |        |
13363   *
13364   * @see https://developer.mozilla.org/docs/Web/CSS/transition-duration
13365   */
13366  "transition-duration"?: GlobalsString;
13367  /**
13368   * The **`transition-property`** CSS property sets the CSS properties to which a transition effect should be applied.
13369   *
13370   * **Syntax**: `none | <single-transition-property>#`
13371   *
13372   * **Initial value**: all
13373   *
13374   * | Chrome  | Firefox |  Safari   |  Edge  |   IE   |
13375   * | :-----: | :-----: | :-------: | :----: | :----: |
13376   * | **26**  | **16**  |   **9**   | **12** | **10** |
13377   * | 1 _-x-_ | 4 _-x-_ | 3.1 _-x-_ |        |        |
13378   *
13379   * @see https://developer.mozilla.org/docs/Web/CSS/transition-property
13380   */
13381  "transition-property"?: TransitionPropertyProperty;
13382  /**
13383   * The **`transition-timing-function`** CSS property sets how intermediate values are calculated for CSS properties being affected by a transition effect.
13384   *
13385   * **Syntax**: `<timing-function>#`
13386   *
13387   * **Initial value**: `ease`
13388   *
13389   * | Chrome  | Firefox |  Safari   |  Edge  |   IE   |
13390   * | :-----: | :-----: | :-------: | :----: | :----: |
13391   * | **26**  | **16**  |   **9**   | **12** | **10** |
13392   * | 1 _-x-_ | 4 _-x-_ | 3.1 _-x-_ |        |        |
13393   *
13394   * @see https://developer.mozilla.org/docs/Web/CSS/transition-timing-function
13395   */
13396  "transition-timing-function"?: TransitionTimingFunctionProperty;
13397  /**
13398   * The **`translate`** CSS property allows you to specify translation transforms individually and independantly 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.
13399   *
13400   * **Syntax**: `none | <length-percentage> [ <length-percentage> <length>? ]?`
13401   *
13402   * **Initial value**: `none`
13403   *
13404   * | Chrome | Firefox | Safari | Edge | IE  |
13405   * | :----: | :-----: | :----: | :--: | :-: |
13406   * |   No   | **72**  |   No   |  No  | No  |
13407   *
13408   * @see https://developer.mozilla.org/docs/Web/CSS/translate
13409   */
13410  translate?: TranslateProperty<TLength>;
13411  /**
13412   * 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.
13413   *
13414   * **Syntax**: `normal | embed | isolate | bidi-override | isolate-override | plaintext`
13415   *
13416   * **Initial value**: `normal`
13417   *
13418   * | Chrome | Firefox | Safari  |  Edge  |   IE    |
13419   * | :----: | :-----: | :-----: | :----: | :-----: |
13420   * | **2**  |  **1**  | **1.3** | **12** | **5.5** |
13421   *
13422   * @see https://developer.mozilla.org/docs/Web/CSS/unicode-bidi
13423   */
13424  "unicode-bidi"?: UnicodeBidiProperty;
13425  /**
13426   * 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.
13427   *
13428   * **Syntax**: `auto | text | none | contain | all`
13429   *
13430   * **Initial value**: `auto`
13431   *
13432   * | Chrome  | Firefox |   Safari    |     Edge     |      IE      |
13433   * | :-----: | :-----: | :---------: | :----------: | :----------: |
13434   * | **54**  | **69**  | **3** _-x-_ | **12** _-x-_ | **10** _-x-_ |
13435   * | 1 _-x-_ | 1 _-x-_ |             |              |              |
13436   *
13437   * @see https://developer.mozilla.org/docs/Web/CSS/user-select
13438   */
13439  "user-select"?: UserSelectProperty;
13440  /**
13441   * The **`vertical-align`** CSS property sets vertical alignment of an inline or table-cell box.
13442   *
13443   * **Syntax**: `baseline | sub | super | text-top | text-bottom | middle | top | bottom | <percentage> | <length>`
13444   *
13445   * **Initial value**: `baseline`
13446   *
13447   * | Chrome | Firefox | Safari |  Edge  |  IE   |
13448   * | :----: | :-----: | :----: | :----: | :---: |
13449   * | **1**  |  **1**  | **1**  | **12** | **4** |
13450   *
13451   * @see https://developer.mozilla.org/docs/Web/CSS/vertical-align
13452   */
13453  "vertical-align"?: VerticalAlignProperty<TLength>;
13454  /**
13455   * 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>`.
13456   *
13457   * **Syntax**: `visible | hidden | collapse`
13458   *
13459   * **Initial value**: `visible`
13460   *
13461   * | Chrome | Firefox | Safari |  Edge  |  IE   |
13462   * | :----: | :-----: | :----: | :----: | :---: |
13463   * | **1**  |  **1**  | **1**  | **12** | **4** |
13464   *
13465   * @see https://developer.mozilla.org/docs/Web/CSS/visibility
13466   */
13467  visibility?: VisibilityProperty;
13468  /**
13469   * The **`white-space`** CSS property sets how white space inside an element is handled.
13470   *
13471   * **Syntax**: `normal | pre | nowrap | pre-wrap | pre-line | break-spaces`
13472   *
13473   * **Initial value**: `normal`
13474   *
13475   * | Chrome | Firefox | Safari |  Edge  |   IE    |
13476   * | :----: | :-----: | :----: | :----: | :-----: |
13477   * | **1**  |  **1**  | **1**  | **12** | **5.5** |
13478   *
13479   * @see https://developer.mozilla.org/docs/Web/CSS/white-space
13480   */
13481  "white-space"?: WhiteSpaceProperty;
13482  /**
13483   * 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.
13484   *
13485   * **Syntax**: `<integer>`
13486   *
13487   * **Initial value**: `2`
13488   *
13489   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
13490   * | :----: | :-----: | :-----: | :----: | :---: |
13491   * | **25** |   No    | **1.3** | **12** | **8** |
13492   *
13493   * @see https://developer.mozilla.org/docs/Web/CSS/widows
13494   */
13495  widows?: GlobalsNumber;
13496  /**
13497   * 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.
13498   *
13499   * **Syntax**: `auto | <length> | <percentage> | min-content | max-content | fit-content(<length-percentage>)`
13500   *
13501   * **Initial value**: `auto`
13502   *
13503   * | Chrome | Firefox | Safari |  Edge  |  IE   |
13504   * | :----: | :-----: | :----: | :----: | :---: |
13505   * | **1**  |  **1**  | **1**  | **12** | **4** |
13506   *
13507   * @see https://developer.mozilla.org/docs/Web/CSS/width
13508   */
13509  width?: WidthProperty<TLength>;
13510  /**
13511   * 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.
13512   *
13513   * **Syntax**: `auto | <animateable-feature>#`
13514   *
13515   * **Initial value**: `auto`
13516   *
13517   * | Chrome | Firefox | Safari  |  Edge  | IE  |
13518   * | :----: | :-----: | :-----: | :----: | :-: |
13519   * | **36** | **36**  | **9.1** | **79** | No  |
13520   *
13521   * @see https://developer.mozilla.org/docs/Web/CSS/will-change
13522   */
13523  "will-change"?: WillChangeProperty;
13524  /**
13525   * The **`word-break`** CSS property sets whether line breaks appear wherever the text would otherwise overflow its content box.
13526   *
13527   * **Syntax**: `normal | break-all | keep-all | break-word`
13528   *
13529   * **Initial value**: `normal`
13530   *
13531   * | Chrome | Firefox | Safari |  Edge  |   IE    |
13532   * | :----: | :-----: | :----: | :----: | :-----: |
13533   * | **1**  | **15**  | **3**  | **12** | **5.5** |
13534   *
13535   * @see https://developer.mozilla.org/docs/Web/CSS/word-break
13536   */
13537  "word-break"?: WordBreakProperty;
13538  /**
13539   * The **`word-spacing`** CSS property sets the length of space between words and between tags.
13540   *
13541   * **Syntax**: `normal | <length-percentage>`
13542   *
13543   * **Initial value**: `normal`
13544   *
13545   * | Chrome | Firefox | Safari |  Edge  |  IE   |
13546   * | :----: | :-----: | :----: | :----: | :---: |
13547   * | **1**  |  **1**  | **1**  | **12** | **6** |
13548   *
13549   * @see https://developer.mozilla.org/docs/Web/CSS/word-spacing
13550   */
13551  "word-spacing"?: WordSpacingProperty<TLength>;
13552  /**
13553   * The `**overflow-wrap**` CSS property sets whether the browser should insert line breaks within words to prevent text from overflowing its content box.
13554   *
13555   * **Syntax**: `normal | break-word`
13556   *
13557   * **Initial value**: `normal`
13558   *
13559   * | Chrome | Firefox | Safari |  Edge  |   IE    |
13560   * | :----: | :-----: | :----: | :----: | :-----: |
13561   * | **1**  | **3.5** | **2**  | **12** | **5.5** |
13562   *
13563   * @see https://developer.mozilla.org/docs/Web/CSS/overflow-wrap
13564   */
13565  "word-wrap"?: WordWrapProperty;
13566  /**
13567   * 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.
13568   *
13569   * **Syntax**: `horizontal-tb | vertical-rl | vertical-lr | sideways-rl | sideways-lr`
13570   *
13571   * **Initial value**: `horizontal-tb`
13572   *
13573   * | Chrome  | Firefox |  Safari   |  Edge  |     IE      |
13574   * | :-----: | :-----: | :-------: | :----: | :---------: |
13575   * | **48**  | **41**  | **10.1**  | **12** | **9** _-x-_ |
13576   * | 8 _-x-_ |         | 5.1 _-x-_ |        |             |
13577   *
13578   * @see https://developer.mozilla.org/docs/Web/CSS/writing-mode
13579   */
13580  "writing-mode"?: WritingModeProperty;
13581  /**
13582   * 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.
13583   *
13584   * **Syntax**: `auto | <integer>`
13585   *
13586   * **Initial value**: `auto`
13587   *
13588   * | Chrome | Firefox | Safari |  Edge  |  IE   |
13589   * | :----: | :-----: | :----: | :----: | :---: |
13590   * | **1**  |  **1**  | **1**  | **12** | **4** |
13591   *
13592   * @see https://developer.mozilla.org/docs/Web/CSS/z-index
13593   */
13594  "z-index"?: ZIndexProperty;
13595  /**
13596   * 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.
13597   *
13598   * **Syntax**: `normal | reset | <number> | <percentage>`
13599   *
13600   * **Initial value**: `normal`
13601   *
13602   * | Chrome | Firefox | Safari  |  Edge  |   IE    |
13603   * | :----: | :-----: | :-----: | :----: | :-----: |
13604   * | **1**  |   No    | **3.1** | **12** | **5.5** |
13605   *
13606   * @see https://developer.mozilla.org/docs/Web/CSS/zoom
13607   */
13608  zoom?: ZoomProperty;
13609}
13610
13611export interface StandardShorthandPropertiesHyphen<TLength = string | 0> {
13612  /**
13613   * The `**all**` CSS shorthand property sets all of an element's properties (other than `unicode-bidi` and `direction`) to their initial or inherited values, or to the values specified in another stylesheet origin.
13614   *
13615   * **Syntax**: `initial | inherit | unset | revert`
13616   *
13617   * **Initial value**: There is no practical initial value for it.
13618   *
13619   * | Chrome | Firefox | Safari  |  Edge  | IE  |
13620   * | :----: | :-----: | :-----: | :----: | :-: |
13621   * | **37** | **27**  | **9.1** | **79** | No  |
13622   *
13623   * @see https://developer.mozilla.org/docs/Web/CSS/all
13624   */
13625  all?: Globals;
13626  /**
13627   * The **`animation`** shorthand CSS property sets an animated transition 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`.
13628   *
13629   * **Syntax**: `<single-animation>#`
13630   *
13631   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
13632   * | :-----: | :-----: | :-----: | :----: | :----: |
13633   * | **43**  | **16**  |  **9**  | **12** | **10** |
13634   * | 3 _-x-_ | 5 _-x-_ | 4 _-x-_ |        |        |
13635   *
13636   * @see https://developer.mozilla.org/docs/Web/CSS/animation
13637   */
13638  animation?: AnimationProperty;
13639  /**
13640   * The **`background`** shorthand CSS property sets all background style properties at once, such as color, image, origin and size, or repeat method.
13641   *
13642   * **Syntax**: `[ <bg-layer> , ]* <final-bg-layer>`
13643   *
13644   * | Chrome | Firefox | Safari |  Edge  |  IE   |
13645   * | :----: | :-----: | :----: | :----: | :---: |
13646   * | **1**  |  **1**  | **1**  | **12** | **4** |
13647   *
13648   * @see https://developer.mozilla.org/docs/Web/CSS/background
13649   */
13650  background?: BackgroundProperty<TLength>;
13651  /**
13652   * The **`border`** CSS property sets an element's border. It's a shorthand for `border-width`, `border-style`, and `border-color`.
13653   *
13654   * **Syntax**: `<line-width> || <line-style> || <color>`
13655   *
13656   * | Chrome | Firefox | Safari |  Edge  |  IE   |
13657   * | :----: | :-----: | :----: | :----: | :---: |
13658   * | **1**  |  **1**  | **1**  | **12** | **4** |
13659   *
13660   * @see https://developer.mozilla.org/docs/Web/CSS/border
13661   */
13662  border?: BorderProperty<TLength>;
13663  /**
13664   * 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.
13665   *
13666   * **Syntax**: `<'border-top-width'> || <'border-top-style'> || <'color'>`
13667   *
13668   * | Chrome | Firefox | Safari |  Edge  | IE  |
13669   * | :----: | :-----: | :----: | :----: | :-: |
13670   * | **69** | **66**  |   No   | **79** | No  |
13671   *
13672   * @see https://developer.mozilla.org/docs/Web/CSS/border-block
13673   */
13674  "border-block"?: BorderBlockProperty<TLength>;
13675  /**
13676   * 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.
13677   *
13678   * **Syntax**: `<'border-top-width'> || <'border-top-style'> || <'color'>`
13679   *
13680   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
13681   * | :----: | :-----: | :------: | :----: | :-: |
13682   * | **69** | **41**  | **12.1** | **79** | No  |
13683   *
13684   * @see https://developer.mozilla.org/docs/Web/CSS/border-block-end
13685   */
13686  "border-block-end"?: BorderBlockEndProperty<TLength>;
13687  /**
13688   * 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.
13689   *
13690   * **Syntax**: `<'border-top-width'> || <'border-top-style'> || <'color'>`
13691   *
13692   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
13693   * | :----: | :-----: | :------: | :----: | :-: |
13694   * | **69** | **41**  | **12.1** | **79** | No  |
13695   *
13696   * @see https://developer.mozilla.org/docs/Web/CSS/border-block-start
13697   */
13698  "border-block-start"?: BorderBlockStartProperty<TLength>;
13699  /**
13700   * The **`border-bottom`** CSS property is a shorthand that sets the values of `border-bottom-width`, `border-bottom-style` and `border-bottom-color`. These properties set an element's bottom border.
13701   *
13702   * **Syntax**: `<line-width> || <line-style> || <color>`
13703   *
13704   * | Chrome | Firefox | Safari |  Edge  |  IE   |
13705   * | :----: | :-----: | :----: | :----: | :---: |
13706   * | **1**  |  **1**  | **1**  | **12** | **4** |
13707   *
13708   * @see https://developer.mozilla.org/docs/Web/CSS/border-bottom
13709   */
13710  "border-bottom"?: BorderBottomProperty<TLength>;
13711  /**
13712   * The **`border-color`** shorthand CSS property sets the color of all sides of an element's border.
13713   *
13714   * **Syntax**: `<color>{1,4}`
13715   *
13716   * | Chrome | Firefox | Safari |  Edge  |  IE   |
13717   * | :----: | :-----: | :----: | :----: | :---: |
13718   * | **1**  |  **1**  | **1**  | **12** | **4** |
13719   *
13720   * @see https://developer.mozilla.org/docs/Web/CSS/border-color
13721   */
13722  "border-color"?: BorderColorProperty;
13723  /**
13724   * The **`border-image`** CSS property draws an image in place of an element's `border-style`.
13725   *
13726   * **Syntax**: `<'border-image-source'> || <'border-image-slice'> [ / <'border-image-width'> | / <'border-image-width'>? / <'border-image-outset'> ]? || <'border-image-repeat'>`
13727   *
13728   * | Chrome  |  Firefox  | Safari  |  Edge  |   IE   |
13729   * | :-----: | :-------: | :-----: | :----: | :----: |
13730   * | **16**  |  **15**   |  **6**  | **12** | **11** |
13731   * | 7 _-x-_ | 3.5 _-x-_ | 3 _-x-_ |        |        |
13732   *
13733   * @see https://developer.mozilla.org/docs/Web/CSS/border-image
13734   */
13735  "border-image"?: BorderImageProperty;
13736  /**
13737   * 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.
13738   *
13739   * **Syntax**: `<'border-top-width'> || <'border-top-style'> || <'color'>`
13740   *
13741   * | Chrome | Firefox | Safari |  Edge  | IE  |
13742   * | :----: | :-----: | :----: | :----: | :-: |
13743   * | **69** | **66**  |   No   | **79** | No  |
13744   *
13745   * @see https://developer.mozilla.org/docs/Web/CSS/border-inline
13746   */
13747  "border-inline"?: BorderInlineProperty<TLength>;
13748  /**
13749   * 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.
13750   *
13751   * **Syntax**: `<'border-top-width'> || <'border-top-style'> || <'color'>`
13752   *
13753   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
13754   * | :----: | :-----: | :------: | :----: | :-: |
13755   * | **69** | **41**  | **12.1** | **79** | No  |
13756   *
13757   * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-end
13758   */
13759  "border-inline-end"?: BorderInlineEndProperty<TLength>;
13760  /**
13761   * 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.
13762   *
13763   * **Syntax**: `<'border-top-width'> || <'border-top-style'> || <'color'>`
13764   *
13765   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
13766   * | :----: | :-----: | :------: | :----: | :-: |
13767   * | **69** | **41**  | **12.1** | **79** | No  |
13768   *
13769   * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-start
13770   */
13771  "border-inline-start"?: BorderInlineStartProperty<TLength>;
13772  /**
13773   * The **`border-left`** CSS property is a shorthand that sets the values of `border-left-width`, `border-left-style` and `border-left-color`. These properties set an element's left border.
13774   *
13775   * **Syntax**: `<line-width> || <line-style> || <color>`
13776   *
13777   * | Chrome | Firefox | Safari |  Edge  |  IE   |
13778   * | :----: | :-----: | :----: | :----: | :---: |
13779   * | **1**  |  **1**  | **1**  | **12** | **4** |
13780   *
13781   * @see https://developer.mozilla.org/docs/Web/CSS/border-left
13782   */
13783  "border-left"?: BorderLeftProperty<TLength>;
13784  /**
13785   * 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.
13786   *
13787   * **Syntax**: `<length-percentage>{1,4} [ / <length-percentage>{1,4} ]?`
13788   *
13789   * | Chrome  | Firefox | Safari  |  Edge  |  IE   |
13790   * | :-----: | :-----: | :-----: | :----: | :---: |
13791   * |  **4**  |  **4**  |  **5**  | **12** | **9** |
13792   * | 1 _-x-_ |         | 3 _-x-_ |        |       |
13793   *
13794   * @see https://developer.mozilla.org/docs/Web/CSS/border-radius
13795   */
13796  "border-radius"?: BorderRadiusProperty<TLength>;
13797  /**
13798   * The **`border-right`** CSS property is a shorthand that sets the values of `border-right-width`, `border-right-style` and `border-right-color`. These properties set an element's right border.
13799   *
13800   * **Syntax**: `<line-width> || <line-style> || <color>`
13801   *
13802   * | Chrome | Firefox | Safari |  Edge  |   IE    |
13803   * | :----: | :-----: | :----: | :----: | :-----: |
13804   * | **1**  |  **1**  | **1**  | **12** | **5.5** |
13805   *
13806   * @see https://developer.mozilla.org/docs/Web/CSS/border-right
13807   */
13808  "border-right"?: BorderRightProperty<TLength>;
13809  /**
13810   * The **`border-style`** CSS property is a shorthand property that sets the line style for all four sides of an element's border.
13811   *
13812   * **Syntax**: `<line-style>{1,4}`
13813   *
13814   * | Chrome | Firefox | Safari |  Edge  |  IE   |
13815   * | :----: | :-----: | :----: | :----: | :---: |
13816   * | **1**  |  **1**  | **1**  | **12** | **4** |
13817   *
13818   * @see https://developer.mozilla.org/docs/Web/CSS/border-style
13819   */
13820  "border-style"?: BorderStyleProperty;
13821  /**
13822   * The **`border-top`** CSS property is a shorthand that sets the values of `border-top-width`, `border-top-style` and `border-top-color`. These properties set an element's top border.
13823   *
13824   * **Syntax**: `<line-width> || <line-style> || <color>`
13825   *
13826   * | Chrome | Firefox | Safari |  Edge  |  IE   |
13827   * | :----: | :-----: | :----: | :----: | :---: |
13828   * | **1**  |  **1**  | **1**  | **12** | **4** |
13829   *
13830   * @see https://developer.mozilla.org/docs/Web/CSS/border-top
13831   */
13832  "border-top"?: BorderTopProperty<TLength>;
13833  /**
13834   * The **`border-width`** shorthand CSS property sets the widths of all four sides of an element's border.
13835   *
13836   * **Syntax**: `<line-width>{1,4}`
13837   *
13838   * | Chrome | Firefox | Safari |  Edge  |  IE   |
13839   * | :----: | :-----: | :----: | :----: | :---: |
13840   * | **1**  |  **1**  | **1**  | **12** | **4** |
13841   *
13842   * @see https://developer.mozilla.org/docs/Web/CSS/border-width
13843   */
13844  "border-width"?: BorderWidthProperty<TLength>;
13845  /**
13846   * The **`column-rule`** CSS property sets the width, style, and color of the rule (line) drawn between columns in a multi-column layout.
13847   *
13848   * **Syntax**: `<'column-rule-width'> || <'column-rule-style'> || <'column-rule-color'>`
13849   *
13850   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
13851   * | :-----: | :-----: | :-----: | :----: | :----: |
13852   * | **50**  | **52**  |  **9**  | **12** | **10** |
13853   * | 1 _-x-_ |         | 3 _-x-_ |        |        |
13854   *
13855   * @see https://developer.mozilla.org/docs/Web/CSS/column-rule
13856   */
13857  "column-rule"?: ColumnRuleProperty<TLength>;
13858  /**
13859   * The **`columns`** CSS property sets the column width and column count of an element.
13860   *
13861   * **Syntax**: `<'column-width'> || <'column-count'>`
13862   *
13863   * | Chrome | Firefox | Safari  |  Edge  |   IE   |
13864   * | :----: | :-----: | :-----: | :----: | :----: |
13865   * | **50** | **52**  |  **9**  | **12** | **10** |
13866   * |        |         | 3 _-x-_ |        |        |
13867   *
13868   * @see https://developer.mozilla.org/docs/Web/CSS/columns
13869   */
13870  columns?: ColumnsProperty<TLength>;
13871  /**
13872   * The **`flex`** CSS property sets how a flex item will grow or shrink to fit the space available in its flex container. It is a shorthand for `flex-grow`, `flex-shrink`, and `flex-basis`.
13873   *
13874   * **Syntax**: `none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]`
13875   *
13876   * |  Chrome  | Firefox |  Safari   |  Edge  |    IE    |
13877   * | :------: | :-----: | :-------: | :----: | :------: |
13878   * |  **29**  | **20**  |   **9**   | **12** |  **11**  |
13879   * | 21 _-x-_ |         | 6.1 _-x-_ |        | 10 _-x-_ |
13880   *
13881   * @see https://developer.mozilla.org/docs/Web/CSS/flex
13882   */
13883  flex?: FlexProperty<TLength>;
13884  /**
13885   * The **`flex-flow`** CSS property is a shorthand property for `flex-direction` and `flex-wrap` properties.
13886   *
13887   * **Syntax**: `<'flex-direction'> || <'flex-wrap'>`
13888   *
13889   * |  Chrome  | Firefox |  Safari   |  Edge  |   IE   |
13890   * | :------: | :-----: | :-------: | :----: | :----: |
13891   * |  **29**  | **28**  |   **9**   | **12** | **11** |
13892   * | 21 _-x-_ |         | 6.1 _-x-_ |        |        |
13893   *
13894   * @see https://developer.mozilla.org/docs/Web/CSS/flex-flow
13895   */
13896  "flex-flow"?: FlexFlowProperty;
13897  /**
13898   * The **`font`** CSS property is a shorthand for `font-style`, `font-variant`, `font-weight`, `font-size`, `line-height`, and `font-family`. Alternatively, it sets an element's font to a system font.
13899   *
13900   * **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`
13901   *
13902   * | Chrome | Firefox | Safari |  Edge  |  IE   |
13903   * | :----: | :-----: | :----: | :----: | :---: |
13904   * | **1**  |  **1**  | **1**  | **12** | **3** |
13905   *
13906   * @see https://developer.mozilla.org/docs/Web/CSS/font
13907   */
13908  font?: FontProperty;
13909  /**
13910   * The **`gap`** CSS property sets the gaps (gutters) between rows and columns. It is a shorthand for `row-gap` and `column-gap`.
13911   *
13912   * **Syntax**: `<'row-gap'> <'column-gap'>?`
13913   *
13914   * ---
13915   *
13916   * _Supported in Flex Layout_
13917   *
13918   * | Chrome | Firefox | Safari | Edge | IE  |
13919   * | :----: | :-----: | :----: | :--: | :-: |
13920   * | **84** | **63**  |   No   |  No  | No  |
13921   *
13922   * ---
13923   *
13924   * _Supported in Grid Layout_
13925   *
13926   * |     Chrome      |     Firefox     |      Safari       |  Edge  | IE  |
13927   * | :-------------: | :-------------: | :---------------: | :----: | :-: |
13928   * |     **66**      |     **61**      |      **12**       | **16** | No  |
13929   * | 57 _(grid-gap)_ | 52 _(grid-gap)_ | 10.1 _(grid-gap)_ |        |     |
13930   *
13931   * ---
13932   *
13933   * _Supported in Multi-column Layout_
13934   *
13935   * | Chrome | Firefox | Safari |  Edge  | IE  |
13936   * | :----: | :-----: | :----: | :----: | :-: |
13937   * | **66** | **61**  |   No   | **16** | No  |
13938   *
13939   * ---
13940   *
13941   * @see https://developer.mozilla.org/docs/Web/CSS/gap
13942   */
13943  gap?: GapProperty<TLength>;
13944  /**
13945   * The **`grid`** CSS property is a shorthand property that sets all of the explicit grid properties (`grid-template-rows`, `grid-template-columns`, and `grid-template-areas`), and all the implicit grid properties (`grid-auto-rows`, `grid-auto-columns`, and `grid-auto-flow`), in a single declaration.
13946   *
13947   * **Syntax**: `<'grid-template'> | <'grid-template-rows'> / [ auto-flow && dense? ] <'grid-auto-columns'>? | [ auto-flow && dense? ] <'grid-auto-rows'>? / <'grid-template-columns'>`
13948   *
13949   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
13950   * | :----: | :-----: | :------: | :----: | :-: |
13951   * | **57** | **52**  | **10.1** | **16** | No  |
13952   *
13953   * @see https://developer.mozilla.org/docs/Web/CSS/grid
13954   */
13955  grid?: GridProperty;
13956  /**
13957   * The **`grid-area`** CSS property is a shorthand property for `grid-row-start`, `grid-column-start`, `grid-row-end` and `grid-column-end`, specifying 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 edges of its grid area.
13958   *
13959   * **Syntax**: `<grid-line> [ / <grid-line> ]{0,3}`
13960   *
13961   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
13962   * | :----: | :-----: | :------: | :----: | :-: |
13963   * | **57** | **52**  | **10.1** | **16** | No  |
13964   *
13965   * @see https://developer.mozilla.org/docs/Web/CSS/grid-area
13966   */
13967  "grid-area"?: GridAreaProperty;
13968  /**
13969   * The **`grid-column`** CSS property is a shorthand property for `grid-column-start` and `grid-column-end` specifying a grid item's size and location within the 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.
13970   *
13971   * **Syntax**: `<grid-line> [ / <grid-line> ]?`
13972   *
13973   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
13974   * | :----: | :-----: | :------: | :----: | :-: |
13975   * | **57** | **52**  | **10.1** | **16** | No  |
13976   *
13977   * @see https://developer.mozilla.org/docs/Web/CSS/grid-column
13978   */
13979  "grid-column"?: GridColumnProperty;
13980  /**
13981   * The **`grid-row`** CSS property is a shorthand property for `grid-row-start` and `grid-row-end` specifying 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.
13982   *
13983   * **Syntax**: `<grid-line> [ / <grid-line> ]?`
13984   *
13985   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
13986   * | :----: | :-----: | :------: | :----: | :-: |
13987   * | **57** | **52**  | **10.1** | **16** | No  |
13988   *
13989   * @see https://developer.mozilla.org/docs/Web/CSS/grid-row
13990   */
13991  "grid-row"?: GridRowProperty;
13992  /**
13993   * The **`grid-template`** CSS property is a shorthand property for defining grid columns, rows, and areas.
13994   *
13995   * **Syntax**: `none | [ <'grid-template-rows'> / <'grid-template-columns'> ] | [ <line-names>? <string> <track-size>? <line-names>? ]+ [ / <explicit-track-list> ]?`
13996   *
13997   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
13998   * | :----: | :-----: | :------: | :----: | :-: |
13999   * | **57** | **52**  | **10.1** | **16** | No  |
14000   *
14001   * @see https://developer.mozilla.org/docs/Web/CSS/grid-template
14002   */
14003  "grid-template"?: GridTemplateProperty;
14004  /**
14005   * **Syntax**: `none | <integer>`
14006   *
14007   * **Initial value**: `none`
14008   */
14009  "line-clamp"?: LineClampProperty;
14010  /**
14011   * The **`list-style`** CSS property is a shorthand to set list style properties `list-style-type`, `list-style-image`, and `list-style-position`.
14012   *
14013   * **Syntax**: `<'list-style-type'> || <'list-style-position'> || <'list-style-image'>`
14014   *
14015   * | Chrome | Firefox | Safari |  Edge  |  IE   |
14016   * | :----: | :-----: | :----: | :----: | :---: |
14017   * | **1**  |  **1**  | **1**  | **12** | **4** |
14018   *
14019   * @see https://developer.mozilla.org/docs/Web/CSS/list-style
14020   */
14021  "list-style"?: ListStyleProperty;
14022  /**
14023   * 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`.
14024   *
14025   * **Syntax**: `[ <length> | <percentage> | auto ]{1,4}`
14026   *
14027   * | Chrome | Firefox | Safari |  Edge  |  IE   |
14028   * | :----: | :-----: | :----: | :----: | :---: |
14029   * | **1**  |  **1**  | **1**  | **12** | **3** |
14030   *
14031   * @see https://developer.mozilla.org/docs/Web/CSS/margin
14032   */
14033  margin?: MarginProperty<TLength>;
14034  /**
14035   * The **`mask`** CSS property hides an element (partially or fully) by masking or clipping the image at specific points.
14036   *
14037   * **Syntax**: `<mask-layer>#`
14038   *
14039   * | Chrome | Firefox | Safari  |  Edge  | IE  |
14040   * | :----: | :-----: | :-----: | :----: | :-: |
14041   * | **1**  |  **2**  | **3.2** | **12** | No  |
14042   *
14043   * @see https://developer.mozilla.org/docs/Web/CSS/mask
14044   */
14045  mask?: MaskProperty<TLength>;
14046  /**
14047   * The **`mask-border`** CSS property lets you create a mask along the edge of an element's border.
14048   *
14049   * **Syntax**: `<'mask-border-source'> || <'mask-border-slice'> [ / <'mask-border-width'>? [ / <'mask-border-outset'> ]? ]? || <'mask-border-repeat'> || <'mask-border-mode'>`
14050   */
14051  "mask-border"?: MaskBorderProperty;
14052  /**
14053   * The **`offset`** CSS property is a shorthand property for animating an element along a defined path.
14054   *
14055   * **Syntax**: `[ <'offset-position'>? [ <'offset-path'> [ <'offset-distance'> || <'offset-rotate'> ]? ]? ]! [ / <'offset-anchor'> ]?`
14056   *
14057   * |    Chrome     | Firefox | Safari |  Edge  | IE  |
14058   * | :-----------: | :-----: | :----: | :----: | :-: |
14059   * |    **55**     | **72**  |   No   | **79** | No  |
14060   * | 46 _(motion)_ |         |        |        |     |
14061   *
14062   * @see https://developer.mozilla.org/docs/Web/CSS/offset
14063   */
14064  motion?: OffsetProperty<TLength>;
14065  /**
14066   * The **`offset`** CSS property is a shorthand property for animating an element along a defined path.
14067   *
14068   * **Syntax**: `[ <'offset-position'>? [ <'offset-path'> [ <'offset-distance'> || <'offset-rotate'> ]? ]? ]! [ / <'offset-anchor'> ]?`
14069   *
14070   * |    Chrome     | Firefox | Safari |  Edge  | IE  |
14071   * | :-----------: | :-----: | :----: | :----: | :-: |
14072   * |    **55**     | **72**  |   No   | **79** | No  |
14073   * | 46 _(motion)_ |         |        |        |     |
14074   *
14075   * @see https://developer.mozilla.org/docs/Web/CSS/offset
14076   */
14077  offset?: OffsetProperty<TLength>;
14078  /**
14079   * The **`outline`** CSS property is a shorthand to set various outline properties in a single declaration: `outline-style`, `outline-width`, and `outline-color`.
14080   *
14081   * **Syntax**: `[ <'outline-color'> || <'outline-style'> || <'outline-width'> ]`
14082   *
14083   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
14084   * | :----: | :-----: | :-----: | :----: | :---: |
14085   * | **1**  | **1.5** | **1.2** | **12** | **8** |
14086   *
14087   * @see https://developer.mozilla.org/docs/Web/CSS/outline
14088   */
14089  outline?: OutlineProperty<TLength>;
14090  /**
14091   * The **`overflow`** CSS property sets what to do when an element's content is too big to fit in its block formatting context. It is a shorthand for `overflow-x` and `overflow-y`.
14092   *
14093   * **Syntax**: `[ visible | hidden | clip | scroll | auto ]{1,2}`
14094   *
14095   * **Initial value**: `visible`
14096   *
14097   * | Chrome | Firefox | Safari |  Edge  |  IE   |
14098   * | :----: | :-----: | :----: | :----: | :---: |
14099   * | **1**  |  **1**  | **1**  | **12** | **4** |
14100   *
14101   * @see https://developer.mozilla.org/docs/Web/CSS/overflow
14102   */
14103  overflow?: OverflowProperty;
14104  /**
14105   * The **`padding`** CSS property sets the padding area on all four sides of an element. It is a shorthand for `padding-top`, `padding-right`, `padding-bottom`, and `padding-left`.
14106   *
14107   * **Syntax**: `[ <length> | <percentage> ]{1,4}`
14108   *
14109   * | Chrome | Firefox | Safari |  Edge  |  IE   |
14110   * | :----: | :-----: | :----: | :----: | :---: |
14111   * | **1**  |  **1**  | **1**  | **12** | **4** |
14112   *
14113   * @see https://developer.mozilla.org/docs/Web/CSS/padding
14114   */
14115  padding?: PaddingProperty<TLength>;
14116  /**
14117   * The CSS **`place-items`** shorthand property sets the `align-items` and `justify-items` properties, respectively. If the second value is not set, the first value is also used for it.
14118   *
14119   * **Syntax**: `<'align-items'> <'justify-items'>?`
14120   *
14121   * ---
14122   *
14123   * _Supported in Flex Layout_
14124   *
14125   * | Chrome | Firefox | Safari |  Edge  | IE  |
14126   * | :----: | :-----: | :----: | :----: | :-: |
14127   * | **59** | **45**  | **11** | **79** | No  |
14128   *
14129   * ---
14130   *
14131   * _Supported in Grid Layout_
14132   *
14133   * | Chrome | Firefox | Safari |  Edge  | IE  |
14134   * | :----: | :-----: | :----: | :----: | :-: |
14135   * | **59** | **45**  | **11** | **79** | No  |
14136   *
14137   * ---
14138   *
14139   * @see https://developer.mozilla.org/docs/Web/CSS/place-items
14140   */
14141  "place-items"?: PlaceItemsProperty;
14142  /**
14143   * The **`place-self`** CSS property is a shorthand property sets both the `align-self` and `justify-self` properties. The first value is the `align-self` property value, the second the `justify-self` one. If the second value is not present, the first value is also used for it.
14144   *
14145   * **Syntax**: `<'align-self'> <'justify-self'>?`
14146   *
14147   * ---
14148   *
14149   * _Supported in Flex Layout_
14150   *
14151   * | Chrome | Firefox | Safari |  Edge  | IE  |
14152   * | :----: | :-----: | :----: | :----: | :-: |
14153   * | **59** | **45**  |   No   | **79** | No  |
14154   *
14155   * ---
14156   *
14157   * _Supported in Grid Layout_
14158   *
14159   * | Chrome | Firefox | Safari |  Edge  | IE  |
14160   * | :----: | :-----: | :----: | :----: | :-: |
14161   * | **59** | **45**  |   No   | **79** | No  |
14162   *
14163   * ---
14164   *
14165   * @see https://developer.mozilla.org/docs/Web/CSS/place-self
14166   */
14167  "place-self"?: PlaceSelfProperty;
14168  /**
14169   * The **`text-decoration`** CSS property sets the appearance of decorative lines on text. It is a shorthand for `text-decoration-line`, `text-decoration-color`, and `text-decoration-style`.
14170   *
14171   * **Syntax**: `<'text-decoration-line'> || <'text-decoration-style'> || <'text-decoration-color'> || <'text-decoration-thickness'>`
14172   *
14173   * | Chrome | Firefox | Safari |  Edge  |  IE   |
14174   * | :----: | :-----: | :----: | :----: | :---: |
14175   * | **1**  |  **1**  | **1**  | **12** | **3** |
14176   *
14177   * @see https://developer.mozilla.org/docs/Web/CSS/text-decoration
14178   */
14179  "text-decoration"?: TextDecorationProperty<TLength>;
14180  /**
14181   * 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`.
14182   *
14183   * **Syntax**: `<'text-emphasis-style'> || <'text-emphasis-color'>`
14184   *
14185   * |    Chrome    | Firefox | Safari  |     Edge     | IE  |
14186   * | :----------: | :-----: | :-----: | :----------: | :-: |
14187   * | **25** _-x-_ | **46**  | **6.1** | **79** _-x-_ | No  |
14188   *
14189   * @see https://developer.mozilla.org/docs/Web/CSS/text-emphasis
14190   */
14191  "text-emphasis"?: TextEmphasisProperty;
14192  /**
14193   * The **`transition`** CSS property is a shorthand property for `transition-property`, `transition-duration`, `transition-timing-function`, and `transition-delay`.
14194   *
14195   * **Syntax**: `<single-transition>#`
14196   *
14197   * | Chrome  | Firefox |  Safari   |  Edge  |   IE   |
14198   * | :-----: | :-----: | :-------: | :----: | :----: |
14199   * | **26**  | **16**  |   **9**   | **12** | **10** |
14200   * | 1 _-x-_ | 4 _-x-_ | 3.1 _-x-_ |        |        |
14201   *
14202   * @see https://developer.mozilla.org/docs/Web/CSS/transition
14203   */
14204  transition?: TransitionProperty;
14205}
14206
14207export interface StandardPropertiesHyphen<TLength = string | 0> extends StandardLonghandPropertiesHyphen<TLength>, StandardShorthandPropertiesHyphen<TLength> {}
14208
14209export interface VendorLonghandPropertiesHyphen<TLength = string | 0> {
14210  /**
14211   * The **`animation-delay`** CSS property sets when an animation starts. The animation can start later, immediately from its beginning, or immediately and partway through the animation.
14212   *
14213   * **Syntax**: `<time>#`
14214   *
14215   * **Initial value**: `0s`
14216   */
14217  "-moz-animation-delay"?: GlobalsString;
14218  /**
14219   * The **`animation-direction`** CSS property sets whether an animation should play forwards, backwards, or alternating back and forth.
14220   *
14221   * **Syntax**: `<single-animation-direction>#`
14222   *
14223   * **Initial value**: `normal`
14224   */
14225  "-moz-animation-direction"?: AnimationDirectionProperty;
14226  /**
14227   * The **`animation-duration`** CSS property sets the length of time that an animation takes to complete one cycle.
14228   *
14229   * **Syntax**: `<time>#`
14230   *
14231   * **Initial value**: `0s`
14232   */
14233  "-moz-animation-duration"?: GlobalsString;
14234  /**
14235   * The **`animation-fill-mode`** CSS property sets how a CSS animation applies styles to its target before and after its execution.
14236   *
14237   * **Syntax**: `<single-animation-fill-mode>#`
14238   *
14239   * **Initial value**: `none`
14240   */
14241  "-moz-animation-fill-mode"?: AnimationFillModeProperty;
14242  /**
14243   * The **`animation-iteration-count`** CSS property sets the number of times an animation cycle should be played before stopping.
14244   *
14245   * **Syntax**: `<single-animation-iteration-count>#`
14246   *
14247   * **Initial value**: `1`
14248   */
14249  "-moz-animation-iteration-count"?: AnimationIterationCountProperty;
14250  /**
14251   * The **`animation-name`** CSS property sets one or more animations to apply to an element. Each name is an `@keyframes` at-rule that sets the property values for the animation sequence.
14252   *
14253   * **Syntax**: `[ none | <keyframes-name> ]#`
14254   *
14255   * **Initial value**: `none`
14256   */
14257  "-moz-animation-name"?: AnimationNameProperty;
14258  /**
14259   * The **`animation-play-state`** CSS property sets whether an animation is running or paused.
14260   *
14261   * **Syntax**: `<single-animation-play-state>#`
14262   *
14263   * **Initial value**: `running`
14264   */
14265  "-moz-animation-play-state"?: AnimationPlayStateProperty;
14266  /**
14267   * The `**animation-timing-function**` CSS property sets how an animation progresses through the duration of each cycle.
14268   *
14269   * **Syntax**: `<timing-function>#`
14270   *
14271   * **Initial value**: `ease`
14272   */
14273  "-moz-animation-timing-function"?: AnimationTimingFunctionProperty;
14274  /**
14275   * The **`-moz-appearance`** CSS property is used in Gecko (Firefox) to display an element using platform-native styling based on the operating system's theme.
14276   *
14277   * **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`
14278   *
14279   * **Initial value**: `none` (but this value is overridden in the user agent CSS)
14280   */
14281  "-moz-appearance"?: MozAppearanceProperty;
14282  /**
14283   * The **`backface-visibility`** CSS property sets whether the back face of an element is visible when turned towards the user.
14284   *
14285   * **Syntax**: `visible | hidden`
14286   *
14287   * **Initial value**: `visible`
14288   */
14289  "-moz-backface-visibility"?: BackfaceVisibilityProperty;
14290  /**
14291   * In Mozilla applications like Firefox, the **`-moz-border-bottom-colors`** CSS property sets a list of colors for the bottom border.
14292   *
14293   * **Syntax**: `<color>+ | none`
14294   *
14295   * **Initial value**: `none`
14296   */
14297  "-moz-border-bottom-colors"?: MozBorderBottomColorsProperty;
14298  /**
14299   * 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`.
14300   *
14301   * **Syntax**: `<'border-top-color'>`
14302   *
14303   * **Initial value**: `currentcolor`
14304   */
14305  "-moz-border-end-color"?: BorderInlineEndColorProperty;
14306  /**
14307   * 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`.
14308   *
14309   * **Syntax**: `<'border-top-style'>`
14310   *
14311   * **Initial value**: `none`
14312   */
14313  "-moz-border-end-style"?: BorderInlineEndStyleProperty;
14314  /**
14315   * 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`.
14316   *
14317   * **Syntax**: `<'border-top-width'>`
14318   *
14319   * **Initial value**: `medium`
14320   */
14321  "-moz-border-end-width"?: BorderInlineEndWidthProperty<TLength>;
14322  /**
14323   * In Mozilla applications like Firefox, the **`-moz-border-left-colors`** CSS property sets a list of colors for the left border.
14324   *
14325   * **Syntax**: `<color>+ | none`
14326   *
14327   * **Initial value**: `none`
14328   */
14329  "-moz-border-left-colors"?: MozBorderLeftColorsProperty;
14330  /**
14331   * In Mozilla applications like Firefox, the **`-moz-border-right-colors`** CSS property sets a list of colors for the right border.
14332   *
14333   * **Syntax**: `<color>+ | none`
14334   *
14335   * **Initial value**: `none`
14336   */
14337  "-moz-border-right-colors"?: MozBorderRightColorsProperty;
14338  /**
14339   * 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`.
14340   *
14341   * **Syntax**: `<'border-top-color'>`
14342   *
14343   * **Initial value**: `currentcolor`
14344   */
14345  "-moz-border-start-color"?: BorderInlineStartColorProperty;
14346  /**
14347   * 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`.
14348   *
14349   * **Syntax**: `<'border-top-style'>`
14350   *
14351   * **Initial value**: `none`
14352   */
14353  "-moz-border-start-style"?: BorderInlineStartStyleProperty;
14354  /**
14355   * In Mozilla applications like Firefox, the **`-moz-border-top-colors`** CSS property sets a list of colors for the top border.
14356   *
14357   * **Syntax**: `<color>+ | none`
14358   *
14359   * **Initial value**: `none`
14360   */
14361  "-moz-border-top-colors"?: MozBorderTopColorsProperty;
14362  /**
14363   * The **`box-sizing`** CSS property defines how the user agent should calculate the total width and height of an element.
14364   *
14365   * **Syntax**: `content-box | border-box`
14366   *
14367   * **Initial value**: `content-box`
14368   */
14369  "-moz-box-sizing"?: BoxSizingProperty;
14370  /**
14371   * The **`column-count`** CSS property breaks an element's content into the specified number of columns.
14372   *
14373   * **Syntax**: `<integer> | auto`
14374   *
14375   * **Initial value**: `auto`
14376   */
14377  "-moz-column-count"?: ColumnCountProperty;
14378  /**
14379   * The **`column-fill`** CSS property controls how an element's contents are balanced when broken into columns.
14380   *
14381   * **Syntax**: `auto | balance | balance-all`
14382   *
14383   * **Initial value**: `balance`
14384   */
14385  "-moz-column-fill"?: ColumnFillProperty;
14386  /**
14387   * The **`column-gap`** CSS property sets the size of the gap (gutter) between an element's columns.
14388   *
14389   * **Syntax**: `normal | <length-percentage>`
14390   *
14391   * **Initial value**: `normal`
14392   */
14393  "-moz-column-gap"?: ColumnGapProperty<TLength>;
14394  /**
14395   * The **`column-rule-color`** CSS property sets the color of the rule (line) drawn between columns in a multi-column layout.
14396   *
14397   * **Syntax**: `<color>`
14398   *
14399   * **Initial value**: `currentcolor`
14400   */
14401  "-moz-column-rule-color"?: ColumnRuleColorProperty;
14402  /**
14403   * The **`column-rule-style`** CSS property sets the style of the line drawn between columns in a multi-column layout.
14404   *
14405   * **Syntax**: `<'border-style'>`
14406   *
14407   * **Initial value**: `none`
14408   */
14409  "-moz-column-rule-style"?: ColumnRuleStyleProperty;
14410  /**
14411   * The **`column-rule-width`** CSS property sets the width of the rule (line) drawn between columns in a multi-column layout.
14412   *
14413   * **Syntax**: `<'border-width'>`
14414   *
14415   * **Initial value**: `medium`
14416   */
14417  "-moz-column-rule-width"?: ColumnRuleWidthProperty<TLength>;
14418  /**
14419   * The **`column-width`** CSS property specifies 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.
14420   *
14421   * **Syntax**: `<length> | auto`
14422   *
14423   * **Initial value**: `auto`
14424   */
14425  "-moz-column-width"?: ColumnWidthProperty<TLength>;
14426  /**
14427   * If you reference an SVG image in a webpage (such as with the `<img>` element or as a background image), the SVG image can coordinate with the embedding element (its context) to have the image adopt property values set on the embedding element. To do this the embedding element needs to list the properties that are to be made available to the image by listing them as values of the **`-moz-context-properties`** property, and the image needs to opt in to using those properties by using values such as the `context-fill` value.
14428   *
14429   * **Syntax**: `none | [ fill | fill-opacity | stroke | stroke-opacity ]#`
14430   *
14431   * **Initial value**: `none`
14432   */
14433  "-moz-context-properties"?: MozContextPropertiesProperty;
14434  /**
14435   * 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.
14436   *
14437   * **Syntax**: `border-box | content-box | margin-box | padding-box`
14438   *
14439   * **Initial value**: `content-box`
14440   */
14441  "-moz-float-edge"?: MozFloatEdgeProperty;
14442  /**
14443   * The **`font-feature-settings`** CSS property controls advanced typographic features in OpenType fonts.
14444   *
14445   * **Syntax**: `normal | <feature-tag-value>#`
14446   *
14447   * **Initial value**: `normal`
14448   */
14449  "-moz-font-feature-settings"?: FontFeatureSettingsProperty;
14450  /**
14451   * The **`font-language-override`** CSS property controls the use of language-specific glyphs in a typeface.
14452   *
14453   * **Syntax**: `normal | <string>`
14454   *
14455   * **Initial value**: `normal`
14456   */
14457  "-moz-font-language-override"?: FontLanguageOverrideProperty;
14458  /**
14459   * 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.
14460   *
14461   * **Syntax**: `<integer>`
14462   *
14463   * **Initial value**: `0`
14464   */
14465  "-moz-force-broken-image-icon"?: GlobalsNumber;
14466  /**
14467   * The **`hyphens`** CSS property specifies how words should be hyphenated when text wraps across multiple lines. You can prevent hyphenation entirely, use hyphenation in manually-specified points within the text, or let the browser automatically insert hyphens where appropriate.
14468   *
14469   * **Syntax**: `none | manual | auto`
14470   *
14471   * **Initial value**: `manual`
14472   */
14473  "-moz-hyphens"?: HyphensProperty;
14474  /**
14475   * 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.
14476   *
14477   * **Syntax**: `<shape> | auto`
14478   *
14479   * **Initial value**: `auto`
14480   */
14481  "-moz-image-region"?: MozImageRegionProperty;
14482  /**
14483   * 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`.
14484   *
14485   * **Syntax**: `<'margin-left'>`
14486   *
14487   * **Initial value**: `0`
14488   */
14489  "-moz-margin-end"?: MarginInlineEndProperty<TLength>;
14490  /**
14491   * 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`.
14492   *
14493   * **Syntax**: `<'margin-left'>`
14494   *
14495   * **Initial value**: `0`
14496   */
14497  "-moz-margin-start"?: MarginInlineStartProperty<TLength>;
14498  /**
14499   * The **`-moz-orient`** CSS property specifies the orientation of the element to which it's applied.
14500   *
14501   * **Syntax**: `inline | block | horizontal | vertical`
14502   *
14503   * **Initial value**: `inline`
14504   */
14505  "-moz-orient"?: MozOrientProperty;
14506  /**
14507   * In Mozilla applications, the **`-moz-outline-radius-bottomleft`** CSS property can be used to round the bottom-left corner of an element's `outline`.
14508   *
14509   * **Syntax**: `<outline-radius>`
14510   *
14511   * **Initial value**: `0`
14512   */
14513  "-moz-outline-radius-bottomleft"?: MozOutlineRadiusBottomleftProperty<TLength>;
14514  /**
14515   * In Mozilla applications, the **`-moz-outline-radius-bottomright`** CSS property can be used to round the bottom-right corner of an element's `outline`.
14516   *
14517   * **Syntax**: `<outline-radius>`
14518   *
14519   * **Initial value**: `0`
14520   */
14521  "-moz-outline-radius-bottomright"?: MozOutlineRadiusBottomrightProperty<TLength>;
14522  /**
14523   * In Mozilla applications, the **`-moz-outline-radius-topleft`** CSS property can be used to round the top-left corner of an element's `outline`.
14524   *
14525   * **Syntax**: `<outline-radius>`
14526   *
14527   * **Initial value**: `0`
14528   */
14529  "-moz-outline-radius-topleft"?: MozOutlineRadiusTopleftProperty<TLength>;
14530  /**
14531   * In Mozilla applications, the **`-moz-outline-radius-topright`** CSS property can be used to round the top-right corner of an element's `outline`.
14532   *
14533   * **Syntax**: `<outline-radius>`
14534   *
14535   * **Initial value**: `0`
14536   */
14537  "-moz-outline-radius-topright"?: MozOutlineRadiusToprightProperty<TLength>;
14538  /**
14539   * 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. It corresponds to the `padding-top`, `padding-right`, `padding-bottom`, or `padding-left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
14540   *
14541   * **Syntax**: `<'padding-left'>`
14542   *
14543   * **Initial value**: `0`
14544   */
14545  "-moz-padding-end"?: PaddingInlineEndProperty<TLength>;
14546  /**
14547   * 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. It corresponds to the `padding-top`, `padding-right`, `padding-bottom`, or `padding-left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
14548   *
14549   * **Syntax**: `<'padding-left'>`
14550   *
14551   * **Initial value**: `0`
14552   */
14553  "-moz-padding-start"?: PaddingInlineStartProperty<TLength>;
14554  /**
14555   * 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. Each 3D element with z>0 becomes larger; each 3D-element with z<0 becomes smaller. The strength of the effect is determined by the value of this property.
14556   *
14557   * **Syntax**: `none | <length>`
14558   *
14559   * **Initial value**: `none`
14560   */
14561  "-moz-perspective"?: PerspectiveProperty<TLength>;
14562  /**
14563   * 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.
14564   *
14565   * **Syntax**: `<position>`
14566   *
14567   * **Initial value**: `50% 50%`
14568   */
14569  "-moz-perspective-origin"?: PerspectiveOriginProperty<TLength>;
14570  /**
14571   * **`-moz-stack-sizing`** is an extended CSS property. Normally, a `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.
14572   *
14573   * **Syntax**: `ignore | stretch-to-fit`
14574   *
14575   * **Initial value**: `stretch-to-fit`
14576   */
14577  "-moz-stack-sizing"?: MozStackSizingProperty;
14578  /**
14579   * The **`tab-size`** CSS property is used to customize the width of a tab (`U+0009`) character.
14580   *
14581   * **Syntax**: `<integer> | <length>`
14582   *
14583   * **Initial value**: `8`
14584   */
14585  "-moz-tab-size"?: TabSizeProperty<TLength>;
14586  /**
14587   * The **`-moz-text-blink`** non-standard Mozilla CSS extension specifies the blink mode.
14588   *
14589   * **Syntax**: `none | blink`
14590   *
14591   * **Initial value**: `none`
14592   */
14593  "-moz-text-blink"?: MozTextBlinkProperty;
14594  /**
14595   * The **`text-size-adjust`** CSS property controls the text inflation algorithm used on some smartphones and tablets. Other browsers will ignore this property.
14596   *
14597   * **Syntax**: `none | auto | <percentage>`
14598   *
14599   * **Initial value**: `auto` for smartphone browsers supporting inflation, `none` in other cases (and then not modifiable).
14600   */
14601  "-moz-text-size-adjust"?: TextSizeAdjustProperty;
14602  /**
14603   * The **`transform-origin`** CSS property sets the origin for an element's transformations.
14604   *
14605   * **Syntax**: `[ <length-percentage> | left | center | right | top | bottom ] | [ [ <length-percentage> | left | center | right ] && [ <length-percentage> | top | center | bottom ] ] <length>?`
14606   *
14607   * **Initial value**: `50% 50% 0`
14608   */
14609  "-moz-transform-origin"?: TransformOriginProperty<TLength>;
14610  /**
14611   * 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.
14612   *
14613   * **Syntax**: `flat | preserve-3d`
14614   *
14615   * **Initial value**: `flat`
14616   */
14617  "-moz-transform-style"?: TransformStyleProperty;
14618  /**
14619   * The **`transition-delay`** CSS property specifies the duration to wait before starting a property's transition effect when its value changes.
14620   *
14621   * **Syntax**: `<time>#`
14622   *
14623   * **Initial value**: `0s`
14624   */
14625  "-moz-transition-delay"?: GlobalsString;
14626  /**
14627   * 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.
14628   *
14629   * **Syntax**: `<time>#`
14630   *
14631   * **Initial value**: `0s`
14632   */
14633  "-moz-transition-duration"?: GlobalsString;
14634  /**
14635   * The **`transition-property`** CSS property sets the CSS properties to which a transition effect should be applied.
14636   *
14637   * **Syntax**: `none | <single-transition-property>#`
14638   *
14639   * **Initial value**: all
14640   */
14641  "-moz-transition-property"?: TransitionPropertyProperty;
14642  /**
14643   * The **`transition-timing-function`** CSS property sets how intermediate values are calculated for CSS properties being affected by a transition effect.
14644   *
14645   * **Syntax**: `<timing-function>#`
14646   *
14647   * **Initial value**: `ease`
14648   */
14649  "-moz-transition-timing-function"?: TransitionTimingFunctionProperty;
14650  /**
14651   * The **`-moz-user-focus`** CSS property is used to indicate whether an element can have the focus.
14652   *
14653   * **Syntax**: `ignore | normal | select-after | select-before | select-menu | select-same | select-all | none`
14654   *
14655   * **Initial value**: `none`
14656   */
14657  "-moz-user-focus"?: MozUserFocusProperty;
14658  /**
14659   * 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.
14660   *
14661   * **Syntax**: `read-only | read-write | write-only`
14662   *
14663   * **Initial value**: `read-only`
14664   */
14665  "-moz-user-modify"?: MozUserModifyProperty;
14666  /**
14667   * 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.
14668   *
14669   * **Syntax**: `auto | text | none | contain | all`
14670   *
14671   * **Initial value**: `auto`
14672   */
14673  "-moz-user-select"?: UserSelectProperty;
14674  /**
14675   * 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.
14676   *
14677   * **Syntax**: `drag | no-drag`
14678   *
14679   * **Initial value**: `drag`
14680   */
14681  "-moz-window-dragging"?: MozWindowDraggingProperty;
14682  /**
14683   * The **`-moz-window-shadow`** CSS property specifies whether a window will have a shadow. It only works on Mac OS X.
14684   *
14685   * **Syntax**: `default | menu | tooltip | sheet | none`
14686   *
14687   * **Initial value**: `default`
14688   */
14689  "-moz-window-shadow"?: MozWindowShadowProperty;
14690  /**
14691   * The **`-ms-accelerator`** CSS property is a Microsoft extension that sets or retrieves a string indicating whether the object represents a keyboard shortcut.
14692   *
14693   * **Syntax**: `false | true`
14694   *
14695   * **Initial value**: `false`
14696   */
14697  "-ms-accelerator"?: MsAcceleratorProperty;
14698  /**
14699   * The **`align-self`** CSS property aligns flex items of the current flex line overriding the `align-items` value. If any of the item's cross-axis margin is set to `auto`, then `align-self` is ignored. In Grid layout `align-self` aligns the item inside the grid area.
14700   *
14701   * **Syntax**: `auto | normal | stretch | <baseline-position> | <overflow-position>? <self-position>`
14702   *
14703   * **Initial value**: `auto`
14704   */
14705  "-ms-align-self"?: AlignSelfProperty;
14706  /**
14707   * The **`-ms-block-progression`** CSS property is a Microsoft extension that specifies the block progression and layout orientation.
14708   *
14709   * **Syntax**: `tb | rl | bt | lr`
14710   *
14711   * **Initial value**: `tb`
14712   */
14713  "-ms-block-progression"?: MsBlockProgressionProperty;
14714  /**
14715   * 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.
14716   *
14717   * **Syntax**: `none | chained`
14718   *
14719   * **Initial value**: `none`
14720   */
14721  "-ms-content-zoom-chaining"?: MsContentZoomChainingProperty;
14722  /**
14723   * The **`-ms-content-zoom-limit-max`** CSS property is a Microsoft extension that specifies the selected elements' maximum zoom factor.
14724   *
14725   * **Syntax**: `<percentage>`
14726   *
14727   * **Initial value**: `400%`
14728   */
14729  "-ms-content-zoom-limit-max"?: GlobalsString;
14730  /**
14731   * The **`-ms-content-zoom-limit-min`** CSS property is a Microsoft extension that specifies the minimum zoom factor.
14732   *
14733   * **Syntax**: `<percentage>`
14734   *
14735   * **Initial value**: `100%`
14736   */
14737  "-ms-content-zoom-limit-min"?: GlobalsString;
14738  /**
14739   * The **`-ms-content-zoom-snap-points`** CSS property is a Microsoft extension that specifies where zoom snap-points are located.
14740   *
14741   * **Syntax**: `snapInterval( <percentage>, <percentage> ) | snapList( <percentage># )`
14742   *
14743   * **Initial value**: `snapInterval(0%, 100%)`
14744   */
14745  "-ms-content-zoom-snap-points"?: GlobalsString;
14746  /**
14747   * The **`-ms-content-zoom-snap-type`** CSS property is a Microsoft extension that specifies how zooming is affected by defined snap-points.
14748   *
14749   * **Syntax**: `none | proximity | mandatory`
14750   *
14751   * **Initial value**: `none`
14752   */
14753  "-ms-content-zoom-snap-type"?: MsContentZoomSnapTypeProperty;
14754  /**
14755   * The **`-ms-content-zooming`** CSS property is a Microsoft extension that specifies whether zooming is enabled.
14756   *
14757   * **Syntax**: `none | zoom`
14758   *
14759   * **Initial value**: zoom for the top level element, none for all other elements
14760   */
14761  "-ms-content-zooming"?: MsContentZoomingProperty;
14762  /**
14763   * The `-ms-filter` CSS property is a Microsoft extension that sets or retrieves the filter or collection of filters applied to an object.
14764   *
14765   * **Syntax**: `<string>`
14766   *
14767   * **Initial value**: "" (the empty string)
14768   */
14769  "-ms-filter"?: GlobalsString;
14770  /**
14771   * 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).
14772   *
14773   * **Syntax**: `row | row-reverse | column | column-reverse`
14774   *
14775   * **Initial value**: `row`
14776   */
14777  "-ms-flex-direction"?: FlexDirectionProperty;
14778  /**
14779   * The **`flex-grow`** CSS property sets how much of the available space in the flex container should be assigned to that item (the flex grow factor). If all sibling items have the same flex grow factor, then all items will receive the same share of available space, otherwise it is distributed according to the ratio defined by the different flex grow factors.
14780   *
14781   * **Syntax**: `<number>`
14782   *
14783   * **Initial value**: `0`
14784   */
14785  "-ms-flex-positive"?: GlobalsNumber;
14786  /**
14787   * 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.
14788   *
14789   * **Syntax**: `[ none | <custom-ident> ]#`
14790   *
14791   * **Initial value**: `none`
14792   */
14793  "-ms-flow-from"?: MsFlowFromProperty;
14794  /**
14795   * 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.
14796   *
14797   * **Syntax**: `[ none | <custom-ident> ]#`
14798   *
14799   * **Initial value**: `none`
14800   */
14801  "-ms-flow-into"?: MsFlowIntoProperty;
14802  /**
14803   * The **`grid-auto-columns`** CSS property specifies the size of an implicitly-created grid column track.
14804   *
14805   * **Syntax**: `<track-size>+`
14806   *
14807   * **Initial value**: `auto`
14808   */
14809  "-ms-grid-columns"?: GridAutoColumnsProperty<TLength>;
14810  /**
14811   * The **`grid-auto-rows`** CSS property specifies the size of an implicitly-created grid row track.
14812   *
14813   * **Syntax**: `<track-size>+`
14814   *
14815   * **Initial value**: `auto`
14816   */
14817  "-ms-grid-rows"?: GridAutoRowsProperty<TLength>;
14818  /**
14819   * 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.
14820   *
14821   * **Syntax**: `auto | none`
14822   *
14823   * **Initial value**: `auto`
14824   */
14825  "-ms-high-contrast-adjust"?: MsHighContrastAdjustProperty;
14826  /**
14827   * 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.
14828   *
14829   * **Syntax**: `auto | <integer>{1,3}`
14830   *
14831   * **Initial value**: `auto`
14832   */
14833  "-ms-hyphenate-limit-chars"?: MsHyphenateLimitCharsProperty;
14834  /**
14835   * 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.
14836   *
14837   * **Syntax**: `no-limit | <integer>`
14838   *
14839   * **Initial value**: `no-limit`
14840   */
14841  "-ms-hyphenate-limit-lines"?: MsHyphenateLimitLinesProperty;
14842  /**
14843   * The `**-ms-hyphenate-limit-zone**` CSS property is a Microsoft extension specifying the width of the hyphenation zone.
14844   *
14845   * **Syntax**: `<percentage> | <length>`
14846   *
14847   * **Initial value**: `0`
14848   */
14849  "-ms-hyphenate-limit-zone"?: MsHyphenateLimitZoneProperty<TLength>;
14850  /**
14851   * The **`hyphens`** CSS property specifies how words should be hyphenated when text wraps across multiple lines. You can prevent hyphenation entirely, use hyphenation in manually-specified points within the text, or let the browser automatically insert hyphens where appropriate.
14852   *
14853   * **Syntax**: `none | manual | auto`
14854   *
14855   * **Initial value**: `manual`
14856   */
14857  "-ms-hyphens"?: HyphensProperty;
14858  /**
14859   * 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.
14860   *
14861   * **Syntax**: `auto | after`
14862   *
14863   * **Initial value**: `auto`
14864   */
14865  "-ms-ime-align"?: MsImeAlignProperty;
14866  /**
14867   * The **`line-break`** CSS property sets how to break lines of Chinese, Japanese, or Korean (CJK) text when working with punctuation and symbols.
14868   *
14869   * **Syntax**: `auto | loose | normal | strict | anywhere`
14870   *
14871   * **Initial value**: `auto`
14872   */
14873  "-ms-line-break"?: LineBreakProperty;
14874  /**
14875   * 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.
14876   *
14877   * **Syntax**: `<integer>`
14878   *
14879   * **Initial value**: `0`
14880   */
14881  "-ms-order"?: GlobalsNumber;
14882  /**
14883   * The **`-ms-overflow-style`** CSS property is a Microsoft extension controlling the behavior of scrollbars when the content of an element overflows.
14884   *
14885   * **Syntax**: `auto | none | scrollbar | -ms-autohiding-scrollbar`
14886   *
14887   * **Initial value**: `auto`
14888   */
14889  "-ms-overflow-style"?: MsOverflowStyleProperty;
14890  /**
14891   * 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.
14892   *
14893   * **Syntax**: `visible | hidden | clip | scroll | auto`
14894   *
14895   * **Initial value**: `visible`
14896   */
14897  "-ms-overflow-x"?: OverflowXProperty;
14898  /**
14899   * 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.
14900   *
14901   * **Syntax**: `visible | hidden | clip | scroll | auto`
14902   *
14903   * **Initial value**: `visible`
14904   */
14905  "-ms-overflow-y"?: OverflowYProperty;
14906  /**
14907   * 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.
14908   *
14909   * **Syntax**: `chained | none`
14910   *
14911   * **Initial value**: `chained`
14912   */
14913  "-ms-scroll-chaining"?: MsScrollChainingProperty;
14914  /**
14915   * The `**-ms-scroll-limit-x-max**` CSS property is a Microsoft extension that specifies the maximum value for the `Element.scrollLeft` property.
14916   *
14917   * **Syntax**: `auto | <length>`
14918   *
14919   * **Initial value**: `auto`
14920   */
14921  "-ms-scroll-limit-x-max"?: MsScrollLimitXMaxProperty<TLength>;
14922  /**
14923   * The **`-ms-scroll-limit-x-min`** CSS property is a Microsoft extension that specifies the minimum value for the `Element.scrollLeft` property.
14924   *
14925   * **Syntax**: `<length>`
14926   *
14927   * **Initial value**: `0`
14928   */
14929  "-ms-scroll-limit-x-min"?: MsScrollLimitXMinProperty<TLength>;
14930  /**
14931   * The **`-ms-scroll-limit-y-max`** CSS property is a Microsoft extension that specifies the maximum value for the `Element.scrollTop` property.
14932   *
14933   * **Syntax**: `auto | <length>`
14934   *
14935   * **Initial value**: `auto`
14936   */
14937  "-ms-scroll-limit-y-max"?: MsScrollLimitYMaxProperty<TLength>;
14938  /**
14939   * The **`-ms-scroll-limit-y-min`** CSS property is a Microsoft extension that specifies the minimum value for the `Element.scrollTop` property.
14940   *
14941   * **Syntax**: `<length>`
14942   *
14943   * **Initial value**: `0`
14944   */
14945  "-ms-scroll-limit-y-min"?: MsScrollLimitYMinProperty<TLength>;
14946  /**
14947   * The **`-ms-scroll-rails`** CSS property is a Microsoft extension that specifies whether scrolling locks to the primary axis of motion.
14948   *
14949   * **Syntax**: `none | railed`
14950   *
14951   * **Initial value**: `railed`
14952   */
14953  "-ms-scroll-rails"?: MsScrollRailsProperty;
14954  /**
14955   * The **`-ms-scroll-snap-points-x`** CSS property is a Microsoft extension that specifies where snap-points will be located along the x-axis.
14956   *
14957   * **Syntax**: `snapInterval( <length-percentage>, <length-percentage> ) | snapList( <length-percentage># )`
14958   *
14959   * **Initial value**: `snapInterval(0px, 100%)`
14960   */
14961  "-ms-scroll-snap-points-x"?: GlobalsString;
14962  /**
14963   * The **`-ms-scroll-snap-points-y`** CSS property is a Microsoft extension that specifies where snap-points will be located along the y-axis.
14964   *
14965   * **Syntax**: `snapInterval( <length-percentage>, <length-percentage> ) | snapList( <length-percentage># )`
14966   *
14967   * **Initial value**: `snapInterval(0px, 100%)`
14968   */
14969  "-ms-scroll-snap-points-y"?: GlobalsString;
14970  /**
14971   * The **`scroll-snap-type`** CSS property sets how strictly snap points are enforced on the scroll container in case there is one.
14972   *
14973   * **Syntax**: `none | proximity | mandatory`
14974   *
14975   * **Initial value**: `none`
14976   */
14977  "-ms-scroll-snap-type"?: MsScrollSnapTypeProperty;
14978  /**
14979   * The **`-ms-scroll-translation`** CSS property is a Microsoft extension that specifies whether vertical-to-horizontal scroll wheel translation occurs on the specified element.
14980   *
14981   * **Syntax**: `none | vertical-to-horizontal`
14982   *
14983   * **Initial value**: `none`
14984   */
14985  "-ms-scroll-translation"?: MsScrollTranslationProperty;
14986  /**
14987   * 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.
14988   *
14989   * **Syntax**: `<color>`
14990   *
14991   * **Initial value**: depends on user agent
14992   */
14993  "-ms-scrollbar-3dlight-color"?: MsScrollbar3dlightColorProperty;
14994  /**
14995   * The **`-ms-scrollbar-arrow-color`** CSS property is a Microsoft extension that specifies the color of the arrow elements of a scroll arrow.
14996   *
14997   * **Syntax**: `<color>`
14998   *
14999   * **Initial value**: `ButtonText`
15000   */
15001  "-ms-scrollbar-arrow-color"?: MsScrollbarArrowColorProperty;
15002  /**
15003   * The `**-ms-scrollbar-base-color**` CSS property is a Microsoft extension that specifies the base color of the main elements of a scroll bar.
15004   *
15005   * **Syntax**: `<color>`
15006   *
15007   * **Initial value**: depends on user agent
15008   */
15009  "-ms-scrollbar-base-color"?: MsScrollbarBaseColorProperty;
15010  /**
15011   * The **`-ms-scrollbar-darkshadow-color`** CSS property is a Microsoft extension that specifies the color of a scroll bar's gutter.
15012   *
15013   * **Syntax**: `<color>`
15014   *
15015   * **Initial value**: `ThreeDDarkShadow`
15016   */
15017  "-ms-scrollbar-darkshadow-color"?: MsScrollbarDarkshadowColorProperty;
15018  /**
15019   * 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.
15020   *
15021   * **Syntax**: `<color>`
15022   *
15023   * **Initial value**: `ThreeDFace`
15024   */
15025  "-ms-scrollbar-face-color"?: MsScrollbarFaceColorProperty;
15026  /**
15027   * 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.
15028   *
15029   * **Syntax**: `<color>`
15030   *
15031   * **Initial value**: `ThreeDHighlight`
15032   */
15033  "-ms-scrollbar-highlight-color"?: MsScrollbarHighlightColorProperty;
15034  /**
15035   * 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.
15036   *
15037   * **Syntax**: `<color>`
15038   *
15039   * **Initial value**: `ThreeDDarkShadow`
15040   */
15041  "-ms-scrollbar-shadow-color"?: MsScrollbarShadowColorProperty;
15042  /**
15043   * The **`-ms-text-autospace`** CSS property is a Microsoft extension that specifies the autospacing and narrow space width adjustment of text.
15044   *
15045   * **Syntax**: `none | ideograph-alpha | ideograph-numeric | ideograph-parenthesis | ideograph-space`
15046   *
15047   * **Initial value**: `none`
15048   */
15049  "-ms-text-autospace"?: MsTextAutospaceProperty;
15050  /**
15051   * 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.
15052   *
15053   * **Syntax**: `none | all | [ digits <integer>? ]`
15054   *
15055   * **Initial value**: `none`
15056   */
15057  "-ms-text-combine-horizontal"?: TextCombineUprightProperty;
15058  /**
15059   * 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.
15060   *
15061   * **Syntax**: `[ clip | ellipsis | <string> ]{1,2}`
15062   *
15063   * **Initial value**: `clip`
15064   */
15065  "-ms-text-overflow"?: TextOverflowProperty;
15066  /**
15067   * The **`touch-action`** CSS property sets how a region can be manipulated by a touchscreen user (for example, by zooming features built into the browser).
15068   *
15069   * **Syntax**: `auto | none | [ [ pan-x | pan-left | pan-right ] || [ pan-y | pan-up | pan-down ] || pinch-zoom ] | manipulation`
15070   *
15071   * **Initial value**: `auto`
15072   */
15073  "-ms-touch-action"?: TouchActionProperty;
15074  /**
15075   * The **`-ms-touch-select`** CSS property is a Microsoft extension that toggles the gripper visual elements that enable touch text selection.
15076   *
15077   * **Syntax**: `grippers | none`
15078   *
15079   * **Initial value**: `grippers`
15080   */
15081  "-ms-touch-select"?: MsTouchSelectProperty;
15082  /**
15083   * The **`transform`** CSS property lets you rotate, scale, skew, or translate an element. It modifies the coordinate space of the CSS visual formatting model.
15084   *
15085   * **Syntax**: `none | <transform-list>`
15086   *
15087   * **Initial value**: `none`
15088   */
15089  "-ms-transform"?: TransformProperty;
15090  /**
15091   * The **`transform-origin`** CSS property sets the origin for an element's transformations.
15092   *
15093   * **Syntax**: `[ <length-percentage> | left | center | right | top | bottom ] | [ [ <length-percentage> | left | center | right ] && [ <length-percentage> | top | center | bottom ] ] <length>?`
15094   *
15095   * **Initial value**: `50% 50% 0`
15096   */
15097  "-ms-transform-origin"?: TransformOriginProperty<TLength>;
15098  /**
15099   * The **`transition-delay`** CSS property specifies the duration to wait before starting a property's transition effect when its value changes.
15100   *
15101   * **Syntax**: `<time>#`
15102   *
15103   * **Initial value**: `0s`
15104   */
15105  "-ms-transition-delay"?: GlobalsString;
15106  /**
15107   * 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.
15108   *
15109   * **Syntax**: `<time>#`
15110   *
15111   * **Initial value**: `0s`
15112   */
15113  "-ms-transition-duration"?: GlobalsString;
15114  /**
15115   * The **`transition-property`** CSS property sets the CSS properties to which a transition effect should be applied.
15116   *
15117   * **Syntax**: `none | <single-transition-property>#`
15118   *
15119   * **Initial value**: all
15120   */
15121  "-ms-transition-property"?: TransitionPropertyProperty;
15122  /**
15123   * The **`transition-timing-function`** CSS property sets how intermediate values are calculated for CSS properties being affected by a transition effect.
15124   *
15125   * **Syntax**: `<timing-function>#`
15126   *
15127   * **Initial value**: `ease`
15128   */
15129  "-ms-transition-timing-function"?: TransitionTimingFunctionProperty;
15130  /**
15131   * 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.
15132   *
15133   * **Syntax**: `none | element | text`
15134   *
15135   * **Initial value**: `text`
15136   */
15137  "-ms-user-select"?: MsUserSelectProperty;
15138  /**
15139   * The **`word-break`** CSS property sets whether line breaks appear wherever the text would otherwise overflow its content box.
15140   *
15141   * **Syntax**: `normal | break-all | keep-all | break-word`
15142   *
15143   * **Initial value**: `normal`
15144   */
15145  "-ms-word-break"?: WordBreakProperty;
15146  /**
15147   * The **`-ms-wrap-flow`** CSS property is a Microsoft extension that specifies how exclusions impact inline content within block-level elements.
15148   *
15149   * **Syntax**: `auto | both | start | end | maximum | clear`
15150   *
15151   * **Initial value**: `auto`
15152   */
15153  "-ms-wrap-flow"?: MsWrapFlowProperty;
15154  /**
15155   * The **`-ms-wrap-margin`** CSS property is a Microsoft extension that specifies a margin that offsets the inner wrap shape from other shapes.
15156   *
15157   * **Syntax**: `<length>`
15158   *
15159   * **Initial value**: `0`
15160   */
15161  "-ms-wrap-margin"?: MsWrapMarginProperty<TLength>;
15162  /**
15163   * The **`-ms-wrap-through`** CSS property is a Microsoft extension that specifies how content should wrap around an exclusion element.
15164   *
15165   * **Syntax**: `wrap | none`
15166   *
15167   * **Initial value**: `wrap`
15168   */
15169  "-ms-wrap-through"?: MsWrapThroughProperty;
15170  /**
15171   * 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.
15172   *
15173   * **Syntax**: `horizontal-tb | vertical-rl | vertical-lr | sideways-rl | sideways-lr`
15174   *
15175   * **Initial value**: `horizontal-tb`
15176   */
15177  "-ms-writing-mode"?: WritingModeProperty;
15178  /**
15179   * 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.
15180   *
15181   * **Syntax**: `fill | contain | cover | none | scale-down`
15182   *
15183   * **Initial value**: `fill`
15184   */
15185  "-o-object-fit"?: ObjectFitProperty;
15186  /**
15187   * 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.
15188   *
15189   * **Syntax**: `<position>`
15190   *
15191   * **Initial value**: `50% 50%`
15192   */
15193  "-o-object-position"?: ObjectPositionProperty<TLength>;
15194  /**
15195   * The **`tab-size`** CSS property is used to customize the width of a tab (`U+0009`) character.
15196   *
15197   * **Syntax**: `<integer> | <length>`
15198   *
15199   * **Initial value**: `8`
15200   */
15201  "-o-tab-size"?: TabSizeProperty<TLength>;
15202  /**
15203   * 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.
15204   *
15205   * **Syntax**: `[ clip | ellipsis | <string> ]{1,2}`
15206   *
15207   * **Initial value**: `clip`
15208   */
15209  "-o-text-overflow"?: TextOverflowProperty;
15210  /**
15211   * The **`transform-origin`** CSS property sets the origin for an element's transformations.
15212   *
15213   * **Syntax**: `[ <length-percentage> | left | center | right | top | bottom ] | [ [ <length-percentage> | left | center | right ] && [ <length-percentage> | top | center | bottom ] ] <length>?`
15214   *
15215   * **Initial value**: `50% 50% 0`
15216   */
15217  "-o-transform-origin"?: TransformOriginProperty<TLength>;
15218  /**
15219   * The CSS **`align-content`** property sets how the browser distributes space between and around content items along the cross-axis of a flexbox container, and the main-axis of a grid container.
15220   *
15221   * **Syntax**: `normal | <baseline-position> | <content-distribution> | <overflow-position>? <content-position>`
15222   *
15223   * **Initial value**: `normal`
15224   */
15225  "-webkit-align-content"?: AlignContentProperty;
15226  /**
15227   * The CSS **`align-items`** property sets the `align-self` value on all direct children as a group. The align-self property sets the alignment of an item within its containing block. 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.
15228   *
15229   * **Syntax**: `normal | stretch | <baseline-position> | [ <overflow-position>? <self-position> ]`
15230   *
15231   * **Initial value**: `normal`
15232   */
15233  "-webkit-align-items"?: AlignItemsProperty;
15234  /**
15235   * The **`align-self`** CSS property aligns flex items of the current flex line overriding the `align-items` value. If any of the item's cross-axis margin is set to `auto`, then `align-self` is ignored. In Grid layout `align-self` aligns the item inside the grid area.
15236   *
15237   * **Syntax**: `auto | normal | stretch | <baseline-position> | <overflow-position>? <self-position>`
15238   *
15239   * **Initial value**: `auto`
15240   */
15241  "-webkit-align-self"?: AlignSelfProperty;
15242  /**
15243   * The **`animation-delay`** CSS property sets when an animation starts. The animation can start later, immediately from its beginning, or immediately and partway through the animation.
15244   *
15245   * **Syntax**: `<time>#`
15246   *
15247   * **Initial value**: `0s`
15248   */
15249  "-webkit-animation-delay"?: GlobalsString;
15250  /**
15251   * The **`animation-direction`** CSS property sets whether an animation should play forwards, backwards, or alternating back and forth.
15252   *
15253   * **Syntax**: `<single-animation-direction>#`
15254   *
15255   * **Initial value**: `normal`
15256   */
15257  "-webkit-animation-direction"?: AnimationDirectionProperty;
15258  /**
15259   * The **`animation-duration`** CSS property sets the length of time that an animation takes to complete one cycle.
15260   *
15261   * **Syntax**: `<time>#`
15262   *
15263   * **Initial value**: `0s`
15264   */
15265  "-webkit-animation-duration"?: GlobalsString;
15266  /**
15267   * The **`animation-fill-mode`** CSS property sets how a CSS animation applies styles to its target before and after its execution.
15268   *
15269   * **Syntax**: `<single-animation-fill-mode>#`
15270   *
15271   * **Initial value**: `none`
15272   */
15273  "-webkit-animation-fill-mode"?: AnimationFillModeProperty;
15274  /**
15275   * The **`animation-iteration-count`** CSS property sets the number of times an animation cycle should be played before stopping.
15276   *
15277   * **Syntax**: `<single-animation-iteration-count>#`
15278   *
15279   * **Initial value**: `1`
15280   */
15281  "-webkit-animation-iteration-count"?: AnimationIterationCountProperty;
15282  /**
15283   * The **`animation-name`** CSS property sets one or more animations to apply to an element. Each name is an `@keyframes` at-rule that sets the property values for the animation sequence.
15284   *
15285   * **Syntax**: `[ none | <keyframes-name> ]#`
15286   *
15287   * **Initial value**: `none`
15288   */
15289  "-webkit-animation-name"?: AnimationNameProperty;
15290  /**
15291   * The **`animation-play-state`** CSS property sets whether an animation is running or paused.
15292   *
15293   * **Syntax**: `<single-animation-play-state>#`
15294   *
15295   * **Initial value**: `running`
15296   */
15297  "-webkit-animation-play-state"?: AnimationPlayStateProperty;
15298  /**
15299   * The `**animation-timing-function**` CSS property sets how an animation progresses through the duration of each cycle.
15300   *
15301   * **Syntax**: `<timing-function>#`
15302   *
15303   * **Initial value**: `ease`
15304   */
15305  "-webkit-animation-timing-function"?: AnimationTimingFunctionProperty;
15306  /**
15307   * The **`-moz-appearance`** CSS property is used in Gecko (Firefox) to display an element using platform-native styling based on the operating system's theme.
15308   *
15309   * **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`
15310   *
15311   * **Initial value**: `none` (but this value is overridden in the user agent CSS)
15312   */
15313  "-webkit-appearance"?: WebkitAppearanceProperty;
15314  /**
15315   * 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.
15316   *
15317   * **Syntax**: `none | <filter-function-list>`
15318   *
15319   * **Initial value**: `none`
15320   */
15321  "-webkit-backdrop-filter"?: BackdropFilterProperty;
15322  /**
15323   * The **`backface-visibility`** CSS property sets whether the back face of an element is visible when turned towards the user.
15324   *
15325   * **Syntax**: `visible | hidden`
15326   *
15327   * **Initial value**: `visible`
15328   */
15329  "-webkit-backface-visibility"?: BackfaceVisibilityProperty;
15330  /**
15331   * The **`background-clip`** CSS property sets whether an element's background `<color>` or `<image>` extends underneath its border.
15332   *
15333   * **Syntax**: `<box>#`
15334   *
15335   * **Initial value**: `border-box`
15336   */
15337  "-webkit-background-clip"?: BackgroundClipProperty;
15338  /**
15339   * The **`background-origin`** CSS property sets the _background positioning area_. In other words, it sets the origin position of an image set with the `background-image` property.
15340   *
15341   * **Syntax**: `<box>#`
15342   *
15343   * **Initial value**: `padding-box`
15344   */
15345  "-webkit-background-origin"?: BackgroundOriginProperty;
15346  /**
15347   * 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.
15348   *
15349   * **Syntax**: `<bg-size>#`
15350   *
15351   * **Initial value**: `auto auto`
15352   */
15353  "-webkit-background-size"?: BackgroundSizeProperty<TLength>;
15354  /**
15355   * **Syntax**: `<'color'>`
15356   *
15357   * **Initial value**: `currentcolor`
15358   */
15359  "-webkit-border-before-color"?: WebkitBorderBeforeColorProperty;
15360  /**
15361   * **Syntax**: `<'border-style'>`
15362   *
15363   * **Initial value**: `none`
15364   */
15365  "-webkit-border-before-style"?: WebkitBorderBeforeStyleProperty;
15366  /**
15367   * **Syntax**: `<'border-width'>`
15368   *
15369   * **Initial value**: `medium`
15370   */
15371  "-webkit-border-before-width"?: WebkitBorderBeforeWidthProperty<TLength>;
15372  /**
15373   * The **`border-bottom-left-radius`** CSS property rounds the bottom-left corner of an element.
15374   *
15375   * **Syntax**: `<length-percentage>{1,2}`
15376   *
15377   * **Initial value**: `0`
15378   */
15379  "-webkit-border-bottom-left-radius"?: BorderBottomLeftRadiusProperty<TLength>;
15380  /**
15381   * The **`border-bottom-right-radius`** CSS property rounds the bottom-right corner of an element.
15382   *
15383   * **Syntax**: `<length-percentage>{1,2}`
15384   *
15385   * **Initial value**: `0`
15386   */
15387  "-webkit-border-bottom-right-radius"?: BorderBottomRightRadiusProperty<TLength>;
15388  /**
15389   * 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.
15390   *
15391   * **Syntax**: `<number-percentage>{1,4} && fill?`
15392   *
15393   * **Initial value**: `100%`
15394   */
15395  "-webkit-border-image-slice"?: BorderImageSliceProperty;
15396  /**
15397   * The **`border-top-left-radius`** CSS property rounds the top-left corner of an element.
15398   *
15399   * **Syntax**: `<length-percentage>{1,2}`
15400   *
15401   * **Initial value**: `0`
15402   */
15403  "-webkit-border-top-left-radius"?: BorderTopLeftRadiusProperty<TLength>;
15404  /**
15405   * The **`border-top-right-radius`** CSS property rounds the top-right corner of an element.
15406   *
15407   * **Syntax**: `<length-percentage>{1,2}`
15408   *
15409   * **Initial value**: `0`
15410   */
15411  "-webkit-border-top-right-radius"?: BorderTopRightRadiusProperty<TLength>;
15412  /**
15413   * The **`box-decoration-break`** CSS property specifies how an element's fragments should be rendered when broken across multiple lines, columns, or pages.
15414   *
15415   * **Syntax**: `slice | clone`
15416   *
15417   * **Initial value**: `slice`
15418   */
15419  "-webkit-box-decoration-break"?: BoxDecorationBreakProperty;
15420  /**
15421   * The **`-webkit-box-reflect`** CSS property lets you reflect the content of an element in one specific direction.
15422   *
15423   * **Syntax**: `[ above | below | right | left ]? <length>? <image>?`
15424   *
15425   * **Initial value**: `none`
15426   */
15427  "-webkit-box-reflect"?: WebkitBoxReflectProperty<TLength>;
15428  /**
15429   * 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 radii, and color.
15430   *
15431   * **Syntax**: `none | <shadow>#`
15432   *
15433   * **Initial value**: `none`
15434   */
15435  "-webkit-box-shadow"?: BoxShadowProperty;
15436  /**
15437   * The **`box-sizing`** CSS property defines how the user agent should calculate the total width and height of an element.
15438   *
15439   * **Syntax**: `content-box | border-box`
15440   *
15441   * **Initial value**: `content-box`
15442   */
15443  "-webkit-box-sizing"?: BoxSizingProperty;
15444  /**
15445   * 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.
15446   *
15447   * **Syntax**: `<clip-source> | [ <basic-shape> || <geometry-box> ] | none`
15448   *
15449   * **Initial value**: `none`
15450   */
15451  "-webkit-clip-path"?: ClipPathProperty;
15452  /**
15453   * The **`column-count`** CSS property breaks an element's content into the specified number of columns.
15454   *
15455   * **Syntax**: `<integer> | auto`
15456   *
15457   * **Initial value**: `auto`
15458   */
15459  "-webkit-column-count"?: ColumnCountProperty;
15460  /**
15461   * The **`column-fill`** CSS property controls how an element's contents are balanced when broken into columns.
15462   *
15463   * **Syntax**: `auto | balance | balance-all`
15464   *
15465   * **Initial value**: `balance`
15466   */
15467  "-webkit-column-fill"?: ColumnFillProperty;
15468  /**
15469   * The **`column-gap`** CSS property sets the size of the gap (gutter) between an element's columns.
15470   *
15471   * **Syntax**: `normal | <length-percentage>`
15472   *
15473   * **Initial value**: `normal`
15474   */
15475  "-webkit-column-gap"?: ColumnGapProperty<TLength>;
15476  /**
15477   * The **`column-rule-color`** CSS property sets the color of the rule (line) drawn between columns in a multi-column layout.
15478   *
15479   * **Syntax**: `<color>`
15480   *
15481   * **Initial value**: `currentcolor`
15482   */
15483  "-webkit-column-rule-color"?: ColumnRuleColorProperty;
15484  /**
15485   * The **`column-rule-style`** CSS property sets the style of the line drawn between columns in a multi-column layout.
15486   *
15487   * **Syntax**: `<'border-style'>`
15488   *
15489   * **Initial value**: `none`
15490   */
15491  "-webkit-column-rule-style"?: ColumnRuleStyleProperty;
15492  /**
15493   * The **`column-rule-width`** CSS property sets the width of the rule (line) drawn between columns in a multi-column layout.
15494   *
15495   * **Syntax**: `<'border-width'>`
15496   *
15497   * **Initial value**: `medium`
15498   */
15499  "-webkit-column-rule-width"?: ColumnRuleWidthProperty<TLength>;
15500  /**
15501   * The **`column-span`** CSS property makes it possible for an element to span across all columns when its value is set to `all`.
15502   *
15503   * **Syntax**: `none | all`
15504   *
15505   * **Initial value**: `none`
15506   */
15507  "-webkit-column-span"?: ColumnSpanProperty;
15508  /**
15509   * The **`column-width`** CSS property specifies 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.
15510   *
15511   * **Syntax**: `<length> | auto`
15512   *
15513   * **Initial value**: `auto`
15514   */
15515  "-webkit-column-width"?: ColumnWidthProperty<TLength>;
15516  /**
15517   * 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.
15518   *
15519   * **Syntax**: `none | <filter-function-list>`
15520   *
15521   * **Initial value**: `none`
15522   */
15523  "-webkit-filter"?: FilterProperty;
15524  /**
15525   * 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`.
15526   *
15527   * **Syntax**: `content | <'width'>`
15528   *
15529   * **Initial value**: `auto`
15530   */
15531  "-webkit-flex-basis"?: FlexBasisProperty<TLength>;
15532  /**
15533   * 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).
15534   *
15535   * **Syntax**: `row | row-reverse | column | column-reverse`
15536   *
15537   * **Initial value**: `row`
15538   */
15539  "-webkit-flex-direction"?: FlexDirectionProperty;
15540  /**
15541   * The **`flex-grow`** CSS property sets how much of the available space in the flex container should be assigned to that item (the flex grow factor). If all sibling items have the same flex grow factor, then all items will receive the same share of available space, otherwise it is distributed according to the ratio defined by the different flex grow factors.
15542   *
15543   * **Syntax**: `<number>`
15544   *
15545   * **Initial value**: `0`
15546   */
15547  "-webkit-flex-grow"?: GlobalsNumber;
15548  /**
15549   * The **`flex-shrink`** CSS property sets the flex shrink factor of a flex item. If the size of flex items is larger than the flex container, items shrink to fit according to `flex-shrink`.
15550   *
15551   * **Syntax**: `<number>`
15552   *
15553   * **Initial value**: `1`
15554   */
15555  "-webkit-flex-shrink"?: GlobalsNumber;
15556  /**
15557   * 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.
15558   *
15559   * **Syntax**: `nowrap | wrap | wrap-reverse`
15560   *
15561   * **Initial value**: `nowrap`
15562   */
15563  "-webkit-flex-wrap"?: FlexWrapProperty;
15564  /**
15565   * The **`font-feature-settings`** CSS property controls advanced typographic features in OpenType fonts.
15566   *
15567   * **Syntax**: `normal | <feature-tag-value>#`
15568   *
15569   * **Initial value**: `normal`
15570   */
15571  "-webkit-font-feature-settings"?: FontFeatureSettingsProperty;
15572  /**
15573   * The **`font-kerning`** CSS property sets the use of the kerning information stored in a font.
15574   *
15575   * **Syntax**: `auto | normal | none`
15576   *
15577   * **Initial value**: `auto`
15578   */
15579  "-webkit-font-kerning"?: FontKerningProperty;
15580  /**
15581   * 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.
15582   *
15583   * **Syntax**: `normal | none | [ <common-lig-values> || <discretionary-lig-values> || <historical-lig-values> || <contextual-alt-values> ]`
15584   *
15585   * **Initial value**: `normal`
15586   */
15587  "-webkit-font-variant-ligatures"?: FontVariantLigaturesProperty;
15588  /**
15589   * The **`hyphens`** CSS property specifies how words should be hyphenated when text wraps across multiple lines. You can prevent hyphenation entirely, use hyphenation in manually-specified points within the text, or let the browser automatically insert hyphens where appropriate.
15590   *
15591   * **Syntax**: `none | manual | auto`
15592   *
15593   * **Initial value**: `manual`
15594   */
15595  "-webkit-hyphens"?: HyphensProperty;
15596  /**
15597   * 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.
15598   *
15599   * **Syntax**: `normal | <content-distribution> | <overflow-position>? [ <content-position> | left | right ]`
15600   *
15601   * **Initial value**: `normal`
15602   */
15603  "-webkit-justify-content"?: JustifyContentProperty;
15604  /**
15605   * The **`line-break`** CSS property sets how to break lines of Chinese, Japanese, or Korean (CJK) text when working with punctuation and symbols.
15606   *
15607   * **Syntax**: `auto | loose | normal | strict | anywhere`
15608   *
15609   * **Initial value**: `auto`
15610   */
15611  "-webkit-line-break"?: LineBreakProperty;
15612  /**
15613   * The **`-webkit-line-clamp`** CSS property allows limiting of the contents of a block container to the specified number of lines.
15614   *
15615   * **Syntax**: `none | <integer>`
15616   *
15617   * **Initial value**: `none`
15618   */
15619  "-webkit-line-clamp"?: WebkitLineClampProperty;
15620  /**
15621   * 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`.
15622   *
15623   * **Syntax**: `<'margin-left'>`
15624   *
15625   * **Initial value**: `0`
15626   */
15627  "-webkit-margin-end"?: MarginInlineEndProperty<TLength>;
15628  /**
15629   * 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`.
15630   *
15631   * **Syntax**: `<'margin-left'>`
15632   *
15633   * **Initial value**: `0`
15634   */
15635  "-webkit-margin-start"?: MarginInlineStartProperty<TLength>;
15636  /**
15637   * 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.
15638   *
15639   * **Syntax**: `<attachment>#`
15640   *
15641   * **Initial value**: `scroll`
15642   */
15643  "-webkit-mask-attachment"?: WebkitMaskAttachmentProperty;
15644  /**
15645   * 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.
15646   *
15647   * **Syntax**: `[ <box> | border | padding | content | text ]#`
15648   *
15649   * **Initial value**: `border`
15650   */
15651  "-webkit-mask-clip"?: WebkitMaskClipProperty;
15652  /**
15653   * 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.
15654   *
15655   * **Syntax**: `<composite-style>#`
15656   *
15657   * **Initial value**: `source-over`
15658   */
15659  "-webkit-mask-composite"?: WebkitMaskCompositeProperty;
15660  /**
15661   * The **`mask-image`** CSS property sets the image that is used as mask layer for an element.
15662   *
15663   * **Syntax**: `<mask-reference>#`
15664   *
15665   * **Initial value**: `none`
15666   */
15667  "-webkit-mask-image"?: WebkitMaskImageProperty;
15668  /**
15669   * The **`mask-origin`** CSS property sets the origin of a mask.
15670   *
15671   * **Syntax**: `[ <box> | border | padding | content ]#`
15672   *
15673   * **Initial value**: `padding`
15674   */
15675  "-webkit-mask-origin"?: WebkitMaskOriginProperty;
15676  /**
15677   * The **`mask-position`** CSS property sets the initial position, relative to the mask position layer set by `mask-origin`, for each defined mask image.
15678   *
15679   * **Syntax**: `<position>#`
15680   *
15681   * **Initial value**: `0% 0%`
15682   */
15683  "-webkit-mask-position"?: WebkitMaskPositionProperty<TLength>;
15684  /**
15685   * The `-webkit-mask-position-x` CSS property sets the initial horizontal position of a mask image.
15686   *
15687   * **Syntax**: `[ <length-percentage> | left | center | right ]#`
15688   *
15689   * **Initial value**: `0%`
15690   */
15691  "-webkit-mask-position-x"?: WebkitMaskPositionXProperty<TLength>;
15692  /**
15693   * The `-webkit-mask-position-y` CSS property sets the initial vertical position of a mask image.
15694   *
15695   * **Syntax**: `[ <length-percentage> | top | center | bottom ]#`
15696   *
15697   * **Initial value**: `0%`
15698   */
15699  "-webkit-mask-position-y"?: WebkitMaskPositionYProperty<TLength>;
15700  /**
15701   * 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.
15702   *
15703   * **Syntax**: `<repeat-style>#`
15704   *
15705   * **Initial value**: `repeat`
15706   */
15707  "-webkit-mask-repeat"?: WebkitMaskRepeatProperty;
15708  /**
15709   * The `-webkit-mask-repeat-x` property specifies whether and how a mask image is repeated (tiled) horizontally.
15710   *
15711   * **Syntax**: `repeat | no-repeat | space | round`
15712   *
15713   * **Initial value**: `repeat`
15714   */
15715  "-webkit-mask-repeat-x"?: WebkitMaskRepeatXProperty;
15716  /**
15717   * The `-webkit-mask-repeat-y` property sets whether and how a mask image is repeated (tiled) vertically.
15718   *
15719   * **Syntax**: `repeat | no-repeat | space | round`
15720   *
15721   * **Initial value**: `repeat`
15722   */
15723  "-webkit-mask-repeat-y"?: WebkitMaskRepeatYProperty;
15724  /**
15725   * 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.
15726   *
15727   * **Syntax**: `<bg-size>#`
15728   *
15729   * **Initial value**: `auto auto`
15730   */
15731  "-webkit-mask-size"?: WebkitMaskSizeProperty<TLength>;
15732  /**
15733   * 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 the `max-width` or the `max-height` property depending on the value defined for `writing-mode`. If the writing mode is vertically oriented, the value of `max-inline-size` relates to the maximal height of the element, otherwise it relates to the maximal width of the element. It relates to `max-block-size`, which defines the other dimension of the element.
15734   *
15735   * **Syntax**: `<'max-width'>`
15736   *
15737   * **Initial value**: `0`
15738   */
15739  "-webkit-max-inline-size"?: MaxInlineSizeProperty<TLength>;
15740  /**
15741   * 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.
15742   *
15743   * **Syntax**: `<integer>`
15744   *
15745   * **Initial value**: `0`
15746   */
15747  "-webkit-order"?: GlobalsNumber;
15748  /**
15749   * The `-webkit-overflow-scrolling` CSS property controls whether or not touch devices use momentum-based scrolling for a given element.
15750   *
15751   * **Syntax**: `auto | touch`
15752   *
15753   * **Initial value**: `auto`
15754   */
15755  "-webkit-overflow-scrolling"?: WebkitOverflowScrollingProperty;
15756  /**
15757   * 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. It corresponds to the `padding-top`, `padding-right`, `padding-bottom`, or `padding-left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
15758   *
15759   * **Syntax**: `<'padding-left'>`
15760   *
15761   * **Initial value**: `0`
15762   */
15763  "-webkit-padding-end"?: PaddingInlineEndProperty<TLength>;
15764  /**
15765   * 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. It corresponds to the `padding-top`, `padding-right`, `padding-bottom`, or `padding-left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
15766   *
15767   * **Syntax**: `<'padding-left'>`
15768   *
15769   * **Initial value**: `0`
15770   */
15771  "-webkit-padding-start"?: PaddingInlineStartProperty<TLength>;
15772  /**
15773   * 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. Each 3D element with z>0 becomes larger; each 3D-element with z<0 becomes smaller. The strength of the effect is determined by the value of this property.
15774   *
15775   * **Syntax**: `none | <length>`
15776   *
15777   * **Initial value**: `none`
15778   */
15779  "-webkit-perspective"?: PerspectiveProperty<TLength>;
15780  /**
15781   * 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.
15782   *
15783   * **Syntax**: `<position>`
15784   *
15785   * **Initial value**: `50% 50%`
15786   */
15787  "-webkit-perspective-origin"?: PerspectiveOriginProperty<TLength>;
15788  /**
15789   * 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.
15790   *
15791   * **Syntax**: `economy | exact`
15792   *
15793   * **Initial value**: `economy`
15794   */
15795  "-webkit-print-color-adjust"?: ColorAdjustProperty;
15796  /**
15797   * The **`scroll-snap-type`** CSS property sets how strictly snap points are enforced on the scroll container in case there is one.
15798   *
15799   * **Syntax**: `none | [ x | y | block | inline | both ] [ mandatory | proximity ]?`
15800   *
15801   * **Initial value**: `none`
15802   */
15803  "-webkit-scroll-snap-type"?: ScrollSnapTypeProperty;
15804  /**
15805   * The **`shape-margin`** CSS property sets a margin for a CSS shape created using `shape-outside`.
15806   *
15807   * **Syntax**: `<length-percentage>`
15808   *
15809   * **Initial value**: `0`
15810   */
15811  "-webkit-shape-margin"?: ShapeMarginProperty<TLength>;
15812  /**
15813   * **`-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.
15814   *
15815   * **Syntax**: `<color>`
15816   *
15817   * **Initial value**: `black`
15818   */
15819  "-webkit-tap-highlight-color"?: WebkitTapHighlightColorProperty;
15820  /**
15821   * 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.
15822   *
15823   * **Syntax**: `none | all | [ digits <integer>? ]`
15824   *
15825   * **Initial value**: `none`
15826   */
15827  "-webkit-text-combine"?: TextCombineUprightProperty;
15828  /**
15829   * The **`text-decoration-color`** CSS property sets the color of decorations added to text by `text-decoration-line`.
15830   *
15831   * **Syntax**: `<color>`
15832   *
15833   * **Initial value**: `currentcolor`
15834   */
15835  "-webkit-text-decoration-color"?: TextDecorationColorProperty;
15836  /**
15837   * 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.
15838   *
15839   * **Syntax**: `none | [ underline || overline || line-through || blink ] | spelling-error | grammar-error`
15840   *
15841   * **Initial value**: `none`
15842   */
15843  "-webkit-text-decoration-line"?: TextDecorationLineProperty;
15844  /**
15845   * 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.
15846   *
15847   * **Syntax**: `none | [ objects || [ spaces | [ leading-spaces || trailing-spaces ] ] || edges || box-decoration ]`
15848   *
15849   * **Initial value**: `objects`
15850   */
15851  "-webkit-text-decoration-skip"?: TextDecorationSkipProperty;
15852  /**
15853   * 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`.
15854   *
15855   * **Syntax**: `solid | double | dotted | dashed | wavy`
15856   *
15857   * **Initial value**: `solid`
15858   */
15859  "-webkit-text-decoration-style"?: TextDecorationStyleProperty;
15860  /**
15861   * The **`text-emphasis-color`** CSS property sets the color of emphasis marks. This value can also be set using the `text-emphasis` shorthand.
15862   *
15863   * **Syntax**: `<color>`
15864   *
15865   * **Initial value**: `currentcolor`
15866   */
15867  "-webkit-text-emphasis-color"?: TextEmphasisColorProperty;
15868  /**
15869   * 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.
15870   *
15871   * **Syntax**: `[ over | under ] && [ right | left ]`
15872   *
15873   * **Initial value**: `over right`
15874   */
15875  "-webkit-text-emphasis-position"?: GlobalsString;
15876  /**
15877   * The **`text-emphasis-style`** CSS property sets the appearance of emphasis marks. It can also be set, and reset, using the `text-emphasis` shorthand.
15878   *
15879   * **Syntax**: `none | [ [ filled | open ] || [ dot | circle | double-circle | triangle | sesame ] ] | <string>`
15880   *
15881   * **Initial value**: `none`
15882   */
15883  "-webkit-text-emphasis-style"?: TextEmphasisStyleProperty;
15884  /**
15885   * 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.
15886   *
15887   * **Syntax**: `<color>`
15888   *
15889   * **Initial value**: `currentcolor`
15890   */
15891  "-webkit-text-fill-color"?: WebkitTextFillColorProperty;
15892  /**
15893   * 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.
15894   *
15895   * **Syntax**: `mixed | upright | sideways`
15896   *
15897   * **Initial value**: `mixed`
15898   */
15899  "-webkit-text-orientation"?: TextOrientationProperty;
15900  /**
15901   * The **`text-size-adjust`** CSS property controls the text inflation algorithm used on some smartphones and tablets. Other browsers will ignore this property.
15902   *
15903   * **Syntax**: `none | auto | <percentage>`
15904   *
15905   * **Initial value**: `auto` for smartphone browsers supporting inflation, `none` in other cases (and then not modifiable).
15906   */
15907  "-webkit-text-size-adjust"?: TextSizeAdjustProperty;
15908  /**
15909   * 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.
15910   *
15911   * **Syntax**: `<color>`
15912   *
15913   * **Initial value**: `currentcolor`
15914   */
15915  "-webkit-text-stroke-color"?: WebkitTextStrokeColorProperty;
15916  /**
15917   * The **`-webkit-text-stroke-width`** CSS property specifies the width of the stroke for text.
15918   *
15919   * **Syntax**: `<length>`
15920   *
15921   * **Initial value**: `0`
15922   */
15923  "-webkit-text-stroke-width"?: WebkitTextStrokeWidthProperty<TLength>;
15924  /**
15925   * The **`text-underline-position`** CSS property specifies the position of the underline which is set using the `text-decoration` property's `underline` value.
15926   *
15927   * **Syntax**: `auto | from-font | [ under || [ left | right ] ]`
15928   *
15929   * **Initial value**: `auto`
15930   */
15931  "-webkit-text-underline-position"?: TextUnderlinePositionProperty;
15932  /**
15933   * The `-webkit-touch-callout` CSS property controls the display of the default callout shown when you touch and hold a touch target.
15934   *
15935   * **Syntax**: `default | none`
15936   *
15937   * **Initial value**: `default`
15938   */
15939  "-webkit-touch-callout"?: WebkitTouchCalloutProperty;
15940  /**
15941   * The **`transform`** CSS property lets you rotate, scale, skew, or translate an element. It modifies the coordinate space of the CSS visual formatting model.
15942   *
15943   * **Syntax**: `none | <transform-list>`
15944   *
15945   * **Initial value**: `none`
15946   */
15947  "-webkit-transform"?: TransformProperty;
15948  /**
15949   * The **`transform-origin`** CSS property sets the origin for an element's transformations.
15950   *
15951   * **Syntax**: `[ <length-percentage> | left | center | right | top | bottom ] | [ [ <length-percentage> | left | center | right ] && [ <length-percentage> | top | center | bottom ] ] <length>?`
15952   *
15953   * **Initial value**: `50% 50% 0`
15954   */
15955  "-webkit-transform-origin"?: TransformOriginProperty<TLength>;
15956  /**
15957   * 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.
15958   *
15959   * **Syntax**: `flat | preserve-3d`
15960   *
15961   * **Initial value**: `flat`
15962   */
15963  "-webkit-transform-style"?: TransformStyleProperty;
15964  /**
15965   * The **`transition-delay`** CSS property specifies the duration to wait before starting a property's transition effect when its value changes.
15966   *
15967   * **Syntax**: `<time>#`
15968   *
15969   * **Initial value**: `0s`
15970   */
15971  "-webkit-transition-delay"?: GlobalsString;
15972  /**
15973   * 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.
15974   *
15975   * **Syntax**: `<time>#`
15976   *
15977   * **Initial value**: `0s`
15978   */
15979  "-webkit-transition-duration"?: GlobalsString;
15980  /**
15981   * The **`transition-property`** CSS property sets the CSS properties to which a transition effect should be applied.
15982   *
15983   * **Syntax**: `none | <single-transition-property>#`
15984   *
15985   * **Initial value**: all
15986   */
15987  "-webkit-transition-property"?: TransitionPropertyProperty;
15988  /**
15989   * The **`transition-timing-function`** CSS property sets how intermediate values are calculated for CSS properties being affected by a transition effect.
15990   *
15991   * **Syntax**: `<timing-function>#`
15992   *
15993   * **Initial value**: `ease`
15994   */
15995  "-webkit-transition-timing-function"?: TransitionTimingFunctionProperty;
15996  /**
15997   * **Syntax**: `read-only | read-write | read-write-plaintext-only`
15998   *
15999   * **Initial value**: `read-only`
16000   */
16001  "-webkit-user-modify"?: WebkitUserModifyProperty;
16002  /**
16003   * 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.
16004   *
16005   * **Syntax**: `auto | text | none | contain | all`
16006   *
16007   * **Initial value**: `auto`
16008   */
16009  "-webkit-user-select"?: UserSelectProperty;
16010  /**
16011   * 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.
16012   *
16013   * **Syntax**: `horizontal-tb | vertical-rl | vertical-lr | sideways-rl | sideways-lr`
16014   *
16015   * **Initial value**: `horizontal-tb`
16016   */
16017  "-webkit-writing-mode"?: WritingModeProperty;
16018}
16019
16020export interface VendorShorthandPropertiesHyphen<TLength = string | 0> {
16021  /**
16022   * The **`animation`** shorthand CSS property sets an animated transition 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`.
16023   *
16024   * **Syntax**: `<single-animation>#`
16025   */
16026  "-moz-animation"?: AnimationProperty;
16027  /**
16028   * The **`border-image`** CSS property draws an image in place of an element's `border-style`.
16029   *
16030   * **Syntax**: `<'border-image-source'> || <'border-image-slice'> [ / <'border-image-width'> | / <'border-image-width'>? / <'border-image-outset'> ]? || <'border-image-repeat'>`
16031   */
16032  "-moz-border-image"?: BorderImageProperty;
16033  /**
16034   * The **`column-rule`** CSS property sets the width, style, and color of the rule (line) drawn between columns in a multi-column layout.
16035   *
16036   * **Syntax**: `<'column-rule-width'> || <'column-rule-style'> || <'column-rule-color'>`
16037   */
16038  "-moz-column-rule"?: ColumnRuleProperty<TLength>;
16039  /**
16040   * The **`columns`** CSS property sets the column width and column count of an element.
16041   *
16042   * **Syntax**: `<'column-width'> || <'column-count'>`
16043   */
16044  "-moz-columns"?: ColumnsProperty<TLength>;
16045  /**
16046   * The **`transition`** CSS property is a shorthand property for `transition-property`, `transition-duration`, `transition-timing-function`, and `transition-delay`.
16047   *
16048   * **Syntax**: `<single-transition>#`
16049   */
16050  "-moz-transition"?: TransitionProperty;
16051  /**
16052   * 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.
16053   *
16054   * **Syntax**: `<'-ms-content-zoom-limit-min'> <'-ms-content-zoom-limit-max'>`
16055   */
16056  "-ms-content-zoom-limit"?: GlobalsString;
16057  /**
16058   * 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.
16059   *
16060   * **Syntax**: `<'-ms-content-zoom-snap-type'> || <'-ms-content-zoom-snap-points'>`
16061   */
16062  "-ms-content-zoom-snap"?: MsContentZoomSnapProperty;
16063  /**
16064   * The **`flex`** CSS property sets how a flex item will grow or shrink to fit the space available in its flex container. It is a shorthand for `flex-grow`, `flex-shrink`, and `flex-basis`.
16065   *
16066   * **Syntax**: `none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]`
16067   */
16068  "-ms-flex"?: FlexProperty<TLength>;
16069  /**
16070   * 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.
16071   *
16072   * **Syntax**: `<'-ms-scroll-limit-x-min'> <'-ms-scroll-limit-y-min'> <'-ms-scroll-limit-x-max'> <'-ms-scroll-limit-y-max'>`
16073   */
16074  "-ms-scroll-limit"?: GlobalsString;
16075  /**
16076   * 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.
16077   *
16078   * **Syntax**: `<'-ms-scroll-snap-type'> <'-ms-scroll-snap-points-x'>`
16079   */
16080  "-ms-scroll-snap-x"?: GlobalsString;
16081  /**
16082   * 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.
16083   *
16084   * **Syntax**: `<'-ms-scroll-snap-type'> <'-ms-scroll-snap-points-y'>`
16085   */
16086  "-ms-scroll-snap-y"?: GlobalsString;
16087  /**
16088   * The **`transition`** CSS property is a shorthand property for `transition-property`, `transition-duration`, `transition-timing-function`, and `transition-delay`.
16089   *
16090   * **Syntax**: `<single-transition>#`
16091   */
16092  "-ms-transition"?: TransitionProperty;
16093  /**
16094   * The **`animation`** shorthand CSS property sets an animated transition 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`.
16095   *
16096   * **Syntax**: `<single-animation>#`
16097   */
16098  "-webkit-animation"?: AnimationProperty;
16099  /**
16100   * 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.
16101   *
16102   * **Syntax**: `<'border-width'> || <'border-style'> || <'color'>`
16103   */
16104  "-webkit-border-before"?: WebkitBorderBeforeProperty<TLength>;
16105  /**
16106   * The **`border-image`** CSS property draws an image in place of an element's `border-style`.
16107   *
16108   * **Syntax**: `<'border-image-source'> || <'border-image-slice'> [ / <'border-image-width'> | / <'border-image-width'>? / <'border-image-outset'> ]? || <'border-image-repeat'>`
16109   */
16110  "-webkit-border-image"?: BorderImageProperty;
16111  /**
16112   * 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.
16113   *
16114   * **Syntax**: `<length-percentage>{1,4} [ / <length-percentage>{1,4} ]?`
16115   */
16116  "-webkit-border-radius"?: BorderRadiusProperty<TLength>;
16117  /**
16118   * The **`column-rule`** CSS property sets the width, style, and color of the rule (line) drawn between columns in a multi-column layout.
16119   *
16120   * **Syntax**: `<'column-rule-width'> || <'column-rule-style'> || <'column-rule-color'>`
16121   */
16122  "-webkit-column-rule"?: ColumnRuleProperty<TLength>;
16123  /**
16124   * The **`columns`** CSS property sets the column width and column count of an element.
16125   *
16126   * **Syntax**: `<'column-width'> || <'column-count'>`
16127   */
16128  "-webkit-columns"?: ColumnsProperty<TLength>;
16129  /**
16130   * The **`flex`** CSS property sets how a flex item will grow or shrink to fit the space available in its flex container. It is a shorthand for `flex-grow`, `flex-shrink`, and `flex-basis`.
16131   *
16132   * **Syntax**: `none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]`
16133   */
16134  "-webkit-flex"?: FlexProperty<TLength>;
16135  /**
16136   * The **`flex-flow`** CSS property is a shorthand property for `flex-direction` and `flex-wrap` properties.
16137   *
16138   * **Syntax**: `<'flex-direction'> || <'flex-wrap'>`
16139   */
16140  "-webkit-flex-flow"?: FlexFlowProperty;
16141  /**
16142   * The **`mask`** CSS property hides an element (partially or fully) by masking or clipping the image at specific points.
16143   *
16144   * **Syntax**: `[ <mask-reference> || <position> [ / <bg-size> ]? || <repeat-style> || [ <box> | border | padding | content | text ] || [ <box> | border | padding | content ] ]#`
16145   */
16146  "-webkit-mask"?: WebkitMaskProperty<TLength>;
16147  /**
16148   * 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`.
16149   *
16150   * **Syntax**: `<'text-emphasis-style'> || <'text-emphasis-color'>`
16151   */
16152  "-webkit-text-emphasis"?: TextEmphasisProperty;
16153  /**
16154   * 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`.
16155   *
16156   * **Syntax**: `<length> || <color>`
16157   */
16158  "-webkit-text-stroke"?: WebkitTextStrokeProperty<TLength>;
16159  /**
16160   * The **`transition`** CSS property is a shorthand property for `transition-property`, `transition-duration`, `transition-timing-function`, and `transition-delay`.
16161   *
16162   * **Syntax**: `<single-transition>#`
16163   */
16164  "-webkit-transition"?: TransitionProperty;
16165}
16166
16167export interface VendorPropertiesHyphen<TLength = string | 0> extends VendorLonghandPropertiesHyphen<TLength>, VendorShorthandPropertiesHyphen<TLength> {}
16168
16169export interface ObsoletePropertiesHyphen<TLength = string | 0> {
16170  /**
16171   * 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.
16172   *
16173   * **Syntax**: `start | center | end | baseline | stretch`
16174   *
16175   * **Initial value**: `stretch`
16176   *
16177   * @deprecated
16178   */
16179  "box-align"?: BoxAlignProperty;
16180  /**
16181   * 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).
16182   *
16183   * **Syntax**: `normal | reverse | inherit`
16184   *
16185   * **Initial value**: `normal`
16186   *
16187   * @deprecated
16188   */
16189  "box-direction"?: BoxDirectionProperty;
16190  /**
16191   * 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.
16192   *
16193   * **Syntax**: `<number>`
16194   *
16195   * **Initial value**: `0`
16196   *
16197   * @deprecated
16198   */
16199  "box-flex"?: GlobalsNumber;
16200  /**
16201   * The **`box-flex-group`** CSS property assigns the flexbox's child elements to a flex group.
16202   *
16203   * **Syntax**: `<integer>`
16204   *
16205   * **Initial value**: `1`
16206   *
16207   * @deprecated
16208   */
16209  "box-flex-group"?: GlobalsNumber;
16210  /**
16211   * 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).
16212   *
16213   * **Syntax**: `single | multiple`
16214   *
16215   * **Initial value**: `single`
16216   *
16217   * @deprecated
16218   */
16219  "box-lines"?: BoxLinesProperty;
16220  /**
16221   * The **`box-ordinal-group`** CSS property assigns the flexbox's child elements to an ordinal group.
16222   *
16223   * **Syntax**: `<integer>`
16224   *
16225   * **Initial value**: `1`
16226   *
16227   * @deprecated
16228   */
16229  "box-ordinal-group"?: GlobalsNumber;
16230  /**
16231   * The **`box-orient`** CSS property specifies whether an element lays out its contents horizontally or vertically.
16232   *
16233   * **Syntax**: `horizontal | vertical | inline-axis | block-axis | inherit`
16234   *
16235   * **Initial value**: `inline-axis` (`horizontal` in XUL)
16236   *
16237   * @deprecated
16238   */
16239  "box-orient"?: BoxOrientProperty;
16240  /**
16241   * 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.
16242   *
16243   * **Syntax**: `start | center | end | justify`
16244   *
16245   * **Initial value**: `start`
16246   *
16247   * @deprecated
16248   */
16249  "box-pack"?: BoxPackProperty;
16250  /**
16251   * The **`clip`** CSS property defines what portion of an element is visible. The `clip` property applies only to absolutely positioned elements, that is elements with `position:absolute` or `position:fixed`.
16252   *
16253   * **Syntax**: `<shape> | auto`
16254   *
16255   * **Initial value**: `auto`
16256   *
16257   * @deprecated
16258   */
16259  clip?: ClipProperty;
16260  /**
16261   * 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`.
16262   *
16263   * **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> ) ]`
16264   *
16265   * **Initial value**: `normal`
16266   *
16267   * @deprecated
16268   */
16269  "font-variant-alternates"?: FontVariantAlternatesProperty;
16270  /**
16271   * The **`column-gap`** CSS property sets the size of the gap (gutter) between an element's columns.
16272   *
16273   * **Syntax**: `<length-percentage>`
16274   *
16275   * **Initial value**: `0`
16276   *
16277   * @deprecated
16278   */
16279  "grid-column-gap"?: GridColumnGapProperty<TLength>;
16280  /**
16281   * The **`gap`** CSS property sets the gaps (gutters) between rows and columns. It is a shorthand for `row-gap` and `column-gap`.
16282   *
16283   * **Syntax**: `<'grid-row-gap'> <'grid-column-gap'>?`
16284   *
16285   * @deprecated
16286   */
16287  "grid-gap"?: GridGapProperty<TLength>;
16288  /**
16289   * The **`row-gap`** CSS property sets the size of the gap (gutter) between an element's grid rows.
16290   *
16291   * **Syntax**: `<length-percentage>`
16292   *
16293   * **Initial value**: `0`
16294   *
16295   * @deprecated
16296   */
16297  "grid-row-gap"?: GridRowGapProperty<TLength>;
16298  /**
16299   * The **`ime-mode`** CSS property controls the state of the input method editor (IME) for text fields. This property is obsolete.
16300   *
16301   * **Syntax**: `auto | normal | active | inactive | disabled`
16302   *
16303   * **Initial value**: `auto`
16304   *
16305   * @deprecated
16306   */
16307  "ime-mode"?: ImeModeProperty;
16308  /**
16309   * The **`inset-block`** CSS property defines the logical block start and end offsets of an element, 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`.
16310   *
16311   * **Syntax**: `<'top'>{1,2}`
16312   *
16313   * **Initial value**: `auto`
16314   *
16315   * @deprecated
16316   */
16317  "offset-block"?: InsetBlockProperty<TLength>;
16318  /**
16319   * 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`.
16320   *
16321   * **Syntax**: `<'top'>`
16322   *
16323   * **Initial value**: `auto`
16324   *
16325   * @deprecated
16326   */
16327  "offset-block-end"?: InsetBlockEndProperty<TLength>;
16328  /**
16329   * 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`.
16330   *
16331   * **Syntax**: `<'top'>`
16332   *
16333   * **Initial value**: `auto`
16334   *
16335   * @deprecated
16336   */
16337  "offset-block-start"?: InsetBlockStartProperty<TLength>;
16338  /**
16339   * The **`inset-inline`** CSS property defines the logical block start and end offsets of an element, 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`.
16340   *
16341   * **Syntax**: `<'top'>{1,2}`
16342   *
16343   * **Initial value**: `auto`
16344   *
16345   * @deprecated
16346   */
16347  "offset-inline"?: InsetInlineProperty<TLength>;
16348  /**
16349   * The **`inset-inline-end`** CSS property defines the logical inline end inset 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`.
16350   *
16351   * **Syntax**: `<'top'>`
16352   *
16353   * **Initial value**: `auto`
16354   *
16355   * @deprecated
16356   */
16357  "offset-inline-end"?: InsetInlineEndProperty<TLength>;
16358  /**
16359   * 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`.
16360   *
16361   * **Syntax**: `<'top'>`
16362   *
16363   * **Initial value**: `auto`
16364   *
16365   * @deprecated
16366   */
16367  "offset-inline-start"?: InsetInlineStartProperty<TLength>;
16368  /**
16369   * 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.
16370   *
16371   * **Syntax**: `none | <position>#`
16372   *
16373   * **Initial value**: `none`
16374   *
16375   * @deprecated
16376   */
16377  "scroll-snap-coordinate"?: ScrollSnapCoordinateProperty<TLength>;
16378  /**
16379   * 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.
16380   *
16381   * **Syntax**: `<position>`
16382   *
16383   * **Initial value**: `0px 0px`
16384   *
16385   * @deprecated
16386   */
16387  "scroll-snap-destination"?: ScrollSnapDestinationProperty<TLength>;
16388  /**
16389   * 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.
16390   *
16391   * **Syntax**: `none | repeat( <length-percentage> )`
16392   *
16393   * **Initial value**: `none`
16394   *
16395   * @deprecated
16396   */
16397  "scroll-snap-points-x"?: ScrollSnapPointsXProperty;
16398  /**
16399   * 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.
16400   *
16401   * **Syntax**: `none | repeat( <length-percentage> )`
16402   *
16403   * **Initial value**: `none`
16404   *
16405   * @deprecated
16406   */
16407  "scroll-snap-points-y"?: ScrollSnapPointsYProperty;
16408  /**
16409   * 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.
16410   *
16411   * **Syntax**: `none | mandatory | proximity`
16412   *
16413   * **Initial value**: `none`
16414   *
16415   * @deprecated
16416   */
16417  "scroll-snap-type-x"?: ScrollSnapTypeXProperty;
16418  /**
16419   * 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.
16420   *
16421   * **Syntax**: `none | mandatory | proximity`
16422   *
16423   * **Initial value**: `none`
16424   *
16425   * @deprecated
16426   */
16427  "scroll-snap-type-y"?: ScrollSnapTypeYProperty;
16428  /**
16429   * The **`-ms-scrollbar-track-color`** CSS property is a Microsoft extension that specifies the color of the track element of a scrollbar.
16430   *
16431   * **Syntax**: `<color>`
16432   *
16433   * **Initial value**: `Scrollbar`
16434   *
16435   * @deprecated
16436   */
16437  "scrollbar-track-color"?: MsScrollbarTrackColorProperty;
16438  /**
16439   * 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.
16440   *
16441   * **Syntax**: `none | all | [ digits <integer>? ]`
16442   *
16443   * **Initial value**: `none`
16444   *
16445   * @deprecated
16446   */
16447  "text-combine-horizontal"?: TextCombineUprightProperty;
16448  /**
16449   * 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.
16450   *
16451   * **Syntax**: `start | center | end | baseline | stretch`
16452   *
16453   * **Initial value**: `stretch`
16454   *
16455   * @deprecated
16456   */
16457  "-khtml-box-align"?: BoxAlignProperty;
16458  /**
16459   * 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).
16460   *
16461   * **Syntax**: `normal | reverse | inherit`
16462   *
16463   * **Initial value**: `normal`
16464   *
16465   * @deprecated
16466   */
16467  "-khtml-box-direction"?: BoxDirectionProperty;
16468  /**
16469   * 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.
16470   *
16471   * **Syntax**: `<number>`
16472   *
16473   * **Initial value**: `0`
16474   *
16475   * @deprecated
16476   */
16477  "-khtml-box-flex"?: GlobalsNumber;
16478  /**
16479   * The **`box-flex-group`** CSS property assigns the flexbox's child elements to a flex group.
16480   *
16481   * **Syntax**: `<integer>`
16482   *
16483   * **Initial value**: `1`
16484   *
16485   * @deprecated
16486   */
16487  "-khtml-box-flex-group"?: GlobalsNumber;
16488  /**
16489   * 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).
16490   *
16491   * **Syntax**: `single | multiple`
16492   *
16493   * **Initial value**: `single`
16494   *
16495   * @deprecated
16496   */
16497  "-khtml-box-lines"?: BoxLinesProperty;
16498  /**
16499   * The **`box-ordinal-group`** CSS property assigns the flexbox's child elements to an ordinal group.
16500   *
16501   * **Syntax**: `<integer>`
16502   *
16503   * **Initial value**: `1`
16504   *
16505   * @deprecated
16506   */
16507  "-khtml-box-ordinal-group"?: GlobalsNumber;
16508  /**
16509   * The **`box-orient`** CSS property specifies whether an element lays out its contents horizontally or vertically.
16510   *
16511   * **Syntax**: `horizontal | vertical | inline-axis | block-axis | inherit`
16512   *
16513   * **Initial value**: `inline-axis` (`horizontal` in XUL)
16514   *
16515   * @deprecated
16516   */
16517  "-khtml-box-orient"?: BoxOrientProperty;
16518  /**
16519   * 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.
16520   *
16521   * **Syntax**: `start | center | end | justify`
16522   *
16523   * **Initial value**: `start`
16524   *
16525   * @deprecated
16526   */
16527  "-khtml-box-pack"?: BoxPackProperty;
16528  /**
16529   * The **`line-break`** CSS property sets how to break lines of Chinese, Japanese, or Korean (CJK) text when working with punctuation and symbols.
16530   *
16531   * **Syntax**: `auto | loose | normal | strict | anywhere`
16532   *
16533   * **Initial value**: `auto`
16534   *
16535   * @deprecated
16536   */
16537  "-khtml-line-break"?: LineBreakProperty;
16538  /**
16539   * The **`opacity`** CSS property sets the transparency of an element or the degree to which content behind an element is visible.
16540   *
16541   * **Syntax**: `<alpha-value>`
16542   *
16543   * **Initial value**: `1.0`
16544   *
16545   * @deprecated
16546   */
16547  "-khtml-opacity"?: OpacityProperty;
16548  /**
16549   * 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.
16550   *
16551   * **Syntax**: `auto | text | none | contain | all`
16552   *
16553   * **Initial value**: `auto`
16554   *
16555   * @deprecated
16556   */
16557  "-khtml-user-select"?: UserSelectProperty;
16558  /**
16559   * The **`background-clip`** CSS property sets whether an element's background `<color>` or `<image>` extends underneath its border.
16560   *
16561   * **Syntax**: `<box>#`
16562   *
16563   * **Initial value**: `border-box`
16564   *
16565   * @deprecated
16566   */
16567  "-moz-background-clip"?: BackgroundClipProperty;
16568  /**
16569   * The **`box-decoration-break`** CSS property specifies how an element's fragments should be rendered when broken across multiple lines, columns, or pages.
16570   *
16571   * **Syntax**: `slice | clone`
16572   *
16573   * **Initial value**: `slice`
16574   *
16575   * @deprecated
16576   */
16577  "-moz-background-inline-policy"?: BoxDecorationBreakProperty;
16578  /**
16579   * The **`background-origin`** CSS property sets the _background positioning area_. In other words, it sets the origin position of an image set with the `background-image` property.
16580   *
16581   * **Syntax**: `<box>#`
16582   *
16583   * **Initial value**: `padding-box`
16584   *
16585   * @deprecated
16586   */
16587  "-moz-background-origin"?: BackgroundOriginProperty;
16588  /**
16589   * 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.
16590   *
16591   * **Syntax**: `<bg-size>#`
16592   *
16593   * **Initial value**: `auto auto`
16594   *
16595   * @deprecated
16596   */
16597  "-moz-background-size"?: BackgroundSizeProperty<TLength>;
16598  /**
16599   * The **`-moz-binding`** CSS property is used by Mozilla-based applications to attach an XBL binding to a DOM element.
16600   *
16601   * **Syntax**: `<url> | none`
16602   *
16603   * **Initial value**: `none`
16604   *
16605   * @deprecated
16606   */
16607  "-moz-binding"?: MozBindingProperty;
16608  /**
16609   * 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.
16610   *
16611   * **Syntax**: `<length-percentage>{1,4} [ / <length-percentage>{1,4} ]?`
16612   *
16613   * @deprecated
16614   */
16615  "-moz-border-radius"?: BorderRadiusProperty<TLength>;
16616  /**
16617   * The **`border-bottom-left-radius`** CSS property rounds the bottom-left corner of an element.
16618   *
16619   * **Syntax**: `<length-percentage>{1,2}`
16620   *
16621   * **Initial value**: `0`
16622   *
16623   * @deprecated
16624   */
16625  "-moz-border-radius-bottomleft"?: BorderBottomLeftRadiusProperty<TLength>;
16626  /**
16627   * The **`border-bottom-right-radius`** CSS property rounds the bottom-right corner of an element.
16628   *
16629   * **Syntax**: `<length-percentage>{1,2}`
16630   *
16631   * **Initial value**: `0`
16632   *
16633   * @deprecated
16634   */
16635  "-moz-border-radius-bottomright"?: BorderBottomRightRadiusProperty<TLength>;
16636  /**
16637   * The **`border-top-left-radius`** CSS property rounds the top-left corner of an element.
16638   *
16639   * **Syntax**: `<length-percentage>{1,2}`
16640   *
16641   * **Initial value**: `0`
16642   *
16643   * @deprecated
16644   */
16645  "-moz-border-radius-topleft"?: BorderTopLeftRadiusProperty<TLength>;
16646  /**
16647   * The **`border-top-right-radius`** CSS property rounds the top-right corner of an element.
16648   *
16649   * **Syntax**: `<length-percentage>{1,2}`
16650   *
16651   * **Initial value**: `0`
16652   *
16653   * @deprecated
16654   */
16655  "-moz-border-radius-topright"?: BorderTopRightRadiusProperty<TLength>;
16656  /**
16657   * 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.
16658   *
16659   * **Syntax**: `start | center | end | baseline | stretch`
16660   *
16661   * **Initial value**: `stretch`
16662   *
16663   * @deprecated
16664   */
16665  "-moz-box-align"?: BoxAlignProperty;
16666  /**
16667   * 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).
16668   *
16669   * **Syntax**: `normal | reverse | inherit`
16670   *
16671   * **Initial value**: `normal`
16672   *
16673   * @deprecated
16674   */
16675  "-moz-box-direction"?: BoxDirectionProperty;
16676  /**
16677   * 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.
16678   *
16679   * **Syntax**: `<number>`
16680   *
16681   * **Initial value**: `0`
16682   *
16683   * @deprecated
16684   */
16685  "-moz-box-flex"?: GlobalsNumber;
16686  /**
16687   * The **`box-ordinal-group`** CSS property assigns the flexbox's child elements to an ordinal group.
16688   *
16689   * **Syntax**: `<integer>`
16690   *
16691   * **Initial value**: `1`
16692   *
16693   * @deprecated
16694   */
16695  "-moz-box-ordinal-group"?: GlobalsNumber;
16696  /**
16697   * The **`box-orient`** CSS property specifies whether an element lays out its contents horizontally or vertically.
16698   *
16699   * **Syntax**: `horizontal | vertical | inline-axis | block-axis | inherit`
16700   *
16701   * **Initial value**: `inline-axis` (`horizontal` in XUL)
16702   *
16703   * @deprecated
16704   */
16705  "-moz-box-orient"?: BoxOrientProperty;
16706  /**
16707   * 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.
16708   *
16709   * **Syntax**: `start | center | end | justify`
16710   *
16711   * **Initial value**: `start`
16712   *
16713   * @deprecated
16714   */
16715  "-moz-box-pack"?: BoxPackProperty;
16716  /**
16717   * 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 radii, and color.
16718   *
16719   * **Syntax**: `none | <shadow>#`
16720   *
16721   * **Initial value**: `none`
16722   *
16723   * @deprecated
16724   */
16725  "-moz-box-shadow"?: BoxShadowProperty;
16726  /**
16727   * The **`opacity`** CSS property sets the transparency of an element or the degree to which content behind an element is visible.
16728   *
16729   * **Syntax**: `<alpha-value>`
16730   *
16731   * **Initial value**: `1.0`
16732   *
16733   * @deprecated
16734   */
16735  "-moz-opacity"?: OpacityProperty;
16736  /**
16737   * The **`outline`** CSS property is a shorthand to set various outline properties in a single declaration: `outline-style`, `outline-width`, and `outline-color`.
16738   *
16739   * **Syntax**: `[ <'outline-color'> || <'outline-style'> || <'outline-width'> ]`
16740   *
16741   * @deprecated
16742   */
16743  "-moz-outline"?: OutlineProperty<TLength>;
16744  /**
16745   * The **`outline-color`** CSS property sets the color of an element's outline.
16746   *
16747   * **Syntax**: `<color> | invert`
16748   *
16749   * **Initial value**: `invert`, for browsers supporting it, `currentColor` for the other
16750   *
16751   * @deprecated
16752   */
16753  "-moz-outline-color"?: OutlineColorProperty;
16754  /**
16755   * In Mozilla applications like Firefox, the **`-moz-outline-radius`** CSS property can be used to give an element's `outline` rounded corners.
16756   *
16757   * **Syntax**: `<outline-radius>{1,4} [ / <outline-radius>{1,4} ]?`
16758   *
16759   * @deprecated
16760   */
16761  "-moz-outline-radius"?: MozOutlineRadiusProperty<TLength>;
16762  /**
16763   * 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`.
16764   *
16765   * **Syntax**: `auto | <'border-style'>`
16766   *
16767   * **Initial value**: `none`
16768   *
16769   * @deprecated
16770   */
16771  "-moz-outline-style"?: OutlineStyleProperty;
16772  /**
16773   * The **`outline-width`** CSS property sets the thickness of an element's outline. An outline is a line that is drawn around an element, outside the `border`.
16774   *
16775   * **Syntax**: `<line-width>`
16776   *
16777   * **Initial value**: `medium`
16778   *
16779   * @deprecated
16780   */
16781  "-moz-outline-width"?: OutlineWidthProperty<TLength>;
16782  /**
16783   * 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.
16784   *
16785   * **Syntax**: `auto | start | end | left | right | center | justify`
16786   *
16787   * **Initial value**: `auto`
16788   *
16789   * @deprecated
16790   */
16791  "-moz-text-align-last"?: TextAlignLastProperty;
16792  /**
16793   * The **`text-decoration-color`** CSS property sets the color of decorations added to text by `text-decoration-line`.
16794   *
16795   * **Syntax**: `<color>`
16796   *
16797   * **Initial value**: `currentcolor`
16798   *
16799   * @deprecated
16800   */
16801  "-moz-text-decoration-color"?: TextDecorationColorProperty;
16802  /**
16803   * 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.
16804   *
16805   * **Syntax**: `none | [ underline || overline || line-through || blink ] | spelling-error | grammar-error`
16806   *
16807   * **Initial value**: `none`
16808   *
16809   * @deprecated
16810   */
16811  "-moz-text-decoration-line"?: TextDecorationLineProperty;
16812  /**
16813   * 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`.
16814   *
16815   * **Syntax**: `solid | double | dotted | dashed | wavy`
16816   *
16817   * **Initial value**: `solid`
16818   *
16819   * @deprecated
16820   */
16821  "-moz-text-decoration-style"?: TextDecorationStyleProperty;
16822  /**
16823   * In Mozilla applications, **`-moz-user-input`** determines if an element will accept user input.
16824   *
16825   * **Syntax**: `auto | none | enabled | disabled`
16826   *
16827   * **Initial value**: `auto`
16828   *
16829   * @deprecated
16830   */
16831  "-moz-user-input"?: MozUserInputProperty;
16832  /**
16833   * The **`ime-mode`** CSS property controls the state of the input method editor (IME) for text fields. This property is obsolete.
16834   *
16835   * **Syntax**: `auto | normal | active | inactive | disabled`
16836   *
16837   * **Initial value**: `auto`
16838   *
16839   * @deprecated
16840   */
16841  "-ms-ime-mode"?: ImeModeProperty;
16842  /**
16843   * The **`-ms-scrollbar-track-color`** CSS property is a Microsoft extension that specifies the color of the track element of a scrollbar.
16844   *
16845   * **Syntax**: `<color>`
16846   *
16847   * **Initial value**: `Scrollbar`
16848   *
16849   * @deprecated
16850   */
16851  "-ms-scrollbar-track-color"?: MsScrollbarTrackColorProperty;
16852  /**
16853   * The **`animation`** shorthand CSS property sets an animated transition 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`.
16854   *
16855   * **Syntax**: `<single-animation>#`
16856   *
16857   * @deprecated
16858   */
16859  "-o-animation"?: AnimationProperty;
16860  /**
16861   * The **`animation-delay`** CSS property sets when an animation starts. The animation can start later, immediately from its beginning, or immediately and partway through the animation.
16862   *
16863   * **Syntax**: `<time>#`
16864   *
16865   * **Initial value**: `0s`
16866   *
16867   * @deprecated
16868   */
16869  "-o-animation-delay"?: GlobalsString;
16870  /**
16871   * The **`animation-direction`** CSS property sets whether an animation should play forwards, backwards, or alternating back and forth.
16872   *
16873   * **Syntax**: `<single-animation-direction>#`
16874   *
16875   * **Initial value**: `normal`
16876   *
16877   * @deprecated
16878   */
16879  "-o-animation-direction"?: AnimationDirectionProperty;
16880  /**
16881   * The **`animation-duration`** CSS property sets the length of time that an animation takes to complete one cycle.
16882   *
16883   * **Syntax**: `<time>#`
16884   *
16885   * **Initial value**: `0s`
16886   *
16887   * @deprecated
16888   */
16889  "-o-animation-duration"?: GlobalsString;
16890  /**
16891   * The **`animation-fill-mode`** CSS property sets how a CSS animation applies styles to its target before and after its execution.
16892   *
16893   * **Syntax**: `<single-animation-fill-mode>#`
16894   *
16895   * **Initial value**: `none`
16896   *
16897   * @deprecated
16898   */
16899  "-o-animation-fill-mode"?: AnimationFillModeProperty;
16900  /**
16901   * The **`animation-iteration-count`** CSS property sets the number of times an animation cycle should be played before stopping.
16902   *
16903   * **Syntax**: `<single-animation-iteration-count>#`
16904   *
16905   * **Initial value**: `1`
16906   *
16907   * @deprecated
16908   */
16909  "-o-animation-iteration-count"?: AnimationIterationCountProperty;
16910  /**
16911   * The **`animation-name`** CSS property sets one or more animations to apply to an element. Each name is an `@keyframes` at-rule that sets the property values for the animation sequence.
16912   *
16913   * **Syntax**: `[ none | <keyframes-name> ]#`
16914   *
16915   * **Initial value**: `none`
16916   *
16917   * @deprecated
16918   */
16919  "-o-animation-name"?: AnimationNameProperty;
16920  /**
16921   * The **`animation-play-state`** CSS property sets whether an animation is running or paused.
16922   *
16923   * **Syntax**: `<single-animation-play-state>#`
16924   *
16925   * **Initial value**: `running`
16926   *
16927   * @deprecated
16928   */
16929  "-o-animation-play-state"?: AnimationPlayStateProperty;
16930  /**
16931   * The `**animation-timing-function**` CSS property sets how an animation progresses through the duration of each cycle.
16932   *
16933   * **Syntax**: `<timing-function>#`
16934   *
16935   * **Initial value**: `ease`
16936   *
16937   * @deprecated
16938   */
16939  "-o-animation-timing-function"?: AnimationTimingFunctionProperty;
16940  /**
16941   * 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.
16942   *
16943   * **Syntax**: `<bg-size>#`
16944   *
16945   * **Initial value**: `auto auto`
16946   *
16947   * @deprecated
16948   */
16949  "-o-background-size"?: BackgroundSizeProperty<TLength>;
16950  /**
16951   * The **`border-image`** CSS property draws an image in place of an element's `border-style`.
16952   *
16953   * **Syntax**: `<'border-image-source'> || <'border-image-slice'> [ / <'border-image-width'> | / <'border-image-width'>? / <'border-image-outset'> ]? || <'border-image-repeat'>`
16954   *
16955   * @deprecated
16956   */
16957  "-o-border-image"?: BorderImageProperty;
16958  /**
16959   * The **`transform`** CSS property lets you rotate, scale, skew, or translate an element. It modifies the coordinate space of the CSS visual formatting model.
16960   *
16961   * **Syntax**: `none | <transform-list>`
16962   *
16963   * **Initial value**: `none`
16964   *
16965   * @deprecated
16966   */
16967  "-o-transform"?: TransformProperty;
16968  /**
16969   * The **`transition`** CSS property is a shorthand property for `transition-property`, `transition-duration`, `transition-timing-function`, and `transition-delay`.
16970   *
16971   * **Syntax**: `<single-transition>#`
16972   *
16973   * @deprecated
16974   */
16975  "-o-transition"?: TransitionProperty;
16976  /**
16977   * The **`transition-delay`** CSS property specifies the duration to wait before starting a property's transition effect when its value changes.
16978   *
16979   * **Syntax**: `<time>#`
16980   *
16981   * **Initial value**: `0s`
16982   *
16983   * @deprecated
16984   */
16985  "-o-transition-delay"?: GlobalsString;
16986  /**
16987   * 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.
16988   *
16989   * **Syntax**: `<time>#`
16990   *
16991   * **Initial value**: `0s`
16992   *
16993   * @deprecated
16994   */
16995  "-o-transition-duration"?: GlobalsString;
16996  /**
16997   * The **`transition-property`** CSS property sets the CSS properties to which a transition effect should be applied.
16998   *
16999   * **Syntax**: `none | <single-transition-property>#`
17000   *
17001   * **Initial value**: all
17002   *
17003   * @deprecated
17004   */
17005  "-o-transition-property"?: TransitionPropertyProperty;
17006  /**
17007   * The **`transition-timing-function`** CSS property sets how intermediate values are calculated for CSS properties being affected by a transition effect.
17008   *
17009   * **Syntax**: `<timing-function>#`
17010   *
17011   * **Initial value**: `ease`
17012   *
17013   * @deprecated
17014   */
17015  "-o-transition-timing-function"?: TransitionTimingFunctionProperty;
17016  /**
17017   * 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.
17018   *
17019   * **Syntax**: `start | center | end | baseline | stretch`
17020   *
17021   * **Initial value**: `stretch`
17022   *
17023   * @deprecated
17024   */
17025  "-webkit-box-align"?: BoxAlignProperty;
17026  /**
17027   * 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).
17028   *
17029   * **Syntax**: `normal | reverse | inherit`
17030   *
17031   * **Initial value**: `normal`
17032   *
17033   * @deprecated
17034   */
17035  "-webkit-box-direction"?: BoxDirectionProperty;
17036  /**
17037   * 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.
17038   *
17039   * **Syntax**: `<number>`
17040   *
17041   * **Initial value**: `0`
17042   *
17043   * @deprecated
17044   */
17045  "-webkit-box-flex"?: GlobalsNumber;
17046  /**
17047   * The **`box-flex-group`** CSS property assigns the flexbox's child elements to a flex group.
17048   *
17049   * **Syntax**: `<integer>`
17050   *
17051   * **Initial value**: `1`
17052   *
17053   * @deprecated
17054   */
17055  "-webkit-box-flex-group"?: GlobalsNumber;
17056  /**
17057   * 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).
17058   *
17059   * **Syntax**: `single | multiple`
17060   *
17061   * **Initial value**: `single`
17062   *
17063   * @deprecated
17064   */
17065  "-webkit-box-lines"?: BoxLinesProperty;
17066  /**
17067   * The **`box-ordinal-group`** CSS property assigns the flexbox's child elements to an ordinal group.
17068   *
17069   * **Syntax**: `<integer>`
17070   *
17071   * **Initial value**: `1`
17072   *
17073   * @deprecated
17074   */
17075  "-webkit-box-ordinal-group"?: GlobalsNumber;
17076  /**
17077   * The **`box-orient`** CSS property specifies whether an element lays out its contents horizontally or vertically.
17078   *
17079   * **Syntax**: `horizontal | vertical | inline-axis | block-axis | inherit`
17080   *
17081   * **Initial value**: `inline-axis` (`horizontal` in XUL)
17082   *
17083   * @deprecated
17084   */
17085  "-webkit-box-orient"?: BoxOrientProperty;
17086  /**
17087   * 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.
17088   *
17089   * **Syntax**: `start | center | end | justify`
17090   *
17091   * **Initial value**: `start`
17092   *
17093   * @deprecated
17094   */
17095  "-webkit-box-pack"?: BoxPackProperty;
17096  /**
17097   * 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.
17098   *
17099   * **Syntax**: `none | repeat( <length-percentage> )`
17100   *
17101   * **Initial value**: `none`
17102   *
17103   * @deprecated
17104   */
17105  "-webkit-scroll-snap-points-x"?: ScrollSnapPointsXProperty;
17106  /**
17107   * 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.
17108   *
17109   * **Syntax**: `none | repeat( <length-percentage> )`
17110   *
17111   * **Initial value**: `none`
17112   *
17113   * @deprecated
17114   */
17115  "-webkit-scroll-snap-points-y"?: ScrollSnapPointsYProperty;
17116}
17117
17118export interface SvgPropertiesHyphen<TLength = string | 0> {
17119  "alignment-baseline"?: AlignmentBaselineProperty;
17120  "baseline-shift"?: BaselineShiftProperty<TLength>;
17121  clip?: ClipProperty;
17122  "clip-path"?: ClipPathProperty;
17123  "clip-rule"?: ClipRuleProperty;
17124  color?: ColorProperty;
17125  "color-interpolation"?: ColorInterpolationProperty;
17126  "color-rendering"?: ColorRenderingProperty;
17127  cursor?: CursorProperty;
17128  direction?: DirectionProperty;
17129  display?: DisplayProperty;
17130  "dominant-baseline"?: DominantBaselineProperty;
17131  fill?: FillProperty;
17132  "fill-opacity"?: GlobalsNumber;
17133  "fill-rule"?: FillRuleProperty;
17134  filter?: FilterProperty;
17135  "flood-color"?: FloodColorProperty;
17136  "flood-opacity"?: GlobalsNumber;
17137  font?: FontProperty;
17138  "font-family"?: FontFamilyProperty;
17139  "font-size"?: FontSizeProperty<TLength>;
17140  "font-size-adjust"?: FontSizeAdjustProperty;
17141  "font-stretch"?: FontStretchProperty;
17142  "font-style"?: FontStyleProperty;
17143  "font-variant"?: FontVariantProperty;
17144  "font-weight"?: FontWeightProperty;
17145  "glyph-orientation-vertical"?: GlyphOrientationVerticalProperty;
17146  "image-rendering"?: ImageRenderingProperty;
17147  "letter-spacing"?: LetterSpacingProperty<TLength>;
17148  "lighting-color"?: LightingColorProperty;
17149  "line-height"?: LineHeightProperty<TLength>;
17150  marker?: MarkerProperty;
17151  "marker-end"?: MarkerEndProperty;
17152  "marker-mid"?: MarkerMidProperty;
17153  "marker-start"?: MarkerStartProperty;
17154  mask?: MaskProperty<TLength>;
17155  opacity?: OpacityProperty;
17156  overflow?: OverflowProperty;
17157  "paint-order"?: PaintOrderProperty;
17158  "pointer-events"?: PointerEventsProperty;
17159  "shape-rendering"?: ShapeRenderingProperty;
17160  "stop-color"?: StopColorProperty;
17161  "stop-opacity"?: GlobalsNumber;
17162  stroke?: StrokeProperty;
17163  "stroke-dasharray"?: StrokeDasharrayProperty<TLength>;
17164  "stroke-dashoffset"?: StrokeDashoffsetProperty<TLength>;
17165  "stroke-linecap"?: StrokeLinecapProperty;
17166  "stroke-linejoin"?: StrokeLinejoinProperty;
17167  "stroke-miterlimit"?: GlobalsNumber;
17168  "stroke-opacity"?: GlobalsNumber;
17169  "stroke-width"?: StrokeWidthProperty<TLength>;
17170  "text-anchor"?: TextAnchorProperty;
17171  "text-decoration"?: TextDecorationProperty<TLength>;
17172  "text-rendering"?: TextRenderingProperty;
17173  "unicode-bidi"?: UnicodeBidiProperty;
17174  "vector-effect"?: VectorEffectProperty;
17175  visibility?: VisibilityProperty;
17176  "white-space"?: WhiteSpaceProperty;
17177  "word-spacing"?: WordSpacingProperty<TLength>;
17178  "writing-mode"?: WritingModeProperty;
17179}
17180
17181export interface PropertiesHyphen<TLength = string | 0>
17182  extends StandardPropertiesHyphen<TLength>,
17183    VendorPropertiesHyphen<TLength>,
17184    ObsoletePropertiesHyphen<TLength>,
17185    SvgPropertiesHyphen<TLength> {}
17186
17187export interface StandardLonghandPropertiesFallback<TLength = string | 0> {
17188  /**
17189   * The CSS **`align-content`** property sets how the browser distributes space between and around content items along the cross-axis of a flexbox container, and the main-axis of a grid container.
17190   *
17191   * **Syntax**: `normal | <baseline-position> | <content-distribution> | <overflow-position>? <content-position>`
17192   *
17193   * **Initial value**: `normal`
17194   *
17195   * ---
17196   *
17197   * _Supported in Flex Layout_
17198   *
17199   * |  Chrome  | Firefox |  Safari   |  Edge  |   IE   |
17200   * | :------: | :-----: | :-------: | :----: | :----: |
17201   * |  **29**  | **28**  |   **9**   | **12** | **11** |
17202   * | 21 _-x-_ |         | 6.1 _-x-_ |        |        |
17203   *
17204   * ---
17205   *
17206   * _Supported in Grid Layout_
17207   *
17208   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
17209   * | :----: | :-----: | :------: | :----: | :-: |
17210   * | **57** | **52**  | **10.1** | **16** | No  |
17211   *
17212   * ---
17213   *
17214   * @see https://developer.mozilla.org/docs/Web/CSS/align-content
17215   */
17216  alignContent?: AlignContentProperty | AlignContentProperty[];
17217  /**
17218   * The CSS **`align-items`** property sets the `align-self` value on all direct children as a group. The align-self property sets the alignment of an item within its containing block. 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.
17219   *
17220   * **Syntax**: `normal | stretch | <baseline-position> | [ <overflow-position>? <self-position> ]`
17221   *
17222   * **Initial value**: `normal`
17223   *
17224   * ---
17225   *
17226   * _Supported in Flex Layout_
17227   *
17228   * |  Chrome  | Firefox | Safari  |  Edge  |   IE   |
17229   * | :------: | :-----: | :-----: | :----: | :----: |
17230   * |  **52**  | **20**  |  **9**  | **12** | **11** |
17231   * | 21 _-x-_ |         | 7 _-x-_ |        |        |
17232   *
17233   * ---
17234   *
17235   * _Supported in Grid Layout_
17236   *
17237   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
17238   * | :----: | :-----: | :------: | :----: | :-: |
17239   * | **57** | **52**  | **10.1** | **16** | No  |
17240   *
17241   * ---
17242   *
17243   * @see https://developer.mozilla.org/docs/Web/CSS/align-items
17244   */
17245  alignItems?: AlignItemsProperty | AlignItemsProperty[];
17246  /**
17247   * The **`align-self`** CSS property aligns flex items of the current flex line overriding the `align-items` value. If any of the item's cross-axis margin is set to `auto`, then `align-self` is ignored. In Grid layout `align-self` aligns the item inside the grid area.
17248   *
17249   * **Syntax**: `auto | normal | stretch | <baseline-position> | <overflow-position>? <self-position>`
17250   *
17251   * **Initial value**: `auto`
17252   *
17253   * ---
17254   *
17255   * _Supported in Flex Layout_
17256   *
17257   * |  Chrome  | Firefox |  Safari   |  Edge  |   IE   |
17258   * | :------: | :-----: | :-------: | :----: | :----: |
17259   * |  **36**  | **20**  |   **9**   | **12** | **11** |
17260   * | 21 _-x-_ |         | 6.1 _-x-_ |        |        |
17261   *
17262   * ---
17263   *
17264   * _Supported in Grid Layout_
17265   *
17266   * | Chrome | Firefox |  Safari  |  Edge  |      IE      |
17267   * | :----: | :-----: | :------: | :----: | :----------: |
17268   * | **57** | **52**  | **10.1** | **16** | **10** _-x-_ |
17269   *
17270   * ---
17271   *
17272   * @see https://developer.mozilla.org/docs/Web/CSS/align-self
17273   */
17274  alignSelf?: AlignSelfProperty | AlignSelfProperty[];
17275  /**
17276   * The **`animation-delay`** CSS property sets when an animation starts. The animation can start later, immediately from its beginning, or immediately and partway through the animation.
17277   *
17278   * **Syntax**: `<time>#`
17279   *
17280   * **Initial value**: `0s`
17281   *
17282   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
17283   * | :-----: | :-----: | :-----: | :----: | :----: |
17284   * | **43**  | **16**  |  **9**  | **12** | **10** |
17285   * | 3 _-x-_ | 5 _-x-_ | 4 _-x-_ |        |        |
17286   *
17287   * @see https://developer.mozilla.org/docs/Web/CSS/animation-delay
17288   */
17289  animationDelay?: GlobalsString | GlobalsString[];
17290  /**
17291   * The **`animation-direction`** CSS property sets whether an animation should play forwards, backwards, or alternating back and forth.
17292   *
17293   * **Syntax**: `<single-animation-direction>#`
17294   *
17295   * **Initial value**: `normal`
17296   *
17297   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
17298   * | :-----: | :-----: | :-----: | :----: | :----: |
17299   * | **43**  | **16**  |  **9**  | **12** | **10** |
17300   * | 3 _-x-_ | 5 _-x-_ | 4 _-x-_ |        |        |
17301   *
17302   * @see https://developer.mozilla.org/docs/Web/CSS/animation-direction
17303   */
17304  animationDirection?: AnimationDirectionProperty | AnimationDirectionProperty[];
17305  /**
17306   * The **`animation-duration`** CSS property sets the length of time that an animation takes to complete one cycle.
17307   *
17308   * **Syntax**: `<time>#`
17309   *
17310   * **Initial value**: `0s`
17311   *
17312   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
17313   * | :-----: | :-----: | :-----: | :----: | :----: |
17314   * | **43**  | **16**  |  **9**  | **12** | **10** |
17315   * | 3 _-x-_ | 5 _-x-_ | 4 _-x-_ |        |        |
17316   *
17317   * @see https://developer.mozilla.org/docs/Web/CSS/animation-duration
17318   */
17319  animationDuration?: GlobalsString | GlobalsString[];
17320  /**
17321   * The **`animation-fill-mode`** CSS property sets how a CSS animation applies styles to its target before and after its execution.
17322   *
17323   * **Syntax**: `<single-animation-fill-mode>#`
17324   *
17325   * **Initial value**: `none`
17326   *
17327   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
17328   * | :-----: | :-----: | :-----: | :----: | :----: |
17329   * | **43**  | **16**  |  **9**  | **12** | **10** |
17330   * | 3 _-x-_ | 5 _-x-_ | 5 _-x-_ |        |        |
17331   *
17332   * @see https://developer.mozilla.org/docs/Web/CSS/animation-fill-mode
17333   */
17334  animationFillMode?: AnimationFillModeProperty | AnimationFillModeProperty[];
17335  /**
17336   * The **`animation-iteration-count`** CSS property sets the number of times an animation cycle should be played before stopping.
17337   *
17338   * **Syntax**: `<single-animation-iteration-count>#`
17339   *
17340   * **Initial value**: `1`
17341   *
17342   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
17343   * | :-----: | :-----: | :-----: | :----: | :----: |
17344   * | **43**  | **16**  |  **9**  | **12** | **10** |
17345   * | 3 _-x-_ | 5 _-x-_ | 4 _-x-_ |        |        |
17346   *
17347   * @see https://developer.mozilla.org/docs/Web/CSS/animation-iteration-count
17348   */
17349  animationIterationCount?: AnimationIterationCountProperty | AnimationIterationCountProperty[];
17350  /**
17351   * The **`animation-name`** CSS property sets one or more animations to apply to an element. Each name is an `@keyframes` at-rule that sets the property values for the animation sequence.
17352   *
17353   * **Syntax**: `[ none | <keyframes-name> ]#`
17354   *
17355   * **Initial value**: `none`
17356   *
17357   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
17358   * | :-----: | :-----: | :-----: | :----: | :----: |
17359   * | **43**  | **16**  |  **9**  | **12** | **10** |
17360   * | 3 _-x-_ | 5 _-x-_ | 4 _-x-_ |        |        |
17361   *
17362   * @see https://developer.mozilla.org/docs/Web/CSS/animation-name
17363   */
17364  animationName?: AnimationNameProperty | AnimationNameProperty[];
17365  /**
17366   * The **`animation-play-state`** CSS property sets whether an animation is running or paused.
17367   *
17368   * **Syntax**: `<single-animation-play-state>#`
17369   *
17370   * **Initial value**: `running`
17371   *
17372   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
17373   * | :-----: | :-----: | :-----: | :----: | :----: |
17374   * | **43**  | **16**  |  **9**  | **12** | **10** |
17375   * | 3 _-x-_ | 5 _-x-_ | 4 _-x-_ |        |        |
17376   *
17377   * @see https://developer.mozilla.org/docs/Web/CSS/animation-play-state
17378   */
17379  animationPlayState?: AnimationPlayStateProperty | AnimationPlayStateProperty[];
17380  /**
17381   * The `**animation-timing-function**` CSS property sets how an animation progresses through the duration of each cycle.
17382   *
17383   * **Syntax**: `<timing-function>#`
17384   *
17385   * **Initial value**: `ease`
17386   *
17387   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
17388   * | :-----: | :-----: | :-----: | :----: | :----: |
17389   * | **43**  | **16**  |  **9**  | **12** | **10** |
17390   * | 3 _-x-_ | 5 _-x-_ | 4 _-x-_ |        |        |
17391   *
17392   * @see https://developer.mozilla.org/docs/Web/CSS/animation-timing-function
17393   */
17394  animationTimingFunction?: AnimationTimingFunctionProperty | AnimationTimingFunctionProperty[];
17395  /**
17396   * The **`-moz-appearance`** CSS property is used in Gecko (Firefox) to display an element using platform-native styling based on the operating system's theme.
17397   *
17398   * **Syntax**: `none | auto | button | textfield | menulist-button | <compat-auto>`
17399   *
17400   * **Initial value**: `auto`
17401   *
17402   * |   Chrome    |   Firefox   |   Safari    |     Edge     | IE  |
17403   * | :---------: | :---------: | :---------: | :----------: | :-: |
17404   * | **1** _-x-_ | **1** _-x-_ | **3** _-x-_ | **12** _-x-_ | No  |
17405   *
17406   * @see https://developer.mozilla.org/docs/Web/CSS/appearance
17407   */
17408  appearance?: AppearanceProperty | AppearanceProperty[];
17409  /**
17410   * 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.
17411   *
17412   * **Syntax**: `auto | <ratio>`
17413   *
17414   * **Initial value**: `auto`
17415   *
17416   * | Chrome | Firefox | Safari |  Edge  | IE  |
17417   * | :----: | :-----: | :----: | :----: | :-: |
17418   * | **79** | **71**  |   No   | **79** | No  |
17419   *
17420   * @see https://developer.mozilla.org/docs/Web/CSS/aspect-ratio
17421   */
17422  aspectRatio?: AspectRatioProperty | AspectRatioProperty[];
17423  /**
17424   * 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.
17425   *
17426   * **Syntax**: `none | <filter-function-list>`
17427   *
17428   * **Initial value**: `none`
17429   *
17430   * | Chrome | Firefox |   Safari    |  Edge  | IE  |
17431   * | :----: | :-----: | :---------: | :----: | :-: |
17432   * | **76** |   n/a   | **9** _-x-_ | **17** | No  |
17433   *
17434   * @see https://developer.mozilla.org/docs/Web/CSS/backdrop-filter
17435   */
17436  backdropFilter?: BackdropFilterProperty | BackdropFilterProperty[];
17437  /**
17438   * The **`backface-visibility`** CSS property sets whether the back face of an element is visible when turned towards the user.
17439   *
17440   * **Syntax**: `visible | hidden`
17441   *
17442   * **Initial value**: `visible`
17443   *
17444   * |  Chrome  | Firefox  |    Safari     |  Edge  |   IE   |
17445   * | :------: | :------: | :-----------: | :----: | :----: |
17446   * |  **36**  |  **16**  | **5.1** _-x-_ | **12** | **10** |
17447   * | 12 _-x-_ | 10 _-x-_ |               |        |        |
17448   *
17449   * @see https://developer.mozilla.org/docs/Web/CSS/backface-visibility
17450   */
17451  backfaceVisibility?: BackfaceVisibilityProperty | BackfaceVisibilityProperty[];
17452  /**
17453   * The **`background-attachment`** CSS property sets whether a background image's position is fixed within the viewport, or scrolls with its containing block.
17454   *
17455   * **Syntax**: `<attachment>#`
17456   *
17457   * **Initial value**: `scroll`
17458   *
17459   * | Chrome | Firefox | Safari |  Edge  |  IE   |
17460   * | :----: | :-----: | :----: | :----: | :---: |
17461   * | **1**  |  **1**  | **1**  | **12** | **4** |
17462   *
17463   * @see https://developer.mozilla.org/docs/Web/CSS/background-attachment
17464   */
17465  backgroundAttachment?: BackgroundAttachmentProperty | BackgroundAttachmentProperty[];
17466  /**
17467   * 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.
17468   *
17469   * **Syntax**: `<blend-mode>#`
17470   *
17471   * **Initial value**: `normal`
17472   *
17473   * | Chrome | Firefox | Safari |  Edge  | IE  |
17474   * | :----: | :-----: | :----: | :----: | :-: |
17475   * | **35** | **30**  | **8**  | **79** | No  |
17476   *
17477   * @see https://developer.mozilla.org/docs/Web/CSS/background-blend-mode
17478   */
17479  backgroundBlendMode?: BackgroundBlendModeProperty | BackgroundBlendModeProperty[];
17480  /**
17481   * The **`background-clip`** CSS property sets whether an element's background `<color>` or `<image>` extends underneath its border.
17482   *
17483   * **Syntax**: `<box>#`
17484   *
17485   * **Initial value**: `border-box`
17486   *
17487   * | Chrome | Firefox |   Safari    |  Edge  |  IE   |
17488   * | :----: | :-----: | :---------: | :----: | :---: |
17489   * | **1**  |  **4**  | **3** _-x-_ | **12** | **9** |
17490   *
17491   * @see https://developer.mozilla.org/docs/Web/CSS/background-clip
17492   */
17493  backgroundClip?: BackgroundClipProperty | BackgroundClipProperty[];
17494  /**
17495   * The **`background-color`** CSS property sets the background color of an element.
17496   *
17497   * **Syntax**: `<color>`
17498   *
17499   * **Initial value**: `transparent`
17500   *
17501   * | Chrome | Firefox | Safari |  Edge  |  IE   |
17502   * | :----: | :-----: | :----: | :----: | :---: |
17503   * | **1**  |  **1**  | **1**  | **12** | **4** |
17504   *
17505   * @see https://developer.mozilla.org/docs/Web/CSS/background-color
17506   */
17507  backgroundColor?: BackgroundColorProperty | BackgroundColorProperty[];
17508  /**
17509   * The **`background-image`** CSS property sets one or more background images on an element.
17510   *
17511   * **Syntax**: `<bg-image>#`
17512   *
17513   * **Initial value**: `none`
17514   *
17515   * | Chrome | Firefox | Safari |  Edge  |  IE   |
17516   * | :----: | :-----: | :----: | :----: | :---: |
17517   * | **1**  |  **1**  | **1**  | **12** | **4** |
17518   *
17519   * @see https://developer.mozilla.org/docs/Web/CSS/background-image
17520   */
17521  backgroundImage?: BackgroundImageProperty | BackgroundImageProperty[];
17522  /**
17523   * The **`background-origin`** CSS property sets the _background positioning area_. In other words, it sets the origin position of an image set with the `background-image` property.
17524   *
17525   * **Syntax**: `<box>#`
17526   *
17527   * **Initial value**: `padding-box`
17528   *
17529   * | Chrome | Firefox | Safari |  Edge  |  IE   |
17530   * | :----: | :-----: | :----: | :----: | :---: |
17531   * | **1**  |  **4**  | **3**  | **12** | **9** |
17532   *
17533   * @see https://developer.mozilla.org/docs/Web/CSS/background-origin
17534   */
17535  backgroundOrigin?: BackgroundOriginProperty | BackgroundOriginProperty[];
17536  /**
17537   * 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`.
17538   *
17539   * **Syntax**: `<bg-position>#`
17540   *
17541   * **Initial value**: `0% 0%`
17542   *
17543   * | Chrome | Firefox | Safari |  Edge  |  IE   |
17544   * | :----: | :-----: | :----: | :----: | :---: |
17545   * | **1**  |  **1**  | **1**  | **12** | **4** |
17546   *
17547   * @see https://developer.mozilla.org/docs/Web/CSS/background-position
17548   */
17549  backgroundPosition?: BackgroundPositionProperty<TLength> | BackgroundPositionProperty<TLength>[];
17550  /**
17551   * 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`.
17552   *
17553   * **Syntax**: `[ center | [ [ left | right | x-start | x-end ]? <length-percentage>? ]! ]#`
17554   *
17555   * **Initial value**: `left`
17556   *
17557   * | Chrome | Firefox | Safari |  Edge  |  IE   |
17558   * | :----: | :-----: | :----: | :----: | :---: |
17559   * | **1**  | **49**  | **1**  | **12** | **6** |
17560   *
17561   * @see https://developer.mozilla.org/docs/Web/CSS/background-position-x
17562   */
17563  backgroundPositionX?: BackgroundPositionXProperty<TLength> | BackgroundPositionXProperty<TLength>[];
17564  /**
17565   * The **`background-position-y`** CSS property sets the initial vertical position, relative to the background position layer defined by `background-origin`, for each defined background image.
17566   *
17567   * **Syntax**: `[ center | [ [ top | bottom | y-start | y-end ]? <length-percentage>? ]! ]#`
17568   *
17569   * **Initial value**: `top`
17570   *
17571   * | Chrome | Firefox | Safari |  Edge  |  IE   |
17572   * | :----: | :-----: | :----: | :----: | :---: |
17573   * | **1**  | **49**  | **1**  | **12** | **6** |
17574   *
17575   * @see https://developer.mozilla.org/docs/Web/CSS/background-position-y
17576   */
17577  backgroundPositionY?: BackgroundPositionYProperty<TLength> | BackgroundPositionYProperty<TLength>[];
17578  /**
17579   * 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.
17580   *
17581   * **Syntax**: `<repeat-style>#`
17582   *
17583   * **Initial value**: `repeat`
17584   *
17585   * | Chrome | Firefox | Safari |  Edge  |  IE   |
17586   * | :----: | :-----: | :----: | :----: | :---: |
17587   * | **1**  |  **1**  | **1**  | **12** | **4** |
17588   *
17589   * @see https://developer.mozilla.org/docs/Web/CSS/background-repeat
17590   */
17591  backgroundRepeat?: BackgroundRepeatProperty | BackgroundRepeatProperty[];
17592  /**
17593   * 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.
17594   *
17595   * **Syntax**: `<bg-size>#`
17596   *
17597   * **Initial value**: `auto auto`
17598   *
17599   * | Chrome  | Firefox | Safari  |  Edge  |  IE   |
17600   * | :-----: | :-----: | :-----: | :----: | :---: |
17601   * |  **3**  |  **4**  |  **5**  | **12** | **9** |
17602   * | 1 _-x-_ |         | 3 _-x-_ |        |       |
17603   *
17604   * @see https://developer.mozilla.org/docs/Web/CSS/background-size
17605   */
17606  backgroundSize?: BackgroundSizeProperty<TLength> | BackgroundSizeProperty<TLength>[];
17607  /**
17608   * **Syntax**: `clip | ellipsis | <string>`
17609   *
17610   * **Initial value**: `clip`
17611   */
17612  blockOverflow?: BlockOverflowProperty | BlockOverflowProperty[];
17613  /**
17614   * 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`.
17615   *
17616   * **Syntax**: `<'width'>`
17617   *
17618   * **Initial value**: `auto`
17619   *
17620   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
17621   * | :----: | :-----: | :------: | :----: | :-: |
17622   * | **57** | **41**  | **12.1** | **79** | No  |
17623   *
17624   * @see https://developer.mozilla.org/docs/Web/CSS/block-size
17625   */
17626  blockSize?: BlockSizeProperty<TLength> | BlockSizeProperty<TLength>[];
17627  /**
17628   * 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`.
17629   *
17630   * **Syntax**: `<'border-top-color'>{1,2}`
17631   *
17632   * **Initial value**: `currentcolor`
17633   *
17634   * | Chrome | Firefox | Safari | Edge | IE  |
17635   * | :----: | :-----: | :----: | :--: | :-: |
17636   * |  n/a   | **66**  |   No   | n/a  | No  |
17637   *
17638   * @see https://developer.mozilla.org/docs/Web/CSS/border-block-color
17639   */
17640  borderBlockColor?: BorderBlockColorProperty | BorderBlockColorProperty[];
17641  /**
17642   * 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`.
17643   *
17644   * **Syntax**: `<'border-top-color'>`
17645   *
17646   * **Initial value**: `currentcolor`
17647   *
17648   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
17649   * | :----: | :-----: | :------: | :----: | :-: |
17650   * | **69** | **41**  | **12.1** | **79** | No  |
17651   *
17652   * @see https://developer.mozilla.org/docs/Web/CSS/border-block-end-color
17653   */
17654  borderBlockEndColor?: BorderBlockEndColorProperty | BorderBlockEndColorProperty[];
17655  /**
17656   * 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`.
17657   *
17658   * **Syntax**: `<'border-top-style'>`
17659   *
17660   * **Initial value**: `none`
17661   *
17662   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
17663   * | :----: | :-----: | :------: | :----: | :-: |
17664   * | **69** | **41**  | **12.1** | **79** | No  |
17665   *
17666   * @see https://developer.mozilla.org/docs/Web/CSS/border-block-end-style
17667   */
17668  borderBlockEndStyle?: BorderBlockEndStyleProperty | BorderBlockEndStyleProperty[];
17669  /**
17670   * 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`.
17671   *
17672   * **Syntax**: `<'border-top-width'>`
17673   *
17674   * **Initial value**: `medium`
17675   *
17676   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
17677   * | :----: | :-----: | :------: | :----: | :-: |
17678   * | **69** | **41**  | **12.1** | **79** | No  |
17679   *
17680   * @see https://developer.mozilla.org/docs/Web/CSS/border-block-end-width
17681   */
17682  borderBlockEndWidth?: BorderBlockEndWidthProperty<TLength> | BorderBlockEndWidthProperty<TLength>[];
17683  /**
17684   * 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`.
17685   *
17686   * **Syntax**: `<'border-top-color'>`
17687   *
17688   * **Initial value**: `currentcolor`
17689   *
17690   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
17691   * | :----: | :-----: | :------: | :----: | :-: |
17692   * | **69** | **41**  | **12.1** | **79** | No  |
17693   *
17694   * @see https://developer.mozilla.org/docs/Web/CSS/border-block-start-color
17695   */
17696  borderBlockStartColor?: BorderBlockStartColorProperty | BorderBlockStartColorProperty[];
17697  /**
17698   * 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`.
17699   *
17700   * **Syntax**: `<'border-top-style'>`
17701   *
17702   * **Initial value**: `none`
17703   *
17704   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
17705   * | :----: | :-----: | :------: | :----: | :-: |
17706   * | **69** | **41**  | **12.1** | **79** | No  |
17707   *
17708   * @see https://developer.mozilla.org/docs/Web/CSS/border-block-start-style
17709   */
17710  borderBlockStartStyle?: BorderBlockStartStyleProperty | BorderBlockStartStyleProperty[];
17711  /**
17712   * 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`.
17713   *
17714   * **Syntax**: `<'border-top-width'>`
17715   *
17716   * **Initial value**: `medium`
17717   *
17718   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
17719   * | :----: | :-----: | :------: | :----: | :-: |
17720   * | **69** | **41**  | **12.1** | **79** | No  |
17721   *
17722   * @see https://developer.mozilla.org/docs/Web/CSS/border-block-start-width
17723   */
17724  borderBlockStartWidth?: BorderBlockStartWidthProperty<TLength> | BorderBlockStartWidthProperty<TLength>[];
17725  /**
17726   * 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`.
17727   *
17728   * **Syntax**: `<'border-top-style'>`
17729   *
17730   * **Initial value**: `none`
17731   *
17732   * | Chrome | Firefox | Safari |  Edge  | IE  |
17733   * | :----: | :-----: | :----: | :----: | :-: |
17734   * | **69** | **66**  |   No   | **79** | No  |
17735   *
17736   * @see https://developer.mozilla.org/docs/Web/CSS/border-block-style
17737   */
17738  borderBlockStyle?: BorderBlockStyleProperty | BorderBlockStyleProperty[];
17739  /**
17740   * 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`.
17741   *
17742   * **Syntax**: `<'border-top-width'>`
17743   *
17744   * **Initial value**: `medium`
17745   *
17746   * | Chrome | Firefox | Safari |  Edge  | IE  |
17747   * | :----: | :-----: | :----: | :----: | :-: |
17748   * | **69** | **66**  |   No   | **79** | No  |
17749   *
17750   * @see https://developer.mozilla.org/docs/Web/CSS/border-block-width
17751   */
17752  borderBlockWidth?: BorderBlockWidthProperty<TLength> | BorderBlockWidthProperty<TLength>[];
17753  /**
17754   * 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`.
17755   *
17756   * **Syntax**: `<'border-top-color'>`
17757   *
17758   * **Initial value**: `currentcolor`
17759   *
17760   * | Chrome | Firefox | Safari |  Edge  |  IE   |
17761   * | :----: | :-----: | :----: | :----: | :---: |
17762   * | **1**  |  **1**  | **1**  | **12** | **4** |
17763   *
17764   * @see https://developer.mozilla.org/docs/Web/CSS/border-bottom-color
17765   */
17766  borderBottomColor?: BorderBottomColorProperty | BorderBottomColorProperty[];
17767  /**
17768   * The **`border-bottom-left-radius`** CSS property rounds the bottom-left corner of an element.
17769   *
17770   * **Syntax**: `<length-percentage>{1,2}`
17771   *
17772   * **Initial value**: `0`
17773   *
17774   * | Chrome  | Firefox | Safari  |  Edge  |  IE   |
17775   * | :-----: | :-----: | :-----: | :----: | :---: |
17776   * |  **4**  |  **4**  |  **5**  | **12** | **9** |
17777   * | 1 _-x-_ |         | 3 _-x-_ |        |       |
17778   *
17779   * @see https://developer.mozilla.org/docs/Web/CSS/border-bottom-left-radius
17780   */
17781  borderBottomLeftRadius?: BorderBottomLeftRadiusProperty<TLength> | BorderBottomLeftRadiusProperty<TLength>[];
17782  /**
17783   * The **`border-bottom-right-radius`** CSS property rounds the bottom-right corner of an element.
17784   *
17785   * **Syntax**: `<length-percentage>{1,2}`
17786   *
17787   * **Initial value**: `0`
17788   *
17789   * | Chrome  | Firefox | Safari  |  Edge  |  IE   |
17790   * | :-----: | :-----: | :-----: | :----: | :---: |
17791   * |  **4**  |  **4**  |  **5**  | **12** | **9** |
17792   * | 1 _-x-_ |         | 3 _-x-_ |        |       |
17793   *
17794   * @see https://developer.mozilla.org/docs/Web/CSS/border-bottom-right-radius
17795   */
17796  borderBottomRightRadius?: BorderBottomRightRadiusProperty<TLength> | BorderBottomRightRadiusProperty<TLength>[];
17797  /**
17798   * The **`border-bottom-style`** CSS property sets the line style of an element's bottom `border`.
17799   *
17800   * **Syntax**: `<line-style>`
17801   *
17802   * **Initial value**: `none`
17803   *
17804   * | Chrome | Firefox | Safari |  Edge  |   IE    |
17805   * | :----: | :-----: | :----: | :----: | :-----: |
17806   * | **1**  |  **1**  | **1**  | **12** | **5.5** |
17807   *
17808   * @see https://developer.mozilla.org/docs/Web/CSS/border-bottom-style
17809   */
17810  borderBottomStyle?: BorderBottomStyleProperty | BorderBottomStyleProperty[];
17811  /**
17812   * The **`border-bottom-width`** CSS property sets the width of the bottom border of a box.
17813   *
17814   * **Syntax**: `<line-width>`
17815   *
17816   * **Initial value**: `medium`
17817   *
17818   * | Chrome | Firefox | Safari |  Edge  |  IE   |
17819   * | :----: | :-----: | :----: | :----: | :---: |
17820   * | **1**  |  **1**  | **1**  | **12** | **4** |
17821   *
17822   * @see https://developer.mozilla.org/docs/Web/CSS/border-bottom-width
17823   */
17824  borderBottomWidth?: BorderBottomWidthProperty<TLength> | BorderBottomWidthProperty<TLength>[];
17825  /**
17826   * The **`border-collapse`** CSS property sets whether cells inside a `<table>` have shared or separate borders.
17827   *
17828   * **Syntax**: `collapse | separate`
17829   *
17830   * **Initial value**: `separate`
17831   *
17832   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
17833   * | :----: | :-----: | :-----: | :----: | :---: |
17834   * | **1**  |  **1**  | **1.2** | **12** | **5** |
17835   *
17836   * @see https://developer.mozilla.org/docs/Web/CSS/border-collapse
17837   */
17838  borderCollapse?: BorderCollapseProperty | BorderCollapseProperty[];
17839  /**
17840   * 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 on the element's `writing-mode`, `direction`, and `text-orientation`.
17841   *
17842   * **Syntax**: `<length-percentage>{1,2}`
17843   *
17844   * **Initial value**: `0`
17845   *
17846   * | Chrome | Firefox | Safari | Edge | IE  |
17847   * | :----: | :-----: | :----: | :--: | :-: |
17848   * |   No   | **66**  |   No   |  No  | No  |
17849   *
17850   * @see https://developer.mozilla.org/docs/Web/CSS/border-end-end-radius
17851   */
17852  borderEndEndRadius?: BorderEndEndRadiusProperty<TLength> | BorderEndEndRadiusProperty<TLength>[];
17853  /**
17854   * 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`.
17855   *
17856   * **Syntax**: `<length-percentage>{1,2}`
17857   *
17858   * **Initial value**: `0`
17859   *
17860   * | Chrome | Firefox | Safari | Edge | IE  |
17861   * | :----: | :-----: | :----: | :--: | :-: |
17862   * |   No   | **66**  |   No   |  No  | No  |
17863   *
17864   * @see https://developer.mozilla.org/docs/Web/CSS/border-end-start-radius
17865   */
17866  borderEndStartRadius?: BorderEndStartRadiusProperty<TLength> | BorderEndStartRadiusProperty<TLength>[];
17867  /**
17868   * The **`border-image-outset`** CSS property sets the distance by which an element's border image is set out from its border box.
17869   *
17870   * **Syntax**: `[ <length> | <number> ]{1,4}`
17871   *
17872   * **Initial value**: `0`
17873   *
17874   * | Chrome | Firefox | Safari |  Edge  |   IE   |
17875   * | :----: | :-----: | :----: | :----: | :----: |
17876   * | **15** | **15**  | **6**  | **12** | **11** |
17877   *
17878   * @see https://developer.mozilla.org/docs/Web/CSS/border-image-outset
17879   */
17880  borderImageOutset?: BorderImageOutsetProperty<TLength> | BorderImageOutsetProperty<TLength>[];
17881  /**
17882   * 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.
17883   *
17884   * **Syntax**: `[ stretch | repeat | round | space ]{1,2}`
17885   *
17886   * **Initial value**: `stretch`
17887   *
17888   * | Chrome | Firefox | Safari |  Edge  |   IE   |
17889   * | :----: | :-----: | :----: | :----: | :----: |
17890   * | **15** | **15**  | **6**  | **12** | **11** |
17891   *
17892   * @see https://developer.mozilla.org/docs/Web/CSS/border-image-repeat
17893   */
17894  borderImageRepeat?: BorderImageRepeatProperty | BorderImageRepeatProperty[];
17895  /**
17896   * 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.
17897   *
17898   * **Syntax**: `<number-percentage>{1,4} && fill?`
17899   *
17900   * **Initial value**: `100%`
17901   *
17902   * | Chrome | Firefox | Safari |  Edge  |   IE   |
17903   * | :----: | :-----: | :----: | :----: | :----: |
17904   * | **15** | **15**  | **6**  | **12** | **11** |
17905   *
17906   * @see https://developer.mozilla.org/docs/Web/CSS/border-image-slice
17907   */
17908  borderImageSlice?: BorderImageSliceProperty | BorderImageSliceProperty[];
17909  /**
17910   * The **`border-image-source`** CSS property sets the source image used to create an element's border image.
17911   *
17912   * **Syntax**: `none | <image>`
17913   *
17914   * **Initial value**: `none`
17915   *
17916   * | Chrome | Firefox | Safari |  Edge  |   IE   |
17917   * | :----: | :-----: | :----: | :----: | :----: |
17918   * | **15** | **15**  | **6**  | **12** | **11** |
17919   *
17920   * @see https://developer.mozilla.org/docs/Web/CSS/border-image-source
17921   */
17922  borderImageSource?: BorderImageSourceProperty | BorderImageSourceProperty[];
17923  /**
17924   * The **`border-image-width`** CSS property sets the width of an element's border image.
17925   *
17926   * **Syntax**: `[ <length-percentage> | <number> | auto ]{1,4}`
17927   *
17928   * **Initial value**: `1`
17929   *
17930   * | Chrome | Firefox | Safari |  Edge  |   IE   |
17931   * | :----: | :-----: | :----: | :----: | :----: |
17932   * | **15** | **13**  | **6**  | **12** | **11** |
17933   *
17934   * @see https://developer.mozilla.org/docs/Web/CSS/border-image-width
17935   */
17936  borderImageWidth?: BorderImageWidthProperty<TLength> | BorderImageWidthProperty<TLength>[];
17937  /**
17938   * 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`.
17939   *
17940   * **Syntax**: `<'border-top-color'>{1,2}`
17941   *
17942   * **Initial value**: `currentcolor`
17943   *
17944   * | Chrome | Firefox | Safari |  Edge  | IE  |
17945   * | :----: | :-----: | :----: | :----: | :-: |
17946   * | **69** | **66**  |   No   | **79** | No  |
17947   *
17948   * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-color
17949   */
17950  borderInlineColor?: BorderInlineColorProperty | BorderInlineColorProperty[];
17951  /**
17952   * 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`.
17953   *
17954   * **Syntax**: `<'border-top-color'>`
17955   *
17956   * **Initial value**: `currentcolor`
17957   *
17958   * | Chrome |           Firefox           |  Safari  |  Edge  | IE  |
17959   * | :----: | :-------------------------: | :------: | :----: | :-: |
17960   * | **69** |           **41**            | **12.1** | **79** | No  |
17961   * |        | 3 _(-moz-border-end-color)_ |          |        |     |
17962   *
17963   * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-end-color
17964   */
17965  borderInlineEndColor?: BorderInlineEndColorProperty | BorderInlineEndColorProperty[];
17966  /**
17967   * 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`.
17968   *
17969   * **Syntax**: `<'border-top-style'>`
17970   *
17971   * **Initial value**: `none`
17972   *
17973   * | Chrome |           Firefox           |  Safari  |  Edge  | IE  |
17974   * | :----: | :-------------------------: | :------: | :----: | :-: |
17975   * | **69** |           **41**            | **12.1** | **79** | No  |
17976   * |        | 3 _(-moz-border-end-style)_ |          |        |     |
17977   *
17978   * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-end-style
17979   */
17980  borderInlineEndStyle?: BorderInlineEndStyleProperty | BorderInlineEndStyleProperty[];
17981  /**
17982   * 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`.
17983   *
17984   * **Syntax**: `<'border-top-width'>`
17985   *
17986   * **Initial value**: `medium`
17987   *
17988   * | Chrome |           Firefox           |  Safari  |  Edge  | IE  |
17989   * | :----: | :-------------------------: | :------: | :----: | :-: |
17990   * | **69** |           **41**            | **12.1** | **79** | No  |
17991   * |        | 3 _(-moz-border-end-width)_ |          |        |     |
17992   *
17993   * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-end-width
17994   */
17995  borderInlineEndWidth?: BorderInlineEndWidthProperty<TLength> | BorderInlineEndWidthProperty<TLength>[];
17996  /**
17997   * 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`.
17998   *
17999   * **Syntax**: `<'border-top-color'>`
18000   *
18001   * **Initial value**: `currentcolor`
18002   *
18003   * | Chrome |            Firefox            |  Safari  |  Edge  | IE  |
18004   * | :----: | :---------------------------: | :------: | :----: | :-: |
18005   * | **69** |            **41**             | **12.1** | **79** | No  |
18006   * |        | 3 _(-moz-border-start-color)_ |          |        |     |
18007   *
18008   * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-start-color
18009   */
18010  borderInlineStartColor?: BorderInlineStartColorProperty | BorderInlineStartColorProperty[];
18011  /**
18012   * 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`.
18013   *
18014   * **Syntax**: `<'border-top-style'>`
18015   *
18016   * **Initial value**: `none`
18017   *
18018   * | Chrome |            Firefox            |  Safari  |  Edge  | IE  |
18019   * | :----: | :---------------------------: | :------: | :----: | :-: |
18020   * | **69** |            **41**             | **12.1** | **79** | No  |
18021   * |        | 3 _(-moz-border-start-style)_ |          |        |     |
18022   *
18023   * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-start-style
18024   */
18025  borderInlineStartStyle?: BorderInlineStartStyleProperty | BorderInlineStartStyleProperty[];
18026  /**
18027   * 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`.
18028   *
18029   * **Syntax**: `<'border-top-width'>`
18030   *
18031   * **Initial value**: `medium`
18032   *
18033   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
18034   * | :----: | :-----: | :------: | :----: | :-: |
18035   * | **69** | **41**  | **12.1** | **79** | No  |
18036   *
18037   * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-start-width
18038   */
18039  borderInlineStartWidth?: BorderInlineStartWidthProperty<TLength> | BorderInlineStartWidthProperty<TLength>[];
18040  /**
18041   * 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`.
18042   *
18043   * **Syntax**: `<'border-top-style'>`
18044   *
18045   * **Initial value**: `none`
18046   *
18047   * | Chrome | Firefox | Safari |  Edge  | IE  |
18048   * | :----: | :-----: | :----: | :----: | :-: |
18049   * | **69** | **66**  |   No   | **79** | No  |
18050   *
18051   * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-style
18052   */
18053  borderInlineStyle?: BorderInlineStyleProperty | BorderInlineStyleProperty[];
18054  /**
18055   * 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`.
18056   *
18057   * **Syntax**: `<'border-top-width'>`
18058   *
18059   * **Initial value**: `medium`
18060   *
18061   * | Chrome | Firefox | Safari |  Edge  | IE  |
18062   * | :----: | :-----: | :----: | :----: | :-: |
18063   * | **69** | **66**  |   No   | **79** | No  |
18064   *
18065   * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-width
18066   */
18067  borderInlineWidth?: BorderInlineWidthProperty<TLength> | BorderInlineWidthProperty<TLength>[];
18068  /**
18069   * 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`.
18070   *
18071   * **Syntax**: `<color>`
18072   *
18073   * **Initial value**: `currentcolor`
18074   *
18075   * | Chrome | Firefox | Safari |  Edge  |  IE   |
18076   * | :----: | :-----: | :----: | :----: | :---: |
18077   * | **1**  |  **1**  | **1**  | **12** | **4** |
18078   *
18079   * @see https://developer.mozilla.org/docs/Web/CSS/border-left-color
18080   */
18081  borderLeftColor?: BorderLeftColorProperty | BorderLeftColorProperty[];
18082  /**
18083   * The **`border-left-style`** CSS property sets the line style of an element's left `border`.
18084   *
18085   * **Syntax**: `<line-style>`
18086   *
18087   * **Initial value**: `none`
18088   *
18089   * | Chrome | Firefox | Safari |  Edge  |   IE    |
18090   * | :----: | :-----: | :----: | :----: | :-----: |
18091   * | **1**  |  **1**  | **1**  | **12** | **5.5** |
18092   *
18093   * @see https://developer.mozilla.org/docs/Web/CSS/border-left-style
18094   */
18095  borderLeftStyle?: BorderLeftStyleProperty | BorderLeftStyleProperty[];
18096  /**
18097   * The **`border-left-width`** CSS property sets the width of the left border of an element.
18098   *
18099   * **Syntax**: `<line-width>`
18100   *
18101   * **Initial value**: `medium`
18102   *
18103   * | Chrome | Firefox | Safari |  Edge  |  IE   |
18104   * | :----: | :-----: | :----: | :----: | :---: |
18105   * | **1**  |  **1**  | **1**  | **12** | **4** |
18106   *
18107   * @see https://developer.mozilla.org/docs/Web/CSS/border-left-width
18108   */
18109  borderLeftWidth?: BorderLeftWidthProperty<TLength> | BorderLeftWidthProperty<TLength>[];
18110  /**
18111   * 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`.
18112   *
18113   * **Syntax**: `<color>`
18114   *
18115   * **Initial value**: `currentcolor`
18116   *
18117   * | Chrome | Firefox | Safari |  Edge  |  IE   |
18118   * | :----: | :-----: | :----: | :----: | :---: |
18119   * | **1**  |  **1**  | **1**  | **12** | **4** |
18120   *
18121   * @see https://developer.mozilla.org/docs/Web/CSS/border-right-color
18122   */
18123  borderRightColor?: BorderRightColorProperty | BorderRightColorProperty[];
18124  /**
18125   * The **`border-right-style`** CSS property sets the line style of an element's right `border`.
18126   *
18127   * **Syntax**: `<line-style>`
18128   *
18129   * **Initial value**: `none`
18130   *
18131   * | Chrome | Firefox | Safari |  Edge  |   IE    |
18132   * | :----: | :-----: | :----: | :----: | :-----: |
18133   * | **1**  |  **1**  | **1**  | **12** | **5.5** |
18134   *
18135   * @see https://developer.mozilla.org/docs/Web/CSS/border-right-style
18136   */
18137  borderRightStyle?: BorderRightStyleProperty | BorderRightStyleProperty[];
18138  /**
18139   * The **`border-right-width`** CSS property sets the width of the right border of an element.
18140   *
18141   * **Syntax**: `<line-width>`
18142   *
18143   * **Initial value**: `medium`
18144   *
18145   * | Chrome | Firefox | Safari |  Edge  |  IE   |
18146   * | :----: | :-----: | :----: | :----: | :---: |
18147   * | **1**  |  **1**  | **1**  | **12** | **4** |
18148   *
18149   * @see https://developer.mozilla.org/docs/Web/CSS/border-right-width
18150   */
18151  borderRightWidth?: BorderRightWidthProperty<TLength> | BorderRightWidthProperty<TLength>[];
18152  /**
18153   * The **`border-spacing`** CSS property sets the distance between the borders of adjacent `<table>` cells. This property applies only when `border-collapse` is `separate`.
18154   *
18155   * **Syntax**: `<length> <length>?`
18156   *
18157   * **Initial value**: `0`
18158   *
18159   * | Chrome | Firefox | Safari |  Edge  |  IE   |
18160   * | :----: | :-----: | :----: | :----: | :---: |
18161   * | **1**  |  **1**  | **1**  | **12** | **8** |
18162   *
18163   * @see https://developer.mozilla.org/docs/Web/CSS/border-spacing
18164   */
18165  borderSpacing?: BorderSpacingProperty<TLength> | BorderSpacingProperty<TLength>[];
18166  /**
18167   * 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`.
18168   *
18169   * **Syntax**: `<length-percentage>{1,2}`
18170   *
18171   * **Initial value**: `0`
18172   *
18173   * | Chrome | Firefox | Safari | Edge | IE  |
18174   * | :----: | :-----: | :----: | :--: | :-: |
18175   * |   No   | **66**  |   No   |  No  | No  |
18176   *
18177   * @see https://developer.mozilla.org/docs/Web/CSS/border-start-end-radius
18178   */
18179  borderStartEndRadius?: BorderStartEndRadiusProperty<TLength> | BorderStartEndRadiusProperty<TLength>[];
18180  /**
18181   * 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`.
18182   *
18183   * **Syntax**: `<length-percentage>{1,2}`
18184   *
18185   * **Initial value**: `0`
18186   *
18187   * | Chrome | Firefox | Safari | Edge | IE  |
18188   * | :----: | :-----: | :----: | :--: | :-: |
18189   * |   No   | **66**  |   No   |  No  | No  |
18190   *
18191   * @see https://developer.mozilla.org/docs/Web/CSS/border-start-start-radius
18192   */
18193  borderStartStartRadius?: BorderStartStartRadiusProperty<TLength> | BorderStartStartRadiusProperty<TLength>[];
18194  /**
18195   * 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`.
18196   *
18197   * **Syntax**: `<color>`
18198   *
18199   * **Initial value**: `currentcolor`
18200   *
18201   * | Chrome | Firefox | Safari |  Edge  |  IE   |
18202   * | :----: | :-----: | :----: | :----: | :---: |
18203   * | **1**  |  **1**  | **1**  | **12** | **4** |
18204   *
18205   * @see https://developer.mozilla.org/docs/Web/CSS/border-top-color
18206   */
18207  borderTopColor?: BorderTopColorProperty | BorderTopColorProperty[];
18208  /**
18209   * The **`border-top-left-radius`** CSS property rounds the top-left corner of an element.
18210   *
18211   * **Syntax**: `<length-percentage>{1,2}`
18212   *
18213   * **Initial value**: `0`
18214   *
18215   * | Chrome  | Firefox | Safari  |  Edge  |  IE   |
18216   * | :-----: | :-----: | :-----: | :----: | :---: |
18217   * |  **4**  |  **4**  |  **5**  | **12** | **9** |
18218   * | 1 _-x-_ |         | 3 _-x-_ |        |       |
18219   *
18220   * @see https://developer.mozilla.org/docs/Web/CSS/border-top-left-radius
18221   */
18222  borderTopLeftRadius?: BorderTopLeftRadiusProperty<TLength> | BorderTopLeftRadiusProperty<TLength>[];
18223  /**
18224   * The **`border-top-right-radius`** CSS property rounds the top-right corner of an element.
18225   *
18226   * **Syntax**: `<length-percentage>{1,2}`
18227   *
18228   * **Initial value**: `0`
18229   *
18230   * | Chrome  | Firefox | Safari  |  Edge  |  IE   |
18231   * | :-----: | :-----: | :-----: | :----: | :---: |
18232   * |  **4**  |  **4**  |  **5**  | **12** | **9** |
18233   * | 1 _-x-_ |         | 3 _-x-_ |        |       |
18234   *
18235   * @see https://developer.mozilla.org/docs/Web/CSS/border-top-right-radius
18236   */
18237  borderTopRightRadius?: BorderTopRightRadiusProperty<TLength> | BorderTopRightRadiusProperty<TLength>[];
18238  /**
18239   * The **`border-top-style`** CSS property sets the line style of an element's top `border`.
18240   *
18241   * **Syntax**: `<line-style>`
18242   *
18243   * **Initial value**: `none`
18244   *
18245   * | Chrome | Firefox | Safari |  Edge  |   IE    |
18246   * | :----: | :-----: | :----: | :----: | :-----: |
18247   * | **1**  |  **1**  | **1**  | **12** | **5.5** |
18248   *
18249   * @see https://developer.mozilla.org/docs/Web/CSS/border-top-style
18250   */
18251  borderTopStyle?: BorderTopStyleProperty | BorderTopStyleProperty[];
18252  /**
18253   * The **`border-top-width`** CSS property sets the width of the top border of an element.
18254   *
18255   * **Syntax**: `<line-width>`
18256   *
18257   * **Initial value**: `medium`
18258   *
18259   * | Chrome | Firefox | Safari |  Edge  |  IE   |
18260   * | :----: | :-----: | :----: | :----: | :---: |
18261   * | **1**  |  **1**  | **1**  | **12** | **4** |
18262   *
18263   * @see https://developer.mozilla.org/docs/Web/CSS/border-top-width
18264   */
18265  borderTopWidth?: BorderTopWidthProperty<TLength> | BorderTopWidthProperty<TLength>[];
18266  /**
18267   * The **`bottom`** CSS property participates in specifying the vertical position of a _positioned element_. It has no effect on non-positioned elements.
18268   *
18269   * **Syntax**: `<length> | <percentage> | auto`
18270   *
18271   * **Initial value**: `auto`
18272   *
18273   * | Chrome | Firefox | Safari |  Edge  |  IE   |
18274   * | :----: | :-----: | :----: | :----: | :---: |
18275   * | **1**  |  **1**  | **1**  | **12** | **5** |
18276   *
18277   * @see https://developer.mozilla.org/docs/Web/CSS/bottom
18278   */
18279  bottom?: BottomProperty<TLength> | BottomProperty<TLength>[];
18280  /**
18281   * The **`box-decoration-break`** CSS property specifies how an element's fragments should be rendered when broken across multiple lines, columns, or pages.
18282   *
18283   * **Syntax**: `slice | clone`
18284   *
18285   * **Initial value**: `slice`
18286   *
18287   * |    Chrome    | Firefox |    Safari     |     Edge     | IE  |
18288   * | :----------: | :-----: | :-----------: | :----------: | :-: |
18289   * | **22** _-x-_ | **32**  | **6.1** _-x-_ | **79** _-x-_ | No  |
18290   *
18291   * @see https://developer.mozilla.org/docs/Web/CSS/box-decoration-break
18292   */
18293  boxDecorationBreak?: BoxDecorationBreakProperty | BoxDecorationBreakProperty[];
18294  /**
18295   * 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 radii, and color.
18296   *
18297   * **Syntax**: `none | <shadow>#`
18298   *
18299   * **Initial value**: `none`
18300   *
18301   * | Chrome  | Firefox | Safari  |  Edge  |  IE   |
18302   * | :-----: | :-----: | :-----: | :----: | :---: |
18303   * | **10**  |  **4**  | **5.1** | **12** | **9** |
18304   * | 1 _-x-_ |         | 3 _-x-_ |        |       |
18305   *
18306   * @see https://developer.mozilla.org/docs/Web/CSS/box-shadow
18307   */
18308  boxShadow?: BoxShadowProperty | BoxShadowProperty[];
18309  /**
18310   * The **`box-sizing`** CSS property defines how the user agent should calculate the total width and height of an element.
18311   *
18312   * **Syntax**: `content-box | border-box`
18313   *
18314   * **Initial value**: `content-box`
18315   *
18316   * | Chrome  | Firefox | Safari  |  Edge  |  IE   |
18317   * | :-----: | :-----: | :-----: | :----: | :---: |
18318   * | **10**  | **29**  | **5.1** | **12** | **8** |
18319   * | 1 _-x-_ | 1 _-x-_ | 3 _-x-_ |        |       |
18320   *
18321   * @see https://developer.mozilla.org/docs/Web/CSS/box-sizing
18322   */
18323  boxSizing?: BoxSizingProperty | BoxSizingProperty[];
18324  /**
18325   * The **`break-after`** CSS property defines how page, column, or region breaks should behave after a generated box. If there is no generated box, the property is ignored.
18326   *
18327   * **Syntax**: `auto | avoid | always | all | avoid-page | page | left | right | recto | verso | avoid-column | column | avoid-region | region`
18328   *
18329   * **Initial value**: `auto`
18330   *
18331   * ---
18332   *
18333   * _Supported in Multi-column Layout_
18334   *
18335   * | Chrome | Firefox | Safari |  Edge  |   IE   |
18336   * | :----: | :-----: | :----: | :----: | :----: |
18337   * | **50** |   No    |   No   | **12** | **10** |
18338   *
18339   * ---
18340   *
18341   * _Supported in Paged Media_
18342   *
18343   * | Chrome | Firefox | Safari |  Edge  |   IE   |
18344   * | :----: | :-----: | :----: | :----: | :----: |
18345   * | **50** | **65**  | **10** | **12** | **10** |
18346   *
18347   * ---
18348   *
18349   * _Supported in CSS Regions_
18350   *
18351   * | Chrome | Firefox | Safari | Edge | IE  |
18352   * | :----: | :-----: | :----: | :--: | :-: |
18353   * |   No   |   No    |   No   |  No  | No  |
18354   *
18355   * ---
18356   *
18357   * @see https://developer.mozilla.org/docs/Web/CSS/break-after
18358   */
18359  breakAfter?: BreakAfterProperty | BreakAfterProperty[];
18360  /**
18361   * 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.
18362   *
18363   * **Syntax**: `auto | avoid | always | all | avoid-page | page | left | right | recto | verso | avoid-column | column | avoid-region | region`
18364   *
18365   * **Initial value**: `auto`
18366   *
18367   * ---
18368   *
18369   * _Supported in Multi-column Layout_
18370   *
18371   * | Chrome | Firefox | Safari |  Edge  |   IE   |
18372   * | :----: | :-----: | :----: | :----: | :----: |
18373   * | **50** | **65**  |   No   | **12** | **10** |
18374   *
18375   * ---
18376   *
18377   * _Supported in Paged Media_
18378   *
18379   * | Chrome | Firefox | Safari |  Edge  |   IE   |
18380   * | :----: | :-----: | :----: | :----: | :----: |
18381   * | **50** | **65**  | **10** | **12** | **10** |
18382   *
18383   * ---
18384   *
18385   * _Supported in CSS Regions_
18386   *
18387   * | Chrome | Firefox | Safari | Edge | IE  |
18388   * | :----: | :-----: | :----: | :--: | :-: |
18389   * |   No   |   No    |   No   |  No  | No  |
18390   *
18391   * ---
18392   *
18393   * @see https://developer.mozilla.org/docs/Web/CSS/break-before
18394   */
18395  breakBefore?: BreakBeforeProperty | BreakBeforeProperty[];
18396  /**
18397   * The **`break-inside`** CSS property defines how page, column, or region breaks should behave inside a generated box. If there is no generated box, the property is ignored.
18398   *
18399   * **Syntax**: `auto | avoid | avoid-page | avoid-column | avoid-region`
18400   *
18401   * **Initial value**: `auto`
18402   *
18403   * ---
18404   *
18405   * _Supported in Multi-column Layout_
18406   *
18407   * | Chrome | Firefox | Safari |  Edge  |   IE   |
18408   * | :----: | :-----: | :----: | :----: | :----: |
18409   * | **50** | **65**  | **10** | **12** | **10** |
18410   *
18411   * ---
18412   *
18413   * _Supported in Paged Media_
18414   *
18415   * | Chrome | Firefox | Safari |  Edge  |   IE   |
18416   * | :----: | :-----: | :----: | :----: | :----: |
18417   * | **50** | **65**  | **10** | **12** | **10** |
18418   *
18419   * ---
18420   *
18421   * _Supported in CSS Regions_
18422   *
18423   * | Chrome | Firefox | Safari | Edge | IE  |
18424   * | :----: | :-----: | :----: | :--: | :-: |
18425   * |   No   |   No    |   No   |  No  | No  |
18426   *
18427   * ---
18428   *
18429   * @see https://developer.mozilla.org/docs/Web/CSS/break-inside
18430   */
18431  breakInside?: BreakInsideProperty | BreakInsideProperty[];
18432  /**
18433   * 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.
18434   *
18435   * **Syntax**: `top | bottom | block-start | block-end | inline-start | inline-end`
18436   *
18437   * **Initial value**: `top`
18438   *
18439   * | Chrome | Firefox | Safari |  Edge  |  IE   |
18440   * | :----: | :-----: | :----: | :----: | :---: |
18441   * | **1**  |  **1**  | **1**  | **12** | **8** |
18442   *
18443   * @see https://developer.mozilla.org/docs/Web/CSS/caption-side
18444   */
18445  captionSide?: CaptionSideProperty | CaptionSideProperty[];
18446  /**
18447   * The **`caret-color`** CSS property sets the color of the insertion caret, the visible marker where the next character typed will be inserted. 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.
18448   *
18449   * **Syntax**: `auto | <color>`
18450   *
18451   * **Initial value**: `auto`
18452   *
18453   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
18454   * | :----: | :-----: | :------: | :----: | :-: |
18455   * | **57** | **53**  | **11.1** | **79** | No  |
18456   *
18457   * @see https://developer.mozilla.org/docs/Web/CSS/caret-color
18458   */
18459  caretColor?: CaretColorProperty | CaretColorProperty[];
18460  /**
18461   * 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.
18462   *
18463   * **Syntax**: `none | left | right | both | inline-start | inline-end`
18464   *
18465   * **Initial value**: `none`
18466   *
18467   * | Chrome | Firefox | Safari |  Edge  |  IE   |
18468   * | :----: | :-----: | :----: | :----: | :---: |
18469   * | **1**  |  **1**  | **1**  | **12** | **4** |
18470   *
18471   * @see https://developer.mozilla.org/docs/Web/CSS/clear
18472   */
18473  clear?: ClearProperty | ClearProperty[];
18474  /**
18475   * 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.
18476   *
18477   * **Syntax**: `<clip-source> | [ <basic-shape> || <geometry-box> ] | none`
18478   *
18479   * **Initial value**: `none`
18480   *
18481   * |  Chrome  | Firefox |  Safari   |  Edge  |   IE   |
18482   * | :------: | :-----: | :-------: | :----: | :----: |
18483   * |  **55**  | **3.5** |  **9.1**  | **12** | **10** |
18484   * | 23 _-x-_ |         | 6.1 _-x-_ |        |        |
18485   *
18486   * @see https://developer.mozilla.org/docs/Web/CSS/clip-path
18487   */
18488  clipPath?: ClipPathProperty | ClipPathProperty[];
18489  /**
18490   * 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`.
18491   *
18492   * **Syntax**: `<color>`
18493   *
18494   * **Initial value**: Varies from one browser to another
18495   *
18496   * | Chrome | Firefox | Safari |  Edge  |  IE   |
18497   * | :----: | :-----: | :----: | :----: | :---: |
18498   * | **1**  |  **1**  | **1**  | **12** | **3** |
18499   *
18500   * @see https://developer.mozilla.org/docs/Web/CSS/color
18501   */
18502  color?: ColorProperty | ColorProperty[];
18503  /**
18504   * 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.
18505   *
18506   * **Syntax**: `economy | exact`
18507   *
18508   * **Initial value**: `economy`
18509   *
18510   * |                Chrome                 | Firefox |                Safari                |                 Edge                  | IE  |
18511   * | :-----------------------------------: | :-----: | :----------------------------------: | :-----------------------------------: | :-: |
18512   * | **49** _(-webkit-print-color-adjust)_ | **48**  | **6** _(-webkit-print-color-adjust)_ | **79** _(-webkit-print-color-adjust)_ | No  |
18513   *
18514   * @see https://developer.mozilla.org/docs/Web/CSS/color-adjust
18515   */
18516  colorAdjust?: ColorAdjustProperty | ColorAdjustProperty[];
18517  /**
18518   * The **`column-count`** CSS property breaks an element's content into the specified number of columns.
18519   *
18520   * **Syntax**: `<integer> | auto`
18521   *
18522   * **Initial value**: `auto`
18523   *
18524   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
18525   * | :-----: | :-----: | :-----: | :----: | :----: |
18526   * | **50**  | **52**  |  **9**  | **12** | **10** |
18527   * | 1 _-x-_ |         | 3 _-x-_ |        |        |
18528   *
18529   * @see https://developer.mozilla.org/docs/Web/CSS/column-count
18530   */
18531  columnCount?: ColumnCountProperty | ColumnCountProperty[];
18532  /**
18533   * The **`column-fill`** CSS property controls how an element's contents are balanced when broken into columns.
18534   *
18535   * **Syntax**: `auto | balance | balance-all`
18536   *
18537   * **Initial value**: `balance`
18538   *
18539   * | Chrome | Firefox | Safari  |  Edge  |   IE   |
18540   * | :----: | :-----: | :-----: | :----: | :----: |
18541   * | **50** | **52**  |  **9**  | **12** | **10** |
18542   * |        |         | 8 _-x-_ |        |        |
18543   *
18544   * @see https://developer.mozilla.org/docs/Web/CSS/column-fill
18545   */
18546  columnFill?: ColumnFillProperty | ColumnFillProperty[];
18547  /**
18548   * The **`column-gap`** CSS property sets the size of the gap (gutter) between an element's columns.
18549   *
18550   * **Syntax**: `normal | <length-percentage>`
18551   *
18552   * **Initial value**: `normal`
18553   *
18554   * ---
18555   *
18556   * _Supported in Flex Layout_
18557   *
18558   * | Chrome | Firefox |   Safari    | Edge | IE  |
18559   * | :----: | :-----: | :---------: | :--: | :-: |
18560   * |   No   | **63**  | **3** _-x-_ |  No  | No  |
18561   *
18562   * ---
18563   *
18564   * _Supported in Grid Layout_
18565   *
18566   * |     Chrome      |     Firefox     |        Safari         |  Edge  | IE  |
18567   * | :-------------: | :-------------: | :-------------------: | :----: | :-: |
18568   * |     **66**      |     **61**      | **10.1** _(grid-gap)_ | **16** | No  |
18569   * | 57 _(grid-gap)_ | 52 _(grid-gap)_ |                       |        |     |
18570   *
18571   * ---
18572   *
18573   * _Supported in Multi-column Layout_
18574   *
18575   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
18576   * | :-----: | :-----: | :-----: | :----: | :----: |
18577   * | **50**  | **52**  | **10**  | **12** | **10** |
18578   * | 1 _-x-_ |         | 3 _-x-_ |        |        |
18579   *
18580   * ---
18581   *
18582   * @see https://developer.mozilla.org/docs/Web/CSS/column-gap
18583   */
18584  columnGap?: ColumnGapProperty<TLength> | ColumnGapProperty<TLength>[];
18585  /**
18586   * The **`column-rule-color`** CSS property sets the color of the rule (line) drawn between columns in a multi-column layout.
18587   *
18588   * **Syntax**: `<color>`
18589   *
18590   * **Initial value**: `currentcolor`
18591   *
18592   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
18593   * | :-----: | :-----: | :-----: | :----: | :----: |
18594   * | **50**  | **52**  |  **9**  | **12** | **10** |
18595   * | 1 _-x-_ |         | 3 _-x-_ |        |        |
18596   *
18597   * @see https://developer.mozilla.org/docs/Web/CSS/column-rule-color
18598   */
18599  columnRuleColor?: ColumnRuleColorProperty | ColumnRuleColorProperty[];
18600  /**
18601   * The **`column-rule-style`** CSS property sets the style of the line drawn between columns in a multi-column layout.
18602   *
18603   * **Syntax**: `<'border-style'>`
18604   *
18605   * **Initial value**: `none`
18606   *
18607   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
18608   * | :-----: | :-----: | :-----: | :----: | :----: |
18609   * | **50**  | **52**  |  **9**  | **12** | **10** |
18610   * | 1 _-x-_ |         | 3 _-x-_ |        |        |
18611   *
18612   * @see https://developer.mozilla.org/docs/Web/CSS/column-rule-style
18613   */
18614  columnRuleStyle?: ColumnRuleStyleProperty | ColumnRuleStyleProperty[];
18615  /**
18616   * The **`column-rule-width`** CSS property sets the width of the rule (line) drawn between columns in a multi-column layout.
18617   *
18618   * **Syntax**: `<'border-width'>`
18619   *
18620   * **Initial value**: `medium`
18621   *
18622   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
18623   * | :-----: | :-----: | :-----: | :----: | :----: |
18624   * | **50**  | **52**  |  **9**  | **12** | **10** |
18625   * | 1 _-x-_ |         | 3 _-x-_ |        |        |
18626   *
18627   * @see https://developer.mozilla.org/docs/Web/CSS/column-rule-width
18628   */
18629  columnRuleWidth?: ColumnRuleWidthProperty<TLength> | ColumnRuleWidthProperty<TLength>[];
18630  /**
18631   * The **`column-span`** CSS property makes it possible for an element to span across all columns when its value is set to `all`.
18632   *
18633   * **Syntax**: `none | all`
18634   *
18635   * **Initial value**: `none`
18636   *
18637   * | Chrome  | Firefox |  Safari   |  Edge  |   IE   |
18638   * | :-----: | :-----: | :-------: | :----: | :----: |
18639   * | **50**  | **71**  |   **9**   | **12** | **10** |
18640   * | 6 _-x-_ |         | 5.1 _-x-_ |        |        |
18641   *
18642   * @see https://developer.mozilla.org/docs/Web/CSS/column-span
18643   */
18644  columnSpan?: ColumnSpanProperty | ColumnSpanProperty[];
18645  /**
18646   * The **`column-width`** CSS property specifies 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.
18647   *
18648   * **Syntax**: `<length> | auto`
18649   *
18650   * **Initial value**: `auto`
18651   *
18652   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
18653   * | :-----: | :-----: | :-----: | :----: | :----: |
18654   * | **50**  | **50**  |  **9**  | **12** | **10** |
18655   * | 1 _-x-_ |         | 3 _-x-_ |        |        |
18656   *
18657   * @see https://developer.mozilla.org/docs/Web/CSS/column-width
18658   */
18659  columnWidth?: ColumnWidthProperty<TLength> | ColumnWidthProperty<TLength>[];
18660  /**
18661   * 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.
18662   *
18663   * **Syntax**: `none | strict | content | [ size || layout || style || paint ]`
18664   *
18665   * **Initial value**: `none`
18666   *
18667   * | Chrome | Firefox | Safari |  Edge  | IE  |
18668   * | :----: | :-----: | :----: | :----: | :-: |
18669   * | **52** | **69**  |   No   | **79** | No  |
18670   *
18671   * @see https://developer.mozilla.org/docs/Web/CSS/contain
18672   */
18673  contain?: ContainProperty | ContainProperty[];
18674  /**
18675   * The **`content`** CSS property replaces an element with a generated value. Objects inserted using the `content` property are _anonymous replaced elements._
18676   *
18677   * **Syntax**: `normal | none | [ <content-replacement> | <content-list> ] [/ <string> ]?`
18678   *
18679   * **Initial value**: `normal`
18680   *
18681   * | Chrome | Firefox | Safari |  Edge  |  IE   |
18682   * | :----: | :-----: | :----: | :----: | :---: |
18683   * | **1**  |  **1**  | **1**  | **12** | **8** |
18684   *
18685   * @see https://developer.mozilla.org/docs/Web/CSS/content
18686   */
18687  content?: ContentProperty | ContentProperty[];
18688  /**
18689   * The **`counter-increment`** CSS property increases or decreases the value of a CSS counter by a given value.
18690   *
18691   * **Syntax**: `[ <custom-ident> <integer>? ]+ | none`
18692   *
18693   * **Initial value**: `none`
18694   *
18695   * | Chrome | Firefox | Safari |  Edge  |  IE   |
18696   * | :----: | :-----: | :----: | :----: | :---: |
18697   * | **2**  |  **1**  | **3**  | **12** | **8** |
18698   *
18699   * @see https://developer.mozilla.org/docs/Web/CSS/counter-increment
18700   */
18701  counterIncrement?: CounterIncrementProperty | CounterIncrementProperty[];
18702  /**
18703   * The **`counter-reset`** CSS property resets a CSS counter to a given value.
18704   *
18705   * **Syntax**: `[ <custom-ident> <integer>? ]+ | none`
18706   *
18707   * **Initial value**: `none`
18708   *
18709   * | Chrome | Firefox | Safari |  Edge  |  IE   |
18710   * | :----: | :-----: | :----: | :----: | :---: |
18711   * | **2**  |  **1**  | **3**  | **12** | **8** |
18712   *
18713   * @see https://developer.mozilla.org/docs/Web/CSS/counter-reset
18714   */
18715  counterReset?: CounterResetProperty | CounterResetProperty[];
18716  /**
18717   * 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.
18718   *
18719   * **Syntax**: `[ <custom-ident> <integer>? ]+ | none`
18720   *
18721   * **Initial value**: `none`
18722   *
18723   * | Chrome | Firefox | Safari | Edge | IE  |
18724   * | :----: | :-----: | :----: | :--: | :-: |
18725   * |   No   | **68**  |   No   |  No  | No  |
18726   *
18727   * @see https://developer.mozilla.org/docs/Web/CSS/counter-set
18728   */
18729  counterSet?: CounterSetProperty | CounterSetProperty[];
18730  /**
18731   * The **`cursor`** CSS property sets mouse cursor to display when the mouse pointer is over an element.
18732   *
18733   * **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 ] ]`
18734   *
18735   * **Initial value**: `auto`
18736   *
18737   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
18738   * | :----: | :-----: | :-----: | :----: | :---: |
18739   * | **1**  |  **1**  | **1.2** | **12** | **4** |
18740   *
18741   * @see https://developer.mozilla.org/docs/Web/CSS/cursor
18742   */
18743  cursor?: CursorProperty | CursorProperty[];
18744  /**
18745   * 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).
18746   *
18747   * **Syntax**: `ltr | rtl`
18748   *
18749   * **Initial value**: `ltr`
18750   *
18751   * | Chrome | Firefox | Safari |  Edge  |   IE    |
18752   * | :----: | :-----: | :----: | :----: | :-----: |
18753   * | **2**  |  **1**  | **1**  | **12** | **5.5** |
18754   *
18755   * @see https://developer.mozilla.org/docs/Web/CSS/direction
18756   */
18757  direction?: DirectionProperty | DirectionProperty[];
18758  /**
18759   * The **`display`** CSS property defines the _display type_ of an element, which consists of the two basic qualities of how an element generates boxes — the **outer display type** defining how the box participates in flow layout, and the **inner display type** defining how the children of the box are laid out.
18760   *
18761   * **Syntax**: `[ <display-outside> || <display-inside> ] | <display-listitem> | <display-internal> | <display-box> | <display-legacy>`
18762   *
18763   * **Initial value**: `inline`
18764   *
18765   * | Chrome | Firefox | Safari |  Edge  |  IE   |
18766   * | :----: | :-----: | :----: | :----: | :---: |
18767   * | **1**  |  **1**  | **1**  | **12** | **4** |
18768   *
18769   * @see https://developer.mozilla.org/docs/Web/CSS/display
18770   */
18771  display?: DisplayProperty | DisplayProperty[];
18772  /**
18773   * The **`empty-cells`** CSS property sets whether borders and backgrounds appear around `<table>` cells that have no visible content.
18774   *
18775   * **Syntax**: `show | hide`
18776   *
18777   * **Initial value**: `show`
18778   *
18779   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
18780   * | :----: | :-----: | :-----: | :----: | :---: |
18781   * | **1**  |  **1**  | **1.2** | **12** | **8** |
18782   *
18783   * @see https://developer.mozilla.org/docs/Web/CSS/empty-cells
18784   */
18785  emptyCells?: EmptyCellsProperty | EmptyCellsProperty[];
18786  /**
18787   * 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.
18788   *
18789   * **Syntax**: `none | <filter-function-list>`
18790   *
18791   * **Initial value**: `none`
18792   *
18793   * |  Chrome  | Firefox | Safari  |  Edge  | IE  |
18794   * | :------: | :-----: | :-----: | :----: | :-: |
18795   * |  **53**  | **35**  | **9.1** | **12** | No  |
18796   * | 18 _-x-_ |         | 6 _-x-_ |        |     |
18797   *
18798   * @see https://developer.mozilla.org/docs/Web/CSS/filter
18799   */
18800  filter?: FilterProperty | FilterProperty[];
18801  /**
18802   * 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`.
18803   *
18804   * **Syntax**: `content | <'width'>`
18805   *
18806   * **Initial value**: `auto`
18807   *
18808   * |  Chrome  | Firefox | Safari  |  Edge  |   IE   |
18809   * | :------: | :-----: | :-----: | :----: | :----: |
18810   * |  **29**  | **22**  |  **9**  | **12** | **11** |
18811   * | 22 _-x-_ |         | 7 _-x-_ |        |        |
18812   *
18813   * @see https://developer.mozilla.org/docs/Web/CSS/flex-basis
18814   */
18815  flexBasis?: FlexBasisProperty<TLength> | FlexBasisProperty<TLength>[];
18816  /**
18817   * 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).
18818   *
18819   * **Syntax**: `row | row-reverse | column | column-reverse`
18820   *
18821   * **Initial value**: `row`
18822   *
18823   * |  Chrome  | Firefox | Safari  |  Edge  |    IE    |
18824   * | :------: | :-----: | :-----: | :----: | :------: |
18825   * |  **29**  | **20**  |  **9**  | **12** |  **11**  |
18826   * | 21 _-x-_ |         | 7 _-x-_ |        | 10 _-x-_ |
18827   *
18828   * @see https://developer.mozilla.org/docs/Web/CSS/flex-direction
18829   */
18830  flexDirection?: FlexDirectionProperty | FlexDirectionProperty[];
18831  /**
18832   * The **`flex-grow`** CSS property sets how much of the available space in the flex container should be assigned to that item (the flex grow factor). If all sibling items have the same flex grow factor, then all items will receive the same share of available space, otherwise it is distributed according to the ratio defined by the different flex grow factors.
18833   *
18834   * **Syntax**: `<number>`
18835   *
18836   * **Initial value**: `0`
18837   *
18838   * |  Chrome  | Firefox |  Safari   |  Edge  |            IE            |
18839   * | :------: | :-----: | :-------: | :----: | :----------------------: |
18840   * |  **29**  | **20**  |   **9**   | **12** |          **11**          |
18841   * | 22 _-x-_ |         | 6.1 _-x-_ |        | 10 _(-ms-flex-positive)_ |
18842   *
18843   * @see https://developer.mozilla.org/docs/Web/CSS/flex-grow
18844   */
18845  flexGrow?: GlobalsNumber | GlobalsNumber[];
18846  /**
18847   * The **`flex-shrink`** CSS property sets the flex shrink factor of a flex item. If the size of flex items is larger than the flex container, items shrink to fit according to `flex-shrink`.
18848   *
18849   * **Syntax**: `<number>`
18850   *
18851   * **Initial value**: `1`
18852   *
18853   * |  Chrome  | Firefox | Safari  |  Edge  |   IE   |
18854   * | :------: | :-----: | :-----: | :----: | :----: |
18855   * |  **29**  | **20**  |  **9**  | **12** | **10** |
18856   * | 22 _-x-_ |         | 8 _-x-_ |        |        |
18857   *
18858   * @see https://developer.mozilla.org/docs/Web/CSS/flex-shrink
18859   */
18860  flexShrink?: GlobalsNumber | GlobalsNumber[];
18861  /**
18862   * 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.
18863   *
18864   * **Syntax**: `nowrap | wrap | wrap-reverse`
18865   *
18866   * **Initial value**: `nowrap`
18867   *
18868   * |  Chrome  | Firefox |  Safari   |  Edge  |   IE   |
18869   * | :------: | :-----: | :-------: | :----: | :----: |
18870   * |  **29**  | **28**  |   **9**   | **12** | **11** |
18871   * | 21 _-x-_ |         | 6.1 _-x-_ |        |        |
18872   *
18873   * @see https://developer.mozilla.org/docs/Web/CSS/flex-wrap
18874   */
18875  flexWrap?: FlexWrapProperty | FlexWrapProperty[];
18876  /**
18877   * 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).
18878   *
18879   * **Syntax**: `left | right | none | inline-start | inline-end`
18880   *
18881   * **Initial value**: `none`
18882   *
18883   * | Chrome | Firefox | Safari |  Edge  |  IE   |
18884   * | :----: | :-----: | :----: | :----: | :---: |
18885   * | **1**  |  **1**  | **1**  | **12** | **4** |
18886   *
18887   * @see https://developer.mozilla.org/docs/Web/CSS/float
18888   */
18889  float?: FloatProperty | FloatProperty[];
18890  /**
18891   * 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.
18892   *
18893   * **Syntax**: `[ <family-name> | <generic-family> ]#`
18894   *
18895   * **Initial value**: depends on user agent
18896   *
18897   * | Chrome | Firefox | Safari |  Edge  |  IE   |
18898   * | :----: | :-----: | :----: | :----: | :---: |
18899   * | **1**  |  **1**  | **1**  | **12** | **3** |
18900   *
18901   * @see https://developer.mozilla.org/docs/Web/CSS/font-family
18902   */
18903  fontFamily?: FontFamilyProperty | FontFamilyProperty[];
18904  /**
18905   * The **`font-feature-settings`** CSS property controls advanced typographic features in OpenType fonts.
18906   *
18907   * **Syntax**: `normal | <feature-tag-value>#`
18908   *
18909   * **Initial value**: `normal`
18910   *
18911   * |  Chrome  | Firefox  | Safari  |  Edge  |   IE   |
18912   * | :------: | :------: | :-----: | :----: | :----: |
18913   * |  **48**  |  **34**  | **9.1** | **15** | **10** |
18914   * | 16 _-x-_ | 15 _-x-_ |         |        |        |
18915   *
18916   * @see https://developer.mozilla.org/docs/Web/CSS/font-feature-settings
18917   */
18918  fontFeatureSettings?: FontFeatureSettingsProperty | FontFeatureSettingsProperty[];
18919  /**
18920   * The **`font-kerning`** CSS property sets the use of the kerning information stored in a font.
18921   *
18922   * **Syntax**: `auto | normal | none`
18923   *
18924   * **Initial value**: `auto`
18925   *
18926   * | Chrome | Firefox | Safari  |  Edge  | IE  |
18927   * | :----: | :-----: | :-----: | :----: | :-: |
18928   * | **33** | **32**  |  **9**  | **79** | No  |
18929   * |        |         | 6 _-x-_ |        |     |
18930   *
18931   * @see https://developer.mozilla.org/docs/Web/CSS/font-kerning
18932   */
18933  fontKerning?: FontKerningProperty | FontKerningProperty[];
18934  /**
18935   * The **`font-language-override`** CSS property controls the use of language-specific glyphs in a typeface.
18936   *
18937   * **Syntax**: `normal | <string>`
18938   *
18939   * **Initial value**: `normal`
18940   *
18941   * | Chrome | Firefox | Safari | Edge | IE  |
18942   * | :----: | :-----: | :----: | :--: | :-: |
18943   * |   No   | **34**  |   No   |  No  | No  |
18944   * |        | 4 _-x-_ |        |      |     |
18945   *
18946   * @see https://developer.mozilla.org/docs/Web/CSS/font-language-override
18947   */
18948  fontLanguageOverride?: FontLanguageOverrideProperty | FontLanguageOverrideProperty[];
18949  /**
18950   * The **`font-optical-sizing`** CSS property sets whether text rendering is optimized for viewing at different sizes. This only works for fonts that have an optical size variation axis.
18951   *
18952   * **Syntax**: `auto | none`
18953   *
18954   * **Initial value**: `auto`
18955   *
18956   * | Chrome | Firefox | Safari |  Edge  | IE  |
18957   * | :----: | :-----: | :----: | :----: | :-: |
18958   * | **79** | **62**  | **11** | **17** | No  |
18959   *
18960   * @see https://developer.mozilla.org/docs/Web/CSS/font-optical-sizing
18961   */
18962  fontOpticalSizing?: FontOpticalSizingProperty | FontOpticalSizingProperty[];
18963  /**
18964   * The **`font-size`** CSS property sets the size of the font. This property is also used to compute the size of `em`, `ex`, and other relative `<length>` units.
18965   *
18966   * **Syntax**: `<absolute-size> | <relative-size> | <length-percentage>`
18967   *
18968   * **Initial value**: `medium`
18969   *
18970   * | Chrome | Firefox | Safari |  Edge  |   IE    |
18971   * | :----: | :-----: | :----: | :----: | :-----: |
18972   * | **1**  |  **1**  | **1**  | **12** | **5.5** |
18973   *
18974   * @see https://developer.mozilla.org/docs/Web/CSS/font-size
18975   */
18976  fontSize?: FontSizeProperty<TLength> | FontSizeProperty<TLength>[];
18977  /**
18978   * The **`font-size-adjust`** CSS property sets how the font size should be chosen based on the height of lowercase rather than capital letters.
18979   *
18980   * **Syntax**: `none | <number>`
18981   *
18982   * **Initial value**: `none`
18983   *
18984   * | Chrome | Firefox | Safari | Edge | IE  |
18985   * | :----: | :-----: | :----: | :--: | :-: |
18986   * |  n/a   |  **1**  |   No   | n/a  | No  |
18987   *
18988   * @see https://developer.mozilla.org/docs/Web/CSS/font-size-adjust
18989   */
18990  fontSizeAdjust?: FontSizeAdjustProperty | FontSizeAdjustProperty[];
18991  /**
18992   * The **`font-stretch`** CSS property selects a normal, condensed, or expanded face from a font.
18993   *
18994   * **Syntax**: `<font-stretch-absolute>`
18995   *
18996   * **Initial value**: `normal`
18997   *
18998   * | Chrome | Firefox | Safari |  Edge  |  IE   |
18999   * | :----: | :-----: | :----: | :----: | :---: |
19000   * | **60** |  **9**  | **11** | **12** | **9** |
19001   *
19002   * @see https://developer.mozilla.org/docs/Web/CSS/font-stretch
19003   */
19004  fontStretch?: FontStretchProperty | FontStretchProperty[];
19005  /**
19006   * The **`font-style`** CSS property sets whether a font should be styled with a normal, italic, or oblique face from its `font-family`.
19007   *
19008   * **Syntax**: `normal | italic | oblique <angle>?`
19009   *
19010   * **Initial value**: `normal`
19011   *
19012   * | Chrome | Firefox | Safari |  Edge  |  IE   |
19013   * | :----: | :-----: | :----: | :----: | :---: |
19014   * | **1**  |  **1**  | **1**  | **12** | **4** |
19015   *
19016   * @see https://developer.mozilla.org/docs/Web/CSS/font-style
19017   */
19018  fontStyle?: FontStyleProperty | FontStyleProperty[];
19019  /**
19020   * The **`font-synthesis`** CSS property controls which missing typefaces, bold or italic, may be synthesized by the browser.
19021   *
19022   * **Syntax**: `none | [ weight || style ]`
19023   *
19024   * **Initial value**: `weight style`
19025   *
19026   * | Chrome | Firefox | Safari | Edge | IE  |
19027   * | :----: | :-----: | :----: | :--: | :-: |
19028   * |   No   | **34**  | **9**  |  No  | No  |
19029   *
19030   * @see https://developer.mozilla.org/docs/Web/CSS/font-synthesis
19031   */
19032  fontSynthesis?: FontSynthesisProperty | FontSynthesisProperty[];
19033  /**
19034   * The **font-variant** CSS property is a shorthand for the longhand properties `font-variant-caps`, `font-variant-numeric`, `font-variant-alternates`, `font-variant-ligatures`, and `font-variant-east-asian`. You can also set the CSS Level 2 (Revision 1) values of `font-variant`, (that is, `normal` or `small-caps`), by using the `font` shorthand.
19035   *
19036   * **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 ]`
19037   *
19038   * **Initial value**: `normal`
19039   *
19040   * | Chrome | Firefox | Safari |  Edge  |  IE   |
19041   * | :----: | :-----: | :----: | :----: | :---: |
19042   * | **1**  |  **1**  | **1**  | **12** | **4** |
19043   *
19044   * @see https://developer.mozilla.org/docs/Web/CSS/font-variant
19045   */
19046  fontVariant?: FontVariantProperty | FontVariantProperty[];
19047  /**
19048   * The **`font-variant-caps`** CSS property controls the use of alternate glyphs for capital letters.
19049   *
19050   * **Syntax**: `normal | small-caps | all-small-caps | petite-caps | all-petite-caps | unicase | titling-caps`
19051   *
19052   * **Initial value**: `normal`
19053   *
19054   * | Chrome | Firefox | Safari |  Edge  | IE  |
19055   * | :----: | :-----: | :----: | :----: | :-: |
19056   * | **52** | **34**  |   No   | **79** | No  |
19057   *
19058   * @see https://developer.mozilla.org/docs/Web/CSS/font-variant-caps
19059   */
19060  fontVariantCaps?: FontVariantCapsProperty | FontVariantCapsProperty[];
19061  /**
19062   * The **`font-variant-east-asian`** CSS property controls the use of alternate glyphs for East Asian scripts, like Japanese and Chinese.
19063   *
19064   * **Syntax**: `normal | [ <east-asian-variant-values> || <east-asian-width-values> || ruby ]`
19065   *
19066   * **Initial value**: `normal`
19067   *
19068   * | Chrome | Firefox | Safari |  Edge  | IE  |
19069   * | :----: | :-----: | :----: | :----: | :-: |
19070   * | **63** | **34**  |   No   | **79** | No  |
19071   *
19072   * @see https://developer.mozilla.org/docs/Web/CSS/font-variant-east-asian
19073   */
19074  fontVariantEastAsian?: FontVariantEastAsianProperty | FontVariantEastAsianProperty[];
19075  /**
19076   * 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.
19077   *
19078   * **Syntax**: `normal | none | [ <common-lig-values> || <discretionary-lig-values> || <historical-lig-values> || <contextual-alt-values> ]`
19079   *
19080   * **Initial value**: `normal`
19081   *
19082   * |  Chrome  | Firefox | Safari  |  Edge  | IE  |
19083   * | :------: | :-----: | :-----: | :----: | :-: |
19084   * |  **34**  | **34**  | **9.1** | **79** | No  |
19085   * | 31 _-x-_ |         | 7 _-x-_ |        |     |
19086   *
19087   * @see https://developer.mozilla.org/docs/Web/CSS/font-variant-ligatures
19088   */
19089  fontVariantLigatures?: FontVariantLigaturesProperty | FontVariantLigaturesProperty[];
19090  /**
19091   * The **`font-variant-numeric`** CSS property controls the usage of alternate glyphs for numbers, fractions, and ordinal markers.
19092   *
19093   * **Syntax**: `normal | [ <numeric-figure-values> || <numeric-spacing-values> || <numeric-fraction-values> || ordinal || slashed-zero ]`
19094   *
19095   * **Initial value**: `normal`
19096   *
19097   * | Chrome | Firefox | Safari  |  Edge  | IE  |
19098   * | :----: | :-----: | :-----: | :----: | :-: |
19099   * | **52** | **34**  | **9.1** | **79** | No  |
19100   *
19101   * @see https://developer.mozilla.org/docs/Web/CSS/font-variant-numeric
19102   */
19103  fontVariantNumeric?: FontVariantNumericProperty | FontVariantNumericProperty[];
19104  /**
19105   * The **`font-variant-position`** CSS property controls the use of alternate, smaller glyphs that are positioned as superscript or subscript.
19106   *
19107   * **Syntax**: `normal | sub | super`
19108   *
19109   * **Initial value**: `normal`
19110   *
19111   * | Chrome | Firefox | Safari | Edge | IE  |
19112   * | :----: | :-----: | :----: | :--: | :-: |
19113   * |   No   | **34**  |   No   |  No  | No  |
19114   *
19115   * @see https://developer.mozilla.org/docs/Web/CSS/font-variant-position
19116   */
19117  fontVariantPosition?: FontVariantPositionProperty | FontVariantPositionProperty[];
19118  /**
19119   * 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.
19120   *
19121   * **Syntax**: `normal | [ <string> <number> ]#`
19122   *
19123   * **Initial value**: `normal`
19124   *
19125   * | Chrome | Firefox | Safari |  Edge  | IE  |
19126   * | :----: | :-----: | :----: | :----: | :-: |
19127   * | **62** | **62**  | **11** | **17** | No  |
19128   *
19129   * @see https://developer.mozilla.org/docs/Web/CSS/font-variation-settings
19130   */
19131  fontVariationSettings?: FontVariationSettingsProperty | FontVariationSettingsProperty[];
19132  /**
19133   * The **`font-weight`** CSS property specifies the weight (or boldness) of the font. The font weights available to you will depend on the `font-family` you are using. Some fonts are only available in `normal` and `bold`.
19134   *
19135   * **Syntax**: `<font-weight-absolute> | bolder | lighter`
19136   *
19137   * **Initial value**: `normal`
19138   *
19139   * | Chrome | Firefox | Safari |  Edge  |  IE   |
19140   * | :----: | :-----: | :----: | :----: | :---: |
19141   * | **2**  |  **1**  | **1**  | **12** | **3** |
19142   *
19143   * @see https://developer.mozilla.org/docs/Web/CSS/font-weight
19144   */
19145  fontWeight?: FontWeightProperty | FontWeightProperty[];
19146  /**
19147   * The **`grid-auto-columns`** CSS property specifies the size of an implicitly-created grid column track.
19148   *
19149   * **Syntax**: `<track-size>+`
19150   *
19151   * **Initial value**: `auto`
19152   *
19153   * | Chrome | Firefox |  Safari  |          Edge           |             IE              |
19154   * | :----: | :-----: | :------: | :---------------------: | :-------------------------: |
19155   * | **57** | **70**  | **10.1** |         **16**          | **10** _(-ms-grid-columns)_ |
19156   * |        |         |          | 12 _(-ms-grid-columns)_ |                             |
19157   *
19158   * @see https://developer.mozilla.org/docs/Web/CSS/grid-auto-columns
19159   */
19160  gridAutoColumns?: GridAutoColumnsProperty<TLength> | GridAutoColumnsProperty<TLength>[];
19161  /**
19162   * The **`grid-auto-flow`** CSS property controls how the auto-placement algorithm works, specifying exactly how auto-placed items get flowed into the grid.
19163   *
19164   * **Syntax**: `[ row | column ] || dense`
19165   *
19166   * **Initial value**: `row`
19167   *
19168   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
19169   * | :----: | :-----: | :------: | :----: | :-: |
19170   * | **57** | **52**  | **10.1** | **16** | No  |
19171   *
19172   * @see https://developer.mozilla.org/docs/Web/CSS/grid-auto-flow
19173   */
19174  gridAutoFlow?: GridAutoFlowProperty | GridAutoFlowProperty[];
19175  /**
19176   * The **`grid-auto-rows`** CSS property specifies the size of an implicitly-created grid row track.
19177   *
19178   * **Syntax**: `<track-size>+`
19179   *
19180   * **Initial value**: `auto`
19181   *
19182   * | Chrome | Firefox |  Safari  |         Edge         |            IE            |
19183   * | :----: | :-----: | :------: | :------------------: | :----------------------: |
19184   * | **57** | **70**  | **10.1** |        **16**        | **10** _(-ms-grid-rows)_ |
19185   * |        |         |          | 12 _(-ms-grid-rows)_ |                          |
19186   *
19187   * @see https://developer.mozilla.org/docs/Web/CSS/grid-auto-rows
19188   */
19189  gridAutoRows?: GridAutoRowsProperty<TLength> | GridAutoRowsProperty<TLength>[];
19190  /**
19191   * 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.
19192   *
19193   * **Syntax**: `<grid-line>`
19194   *
19195   * **Initial value**: `auto`
19196   *
19197   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
19198   * | :----: | :-----: | :------: | :----: | :-: |
19199   * | **57** | **52**  | **10.1** | **16** | No  |
19200   *
19201   * @see https://developer.mozilla.org/docs/Web/CSS/grid-column-end
19202   */
19203  gridColumnEnd?: GridColumnEndProperty | GridColumnEndProperty[];
19204  /**
19205   * 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.
19206   *
19207   * **Syntax**: `<grid-line>`
19208   *
19209   * **Initial value**: `auto`
19210   *
19211   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
19212   * | :----: | :-----: | :------: | :----: | :-: |
19213   * | **57** | **52**  | **10.1** | **16** | No  |
19214   *
19215   * @see https://developer.mozilla.org/docs/Web/CSS/grid-column-start
19216   */
19217  gridColumnStart?: GridColumnStartProperty | GridColumnStartProperty[];
19218  /**
19219   * 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.
19220   *
19221   * **Syntax**: `<grid-line>`
19222   *
19223   * **Initial value**: `auto`
19224   *
19225   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
19226   * | :----: | :-----: | :------: | :----: | :-: |
19227   * | **57** | **52**  | **10.1** | **16** | No  |
19228   *
19229   * @see https://developer.mozilla.org/docs/Web/CSS/grid-row-end
19230   */
19231  gridRowEnd?: GridRowEndProperty | GridRowEndProperty[];
19232  /**
19233   * 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.
19234   *
19235   * **Syntax**: `<grid-line>`
19236   *
19237   * **Initial value**: `auto`
19238   *
19239   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
19240   * | :----: | :-----: | :------: | :----: | :-: |
19241   * | **57** | **52**  | **10.1** | **16** | No  |
19242   *
19243   * @see https://developer.mozilla.org/docs/Web/CSS/grid-row-start
19244   */
19245  gridRowStart?: GridRowStartProperty | GridRowStartProperty[];
19246  /**
19247   * The **`grid-template-areas`** CSS property specifies named grid areas.
19248   *
19249   * **Syntax**: `none | <string>+`
19250   *
19251   * **Initial value**: `none`
19252   *
19253   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
19254   * | :----: | :-----: | :------: | :----: | :-: |
19255   * | **57** | **52**  | **10.1** | **16** | No  |
19256   *
19257   * @see https://developer.mozilla.org/docs/Web/CSS/grid-template-areas
19258   */
19259  gridTemplateAreas?: GridTemplateAreasProperty | GridTemplateAreasProperty[];
19260  /**
19261   * The **`grid-template-columns`** CSS property defines the line names and track sizing functions of the grid columns.
19262   *
19263   * **Syntax**: `none | <track-list> | <auto-track-list> | subgrid <line-name-list>?`
19264   *
19265   * **Initial value**: `none`
19266   *
19267   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
19268   * | :----: | :-----: | :------: | :----: | :-: |
19269   * | **57** | **52**  | **10.1** | **16** | No  |
19270   *
19271   * @see https://developer.mozilla.org/docs/Web/CSS/grid-template-columns
19272   */
19273  gridTemplateColumns?: GridTemplateColumnsProperty<TLength> | GridTemplateColumnsProperty<TLength>[];
19274  /**
19275   * The **`grid-template-rows`** CSS property defines the line names and track sizing functions of the grid rows.
19276   *
19277   * **Syntax**: `none | <track-list> | <auto-track-list> | subgrid <line-name-list>?`
19278   *
19279   * **Initial value**: `none`
19280   *
19281   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
19282   * | :----: | :-----: | :------: | :----: | :-: |
19283   * | **57** | **52**  | **10.1** | **16** | No  |
19284   *
19285   * @see https://developer.mozilla.org/docs/Web/CSS/grid-template-rows
19286   */
19287  gridTemplateRows?: GridTemplateRowsProperty<TLength> | GridTemplateRowsProperty<TLength>[];
19288  /**
19289   * 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.
19290   *
19291   * **Syntax**: `none | [ first || [ force-end | allow-end ] || last ]`
19292   *
19293   * **Initial value**: `none`
19294   *
19295   * | Chrome | Firefox | Safari | Edge | IE  |
19296   * | :----: | :-----: | :----: | :--: | :-: |
19297   * |   No   |   No    | **10** |  No  | No  |
19298   *
19299   * @see https://developer.mozilla.org/docs/Web/CSS/hanging-punctuation
19300   */
19301  hangingPunctuation?: HangingPunctuationProperty | HangingPunctuationProperty[];
19302  /**
19303   * 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.
19304   *
19305   * **Syntax**: `auto | <length> | <percentage> | min-content | max-content | fit-content(<length-percentage>)`
19306   *
19307   * **Initial value**: `auto`
19308   *
19309   * | Chrome | Firefox | Safari |  Edge  |  IE   |
19310   * | :----: | :-----: | :----: | :----: | :---: |
19311   * | **1**  |  **1**  | **1**  | **12** | **4** |
19312   *
19313   * @see https://developer.mozilla.org/docs/Web/CSS/height
19314   */
19315  height?: HeightProperty<TLength> | HeightProperty<TLength>[];
19316  /**
19317   * The **`hyphens`** CSS property specifies how words should be hyphenated when text wraps across multiple lines. You can prevent hyphenation entirely, use hyphenation in manually-specified points within the text, or let the browser automatically insert hyphens where appropriate.
19318   *
19319   * **Syntax**: `none | manual | auto`
19320   *
19321   * **Initial value**: `manual`
19322   *
19323   * |  Chrome  | Firefox |    Safari     |     Edge     |      IE      |
19324   * | :------: | :-----: | :-----------: | :----------: | :----------: |
19325   * |  **55**  | **43**  | **5.1** _-x-_ | **12** _-x-_ | **10** _-x-_ |
19326   * | 13 _-x-_ | 6 _-x-_ |               |              |              |
19327   *
19328   * @see https://developer.mozilla.org/docs/Web/CSS/hyphens
19329   */
19330  hyphens?: HyphensProperty | HyphensProperty[];
19331  /**
19332   * 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>`.
19333   *
19334   * **Syntax**: `from-image | <angle> | [ <angle>? flip ]`
19335   *
19336   * **Initial value**: `0deg`
19337   *
19338   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
19339   * | :----: | :-----: | :------: | :----: | :-: |
19340   * | **81** | **26**  | **13.1** | **81** | No  |
19341   *
19342   * @see https://developer.mozilla.org/docs/Web/CSS/image-orientation
19343   */
19344  imageOrientation?: ImageOrientationProperty | ImageOrientationProperty[];
19345  /**
19346   * 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.
19347   *
19348   * **Syntax**: `auto | crisp-edges | pixelated`
19349   *
19350   * **Initial value**: `auto`
19351   *
19352   * | Chrome | Firefox | Safari |  Edge  | IE  |
19353   * | :----: | :-----: | :----: | :----: | :-: |
19354   * | **13** | **3.6** | **6**  | **79** | No  |
19355   *
19356   * @see https://developer.mozilla.org/docs/Web/CSS/image-rendering
19357   */
19358  imageRendering?: ImageRenderingProperty | ImageRenderingProperty[];
19359  /**
19360   * **Syntax**: `[ from-image || <resolution> ] && snap?`
19361   *
19362   * **Initial value**: `1dppx`
19363   */
19364  imageResolution?: ImageResolutionProperty | ImageResolutionProperty[];
19365  /**
19366   * The `initial-letter` CSS property sets styling for dropped, raised, and sunken initial letters.
19367   *
19368   * **Syntax**: `normal | [ <number> <integer>? ]`
19369   *
19370   * **Initial value**: `normal`
19371   *
19372   * | Chrome | Firefox | Safari | Edge | IE  |
19373   * | :----: | :-----: | :----: | :--: | :-: |
19374   * |   No   |   No    | **9**  |  No  | No  |
19375   *
19376   * @see https://developer.mozilla.org/docs/Web/CSS/initial-letter
19377   */
19378  initialLetter?: InitialLetterProperty | InitialLetterProperty[];
19379  /**
19380   * 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`.
19381   *
19382   * **Syntax**: `<'width'>`
19383   *
19384   * **Initial value**: `auto`
19385   *
19386   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
19387   * | :----: | :-----: | :------: | :----: | :-: |
19388   * | **57** | **41**  | **12.1** | **79** | No  |
19389   *
19390   * @see https://developer.mozilla.org/docs/Web/CSS/inline-size
19391   */
19392  inlineSize?: InlineSizeProperty<TLength> | InlineSizeProperty<TLength>[];
19393  /**
19394   * The **`inset`** CSS property defines the logical block and inline start and end offsets of an element, which map 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`.
19395   *
19396   * **Syntax**: `<'top'>{1,4}`
19397   *
19398   * **Initial value**: `auto`
19399   *
19400   * | Chrome | Firefox | Safari | Edge | IE  |
19401   * | :----: | :-----: | :----: | :--: | :-: |
19402   * |   No   | **66**  |   No   |  No  | No  |
19403   *
19404   * @see https://developer.mozilla.org/docs/Web/CSS/inset
19405   */
19406  inset?: InsetProperty<TLength> | InsetProperty<TLength>[];
19407  /**
19408   * The **`inset-block`** CSS property defines the logical block start and end offsets of an element, 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`.
19409   *
19410   * **Syntax**: `<'top'>{1,2}`
19411   *
19412   * **Initial value**: `auto`
19413   *
19414   * | Chrome | Firefox | Safari | Edge | IE  |
19415   * | :----: | :-----: | :----: | :--: | :-: |
19416   * |  n/a   | **63**  |   No   | n/a  | No  |
19417   *
19418   * @see https://developer.mozilla.org/docs/Web/CSS/inset-block
19419   */
19420  insetBlock?: InsetBlockProperty<TLength> | InsetBlockProperty<TLength>[];
19421  /**
19422   * 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`.
19423   *
19424   * **Syntax**: `<'top'>`
19425   *
19426   * **Initial value**: `auto`
19427   *
19428   * | Chrome | Firefox | Safari | Edge | IE  |
19429   * | :----: | :-----: | :----: | :--: | :-: |
19430   * |  n/a   | **63**  |   No   | n/a  | No  |
19431   *
19432   * @see https://developer.mozilla.org/docs/Web/CSS/inset-block-end
19433   */
19434  insetBlockEnd?: InsetBlockEndProperty<TLength> | InsetBlockEndProperty<TLength>[];
19435  /**
19436   * 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`.
19437   *
19438   * **Syntax**: `<'top'>`
19439   *
19440   * **Initial value**: `auto`
19441   *
19442   * | Chrome | Firefox | Safari | Edge | IE  |
19443   * | :----: | :-----: | :----: | :--: | :-: |
19444   * |  n/a   | **63**  |   No   | n/a  | No  |
19445   *
19446   * @see https://developer.mozilla.org/docs/Web/CSS/inset-block-start
19447   */
19448  insetBlockStart?: InsetBlockStartProperty<TLength> | InsetBlockStartProperty<TLength>[];
19449  /**
19450   * The **`inset-inline`** CSS property defines the logical block start and end offsets of an element, 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`.
19451   *
19452   * **Syntax**: `<'top'>{1,2}`
19453   *
19454   * **Initial value**: `auto`
19455   *
19456   * | Chrome | Firefox | Safari | Edge | IE  |
19457   * | :----: | :-----: | :----: | :--: | :-: |
19458   * |  n/a   | **63**  |   No   | n/a  | No  |
19459   *
19460   * @see https://developer.mozilla.org/docs/Web/CSS/inset-inline
19461   */
19462  insetInline?: InsetInlineProperty<TLength> | InsetInlineProperty<TLength>[];
19463  /**
19464   * The **`inset-inline-end`** CSS property defines the logical inline end inset 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`.
19465   *
19466   * **Syntax**: `<'top'>`
19467   *
19468   * **Initial value**: `auto`
19469   *
19470   * | Chrome | Firefox | Safari | Edge | IE  |
19471   * | :----: | :-----: | :----: | :--: | :-: |
19472   * |  n/a   | **63**  |   No   | n/a  | No  |
19473   *
19474   * @see https://developer.mozilla.org/docs/Web/CSS/inset-inline-end
19475   */
19476  insetInlineEnd?: InsetInlineEndProperty<TLength> | InsetInlineEndProperty<TLength>[];
19477  /**
19478   * 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`.
19479   *
19480   * **Syntax**: `<'top'>`
19481   *
19482   * **Initial value**: `auto`
19483   *
19484   * | Chrome | Firefox | Safari | Edge | IE  |
19485   * | :----: | :-----: | :----: | :--: | :-: |
19486   * |  n/a   | **63**  |   No   | n/a  | No  |
19487   *
19488   * @see https://developer.mozilla.org/docs/Web/CSS/inset-inline-start
19489   */
19490  insetInlineStart?: InsetInlineStartProperty<TLength> | InsetInlineStartProperty<TLength>[];
19491  /**
19492   * The **`isolation`** CSS property determines whether an element must create a new stacking context.
19493   *
19494   * **Syntax**: `auto | isolate`
19495   *
19496   * **Initial value**: `auto`
19497   *
19498   * | Chrome | Firefox | Safari |  Edge  | IE  |
19499   * | :----: | :-----: | :----: | :----: | :-: |
19500   * | **41** | **36**  | **8**  | **79** | No  |
19501   *
19502   * @see https://developer.mozilla.org/docs/Web/CSS/isolation
19503   */
19504  isolation?: IsolationProperty | IsolationProperty[];
19505  /**
19506   * 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.
19507   *
19508   * **Syntax**: `normal | <content-distribution> | <overflow-position>? [ <content-position> | left | right ]`
19509   *
19510   * **Initial value**: `normal`
19511   *
19512   * ---
19513   *
19514   * _Supported in Flex Layout_
19515   *
19516   * |  Chrome  | Firefox |  Safari   |  Edge  |   IE   |
19517   * | :------: | :-----: | :-------: | :----: | :----: |
19518   * |  **52**  | **20**  |   **9**   | **12** | **11** |
19519   * | 21 _-x-_ |         | 6.1 _-x-_ |        |        |
19520   *
19521   * ---
19522   *
19523   * _Supported in Grid Layout_
19524   *
19525   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
19526   * | :----: | :-----: | :------: | :----: | :-: |
19527   * | **57** | **52**  | **10.1** | **16** | No  |
19528   *
19529   * ---
19530   *
19531   * @see https://developer.mozilla.org/docs/Web/CSS/justify-content
19532   */
19533  justifyContent?: JustifyContentProperty | JustifyContentProperty[];
19534  /**
19535   * 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.
19536   *
19537   * **Syntax**: `normal | stretch | <baseline-position> | <overflow-position>? [ <self-position> | left | right ] | legacy | legacy && [ left | right | center ]`
19538   *
19539   * **Initial value**: `legacy`
19540   *
19541   * ---
19542   *
19543   * _Supported in Flex Layout_
19544   *
19545   * | Chrome | Firefox | Safari |  Edge  |   IE   |
19546   * | :----: | :-----: | :----: | :----: | :----: |
19547   * | **52** | **20**  | **9**  | **12** | **11** |
19548   *
19549   * ---
19550   *
19551   * _Supported in Grid Layout_
19552   *
19553   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
19554   * | :----: | :-----: | :------: | :----: | :-: |
19555   * | **57** | **45**  | **10.1** | **16** | No  |
19556   *
19557   * ---
19558   *
19559   * @see https://developer.mozilla.org/docs/Web/CSS/justify-items
19560   */
19561  justifyItems?: JustifyItemsProperty | JustifyItemsProperty[];
19562  /**
19563   * The CSS **`justify-self`** property set the way a box is justified inside its alignment container along the appropriate axis.
19564   *
19565   * **Syntax**: `auto | normal | stretch | <baseline-position> | <overflow-position>? [ <self-position> | left | right ]`
19566   *
19567   * **Initial value**: `auto`
19568   *
19569   * ---
19570   *
19571   * _Supported in Flex Layout_
19572   *
19573   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
19574   * | :----: | :-----: | :------: | :----: | :-: |
19575   * | **57** | **45**  | **10.1** | **16** | No  |
19576   *
19577   * ---
19578   *
19579   * _Supported in Grid Layout_
19580   *
19581   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
19582   * | :----: | :-----: | :------: | :----: | :-: |
19583   * | **57** | **45**  | **10.1** | **16** | No  |
19584   *
19585   * ---
19586   *
19587   * @see https://developer.mozilla.org/docs/Web/CSS/justify-self
19588   */
19589  justifySelf?: JustifySelfProperty | JustifySelfProperty[];
19590  /**
19591   * The **`left`** CSS property participates in specifying the horizontal position of a _positioned element_. It has no effect on non-positioned elements.
19592   *
19593   * **Syntax**: `<length> | <percentage> | auto`
19594   *
19595   * **Initial value**: `auto`
19596   *
19597   * | Chrome | Firefox | Safari |  Edge  |   IE    |
19598   * | :----: | :-----: | :----: | :----: | :-----: |
19599   * | **1**  |  **1**  | **1**  | **12** | **5.5** |
19600   *
19601   * @see https://developer.mozilla.org/docs/Web/CSS/left
19602   */
19603  left?: LeftProperty<TLength> | LeftProperty<TLength>[];
19604  /**
19605   * The **`letter-spacing`** CSS property sets the spacing behavior between text characters.
19606   *
19607   * **Syntax**: `normal | <length>`
19608   *
19609   * **Initial value**: `normal`
19610   *
19611   * | Chrome | Firefox | Safari |  Edge  |  IE   |
19612   * | :----: | :-----: | :----: | :----: | :---: |
19613   * | **1**  |  **1**  | **1**  | **12** | **4** |
19614   *
19615   * @see https://developer.mozilla.org/docs/Web/CSS/letter-spacing
19616   */
19617  letterSpacing?: LetterSpacingProperty<TLength> | LetterSpacingProperty<TLength>[];
19618  /**
19619   * The **`line-break`** CSS property sets how to break lines of Chinese, Japanese, or Korean (CJK) text when working with punctuation and symbols.
19620   *
19621   * **Syntax**: `auto | loose | normal | strict | anywhere`
19622   *
19623   * **Initial value**: `auto`
19624   *
19625   * | Chrome  | Firefox |   Safari    |  Edge  |   IE    |
19626   * | :-----: | :-----: | :---------: | :----: | :-----: |
19627   * | **58**  | **69**  | **3** _-x-_ | **14** | **5.5** |
19628   * | 1 _-x-_ |         |             |        |         |
19629   *
19630   * @see https://developer.mozilla.org/docs/Web/CSS/line-break
19631   */
19632  lineBreak?: LineBreakProperty | LineBreakProperty[];
19633  /**
19634   * The **`line-height`** CSS property sets the amount of space used for lines, such as in 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.
19635   *
19636   * **Syntax**: `normal | <number> | <length> | <percentage>`
19637   *
19638   * **Initial value**: `normal`
19639   *
19640   * | Chrome | Firefox | Safari |  Edge  |  IE   |
19641   * | :----: | :-----: | :----: | :----: | :---: |
19642   * | **1**  |  **1**  | **1**  | **12** | **4** |
19643   *
19644   * @see https://developer.mozilla.org/docs/Web/CSS/line-height
19645   */
19646  lineHeight?: LineHeightProperty<TLength> | LineHeightProperty<TLength>[];
19647  /**
19648   * 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.
19649   *
19650   * **Syntax**: `<length>`
19651   *
19652   * **Initial value**: `0`
19653   *
19654   * | Chrome | Firefox | Safari | Edge | IE  |
19655   * | :----: | :-----: | :----: | :--: | :-: |
19656   * |  n/a   |   No    |   No   | n/a  | No  |
19657   *
19658   * @see https://developer.mozilla.org/docs/Web/CSS/line-height-step
19659   */
19660  lineHeightStep?: LineHeightStepProperty<TLength> | LineHeightStepProperty<TLength>[];
19661  /**
19662   * The **`list-style-image`** CSS property sets an image to be used as the list item marker.
19663   *
19664   * **Syntax**: `<url> | none`
19665   *
19666   * **Initial value**: `none`
19667   *
19668   * | Chrome | Firefox | Safari |  Edge  |  IE   |
19669   * | :----: | :-----: | :----: | :----: | :---: |
19670   * | **1**  |  **1**  | **1**  | **12** | **4** |
19671   *
19672   * @see https://developer.mozilla.org/docs/Web/CSS/list-style-image
19673   */
19674  listStyleImage?: ListStyleImageProperty | ListStyleImageProperty[];
19675  /**
19676   * The **`list-style-position`** CSS property sets the position of the `::marker` relative to a list item.
19677   *
19678   * **Syntax**: `inside | outside`
19679   *
19680   * **Initial value**: `outside`
19681   *
19682   * | Chrome | Firefox | Safari |  Edge  |  IE   |
19683   * | :----: | :-----: | :----: | :----: | :---: |
19684   * | **1**  |  **1**  | **1**  | **12** | **4** |
19685   *
19686   * @see https://developer.mozilla.org/docs/Web/CSS/list-style-position
19687   */
19688  listStylePosition?: ListStylePositionProperty | ListStylePositionProperty[];
19689  /**
19690   * The **`list-style-type`** CSS property sets the marker (such as a disc, character, or custom counter style) of a list item element.
19691   *
19692   * **Syntax**: `<counter-style> | <string> | none`
19693   *
19694   * **Initial value**: `disc`
19695   *
19696   * | Chrome | Firefox | Safari |  Edge  |  IE   |
19697   * | :----: | :-----: | :----: | :----: | :---: |
19698   * | **1**  |  **1**  | **1**  | **12** | **4** |
19699   *
19700   * @see https://developer.mozilla.org/docs/Web/CSS/list-style-type
19701   */
19702  listStyleType?: ListStyleTypeProperty | ListStyleTypeProperty[];
19703  /**
19704   * The **`margin-block`** CSS 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.
19705   *
19706   * **Syntax**: `<'margin-left'>{1,2}`
19707   *
19708   * **Initial value**: `0`
19709   *
19710   * | Chrome | Firefox | Safari | Edge | IE  |
19711   * | :----: | :-----: | :----: | :--: | :-: |
19712   * |  n/a   | **66**  |   No   | n/a  | No  |
19713   *
19714   * @see https://developer.mozilla.org/docs/Web/CSS/margin-block
19715   */
19716  marginBlock?: MarginBlockProperty<TLength> | MarginBlockProperty<TLength>[];
19717  /**
19718   * 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.
19719   *
19720   * **Syntax**: `<'margin-left'>`
19721   *
19722   * **Initial value**: `0`
19723   *
19724   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
19725   * | :----: | :-----: | :------: | :----: | :-: |
19726   * | **69** | **41**  | **12.1** | **79** | No  |
19727   *
19728   * @see https://developer.mozilla.org/docs/Web/CSS/margin-block-end
19729   */
19730  marginBlockEnd?: MarginBlockEndProperty<TLength> | MarginBlockEndProperty<TLength>[];
19731  /**
19732   * 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.
19733   *
19734   * **Syntax**: `<'margin-left'>`
19735   *
19736   * **Initial value**: `0`
19737   *
19738   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
19739   * | :----: | :-----: | :------: | :----: | :-: |
19740   * | **69** | **41**  | **12.1** | **79** | No  |
19741   *
19742   * @see https://developer.mozilla.org/docs/Web/CSS/margin-block-start
19743   */
19744  marginBlockStart?: MarginBlockStartProperty<TLength> | MarginBlockStartProperty<TLength>[];
19745  /**
19746   * 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.
19747   *
19748   * **Syntax**: `<length> | <percentage> | auto`
19749   *
19750   * **Initial value**: `0`
19751   *
19752   * | Chrome | Firefox | Safari |  Edge  |  IE   |
19753   * | :----: | :-----: | :----: | :----: | :---: |
19754   * | **1**  |  **1**  | **1**  | **12** | **3** |
19755   *
19756   * @see https://developer.mozilla.org/docs/Web/CSS/margin-bottom
19757   */
19758  marginBottom?: MarginBottomProperty<TLength> | MarginBottomProperty<TLength>[];
19759  /**
19760   * The **`margin-inline`** CSS property defines 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.
19761   *
19762   * **Syntax**: `<'margin-left'>{1,2}`
19763   *
19764   * **Initial value**: `0`
19765   *
19766   * | Chrome | Firefox | Safari | Edge | IE  |
19767   * | :----: | :-----: | :----: | :--: | :-: |
19768   * |  n/a   | **66**  |   No   | n/a  | No  |
19769   *
19770   * @see https://developer.mozilla.org/docs/Web/CSS/margin-inline
19771   */
19772  marginInline?: MarginInlineProperty<TLength> | MarginInlineProperty<TLength>[];
19773  /**
19774   * 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`.
19775   *
19776   * **Syntax**: `<'margin-left'>`
19777   *
19778   * **Initial value**: `0`
19779   *
19780   * |          Chrome          |        Firefox        |          Safari          |  Edge  | IE  |
19781   * | :----------------------: | :-------------------: | :----------------------: | :----: | :-: |
19782   * |          **69**          |        **41**         |         **12.1**         | **79** | No  |
19783   * | 2 _(-webkit-margin-end)_ | 3 _(-moz-margin-end)_ | 3 _(-webkit-margin-end)_ |        |     |
19784   *
19785   * @see https://developer.mozilla.org/docs/Web/CSS/margin-inline-end
19786   */
19787  marginInlineEnd?: MarginInlineEndProperty<TLength> | MarginInlineEndProperty<TLength>[];
19788  /**
19789   * 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`.
19790   *
19791   * **Syntax**: `<'margin-left'>`
19792   *
19793   * **Initial value**: `0`
19794   *
19795   * |           Chrome           |         Firefox         |           Safari           |  Edge  | IE  |
19796   * | :------------------------: | :---------------------: | :------------------------: | :----: | :-: |
19797   * |           **69**           |         **41**          |          **12.1**          | **79** | No  |
19798   * | 2 _(-webkit-margin-start)_ | 3 _(-moz-margin-start)_ | 3 _(-webkit-margin-start)_ |        |     |
19799   *
19800   * @see https://developer.mozilla.org/docs/Web/CSS/margin-inline-start
19801   */
19802  marginInlineStart?: MarginInlineStartProperty<TLength> | MarginInlineStartProperty<TLength>[];
19803  /**
19804   * 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.
19805   *
19806   * **Syntax**: `<length> | <percentage> | auto`
19807   *
19808   * **Initial value**: `0`
19809   *
19810   * | Chrome | Firefox | Safari |  Edge  |  IE   |
19811   * | :----: | :-----: | :----: | :----: | :---: |
19812   * | **1**  |  **1**  | **1**  | **12** | **3** |
19813   *
19814   * @see https://developer.mozilla.org/docs/Web/CSS/margin-left
19815   */
19816  marginLeft?: MarginLeftProperty<TLength> | MarginLeftProperty<TLength>[];
19817  /**
19818   * 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.
19819   *
19820   * **Syntax**: `<length> | <percentage> | auto`
19821   *
19822   * **Initial value**: `0`
19823   *
19824   * | Chrome | Firefox | Safari |  Edge  |  IE   |
19825   * | :----: | :-----: | :----: | :----: | :---: |
19826   * | **1**  |  **1**  | **1**  | **12** | **3** |
19827   *
19828   * @see https://developer.mozilla.org/docs/Web/CSS/margin-right
19829   */
19830  marginRight?: MarginRightProperty<TLength> | MarginRightProperty<TLength>[];
19831  /**
19832   * 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.
19833   *
19834   * **Syntax**: `<length> | <percentage> | auto`
19835   *
19836   * **Initial value**: `0`
19837   *
19838   * | Chrome | Firefox | Safari |  Edge  |  IE   |
19839   * | :----: | :-----: | :----: | :----: | :---: |
19840   * | **1**  |  **1**  | **1**  | **12** | **3** |
19841   *
19842   * @see https://developer.mozilla.org/docs/Web/CSS/margin-top
19843   */
19844  marginTop?: MarginTopProperty<TLength> | MarginTopProperty<TLength>[];
19845  /**
19846   * The **`mask-border-mode`** CSS property specifies the blending mode used in a mask border.
19847   *
19848   * **Syntax**: `luminance | alpha`
19849   *
19850   * **Initial value**: `alpha`
19851   */
19852  maskBorderMode?: MaskBorderModeProperty | MaskBorderModeProperty[];
19853  /**
19854   * The **`mask-border-outset`** CSS property specifies the distance by which an element's mask border is set out from its border box.
19855   *
19856   * **Syntax**: `[ <length> | <number> ]{1,4}`
19857   *
19858   * **Initial value**: `0`
19859   */
19860  maskBorderOutset?: MaskBorderOutsetProperty<TLength> | MaskBorderOutsetProperty<TLength>[];
19861  /**
19862   * 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.
19863   *
19864   * **Syntax**: `[ stretch | repeat | round | space ]{1,2}`
19865   *
19866   * **Initial value**: `stretch`
19867   */
19868  maskBorderRepeat?: MaskBorderRepeatProperty | MaskBorderRepeatProperty[];
19869  /**
19870   * 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.
19871   *
19872   * **Syntax**: `<number-percentage>{1,4} fill?`
19873   *
19874   * **Initial value**: `0`
19875   */
19876  maskBorderSlice?: MaskBorderSliceProperty | MaskBorderSliceProperty[];
19877  /**
19878   * The **`mask-border-source`** CSS property sets the source image used to create an element's mask border.
19879   *
19880   * **Syntax**: `none | <image>`
19881   *
19882   * **Initial value**: `none`
19883   */
19884  maskBorderSource?: MaskBorderSourceProperty | MaskBorderSourceProperty[];
19885  /**
19886   * The **`mask-border-width`** CSS property sets the width of an element's mask border.
19887   *
19888   * **Syntax**: `[ <length-percentage> | <number> | auto ]{1,4}`
19889   *
19890   * **Initial value**: `auto`
19891   */
19892  maskBorderWidth?: MaskBorderWidthProperty<TLength> | MaskBorderWidthProperty<TLength>[];
19893  /**
19894   * 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.
19895   *
19896   * **Syntax**: `[ <geometry-box> | no-clip ]#`
19897   *
19898   * **Initial value**: `border-box`
19899   *
19900   * |   Chrome    | Firefox |   Safari    |     Edge     | IE  |
19901   * | :---------: | :-----: | :---------: | :----------: | :-: |
19902   * | **1** _-x-_ | **53**  | **4** _-x-_ | **79** _-x-_ | No  |
19903   *
19904   * @see https://developer.mozilla.org/docs/Web/CSS/mask-clip
19905   */
19906  maskClip?: MaskClipProperty | MaskClipProperty[];
19907  /**
19908   * The **`mask-composite`** CSS property represents a compositing operation used on the current mask layer with the mask layers below it.
19909   *
19910   * **Syntax**: `<compositing-operator>#`
19911   *
19912   * **Initial value**: `add`
19913   *
19914   * | Chrome | Firefox | Safari | Edge  | IE  |
19915   * | :----: | :-----: | :----: | :---: | :-: |
19916   * |   No   | **53**  |   No   | 18-79 | No  |
19917   *
19918   * @see https://developer.mozilla.org/docs/Web/CSS/mask-composite
19919   */
19920  maskComposite?: MaskCompositeProperty | MaskCompositeProperty[];
19921  /**
19922   * The **`mask-image`** CSS property sets the image that is used as mask layer for an element.
19923   *
19924   * **Syntax**: `<mask-reference>#`
19925   *
19926   * **Initial value**: `none`
19927   *
19928   * |   Chrome    | Firefox |   Safari    |  Edge  | IE  |
19929   * | :---------: | :-----: | :---------: | :----: | :-: |
19930   * | **1** _-x-_ | **53**  | **4** _-x-_ | **16** | No  |
19931   *
19932   * @see https://developer.mozilla.org/docs/Web/CSS/mask-image
19933   */
19934  maskImage?: MaskImageProperty | MaskImageProperty[];
19935  /**
19936   * The **`mask-mode`** CSS property sets whether the mask reference defined by `mask-image` is treated as a luminance or alpha mask.
19937   *
19938   * **Syntax**: `<masking-mode>#`
19939   *
19940   * **Initial value**: `match-source`
19941   *
19942   * | Chrome | Firefox | Safari | Edge | IE  |
19943   * | :----: | :-----: | :----: | :--: | :-: |
19944   * |   No   | **53**  |   No   |  No  | No  |
19945   *
19946   * @see https://developer.mozilla.org/docs/Web/CSS/mask-mode
19947   */
19948  maskMode?: MaskModeProperty | MaskModeProperty[];
19949  /**
19950   * The **`mask-origin`** CSS property sets the origin of a mask.
19951   *
19952   * **Syntax**: `<geometry-box>#`
19953   *
19954   * **Initial value**: `border-box`
19955   *
19956   * |   Chrome    | Firefox |   Safari    |     Edge     | IE  |
19957   * | :---------: | :-----: | :---------: | :----------: | :-: |
19958   * | **1** _-x-_ | **53**  | **4** _-x-_ | **79** _-x-_ | No  |
19959   *
19960   * @see https://developer.mozilla.org/docs/Web/CSS/mask-origin
19961   */
19962  maskOrigin?: MaskOriginProperty | MaskOriginProperty[];
19963  /**
19964   * The **`mask-position`** CSS property sets the initial position, relative to the mask position layer set by `mask-origin`, for each defined mask image.
19965   *
19966   * **Syntax**: `<position>#`
19967   *
19968   * **Initial value**: `center`
19969   *
19970   * |   Chrome    | Firefox |    Safari     |  Edge  | IE  |
19971   * | :---------: | :-----: | :-----------: | :----: | :-: |
19972   * | **1** _-x-_ | **53**  | **3.2** _-x-_ | **18** | No  |
19973   *
19974   * @see https://developer.mozilla.org/docs/Web/CSS/mask-position
19975   */
19976  maskPosition?: MaskPositionProperty<TLength> | MaskPositionProperty<TLength>[];
19977  /**
19978   * 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.
19979   *
19980   * **Syntax**: `<repeat-style>#`
19981   *
19982   * **Initial value**: `no-repeat`
19983   *
19984   * |   Chrome    | Firefox |    Safari     |  Edge  | IE  |
19985   * | :---------: | :-----: | :-----------: | :----: | :-: |
19986   * | **1** _-x-_ | **53**  | **3.2** _-x-_ | **18** | No  |
19987   *
19988   * @see https://developer.mozilla.org/docs/Web/CSS/mask-repeat
19989   */
19990  maskRepeat?: MaskRepeatProperty | MaskRepeatProperty[];
19991  /**
19992   * 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.
19993   *
19994   * **Syntax**: `<bg-size>#`
19995   *
19996   * **Initial value**: `auto`
19997   *
19998   * |   Chrome    | Firefox |   Safari    |  Edge  | IE  |
19999   * | :---------: | :-----: | :---------: | :----: | :-: |
20000   * | **4** _-x-_ | **53**  | **4** _-x-_ | **18** | No  |
20001   *
20002   * @see https://developer.mozilla.org/docs/Web/CSS/mask-size
20003   */
20004  maskSize?: MaskSizeProperty<TLength> | MaskSizeProperty<TLength>[];
20005  /**
20006   * 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.
20007   *
20008   * **Syntax**: `luminance | alpha`
20009   *
20010   * **Initial value**: `luminance`
20011   *
20012   * | Chrome | Firefox | Safari  |  Edge  | IE  |
20013   * | :----: | :-----: | :-----: | :----: | :-: |
20014   * | **24** | **35**  | **6.1** | **79** | No  |
20015   *
20016   * @see https://developer.mozilla.org/docs/Web/CSS/mask-type
20017   */
20018  maskType?: MaskTypeProperty | MaskTypeProperty[];
20019  /**
20020   * 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`.
20021   *
20022   * **Syntax**: `<'max-width'>`
20023   *
20024   * **Initial value**: `0`
20025   *
20026   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
20027   * | :----: | :-----: | :------: | :----: | :-: |
20028   * | **57** | **41**  | **12.1** | **79** | No  |
20029   *
20030   * @see https://developer.mozilla.org/docs/Web/CSS/max-block-size
20031   */
20032  maxBlockSize?: MaxBlockSizeProperty<TLength> | MaxBlockSizeProperty<TLength>[];
20033  /**
20034   * 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`.
20035   *
20036   * **Syntax**: `auto | <length> | <percentage> | min-content | max-content | fit-content(<length-percentage>)`
20037   *
20038   * **Initial value**: `none`
20039   *
20040   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
20041   * | :----: | :-----: | :-----: | :----: | :---: |
20042   * | **18** |  **1**  | **1.3** | **12** | **7** |
20043   *
20044   * @see https://developer.mozilla.org/docs/Web/CSS/max-height
20045   */
20046  maxHeight?: MaxHeightProperty<TLength> | MaxHeightProperty<TLength>[];
20047  /**
20048   * 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 the `max-width` or the `max-height` property depending on the value defined for `writing-mode`. If the writing mode is vertically oriented, the value of `max-inline-size` relates to the maximal height of the element, otherwise it relates to the maximal width of the element. It relates to `max-block-size`, which defines the other dimension of the element.
20049   *
20050   * **Syntax**: `<'max-width'>`
20051   *
20052   * **Initial value**: `0`
20053   *
20054   * | Chrome | Firefox |   Safari   |  Edge  | IE  |
20055   * | :----: | :-----: | :--------: | :----: | :-: |
20056   * | **57** | **41**  |  **12.1**  | **79** | No  |
20057   * |        |         | 10.1 _-x-_ |        |     |
20058   *
20059   * @see https://developer.mozilla.org/docs/Web/CSS/max-inline-size
20060   */
20061  maxInlineSize?: MaxInlineSizeProperty<TLength> | MaxInlineSizeProperty<TLength>[];
20062  /**
20063   * **Syntax**: `none | <integer>`
20064   *
20065   * **Initial value**: `none`
20066   */
20067  maxLines?: MaxLinesProperty | MaxLinesProperty[];
20068  /**
20069   * 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`.
20070   *
20071   * **Syntax**: `auto | <length> | <percentage> | min-content | max-content | fit-content(<length-percentage>)`
20072   *
20073   * **Initial value**: `none`
20074   *
20075   * | Chrome | Firefox | Safari |  Edge  |  IE   |
20076   * | :----: | :-----: | :----: | :----: | :---: |
20077   * | **1**  |  **1**  | **1**  | **12** | **7** |
20078   *
20079   * @see https://developer.mozilla.org/docs/Web/CSS/max-width
20080   */
20081  maxWidth?: MaxWidthProperty<TLength> | MaxWidthProperty<TLength>[];
20082  /**
20083   * 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`.
20084   *
20085   * **Syntax**: `<'min-width'>`
20086   *
20087   * **Initial value**: `0`
20088   *
20089   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
20090   * | :----: | :-----: | :------: | :----: | :-: |
20091   * | **57** | **41**  | **12.1** | **79** | No  |
20092   *
20093   * @see https://developer.mozilla.org/docs/Web/CSS/min-block-size
20094   */
20095  minBlockSize?: MinBlockSizeProperty<TLength> | MinBlockSizeProperty<TLength>[];
20096  /**
20097   * 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`.
20098   *
20099   * **Syntax**: `auto | <length> | <percentage> | min-content | max-content | fit-content(<length-percentage>)`
20100   *
20101   * **Initial value**: `auto`
20102   *
20103   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
20104   * | :----: | :-----: | :-----: | :----: | :---: |
20105   * | **1**  |  **3**  | **1.3** | **12** | **7** |
20106   *
20107   * @see https://developer.mozilla.org/docs/Web/CSS/min-height
20108   */
20109  minHeight?: MinHeightProperty<TLength> | MinHeightProperty<TLength>[];
20110  /**
20111   * 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`.
20112   *
20113   * **Syntax**: `<'min-width'>`
20114   *
20115   * **Initial value**: `0`
20116   *
20117   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
20118   * | :----: | :-----: | :------: | :----: | :-: |
20119   * | **57** | **41**  | **12.1** | **79** | No  |
20120   *
20121   * @see https://developer.mozilla.org/docs/Web/CSS/min-inline-size
20122   */
20123  minInlineSize?: MinInlineSizeProperty<TLength> | MinInlineSizeProperty<TLength>[];
20124  /**
20125   * 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`.
20126   *
20127   * **Syntax**: `auto | <length> | <percentage> | min-content | max-content | fit-content(<length-percentage>)`
20128   *
20129   * **Initial value**: `auto`
20130   *
20131   * | Chrome | Firefox | Safari |  Edge  |  IE   |
20132   * | :----: | :-----: | :----: | :----: | :---: |
20133   * | **1**  |  **1**  | **1**  | **12** | **7** |
20134   *
20135   * @see https://developer.mozilla.org/docs/Web/CSS/min-width
20136   */
20137  minWidth?: MinWidthProperty<TLength> | MinWidthProperty<TLength>[];
20138  /**
20139   * 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.
20140   *
20141   * **Syntax**: `<blend-mode>`
20142   *
20143   * **Initial value**: `normal`
20144   *
20145   * | Chrome | Firefox | Safari |  Edge  | IE  |
20146   * | :----: | :-----: | :----: | :----: | :-: |
20147   * | **41** | **32**  | **8**  | **79** | No  |
20148   *
20149   * @see https://developer.mozilla.org/docs/Web/CSS/mix-blend-mode
20150   */
20151  mixBlendMode?: MixBlendModeProperty | MixBlendModeProperty[];
20152  /**
20153   * The **`offset-distance`** CSS property specifies a position along an `offset-path`.
20154   *
20155   * **Syntax**: `<length-percentage>`
20156   *
20157   * **Initial value**: `0`
20158   *
20159   * |         Chrome         | Firefox | Safari |  Edge  | IE  |
20160   * | :--------------------: | :-----: | :----: | :----: | :-: |
20161   * |         **55**         | **72**  |   No   | **79** | No  |
20162   * | 46 _(motion-distance)_ |         |        |        |     |
20163   *
20164   * @see https://developer.mozilla.org/docs/Web/CSS/offset-distance
20165   */
20166  motionDistance?: OffsetDistanceProperty<TLength> | OffsetDistanceProperty<TLength>[];
20167  /**
20168   * 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.
20169   *
20170   * **Syntax**: `none | ray( [ <angle> && <size>? && contain? ] ) | <path()> | <url> | [ <basic-shape> || <geometry-box> ]`
20171   *
20172   * **Initial value**: `none`
20173   *
20174   * |       Chrome       | Firefox | Safari |  Edge  | IE  |
20175   * | :----------------: | :-----: | :----: | :----: | :-: |
20176   * |       **55**       | **72**  |   No   | **79** | No  |
20177   * | 46 _(motion-path)_ |         |        |        |     |
20178   *
20179   * @see https://developer.mozilla.org/docs/Web/CSS/offset-path
20180   */
20181  motionPath?: OffsetPathProperty | OffsetPathProperty[];
20182  /**
20183   * The **`offset-rotate`** CSS property defines the direction of the element while positioning along the offset path.
20184   *
20185   * **Syntax**: `[ auto | reverse ] || <angle>`
20186   *
20187   * **Initial value**: `auto`
20188   *
20189   * |         Chrome         | Firefox | Safari |  Edge  | IE  |
20190   * | :--------------------: | :-----: | :----: | :----: | :-: |
20191   * |         **56**         | **72**  |   No   | **79** | No  |
20192   * | 46 _(motion-rotation)_ |         |        |        |     |
20193   *
20194   * @see https://developer.mozilla.org/docs/Web/CSS/offset-rotate
20195   */
20196  motionRotation?: OffsetRotateProperty | OffsetRotateProperty[];
20197  /**
20198   * 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.
20199   *
20200   * **Syntax**: `fill | contain | cover | none | scale-down`
20201   *
20202   * **Initial value**: `fill`
20203   *
20204   * | Chrome | Firefox | Safari |  Edge  | IE  |
20205   * | :----: | :-----: | :----: | :----: | :-: |
20206   * | **31** | **36**  | **10** | **16** | No  |
20207   *
20208   * @see https://developer.mozilla.org/docs/Web/CSS/object-fit
20209   */
20210  objectFit?: ObjectFitProperty | ObjectFitProperty[];
20211  /**
20212   * 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.
20213   *
20214   * **Syntax**: `<position>`
20215   *
20216   * **Initial value**: `50% 50%`
20217   *
20218   * | Chrome | Firefox | Safari |  Edge  | IE  |
20219   * | :----: | :-----: | :----: | :----: | :-: |
20220   * | **31** | **36**  | **10** | **16** | No  |
20221   *
20222   * @see https://developer.mozilla.org/docs/Web/CSS/object-position
20223   */
20224  objectPosition?: ObjectPositionProperty<TLength> | ObjectPositionProperty<TLength>[];
20225  /**
20226   * **Syntax**: `auto | <position>`
20227   *
20228   * **Initial value**: `auto`
20229   *
20230   * | Chrome | Firefox | Safari |  Edge  | IE  |
20231   * | :----: | :-----: | :----: | :----: | :-: |
20232   * | **79** | **72**  |   No   | **79** | No  |
20233   *
20234   * @see https://developer.mozilla.org/docs/Web/CSS/offset-anchor
20235   */
20236  offsetAnchor?: OffsetAnchorProperty<TLength> | OffsetAnchorProperty<TLength>[];
20237  /**
20238   * The **`offset-distance`** CSS property specifies a position along an `offset-path`.
20239   *
20240   * **Syntax**: `<length-percentage>`
20241   *
20242   * **Initial value**: `0`
20243   *
20244   * |         Chrome         | Firefox | Safari |  Edge  | IE  |
20245   * | :--------------------: | :-----: | :----: | :----: | :-: |
20246   * |         **55**         | **72**  |   No   | **79** | No  |
20247   * | 46 _(motion-distance)_ |         |        |        |     |
20248   *
20249   * @see https://developer.mozilla.org/docs/Web/CSS/offset-distance
20250   */
20251  offsetDistance?: OffsetDistanceProperty<TLength> | OffsetDistanceProperty<TLength>[];
20252  /**
20253   * 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.
20254   *
20255   * **Syntax**: `none | ray( [ <angle> && <size>? && contain? ] ) | <path()> | <url> | [ <basic-shape> || <geometry-box> ]`
20256   *
20257   * **Initial value**: `none`
20258   *
20259   * |       Chrome       | Firefox | Safari |  Edge  | IE  |
20260   * | :----------------: | :-----: | :----: | :----: | :-: |
20261   * |       **55**       | **72**  |   No   | **79** | No  |
20262   * | 46 _(motion-path)_ |         |        |        |     |
20263   *
20264   * @see https://developer.mozilla.org/docs/Web/CSS/offset-path
20265   */
20266  offsetPath?: OffsetPathProperty | OffsetPathProperty[];
20267  /**
20268   * The **`offset-rotate`** CSS property defines the direction of the element while positioning along the offset path.
20269   *
20270   * **Syntax**: `[ auto | reverse ] || <angle>`
20271   *
20272   * **Initial value**: `auto`
20273   *
20274   * |         Chrome         | Firefox | Safari |  Edge  | IE  |
20275   * | :--------------------: | :-----: | :----: | :----: | :-: |
20276   * |         **56**         | **72**  |   No   | **79** | No  |
20277   * | 46 _(motion-rotation)_ |         |        |        |     |
20278   *
20279   * @see https://developer.mozilla.org/docs/Web/CSS/offset-rotate
20280   */
20281  offsetRotate?: OffsetRotateProperty | OffsetRotateProperty[];
20282  /**
20283   * The **`offset-rotate`** CSS property defines the direction of the element while positioning along the offset path.
20284   *
20285   * **Syntax**: `[ auto | reverse ] || <angle>`
20286   *
20287   * **Initial value**: `auto`
20288   *
20289   * |         Chrome         | Firefox | Safari |  Edge  | IE  |
20290   * | :--------------------: | :-----: | :----: | :----: | :-: |
20291   * |         **56**         | **72**  |   No   | **79** | No  |
20292   * | 46 _(motion-rotation)_ |         |        |        |     |
20293   *
20294   * @see https://developer.mozilla.org/docs/Web/CSS/offset-rotate
20295   */
20296  offsetRotation?: OffsetRotateProperty | OffsetRotateProperty[];
20297  /**
20298   * The **`opacity`** CSS property sets the transparency of an element or the degree to which content behind an element is visible.
20299   *
20300   * **Syntax**: `<alpha-value>`
20301   *
20302   * **Initial value**: `1.0`
20303   *
20304   * | Chrome | Firefox | Safari |  Edge  |  IE   |
20305   * | :----: | :-----: | :----: | :----: | :---: |
20306   * | **1**  |  **1**  | **2**  | **12** | **9** |
20307   *
20308   * @see https://developer.mozilla.org/docs/Web/CSS/opacity
20309   */
20310  opacity?: OpacityProperty | OpacityProperty[];
20311  /**
20312   * 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.
20313   *
20314   * **Syntax**: `<integer>`
20315   *
20316   * **Initial value**: `0`
20317   *
20318   * |  Chrome  | Firefox | Safari  |  Edge  |    IE    |
20319   * | :------: | :-----: | :-----: | :----: | :------: |
20320   * |  **29**  | **20**  |  **9**  | **12** |  **11**  |
20321   * | 21 _-x-_ |         | 7 _-x-_ |        | 10 _-x-_ |
20322   *
20323   * @see https://developer.mozilla.org/docs/Web/CSS/order
20324   */
20325  order?: GlobalsNumber | GlobalsNumber[];
20326  /**
20327   * 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.
20328   *
20329   * **Syntax**: `<integer>`
20330   *
20331   * **Initial value**: `2`
20332   *
20333   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
20334   * | :----: | :-----: | :-----: | :----: | :---: |
20335   * | **25** |   No    | **1.3** | **12** | **8** |
20336   *
20337   * @see https://developer.mozilla.org/docs/Web/CSS/orphans
20338   */
20339  orphans?: GlobalsNumber | GlobalsNumber[];
20340  /**
20341   * The **`outline-color`** CSS property sets the color of an element's outline.
20342   *
20343   * **Syntax**: `<color> | invert`
20344   *
20345   * **Initial value**: `invert`, for browsers supporting it, `currentColor` for the other
20346   *
20347   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
20348   * | :----: | :-----: | :-----: | :----: | :---: |
20349   * | **1**  | **1.5** | **1.2** | **12** | **8** |
20350   *
20351   * @see https://developer.mozilla.org/docs/Web/CSS/outline-color
20352   */
20353  outlineColor?: OutlineColorProperty | OutlineColorProperty[];
20354  /**
20355   * The **`outline-offset`** CSS property sets the amount of space between an outline and the edge or border of an element.
20356   *
20357   * **Syntax**: `<length>`
20358   *
20359   * **Initial value**: `0`
20360   *
20361   * | Chrome | Firefox | Safari  |  Edge  | IE  |
20362   * | :----: | :-----: | :-----: | :----: | :-: |
20363   * | **1**  | **1.5** | **1.2** | **15** | No  |
20364   *
20365   * @see https://developer.mozilla.org/docs/Web/CSS/outline-offset
20366   */
20367  outlineOffset?: OutlineOffsetProperty<TLength> | OutlineOffsetProperty<TLength>[];
20368  /**
20369   * 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`.
20370   *
20371   * **Syntax**: `auto | <'border-style'>`
20372   *
20373   * **Initial value**: `none`
20374   *
20375   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
20376   * | :----: | :-----: | :-----: | :----: | :---: |
20377   * | **1**  | **1.5** | **1.2** | **12** | **8** |
20378   *
20379   * @see https://developer.mozilla.org/docs/Web/CSS/outline-style
20380   */
20381  outlineStyle?: OutlineStyleProperty | OutlineStyleProperty[];
20382  /**
20383   * The **`outline-width`** CSS property sets the thickness of an element's outline. An outline is a line that is drawn around an element, outside the `border`.
20384   *
20385   * **Syntax**: `<line-width>`
20386   *
20387   * **Initial value**: `medium`
20388   *
20389   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
20390   * | :----: | :-----: | :-----: | :----: | :---: |
20391   * | **1**  | **1.5** | **1.2** | **12** | **8** |
20392   *
20393   * @see https://developer.mozilla.org/docs/Web/CSS/outline-width
20394   */
20395  outlineWidth?: OutlineWidthProperty<TLength> | OutlineWidthProperty<TLength>[];
20396  /**
20397   * **Syntax**: `auto | none`
20398   *
20399   * **Initial value**: `auto`
20400   *
20401   * | Chrome | Firefox | Safari |  Edge  | IE  |
20402   * | :----: | :-----: | :----: | :----: | :-: |
20403   * | **56** | **66**  |   No   | **79** | No  |
20404   *
20405   * @see https://developer.mozilla.org/docs/Web/CSS/overflow-anchor
20406   */
20407  overflowAnchor?: OverflowAnchorProperty | OverflowAnchorProperty[];
20408  /**
20409   * **Syntax**: `visible | hidden | clip | scroll | auto`
20410   *
20411   * **Initial value**: `auto`
20412   *
20413   * | Chrome | Firefox | Safari | Edge | IE  |
20414   * | :----: | :-----: | :----: | :--: | :-: |
20415   * |   No   | **69**  |   No   |  No  | No  |
20416   *
20417   * @see https://developer.mozilla.org/docs/Web/CSS/overflow-block
20418   */
20419  overflowBlock?: OverflowBlockProperty | OverflowBlockProperty[];
20420  /**
20421   * 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.
20422   *
20423   * **Syntax**: `padding-box | content-box`
20424   *
20425   * **Initial value**: `padding-box`
20426   *
20427   * | Chrome | Firefox | Safari | Edge | IE  |
20428   * | :----: | :-----: | :----: | :--: | :-: |
20429   * |   No   | **29**  |   No   |  No  | No  |
20430   *
20431   * @see https://developer.mozilla.org/docs/Mozilla/Gecko/Chrome/CSS/overflow-clip-box
20432   */
20433  overflowClipBox?: OverflowClipBoxProperty | OverflowClipBoxProperty[];
20434  /**
20435   * **Syntax**: `visible | hidden | clip | scroll | auto`
20436   *
20437   * **Initial value**: `auto`
20438   *
20439   * | Chrome | Firefox | Safari | Edge | IE  |
20440   * | :----: | :-----: | :----: | :--: | :-: |
20441   * |   No   | **69**  |   No   |  No  | No  |
20442   *
20443   * @see https://developer.mozilla.org/docs/Web/CSS/overflow-inline
20444   */
20445  overflowInline?: OverflowInlineProperty | OverflowInlineProperty[];
20446  /**
20447   * The `**overflow-wrap**` CSS property sets whether the browser should insert line breaks within words to prevent text from overflowing its content box.
20448   *
20449   * **Syntax**: `normal | break-word | anywhere`
20450   *
20451   * **Initial value**: `normal`
20452   *
20453   * |     Chrome      |      Firefox      |     Safari      |       Edge       |          IE           |
20454   * | :-------------: | :---------------: | :-------------: | :--------------: | :-------------------: |
20455   * |     **23**      |      **49**       |     **6.1**     |      **18**      | **5.5** _(word-wrap)_ |
20456   * | 1 _(word-wrap)_ | 3.5 _(word-wrap)_ | 1 _(word-wrap)_ | 12 _(word-wrap)_ |                       |
20457   *
20458   * @see https://developer.mozilla.org/docs/Web/CSS/overflow-wrap
20459   */
20460  overflowWrap?: OverflowWrapProperty | OverflowWrapProperty[];
20461  /**
20462   * 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.
20463   *
20464   * **Syntax**: `visible | hidden | clip | scroll | auto`
20465   *
20466   * **Initial value**: `visible`
20467   *
20468   * | Chrome | Firefox | Safari |  Edge  |  IE   |
20469   * | :----: | :-----: | :----: | :----: | :---: |
20470   * | **1**  | **3.5** | **3**  | **12** | **5** |
20471   *
20472   * @see https://developer.mozilla.org/docs/Web/CSS/overflow-x
20473   */
20474  overflowX?: OverflowXProperty | OverflowXProperty[];
20475  /**
20476   * 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.
20477   *
20478   * **Syntax**: `visible | hidden | clip | scroll | auto`
20479   *
20480   * **Initial value**: `visible`
20481   *
20482   * | Chrome | Firefox | Safari |  Edge  |  IE   |
20483   * | :----: | :-----: | :----: | :----: | :---: |
20484   * | **1**  | **1.5** | **3**  | **12** | **5** |
20485   *
20486   * @see https://developer.mozilla.org/docs/Web/CSS/overflow-y
20487   */
20488  overflowY?: OverflowYProperty | OverflowYProperty[];
20489  /**
20490   * 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`.
20491   *
20492   * **Syntax**: `[ contain | none | auto ]{1,2}`
20493   *
20494   * **Initial value**: `auto`
20495   *
20496   * | Chrome | Firefox | Safari |  Edge  | IE  |
20497   * | :----: | :-----: | :----: | :----: | :-: |
20498   * | **63** | **59**  |   No   | **18** | No  |
20499   *
20500   * @see https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior
20501   */
20502  overscrollBehavior?: OverscrollBehaviorProperty | OverscrollBehaviorProperty[];
20503  /**
20504   * The **`overscroll-behavior-block`** CSS property sets the browser's behavior when the block direction boundary of a scrolling area is reached.
20505   *
20506   * **Syntax**: `contain | none | auto`
20507   *
20508   * **Initial value**: `auto`
20509   *
20510   * | Chrome | Firefox | Safari |  Edge  | IE  |
20511   * | :----: | :-----: | :----: | :----: | :-: |
20512   * | **77** | **73**  |   No   | **79** | No  |
20513   *
20514   * @see https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-block
20515   */
20516  overscrollBehaviorBlock?: OverscrollBehaviorBlockProperty | OverscrollBehaviorBlockProperty[];
20517  /**
20518   * The **`overscroll-behavior-inline`** CSS property sets the browser's behavior when the inline direction boundary of a scrolling area is reached.
20519   *
20520   * **Syntax**: `contain | none | auto`
20521   *
20522   * **Initial value**: `auto`
20523   *
20524   * | Chrome | Firefox | Safari |  Edge  | IE  |
20525   * | :----: | :-----: | :----: | :----: | :-: |
20526   * | **77** | **73**  |   No   | **79** | No  |
20527   *
20528   * @see https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-inline
20529   */
20530  overscrollBehaviorInline?: OverscrollBehaviorInlineProperty | OverscrollBehaviorInlineProperty[];
20531  /**
20532   * The **`overscroll-behavior-x`** CSS property sets the browser's behavior when the horizontal boundary of a scrolling area is reached.
20533   *
20534   * **Syntax**: `contain | none | auto`
20535   *
20536   * **Initial value**: `auto`
20537   *
20538   * | Chrome | Firefox | Safari |  Edge  | IE  |
20539   * | :----: | :-----: | :----: | :----: | :-: |
20540   * | **63** | **59**  |   No   | **18** | No  |
20541   *
20542   * @see https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-x
20543   */
20544  overscrollBehaviorX?: OverscrollBehaviorXProperty | OverscrollBehaviorXProperty[];
20545  /**
20546   * The **`overscroll-behavior-y`** CSS property sets the browser's behavior when the vertical boundary of a scrolling area is reached.
20547   *
20548   * **Syntax**: `contain | none | auto`
20549   *
20550   * **Initial value**: `auto`
20551   *
20552   * | Chrome | Firefox | Safari |  Edge  | IE  |
20553   * | :----: | :-----: | :----: | :----: | :-: |
20554   * | **63** | **59**  |   No   | **18** | No  |
20555   *
20556   * @see https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-y
20557   */
20558  overscrollBehaviorY?: OverscrollBehaviorYProperty | OverscrollBehaviorYProperty[];
20559  /**
20560   * The **`padding-block`** CSS 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.
20561   *
20562   * **Syntax**: `<'padding-left'>{1,2}`
20563   *
20564   * **Initial value**: `0`
20565   *
20566   * | Chrome | Firefox | Safari | Edge | IE  |
20567   * | :----: | :-----: | :----: | :--: | :-: |
20568   * |  n/a   | **66**  |   No   | n/a  | No  |
20569   *
20570   * @see https://developer.mozilla.org/docs/Web/CSS/padding-block
20571   */
20572  paddingBlock?: PaddingBlockProperty<TLength> | PaddingBlockProperty<TLength>[];
20573  /**
20574   * 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. It corresponds to the `padding-top`, `padding-right`, `padding-bottom`, or `padding-left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
20575   *
20576   * **Syntax**: `<'padding-left'>`
20577   *
20578   * **Initial value**: `0`
20579   *
20580   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
20581   * | :----: | :-----: | :------: | :----: | :-: |
20582   * | **69** | **41**  | **12.1** | **79** | No  |
20583   *
20584   * @see https://developer.mozilla.org/docs/Web/CSS/padding-block-end
20585   */
20586  paddingBlockEnd?: PaddingBlockEndProperty<TLength> | PaddingBlockEndProperty<TLength>[];
20587  /**
20588   * 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. It corresponds to the `padding-top`, `padding-right`, `padding-bottom`, or `padding-left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
20589   *
20590   * **Syntax**: `<'padding-left'>`
20591   *
20592   * **Initial value**: `0`
20593   *
20594   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
20595   * | :----: | :-----: | :------: | :----: | :-: |
20596   * | **69** | **41**  | **12.1** | **79** | No  |
20597   *
20598   * @see https://developer.mozilla.org/docs/Web/CSS/padding-block-start
20599   */
20600  paddingBlockStart?: PaddingBlockStartProperty<TLength> | PaddingBlockStartProperty<TLength>[];
20601  /**
20602   * The **`padding-bottom`** CSS property sets the height of the padding area on the bottom of an element.
20603   *
20604   * **Syntax**: `<length> | <percentage>`
20605   *
20606   * **Initial value**: `0`
20607   *
20608   * | Chrome | Firefox | Safari |  Edge  |  IE   |
20609   * | :----: | :-----: | :----: | :----: | :---: |
20610   * | **1**  |  **1**  | **1**  | **12** | **4** |
20611   *
20612   * @see https://developer.mozilla.org/docs/Web/CSS/padding-bottom
20613   */
20614  paddingBottom?: PaddingBottomProperty<TLength> | PaddingBottomProperty<TLength>[];
20615  /**
20616   * The **`padding-inline`** CSS 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.
20617   *
20618   * **Syntax**: `<'padding-left'>{1,2}`
20619   *
20620   * **Initial value**: `0`
20621   *
20622   * | Chrome | Firefox | Safari | Edge | IE  |
20623   * | :----: | :-----: | :----: | :--: | :-: |
20624   * |  n/a   | **66**  |   No   | n/a  | No  |
20625   *
20626   * @see https://developer.mozilla.org/docs/Web/CSS/padding-inline
20627   */
20628  paddingInline?: PaddingInlineProperty<TLength> | PaddingInlineProperty<TLength>[];
20629  /**
20630   * 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. It corresponds to the `padding-top`, `padding-right`, `padding-bottom`, or `padding-left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
20631   *
20632   * **Syntax**: `<'padding-left'>`
20633   *
20634   * **Initial value**: `0`
20635   *
20636   * |          Chrome           |        Firefox         |          Safari           |  Edge  | IE  |
20637   * | :-----------------------: | :--------------------: | :-----------------------: | :----: | :-: |
20638   * |          **69**           |         **41**         |         **12.1**          | **79** | No  |
20639   * | 2 _(-webkit-padding-end)_ | 3 _(-moz-padding-end)_ | 3 _(-webkit-padding-end)_ |        |     |
20640   *
20641   * @see https://developer.mozilla.org/docs/Web/CSS/padding-inline-end
20642   */
20643  paddingInlineEnd?: PaddingInlineEndProperty<TLength> | PaddingInlineEndProperty<TLength>[];
20644  /**
20645   * 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. It corresponds to the `padding-top`, `padding-right`, `padding-bottom`, or `padding-left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
20646   *
20647   * **Syntax**: `<'padding-left'>`
20648   *
20649   * **Initial value**: `0`
20650   *
20651   * |           Chrome            |         Firefox          |           Safari            |  Edge  | IE  |
20652   * | :-------------------------: | :----------------------: | :-------------------------: | :----: | :-: |
20653   * |           **69**            |          **41**          |          **12.1**           | **79** | No  |
20654   * | 2 _(-webkit-padding-start)_ | 3 _(-moz-padding-start)_ | 3 _(-webkit-padding-start)_ |        |     |
20655   *
20656   * @see https://developer.mozilla.org/docs/Web/CSS/padding-inline-start
20657   */
20658  paddingInlineStart?: PaddingInlineStartProperty<TLength> | PaddingInlineStartProperty<TLength>[];
20659  /**
20660   * The **`padding-left`** CSS property sets the width of the padding area on the left side of an element.
20661   *
20662   * **Syntax**: `<length> | <percentage>`
20663   *
20664   * **Initial value**: `0`
20665   *
20666   * | Chrome | Firefox | Safari |  Edge  |  IE   |
20667   * | :----: | :-----: | :----: | :----: | :---: |
20668   * | **1**  |  **1**  | **1**  | **12** | **4** |
20669   *
20670   * @see https://developer.mozilla.org/docs/Web/CSS/padding-left
20671   */
20672  paddingLeft?: PaddingLeftProperty<TLength> | PaddingLeftProperty<TLength>[];
20673  /**
20674   * The **`padding-right`** CSS property sets the width of the padding area on the right side of an element.
20675   *
20676   * **Syntax**: `<length> | <percentage>`
20677   *
20678   * **Initial value**: `0`
20679   *
20680   * | Chrome | Firefox | Safari |  Edge  |  IE   |
20681   * | :----: | :-----: | :----: | :----: | :---: |
20682   * | **1**  |  **1**  | **1**  | **12** | **4** |
20683   *
20684   * @see https://developer.mozilla.org/docs/Web/CSS/padding-right
20685   */
20686  paddingRight?: PaddingRightProperty<TLength> | PaddingRightProperty<TLength>[];
20687  /**
20688   * The **`padding-top`** padding area on the top of an element.
20689   *
20690   * **Syntax**: `<length> | <percentage>`
20691   *
20692   * **Initial value**: `0`
20693   *
20694   * | Chrome | Firefox | Safari |  Edge  |  IE   |
20695   * | :----: | :-----: | :----: | :----: | :---: |
20696   * | **1**  |  **1**  | **1**  | **12** | **4** |
20697   *
20698   * @see https://developer.mozilla.org/docs/Web/CSS/padding-top
20699   */
20700  paddingTop?: PaddingTopProperty<TLength> | PaddingTopProperty<TLength>[];
20701  /**
20702   * The **`page-break-after`** CSS property adjusts page breaks _after_ the current element.
20703   *
20704   * **Syntax**: `auto | always | avoid | left | right | recto | verso`
20705   *
20706   * **Initial value**: `auto`
20707   *
20708   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
20709   * | :----: | :-----: | :-----: | :----: | :---: |
20710   * | **1**  |  **1**  | **1.2** | **12** | **4** |
20711   *
20712   * @see https://developer.mozilla.org/docs/Web/CSS/page-break-after
20713   */
20714  pageBreakAfter?: PageBreakAfterProperty | PageBreakAfterProperty[];
20715  /**
20716   * The **`page-break-before`** CSS property adjusts page breaks _before_ the current element.
20717   *
20718   * **Syntax**: `auto | always | avoid | left | right | recto | verso`
20719   *
20720   * **Initial value**: `auto`
20721   *
20722   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
20723   * | :----: | :-----: | :-----: | :----: | :---: |
20724   * | **1**  |  **1**  | **1.2** | **12** | **4** |
20725   *
20726   * @see https://developer.mozilla.org/docs/Web/CSS/page-break-before
20727   */
20728  pageBreakBefore?: PageBreakBeforeProperty | PageBreakBeforeProperty[];
20729  /**
20730   * The **`page-break-inside`** CSS property adjusts page breaks _inside_ the current element.
20731   *
20732   * **Syntax**: `auto | avoid`
20733   *
20734   * **Initial value**: `auto`
20735   *
20736   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
20737   * | :----: | :-----: | :-----: | :----: | :---: |
20738   * | **1**  | **19**  | **1.3** | **12** | **8** |
20739   *
20740   * @see https://developer.mozilla.org/docs/Web/CSS/page-break-inside
20741   */
20742  pageBreakInside?: PageBreakInsideProperty | PageBreakInsideProperty[];
20743  /**
20744   * 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.
20745   *
20746   * **Syntax**: `normal | [ fill || stroke || markers ]`
20747   *
20748   * **Initial value**: `normal`
20749   *
20750   * | Chrome | Firefox | Safari |  Edge  | IE  |
20751   * | :----: | :-----: | :----: | :----: | :-: |
20752   * | **35** | **60**  | **8**  | **17** | No  |
20753   *
20754   * @see https://developer.mozilla.org/docs/Web/CSS/paint-order
20755   */
20756  paintOrder?: PaintOrderProperty | PaintOrderProperty[];
20757  /**
20758   * 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. Each 3D element with z>0 becomes larger; each 3D-element with z<0 becomes smaller. The strength of the effect is determined by the value of this property.
20759   *
20760   * **Syntax**: `none | <length>`
20761   *
20762   * **Initial value**: `none`
20763   *
20764   * |  Chrome  | Firefox  | Safari  |  Edge  |   IE   |
20765   * | :------: | :------: | :-----: | :----: | :----: |
20766   * |  **36**  |  **16**  |  **9**  | **12** | **10** |
20767   * | 12 _-x-_ | 10 _-x-_ | 4 _-x-_ |        |        |
20768   *
20769   * @see https://developer.mozilla.org/docs/Web/CSS/perspective
20770   */
20771  perspective?: PerspectiveProperty<TLength> | PerspectiveProperty<TLength>[];
20772  /**
20773   * 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.
20774   *
20775   * **Syntax**: `<position>`
20776   *
20777   * **Initial value**: `50% 50%`
20778   *
20779   * |  Chrome  | Firefox  | Safari  |  Edge  |   IE   |
20780   * | :------: | :------: | :-----: | :----: | :----: |
20781   * |  **36**  |  **16**  |  **9**  | **12** | **10** |
20782   * | 12 _-x-_ | 10 _-x-_ | 4 _-x-_ |        |        |
20783   *
20784   * @see https://developer.mozilla.org/docs/Web/CSS/perspective-origin
20785   */
20786  perspectiveOrigin?: PerspectiveOriginProperty<TLength> | PerspectiveOriginProperty<TLength>[];
20787  /**
20788   * The `**place-content**` CSS property is a shorthand for `align-content` and `justify-content`. It can be used in any layout method which utilizes both of these alignment values.
20789   *
20790   * **Syntax**: `<'align-content'> <'justify-content'>?`
20791   *
20792   * **Initial value**: `normal`
20793   *
20794   * ---
20795   *
20796   * _Supported in Flex Layout_
20797   *
20798   * | Chrome | Firefox | Safari |  Edge  | IE  |
20799   * | :----: | :-----: | :----: | :----: | :-: |
20800   * | **59** | **45**  | **9**  | **79** | No  |
20801   *
20802   * ---
20803   *
20804   * _Supported in Grid Layout_
20805   *
20806   * | Chrome | Firefox | Safari |  Edge  | IE  |
20807   * | :----: | :-----: | :----: | :----: | :-: |
20808   * | **59** | **53**  | **11** | **79** | No  |
20809   *
20810   * ---
20811   *
20812   * @see https://developer.mozilla.org/docs/Web/CSS/place-content
20813   */
20814  placeContent?: PlaceContentProperty | PlaceContentProperty[];
20815  /**
20816   * The **`pointer-events`** CSS property sets under what circumstances (if any) a particular graphic element can become the target of mouse events.
20817   *
20818   * **Syntax**: `auto | none | visiblePainted | visibleFill | visibleStroke | visible | painted | fill | stroke | all | inherit`
20819   *
20820   * **Initial value**: `auto`
20821   *
20822   * | Chrome | Firefox | Safari |  Edge  |   IE   |
20823   * | :----: | :-----: | :----: | :----: | :----: |
20824   * | **1**  | **1.5** | **4**  | **12** | **11** |
20825   *
20826   * @see https://developer.mozilla.org/docs/Web/CSS/pointer-events
20827   */
20828  pointerEvents?: PointerEventsProperty | PointerEventsProperty[];
20829  /**
20830   * 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.
20831   *
20832   * **Syntax**: `static | relative | absolute | sticky | fixed`
20833   *
20834   * **Initial value**: `static`
20835   *
20836   * | Chrome | Firefox | Safari |  Edge  |  IE   |
20837   * | :----: | :-----: | :----: | :----: | :---: |
20838   * | **1**  |  **1**  | **1**  | **12** | **4** |
20839   *
20840   * @see https://developer.mozilla.org/docs/Web/CSS/position
20841   */
20842  position?: PositionProperty | PositionProperty[];
20843  /**
20844   * The **`quotes`** CSS property sets how quotation marks appear.
20845   *
20846   * **Syntax**: `none | auto | [ <string> <string> ]+`
20847   *
20848   * **Initial value**: depends on user agent
20849   *
20850   * | Chrome | Firefox | Safari |  Edge  |  IE   |
20851   * | :----: | :-----: | :----: | :----: | :---: |
20852   * | **11** | **1.5** | **9**  | **12** | **8** |
20853   *
20854   * @see https://developer.mozilla.org/docs/Web/CSS/quotes
20855   */
20856  quotes?: QuotesProperty | QuotesProperty[];
20857  /**
20858   * The **`resize`** CSS property sets whether an element is resizable, and if so, in which directions.
20859   *
20860   * **Syntax**: `none | both | horizontal | vertical | block | inline`
20861   *
20862   * **Initial value**: `none`
20863   *
20864   * | Chrome | Firefox | Safari |  Edge  | IE  |
20865   * | :----: | :-----: | :----: | :----: | :-: |
20866   * | **1**  |  **4**  | **3**  | **79** | No  |
20867   *
20868   * @see https://developer.mozilla.org/docs/Web/CSS/resize
20869   */
20870  resize?: ResizeProperty | ResizeProperty[];
20871  /**
20872   * The **`right`** CSS property participates in specifying the horizontal position of a _positioned element_. It has no effect on non-positioned elements.
20873   *
20874   * **Syntax**: `<length> | <percentage> | auto`
20875   *
20876   * **Initial value**: `auto`
20877   *
20878   * | Chrome | Firefox | Safari |  Edge  |   IE    |
20879   * | :----: | :-----: | :----: | :----: | :-----: |
20880   * | **1**  |  **1**  | **1**  | **12** | **5.5** |
20881   *
20882   * @see https://developer.mozilla.org/docs/Web/CSS/right
20883   */
20884  right?: RightProperty<TLength> | RightProperty<TLength>[];
20885  /**
20886   * The **`rotate`** CSS property allows you to specify rotation transforms individually and independantly 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.
20887   *
20888   * **Syntax**: `none | <angle> | [ x | y | z | <number>{3} ] && <angle>`
20889   *
20890   * **Initial value**: `none`
20891   *
20892   * | Chrome | Firefox | Safari | Edge | IE  |
20893   * | :----: | :-----: | :----: | :--: | :-: |
20894   * |   No   | **72**  |   No   |  No  | No  |
20895   *
20896   * @see https://developer.mozilla.org/docs/Web/CSS/rotate
20897   */
20898  rotate?: RotateProperty | RotateProperty[];
20899  /**
20900   * The **`row-gap`** CSS property sets the size of the gap (gutter) between an element's grid rows.
20901   *
20902   * **Syntax**: `normal | <length-percentage>`
20903   *
20904   * **Initial value**: `normal`
20905   *
20906   * ---
20907   *
20908   * _Supported in Flex Layout_
20909   *
20910   * | Chrome | Firefox | Safari | Edge | IE  |
20911   * | :----: | :-----: | :----: | :--: | :-: |
20912   * |   No   | **63**  |   No   |  No  | No  |
20913   *
20914   * ---
20915   *
20916   * _Supported in Grid Layout_
20917   *
20918   * |       Chrome        |       Firefox       |          Safari           |  Edge  | IE  |
20919   * | :-----------------: | :-----------------: | :-----------------------: | :----: | :-: |
20920   * |       **66**        |       **61**        | **10.1** _(grid-row-gap)_ | **16** | No  |
20921   * | 57 _(grid-row-gap)_ | 52 _(grid-row-gap)_ |                           |        |     |
20922   *
20923   * ---
20924   *
20925   * @see https://developer.mozilla.org/docs/Web/CSS/row-gap
20926   */
20927  rowGap?: RowGapProperty<TLength> | RowGapProperty<TLength>[];
20928  /**
20929   * The `**ruby-align**` CSS property defines the distribution of the different ruby elements over the base.
20930   *
20931   * **Syntax**: `start | center | space-between | space-around`
20932   *
20933   * **Initial value**: `space-around`
20934   *
20935   * | Chrome | Firefox | Safari | Edge | IE  |
20936   * | :----: | :-----: | :----: | :--: | :-: |
20937   * |   No   | **38**  |   No   |  No  | No  |
20938   *
20939   * @see https://developer.mozilla.org/docs/Web/CSS/ruby-align
20940   */
20941  rubyAlign?: RubyAlignProperty | RubyAlignProperty[];
20942  /**
20943   * **Syntax**: `separate | collapse | auto`
20944   *
20945   * **Initial value**: `separate`
20946   */
20947  rubyMerge?: RubyMergeProperty | RubyMergeProperty[];
20948  /**
20949   * 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`).
20950   *
20951   * **Syntax**: `over | under | inter-character`
20952   *
20953   * **Initial value**: `over`
20954   *
20955   * | Chrome | Firefox | Safari | Edge  | IE  |
20956   * | :----: | :-----: | :----: | :---: | :-: |
20957   * |   No   | **38**  |   No   | 12-79 | No  |
20958   *
20959   * @see https://developer.mozilla.org/docs/Web/CSS/ruby-position
20960   */
20961  rubyPosition?: RubyPositionProperty | RubyPositionProperty[];
20962  /**
20963   * The **`scale`** CSS property allows you to specify scale transforms individually and independantly 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.
20964   *
20965   * **Syntax**: `none | <number>{1,3}`
20966   *
20967   * **Initial value**: `none`
20968   *
20969   * | Chrome | Firefox | Safari | Edge | IE  |
20970   * | :----: | :-----: | :----: | :--: | :-: |
20971   * |   No   | **72**  |   No   |  No  | No  |
20972   *
20973   * @see https://developer.mozilla.org/docs/Web/CSS/scale
20974   */
20975  scale?: ScaleProperty | ScaleProperty[];
20976  /**
20977   * The **`scroll-behavior`** CSS property sets the behavior for a scrolling box when scrolling is triggered by the navigation or CSSOM scrolling APIs.
20978   *
20979   * **Syntax**: `auto | smooth`
20980   *
20981   * **Initial value**: `auto`
20982   *
20983   * | Chrome | Firefox | Safari |  Edge  | IE  |
20984   * | :----: | :-----: | :----: | :----: | :-: |
20985   * | **61** | **36**  |   No   | **79** | No  |
20986   *
20987   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-behavior
20988   */
20989  scrollBehavior?: ScrollBehaviorProperty | ScrollBehaviorProperty[];
20990  /**
20991   * The **`scroll-margin`** property is a shorthand property which sets all of the `scroll-margin` longhands, assigning values much like the `margin` property does for the `margin-*` longhands.
20992   *
20993   * **Syntax**: `<length>{1,4}`
20994   *
20995   * **Initial value**: `0`
20996   *
20997   * | Chrome | Firefox |            Safari             |  Edge  | IE  |
20998   * | :----: | :-----: | :---------------------------: | :----: | :-: |
20999   * | **69** | **68**  | **11** _(scroll-snap-margin)_ | **79** | No  |
21000   *
21001   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin
21002   */
21003  scrollMargin?: ScrollMarginProperty<TLength> | ScrollMarginProperty<TLength>[];
21004  /**
21005   * The `scroll-margin-block` property is a shorthand property which sets the scroll-margin longhands in the block dimension.
21006   *
21007   * **Syntax**: `<length>{1,2}`
21008   *
21009   * **Initial value**: `0`
21010   *
21011   * | Chrome | Firefox | Safari |  Edge  | IE  |
21012   * | :----: | :-----: | :----: | :----: | :-: |
21013   * | **69** | **68**  |   No   | **79** | No  |
21014   *
21015   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-block
21016   */
21017  scrollMarginBlock?: ScrollMarginBlockProperty<TLength> | ScrollMarginBlockProperty<TLength>[];
21018  /**
21019   * 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.
21020   *
21021   * **Syntax**: `<length>`
21022   *
21023   * **Initial value**: `0`
21024   *
21025   * | Chrome | Firefox | Safari |  Edge  | IE  |
21026   * | :----: | :-----: | :----: | :----: | :-: |
21027   * | **69** | **68**  |   No   | **79** | No  |
21028   *
21029   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-block-end
21030   */
21031  scrollMarginBlockEnd?: ScrollMarginBlockEndProperty<TLength> | ScrollMarginBlockEndProperty<TLength>[];
21032  /**
21033   * 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.
21034   *
21035   * **Syntax**: `<length>`
21036   *
21037   * **Initial value**: `0`
21038   *
21039   * | Chrome | Firefox | Safari |  Edge  | IE  |
21040   * | :----: | :-----: | :----: | :----: | :-: |
21041   * | **69** | **68**  |   No   | **79** | No  |
21042   *
21043   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-block-start
21044   */
21045  scrollMarginBlockStart?: ScrollMarginBlockStartProperty<TLength> | ScrollMarginBlockStartProperty<TLength>[];
21046  /**
21047   * 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.
21048   *
21049   * **Syntax**: `<length>`
21050   *
21051   * **Initial value**: `0`
21052   *
21053   * | Chrome | Firefox |                Safari                |  Edge  | IE  |
21054   * | :----: | :-----: | :----------------------------------: | :----: | :-: |
21055   * | **69** | **68**  | **11** _(scroll-snap-margin-bottom)_ | **79** | No  |
21056   *
21057   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-bottom
21058   */
21059  scrollMarginBottom?: ScrollMarginBottomProperty<TLength> | ScrollMarginBottomProperty<TLength>[];
21060  /**
21061   * The `scroll-margin-inline` property is a shorthand property which sets the scroll-margin longhands in the inline dimension.
21062   *
21063   * **Syntax**: `<length>{1,2}`
21064   *
21065   * **Initial value**: `0`
21066   *
21067   * | Chrome | Firefox | Safari | Edge | IE  |
21068   * | :----: | :-----: | :----: | :--: | :-: |
21069   * |   No   | **68**  |   No   |  No  | No  |
21070   *
21071   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-inline
21072   */
21073  scrollMarginInline?: ScrollMarginInlineProperty<TLength> | ScrollMarginInlineProperty<TLength>[];
21074  /**
21075   * 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.
21076   *
21077   * **Syntax**: `<length>`
21078   *
21079   * **Initial value**: `0`
21080   *
21081   * | Chrome | Firefox | Safari |  Edge  | IE  |
21082   * | :----: | :-----: | :----: | :----: | :-: |
21083   * | **69** | **68**  |   No   | **79** | No  |
21084   *
21085   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-inline-end
21086   */
21087  scrollMarginInlineEnd?: ScrollMarginInlineEndProperty<TLength> | ScrollMarginInlineEndProperty<TLength>[];
21088  /**
21089   * 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.
21090   *
21091   * **Syntax**: `<length>`
21092   *
21093   * **Initial value**: `0`
21094   *
21095   * | Chrome | Firefox | Safari |  Edge  | IE  |
21096   * | :----: | :-----: | :----: | :----: | :-: |
21097   * | **69** | **68**  |   No   | **79** | No  |
21098   *
21099   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-inline-start
21100   */
21101  scrollMarginInlineStart?: ScrollMarginInlineStartProperty<TLength> | ScrollMarginInlineStartProperty<TLength>[];
21102  /**
21103   * 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.
21104   *
21105   * **Syntax**: `<length>`
21106   *
21107   * **Initial value**: `0`
21108   *
21109   * | Chrome | Firefox |               Safari               |  Edge  | IE  |
21110   * | :----: | :-----: | :--------------------------------: | :----: | :-: |
21111   * | **69** | **68**  | **11** _(scroll-snap-margin-left)_ | **79** | No  |
21112   *
21113   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-left
21114   */
21115  scrollMarginLeft?: ScrollMarginLeftProperty<TLength> | ScrollMarginLeftProperty<TLength>[];
21116  /**
21117   * 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.
21118   *
21119   * **Syntax**: `<length>`
21120   *
21121   * **Initial value**: `0`
21122   *
21123   * | Chrome | Firefox |               Safari                |  Edge  | IE  |
21124   * | :----: | :-----: | :---------------------------------: | :----: | :-: |
21125   * | **69** | **68**  | **11** _(scroll-snap-margin-right)_ | **79** | No  |
21126   *
21127   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-right
21128   */
21129  scrollMarginRight?: ScrollMarginRightProperty<TLength> | ScrollMarginRightProperty<TLength>[];
21130  /**
21131   * 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.
21132   *
21133   * **Syntax**: `<length>`
21134   *
21135   * **Initial value**: `0`
21136   *
21137   * | Chrome | Firefox |              Safari               |  Edge  | IE  |
21138   * | :----: | :-----: | :-------------------------------: | :----: | :-: |
21139   * | **69** | **68**  | **11** _(scroll-snap-margin-top)_ | **79** | No  |
21140   *
21141   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-top
21142   */
21143  scrollMarginTop?: ScrollMarginTopProperty<TLength> | ScrollMarginTopProperty<TLength>[];
21144  /**
21145 * The scroll-padding property is a shorthand property which sets all of the scroll-padding longhands, assigning values much like the padding property does for the padding-\* longhands.
21146
21147The scroll-padding properties define offsets for 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.
21148 *
21149 * **Syntax**: `[ auto | <length-percentage> ]{1,4}`
21150 *
21151 * **Initial value**: `auto`
21152 *
21153 * | Chrome | Firefox | Safari |  Edge  | IE  |
21154 * | :----: | :-----: | :----: | :----: | :-: |
21155 * | **69** | **68**  | **11** | **79** | No  |
21156 *
21157 * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding
21158 */
21159  scrollPadding?: ScrollPaddingProperty<TLength> | ScrollPaddingProperty<TLength>[];
21160  /**
21161 * The `scroll-padding-block` property is a shorthand property which sets the scroll-padding longhands for the block dimension.
21162
21163The scroll-padding properties define offsets for 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.
21164 *
21165 * **Syntax**: `[ auto | <length-percentage> ]{1,2}`
21166 *
21167 * **Initial value**: `auto`
21168 *
21169 * | Chrome | Firefox | Safari |  Edge  | IE  |
21170 * | :----: | :-----: | :----: | :----: | :-: |
21171 * | **69** | **68**  |   No   | **79** | No  |
21172 *
21173 * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding-block
21174 */
21175  scrollPaddingBlock?: ScrollPaddingBlockProperty<TLength> | ScrollPaddingBlockProperty<TLength>[];
21176  /**
21177   * 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.
21178   *
21179   * **Syntax**: `auto | <length-percentage>`
21180   *
21181   * **Initial value**: `auto`
21182   *
21183   * | Chrome | Firefox | Safari |  Edge  | IE  |
21184   * | :----: | :-----: | :----: | :----: | :-: |
21185   * | **69** | **68**  |   No   | **79** | No  |
21186   *
21187   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding-block-end
21188   */
21189  scrollPaddingBlockEnd?: ScrollPaddingBlockEndProperty<TLength> | ScrollPaddingBlockEndProperty<TLength>[];
21190  /**
21191   * 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.
21192   *
21193   * **Syntax**: `auto | <length-percentage>`
21194   *
21195   * **Initial value**: `auto`
21196   *
21197   * | Chrome | Firefox | Safari |  Edge  | IE  |
21198   * | :----: | :-----: | :----: | :----: | :-: |
21199   * | **69** | **68**  |   No   | **79** | No  |
21200   *
21201   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding-block-start
21202   */
21203  scrollPaddingBlockStart?: ScrollPaddingBlockStartProperty<TLength> | ScrollPaddingBlockStartProperty<TLength>[];
21204  /**
21205   * 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.
21206   *
21207   * **Syntax**: `auto | <length-percentage>`
21208   *
21209   * **Initial value**: `auto`
21210   *
21211   * | Chrome | Firefox | Safari |  Edge  | IE  |
21212   * | :----: | :-----: | :----: | :----: | :-: |
21213   * | **69** | **68**  | **11** | **79** | No  |
21214   *
21215   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding-bottom
21216   */
21217  scrollPaddingBottom?: ScrollPaddingBottomProperty<TLength> | ScrollPaddingBottomProperty<TLength>[];
21218  /**
21219 * The `scroll-padding-inline` property is a shorthand property which sets the scroll-padding longhands for the inline dimension.
21220
21221The scroll-padding properties define offsets for 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.
21222 *
21223 * **Syntax**: `[ auto | <length-percentage> ]{1,2}`
21224 *
21225 * **Initial value**: `auto`
21226 *
21227 * | Chrome | Firefox | Safari |  Edge  | IE  |
21228 * | :----: | :-----: | :----: | :----: | :-: |
21229 * | **69** | **68**  |   No   | **79** | No  |
21230 *
21231 * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding-inline
21232 */
21233  scrollPaddingInline?: ScrollPaddingInlineProperty<TLength> | ScrollPaddingInlineProperty<TLength>[];
21234  /**
21235   * 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.
21236   *
21237   * **Syntax**: `auto | <length-percentage>`
21238   *
21239   * **Initial value**: `auto`
21240   *
21241   * | Chrome | Firefox | Safari |  Edge  | IE  |
21242   * | :----: | :-----: | :----: | :----: | :-: |
21243   * | **69** | **68**  |   No   | **79** | No  |
21244   *
21245   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding-inline-end
21246   */
21247  scrollPaddingInlineEnd?: ScrollPaddingInlineEndProperty<TLength> | ScrollPaddingInlineEndProperty<TLength>[];
21248  /**
21249   * 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.
21250   *
21251   * **Syntax**: `auto | <length-percentage>`
21252   *
21253   * **Initial value**: `auto`
21254   *
21255   * | Chrome | Firefox | Safari |  Edge  | IE  |
21256   * | :----: | :-----: | :----: | :----: | :-: |
21257   * | **69** | **68**  |   No   | **79** | No  |
21258   *
21259   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding-inline-start
21260   */
21261  scrollPaddingInlineStart?: ScrollPaddingInlineStartProperty<TLength> | ScrollPaddingInlineStartProperty<TLength>[];
21262  /**
21263   * 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.
21264   *
21265   * **Syntax**: `auto | <length-percentage>`
21266   *
21267   * **Initial value**: `auto`
21268   *
21269   * | Chrome | Firefox | Safari |  Edge  | IE  |
21270   * | :----: | :-----: | :----: | :----: | :-: |
21271   * | **69** | **68**  | **11** | **79** | No  |
21272   *
21273   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding-left
21274   */
21275  scrollPaddingLeft?: ScrollPaddingLeftProperty<TLength> | ScrollPaddingLeftProperty<TLength>[];
21276  /**
21277   * 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.
21278   *
21279   * **Syntax**: `auto | <length-percentage>`
21280   *
21281   * **Initial value**: `auto`
21282   *
21283   * | Chrome | Firefox | Safari |  Edge  | IE  |
21284   * | :----: | :-----: | :----: | :----: | :-: |
21285   * | **69** | **68**  | **11** | **79** | No  |
21286   *
21287   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding-right
21288   */
21289  scrollPaddingRight?: ScrollPaddingRightProperty<TLength> | ScrollPaddingRightProperty<TLength>[];
21290  /**
21291   * 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.
21292   *
21293   * **Syntax**: `auto | <length-percentage>`
21294   *
21295   * **Initial value**: `auto`
21296   *
21297   * | Chrome | Firefox | Safari |  Edge  | IE  |
21298   * | :----: | :-----: | :----: | :----: | :-: |
21299   * | **69** | **68**  | **11** | **79** | No  |
21300   *
21301   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding-top
21302   */
21303  scrollPaddingTop?: ScrollPaddingTopProperty<TLength> | ScrollPaddingTopProperty<TLength>[];
21304  /**
21305   * 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.
21306   *
21307   * **Syntax**: `[ none | start | end | center ]{1,2}`
21308   *
21309   * **Initial value**: `none`
21310   *
21311   * | Chrome | Firefox | Safari |  Edge  | IE  |
21312   * | :----: | :-----: | :----: | :----: | :-: |
21313   * | **69** | **68**  | **11** | **79** | No  |
21314   *
21315   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-snap-align
21316   */
21317  scrollSnapAlign?: ScrollSnapAlignProperty | ScrollSnapAlignProperty[];
21318  /**
21319   * The **`scroll-margin`** property is a shorthand property which sets all of the `scroll-margin` longhands, assigning values much like the `margin` property does for the `margin-*` longhands.
21320   *
21321   * **Syntax**: `<length>{1,4}`
21322   *
21323   * **Initial value**: `0`
21324   *
21325   * | Chrome | Firefox |            Safari             |  Edge  | IE  |
21326   * | :----: | :-----: | :---------------------------: | :----: | :-: |
21327   * | **69** | **68**  | **11** _(scroll-snap-margin)_ | **79** | No  |
21328   *
21329   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin
21330   */
21331  scrollSnapMargin?: ScrollMarginProperty<TLength> | ScrollMarginProperty<TLength>[];
21332  /**
21333   * 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.
21334   *
21335   * **Syntax**: `<length>`
21336   *
21337   * **Initial value**: `0`
21338   *
21339   * | Chrome | Firefox |                Safari                |  Edge  | IE  |
21340   * | :----: | :-----: | :----------------------------------: | :----: | :-: |
21341   * | **69** | **68**  | **11** _(scroll-snap-margin-bottom)_ | **79** | No  |
21342   *
21343   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-bottom
21344   */
21345  scrollSnapMarginBottom?: ScrollMarginBottomProperty<TLength> | ScrollMarginBottomProperty<TLength>[];
21346  /**
21347   * 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.
21348   *
21349   * **Syntax**: `<length>`
21350   *
21351   * **Initial value**: `0`
21352   *
21353   * | Chrome | Firefox |               Safari               |  Edge  | IE  |
21354   * | :----: | :-----: | :--------------------------------: | :----: | :-: |
21355   * | **69** | **68**  | **11** _(scroll-snap-margin-left)_ | **79** | No  |
21356   *
21357   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-left
21358   */
21359  scrollSnapMarginLeft?: ScrollMarginLeftProperty<TLength> | ScrollMarginLeftProperty<TLength>[];
21360  /**
21361   * 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.
21362   *
21363   * **Syntax**: `<length>`
21364   *
21365   * **Initial value**: `0`
21366   *
21367   * | Chrome | Firefox |               Safari                |  Edge  | IE  |
21368   * | :----: | :-----: | :---------------------------------: | :----: | :-: |
21369   * | **69** | **68**  | **11** _(scroll-snap-margin-right)_ | **79** | No  |
21370   *
21371   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-right
21372   */
21373  scrollSnapMarginRight?: ScrollMarginRightProperty<TLength> | ScrollMarginRightProperty<TLength>[];
21374  /**
21375   * 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.
21376   *
21377   * **Syntax**: `<length>`
21378   *
21379   * **Initial value**: `0`
21380   *
21381   * | Chrome | Firefox |              Safari               |  Edge  | IE  |
21382   * | :----: | :-----: | :-------------------------------: | :----: | :-: |
21383   * | **69** | **68**  | **11** _(scroll-snap-margin-top)_ | **79** | No  |
21384   *
21385   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-top
21386   */
21387  scrollSnapMarginTop?: ScrollMarginTopProperty<TLength> | ScrollMarginTopProperty<TLength>[];
21388  /**
21389   * The **`scroll-snap-stop`** CSS property defines whether the scroll container is allowed to "pass over" possible snap positions.
21390   *
21391   * **Syntax**: `normal | always`
21392   *
21393   * **Initial value**: `normal`
21394   *
21395   * | Chrome | Firefox | Safari |  Edge  | IE  |
21396   * | :----: | :-----: | :----: | :----: | :-: |
21397   * | **75** |   No    |   No   | **79** | No  |
21398   *
21399   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-snap-stop
21400   */
21401  scrollSnapStop?: ScrollSnapStopProperty | ScrollSnapStopProperty[];
21402  /**
21403   * The **`scroll-snap-type`** CSS property sets how strictly snap points are enforced on the scroll container in case there is one.
21404   *
21405   * **Syntax**: `none | [ x | y | block | inline | both ] [ mandatory | proximity ]?`
21406   *
21407   * **Initial value**: `none`
21408   *
21409   * | Chrome | Firefox | Safari  |     Edge     |      IE      |
21410   * | :----: | :-----: | :-----: | :----------: | :----------: |
21411   * | **69** |  39-68  | **11**  | **12** _-x-_ | **10** _-x-_ |
21412   * |        |         | 9 _-x-_ |              |              |
21413   *
21414   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-snap-type
21415   */
21416  scrollSnapType?: ScrollSnapTypeProperty | ScrollSnapTypeProperty[];
21417  /**
21418   * The **`scrollbar-color`** CSS property sets the color of the scrollbar track and thumb.
21419   *
21420   * **Syntax**: `auto | dark | light | <color>{2}`
21421   *
21422   * **Initial value**: `auto`
21423   *
21424   * | Chrome | Firefox | Safari | Edge | IE  |
21425   * | :----: | :-----: | :----: | :--: | :-: |
21426   * |   No   | **64**  |   No   |  No  | No  |
21427   *
21428   * @see https://developer.mozilla.org/docs/Web/CSS/scrollbar-color
21429   */
21430  scrollbarColor?: ScrollbarColorProperty | ScrollbarColorProperty[];
21431  /**
21432   * The `scrollbar-width` property allows the author to set the maximum thickness of an element’s scrollbars when they are shown.
21433   *
21434   * **Syntax**: `auto | thin | none`
21435   *
21436   * **Initial value**: `auto`
21437   *
21438   * | Chrome | Firefox | Safari | Edge | IE  |
21439   * | :----: | :-----: | :----: | :--: | :-: |
21440   * |   No   | **64**  |   No   |  No  | No  |
21441   *
21442   * @see https://developer.mozilla.org/docs/Web/CSS/scrollbar-width
21443   */
21444  scrollbarWidth?: ScrollbarWidthProperty | ScrollbarWidthProperty[];
21445  /**
21446   * 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`.
21447   *
21448   * **Syntax**: `<alpha-value>`
21449   *
21450   * **Initial value**: `0.0`
21451   *
21452   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
21453   * | :----: | :-----: | :------: | :----: | :-: |
21454   * | **37** | **62**  | **10.1** | **79** | No  |
21455   *
21456   * @see https://developer.mozilla.org/docs/Web/CSS/shape-image-threshold
21457   */
21458  shapeImageThreshold?: ShapeImageThresholdProperty | ShapeImageThresholdProperty[];
21459  /**
21460   * The **`shape-margin`** CSS property sets a margin for a CSS shape created using `shape-outside`.
21461   *
21462   * **Syntax**: `<length-percentage>`
21463   *
21464   * **Initial value**: `0`
21465   *
21466   * | Chrome | Firefox |     Safari     |  Edge  | IE  |
21467   * | :----: | :-----: | :------------: | :----: | :-: |
21468   * | **37** | **62**  | **10.1** _-x-_ | **79** | No  |
21469   *
21470   * @see https://developer.mozilla.org/docs/Web/CSS/shape-margin
21471   */
21472  shapeMargin?: ShapeMarginProperty<TLength> | ShapeMarginProperty<TLength>[];
21473  /**
21474   * 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.
21475   *
21476   * **Syntax**: `none | <shape-box> || <basic-shape> | <image>`
21477   *
21478   * **Initial value**: `none`
21479   *
21480   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
21481   * | :----: | :-----: | :------: | :----: | :-: |
21482   * | **37** | **62**  | **10.1** | **79** | No  |
21483   *
21484   * @see https://developer.mozilla.org/docs/Web/CSS/shape-outside
21485   */
21486  shapeOutside?: ShapeOutsideProperty | ShapeOutsideProperty[];
21487  /**
21488   * The **`tab-size`** CSS property is used to customize the width of a tab (`U+0009`) character.
21489   *
21490   * **Syntax**: `<integer> | <length>`
21491   *
21492   * **Initial value**: `8`
21493   *
21494   * | Chrome |   Firefox   | Safari  |  Edge  | IE  |
21495   * | :----: | :---------: | :-----: | :----: | :-: |
21496   * | **21** | **4** _-x-_ | **6.1** | **79** | No  |
21497   *
21498   * @see https://developer.mozilla.org/docs/Web/CSS/tab-size
21499   */
21500  tabSize?: TabSizeProperty<TLength> | TabSizeProperty<TLength>[];
21501  /**
21502   * The **`table-layout`** CSS property sets the algorithm used to lay out `<table>` cells, rows, and columns.
21503   *
21504   * **Syntax**: `auto | fixed`
21505   *
21506   * **Initial value**: `auto`
21507   *
21508   * | Chrome | Firefox | Safari |  Edge  |  IE   |
21509   * | :----: | :-----: | :----: | :----: | :---: |
21510   * | **14** |  **1**  | **1**  | **12** | **5** |
21511   *
21512   * @see https://developer.mozilla.org/docs/Web/CSS/table-layout
21513   */
21514  tableLayout?: TableLayoutProperty | TableLayoutProperty[];
21515  /**
21516   * The **`text-align`** CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like `vertical-align` but in the horizontal direction.
21517   *
21518   * **Syntax**: `start | end | left | right | center | justify | match-parent`
21519   *
21520   * **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.
21521   *
21522   * | Chrome | Firefox | Safari |  Edge  |  IE   |
21523   * | :----: | :-----: | :----: | :----: | :---: |
21524   * | **1**  |  **1**  | **1**  | **12** | **3** |
21525   *
21526   * @see https://developer.mozilla.org/docs/Web/CSS/text-align
21527   */
21528  textAlign?: TextAlignProperty | TextAlignProperty[];
21529  /**
21530   * 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.
21531   *
21532   * **Syntax**: `auto | start | end | left | right | center | justify`
21533   *
21534   * **Initial value**: `auto`
21535   *
21536   * | Chrome | Firefox | Safari |  Edge  |   IE    |
21537   * | :----: | :-----: | :----: | :----: | :-----: |
21538   * | **47** | **49**  |   No   | **12** | **5.5** |
21539   *
21540   * @see https://developer.mozilla.org/docs/Web/CSS/text-align-last
21541   */
21542  textAlignLast?: TextAlignLastProperty | TextAlignLastProperty[];
21543  /**
21544   * 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.
21545   *
21546   * **Syntax**: `none | all | [ digits <integer>? ]`
21547   *
21548   * **Initial value**: `none`
21549   *
21550   * |           Chrome           | Firefox |              Safari              |                  Edge                  |                   IE                   |
21551   * | :------------------------: | :-----: | :------------------------------: | :------------------------------------: | :------------------------------------: |
21552   * |           **48**           | **48**  | **5.1** _(-webkit-text-combine)_ | **12** _(-ms-text-combine-horizontal)_ | **11** _(-ms-text-combine-horizontal)_ |
21553   * | 9 _(-webkit-text-combine)_ |         |                                  |                                        |                                        |
21554   *
21555   * @see https://developer.mozilla.org/docs/Web/CSS/text-combine-upright
21556   */
21557  textCombineUpright?: TextCombineUprightProperty | TextCombineUprightProperty[];
21558  /**
21559   * The **`text-decoration-color`** CSS property sets the color of decorations added to text by `text-decoration-line`.
21560   *
21561   * **Syntax**: `<color>`
21562   *
21563   * **Initial value**: `currentcolor`
21564   *
21565   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
21566   * | :----: | :-----: | :------: | :----: | :-: |
21567   * | **57** | **36**  | **12.1** | **79** | No  |
21568   * |        |         | 8 _-x-_  |        |     |
21569   *
21570   * @see https://developer.mozilla.org/docs/Web/CSS/text-decoration-color
21571   */
21572  textDecorationColor?: TextDecorationColorProperty | TextDecorationColorProperty[];
21573  /**
21574   * 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.
21575   *
21576   * **Syntax**: `none | [ underline || overline || line-through || blink ] | spelling-error | grammar-error`
21577   *
21578   * **Initial value**: `none`
21579   *
21580   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
21581   * | :----: | :-----: | :------: | :----: | :-: |
21582   * | **57** | **36**  | **12.1** | **79** | No  |
21583   * |        |         | 8 _-x-_  |        |     |
21584   *
21585   * @see https://developer.mozilla.org/docs/Web/CSS/text-decoration-line
21586   */
21587  textDecorationLine?: TextDecorationLineProperty | TextDecorationLineProperty[];
21588  /**
21589   * 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.
21590   *
21591   * **Syntax**: `none | [ objects || [ spaces | [ leading-spaces || trailing-spaces ] ] || edges || box-decoration ]`
21592   *
21593   * **Initial value**: `objects`
21594   *
21595   * | Chrome | Firefox |  Safari  | Edge | IE  |
21596   * | :----: | :-----: | :------: | :--: | :-: |
21597   * | 57-64  |   No    | **12.1** |  No  | No  |
21598   * |        |         | 8 _-x-_  |      |     |
21599   *
21600   * @see https://developer.mozilla.org/docs/Web/CSS/text-decoration-skip
21601   */
21602  textDecorationSkip?: TextDecorationSkipProperty | TextDecorationSkipProperty[];
21603  /**
21604   * The **`text-decoration-skip-ink`** CSS property specifies how overlines and underlines are drawn when they pass over glyph ascenders and descenders.
21605   *
21606   * **Syntax**: `auto | all | none`
21607   *
21608   * **Initial value**: `auto`
21609   *
21610   * | Chrome | Firefox | Safari |  Edge  | IE  |
21611   * | :----: | :-----: | :----: | :----: | :-: |
21612   * | **64** | **70**  |   No   | **79** | No  |
21613   *
21614   * @see https://developer.mozilla.org/docs/Web/CSS/text-decoration-skip-ink
21615   */
21616  textDecorationSkipInk?: TextDecorationSkipInkProperty | TextDecorationSkipInkProperty[];
21617  /**
21618   * 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`.
21619   *
21620   * **Syntax**: `solid | double | dotted | dashed | wavy`
21621   *
21622   * **Initial value**: `solid`
21623   *
21624   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
21625   * | :----: | :-----: | :------: | :----: | :-: |
21626   * | **57** | **36**  | **12.1** | **79** | No  |
21627   * |        |         | 8 _-x-_  |        |     |
21628   *
21629   * @see https://developer.mozilla.org/docs/Web/CSS/text-decoration-style
21630   */
21631  textDecorationStyle?: TextDecorationStyleProperty | TextDecorationStyleProperty[];
21632  /**
21633   * The **`text-decoration-thickness`** CSS property sets the thickness, or width, of the decoration line that is used on text in an element, such as a line-through, underline, or overline.
21634   *
21635   * **Syntax**: `auto | from-font | <length> | <percentage> `
21636   *
21637   * **Initial value**: `auto`
21638   *
21639   * | Chrome | Firefox |  Safari  | Edge | IE  |
21640   * | :----: | :-----: | :------: | :--: | :-: |
21641   * |   No   | **70**  | **12.1** |  No  | No  |
21642   *
21643   * @see https://developer.mozilla.org/docs/Web/CSS/text-decoration-thickness
21644   */
21645  textDecorationThickness?: TextDecorationThicknessProperty<TLength> | TextDecorationThicknessProperty<TLength>[];
21646  /**
21647   * The **`text-decoration-thickness`** CSS property sets the thickness, or width, of the decoration line that is used on text in an element, such as a line-through, underline, or overline.
21648   *
21649   * **Syntax**: `auto | from-font | <length> | <percentage> `
21650   *
21651   * **Initial value**: `auto`
21652   *
21653   * | Chrome | Firefox |  Safari  | Edge | IE  |
21654   * | :----: | :-----: | :------: | :--: | :-: |
21655   * |   No   | **70**  | **12.1** |  No  | No  |
21656   *
21657   * @see https://developer.mozilla.org/docs/Web/CSS/text-decoration-thickness
21658   */
21659  textDecorationWidth?: TextDecorationThicknessProperty<TLength> | TextDecorationThicknessProperty<TLength>[];
21660  /**
21661   * The **`text-emphasis-color`** CSS property sets the color of emphasis marks. This value can also be set using the `text-emphasis` shorthand.
21662   *
21663   * **Syntax**: `<color>`
21664   *
21665   * **Initial value**: `currentcolor`
21666   *
21667   * |    Chrome    | Firefox | Safari  |     Edge     | IE  |
21668   * | :----------: | :-----: | :-----: | :----------: | :-: |
21669   * | **25** _-x-_ | **46**  | **6.1** | **79** _-x-_ | No  |
21670   *
21671   * @see https://developer.mozilla.org/docs/Web/CSS/text-emphasis-color
21672   */
21673  textEmphasisColor?: TextEmphasisColorProperty | TextEmphasisColorProperty[];
21674  /**
21675   * 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.
21676   *
21677   * **Syntax**: `[ over | under ] && [ right | left ]`
21678   *
21679   * **Initial value**: `over right`
21680   *
21681   * |    Chrome    | Firefox | Safari  |     Edge     | IE  |
21682   * | :----------: | :-----: | :-----: | :----------: | :-: |
21683   * | **25** _-x-_ | **46**  | **6.1** | **79** _-x-_ | No  |
21684   *
21685   * @see https://developer.mozilla.org/docs/Web/CSS/text-emphasis-position
21686   */
21687  textEmphasisPosition?: GlobalsString | GlobalsString[];
21688  /**
21689   * The **`text-emphasis-style`** CSS property sets the appearance of emphasis marks. It can also be set, and reset, using the `text-emphasis` shorthand.
21690   *
21691   * **Syntax**: `none | [ [ filled | open ] || [ dot | circle | double-circle | triangle | sesame ] ] | <string>`
21692   *
21693   * **Initial value**: `none`
21694   *
21695   * |    Chrome    | Firefox | Safari  |     Edge     | IE  |
21696   * | :----------: | :-----: | :-----: | :----------: | :-: |
21697   * | **25** _-x-_ | **46**  | **6.1** | **79** _-x-_ | No  |
21698   *
21699   * @see https://developer.mozilla.org/docs/Web/CSS/text-emphasis-style
21700   */
21701  textEmphasisStyle?: TextEmphasisStyleProperty | TextEmphasisStyleProperty[];
21702  /**
21703   * The **`text-indent`** CSS property sets the length of empty space (indentation) that is put before lines of text in a block.
21704   *
21705   * **Syntax**: `<length-percentage> && hanging? && each-line?`
21706   *
21707   * **Initial value**: `0`
21708   *
21709   * | Chrome | Firefox | Safari |  Edge  |  IE   |
21710   * | :----: | :-----: | :----: | :----: | :---: |
21711   * | **1**  |  **1**  | **1**  | **12** | **3** |
21712   *
21713   * @see https://developer.mozilla.org/docs/Web/CSS/text-indent
21714   */
21715  textIndent?: TextIndentProperty<TLength> | TextIndentProperty<TLength>[];
21716  /**
21717   * The **`text-justify`** CSS property sets what type of justification should be applied to text when `text-align``: justify;` is set on an element.
21718   *
21719   * **Syntax**: `auto | inter-character | inter-word | none`
21720   *
21721   * **Initial value**: `auto`
21722   *
21723   * | Chrome | Firefox | Safari |  Edge  |   IE   |
21724   * | :----: | :-----: | :----: | :----: | :----: |
21725   * |  n/a   | **55**  |   No   | **12** | **11** |
21726   *
21727   * @see https://developer.mozilla.org/docs/Web/CSS/text-justify
21728   */
21729  textJustify?: TextJustifyProperty | TextJustifyProperty[];
21730  /**
21731   * 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.
21732   *
21733   * **Syntax**: `mixed | upright | sideways`
21734   *
21735   * **Initial value**: `mixed`
21736   *
21737   * |  Chrome  | Firefox |    Safari     |  Edge  | IE  |
21738   * | :------: | :-----: | :-----------: | :----: | :-: |
21739   * |  **48**  | **41**  | **5.1** _-x-_ | **79** | No  |
21740   * | 11 _-x-_ |         |               |        |     |
21741   *
21742   * @see https://developer.mozilla.org/docs/Web/CSS/text-orientation
21743   */
21744  textOrientation?: TextOrientationProperty | TextOrientationProperty[];
21745  /**
21746   * 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.
21747   *
21748   * **Syntax**: `[ clip | ellipsis | <string> ]{1,2}`
21749   *
21750   * **Initial value**: `clip`
21751   *
21752   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
21753   * | :----: | :-----: | :-----: | :----: | :---: |
21754   * | **1**  |  **7**  | **1.3** | **12** | **6** |
21755   *
21756   * @see https://developer.mozilla.org/docs/Web/CSS/text-overflow
21757   */
21758  textOverflow?: TextOverflowProperty | TextOverflowProperty[];
21759  /**
21760   * The **`text-rendering`** CSS property provides information to the rendering engine about what to optimize for when rendering text.
21761   *
21762   * **Syntax**: `auto | optimizeSpeed | optimizeLegibility | geometricPrecision`
21763   *
21764   * **Initial value**: `auto`
21765   *
21766   * | Chrome | Firefox | Safari |  Edge  | IE  |
21767   * | :----: | :-----: | :----: | :----: | :-: |
21768   * | **4**  |  **1**  | **5**  | **79** | No  |
21769   *
21770   * @see https://developer.mozilla.org/docs/Web/CSS/text-rendering
21771   */
21772  textRendering?: TextRenderingProperty | TextRenderingProperty[];
21773  /**
21774   * 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.
21775   *
21776   * **Syntax**: `none | <shadow-t>#`
21777   *
21778   * **Initial value**: `none`
21779   *
21780   * | Chrome | Firefox | Safari  |  Edge  |   IE   |
21781   * | :----: | :-----: | :-----: | :----: | :----: |
21782   * | **2**  | **3.5** | **1.1** | **12** | **10** |
21783   *
21784   * @see https://developer.mozilla.org/docs/Web/CSS/text-shadow
21785   */
21786  textShadow?: TextShadowProperty | TextShadowProperty[];
21787  /**
21788   * The **`text-size-adjust`** CSS property controls the text inflation algorithm used on some smartphones and tablets. Other browsers will ignore this property.
21789   *
21790   * **Syntax**: `none | auto | <percentage>`
21791   *
21792   * **Initial value**: `auto` for smartphone browsers supporting inflation, `none` in other cases (and then not modifiable).
21793   *
21794   * | Chrome | Firefox | Safari |  Edge  | IE  |
21795   * | :----: | :-----: | :----: | :----: | :-: |
21796   * | **54** |   No    |   No   | **79** | No  |
21797   *
21798   * @see https://developer.mozilla.org/docs/Web/CSS/text-size-adjust
21799   */
21800  textSizeAdjust?: TextSizeAdjustProperty | TextSizeAdjustProperty[];
21801  /**
21802   * 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
21803   *
21804   * **Syntax**: `none | capitalize | uppercase | lowercase | full-width | full-size-kana`
21805   *
21806   * **Initial value**: `none`
21807   *
21808   * | Chrome | Firefox | Safari |  Edge  |  IE   |
21809   * | :----: | :-----: | :----: | :----: | :---: |
21810   * | **1**  |  **1**  | **1**  | **12** | **4** |
21811   *
21812   * @see https://developer.mozilla.org/docs/Web/CSS/text-transform
21813   */
21814  textTransform?: TextTransformProperty | TextTransformProperty[];
21815  /**
21816   * The **`text-underline-offset`** CSS property sets the offset distance of an underline text decoration line (applied using `text-decoration`) from its original position.
21817   *
21818   * **Syntax**: `auto | <length> | <percentage> `
21819   *
21820   * **Initial value**: `auto`
21821   *
21822   * | Chrome | Firefox |  Safari  | Edge | IE  |
21823   * | :----: | :-----: | :------: | :--: | :-: |
21824   * |   No   | **70**  | **12.1** |  No  | No  |
21825   *
21826   * @see https://developer.mozilla.org/docs/Web/CSS/text-underline-offset
21827   */
21828  textUnderlineOffset?: TextUnderlineOffsetProperty<TLength> | TextUnderlineOffsetProperty<TLength>[];
21829  /**
21830   * The **`text-underline-position`** CSS property specifies the position of the underline which is set using the `text-decoration` property's `underline` value.
21831   *
21832   * **Syntax**: `auto | from-font | [ under || [ left | right ] ]`
21833   *
21834   * **Initial value**: `auto`
21835   *
21836   * | Chrome | Firefox |  Safari  |  Edge  |  IE   |
21837   * | :----: | :-----: | :------: | :----: | :---: |
21838   * | **33** | **74**  | **12.1** | **12** | **6** |
21839   * |        |         | 9 _-x-_  |        |       |
21840   *
21841   * @see https://developer.mozilla.org/docs/Web/CSS/text-underline-position
21842   */
21843  textUnderlinePosition?: TextUnderlinePositionProperty | TextUnderlinePositionProperty[];
21844  /**
21845   * The **`top`** CSS property participates in specifying the vertical position of a _positioned element_. It has no effect on non-positioned elements.
21846   *
21847   * **Syntax**: `<length> | <percentage> | auto`
21848   *
21849   * **Initial value**: `auto`
21850   *
21851   * | Chrome | Firefox | Safari |  Edge  |  IE   |
21852   * | :----: | :-----: | :----: | :----: | :---: |
21853   * | **1**  |  **1**  | **1**  | **12** | **5** |
21854   *
21855   * @see https://developer.mozilla.org/docs/Web/CSS/top
21856   */
21857  top?: TopProperty<TLength> | TopProperty<TLength>[];
21858  /**
21859   * The **`touch-action`** CSS property sets how a region can be manipulated by a touchscreen user (for example, by zooming features built into the browser).
21860   *
21861   * **Syntax**: `auto | none | [ [ pan-x | pan-left | pan-right ] || [ pan-y | pan-up | pan-down ] || pinch-zoom ] | manipulation`
21862   *
21863   * **Initial value**: `auto`
21864   *
21865   * | Chrome | Firefox | Safari |  Edge  |    IE    |
21866   * | :----: | :-----: | :----: | :----: | :------: |
21867   * | **36** | **52**  | **13** | **12** |  **11**  |
21868   * |        |         |        |        | 10 _-x-_ |
21869   *
21870   * @see https://developer.mozilla.org/docs/Web/CSS/touch-action
21871   */
21872  touchAction?: TouchActionProperty | TouchActionProperty[];
21873  /**
21874   * The **`transform`** CSS property lets you rotate, scale, skew, or translate an element. It modifies the coordinate space of the CSS visual formatting model.
21875   *
21876   * **Syntax**: `none | <transform-list>`
21877   *
21878   * **Initial value**: `none`
21879   *
21880   * | Chrome  | Firefox |  Safari   |  Edge  |   IE    |
21881   * | :-----: | :-----: | :-------: | :----: | :-----: |
21882   * | **36**  | **16**  |   **9**   | **12** | **10**  |
21883   * | 1 _-x-_ |         | 3.1 _-x-_ |        | 9 _-x-_ |
21884   *
21885   * @see https://developer.mozilla.org/docs/Web/CSS/transform
21886   */
21887  transform?: TransformProperty | TransformProperty[];
21888  /**
21889   * The **`transform-box`** CSS property defines the layout box to which the `transform` and `transform-origin` properties relate.
21890   *
21891   * **Syntax**: `content-box | border-box | fill-box | stroke-box | view-box`
21892   *
21893   * **Initial value**: `view-box`
21894   *
21895   * | Chrome | Firefox | Safari |  Edge  | IE  |
21896   * | :----: | :-----: | :----: | :----: | :-: |
21897   * | **64** | **55**  | **11** | **79** | No  |
21898   *
21899   * @see https://developer.mozilla.org/docs/Web/CSS/transform-box
21900   */
21901  transformBox?: TransformBoxProperty | TransformBoxProperty[];
21902  /**
21903   * The **`transform-origin`** CSS property sets the origin for an element's transformations.
21904   *
21905   * **Syntax**: `[ <length-percentage> | left | center | right | top | bottom ] | [ [ <length-percentage> | left | center | right ] && [ <length-percentage> | top | center | bottom ] ] <length>?`
21906   *
21907   * **Initial value**: `50% 50% 0`
21908   *
21909   * | Chrome  |  Firefox  | Safari  |  Edge  |   IE    |
21910   * | :-----: | :-------: | :-----: | :----: | :-----: |
21911   * | **36**  |  **16**   |  **9**  | **12** | **10**  |
21912   * | 1 _-x-_ | 3.5 _-x-_ | 2 _-x-_ |        | 9 _-x-_ |
21913   *
21914   * @see https://developer.mozilla.org/docs/Web/CSS/transform-origin
21915   */
21916  transformOrigin?: TransformOriginProperty<TLength> | TransformOriginProperty<TLength>[];
21917  /**
21918   * 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.
21919   *
21920   * **Syntax**: `flat | preserve-3d`
21921   *
21922   * **Initial value**: `flat`
21923   *
21924   * |  Chrome  | Firefox  | Safari  |  Edge  | IE  |
21925   * | :------: | :------: | :-----: | :----: | :-: |
21926   * |  **36**  |  **16**  |  **9**  | **12** | No  |
21927   * | 12 _-x-_ | 10 _-x-_ | 4 _-x-_ |        |     |
21928   *
21929   * @see https://developer.mozilla.org/docs/Web/CSS/transform-style
21930   */
21931  transformStyle?: TransformStyleProperty | TransformStyleProperty[];
21932  /**
21933   * The **`transition-delay`** CSS property specifies the duration to wait before starting a property's transition effect when its value changes.
21934   *
21935   * **Syntax**: `<time>#`
21936   *
21937   * **Initial value**: `0s`
21938   *
21939   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
21940   * | :-----: | :-----: | :-----: | :----: | :----: |
21941   * | **26**  | **16**  |  **9**  | **12** | **10** |
21942   * | 1 _-x-_ | 4 _-x-_ | 4 _-x-_ |        |        |
21943   *
21944   * @see https://developer.mozilla.org/docs/Web/CSS/transition-delay
21945   */
21946  transitionDelay?: GlobalsString | GlobalsString[];
21947  /**
21948   * 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.
21949   *
21950   * **Syntax**: `<time>#`
21951   *
21952   * **Initial value**: `0s`
21953   *
21954   * | Chrome  | Firefox |  Safari   |  Edge  |   IE   |
21955   * | :-----: | :-----: | :-------: | :----: | :----: |
21956   * | **26**  | **16**  |   **9**   | **12** | **10** |
21957   * | 1 _-x-_ | 4 _-x-_ | 3.1 _-x-_ |        |        |
21958   *
21959   * @see https://developer.mozilla.org/docs/Web/CSS/transition-duration
21960   */
21961  transitionDuration?: GlobalsString | GlobalsString[];
21962  /**
21963   * The **`transition-property`** CSS property sets the CSS properties to which a transition effect should be applied.
21964   *
21965   * **Syntax**: `none | <single-transition-property>#`
21966   *
21967   * **Initial value**: all
21968   *
21969   * | Chrome  | Firefox |  Safari   |  Edge  |   IE   |
21970   * | :-----: | :-----: | :-------: | :----: | :----: |
21971   * | **26**  | **16**  |   **9**   | **12** | **10** |
21972   * | 1 _-x-_ | 4 _-x-_ | 3.1 _-x-_ |        |        |
21973   *
21974   * @see https://developer.mozilla.org/docs/Web/CSS/transition-property
21975   */
21976  transitionProperty?: TransitionPropertyProperty | TransitionPropertyProperty[];
21977  /**
21978   * The **`transition-timing-function`** CSS property sets how intermediate values are calculated for CSS properties being affected by a transition effect.
21979   *
21980   * **Syntax**: `<timing-function>#`
21981   *
21982   * **Initial value**: `ease`
21983   *
21984   * | Chrome  | Firefox |  Safari   |  Edge  |   IE   |
21985   * | :-----: | :-----: | :-------: | :----: | :----: |
21986   * | **26**  | **16**  |   **9**   | **12** | **10** |
21987   * | 1 _-x-_ | 4 _-x-_ | 3.1 _-x-_ |        |        |
21988   *
21989   * @see https://developer.mozilla.org/docs/Web/CSS/transition-timing-function
21990   */
21991  transitionTimingFunction?: TransitionTimingFunctionProperty | TransitionTimingFunctionProperty[];
21992  /**
21993   * The **`translate`** CSS property allows you to specify translation transforms individually and independantly 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.
21994   *
21995   * **Syntax**: `none | <length-percentage> [ <length-percentage> <length>? ]?`
21996   *
21997   * **Initial value**: `none`
21998   *
21999   * | Chrome | Firefox | Safari | Edge | IE  |
22000   * | :----: | :-----: | :----: | :--: | :-: |
22001   * |   No   | **72**  |   No   |  No  | No  |
22002   *
22003   * @see https://developer.mozilla.org/docs/Web/CSS/translate
22004   */
22005  translate?: TranslateProperty<TLength> | TranslateProperty<TLength>[];
22006  /**
22007   * 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.
22008   *
22009   * **Syntax**: `normal | embed | isolate | bidi-override | isolate-override | plaintext`
22010   *
22011   * **Initial value**: `normal`
22012   *
22013   * | Chrome | Firefox | Safari  |  Edge  |   IE    |
22014   * | :----: | :-----: | :-----: | :----: | :-----: |
22015   * | **2**  |  **1**  | **1.3** | **12** | **5.5** |
22016   *
22017   * @see https://developer.mozilla.org/docs/Web/CSS/unicode-bidi
22018   */
22019  unicodeBidi?: UnicodeBidiProperty | UnicodeBidiProperty[];
22020  /**
22021   * 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.
22022   *
22023   * **Syntax**: `auto | text | none | contain | all`
22024   *
22025   * **Initial value**: `auto`
22026   *
22027   * | Chrome  | Firefox |   Safari    |     Edge     |      IE      |
22028   * | :-----: | :-----: | :---------: | :----------: | :----------: |
22029   * | **54**  | **69**  | **3** _-x-_ | **12** _-x-_ | **10** _-x-_ |
22030   * | 1 _-x-_ | 1 _-x-_ |             |              |              |
22031   *
22032   * @see https://developer.mozilla.org/docs/Web/CSS/user-select
22033   */
22034  userSelect?: UserSelectProperty | UserSelectProperty[];
22035  /**
22036   * The **`vertical-align`** CSS property sets vertical alignment of an inline or table-cell box.
22037   *
22038   * **Syntax**: `baseline | sub | super | text-top | text-bottom | middle | top | bottom | <percentage> | <length>`
22039   *
22040   * **Initial value**: `baseline`
22041   *
22042   * | Chrome | Firefox | Safari |  Edge  |  IE   |
22043   * | :----: | :-----: | :----: | :----: | :---: |
22044   * | **1**  |  **1**  | **1**  | **12** | **4** |
22045   *
22046   * @see https://developer.mozilla.org/docs/Web/CSS/vertical-align
22047   */
22048  verticalAlign?: VerticalAlignProperty<TLength> | VerticalAlignProperty<TLength>[];
22049  /**
22050   * 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>`.
22051   *
22052   * **Syntax**: `visible | hidden | collapse`
22053   *
22054   * **Initial value**: `visible`
22055   *
22056   * | Chrome | Firefox | Safari |  Edge  |  IE   |
22057   * | :----: | :-----: | :----: | :----: | :---: |
22058   * | **1**  |  **1**  | **1**  | **12** | **4** |
22059   *
22060   * @see https://developer.mozilla.org/docs/Web/CSS/visibility
22061   */
22062  visibility?: VisibilityProperty | VisibilityProperty[];
22063  /**
22064   * The **`white-space`** CSS property sets how white space inside an element is handled.
22065   *
22066   * **Syntax**: `normal | pre | nowrap | pre-wrap | pre-line | break-spaces`
22067   *
22068   * **Initial value**: `normal`
22069   *
22070   * | Chrome | Firefox | Safari |  Edge  |   IE    |
22071   * | :----: | :-----: | :----: | :----: | :-----: |
22072   * | **1**  |  **1**  | **1**  | **12** | **5.5** |
22073   *
22074   * @see https://developer.mozilla.org/docs/Web/CSS/white-space
22075   */
22076  whiteSpace?: WhiteSpaceProperty | WhiteSpaceProperty[];
22077  /**
22078   * 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.
22079   *
22080   * **Syntax**: `<integer>`
22081   *
22082   * **Initial value**: `2`
22083   *
22084   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
22085   * | :----: | :-----: | :-----: | :----: | :---: |
22086   * | **25** |   No    | **1.3** | **12** | **8** |
22087   *
22088   * @see https://developer.mozilla.org/docs/Web/CSS/widows
22089   */
22090  widows?: GlobalsNumber | GlobalsNumber[];
22091  /**
22092   * 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.
22093   *
22094   * **Syntax**: `auto | <length> | <percentage> | min-content | max-content | fit-content(<length-percentage>)`
22095   *
22096   * **Initial value**: `auto`
22097   *
22098   * | Chrome | Firefox | Safari |  Edge  |  IE   |
22099   * | :----: | :-----: | :----: | :----: | :---: |
22100   * | **1**  |  **1**  | **1**  | **12** | **4** |
22101   *
22102   * @see https://developer.mozilla.org/docs/Web/CSS/width
22103   */
22104  width?: WidthProperty<TLength> | WidthProperty<TLength>[];
22105  /**
22106   * 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.
22107   *
22108   * **Syntax**: `auto | <animateable-feature>#`
22109   *
22110   * **Initial value**: `auto`
22111   *
22112   * | Chrome | Firefox | Safari  |  Edge  | IE  |
22113   * | :----: | :-----: | :-----: | :----: | :-: |
22114   * | **36** | **36**  | **9.1** | **79** | No  |
22115   *
22116   * @see https://developer.mozilla.org/docs/Web/CSS/will-change
22117   */
22118  willChange?: WillChangeProperty | WillChangeProperty[];
22119  /**
22120   * The **`word-break`** CSS property sets whether line breaks appear wherever the text would otherwise overflow its content box.
22121   *
22122   * **Syntax**: `normal | break-all | keep-all | break-word`
22123   *
22124   * **Initial value**: `normal`
22125   *
22126   * | Chrome | Firefox | Safari |  Edge  |   IE    |
22127   * | :----: | :-----: | :----: | :----: | :-----: |
22128   * | **1**  | **15**  | **3**  | **12** | **5.5** |
22129   *
22130   * @see https://developer.mozilla.org/docs/Web/CSS/word-break
22131   */
22132  wordBreak?: WordBreakProperty | WordBreakProperty[];
22133  /**
22134   * The **`word-spacing`** CSS property sets the length of space between words and between tags.
22135   *
22136   * **Syntax**: `normal | <length-percentage>`
22137   *
22138   * **Initial value**: `normal`
22139   *
22140   * | Chrome | Firefox | Safari |  Edge  |  IE   |
22141   * | :----: | :-----: | :----: | :----: | :---: |
22142   * | **1**  |  **1**  | **1**  | **12** | **6** |
22143   *
22144   * @see https://developer.mozilla.org/docs/Web/CSS/word-spacing
22145   */
22146  wordSpacing?: WordSpacingProperty<TLength> | WordSpacingProperty<TLength>[];
22147  /**
22148   * The `**overflow-wrap**` CSS property sets whether the browser should insert line breaks within words to prevent text from overflowing its content box.
22149   *
22150   * **Syntax**: `normal | break-word`
22151   *
22152   * **Initial value**: `normal`
22153   *
22154   * | Chrome | Firefox | Safari |  Edge  |   IE    |
22155   * | :----: | :-----: | :----: | :----: | :-----: |
22156   * | **1**  | **3.5** | **2**  | **12** | **5.5** |
22157   *
22158   * @see https://developer.mozilla.org/docs/Web/CSS/overflow-wrap
22159   */
22160  wordWrap?: WordWrapProperty | WordWrapProperty[];
22161  /**
22162   * 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.
22163   *
22164   * **Syntax**: `horizontal-tb | vertical-rl | vertical-lr | sideways-rl | sideways-lr`
22165   *
22166   * **Initial value**: `horizontal-tb`
22167   *
22168   * | Chrome  | Firefox |  Safari   |  Edge  |     IE      |
22169   * | :-----: | :-----: | :-------: | :----: | :---------: |
22170   * | **48**  | **41**  | **10.1**  | **12** | **9** _-x-_ |
22171   * | 8 _-x-_ |         | 5.1 _-x-_ |        |             |
22172   *
22173   * @see https://developer.mozilla.org/docs/Web/CSS/writing-mode
22174   */
22175  writingMode?: WritingModeProperty | WritingModeProperty[];
22176  /**
22177   * 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.
22178   *
22179   * **Syntax**: `auto | <integer>`
22180   *
22181   * **Initial value**: `auto`
22182   *
22183   * | Chrome | Firefox | Safari |  Edge  |  IE   |
22184   * | :----: | :-----: | :----: | :----: | :---: |
22185   * | **1**  |  **1**  | **1**  | **12** | **4** |
22186   *
22187   * @see https://developer.mozilla.org/docs/Web/CSS/z-index
22188   */
22189  zIndex?: ZIndexProperty | ZIndexProperty[];
22190  /**
22191   * 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.
22192   *
22193   * **Syntax**: `normal | reset | <number> | <percentage>`
22194   *
22195   * **Initial value**: `normal`
22196   *
22197   * | Chrome | Firefox | Safari  |  Edge  |   IE    |
22198   * | :----: | :-----: | :-----: | :----: | :-----: |
22199   * | **1**  |   No    | **3.1** | **12** | **5.5** |
22200   *
22201   * @see https://developer.mozilla.org/docs/Web/CSS/zoom
22202   */
22203  zoom?: ZoomProperty | ZoomProperty[];
22204}
22205
22206export interface StandardShorthandPropertiesFallback<TLength = string | 0> {
22207  /**
22208   * The `**all**` CSS shorthand property sets all of an element's properties (other than `unicode-bidi` and `direction`) to their initial or inherited values, or to the values specified in another stylesheet origin.
22209   *
22210   * **Syntax**: `initial | inherit | unset | revert`
22211   *
22212   * **Initial value**: There is no practical initial value for it.
22213   *
22214   * | Chrome | Firefox | Safari  |  Edge  | IE  |
22215   * | :----: | :-----: | :-----: | :----: | :-: |
22216   * | **37** | **27**  | **9.1** | **79** | No  |
22217   *
22218   * @see https://developer.mozilla.org/docs/Web/CSS/all
22219   */
22220  all?: Globals | Globals[];
22221  /**
22222   * The **`animation`** shorthand CSS property sets an animated transition 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`.
22223   *
22224   * **Syntax**: `<single-animation>#`
22225   *
22226   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
22227   * | :-----: | :-----: | :-----: | :----: | :----: |
22228   * | **43**  | **16**  |  **9**  | **12** | **10** |
22229   * | 3 _-x-_ | 5 _-x-_ | 4 _-x-_ |        |        |
22230   *
22231   * @see https://developer.mozilla.org/docs/Web/CSS/animation
22232   */
22233  animation?: AnimationProperty | AnimationProperty[];
22234  /**
22235   * The **`background`** shorthand CSS property sets all background style properties at once, such as color, image, origin and size, or repeat method.
22236   *
22237   * **Syntax**: `[ <bg-layer> , ]* <final-bg-layer>`
22238   *
22239   * | Chrome | Firefox | Safari |  Edge  |  IE   |
22240   * | :----: | :-----: | :----: | :----: | :---: |
22241   * | **1**  |  **1**  | **1**  | **12** | **4** |
22242   *
22243   * @see https://developer.mozilla.org/docs/Web/CSS/background
22244   */
22245  background?: BackgroundProperty<TLength> | BackgroundProperty<TLength>[];
22246  /**
22247   * The **`border`** CSS property sets an element's border. It's a shorthand for `border-width`, `border-style`, and `border-color`.
22248   *
22249   * **Syntax**: `<line-width> || <line-style> || <color>`
22250   *
22251   * | Chrome | Firefox | Safari |  Edge  |  IE   |
22252   * | :----: | :-----: | :----: | :----: | :---: |
22253   * | **1**  |  **1**  | **1**  | **12** | **4** |
22254   *
22255   * @see https://developer.mozilla.org/docs/Web/CSS/border
22256   */
22257  border?: BorderProperty<TLength> | BorderProperty<TLength>[];
22258  /**
22259   * 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.
22260   *
22261   * **Syntax**: `<'border-top-width'> || <'border-top-style'> || <'color'>`
22262   *
22263   * | Chrome | Firefox | Safari |  Edge  | IE  |
22264   * | :----: | :-----: | :----: | :----: | :-: |
22265   * | **69** | **66**  |   No   | **79** | No  |
22266   *
22267   * @see https://developer.mozilla.org/docs/Web/CSS/border-block
22268   */
22269  borderBlock?: BorderBlockProperty<TLength> | BorderBlockProperty<TLength>[];
22270  /**
22271   * 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.
22272   *
22273   * **Syntax**: `<'border-top-width'> || <'border-top-style'> || <'color'>`
22274   *
22275   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
22276   * | :----: | :-----: | :------: | :----: | :-: |
22277   * | **69** | **41**  | **12.1** | **79** | No  |
22278   *
22279   * @see https://developer.mozilla.org/docs/Web/CSS/border-block-end
22280   */
22281  borderBlockEnd?: BorderBlockEndProperty<TLength> | BorderBlockEndProperty<TLength>[];
22282  /**
22283   * 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.
22284   *
22285   * **Syntax**: `<'border-top-width'> || <'border-top-style'> || <'color'>`
22286   *
22287   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
22288   * | :----: | :-----: | :------: | :----: | :-: |
22289   * | **69** | **41**  | **12.1** | **79** | No  |
22290   *
22291   * @see https://developer.mozilla.org/docs/Web/CSS/border-block-start
22292   */
22293  borderBlockStart?: BorderBlockStartProperty<TLength> | BorderBlockStartProperty<TLength>[];
22294  /**
22295   * The **`border-bottom`** CSS property is a shorthand that sets the values of `border-bottom-width`, `border-bottom-style` and `border-bottom-color`. These properties set an element's bottom border.
22296   *
22297   * **Syntax**: `<line-width> || <line-style> || <color>`
22298   *
22299   * | Chrome | Firefox | Safari |  Edge  |  IE   |
22300   * | :----: | :-----: | :----: | :----: | :---: |
22301   * | **1**  |  **1**  | **1**  | **12** | **4** |
22302   *
22303   * @see https://developer.mozilla.org/docs/Web/CSS/border-bottom
22304   */
22305  borderBottom?: BorderBottomProperty<TLength> | BorderBottomProperty<TLength>[];
22306  /**
22307   * The **`border-color`** shorthand CSS property sets the color of all sides of an element's border.
22308   *
22309   * **Syntax**: `<color>{1,4}`
22310   *
22311   * | Chrome | Firefox | Safari |  Edge  |  IE   |
22312   * | :----: | :-----: | :----: | :----: | :---: |
22313   * | **1**  |  **1**  | **1**  | **12** | **4** |
22314   *
22315   * @see https://developer.mozilla.org/docs/Web/CSS/border-color
22316   */
22317  borderColor?: BorderColorProperty | BorderColorProperty[];
22318  /**
22319   * The **`border-image`** CSS property draws an image in place of an element's `border-style`.
22320   *
22321   * **Syntax**: `<'border-image-source'> || <'border-image-slice'> [ / <'border-image-width'> | / <'border-image-width'>? / <'border-image-outset'> ]? || <'border-image-repeat'>`
22322   *
22323   * | Chrome  |  Firefox  | Safari  |  Edge  |   IE   |
22324   * | :-----: | :-------: | :-----: | :----: | :----: |
22325   * | **16**  |  **15**   |  **6**  | **12** | **11** |
22326   * | 7 _-x-_ | 3.5 _-x-_ | 3 _-x-_ |        |        |
22327   *
22328   * @see https://developer.mozilla.org/docs/Web/CSS/border-image
22329   */
22330  borderImage?: BorderImageProperty | BorderImageProperty[];
22331  /**
22332   * 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.
22333   *
22334   * **Syntax**: `<'border-top-width'> || <'border-top-style'> || <'color'>`
22335   *
22336   * | Chrome | Firefox | Safari |  Edge  | IE  |
22337   * | :----: | :-----: | :----: | :----: | :-: |
22338   * | **69** | **66**  |   No   | **79** | No  |
22339   *
22340   * @see https://developer.mozilla.org/docs/Web/CSS/border-inline
22341   */
22342  borderInline?: BorderInlineProperty<TLength> | BorderInlineProperty<TLength>[];
22343  /**
22344   * 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.
22345   *
22346   * **Syntax**: `<'border-top-width'> || <'border-top-style'> || <'color'>`
22347   *
22348   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
22349   * | :----: | :-----: | :------: | :----: | :-: |
22350   * | **69** | **41**  | **12.1** | **79** | No  |
22351   *
22352   * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-end
22353   */
22354  borderInlineEnd?: BorderInlineEndProperty<TLength> | BorderInlineEndProperty<TLength>[];
22355  /**
22356   * 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.
22357   *
22358   * **Syntax**: `<'border-top-width'> || <'border-top-style'> || <'color'>`
22359   *
22360   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
22361   * | :----: | :-----: | :------: | :----: | :-: |
22362   * | **69** | **41**  | **12.1** | **79** | No  |
22363   *
22364   * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-start
22365   */
22366  borderInlineStart?: BorderInlineStartProperty<TLength> | BorderInlineStartProperty<TLength>[];
22367  /**
22368   * The **`border-left`** CSS property is a shorthand that sets the values of `border-left-width`, `border-left-style` and `border-left-color`. These properties set an element's left border.
22369   *
22370   * **Syntax**: `<line-width> || <line-style> || <color>`
22371   *
22372   * | Chrome | Firefox | Safari |  Edge  |  IE   |
22373   * | :----: | :-----: | :----: | :----: | :---: |
22374   * | **1**  |  **1**  | **1**  | **12** | **4** |
22375   *
22376   * @see https://developer.mozilla.org/docs/Web/CSS/border-left
22377   */
22378  borderLeft?: BorderLeftProperty<TLength> | BorderLeftProperty<TLength>[];
22379  /**
22380   * 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.
22381   *
22382   * **Syntax**: `<length-percentage>{1,4} [ / <length-percentage>{1,4} ]?`
22383   *
22384   * | Chrome  | Firefox | Safari  |  Edge  |  IE   |
22385   * | :-----: | :-----: | :-----: | :----: | :---: |
22386   * |  **4**  |  **4**  |  **5**  | **12** | **9** |
22387   * | 1 _-x-_ |         | 3 _-x-_ |        |       |
22388   *
22389   * @see https://developer.mozilla.org/docs/Web/CSS/border-radius
22390   */
22391  borderRadius?: BorderRadiusProperty<TLength> | BorderRadiusProperty<TLength>[];
22392  /**
22393   * The **`border-right`** CSS property is a shorthand that sets the values of `border-right-width`, `border-right-style` and `border-right-color`. These properties set an element's right border.
22394   *
22395   * **Syntax**: `<line-width> || <line-style> || <color>`
22396   *
22397   * | Chrome | Firefox | Safari |  Edge  |   IE    |
22398   * | :----: | :-----: | :----: | :----: | :-----: |
22399   * | **1**  |  **1**  | **1**  | **12** | **5.5** |
22400   *
22401   * @see https://developer.mozilla.org/docs/Web/CSS/border-right
22402   */
22403  borderRight?: BorderRightProperty<TLength> | BorderRightProperty<TLength>[];
22404  /**
22405   * The **`border-style`** CSS property is a shorthand property that sets the line style for all four sides of an element's border.
22406   *
22407   * **Syntax**: `<line-style>{1,4}`
22408   *
22409   * | Chrome | Firefox | Safari |  Edge  |  IE   |
22410   * | :----: | :-----: | :----: | :----: | :---: |
22411   * | **1**  |  **1**  | **1**  | **12** | **4** |
22412   *
22413   * @see https://developer.mozilla.org/docs/Web/CSS/border-style
22414   */
22415  borderStyle?: BorderStyleProperty | BorderStyleProperty[];
22416  /**
22417   * The **`border-top`** CSS property is a shorthand that sets the values of `border-top-width`, `border-top-style` and `border-top-color`. These properties set an element's top border.
22418   *
22419   * **Syntax**: `<line-width> || <line-style> || <color>`
22420   *
22421   * | Chrome | Firefox | Safari |  Edge  |  IE   |
22422   * | :----: | :-----: | :----: | :----: | :---: |
22423   * | **1**  |  **1**  | **1**  | **12** | **4** |
22424   *
22425   * @see https://developer.mozilla.org/docs/Web/CSS/border-top
22426   */
22427  borderTop?: BorderTopProperty<TLength> | BorderTopProperty<TLength>[];
22428  /**
22429   * The **`border-width`** shorthand CSS property sets the widths of all four sides of an element's border.
22430   *
22431   * **Syntax**: `<line-width>{1,4}`
22432   *
22433   * | Chrome | Firefox | Safari |  Edge  |  IE   |
22434   * | :----: | :-----: | :----: | :----: | :---: |
22435   * | **1**  |  **1**  | **1**  | **12** | **4** |
22436   *
22437   * @see https://developer.mozilla.org/docs/Web/CSS/border-width
22438   */
22439  borderWidth?: BorderWidthProperty<TLength> | BorderWidthProperty<TLength>[];
22440  /**
22441   * The **`column-rule`** CSS property sets the width, style, and color of the rule (line) drawn between columns in a multi-column layout.
22442   *
22443   * **Syntax**: `<'column-rule-width'> || <'column-rule-style'> || <'column-rule-color'>`
22444   *
22445   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
22446   * | :-----: | :-----: | :-----: | :----: | :----: |
22447   * | **50**  | **52**  |  **9**  | **12** | **10** |
22448   * | 1 _-x-_ |         | 3 _-x-_ |        |        |
22449   *
22450   * @see https://developer.mozilla.org/docs/Web/CSS/column-rule
22451   */
22452  columnRule?: ColumnRuleProperty<TLength> | ColumnRuleProperty<TLength>[];
22453  /**
22454   * The **`columns`** CSS property sets the column width and column count of an element.
22455   *
22456   * **Syntax**: `<'column-width'> || <'column-count'>`
22457   *
22458   * | Chrome | Firefox | Safari  |  Edge  |   IE   |
22459   * | :----: | :-----: | :-----: | :----: | :----: |
22460   * | **50** | **52**  |  **9**  | **12** | **10** |
22461   * |        |         | 3 _-x-_ |        |        |
22462   *
22463   * @see https://developer.mozilla.org/docs/Web/CSS/columns
22464   */
22465  columns?: ColumnsProperty<TLength> | ColumnsProperty<TLength>[];
22466  /**
22467   * The **`flex`** CSS property sets how a flex item will grow or shrink to fit the space available in its flex container. It is a shorthand for `flex-grow`, `flex-shrink`, and `flex-basis`.
22468   *
22469   * **Syntax**: `none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]`
22470   *
22471   * |  Chrome  | Firefox |  Safari   |  Edge  |    IE    |
22472   * | :------: | :-----: | :-------: | :----: | :------: |
22473   * |  **29**  | **20**  |   **9**   | **12** |  **11**  |
22474   * | 21 _-x-_ |         | 6.1 _-x-_ |        | 10 _-x-_ |
22475   *
22476   * @see https://developer.mozilla.org/docs/Web/CSS/flex
22477   */
22478  flex?: FlexProperty<TLength> | FlexProperty<TLength>[];
22479  /**
22480   * The **`flex-flow`** CSS property is a shorthand property for `flex-direction` and `flex-wrap` properties.
22481   *
22482   * **Syntax**: `<'flex-direction'> || <'flex-wrap'>`
22483   *
22484   * |  Chrome  | Firefox |  Safari   |  Edge  |   IE   |
22485   * | :------: | :-----: | :-------: | :----: | :----: |
22486   * |  **29**  | **28**  |   **9**   | **12** | **11** |
22487   * | 21 _-x-_ |         | 6.1 _-x-_ |        |        |
22488   *
22489   * @see https://developer.mozilla.org/docs/Web/CSS/flex-flow
22490   */
22491  flexFlow?: FlexFlowProperty | FlexFlowProperty[];
22492  /**
22493   * The **`font`** CSS property is a shorthand for `font-style`, `font-variant`, `font-weight`, `font-size`, `line-height`, and `font-family`. Alternatively, it sets an element's font to a system font.
22494   *
22495   * **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`
22496   *
22497   * | Chrome | Firefox | Safari |  Edge  |  IE   |
22498   * | :----: | :-----: | :----: | :----: | :---: |
22499   * | **1**  |  **1**  | **1**  | **12** | **3** |
22500   *
22501   * @see https://developer.mozilla.org/docs/Web/CSS/font
22502   */
22503  font?: FontProperty | FontProperty[];
22504  /**
22505   * The **`gap`** CSS property sets the gaps (gutters) between rows and columns. It is a shorthand for `row-gap` and `column-gap`.
22506   *
22507   * **Syntax**: `<'row-gap'> <'column-gap'>?`
22508   *
22509   * ---
22510   *
22511   * _Supported in Flex Layout_
22512   *
22513   * | Chrome | Firefox | Safari | Edge | IE  |
22514   * | :----: | :-----: | :----: | :--: | :-: |
22515   * | **84** | **63**  |   No   |  No  | No  |
22516   *
22517   * ---
22518   *
22519   * _Supported in Grid Layout_
22520   *
22521   * |     Chrome      |     Firefox     |      Safari       |  Edge  | IE  |
22522   * | :-------------: | :-------------: | :---------------: | :----: | :-: |
22523   * |     **66**      |     **61**      |      **12**       | **16** | No  |
22524   * | 57 _(grid-gap)_ | 52 _(grid-gap)_ | 10.1 _(grid-gap)_ |        |     |
22525   *
22526   * ---
22527   *
22528   * _Supported in Multi-column Layout_
22529   *
22530   * | Chrome | Firefox | Safari |  Edge  | IE  |
22531   * | :----: | :-----: | :----: | :----: | :-: |
22532   * | **66** | **61**  |   No   | **16** | No  |
22533   *
22534   * ---
22535   *
22536   * @see https://developer.mozilla.org/docs/Web/CSS/gap
22537   */
22538  gap?: GapProperty<TLength> | GapProperty<TLength>[];
22539  /**
22540   * The **`grid`** CSS property is a shorthand property that sets all of the explicit grid properties (`grid-template-rows`, `grid-template-columns`, and `grid-template-areas`), and all the implicit grid properties (`grid-auto-rows`, `grid-auto-columns`, and `grid-auto-flow`), in a single declaration.
22541   *
22542   * **Syntax**: `<'grid-template'> | <'grid-template-rows'> / [ auto-flow && dense? ] <'grid-auto-columns'>? | [ auto-flow && dense? ] <'grid-auto-rows'>? / <'grid-template-columns'>`
22543   *
22544   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
22545   * | :----: | :-----: | :------: | :----: | :-: |
22546   * | **57** | **52**  | **10.1** | **16** | No  |
22547   *
22548   * @see https://developer.mozilla.org/docs/Web/CSS/grid
22549   */
22550  grid?: GridProperty | GridProperty[];
22551  /**
22552   * The **`grid-area`** CSS property is a shorthand property for `grid-row-start`, `grid-column-start`, `grid-row-end` and `grid-column-end`, specifying 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 edges of its grid area.
22553   *
22554   * **Syntax**: `<grid-line> [ / <grid-line> ]{0,3}`
22555   *
22556   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
22557   * | :----: | :-----: | :------: | :----: | :-: |
22558   * | **57** | **52**  | **10.1** | **16** | No  |
22559   *
22560   * @see https://developer.mozilla.org/docs/Web/CSS/grid-area
22561   */
22562  gridArea?: GridAreaProperty | GridAreaProperty[];
22563  /**
22564   * The **`grid-column`** CSS property is a shorthand property for `grid-column-start` and `grid-column-end` specifying a grid item's size and location within the 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.
22565   *
22566   * **Syntax**: `<grid-line> [ / <grid-line> ]?`
22567   *
22568   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
22569   * | :----: | :-----: | :------: | :----: | :-: |
22570   * | **57** | **52**  | **10.1** | **16** | No  |
22571   *
22572   * @see https://developer.mozilla.org/docs/Web/CSS/grid-column
22573   */
22574  gridColumn?: GridColumnProperty | GridColumnProperty[];
22575  /**
22576   * The **`grid-row`** CSS property is a shorthand property for `grid-row-start` and `grid-row-end` specifying 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.
22577   *
22578   * **Syntax**: `<grid-line> [ / <grid-line> ]?`
22579   *
22580   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
22581   * | :----: | :-----: | :------: | :----: | :-: |
22582   * | **57** | **52**  | **10.1** | **16** | No  |
22583   *
22584   * @see https://developer.mozilla.org/docs/Web/CSS/grid-row
22585   */
22586  gridRow?: GridRowProperty | GridRowProperty[];
22587  /**
22588   * The **`grid-template`** CSS property is a shorthand property for defining grid columns, rows, and areas.
22589   *
22590   * **Syntax**: `none | [ <'grid-template-rows'> / <'grid-template-columns'> ] | [ <line-names>? <string> <track-size>? <line-names>? ]+ [ / <explicit-track-list> ]?`
22591   *
22592   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
22593   * | :----: | :-----: | :------: | :----: | :-: |
22594   * | **57** | **52**  | **10.1** | **16** | No  |
22595   *
22596   * @see https://developer.mozilla.org/docs/Web/CSS/grid-template
22597   */
22598  gridTemplate?: GridTemplateProperty | GridTemplateProperty[];
22599  /**
22600   * **Syntax**: `none | <integer>`
22601   *
22602   * **Initial value**: `none`
22603   */
22604  lineClamp?: LineClampProperty | LineClampProperty[];
22605  /**
22606   * The **`list-style`** CSS property is a shorthand to set list style properties `list-style-type`, `list-style-image`, and `list-style-position`.
22607   *
22608   * **Syntax**: `<'list-style-type'> || <'list-style-position'> || <'list-style-image'>`
22609   *
22610   * | Chrome | Firefox | Safari |  Edge  |  IE   |
22611   * | :----: | :-----: | :----: | :----: | :---: |
22612   * | **1**  |  **1**  | **1**  | **12** | **4** |
22613   *
22614   * @see https://developer.mozilla.org/docs/Web/CSS/list-style
22615   */
22616  listStyle?: ListStyleProperty | ListStyleProperty[];
22617  /**
22618   * 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`.
22619   *
22620   * **Syntax**: `[ <length> | <percentage> | auto ]{1,4}`
22621   *
22622   * | Chrome | Firefox | Safari |  Edge  |  IE   |
22623   * | :----: | :-----: | :----: | :----: | :---: |
22624   * | **1**  |  **1**  | **1**  | **12** | **3** |
22625   *
22626   * @see https://developer.mozilla.org/docs/Web/CSS/margin
22627   */
22628  margin?: MarginProperty<TLength> | MarginProperty<TLength>[];
22629  /**
22630   * The **`mask`** CSS property hides an element (partially or fully) by masking or clipping the image at specific points.
22631   *
22632   * **Syntax**: `<mask-layer>#`
22633   *
22634   * | Chrome | Firefox | Safari  |  Edge  | IE  |
22635   * | :----: | :-----: | :-----: | :----: | :-: |
22636   * | **1**  |  **2**  | **3.2** | **12** | No  |
22637   *
22638   * @see https://developer.mozilla.org/docs/Web/CSS/mask
22639   */
22640  mask?: MaskProperty<TLength> | MaskProperty<TLength>[];
22641  /**
22642   * The **`mask-border`** CSS property lets you create a mask along the edge of an element's border.
22643   *
22644   * **Syntax**: `<'mask-border-source'> || <'mask-border-slice'> [ / <'mask-border-width'>? [ / <'mask-border-outset'> ]? ]? || <'mask-border-repeat'> || <'mask-border-mode'>`
22645   */
22646  maskBorder?: MaskBorderProperty | MaskBorderProperty[];
22647  /**
22648   * The **`offset`** CSS property is a shorthand property for animating an element along a defined path.
22649   *
22650   * **Syntax**: `[ <'offset-position'>? [ <'offset-path'> [ <'offset-distance'> || <'offset-rotate'> ]? ]? ]! [ / <'offset-anchor'> ]?`
22651   *
22652   * |    Chrome     | Firefox | Safari |  Edge  | IE  |
22653   * | :-----------: | :-----: | :----: | :----: | :-: |
22654   * |    **55**     | **72**  |   No   | **79** | No  |
22655   * | 46 _(motion)_ |         |        |        |     |
22656   *
22657   * @see https://developer.mozilla.org/docs/Web/CSS/offset
22658   */
22659  motion?: OffsetProperty<TLength> | OffsetProperty<TLength>[];
22660  /**
22661   * The **`offset`** CSS property is a shorthand property for animating an element along a defined path.
22662   *
22663   * **Syntax**: `[ <'offset-position'>? [ <'offset-path'> [ <'offset-distance'> || <'offset-rotate'> ]? ]? ]! [ / <'offset-anchor'> ]?`
22664   *
22665   * |    Chrome     | Firefox | Safari |  Edge  | IE  |
22666   * | :-----------: | :-----: | :----: | :----: | :-: |
22667   * |    **55**     | **72**  |   No   | **79** | No  |
22668   * | 46 _(motion)_ |         |        |        |     |
22669   *
22670   * @see https://developer.mozilla.org/docs/Web/CSS/offset
22671   */
22672  offset?: OffsetProperty<TLength> | OffsetProperty<TLength>[];
22673  /**
22674   * The **`outline`** CSS property is a shorthand to set various outline properties in a single declaration: `outline-style`, `outline-width`, and `outline-color`.
22675   *
22676   * **Syntax**: `[ <'outline-color'> || <'outline-style'> || <'outline-width'> ]`
22677   *
22678   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
22679   * | :----: | :-----: | :-----: | :----: | :---: |
22680   * | **1**  | **1.5** | **1.2** | **12** | **8** |
22681   *
22682   * @see https://developer.mozilla.org/docs/Web/CSS/outline
22683   */
22684  outline?: OutlineProperty<TLength> | OutlineProperty<TLength>[];
22685  /**
22686   * The **`overflow`** CSS property sets what to do when an element's content is too big to fit in its block formatting context. It is a shorthand for `overflow-x` and `overflow-y`.
22687   *
22688   * **Syntax**: `[ visible | hidden | clip | scroll | auto ]{1,2}`
22689   *
22690   * **Initial value**: `visible`
22691   *
22692   * | Chrome | Firefox | Safari |  Edge  |  IE   |
22693   * | :----: | :-----: | :----: | :----: | :---: |
22694   * | **1**  |  **1**  | **1**  | **12** | **4** |
22695   *
22696   * @see https://developer.mozilla.org/docs/Web/CSS/overflow
22697   */
22698  overflow?: OverflowProperty | OverflowProperty[];
22699  /**
22700   * The **`padding`** CSS property sets the padding area on all four sides of an element. It is a shorthand for `padding-top`, `padding-right`, `padding-bottom`, and `padding-left`.
22701   *
22702   * **Syntax**: `[ <length> | <percentage> ]{1,4}`
22703   *
22704   * | Chrome | Firefox | Safari |  Edge  |  IE   |
22705   * | :----: | :-----: | :----: | :----: | :---: |
22706   * | **1**  |  **1**  | **1**  | **12** | **4** |
22707   *
22708   * @see https://developer.mozilla.org/docs/Web/CSS/padding
22709   */
22710  padding?: PaddingProperty<TLength> | PaddingProperty<TLength>[];
22711  /**
22712   * The CSS **`place-items`** shorthand property sets the `align-items` and `justify-items` properties, respectively. If the second value is not set, the first value is also used for it.
22713   *
22714   * **Syntax**: `<'align-items'> <'justify-items'>?`
22715   *
22716   * ---
22717   *
22718   * _Supported in Flex Layout_
22719   *
22720   * | Chrome | Firefox | Safari |  Edge  | IE  |
22721   * | :----: | :-----: | :----: | :----: | :-: |
22722   * | **59** | **45**  | **11** | **79** | No  |
22723   *
22724   * ---
22725   *
22726   * _Supported in Grid Layout_
22727   *
22728   * | Chrome | Firefox | Safari |  Edge  | IE  |
22729   * | :----: | :-----: | :----: | :----: | :-: |
22730   * | **59** | **45**  | **11** | **79** | No  |
22731   *
22732   * ---
22733   *
22734   * @see https://developer.mozilla.org/docs/Web/CSS/place-items
22735   */
22736  placeItems?: PlaceItemsProperty | PlaceItemsProperty[];
22737  /**
22738   * The **`place-self`** CSS property is a shorthand property sets both the `align-self` and `justify-self` properties. The first value is the `align-self` property value, the second the `justify-self` one. If the second value is not present, the first value is also used for it.
22739   *
22740   * **Syntax**: `<'align-self'> <'justify-self'>?`
22741   *
22742   * ---
22743   *
22744   * _Supported in Flex Layout_
22745   *
22746   * | Chrome | Firefox | Safari |  Edge  | IE  |
22747   * | :----: | :-----: | :----: | :----: | :-: |
22748   * | **59** | **45**  |   No   | **79** | No  |
22749   *
22750   * ---
22751   *
22752   * _Supported in Grid Layout_
22753   *
22754   * | Chrome | Firefox | Safari |  Edge  | IE  |
22755   * | :----: | :-----: | :----: | :----: | :-: |
22756   * | **59** | **45**  |   No   | **79** | No  |
22757   *
22758   * ---
22759   *
22760   * @see https://developer.mozilla.org/docs/Web/CSS/place-self
22761   */
22762  placeSelf?: PlaceSelfProperty | PlaceSelfProperty[];
22763  /**
22764   * The **`text-decoration`** CSS property sets the appearance of decorative lines on text. It is a shorthand for `text-decoration-line`, `text-decoration-color`, and `text-decoration-style`.
22765   *
22766   * **Syntax**: `<'text-decoration-line'> || <'text-decoration-style'> || <'text-decoration-color'> || <'text-decoration-thickness'>`
22767   *
22768   * | Chrome | Firefox | Safari |  Edge  |  IE   |
22769   * | :----: | :-----: | :----: | :----: | :---: |
22770   * | **1**  |  **1**  | **1**  | **12** | **3** |
22771   *
22772   * @see https://developer.mozilla.org/docs/Web/CSS/text-decoration
22773   */
22774  textDecoration?: TextDecorationProperty<TLength> | TextDecorationProperty<TLength>[];
22775  /**
22776   * 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`.
22777   *
22778   * **Syntax**: `<'text-emphasis-style'> || <'text-emphasis-color'>`
22779   *
22780   * |    Chrome    | Firefox | Safari  |     Edge     | IE  |
22781   * | :----------: | :-----: | :-----: | :----------: | :-: |
22782   * | **25** _-x-_ | **46**  | **6.1** | **79** _-x-_ | No  |
22783   *
22784   * @see https://developer.mozilla.org/docs/Web/CSS/text-emphasis
22785   */
22786  textEmphasis?: TextEmphasisProperty | TextEmphasisProperty[];
22787  /**
22788   * The **`transition`** CSS property is a shorthand property for `transition-property`, `transition-duration`, `transition-timing-function`, and `transition-delay`.
22789   *
22790   * **Syntax**: `<single-transition>#`
22791   *
22792   * | Chrome  | Firefox |  Safari   |  Edge  |   IE   |
22793   * | :-----: | :-----: | :-------: | :----: | :----: |
22794   * | **26**  | **16**  |   **9**   | **12** | **10** |
22795   * | 1 _-x-_ | 4 _-x-_ | 3.1 _-x-_ |        |        |
22796   *
22797   * @see https://developer.mozilla.org/docs/Web/CSS/transition
22798   */
22799  transition?: TransitionProperty | TransitionProperty[];
22800}
22801
22802export interface StandardPropertiesFallback<TLength = string | 0> extends StandardLonghandPropertiesFallback<TLength>, StandardShorthandPropertiesFallback<TLength> {}
22803
22804export interface VendorLonghandPropertiesFallback<TLength = string | 0> {
22805  /**
22806   * The **`animation-delay`** CSS property sets when an animation starts. The animation can start later, immediately from its beginning, or immediately and partway through the animation.
22807   *
22808   * **Syntax**: `<time>#`
22809   *
22810   * **Initial value**: `0s`
22811   */
22812  MozAnimationDelay?: GlobalsString | GlobalsString[];
22813  /**
22814   * The **`animation-direction`** CSS property sets whether an animation should play forwards, backwards, or alternating back and forth.
22815   *
22816   * **Syntax**: `<single-animation-direction>#`
22817   *
22818   * **Initial value**: `normal`
22819   */
22820  MozAnimationDirection?: AnimationDirectionProperty | AnimationDirectionProperty[];
22821  /**
22822   * The **`animation-duration`** CSS property sets the length of time that an animation takes to complete one cycle.
22823   *
22824   * **Syntax**: `<time>#`
22825   *
22826   * **Initial value**: `0s`
22827   */
22828  MozAnimationDuration?: GlobalsString | GlobalsString[];
22829  /**
22830   * The **`animation-fill-mode`** CSS property sets how a CSS animation applies styles to its target before and after its execution.
22831   *
22832   * **Syntax**: `<single-animation-fill-mode>#`
22833   *
22834   * **Initial value**: `none`
22835   */
22836  MozAnimationFillMode?: AnimationFillModeProperty | AnimationFillModeProperty[];
22837  /**
22838   * The **`animation-iteration-count`** CSS property sets the number of times an animation cycle should be played before stopping.
22839   *
22840   * **Syntax**: `<single-animation-iteration-count>#`
22841   *
22842   * **Initial value**: `1`
22843   */
22844  MozAnimationIterationCount?: AnimationIterationCountProperty | AnimationIterationCountProperty[];
22845  /**
22846   * The **`animation-name`** CSS property sets one or more animations to apply to an element. Each name is an `@keyframes` at-rule that sets the property values for the animation sequence.
22847   *
22848   * **Syntax**: `[ none | <keyframes-name> ]#`
22849   *
22850   * **Initial value**: `none`
22851   */
22852  MozAnimationName?: AnimationNameProperty | AnimationNameProperty[];
22853  /**
22854   * The **`animation-play-state`** CSS property sets whether an animation is running or paused.
22855   *
22856   * **Syntax**: `<single-animation-play-state>#`
22857   *
22858   * **Initial value**: `running`
22859   */
22860  MozAnimationPlayState?: AnimationPlayStateProperty | AnimationPlayStateProperty[];
22861  /**
22862   * The `**animation-timing-function**` CSS property sets how an animation progresses through the duration of each cycle.
22863   *
22864   * **Syntax**: `<timing-function>#`
22865   *
22866   * **Initial value**: `ease`
22867   */
22868  MozAnimationTimingFunction?: AnimationTimingFunctionProperty | AnimationTimingFunctionProperty[];
22869  /**
22870   * The **`-moz-appearance`** CSS property is used in Gecko (Firefox) to display an element using platform-native styling based on the operating system's theme.
22871   *
22872   * **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`
22873   *
22874   * **Initial value**: `none` (but this value is overridden in the user agent CSS)
22875   */
22876  MozAppearance?: MozAppearanceProperty | MozAppearanceProperty[];
22877  /**
22878   * The **`backface-visibility`** CSS property sets whether the back face of an element is visible when turned towards the user.
22879   *
22880   * **Syntax**: `visible | hidden`
22881   *
22882   * **Initial value**: `visible`
22883   */
22884  MozBackfaceVisibility?: BackfaceVisibilityProperty | BackfaceVisibilityProperty[];
22885  /**
22886   * In Mozilla applications like Firefox, the **`-moz-border-bottom-colors`** CSS property sets a list of colors for the bottom border.
22887   *
22888   * **Syntax**: `<color>+ | none`
22889   *
22890   * **Initial value**: `none`
22891   */
22892  MozBorderBottomColors?: MozBorderBottomColorsProperty | MozBorderBottomColorsProperty[];
22893  /**
22894   * 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`.
22895   *
22896   * **Syntax**: `<'border-top-color'>`
22897   *
22898   * **Initial value**: `currentcolor`
22899   */
22900  MozBorderEndColor?: BorderInlineEndColorProperty | BorderInlineEndColorProperty[];
22901  /**
22902   * 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`.
22903   *
22904   * **Syntax**: `<'border-top-style'>`
22905   *
22906   * **Initial value**: `none`
22907   */
22908  MozBorderEndStyle?: BorderInlineEndStyleProperty | BorderInlineEndStyleProperty[];
22909  /**
22910   * 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`.
22911   *
22912   * **Syntax**: `<'border-top-width'>`
22913   *
22914   * **Initial value**: `medium`
22915   */
22916  MozBorderEndWidth?: BorderInlineEndWidthProperty<TLength> | BorderInlineEndWidthProperty<TLength>[];
22917  /**
22918   * In Mozilla applications like Firefox, the **`-moz-border-left-colors`** CSS property sets a list of colors for the left border.
22919   *
22920   * **Syntax**: `<color>+ | none`
22921   *
22922   * **Initial value**: `none`
22923   */
22924  MozBorderLeftColors?: MozBorderLeftColorsProperty | MozBorderLeftColorsProperty[];
22925  /**
22926   * In Mozilla applications like Firefox, the **`-moz-border-right-colors`** CSS property sets a list of colors for the right border.
22927   *
22928   * **Syntax**: `<color>+ | none`
22929   *
22930   * **Initial value**: `none`
22931   */
22932  MozBorderRightColors?: MozBorderRightColorsProperty | MozBorderRightColorsProperty[];
22933  /**
22934   * 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`.
22935   *
22936   * **Syntax**: `<'border-top-color'>`
22937   *
22938   * **Initial value**: `currentcolor`
22939   */
22940  MozBorderStartColor?: BorderInlineStartColorProperty | BorderInlineStartColorProperty[];
22941  /**
22942   * 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`.
22943   *
22944   * **Syntax**: `<'border-top-style'>`
22945   *
22946   * **Initial value**: `none`
22947   */
22948  MozBorderStartStyle?: BorderInlineStartStyleProperty | BorderInlineStartStyleProperty[];
22949  /**
22950   * In Mozilla applications like Firefox, the **`-moz-border-top-colors`** CSS property sets a list of colors for the top border.
22951   *
22952   * **Syntax**: `<color>+ | none`
22953   *
22954   * **Initial value**: `none`
22955   */
22956  MozBorderTopColors?: MozBorderTopColorsProperty | MozBorderTopColorsProperty[];
22957  /**
22958   * The **`box-sizing`** CSS property defines how the user agent should calculate the total width and height of an element.
22959   *
22960   * **Syntax**: `content-box | border-box`
22961   *
22962   * **Initial value**: `content-box`
22963   */
22964  MozBoxSizing?: BoxSizingProperty | BoxSizingProperty[];
22965  /**
22966   * The **`column-count`** CSS property breaks an element's content into the specified number of columns.
22967   *
22968   * **Syntax**: `<integer> | auto`
22969   *
22970   * **Initial value**: `auto`
22971   */
22972  MozColumnCount?: ColumnCountProperty | ColumnCountProperty[];
22973  /**
22974   * The **`column-fill`** CSS property controls how an element's contents are balanced when broken into columns.
22975   *
22976   * **Syntax**: `auto | balance | balance-all`
22977   *
22978   * **Initial value**: `balance`
22979   */
22980  MozColumnFill?: ColumnFillProperty | ColumnFillProperty[];
22981  /**
22982   * The **`column-gap`** CSS property sets the size of the gap (gutter) between an element's columns.
22983   *
22984   * **Syntax**: `normal | <length-percentage>`
22985   *
22986   * **Initial value**: `normal`
22987   */
22988  MozColumnGap?: ColumnGapProperty<TLength> | ColumnGapProperty<TLength>[];
22989  /**
22990   * The **`column-rule-color`** CSS property sets the color of the rule (line) drawn between columns in a multi-column layout.
22991   *
22992   * **Syntax**: `<color>`
22993   *
22994   * **Initial value**: `currentcolor`
22995   */
22996  MozColumnRuleColor?: ColumnRuleColorProperty | ColumnRuleColorProperty[];
22997  /**
22998   * The **`column-rule-style`** CSS property sets the style of the line drawn between columns in a multi-column layout.
22999   *
23000   * **Syntax**: `<'border-style'>`
23001   *
23002   * **Initial value**: `none`
23003   */
23004  MozColumnRuleStyle?: ColumnRuleStyleProperty | ColumnRuleStyleProperty[];
23005  /**
23006   * The **`column-rule-width`** CSS property sets the width of the rule (line) drawn between columns in a multi-column layout.
23007   *
23008   * **Syntax**: `<'border-width'>`
23009   *
23010   * **Initial value**: `medium`
23011   */
23012  MozColumnRuleWidth?: ColumnRuleWidthProperty<TLength> | ColumnRuleWidthProperty<TLength>[];
23013  /**
23014   * The **`column-width`** CSS property specifies 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.
23015   *
23016   * **Syntax**: `<length> | auto`
23017   *
23018   * **Initial value**: `auto`
23019   */
23020  MozColumnWidth?: ColumnWidthProperty<TLength> | ColumnWidthProperty<TLength>[];
23021  /**
23022   * If you reference an SVG image in a webpage (such as with the `<img>` element or as a background image), the SVG image can coordinate with the embedding element (its context) to have the image adopt property values set on the embedding element. To do this the embedding element needs to list the properties that are to be made available to the image by listing them as values of the **`-moz-context-properties`** property, and the image needs to opt in to using those properties by using values such as the `context-fill` value.
23023   *
23024   * **Syntax**: `none | [ fill | fill-opacity | stroke | stroke-opacity ]#`
23025   *
23026   * **Initial value**: `none`
23027   */
23028  MozContextProperties?: MozContextPropertiesProperty | MozContextPropertiesProperty[];
23029  /**
23030   * 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.
23031   *
23032   * **Syntax**: `border-box | content-box | margin-box | padding-box`
23033   *
23034   * **Initial value**: `content-box`
23035   */
23036  MozFloatEdge?: MozFloatEdgeProperty | MozFloatEdgeProperty[];
23037  /**
23038   * The **`font-feature-settings`** CSS property controls advanced typographic features in OpenType fonts.
23039   *
23040   * **Syntax**: `normal | <feature-tag-value>#`
23041   *
23042   * **Initial value**: `normal`
23043   */
23044  MozFontFeatureSettings?: FontFeatureSettingsProperty | FontFeatureSettingsProperty[];
23045  /**
23046   * The **`font-language-override`** CSS property controls the use of language-specific glyphs in a typeface.
23047   *
23048   * **Syntax**: `normal | <string>`
23049   *
23050   * **Initial value**: `normal`
23051   */
23052  MozFontLanguageOverride?: FontLanguageOverrideProperty | FontLanguageOverrideProperty[];
23053  /**
23054   * 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.
23055   *
23056   * **Syntax**: `<integer>`
23057   *
23058   * **Initial value**: `0`
23059   */
23060  MozForceBrokenImageIcon?: GlobalsNumber | GlobalsNumber[];
23061  /**
23062   * The **`hyphens`** CSS property specifies how words should be hyphenated when text wraps across multiple lines. You can prevent hyphenation entirely, use hyphenation in manually-specified points within the text, or let the browser automatically insert hyphens where appropriate.
23063   *
23064   * **Syntax**: `none | manual | auto`
23065   *
23066   * **Initial value**: `manual`
23067   */
23068  MozHyphens?: HyphensProperty | HyphensProperty[];
23069  /**
23070   * 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.
23071   *
23072   * **Syntax**: `<shape> | auto`
23073   *
23074   * **Initial value**: `auto`
23075   */
23076  MozImageRegion?: MozImageRegionProperty | MozImageRegionProperty[];
23077  /**
23078   * 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`.
23079   *
23080   * **Syntax**: `<'margin-left'>`
23081   *
23082   * **Initial value**: `0`
23083   */
23084  MozMarginEnd?: MarginInlineEndProperty<TLength> | MarginInlineEndProperty<TLength>[];
23085  /**
23086   * 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`.
23087   *
23088   * **Syntax**: `<'margin-left'>`
23089   *
23090   * **Initial value**: `0`
23091   */
23092  MozMarginStart?: MarginInlineStartProperty<TLength> | MarginInlineStartProperty<TLength>[];
23093  /**
23094   * The **`-moz-orient`** CSS property specifies the orientation of the element to which it's applied.
23095   *
23096   * **Syntax**: `inline | block | horizontal | vertical`
23097   *
23098   * **Initial value**: `inline`
23099   */
23100  MozOrient?: MozOrientProperty | MozOrientProperty[];
23101  /**
23102   * In Mozilla applications, the **`-moz-outline-radius-bottomleft`** CSS property can be used to round the bottom-left corner of an element's `outline`.
23103   *
23104   * **Syntax**: `<outline-radius>`
23105   *
23106   * **Initial value**: `0`
23107   */
23108  MozOutlineRadiusBottomleft?: MozOutlineRadiusBottomleftProperty<TLength> | MozOutlineRadiusBottomleftProperty<TLength>[];
23109  /**
23110   * In Mozilla applications, the **`-moz-outline-radius-bottomright`** CSS property can be used to round the bottom-right corner of an element's `outline`.
23111   *
23112   * **Syntax**: `<outline-radius>`
23113   *
23114   * **Initial value**: `0`
23115   */
23116  MozOutlineRadiusBottomright?: MozOutlineRadiusBottomrightProperty<TLength> | MozOutlineRadiusBottomrightProperty<TLength>[];
23117  /**
23118   * In Mozilla applications, the **`-moz-outline-radius-topleft`** CSS property can be used to round the top-left corner of an element's `outline`.
23119   *
23120   * **Syntax**: `<outline-radius>`
23121   *
23122   * **Initial value**: `0`
23123   */
23124  MozOutlineRadiusTopleft?: MozOutlineRadiusTopleftProperty<TLength> | MozOutlineRadiusTopleftProperty<TLength>[];
23125  /**
23126   * In Mozilla applications, the **`-moz-outline-radius-topright`** CSS property can be used to round the top-right corner of an element's `outline`.
23127   *
23128   * **Syntax**: `<outline-radius>`
23129   *
23130   * **Initial value**: `0`
23131   */
23132  MozOutlineRadiusTopright?: MozOutlineRadiusToprightProperty<TLength> | MozOutlineRadiusToprightProperty<TLength>[];
23133  /**
23134   * 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. It corresponds to the `padding-top`, `padding-right`, `padding-bottom`, or `padding-left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
23135   *
23136   * **Syntax**: `<'padding-left'>`
23137   *
23138   * **Initial value**: `0`
23139   */
23140  MozPaddingEnd?: PaddingInlineEndProperty<TLength> | PaddingInlineEndProperty<TLength>[];
23141  /**
23142   * 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. It corresponds to the `padding-top`, `padding-right`, `padding-bottom`, or `padding-left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
23143   *
23144   * **Syntax**: `<'padding-left'>`
23145   *
23146   * **Initial value**: `0`
23147   */
23148  MozPaddingStart?: PaddingInlineStartProperty<TLength> | PaddingInlineStartProperty<TLength>[];
23149  /**
23150   * 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. Each 3D element with z>0 becomes larger; each 3D-element with z<0 becomes smaller. The strength of the effect is determined by the value of this property.
23151   *
23152   * **Syntax**: `none | <length>`
23153   *
23154   * **Initial value**: `none`
23155   */
23156  MozPerspective?: PerspectiveProperty<TLength> | PerspectiveProperty<TLength>[];
23157  /**
23158   * 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.
23159   *
23160   * **Syntax**: `<position>`
23161   *
23162   * **Initial value**: `50% 50%`
23163   */
23164  MozPerspectiveOrigin?: PerspectiveOriginProperty<TLength> | PerspectiveOriginProperty<TLength>[];
23165  /**
23166   * **`-moz-stack-sizing`** is an extended CSS property. Normally, a `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.
23167   *
23168   * **Syntax**: `ignore | stretch-to-fit`
23169   *
23170   * **Initial value**: `stretch-to-fit`
23171   */
23172  MozStackSizing?: MozStackSizingProperty | MozStackSizingProperty[];
23173  /**
23174   * The **`tab-size`** CSS property is used to customize the width of a tab (`U+0009`) character.
23175   *
23176   * **Syntax**: `<integer> | <length>`
23177   *
23178   * **Initial value**: `8`
23179   */
23180  MozTabSize?: TabSizeProperty<TLength> | TabSizeProperty<TLength>[];
23181  /**
23182   * The **`-moz-text-blink`** non-standard Mozilla CSS extension specifies the blink mode.
23183   *
23184   * **Syntax**: `none | blink`
23185   *
23186   * **Initial value**: `none`
23187   */
23188  MozTextBlink?: MozTextBlinkProperty | MozTextBlinkProperty[];
23189  /**
23190   * The **`text-size-adjust`** CSS property controls the text inflation algorithm used on some smartphones and tablets. Other browsers will ignore this property.
23191   *
23192   * **Syntax**: `none | auto | <percentage>`
23193   *
23194   * **Initial value**: `auto` for smartphone browsers supporting inflation, `none` in other cases (and then not modifiable).
23195   */
23196  MozTextSizeAdjust?: TextSizeAdjustProperty | TextSizeAdjustProperty[];
23197  /**
23198   * The **`transform-origin`** CSS property sets the origin for an element's transformations.
23199   *
23200   * **Syntax**: `[ <length-percentage> | left | center | right | top | bottom ] | [ [ <length-percentage> | left | center | right ] && [ <length-percentage> | top | center | bottom ] ] <length>?`
23201   *
23202   * **Initial value**: `50% 50% 0`
23203   */
23204  MozTransformOrigin?: TransformOriginProperty<TLength> | TransformOriginProperty<TLength>[];
23205  /**
23206   * 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.
23207   *
23208   * **Syntax**: `flat | preserve-3d`
23209   *
23210   * **Initial value**: `flat`
23211   */
23212  MozTransformStyle?: TransformStyleProperty | TransformStyleProperty[];
23213  /**
23214   * The **`transition-delay`** CSS property specifies the duration to wait before starting a property's transition effect when its value changes.
23215   *
23216   * **Syntax**: `<time>#`
23217   *
23218   * **Initial value**: `0s`
23219   */
23220  MozTransitionDelay?: GlobalsString | GlobalsString[];
23221  /**
23222   * 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.
23223   *
23224   * **Syntax**: `<time>#`
23225   *
23226   * **Initial value**: `0s`
23227   */
23228  MozTransitionDuration?: GlobalsString | GlobalsString[];
23229  /**
23230   * The **`transition-property`** CSS property sets the CSS properties to which a transition effect should be applied.
23231   *
23232   * **Syntax**: `none | <single-transition-property>#`
23233   *
23234   * **Initial value**: all
23235   */
23236  MozTransitionProperty?: TransitionPropertyProperty | TransitionPropertyProperty[];
23237  /**
23238   * The **`transition-timing-function`** CSS property sets how intermediate values are calculated for CSS properties being affected by a transition effect.
23239   *
23240   * **Syntax**: `<timing-function>#`
23241   *
23242   * **Initial value**: `ease`
23243   */
23244  MozTransitionTimingFunction?: TransitionTimingFunctionProperty | TransitionTimingFunctionProperty[];
23245  /**
23246   * The **`-moz-user-focus`** CSS property is used to indicate whether an element can have the focus.
23247   *
23248   * **Syntax**: `ignore | normal | select-after | select-before | select-menu | select-same | select-all | none`
23249   *
23250   * **Initial value**: `none`
23251   */
23252  MozUserFocus?: MozUserFocusProperty | MozUserFocusProperty[];
23253  /**
23254   * 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.
23255   *
23256   * **Syntax**: `read-only | read-write | write-only`
23257   *
23258   * **Initial value**: `read-only`
23259   */
23260  MozUserModify?: MozUserModifyProperty | MozUserModifyProperty[];
23261  /**
23262   * 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.
23263   *
23264   * **Syntax**: `auto | text | none | contain | all`
23265   *
23266   * **Initial value**: `auto`
23267   */
23268  MozUserSelect?: UserSelectProperty | UserSelectProperty[];
23269  /**
23270   * 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.
23271   *
23272   * **Syntax**: `drag | no-drag`
23273   *
23274   * **Initial value**: `drag`
23275   */
23276  MozWindowDragging?: MozWindowDraggingProperty | MozWindowDraggingProperty[];
23277  /**
23278   * The **`-moz-window-shadow`** CSS property specifies whether a window will have a shadow. It only works on Mac OS X.
23279   *
23280   * **Syntax**: `default | menu | tooltip | sheet | none`
23281   *
23282   * **Initial value**: `default`
23283   */
23284  MozWindowShadow?: MozWindowShadowProperty | MozWindowShadowProperty[];
23285  /**
23286   * The **`-ms-accelerator`** CSS property is a Microsoft extension that sets or retrieves a string indicating whether the object represents a keyboard shortcut.
23287   *
23288   * **Syntax**: `false | true`
23289   *
23290   * **Initial value**: `false`
23291   */
23292  msAccelerator?: MsAcceleratorProperty | MsAcceleratorProperty[];
23293  /**
23294   * The **`align-self`** CSS property aligns flex items of the current flex line overriding the `align-items` value. If any of the item's cross-axis margin is set to `auto`, then `align-self` is ignored. In Grid layout `align-self` aligns the item inside the grid area.
23295   *
23296   * **Syntax**: `auto | normal | stretch | <baseline-position> | <overflow-position>? <self-position>`
23297   *
23298   * **Initial value**: `auto`
23299   */
23300  msAlignSelf?: AlignSelfProperty | AlignSelfProperty[];
23301  /**
23302   * The **`-ms-block-progression`** CSS property is a Microsoft extension that specifies the block progression and layout orientation.
23303   *
23304   * **Syntax**: `tb | rl | bt | lr`
23305   *
23306   * **Initial value**: `tb`
23307   */
23308  msBlockProgression?: MsBlockProgressionProperty | MsBlockProgressionProperty[];
23309  /**
23310   * 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.
23311   *
23312   * **Syntax**: `none | chained`
23313   *
23314   * **Initial value**: `none`
23315   */
23316  msContentZoomChaining?: MsContentZoomChainingProperty | MsContentZoomChainingProperty[];
23317  /**
23318   * The **`-ms-content-zoom-limit-max`** CSS property is a Microsoft extension that specifies the selected elements' maximum zoom factor.
23319   *
23320   * **Syntax**: `<percentage>`
23321   *
23322   * **Initial value**: `400%`
23323   */
23324  msContentZoomLimitMax?: GlobalsString | GlobalsString[];
23325  /**
23326   * The **`-ms-content-zoom-limit-min`** CSS property is a Microsoft extension that specifies the minimum zoom factor.
23327   *
23328   * **Syntax**: `<percentage>`
23329   *
23330   * **Initial value**: `100%`
23331   */
23332  msContentZoomLimitMin?: GlobalsString | GlobalsString[];
23333  /**
23334   * The **`-ms-content-zoom-snap-points`** CSS property is a Microsoft extension that specifies where zoom snap-points are located.
23335   *
23336   * **Syntax**: `snapInterval( <percentage>, <percentage> ) | snapList( <percentage># )`
23337   *
23338   * **Initial value**: `snapInterval(0%, 100%)`
23339   */
23340  msContentZoomSnapPoints?: GlobalsString | GlobalsString[];
23341  /**
23342   * The **`-ms-content-zoom-snap-type`** CSS property is a Microsoft extension that specifies how zooming is affected by defined snap-points.
23343   *
23344   * **Syntax**: `none | proximity | mandatory`
23345   *
23346   * **Initial value**: `none`
23347   */
23348  msContentZoomSnapType?: MsContentZoomSnapTypeProperty | MsContentZoomSnapTypeProperty[];
23349  /**
23350   * The **`-ms-content-zooming`** CSS property is a Microsoft extension that specifies whether zooming is enabled.
23351   *
23352   * **Syntax**: `none | zoom`
23353   *
23354   * **Initial value**: zoom for the top level element, none for all other elements
23355   */
23356  msContentZooming?: MsContentZoomingProperty | MsContentZoomingProperty[];
23357  /**
23358   * The `-ms-filter` CSS property is a Microsoft extension that sets or retrieves the filter or collection of filters applied to an object.
23359   *
23360   * **Syntax**: `<string>`
23361   *
23362   * **Initial value**: "" (the empty string)
23363   */
23364  msFilter?: GlobalsString | GlobalsString[];
23365  /**
23366   * 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).
23367   *
23368   * **Syntax**: `row | row-reverse | column | column-reverse`
23369   *
23370   * **Initial value**: `row`
23371   */
23372  msFlexDirection?: FlexDirectionProperty | FlexDirectionProperty[];
23373  /**
23374   * The **`flex-grow`** CSS property sets how much of the available space in the flex container should be assigned to that item (the flex grow factor). If all sibling items have the same flex grow factor, then all items will receive the same share of available space, otherwise it is distributed according to the ratio defined by the different flex grow factors.
23375   *
23376   * **Syntax**: `<number>`
23377   *
23378   * **Initial value**: `0`
23379   */
23380  msFlexPositive?: GlobalsNumber | GlobalsNumber[];
23381  /**
23382   * 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.
23383   *
23384   * **Syntax**: `[ none | <custom-ident> ]#`
23385   *
23386   * **Initial value**: `none`
23387   */
23388  msFlowFrom?: MsFlowFromProperty | MsFlowFromProperty[];
23389  /**
23390   * 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.
23391   *
23392   * **Syntax**: `[ none | <custom-ident> ]#`
23393   *
23394   * **Initial value**: `none`
23395   */
23396  msFlowInto?: MsFlowIntoProperty | MsFlowIntoProperty[];
23397  /**
23398   * The **`grid-auto-columns`** CSS property specifies the size of an implicitly-created grid column track.
23399   *
23400   * **Syntax**: `<track-size>+`
23401   *
23402   * **Initial value**: `auto`
23403   */
23404  msGridColumns?: GridAutoColumnsProperty<TLength> | GridAutoColumnsProperty<TLength>[];
23405  /**
23406   * The **`grid-auto-rows`** CSS property specifies the size of an implicitly-created grid row track.
23407   *
23408   * **Syntax**: `<track-size>+`
23409   *
23410   * **Initial value**: `auto`
23411   */
23412  msGridRows?: GridAutoRowsProperty<TLength> | GridAutoRowsProperty<TLength>[];
23413  /**
23414   * 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.
23415   *
23416   * **Syntax**: `auto | none`
23417   *
23418   * **Initial value**: `auto`
23419   */
23420  msHighContrastAdjust?: MsHighContrastAdjustProperty | MsHighContrastAdjustProperty[];
23421  /**
23422   * 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.
23423   *
23424   * **Syntax**: `auto | <integer>{1,3}`
23425   *
23426   * **Initial value**: `auto`
23427   */
23428  msHyphenateLimitChars?: MsHyphenateLimitCharsProperty | MsHyphenateLimitCharsProperty[];
23429  /**
23430   * 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.
23431   *
23432   * **Syntax**: `no-limit | <integer>`
23433   *
23434   * **Initial value**: `no-limit`
23435   */
23436  msHyphenateLimitLines?: MsHyphenateLimitLinesProperty | MsHyphenateLimitLinesProperty[];
23437  /**
23438   * The `**-ms-hyphenate-limit-zone**` CSS property is a Microsoft extension specifying the width of the hyphenation zone.
23439   *
23440   * **Syntax**: `<percentage> | <length>`
23441   *
23442   * **Initial value**: `0`
23443   */
23444  msHyphenateLimitZone?: MsHyphenateLimitZoneProperty<TLength> | MsHyphenateLimitZoneProperty<TLength>[];
23445  /**
23446   * The **`hyphens`** CSS property specifies how words should be hyphenated when text wraps across multiple lines. You can prevent hyphenation entirely, use hyphenation in manually-specified points within the text, or let the browser automatically insert hyphens where appropriate.
23447   *
23448   * **Syntax**: `none | manual | auto`
23449   *
23450   * **Initial value**: `manual`
23451   */
23452  msHyphens?: HyphensProperty | HyphensProperty[];
23453  /**
23454   * 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.
23455   *
23456   * **Syntax**: `auto | after`
23457   *
23458   * **Initial value**: `auto`
23459   */
23460  msImeAlign?: MsImeAlignProperty | MsImeAlignProperty[];
23461  /**
23462   * The **`line-break`** CSS property sets how to break lines of Chinese, Japanese, or Korean (CJK) text when working with punctuation and symbols.
23463   *
23464   * **Syntax**: `auto | loose | normal | strict | anywhere`
23465   *
23466   * **Initial value**: `auto`
23467   */
23468  msLineBreak?: LineBreakProperty | LineBreakProperty[];
23469  /**
23470   * 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.
23471   *
23472   * **Syntax**: `<integer>`
23473   *
23474   * **Initial value**: `0`
23475   */
23476  msOrder?: GlobalsNumber | GlobalsNumber[];
23477  /**
23478   * The **`-ms-overflow-style`** CSS property is a Microsoft extension controlling the behavior of scrollbars when the content of an element overflows.
23479   *
23480   * **Syntax**: `auto | none | scrollbar | -ms-autohiding-scrollbar`
23481   *
23482   * **Initial value**: `auto`
23483   */
23484  msOverflowStyle?: MsOverflowStyleProperty | MsOverflowStyleProperty[];
23485  /**
23486   * 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.
23487   *
23488   * **Syntax**: `visible | hidden | clip | scroll | auto`
23489   *
23490   * **Initial value**: `visible`
23491   */
23492  msOverflowX?: OverflowXProperty | OverflowXProperty[];
23493  /**
23494   * 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.
23495   *
23496   * **Syntax**: `visible | hidden | clip | scroll | auto`
23497   *
23498   * **Initial value**: `visible`
23499   */
23500  msOverflowY?: OverflowYProperty | OverflowYProperty[];
23501  /**
23502   * 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.
23503   *
23504   * **Syntax**: `chained | none`
23505   *
23506   * **Initial value**: `chained`
23507   */
23508  msScrollChaining?: MsScrollChainingProperty | MsScrollChainingProperty[];
23509  /**
23510   * The `**-ms-scroll-limit-x-max**` CSS property is a Microsoft extension that specifies the maximum value for the `Element.scrollLeft` property.
23511   *
23512   * **Syntax**: `auto | <length>`
23513   *
23514   * **Initial value**: `auto`
23515   */
23516  msScrollLimitXMax?: MsScrollLimitXMaxProperty<TLength> | MsScrollLimitXMaxProperty<TLength>[];
23517  /**
23518   * The **`-ms-scroll-limit-x-min`** CSS property is a Microsoft extension that specifies the minimum value for the `Element.scrollLeft` property.
23519   *
23520   * **Syntax**: `<length>`
23521   *
23522   * **Initial value**: `0`
23523   */
23524  msScrollLimitXMin?: MsScrollLimitXMinProperty<TLength> | MsScrollLimitXMinProperty<TLength>[];
23525  /**
23526   * The **`-ms-scroll-limit-y-max`** CSS property is a Microsoft extension that specifies the maximum value for the `Element.scrollTop` property.
23527   *
23528   * **Syntax**: `auto | <length>`
23529   *
23530   * **Initial value**: `auto`
23531   */
23532  msScrollLimitYMax?: MsScrollLimitYMaxProperty<TLength> | MsScrollLimitYMaxProperty<TLength>[];
23533  /**
23534   * The **`-ms-scroll-limit-y-min`** CSS property is a Microsoft extension that specifies the minimum value for the `Element.scrollTop` property.
23535   *
23536   * **Syntax**: `<length>`
23537   *
23538   * **Initial value**: `0`
23539   */
23540  msScrollLimitYMin?: MsScrollLimitYMinProperty<TLength> | MsScrollLimitYMinProperty<TLength>[];
23541  /**
23542   * The **`-ms-scroll-rails`** CSS property is a Microsoft extension that specifies whether scrolling locks to the primary axis of motion.
23543   *
23544   * **Syntax**: `none | railed`
23545   *
23546   * **Initial value**: `railed`
23547   */
23548  msScrollRails?: MsScrollRailsProperty | MsScrollRailsProperty[];
23549  /**
23550   * The **`-ms-scroll-snap-points-x`** CSS property is a Microsoft extension that specifies where snap-points will be located along the x-axis.
23551   *
23552   * **Syntax**: `snapInterval( <length-percentage>, <length-percentage> ) | snapList( <length-percentage># )`
23553   *
23554   * **Initial value**: `snapInterval(0px, 100%)`
23555   */
23556  msScrollSnapPointsX?: GlobalsString | GlobalsString[];
23557  /**
23558   * The **`-ms-scroll-snap-points-y`** CSS property is a Microsoft extension that specifies where snap-points will be located along the y-axis.
23559   *
23560   * **Syntax**: `snapInterval( <length-percentage>, <length-percentage> ) | snapList( <length-percentage># )`
23561   *
23562   * **Initial value**: `snapInterval(0px, 100%)`
23563   */
23564  msScrollSnapPointsY?: GlobalsString | GlobalsString[];
23565  /**
23566   * The **`scroll-snap-type`** CSS property sets how strictly snap points are enforced on the scroll container in case there is one.
23567   *
23568   * **Syntax**: `none | proximity | mandatory`
23569   *
23570   * **Initial value**: `none`
23571   */
23572  msScrollSnapType?: MsScrollSnapTypeProperty | MsScrollSnapTypeProperty[];
23573  /**
23574   * The **`-ms-scroll-translation`** CSS property is a Microsoft extension that specifies whether vertical-to-horizontal scroll wheel translation occurs on the specified element.
23575   *
23576   * **Syntax**: `none | vertical-to-horizontal`
23577   *
23578   * **Initial value**: `none`
23579   */
23580  msScrollTranslation?: MsScrollTranslationProperty | MsScrollTranslationProperty[];
23581  /**
23582   * 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.
23583   *
23584   * **Syntax**: `<color>`
23585   *
23586   * **Initial value**: depends on user agent
23587   */
23588  msScrollbar3dlightColor?: MsScrollbar3dlightColorProperty | MsScrollbar3dlightColorProperty[];
23589  /**
23590   * The **`-ms-scrollbar-arrow-color`** CSS property is a Microsoft extension that specifies the color of the arrow elements of a scroll arrow.
23591   *
23592   * **Syntax**: `<color>`
23593   *
23594   * **Initial value**: `ButtonText`
23595   */
23596  msScrollbarArrowColor?: MsScrollbarArrowColorProperty | MsScrollbarArrowColorProperty[];
23597  /**
23598   * The `**-ms-scrollbar-base-color**` CSS property is a Microsoft extension that specifies the base color of the main elements of a scroll bar.
23599   *
23600   * **Syntax**: `<color>`
23601   *
23602   * **Initial value**: depends on user agent
23603   */
23604  msScrollbarBaseColor?: MsScrollbarBaseColorProperty | MsScrollbarBaseColorProperty[];
23605  /**
23606   * The **`-ms-scrollbar-darkshadow-color`** CSS property is a Microsoft extension that specifies the color of a scroll bar's gutter.
23607   *
23608   * **Syntax**: `<color>`
23609   *
23610   * **Initial value**: `ThreeDDarkShadow`
23611   */
23612  msScrollbarDarkshadowColor?: MsScrollbarDarkshadowColorProperty | MsScrollbarDarkshadowColorProperty[];
23613  /**
23614   * 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.
23615   *
23616   * **Syntax**: `<color>`
23617   *
23618   * **Initial value**: `ThreeDFace`
23619   */
23620  msScrollbarFaceColor?: MsScrollbarFaceColorProperty | MsScrollbarFaceColorProperty[];
23621  /**
23622   * 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.
23623   *
23624   * **Syntax**: `<color>`
23625   *
23626   * **Initial value**: `ThreeDHighlight`
23627   */
23628  msScrollbarHighlightColor?: MsScrollbarHighlightColorProperty | MsScrollbarHighlightColorProperty[];
23629  /**
23630   * 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.
23631   *
23632   * **Syntax**: `<color>`
23633   *
23634   * **Initial value**: `ThreeDDarkShadow`
23635   */
23636  msScrollbarShadowColor?: MsScrollbarShadowColorProperty | MsScrollbarShadowColorProperty[];
23637  /**
23638   * The **`-ms-text-autospace`** CSS property is a Microsoft extension that specifies the autospacing and narrow space width adjustment of text.
23639   *
23640   * **Syntax**: `none | ideograph-alpha | ideograph-numeric | ideograph-parenthesis | ideograph-space`
23641   *
23642   * **Initial value**: `none`
23643   */
23644  msTextAutospace?: MsTextAutospaceProperty | MsTextAutospaceProperty[];
23645  /**
23646   * 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.
23647   *
23648   * **Syntax**: `none | all | [ digits <integer>? ]`
23649   *
23650   * **Initial value**: `none`
23651   */
23652  msTextCombineHorizontal?: TextCombineUprightProperty | TextCombineUprightProperty[];
23653  /**
23654   * 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.
23655   *
23656   * **Syntax**: `[ clip | ellipsis | <string> ]{1,2}`
23657   *
23658   * **Initial value**: `clip`
23659   */
23660  msTextOverflow?: TextOverflowProperty | TextOverflowProperty[];
23661  /**
23662   * The **`touch-action`** CSS property sets how a region can be manipulated by a touchscreen user (for example, by zooming features built into the browser).
23663   *
23664   * **Syntax**: `auto | none | [ [ pan-x | pan-left | pan-right ] || [ pan-y | pan-up | pan-down ] || pinch-zoom ] | manipulation`
23665   *
23666   * **Initial value**: `auto`
23667   */
23668  msTouchAction?: TouchActionProperty | TouchActionProperty[];
23669  /**
23670   * The **`-ms-touch-select`** CSS property is a Microsoft extension that toggles the gripper visual elements that enable touch text selection.
23671   *
23672   * **Syntax**: `grippers | none`
23673   *
23674   * **Initial value**: `grippers`
23675   */
23676  msTouchSelect?: MsTouchSelectProperty | MsTouchSelectProperty[];
23677  /**
23678   * The **`transform`** CSS property lets you rotate, scale, skew, or translate an element. It modifies the coordinate space of the CSS visual formatting model.
23679   *
23680   * **Syntax**: `none | <transform-list>`
23681   *
23682   * **Initial value**: `none`
23683   */
23684  msTransform?: TransformProperty | TransformProperty[];
23685  /**
23686   * The **`transform-origin`** CSS property sets the origin for an element's transformations.
23687   *
23688   * **Syntax**: `[ <length-percentage> | left | center | right | top | bottom ] | [ [ <length-percentage> | left | center | right ] && [ <length-percentage> | top | center | bottom ] ] <length>?`
23689   *
23690   * **Initial value**: `50% 50% 0`
23691   */
23692  msTransformOrigin?: TransformOriginProperty<TLength> | TransformOriginProperty<TLength>[];
23693  /**
23694   * The **`transition-delay`** CSS property specifies the duration to wait before starting a property's transition effect when its value changes.
23695   *
23696   * **Syntax**: `<time>#`
23697   *
23698   * **Initial value**: `0s`
23699   */
23700  msTransitionDelay?: GlobalsString | GlobalsString[];
23701  /**
23702   * 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.
23703   *
23704   * **Syntax**: `<time>#`
23705   *
23706   * **Initial value**: `0s`
23707   */
23708  msTransitionDuration?: GlobalsString | GlobalsString[];
23709  /**
23710   * The **`transition-property`** CSS property sets the CSS properties to which a transition effect should be applied.
23711   *
23712   * **Syntax**: `none | <single-transition-property>#`
23713   *
23714   * **Initial value**: all
23715   */
23716  msTransitionProperty?: TransitionPropertyProperty | TransitionPropertyProperty[];
23717  /**
23718   * The **`transition-timing-function`** CSS property sets how intermediate values are calculated for CSS properties being affected by a transition effect.
23719   *
23720   * **Syntax**: `<timing-function>#`
23721   *
23722   * **Initial value**: `ease`
23723   */
23724  msTransitionTimingFunction?: TransitionTimingFunctionProperty | TransitionTimingFunctionProperty[];
23725  /**
23726   * 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.
23727   *
23728   * **Syntax**: `none | element | text`
23729   *
23730   * **Initial value**: `text`
23731   */
23732  msUserSelect?: MsUserSelectProperty | MsUserSelectProperty[];
23733  /**
23734   * The **`word-break`** CSS property sets whether line breaks appear wherever the text would otherwise overflow its content box.
23735   *
23736   * **Syntax**: `normal | break-all | keep-all | break-word`
23737   *
23738   * **Initial value**: `normal`
23739   */
23740  msWordBreak?: WordBreakProperty | WordBreakProperty[];
23741  /**
23742   * The **`-ms-wrap-flow`** CSS property is a Microsoft extension that specifies how exclusions impact inline content within block-level elements.
23743   *
23744   * **Syntax**: `auto | both | start | end | maximum | clear`
23745   *
23746   * **Initial value**: `auto`
23747   */
23748  msWrapFlow?: MsWrapFlowProperty | MsWrapFlowProperty[];
23749  /**
23750   * The **`-ms-wrap-margin`** CSS property is a Microsoft extension that specifies a margin that offsets the inner wrap shape from other shapes.
23751   *
23752   * **Syntax**: `<length>`
23753   *
23754   * **Initial value**: `0`
23755   */
23756  msWrapMargin?: MsWrapMarginProperty<TLength> | MsWrapMarginProperty<TLength>[];
23757  /**
23758   * The **`-ms-wrap-through`** CSS property is a Microsoft extension that specifies how content should wrap around an exclusion element.
23759   *
23760   * **Syntax**: `wrap | none`
23761   *
23762   * **Initial value**: `wrap`
23763   */
23764  msWrapThrough?: MsWrapThroughProperty | MsWrapThroughProperty[];
23765  /**
23766   * 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.
23767   *
23768   * **Syntax**: `horizontal-tb | vertical-rl | vertical-lr | sideways-rl | sideways-lr`
23769   *
23770   * **Initial value**: `horizontal-tb`
23771   */
23772  msWritingMode?: WritingModeProperty | WritingModeProperty[];
23773  /**
23774   * 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.
23775   *
23776   * **Syntax**: `fill | contain | cover | none | scale-down`
23777   *
23778   * **Initial value**: `fill`
23779   */
23780  OObjectFit?: ObjectFitProperty | ObjectFitProperty[];
23781  /**
23782   * 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.
23783   *
23784   * **Syntax**: `<position>`
23785   *
23786   * **Initial value**: `50% 50%`
23787   */
23788  OObjectPosition?: ObjectPositionProperty<TLength> | ObjectPositionProperty<TLength>[];
23789  /**
23790   * The **`tab-size`** CSS property is used to customize the width of a tab (`U+0009`) character.
23791   *
23792   * **Syntax**: `<integer> | <length>`
23793   *
23794   * **Initial value**: `8`
23795   */
23796  OTabSize?: TabSizeProperty<TLength> | TabSizeProperty<TLength>[];
23797  /**
23798   * 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.
23799   *
23800   * **Syntax**: `[ clip | ellipsis | <string> ]{1,2}`
23801   *
23802   * **Initial value**: `clip`
23803   */
23804  OTextOverflow?: TextOverflowProperty | TextOverflowProperty[];
23805  /**
23806   * The **`transform-origin`** CSS property sets the origin for an element's transformations.
23807   *
23808   * **Syntax**: `[ <length-percentage> | left | center | right | top | bottom ] | [ [ <length-percentage> | left | center | right ] && [ <length-percentage> | top | center | bottom ] ] <length>?`
23809   *
23810   * **Initial value**: `50% 50% 0`
23811   */
23812  OTransformOrigin?: TransformOriginProperty<TLength> | TransformOriginProperty<TLength>[];
23813  /**
23814   * The CSS **`align-content`** property sets how the browser distributes space between and around content items along the cross-axis of a flexbox container, and the main-axis of a grid container.
23815   *
23816   * **Syntax**: `normal | <baseline-position> | <content-distribution> | <overflow-position>? <content-position>`
23817   *
23818   * **Initial value**: `normal`
23819   */
23820  WebkitAlignContent?: AlignContentProperty | AlignContentProperty[];
23821  /**
23822   * The CSS **`align-items`** property sets the `align-self` value on all direct children as a group. The align-self property sets the alignment of an item within its containing block. 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.
23823   *
23824   * **Syntax**: `normal | stretch | <baseline-position> | [ <overflow-position>? <self-position> ]`
23825   *
23826   * **Initial value**: `normal`
23827   */
23828  WebkitAlignItems?: AlignItemsProperty | AlignItemsProperty[];
23829  /**
23830   * The **`align-self`** CSS property aligns flex items of the current flex line overriding the `align-items` value. If any of the item's cross-axis margin is set to `auto`, then `align-self` is ignored. In Grid layout `align-self` aligns the item inside the grid area.
23831   *
23832   * **Syntax**: `auto | normal | stretch | <baseline-position> | <overflow-position>? <self-position>`
23833   *
23834   * **Initial value**: `auto`
23835   */
23836  WebkitAlignSelf?: AlignSelfProperty | AlignSelfProperty[];
23837  /**
23838   * The **`animation-delay`** CSS property sets when an animation starts. The animation can start later, immediately from its beginning, or immediately and partway through the animation.
23839   *
23840   * **Syntax**: `<time>#`
23841   *
23842   * **Initial value**: `0s`
23843   */
23844  WebkitAnimationDelay?: GlobalsString | GlobalsString[];
23845  /**
23846   * The **`animation-direction`** CSS property sets whether an animation should play forwards, backwards, or alternating back and forth.
23847   *
23848   * **Syntax**: `<single-animation-direction>#`
23849   *
23850   * **Initial value**: `normal`
23851   */
23852  WebkitAnimationDirection?: AnimationDirectionProperty | AnimationDirectionProperty[];
23853  /**
23854   * The **`animation-duration`** CSS property sets the length of time that an animation takes to complete one cycle.
23855   *
23856   * **Syntax**: `<time>#`
23857   *
23858   * **Initial value**: `0s`
23859   */
23860  WebkitAnimationDuration?: GlobalsString | GlobalsString[];
23861  /**
23862   * The **`animation-fill-mode`** CSS property sets how a CSS animation applies styles to its target before and after its execution.
23863   *
23864   * **Syntax**: `<single-animation-fill-mode>#`
23865   *
23866   * **Initial value**: `none`
23867   */
23868  WebkitAnimationFillMode?: AnimationFillModeProperty | AnimationFillModeProperty[];
23869  /**
23870   * The **`animation-iteration-count`** CSS property sets the number of times an animation cycle should be played before stopping.
23871   *
23872   * **Syntax**: `<single-animation-iteration-count>#`
23873   *
23874   * **Initial value**: `1`
23875   */
23876  WebkitAnimationIterationCount?: AnimationIterationCountProperty | AnimationIterationCountProperty[];
23877  /**
23878   * The **`animation-name`** CSS property sets one or more animations to apply to an element. Each name is an `@keyframes` at-rule that sets the property values for the animation sequence.
23879   *
23880   * **Syntax**: `[ none | <keyframes-name> ]#`
23881   *
23882   * **Initial value**: `none`
23883   */
23884  WebkitAnimationName?: AnimationNameProperty | AnimationNameProperty[];
23885  /**
23886   * The **`animation-play-state`** CSS property sets whether an animation is running or paused.
23887   *
23888   * **Syntax**: `<single-animation-play-state>#`
23889   *
23890   * **Initial value**: `running`
23891   */
23892  WebkitAnimationPlayState?: AnimationPlayStateProperty | AnimationPlayStateProperty[];
23893  /**
23894   * The `**animation-timing-function**` CSS property sets how an animation progresses through the duration of each cycle.
23895   *
23896   * **Syntax**: `<timing-function>#`
23897   *
23898   * **Initial value**: `ease`
23899   */
23900  WebkitAnimationTimingFunction?: AnimationTimingFunctionProperty | AnimationTimingFunctionProperty[];
23901  /**
23902   * The **`-moz-appearance`** CSS property is used in Gecko (Firefox) to display an element using platform-native styling based on the operating system's theme.
23903   *
23904   * **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`
23905   *
23906   * **Initial value**: `none` (but this value is overridden in the user agent CSS)
23907   */
23908  WebkitAppearance?: WebkitAppearanceProperty | WebkitAppearanceProperty[];
23909  /**
23910   * 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.
23911   *
23912   * **Syntax**: `none | <filter-function-list>`
23913   *
23914   * **Initial value**: `none`
23915   */
23916  WebkitBackdropFilter?: BackdropFilterProperty | BackdropFilterProperty[];
23917  /**
23918   * The **`backface-visibility`** CSS property sets whether the back face of an element is visible when turned towards the user.
23919   *
23920   * **Syntax**: `visible | hidden`
23921   *
23922   * **Initial value**: `visible`
23923   */
23924  WebkitBackfaceVisibility?: BackfaceVisibilityProperty | BackfaceVisibilityProperty[];
23925  /**
23926   * The **`background-clip`** CSS property sets whether an element's background `<color>` or `<image>` extends underneath its border.
23927   *
23928   * **Syntax**: `<box>#`
23929   *
23930   * **Initial value**: `border-box`
23931   */
23932  WebkitBackgroundClip?: BackgroundClipProperty | BackgroundClipProperty[];
23933  /**
23934   * The **`background-origin`** CSS property sets the _background positioning area_. In other words, it sets the origin position of an image set with the `background-image` property.
23935   *
23936   * **Syntax**: `<box>#`
23937   *
23938   * **Initial value**: `padding-box`
23939   */
23940  WebkitBackgroundOrigin?: BackgroundOriginProperty | BackgroundOriginProperty[];
23941  /**
23942   * 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.
23943   *
23944   * **Syntax**: `<bg-size>#`
23945   *
23946   * **Initial value**: `auto auto`
23947   */
23948  WebkitBackgroundSize?: BackgroundSizeProperty<TLength> | BackgroundSizeProperty<TLength>[];
23949  /**
23950   * **Syntax**: `<'color'>`
23951   *
23952   * **Initial value**: `currentcolor`
23953   */
23954  WebkitBorderBeforeColor?: WebkitBorderBeforeColorProperty | WebkitBorderBeforeColorProperty[];
23955  /**
23956   * **Syntax**: `<'border-style'>`
23957   *
23958   * **Initial value**: `none`
23959   */
23960  WebkitBorderBeforeStyle?: WebkitBorderBeforeStyleProperty | WebkitBorderBeforeStyleProperty[];
23961  /**
23962   * **Syntax**: `<'border-width'>`
23963   *
23964   * **Initial value**: `medium`
23965   */
23966  WebkitBorderBeforeWidth?: WebkitBorderBeforeWidthProperty<TLength> | WebkitBorderBeforeWidthProperty<TLength>[];
23967  /**
23968   * The **`border-bottom-left-radius`** CSS property rounds the bottom-left corner of an element.
23969   *
23970   * **Syntax**: `<length-percentage>{1,2}`
23971   *
23972   * **Initial value**: `0`
23973   */
23974  WebkitBorderBottomLeftRadius?: BorderBottomLeftRadiusProperty<TLength> | BorderBottomLeftRadiusProperty<TLength>[];
23975  /**
23976   * The **`border-bottom-right-radius`** CSS property rounds the bottom-right corner of an element.
23977   *
23978   * **Syntax**: `<length-percentage>{1,2}`
23979   *
23980   * **Initial value**: `0`
23981   */
23982  WebkitBorderBottomRightRadius?: BorderBottomRightRadiusProperty<TLength> | BorderBottomRightRadiusProperty<TLength>[];
23983  /**
23984   * 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.
23985   *
23986   * **Syntax**: `<number-percentage>{1,4} && fill?`
23987   *
23988   * **Initial value**: `100%`
23989   */
23990  WebkitBorderImageSlice?: BorderImageSliceProperty | BorderImageSliceProperty[];
23991  /**
23992   * The **`border-top-left-radius`** CSS property rounds the top-left corner of an element.
23993   *
23994   * **Syntax**: `<length-percentage>{1,2}`
23995   *
23996   * **Initial value**: `0`
23997   */
23998  WebkitBorderTopLeftRadius?: BorderTopLeftRadiusProperty<TLength> | BorderTopLeftRadiusProperty<TLength>[];
23999  /**
24000   * The **`border-top-right-radius`** CSS property rounds the top-right corner of an element.
24001   *
24002   * **Syntax**: `<length-percentage>{1,2}`
24003   *
24004   * **Initial value**: `0`
24005   */
24006  WebkitBorderTopRightRadius?: BorderTopRightRadiusProperty<TLength> | BorderTopRightRadiusProperty<TLength>[];
24007  /**
24008   * The **`box-decoration-break`** CSS property specifies how an element's fragments should be rendered when broken across multiple lines, columns, or pages.
24009   *
24010   * **Syntax**: `slice | clone`
24011   *
24012   * **Initial value**: `slice`
24013   */
24014  WebkitBoxDecorationBreak?: BoxDecorationBreakProperty | BoxDecorationBreakProperty[];
24015  /**
24016   * The **`-webkit-box-reflect`** CSS property lets you reflect the content of an element in one specific direction.
24017   *
24018   * **Syntax**: `[ above | below | right | left ]? <length>? <image>?`
24019   *
24020   * **Initial value**: `none`
24021   */
24022  WebkitBoxReflect?: WebkitBoxReflectProperty<TLength> | WebkitBoxReflectProperty<TLength>[];
24023  /**
24024   * 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 radii, and color.
24025   *
24026   * **Syntax**: `none | <shadow>#`
24027   *
24028   * **Initial value**: `none`
24029   */
24030  WebkitBoxShadow?: BoxShadowProperty | BoxShadowProperty[];
24031  /**
24032   * The **`box-sizing`** CSS property defines how the user agent should calculate the total width and height of an element.
24033   *
24034   * **Syntax**: `content-box | border-box`
24035   *
24036   * **Initial value**: `content-box`
24037   */
24038  WebkitBoxSizing?: BoxSizingProperty | BoxSizingProperty[];
24039  /**
24040   * 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.
24041   *
24042   * **Syntax**: `<clip-source> | [ <basic-shape> || <geometry-box> ] | none`
24043   *
24044   * **Initial value**: `none`
24045   */
24046  WebkitClipPath?: ClipPathProperty | ClipPathProperty[];
24047  /**
24048   * The **`column-count`** CSS property breaks an element's content into the specified number of columns.
24049   *
24050   * **Syntax**: `<integer> | auto`
24051   *
24052   * **Initial value**: `auto`
24053   */
24054  WebkitColumnCount?: ColumnCountProperty | ColumnCountProperty[];
24055  /**
24056   * The **`column-fill`** CSS property controls how an element's contents are balanced when broken into columns.
24057   *
24058   * **Syntax**: `auto | balance | balance-all`
24059   *
24060   * **Initial value**: `balance`
24061   */
24062  WebkitColumnFill?: ColumnFillProperty | ColumnFillProperty[];
24063  /**
24064   * The **`column-gap`** CSS property sets the size of the gap (gutter) between an element's columns.
24065   *
24066   * **Syntax**: `normal | <length-percentage>`
24067   *
24068   * **Initial value**: `normal`
24069   */
24070  WebkitColumnGap?: ColumnGapProperty<TLength> | ColumnGapProperty<TLength>[];
24071  /**
24072   * The **`column-rule-color`** CSS property sets the color of the rule (line) drawn between columns in a multi-column layout.
24073   *
24074   * **Syntax**: `<color>`
24075   *
24076   * **Initial value**: `currentcolor`
24077   */
24078  WebkitColumnRuleColor?: ColumnRuleColorProperty | ColumnRuleColorProperty[];
24079  /**
24080   * The **`column-rule-style`** CSS property sets the style of the line drawn between columns in a multi-column layout.
24081   *
24082   * **Syntax**: `<'border-style'>`
24083   *
24084   * **Initial value**: `none`
24085   */
24086  WebkitColumnRuleStyle?: ColumnRuleStyleProperty | ColumnRuleStyleProperty[];
24087  /**
24088   * The **`column-rule-width`** CSS property sets the width of the rule (line) drawn between columns in a multi-column layout.
24089   *
24090   * **Syntax**: `<'border-width'>`
24091   *
24092   * **Initial value**: `medium`
24093   */
24094  WebkitColumnRuleWidth?: ColumnRuleWidthProperty<TLength> | ColumnRuleWidthProperty<TLength>[];
24095  /**
24096   * The **`column-span`** CSS property makes it possible for an element to span across all columns when its value is set to `all`.
24097   *
24098   * **Syntax**: `none | all`
24099   *
24100   * **Initial value**: `none`
24101   */
24102  WebkitColumnSpan?: ColumnSpanProperty | ColumnSpanProperty[];
24103  /**
24104   * The **`column-width`** CSS property specifies 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.
24105   *
24106   * **Syntax**: `<length> | auto`
24107   *
24108   * **Initial value**: `auto`
24109   */
24110  WebkitColumnWidth?: ColumnWidthProperty<TLength> | ColumnWidthProperty<TLength>[];
24111  /**
24112   * 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.
24113   *
24114   * **Syntax**: `none | <filter-function-list>`
24115   *
24116   * **Initial value**: `none`
24117   */
24118  WebkitFilter?: FilterProperty | FilterProperty[];
24119  /**
24120   * 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`.
24121   *
24122   * **Syntax**: `content | <'width'>`
24123   *
24124   * **Initial value**: `auto`
24125   */
24126  WebkitFlexBasis?: FlexBasisProperty<TLength> | FlexBasisProperty<TLength>[];
24127  /**
24128   * 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).
24129   *
24130   * **Syntax**: `row | row-reverse | column | column-reverse`
24131   *
24132   * **Initial value**: `row`
24133   */
24134  WebkitFlexDirection?: FlexDirectionProperty | FlexDirectionProperty[];
24135  /**
24136   * The **`flex-grow`** CSS property sets how much of the available space in the flex container should be assigned to that item (the flex grow factor). If all sibling items have the same flex grow factor, then all items will receive the same share of available space, otherwise it is distributed according to the ratio defined by the different flex grow factors.
24137   *
24138   * **Syntax**: `<number>`
24139   *
24140   * **Initial value**: `0`
24141   */
24142  WebkitFlexGrow?: GlobalsNumber | GlobalsNumber[];
24143  /**
24144   * The **`flex-shrink`** CSS property sets the flex shrink factor of a flex item. If the size of flex items is larger than the flex container, items shrink to fit according to `flex-shrink`.
24145   *
24146   * **Syntax**: `<number>`
24147   *
24148   * **Initial value**: `1`
24149   */
24150  WebkitFlexShrink?: GlobalsNumber | GlobalsNumber[];
24151  /**
24152   * 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.
24153   *
24154   * **Syntax**: `nowrap | wrap | wrap-reverse`
24155   *
24156   * **Initial value**: `nowrap`
24157   */
24158  WebkitFlexWrap?: FlexWrapProperty | FlexWrapProperty[];
24159  /**
24160   * The **`font-feature-settings`** CSS property controls advanced typographic features in OpenType fonts.
24161   *
24162   * **Syntax**: `normal | <feature-tag-value>#`
24163   *
24164   * **Initial value**: `normal`
24165   */
24166  WebkitFontFeatureSettings?: FontFeatureSettingsProperty | FontFeatureSettingsProperty[];
24167  /**
24168   * The **`font-kerning`** CSS property sets the use of the kerning information stored in a font.
24169   *
24170   * **Syntax**: `auto | normal | none`
24171   *
24172   * **Initial value**: `auto`
24173   */
24174  WebkitFontKerning?: FontKerningProperty | FontKerningProperty[];
24175  /**
24176   * 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.
24177   *
24178   * **Syntax**: `normal | none | [ <common-lig-values> || <discretionary-lig-values> || <historical-lig-values> || <contextual-alt-values> ]`
24179   *
24180   * **Initial value**: `normal`
24181   */
24182  WebkitFontVariantLigatures?: FontVariantLigaturesProperty | FontVariantLigaturesProperty[];
24183  /**
24184   * The **`hyphens`** CSS property specifies how words should be hyphenated when text wraps across multiple lines. You can prevent hyphenation entirely, use hyphenation in manually-specified points within the text, or let the browser automatically insert hyphens where appropriate.
24185   *
24186   * **Syntax**: `none | manual | auto`
24187   *
24188   * **Initial value**: `manual`
24189   */
24190  WebkitHyphens?: HyphensProperty | HyphensProperty[];
24191  /**
24192   * 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.
24193   *
24194   * **Syntax**: `normal | <content-distribution> | <overflow-position>? [ <content-position> | left | right ]`
24195   *
24196   * **Initial value**: `normal`
24197   */
24198  WebkitJustifyContent?: JustifyContentProperty | JustifyContentProperty[];
24199  /**
24200   * The **`line-break`** CSS property sets how to break lines of Chinese, Japanese, or Korean (CJK) text when working with punctuation and symbols.
24201   *
24202   * **Syntax**: `auto | loose | normal | strict | anywhere`
24203   *
24204   * **Initial value**: `auto`
24205   */
24206  WebkitLineBreak?: LineBreakProperty | LineBreakProperty[];
24207  /**
24208   * The **`-webkit-line-clamp`** CSS property allows limiting of the contents of a block container to the specified number of lines.
24209   *
24210   * **Syntax**: `none | <integer>`
24211   *
24212   * **Initial value**: `none`
24213   */
24214  WebkitLineClamp?: WebkitLineClampProperty | WebkitLineClampProperty[];
24215  /**
24216   * 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`.
24217   *
24218   * **Syntax**: `<'margin-left'>`
24219   *
24220   * **Initial value**: `0`
24221   */
24222  WebkitMarginEnd?: MarginInlineEndProperty<TLength> | MarginInlineEndProperty<TLength>[];
24223  /**
24224   * 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`.
24225   *
24226   * **Syntax**: `<'margin-left'>`
24227   *
24228   * **Initial value**: `0`
24229   */
24230  WebkitMarginStart?: MarginInlineStartProperty<TLength> | MarginInlineStartProperty<TLength>[];
24231  /**
24232   * 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.
24233   *
24234   * **Syntax**: `<attachment>#`
24235   *
24236   * **Initial value**: `scroll`
24237   */
24238  WebkitMaskAttachment?: WebkitMaskAttachmentProperty | WebkitMaskAttachmentProperty[];
24239  /**
24240   * 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.
24241   *
24242   * **Syntax**: `[ <box> | border | padding | content | text ]#`
24243   *
24244   * **Initial value**: `border`
24245   */
24246  WebkitMaskClip?: WebkitMaskClipProperty | WebkitMaskClipProperty[];
24247  /**
24248   * 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.
24249   *
24250   * **Syntax**: `<composite-style>#`
24251   *
24252   * **Initial value**: `source-over`
24253   */
24254  WebkitMaskComposite?: WebkitMaskCompositeProperty | WebkitMaskCompositeProperty[];
24255  /**
24256   * The **`mask-image`** CSS property sets the image that is used as mask layer for an element.
24257   *
24258   * **Syntax**: `<mask-reference>#`
24259   *
24260   * **Initial value**: `none`
24261   */
24262  WebkitMaskImage?: WebkitMaskImageProperty | WebkitMaskImageProperty[];
24263  /**
24264   * The **`mask-origin`** CSS property sets the origin of a mask.
24265   *
24266   * **Syntax**: `[ <box> | border | padding | content ]#`
24267   *
24268   * **Initial value**: `padding`
24269   */
24270  WebkitMaskOrigin?: WebkitMaskOriginProperty | WebkitMaskOriginProperty[];
24271  /**
24272   * The **`mask-position`** CSS property sets the initial position, relative to the mask position layer set by `mask-origin`, for each defined mask image.
24273   *
24274   * **Syntax**: `<position>#`
24275   *
24276   * **Initial value**: `0% 0%`
24277   */
24278  WebkitMaskPosition?: WebkitMaskPositionProperty<TLength> | WebkitMaskPositionProperty<TLength>[];
24279  /**
24280   * The `-webkit-mask-position-x` CSS property sets the initial horizontal position of a mask image.
24281   *
24282   * **Syntax**: `[ <length-percentage> | left | center | right ]#`
24283   *
24284   * **Initial value**: `0%`
24285   */
24286  WebkitMaskPositionX?: WebkitMaskPositionXProperty<TLength> | WebkitMaskPositionXProperty<TLength>[];
24287  /**
24288   * The `-webkit-mask-position-y` CSS property sets the initial vertical position of a mask image.
24289   *
24290   * **Syntax**: `[ <length-percentage> | top | center | bottom ]#`
24291   *
24292   * **Initial value**: `0%`
24293   */
24294  WebkitMaskPositionY?: WebkitMaskPositionYProperty<TLength> | WebkitMaskPositionYProperty<TLength>[];
24295  /**
24296   * 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.
24297   *
24298   * **Syntax**: `<repeat-style>#`
24299   *
24300   * **Initial value**: `repeat`
24301   */
24302  WebkitMaskRepeat?: WebkitMaskRepeatProperty | WebkitMaskRepeatProperty[];
24303  /**
24304   * The `-webkit-mask-repeat-x` property specifies whether and how a mask image is repeated (tiled) horizontally.
24305   *
24306   * **Syntax**: `repeat | no-repeat | space | round`
24307   *
24308   * **Initial value**: `repeat`
24309   */
24310  WebkitMaskRepeatX?: WebkitMaskRepeatXProperty | WebkitMaskRepeatXProperty[];
24311  /**
24312   * The `-webkit-mask-repeat-y` property sets whether and how a mask image is repeated (tiled) vertically.
24313   *
24314   * **Syntax**: `repeat | no-repeat | space | round`
24315   *
24316   * **Initial value**: `repeat`
24317   */
24318  WebkitMaskRepeatY?: WebkitMaskRepeatYProperty | WebkitMaskRepeatYProperty[];
24319  /**
24320   * 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.
24321   *
24322   * **Syntax**: `<bg-size>#`
24323   *
24324   * **Initial value**: `auto auto`
24325   */
24326  WebkitMaskSize?: WebkitMaskSizeProperty<TLength> | WebkitMaskSizeProperty<TLength>[];
24327  /**
24328   * 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 the `max-width` or the `max-height` property depending on the value defined for `writing-mode`. If the writing mode is vertically oriented, the value of `max-inline-size` relates to the maximal height of the element, otherwise it relates to the maximal width of the element. It relates to `max-block-size`, which defines the other dimension of the element.
24329   *
24330   * **Syntax**: `<'max-width'>`
24331   *
24332   * **Initial value**: `0`
24333   */
24334  WebkitMaxInlineSize?: MaxInlineSizeProperty<TLength> | MaxInlineSizeProperty<TLength>[];
24335  /**
24336   * 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.
24337   *
24338   * **Syntax**: `<integer>`
24339   *
24340   * **Initial value**: `0`
24341   */
24342  WebkitOrder?: GlobalsNumber | GlobalsNumber[];
24343  /**
24344   * The `-webkit-overflow-scrolling` CSS property controls whether or not touch devices use momentum-based scrolling for a given element.
24345   *
24346   * **Syntax**: `auto | touch`
24347   *
24348   * **Initial value**: `auto`
24349   */
24350  WebkitOverflowScrolling?: WebkitOverflowScrollingProperty | WebkitOverflowScrollingProperty[];
24351  /**
24352   * 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. It corresponds to the `padding-top`, `padding-right`, `padding-bottom`, or `padding-left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
24353   *
24354   * **Syntax**: `<'padding-left'>`
24355   *
24356   * **Initial value**: `0`
24357   */
24358  WebkitPaddingEnd?: PaddingInlineEndProperty<TLength> | PaddingInlineEndProperty<TLength>[];
24359  /**
24360   * 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. It corresponds to the `padding-top`, `padding-right`, `padding-bottom`, or `padding-left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
24361   *
24362   * **Syntax**: `<'padding-left'>`
24363   *
24364   * **Initial value**: `0`
24365   */
24366  WebkitPaddingStart?: PaddingInlineStartProperty<TLength> | PaddingInlineStartProperty<TLength>[];
24367  /**
24368   * 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. Each 3D element with z>0 becomes larger; each 3D-element with z<0 becomes smaller. The strength of the effect is determined by the value of this property.
24369   *
24370   * **Syntax**: `none | <length>`
24371   *
24372   * **Initial value**: `none`
24373   */
24374  WebkitPerspective?: PerspectiveProperty<TLength> | PerspectiveProperty<TLength>[];
24375  /**
24376   * 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.
24377   *
24378   * **Syntax**: `<position>`
24379   *
24380   * **Initial value**: `50% 50%`
24381   */
24382  WebkitPerspectiveOrigin?: PerspectiveOriginProperty<TLength> | PerspectiveOriginProperty<TLength>[];
24383  /**
24384   * 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.
24385   *
24386   * **Syntax**: `economy | exact`
24387   *
24388   * **Initial value**: `economy`
24389   */
24390  WebkitPrintColorAdjust?: ColorAdjustProperty | ColorAdjustProperty[];
24391  /**
24392   * The **`scroll-snap-type`** CSS property sets how strictly snap points are enforced on the scroll container in case there is one.
24393   *
24394   * **Syntax**: `none | [ x | y | block | inline | both ] [ mandatory | proximity ]?`
24395   *
24396   * **Initial value**: `none`
24397   */
24398  WebkitScrollSnapType?: ScrollSnapTypeProperty | ScrollSnapTypeProperty[];
24399  /**
24400   * The **`shape-margin`** CSS property sets a margin for a CSS shape created using `shape-outside`.
24401   *
24402   * **Syntax**: `<length-percentage>`
24403   *
24404   * **Initial value**: `0`
24405   */
24406  WebkitShapeMargin?: ShapeMarginProperty<TLength> | ShapeMarginProperty<TLength>[];
24407  /**
24408   * **`-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.
24409   *
24410   * **Syntax**: `<color>`
24411   *
24412   * **Initial value**: `black`
24413   */
24414  WebkitTapHighlightColor?: WebkitTapHighlightColorProperty | WebkitTapHighlightColorProperty[];
24415  /**
24416   * 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.
24417   *
24418   * **Syntax**: `none | all | [ digits <integer>? ]`
24419   *
24420   * **Initial value**: `none`
24421   */
24422  WebkitTextCombine?: TextCombineUprightProperty | TextCombineUprightProperty[];
24423  /**
24424   * The **`text-decoration-color`** CSS property sets the color of decorations added to text by `text-decoration-line`.
24425   *
24426   * **Syntax**: `<color>`
24427   *
24428   * **Initial value**: `currentcolor`
24429   */
24430  WebkitTextDecorationColor?: TextDecorationColorProperty | TextDecorationColorProperty[];
24431  /**
24432   * 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.
24433   *
24434   * **Syntax**: `none | [ underline || overline || line-through || blink ] | spelling-error | grammar-error`
24435   *
24436   * **Initial value**: `none`
24437   */
24438  WebkitTextDecorationLine?: TextDecorationLineProperty | TextDecorationLineProperty[];
24439  /**
24440   * 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.
24441   *
24442   * **Syntax**: `none | [ objects || [ spaces | [ leading-spaces || trailing-spaces ] ] || edges || box-decoration ]`
24443   *
24444   * **Initial value**: `objects`
24445   */
24446  WebkitTextDecorationSkip?: TextDecorationSkipProperty | TextDecorationSkipProperty[];
24447  /**
24448   * 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`.
24449   *
24450   * **Syntax**: `solid | double | dotted | dashed | wavy`
24451   *
24452   * **Initial value**: `solid`
24453   */
24454  WebkitTextDecorationStyle?: TextDecorationStyleProperty | TextDecorationStyleProperty[];
24455  /**
24456   * The **`text-emphasis-color`** CSS property sets the color of emphasis marks. This value can also be set using the `text-emphasis` shorthand.
24457   *
24458   * **Syntax**: `<color>`
24459   *
24460   * **Initial value**: `currentcolor`
24461   */
24462  WebkitTextEmphasisColor?: TextEmphasisColorProperty | TextEmphasisColorProperty[];
24463  /**
24464   * 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.
24465   *
24466   * **Syntax**: `[ over | under ] && [ right | left ]`
24467   *
24468   * **Initial value**: `over right`
24469   */
24470  WebkitTextEmphasisPosition?: GlobalsString | GlobalsString[];
24471  /**
24472   * The **`text-emphasis-style`** CSS property sets the appearance of emphasis marks. It can also be set, and reset, using the `text-emphasis` shorthand.
24473   *
24474   * **Syntax**: `none | [ [ filled | open ] || [ dot | circle | double-circle | triangle | sesame ] ] | <string>`
24475   *
24476   * **Initial value**: `none`
24477   */
24478  WebkitTextEmphasisStyle?: TextEmphasisStyleProperty | TextEmphasisStyleProperty[];
24479  /**
24480   * 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.
24481   *
24482   * **Syntax**: `<color>`
24483   *
24484   * **Initial value**: `currentcolor`
24485   */
24486  WebkitTextFillColor?: WebkitTextFillColorProperty | WebkitTextFillColorProperty[];
24487  /**
24488   * 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.
24489   *
24490   * **Syntax**: `mixed | upright | sideways`
24491   *
24492   * **Initial value**: `mixed`
24493   */
24494  WebkitTextOrientation?: TextOrientationProperty | TextOrientationProperty[];
24495  /**
24496   * The **`text-size-adjust`** CSS property controls the text inflation algorithm used on some smartphones and tablets. Other browsers will ignore this property.
24497   *
24498   * **Syntax**: `none | auto | <percentage>`
24499   *
24500   * **Initial value**: `auto` for smartphone browsers supporting inflation, `none` in other cases (and then not modifiable).
24501   */
24502  WebkitTextSizeAdjust?: TextSizeAdjustProperty | TextSizeAdjustProperty[];
24503  /**
24504   * 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.
24505   *
24506   * **Syntax**: `<color>`
24507   *
24508   * **Initial value**: `currentcolor`
24509   */
24510  WebkitTextStrokeColor?: WebkitTextStrokeColorProperty | WebkitTextStrokeColorProperty[];
24511  /**
24512   * The **`-webkit-text-stroke-width`** CSS property specifies the width of the stroke for text.
24513   *
24514   * **Syntax**: `<length>`
24515   *
24516   * **Initial value**: `0`
24517   */
24518  WebkitTextStrokeWidth?: WebkitTextStrokeWidthProperty<TLength> | WebkitTextStrokeWidthProperty<TLength>[];
24519  /**
24520   * The **`text-underline-position`** CSS property specifies the position of the underline which is set using the `text-decoration` property's `underline` value.
24521   *
24522   * **Syntax**: `auto | from-font | [ under || [ left | right ] ]`
24523   *
24524   * **Initial value**: `auto`
24525   */
24526  WebkitTextUnderlinePosition?: TextUnderlinePositionProperty | TextUnderlinePositionProperty[];
24527  /**
24528   * The `-webkit-touch-callout` CSS property controls the display of the default callout shown when you touch and hold a touch target.
24529   *
24530   * **Syntax**: `default | none`
24531   *
24532   * **Initial value**: `default`
24533   */
24534  WebkitTouchCallout?: WebkitTouchCalloutProperty | WebkitTouchCalloutProperty[];
24535  /**
24536   * The **`transform`** CSS property lets you rotate, scale, skew, or translate an element. It modifies the coordinate space of the CSS visual formatting model.
24537   *
24538   * **Syntax**: `none | <transform-list>`
24539   *
24540   * **Initial value**: `none`
24541   */
24542  WebkitTransform?: TransformProperty | TransformProperty[];
24543  /**
24544   * The **`transform-origin`** CSS property sets the origin for an element's transformations.
24545   *
24546   * **Syntax**: `[ <length-percentage> | left | center | right | top | bottom ] | [ [ <length-percentage> | left | center | right ] && [ <length-percentage> | top | center | bottom ] ] <length>?`
24547   *
24548   * **Initial value**: `50% 50% 0`
24549   */
24550  WebkitTransformOrigin?: TransformOriginProperty<TLength> | TransformOriginProperty<TLength>[];
24551  /**
24552   * 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.
24553   *
24554   * **Syntax**: `flat | preserve-3d`
24555   *
24556   * **Initial value**: `flat`
24557   */
24558  WebkitTransformStyle?: TransformStyleProperty | TransformStyleProperty[];
24559  /**
24560   * The **`transition-delay`** CSS property specifies the duration to wait before starting a property's transition effect when its value changes.
24561   *
24562   * **Syntax**: `<time>#`
24563   *
24564   * **Initial value**: `0s`
24565   */
24566  WebkitTransitionDelay?: GlobalsString | GlobalsString[];
24567  /**
24568   * 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.
24569   *
24570   * **Syntax**: `<time>#`
24571   *
24572   * **Initial value**: `0s`
24573   */
24574  WebkitTransitionDuration?: GlobalsString | GlobalsString[];
24575  /**
24576   * The **`transition-property`** CSS property sets the CSS properties to which a transition effect should be applied.
24577   *
24578   * **Syntax**: `none | <single-transition-property>#`
24579   *
24580   * **Initial value**: all
24581   */
24582  WebkitTransitionProperty?: TransitionPropertyProperty | TransitionPropertyProperty[];
24583  /**
24584   * The **`transition-timing-function`** CSS property sets how intermediate values are calculated for CSS properties being affected by a transition effect.
24585   *
24586   * **Syntax**: `<timing-function>#`
24587   *
24588   * **Initial value**: `ease`
24589   */
24590  WebkitTransitionTimingFunction?: TransitionTimingFunctionProperty | TransitionTimingFunctionProperty[];
24591  /**
24592   * **Syntax**: `read-only | read-write | read-write-plaintext-only`
24593   *
24594   * **Initial value**: `read-only`
24595   */
24596  WebkitUserModify?: WebkitUserModifyProperty | WebkitUserModifyProperty[];
24597  /**
24598   * 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.
24599   *
24600   * **Syntax**: `auto | text | none | contain | all`
24601   *
24602   * **Initial value**: `auto`
24603   */
24604  WebkitUserSelect?: UserSelectProperty | UserSelectProperty[];
24605  /**
24606   * 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.
24607   *
24608   * **Syntax**: `horizontal-tb | vertical-rl | vertical-lr | sideways-rl | sideways-lr`
24609   *
24610   * **Initial value**: `horizontal-tb`
24611   */
24612  WebkitWritingMode?: WritingModeProperty | WritingModeProperty[];
24613}
24614
24615export interface VendorShorthandPropertiesFallback<TLength = string | 0> {
24616  /**
24617   * The **`animation`** shorthand CSS property sets an animated transition 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`.
24618   *
24619   * **Syntax**: `<single-animation>#`
24620   */
24621  MozAnimation?: AnimationProperty | AnimationProperty[];
24622  /**
24623   * The **`border-image`** CSS property draws an image in place of an element's `border-style`.
24624   *
24625   * **Syntax**: `<'border-image-source'> || <'border-image-slice'> [ / <'border-image-width'> | / <'border-image-width'>? / <'border-image-outset'> ]? || <'border-image-repeat'>`
24626   */
24627  MozBorderImage?: BorderImageProperty | BorderImageProperty[];
24628  /**
24629   * The **`column-rule`** CSS property sets the width, style, and color of the rule (line) drawn between columns in a multi-column layout.
24630   *
24631   * **Syntax**: `<'column-rule-width'> || <'column-rule-style'> || <'column-rule-color'>`
24632   */
24633  MozColumnRule?: ColumnRuleProperty<TLength> | ColumnRuleProperty<TLength>[];
24634  /**
24635   * The **`columns`** CSS property sets the column width and column count of an element.
24636   *
24637   * **Syntax**: `<'column-width'> || <'column-count'>`
24638   */
24639  MozColumns?: ColumnsProperty<TLength> | ColumnsProperty<TLength>[];
24640  /**
24641   * The **`transition`** CSS property is a shorthand property for `transition-property`, `transition-duration`, `transition-timing-function`, and `transition-delay`.
24642   *
24643   * **Syntax**: `<single-transition>#`
24644   */
24645  MozTransition?: TransitionProperty | TransitionProperty[];
24646  /**
24647   * 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.
24648   *
24649   * **Syntax**: `<'-ms-content-zoom-limit-min'> <'-ms-content-zoom-limit-max'>`
24650   */
24651  msContentZoomLimit?: GlobalsString | GlobalsString[];
24652  /**
24653   * 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.
24654   *
24655   * **Syntax**: `<'-ms-content-zoom-snap-type'> || <'-ms-content-zoom-snap-points'>`
24656   */
24657  msContentZoomSnap?: MsContentZoomSnapProperty | MsContentZoomSnapProperty[];
24658  /**
24659   * The **`flex`** CSS property sets how a flex item will grow or shrink to fit the space available in its flex container. It is a shorthand for `flex-grow`, `flex-shrink`, and `flex-basis`.
24660   *
24661   * **Syntax**: `none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]`
24662   */
24663  msFlex?: FlexProperty<TLength> | FlexProperty<TLength>[];
24664  /**
24665   * 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.
24666   *
24667   * **Syntax**: `<'-ms-scroll-limit-x-min'> <'-ms-scroll-limit-y-min'> <'-ms-scroll-limit-x-max'> <'-ms-scroll-limit-y-max'>`
24668   */
24669  msScrollLimit?: GlobalsString | GlobalsString[];
24670  /**
24671   * 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.
24672   *
24673   * **Syntax**: `<'-ms-scroll-snap-type'> <'-ms-scroll-snap-points-x'>`
24674   */
24675  msScrollSnapX?: GlobalsString | GlobalsString[];
24676  /**
24677   * 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.
24678   *
24679   * **Syntax**: `<'-ms-scroll-snap-type'> <'-ms-scroll-snap-points-y'>`
24680   */
24681  msScrollSnapY?: GlobalsString | GlobalsString[];
24682  /**
24683   * The **`transition`** CSS property is a shorthand property for `transition-property`, `transition-duration`, `transition-timing-function`, and `transition-delay`.
24684   *
24685   * **Syntax**: `<single-transition>#`
24686   */
24687  msTransition?: TransitionProperty | TransitionProperty[];
24688  /**
24689   * The **`animation`** shorthand CSS property sets an animated transition 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`.
24690   *
24691   * **Syntax**: `<single-animation>#`
24692   */
24693  WebkitAnimation?: AnimationProperty | AnimationProperty[];
24694  /**
24695   * 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.
24696   *
24697   * **Syntax**: `<'border-width'> || <'border-style'> || <'color'>`
24698   */
24699  WebkitBorderBefore?: WebkitBorderBeforeProperty<TLength> | WebkitBorderBeforeProperty<TLength>[];
24700  /**
24701   * The **`border-image`** CSS property draws an image in place of an element's `border-style`.
24702   *
24703   * **Syntax**: `<'border-image-source'> || <'border-image-slice'> [ / <'border-image-width'> | / <'border-image-width'>? / <'border-image-outset'> ]? || <'border-image-repeat'>`
24704   */
24705  WebkitBorderImage?: BorderImageProperty | BorderImageProperty[];
24706  /**
24707   * 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.
24708   *
24709   * **Syntax**: `<length-percentage>{1,4} [ / <length-percentage>{1,4} ]?`
24710   */
24711  WebkitBorderRadius?: BorderRadiusProperty<TLength> | BorderRadiusProperty<TLength>[];
24712  /**
24713   * The **`column-rule`** CSS property sets the width, style, and color of the rule (line) drawn between columns in a multi-column layout.
24714   *
24715   * **Syntax**: `<'column-rule-width'> || <'column-rule-style'> || <'column-rule-color'>`
24716   */
24717  WebkitColumnRule?: ColumnRuleProperty<TLength> | ColumnRuleProperty<TLength>[];
24718  /**
24719   * The **`columns`** CSS property sets the column width and column count of an element.
24720   *
24721   * **Syntax**: `<'column-width'> || <'column-count'>`
24722   */
24723  WebkitColumns?: ColumnsProperty<TLength> | ColumnsProperty<TLength>[];
24724  /**
24725   * The **`flex`** CSS property sets how a flex item will grow or shrink to fit the space available in its flex container. It is a shorthand for `flex-grow`, `flex-shrink`, and `flex-basis`.
24726   *
24727   * **Syntax**: `none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]`
24728   */
24729  WebkitFlex?: FlexProperty<TLength> | FlexProperty<TLength>[];
24730  /**
24731   * The **`flex-flow`** CSS property is a shorthand property for `flex-direction` and `flex-wrap` properties.
24732   *
24733   * **Syntax**: `<'flex-direction'> || <'flex-wrap'>`
24734   */
24735  WebkitFlexFlow?: FlexFlowProperty | FlexFlowProperty[];
24736  /**
24737   * The **`mask`** CSS property hides an element (partially or fully) by masking or clipping the image at specific points.
24738   *
24739   * **Syntax**: `[ <mask-reference> || <position> [ / <bg-size> ]? || <repeat-style> || [ <box> | border | padding | content | text ] || [ <box> | border | padding | content ] ]#`
24740   */
24741  WebkitMask?: WebkitMaskProperty<TLength> | WebkitMaskProperty<TLength>[];
24742  /**
24743   * 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`.
24744   *
24745   * **Syntax**: `<'text-emphasis-style'> || <'text-emphasis-color'>`
24746   */
24747  WebkitTextEmphasis?: TextEmphasisProperty | TextEmphasisProperty[];
24748  /**
24749   * 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`.
24750   *
24751   * **Syntax**: `<length> || <color>`
24752   */
24753  WebkitTextStroke?: WebkitTextStrokeProperty<TLength> | WebkitTextStrokeProperty<TLength>[];
24754  /**
24755   * The **`transition`** CSS property is a shorthand property for `transition-property`, `transition-duration`, `transition-timing-function`, and `transition-delay`.
24756   *
24757   * **Syntax**: `<single-transition>#`
24758   */
24759  WebkitTransition?: TransitionProperty | TransitionProperty[];
24760}
24761
24762export interface VendorPropertiesFallback<TLength = string | 0> extends VendorLonghandPropertiesFallback<TLength>, VendorShorthandPropertiesFallback<TLength> {}
24763
24764export interface ObsoletePropertiesFallback<TLength = string | 0> {
24765  /**
24766   * 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.
24767   *
24768   * **Syntax**: `start | center | end | baseline | stretch`
24769   *
24770   * **Initial value**: `stretch`
24771   *
24772   * @deprecated
24773   */
24774  boxAlign?: BoxAlignProperty | BoxAlignProperty[];
24775  /**
24776   * 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).
24777   *
24778   * **Syntax**: `normal | reverse | inherit`
24779   *
24780   * **Initial value**: `normal`
24781   *
24782   * @deprecated
24783   */
24784  boxDirection?: BoxDirectionProperty | BoxDirectionProperty[];
24785  /**
24786   * 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.
24787   *
24788   * **Syntax**: `<number>`
24789   *
24790   * **Initial value**: `0`
24791   *
24792   * @deprecated
24793   */
24794  boxFlex?: GlobalsNumber | GlobalsNumber[];
24795  /**
24796   * The **`box-flex-group`** CSS property assigns the flexbox's child elements to a flex group.
24797   *
24798   * **Syntax**: `<integer>`
24799   *
24800   * **Initial value**: `1`
24801   *
24802   * @deprecated
24803   */
24804  boxFlexGroup?: GlobalsNumber | GlobalsNumber[];
24805  /**
24806   * 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).
24807   *
24808   * **Syntax**: `single | multiple`
24809   *
24810   * **Initial value**: `single`
24811   *
24812   * @deprecated
24813   */
24814  boxLines?: BoxLinesProperty | BoxLinesProperty[];
24815  /**
24816   * The **`box-ordinal-group`** CSS property assigns the flexbox's child elements to an ordinal group.
24817   *
24818   * **Syntax**: `<integer>`
24819   *
24820   * **Initial value**: `1`
24821   *
24822   * @deprecated
24823   */
24824  boxOrdinalGroup?: GlobalsNumber | GlobalsNumber[];
24825  /**
24826   * The **`box-orient`** CSS property specifies whether an element lays out its contents horizontally or vertically.
24827   *
24828   * **Syntax**: `horizontal | vertical | inline-axis | block-axis | inherit`
24829   *
24830   * **Initial value**: `inline-axis` (`horizontal` in XUL)
24831   *
24832   * @deprecated
24833   */
24834  boxOrient?: BoxOrientProperty | BoxOrientProperty[];
24835  /**
24836   * 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.
24837   *
24838   * **Syntax**: `start | center | end | justify`
24839   *
24840   * **Initial value**: `start`
24841   *
24842   * @deprecated
24843   */
24844  boxPack?: BoxPackProperty | BoxPackProperty[];
24845  /**
24846   * The **`clip`** CSS property defines what portion of an element is visible. The `clip` property applies only to absolutely positioned elements, that is elements with `position:absolute` or `position:fixed`.
24847   *
24848   * **Syntax**: `<shape> | auto`
24849   *
24850   * **Initial value**: `auto`
24851   *
24852   * @deprecated
24853   */
24854  clip?: ClipProperty | ClipProperty[];
24855  /**
24856   * 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`.
24857   *
24858   * **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> ) ]`
24859   *
24860   * **Initial value**: `normal`
24861   *
24862   * @deprecated
24863   */
24864  fontVariantAlternates?: FontVariantAlternatesProperty | FontVariantAlternatesProperty[];
24865  /**
24866   * The **`column-gap`** CSS property sets the size of the gap (gutter) between an element's columns.
24867   *
24868   * **Syntax**: `<length-percentage>`
24869   *
24870   * **Initial value**: `0`
24871   *
24872   * @deprecated
24873   */
24874  gridColumnGap?: GridColumnGapProperty<TLength> | GridColumnGapProperty<TLength>[];
24875  /**
24876   * The **`gap`** CSS property sets the gaps (gutters) between rows and columns. It is a shorthand for `row-gap` and `column-gap`.
24877   *
24878   * **Syntax**: `<'grid-row-gap'> <'grid-column-gap'>?`
24879   *
24880   * @deprecated
24881   */
24882  gridGap?: GridGapProperty<TLength> | GridGapProperty<TLength>[];
24883  /**
24884   * The **`row-gap`** CSS property sets the size of the gap (gutter) between an element's grid rows.
24885   *
24886   * **Syntax**: `<length-percentage>`
24887   *
24888   * **Initial value**: `0`
24889   *
24890   * @deprecated
24891   */
24892  gridRowGap?: GridRowGapProperty<TLength> | GridRowGapProperty<TLength>[];
24893  /**
24894   * The **`ime-mode`** CSS property controls the state of the input method editor (IME) for text fields. This property is obsolete.
24895   *
24896   * **Syntax**: `auto | normal | active | inactive | disabled`
24897   *
24898   * **Initial value**: `auto`
24899   *
24900   * @deprecated
24901   */
24902  imeMode?: ImeModeProperty | ImeModeProperty[];
24903  /**
24904   * The **`inset-block`** CSS property defines the logical block start and end offsets of an element, 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`.
24905   *
24906   * **Syntax**: `<'top'>{1,2}`
24907   *
24908   * **Initial value**: `auto`
24909   *
24910   * @deprecated
24911   */
24912  offsetBlock?: InsetBlockProperty<TLength> | InsetBlockProperty<TLength>[];
24913  /**
24914   * 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`.
24915   *
24916   * **Syntax**: `<'top'>`
24917   *
24918   * **Initial value**: `auto`
24919   *
24920   * @deprecated
24921   */
24922  offsetBlockEnd?: InsetBlockEndProperty<TLength> | InsetBlockEndProperty<TLength>[];
24923  /**
24924   * 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`.
24925   *
24926   * **Syntax**: `<'top'>`
24927   *
24928   * **Initial value**: `auto`
24929   *
24930   * @deprecated
24931   */
24932  offsetBlockStart?: InsetBlockStartProperty<TLength> | InsetBlockStartProperty<TLength>[];
24933  /**
24934   * The **`inset-inline`** CSS property defines the logical block start and end offsets of an element, 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`.
24935   *
24936   * **Syntax**: `<'top'>{1,2}`
24937   *
24938   * **Initial value**: `auto`
24939   *
24940   * @deprecated
24941   */
24942  offsetInline?: InsetInlineProperty<TLength> | InsetInlineProperty<TLength>[];
24943  /**
24944   * The **`inset-inline-end`** CSS property defines the logical inline end inset 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`.
24945   *
24946   * **Syntax**: `<'top'>`
24947   *
24948   * **Initial value**: `auto`
24949   *
24950   * @deprecated
24951   */
24952  offsetInlineEnd?: InsetInlineEndProperty<TLength> | InsetInlineEndProperty<TLength>[];
24953  /**
24954   * 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`.
24955   *
24956   * **Syntax**: `<'top'>`
24957   *
24958   * **Initial value**: `auto`
24959   *
24960   * @deprecated
24961   */
24962  offsetInlineStart?: InsetInlineStartProperty<TLength> | InsetInlineStartProperty<TLength>[];
24963  /**
24964   * 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.
24965   *
24966   * **Syntax**: `none | <position>#`
24967   *
24968   * **Initial value**: `none`
24969   *
24970   * @deprecated
24971   */
24972  scrollSnapCoordinate?: ScrollSnapCoordinateProperty<TLength> | ScrollSnapCoordinateProperty<TLength>[];
24973  /**
24974   * 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.
24975   *
24976   * **Syntax**: `<position>`
24977   *
24978   * **Initial value**: `0px 0px`
24979   *
24980   * @deprecated
24981   */
24982  scrollSnapDestination?: ScrollSnapDestinationProperty<TLength> | ScrollSnapDestinationProperty<TLength>[];
24983  /**
24984   * 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.
24985   *
24986   * **Syntax**: `none | repeat( <length-percentage> )`
24987   *
24988   * **Initial value**: `none`
24989   *
24990   * @deprecated
24991   */
24992  scrollSnapPointsX?: ScrollSnapPointsXProperty | ScrollSnapPointsXProperty[];
24993  /**
24994   * 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.
24995   *
24996   * **Syntax**: `none | repeat( <length-percentage> )`
24997   *
24998   * **Initial value**: `none`
24999   *
25000   * @deprecated
25001   */
25002  scrollSnapPointsY?: ScrollSnapPointsYProperty | ScrollSnapPointsYProperty[];
25003  /**
25004   * 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.
25005   *
25006   * **Syntax**: `none | mandatory | proximity`
25007   *
25008   * **Initial value**: `none`
25009   *
25010   * @deprecated
25011   */
25012  scrollSnapTypeX?: ScrollSnapTypeXProperty | ScrollSnapTypeXProperty[];
25013  /**
25014   * 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.
25015   *
25016   * **Syntax**: `none | mandatory | proximity`
25017   *
25018   * **Initial value**: `none`
25019   *
25020   * @deprecated
25021   */
25022  scrollSnapTypeY?: ScrollSnapTypeYProperty | ScrollSnapTypeYProperty[];
25023  /**
25024   * The **`-ms-scrollbar-track-color`** CSS property is a Microsoft extension that specifies the color of the track element of a scrollbar.
25025   *
25026   * **Syntax**: `<color>`
25027   *
25028   * **Initial value**: `Scrollbar`
25029   *
25030   * @deprecated
25031   */
25032  scrollbarTrackColor?: MsScrollbarTrackColorProperty | MsScrollbarTrackColorProperty[];
25033  /**
25034   * 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.
25035   *
25036   * **Syntax**: `none | all | [ digits <integer>? ]`
25037   *
25038   * **Initial value**: `none`
25039   *
25040   * @deprecated
25041   */
25042  textCombineHorizontal?: TextCombineUprightProperty | TextCombineUprightProperty[];
25043  /**
25044   * 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.
25045   *
25046   * **Syntax**: `start | center | end | baseline | stretch`
25047   *
25048   * **Initial value**: `stretch`
25049   *
25050   * @deprecated
25051   */
25052  KhtmlBoxAlign?: BoxAlignProperty | BoxAlignProperty[];
25053  /**
25054   * 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).
25055   *
25056   * **Syntax**: `normal | reverse | inherit`
25057   *
25058   * **Initial value**: `normal`
25059   *
25060   * @deprecated
25061   */
25062  KhtmlBoxDirection?: BoxDirectionProperty | BoxDirectionProperty[];
25063  /**
25064   * 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.
25065   *
25066   * **Syntax**: `<number>`
25067   *
25068   * **Initial value**: `0`
25069   *
25070   * @deprecated
25071   */
25072  KhtmlBoxFlex?: GlobalsNumber | GlobalsNumber[];
25073  /**
25074   * The **`box-flex-group`** CSS property assigns the flexbox's child elements to a flex group.
25075   *
25076   * **Syntax**: `<integer>`
25077   *
25078   * **Initial value**: `1`
25079   *
25080   * @deprecated
25081   */
25082  KhtmlBoxFlexGroup?: GlobalsNumber | GlobalsNumber[];
25083  /**
25084   * 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).
25085   *
25086   * **Syntax**: `single | multiple`
25087   *
25088   * **Initial value**: `single`
25089   *
25090   * @deprecated
25091   */
25092  KhtmlBoxLines?: BoxLinesProperty | BoxLinesProperty[];
25093  /**
25094   * The **`box-ordinal-group`** CSS property assigns the flexbox's child elements to an ordinal group.
25095   *
25096   * **Syntax**: `<integer>`
25097   *
25098   * **Initial value**: `1`
25099   *
25100   * @deprecated
25101   */
25102  KhtmlBoxOrdinalGroup?: GlobalsNumber | GlobalsNumber[];
25103  /**
25104   * The **`box-orient`** CSS property specifies whether an element lays out its contents horizontally or vertically.
25105   *
25106   * **Syntax**: `horizontal | vertical | inline-axis | block-axis | inherit`
25107   *
25108   * **Initial value**: `inline-axis` (`horizontal` in XUL)
25109   *
25110   * @deprecated
25111   */
25112  KhtmlBoxOrient?: BoxOrientProperty | BoxOrientProperty[];
25113  /**
25114   * 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.
25115   *
25116   * **Syntax**: `start | center | end | justify`
25117   *
25118   * **Initial value**: `start`
25119   *
25120   * @deprecated
25121   */
25122  KhtmlBoxPack?: BoxPackProperty | BoxPackProperty[];
25123  /**
25124   * The **`line-break`** CSS property sets how to break lines of Chinese, Japanese, or Korean (CJK) text when working with punctuation and symbols.
25125   *
25126   * **Syntax**: `auto | loose | normal | strict | anywhere`
25127   *
25128   * **Initial value**: `auto`
25129   *
25130   * @deprecated
25131   */
25132  KhtmlLineBreak?: LineBreakProperty | LineBreakProperty[];
25133  /**
25134   * The **`opacity`** CSS property sets the transparency of an element or the degree to which content behind an element is visible.
25135   *
25136   * **Syntax**: `<alpha-value>`
25137   *
25138   * **Initial value**: `1.0`
25139   *
25140   * @deprecated
25141   */
25142  KhtmlOpacity?: OpacityProperty | OpacityProperty[];
25143  /**
25144   * 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.
25145   *
25146   * **Syntax**: `auto | text | none | contain | all`
25147   *
25148   * **Initial value**: `auto`
25149   *
25150   * @deprecated
25151   */
25152  KhtmlUserSelect?: UserSelectProperty | UserSelectProperty[];
25153  /**
25154   * The **`background-clip`** CSS property sets whether an element's background `<color>` or `<image>` extends underneath its border.
25155   *
25156   * **Syntax**: `<box>#`
25157   *
25158   * **Initial value**: `border-box`
25159   *
25160   * @deprecated
25161   */
25162  MozBackgroundClip?: BackgroundClipProperty | BackgroundClipProperty[];
25163  /**
25164   * The **`box-decoration-break`** CSS property specifies how an element's fragments should be rendered when broken across multiple lines, columns, or pages.
25165   *
25166   * **Syntax**: `slice | clone`
25167   *
25168   * **Initial value**: `slice`
25169   *
25170   * @deprecated
25171   */
25172  MozBackgroundInlinePolicy?: BoxDecorationBreakProperty | BoxDecorationBreakProperty[];
25173  /**
25174   * The **`background-origin`** CSS property sets the _background positioning area_. In other words, it sets the origin position of an image set with the `background-image` property.
25175   *
25176   * **Syntax**: `<box>#`
25177   *
25178   * **Initial value**: `padding-box`
25179   *
25180   * @deprecated
25181   */
25182  MozBackgroundOrigin?: BackgroundOriginProperty | BackgroundOriginProperty[];
25183  /**
25184   * 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.
25185   *
25186   * **Syntax**: `<bg-size>#`
25187   *
25188   * **Initial value**: `auto auto`
25189   *
25190   * @deprecated
25191   */
25192  MozBackgroundSize?: BackgroundSizeProperty<TLength> | BackgroundSizeProperty<TLength>[];
25193  /**
25194   * The **`-moz-binding`** CSS property is used by Mozilla-based applications to attach an XBL binding to a DOM element.
25195   *
25196   * **Syntax**: `<url> | none`
25197   *
25198   * **Initial value**: `none`
25199   *
25200   * @deprecated
25201   */
25202  MozBinding?: MozBindingProperty | MozBindingProperty[];
25203  /**
25204   * 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.
25205   *
25206   * **Syntax**: `<length-percentage>{1,4} [ / <length-percentage>{1,4} ]?`
25207   *
25208   * @deprecated
25209   */
25210  MozBorderRadius?: BorderRadiusProperty<TLength> | BorderRadiusProperty<TLength>[];
25211  /**
25212   * The **`border-bottom-left-radius`** CSS property rounds the bottom-left corner of an element.
25213   *
25214   * **Syntax**: `<length-percentage>{1,2}`
25215   *
25216   * **Initial value**: `0`
25217   *
25218   * @deprecated
25219   */
25220  MozBorderRadiusBottomleft?: BorderBottomLeftRadiusProperty<TLength> | BorderBottomLeftRadiusProperty<TLength>[];
25221  /**
25222   * The **`border-bottom-right-radius`** CSS property rounds the bottom-right corner of an element.
25223   *
25224   * **Syntax**: `<length-percentage>{1,2}`
25225   *
25226   * **Initial value**: `0`
25227   *
25228   * @deprecated
25229   */
25230  MozBorderRadiusBottomright?: BorderBottomRightRadiusProperty<TLength> | BorderBottomRightRadiusProperty<TLength>[];
25231  /**
25232   * The **`border-top-left-radius`** CSS property rounds the top-left corner of an element.
25233   *
25234   * **Syntax**: `<length-percentage>{1,2}`
25235   *
25236   * **Initial value**: `0`
25237   *
25238   * @deprecated
25239   */
25240  MozBorderRadiusTopleft?: BorderTopLeftRadiusProperty<TLength> | BorderTopLeftRadiusProperty<TLength>[];
25241  /**
25242   * The **`border-top-right-radius`** CSS property rounds the top-right corner of an element.
25243   *
25244   * **Syntax**: `<length-percentage>{1,2}`
25245   *
25246   * **Initial value**: `0`
25247   *
25248   * @deprecated
25249   */
25250  MozBorderRadiusTopright?: BorderTopRightRadiusProperty<TLength> | BorderTopRightRadiusProperty<TLength>[];
25251  /**
25252   * 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.
25253   *
25254   * **Syntax**: `start | center | end | baseline | stretch`
25255   *
25256   * **Initial value**: `stretch`
25257   *
25258   * @deprecated
25259   */
25260  MozBoxAlign?: BoxAlignProperty | BoxAlignProperty[];
25261  /**
25262   * 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).
25263   *
25264   * **Syntax**: `normal | reverse | inherit`
25265   *
25266   * **Initial value**: `normal`
25267   *
25268   * @deprecated
25269   */
25270  MozBoxDirection?: BoxDirectionProperty | BoxDirectionProperty[];
25271  /**
25272   * 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.
25273   *
25274   * **Syntax**: `<number>`
25275   *
25276   * **Initial value**: `0`
25277   *
25278   * @deprecated
25279   */
25280  MozBoxFlex?: GlobalsNumber | GlobalsNumber[];
25281  /**
25282   * The **`box-ordinal-group`** CSS property assigns the flexbox's child elements to an ordinal group.
25283   *
25284   * **Syntax**: `<integer>`
25285   *
25286   * **Initial value**: `1`
25287   *
25288   * @deprecated
25289   */
25290  MozBoxOrdinalGroup?: GlobalsNumber | GlobalsNumber[];
25291  /**
25292   * The **`box-orient`** CSS property specifies whether an element lays out its contents horizontally or vertically.
25293   *
25294   * **Syntax**: `horizontal | vertical | inline-axis | block-axis | inherit`
25295   *
25296   * **Initial value**: `inline-axis` (`horizontal` in XUL)
25297   *
25298   * @deprecated
25299   */
25300  MozBoxOrient?: BoxOrientProperty | BoxOrientProperty[];
25301  /**
25302   * 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.
25303   *
25304   * **Syntax**: `start | center | end | justify`
25305   *
25306   * **Initial value**: `start`
25307   *
25308   * @deprecated
25309   */
25310  MozBoxPack?: BoxPackProperty | BoxPackProperty[];
25311  /**
25312   * 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 radii, and color.
25313   *
25314   * **Syntax**: `none | <shadow>#`
25315   *
25316   * **Initial value**: `none`
25317   *
25318   * @deprecated
25319   */
25320  MozBoxShadow?: BoxShadowProperty | BoxShadowProperty[];
25321  /**
25322   * The **`opacity`** CSS property sets the transparency of an element or the degree to which content behind an element is visible.
25323   *
25324   * **Syntax**: `<alpha-value>`
25325   *
25326   * **Initial value**: `1.0`
25327   *
25328   * @deprecated
25329   */
25330  MozOpacity?: OpacityProperty | OpacityProperty[];
25331  /**
25332   * The **`outline`** CSS property is a shorthand to set various outline properties in a single declaration: `outline-style`, `outline-width`, and `outline-color`.
25333   *
25334   * **Syntax**: `[ <'outline-color'> || <'outline-style'> || <'outline-width'> ]`
25335   *
25336   * @deprecated
25337   */
25338  MozOutline?: OutlineProperty<TLength> | OutlineProperty<TLength>[];
25339  /**
25340   * The **`outline-color`** CSS property sets the color of an element's outline.
25341   *
25342   * **Syntax**: `<color> | invert`
25343   *
25344   * **Initial value**: `invert`, for browsers supporting it, `currentColor` for the other
25345   *
25346   * @deprecated
25347   */
25348  MozOutlineColor?: OutlineColorProperty | OutlineColorProperty[];
25349  /**
25350   * In Mozilla applications like Firefox, the **`-moz-outline-radius`** CSS property can be used to give an element's `outline` rounded corners.
25351   *
25352   * **Syntax**: `<outline-radius>{1,4} [ / <outline-radius>{1,4} ]?`
25353   *
25354   * @deprecated
25355   */
25356  MozOutlineRadius?: MozOutlineRadiusProperty<TLength> | MozOutlineRadiusProperty<TLength>[];
25357  /**
25358   * 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`.
25359   *
25360   * **Syntax**: `auto | <'border-style'>`
25361   *
25362   * **Initial value**: `none`
25363   *
25364   * @deprecated
25365   */
25366  MozOutlineStyle?: OutlineStyleProperty | OutlineStyleProperty[];
25367  /**
25368   * The **`outline-width`** CSS property sets the thickness of an element's outline. An outline is a line that is drawn around an element, outside the `border`.
25369   *
25370   * **Syntax**: `<line-width>`
25371   *
25372   * **Initial value**: `medium`
25373   *
25374   * @deprecated
25375   */
25376  MozOutlineWidth?: OutlineWidthProperty<TLength> | OutlineWidthProperty<TLength>[];
25377  /**
25378   * 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.
25379   *
25380   * **Syntax**: `auto | start | end | left | right | center | justify`
25381   *
25382   * **Initial value**: `auto`
25383   *
25384   * @deprecated
25385   */
25386  MozTextAlignLast?: TextAlignLastProperty | TextAlignLastProperty[];
25387  /**
25388   * The **`text-decoration-color`** CSS property sets the color of decorations added to text by `text-decoration-line`.
25389   *
25390   * **Syntax**: `<color>`
25391   *
25392   * **Initial value**: `currentcolor`
25393   *
25394   * @deprecated
25395   */
25396  MozTextDecorationColor?: TextDecorationColorProperty | TextDecorationColorProperty[];
25397  /**
25398   * 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.
25399   *
25400   * **Syntax**: `none | [ underline || overline || line-through || blink ] | spelling-error | grammar-error`
25401   *
25402   * **Initial value**: `none`
25403   *
25404   * @deprecated
25405   */
25406  MozTextDecorationLine?: TextDecorationLineProperty | TextDecorationLineProperty[];
25407  /**
25408   * 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`.
25409   *
25410   * **Syntax**: `solid | double | dotted | dashed | wavy`
25411   *
25412   * **Initial value**: `solid`
25413   *
25414   * @deprecated
25415   */
25416  MozTextDecorationStyle?: TextDecorationStyleProperty | TextDecorationStyleProperty[];
25417  /**
25418   * In Mozilla applications, **`-moz-user-input`** determines if an element will accept user input.
25419   *
25420   * **Syntax**: `auto | none | enabled | disabled`
25421   *
25422   * **Initial value**: `auto`
25423   *
25424   * @deprecated
25425   */
25426  MozUserInput?: MozUserInputProperty | MozUserInputProperty[];
25427  /**
25428   * The **`ime-mode`** CSS property controls the state of the input method editor (IME) for text fields. This property is obsolete.
25429   *
25430   * **Syntax**: `auto | normal | active | inactive | disabled`
25431   *
25432   * **Initial value**: `auto`
25433   *
25434   * @deprecated
25435   */
25436  msImeMode?: ImeModeProperty | ImeModeProperty[];
25437  /**
25438   * The **`-ms-scrollbar-track-color`** CSS property is a Microsoft extension that specifies the color of the track element of a scrollbar.
25439   *
25440   * **Syntax**: `<color>`
25441   *
25442   * **Initial value**: `Scrollbar`
25443   *
25444   * @deprecated
25445   */
25446  msScrollbarTrackColor?: MsScrollbarTrackColorProperty | MsScrollbarTrackColorProperty[];
25447  /**
25448   * The **`animation`** shorthand CSS property sets an animated transition 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`.
25449   *
25450   * **Syntax**: `<single-animation>#`
25451   *
25452   * @deprecated
25453   */
25454  OAnimation?: AnimationProperty | AnimationProperty[];
25455  /**
25456   * The **`animation-delay`** CSS property sets when an animation starts. The animation can start later, immediately from its beginning, or immediately and partway through the animation.
25457   *
25458   * **Syntax**: `<time>#`
25459   *
25460   * **Initial value**: `0s`
25461   *
25462   * @deprecated
25463   */
25464  OAnimationDelay?: GlobalsString | GlobalsString[];
25465  /**
25466   * The **`animation-direction`** CSS property sets whether an animation should play forwards, backwards, or alternating back and forth.
25467   *
25468   * **Syntax**: `<single-animation-direction>#`
25469   *
25470   * **Initial value**: `normal`
25471   *
25472   * @deprecated
25473   */
25474  OAnimationDirection?: AnimationDirectionProperty | AnimationDirectionProperty[];
25475  /**
25476   * The **`animation-duration`** CSS property sets the length of time that an animation takes to complete one cycle.
25477   *
25478   * **Syntax**: `<time>#`
25479   *
25480   * **Initial value**: `0s`
25481   *
25482   * @deprecated
25483   */
25484  OAnimationDuration?: GlobalsString | GlobalsString[];
25485  /**
25486   * The **`animation-fill-mode`** CSS property sets how a CSS animation applies styles to its target before and after its execution.
25487   *
25488   * **Syntax**: `<single-animation-fill-mode>#`
25489   *
25490   * **Initial value**: `none`
25491   *
25492   * @deprecated
25493   */
25494  OAnimationFillMode?: AnimationFillModeProperty | AnimationFillModeProperty[];
25495  /**
25496   * The **`animation-iteration-count`** CSS property sets the number of times an animation cycle should be played before stopping.
25497   *
25498   * **Syntax**: `<single-animation-iteration-count>#`
25499   *
25500   * **Initial value**: `1`
25501   *
25502   * @deprecated
25503   */
25504  OAnimationIterationCount?: AnimationIterationCountProperty | AnimationIterationCountProperty[];
25505  /**
25506   * The **`animation-name`** CSS property sets one or more animations to apply to an element. Each name is an `@keyframes` at-rule that sets the property values for the animation sequence.
25507   *
25508   * **Syntax**: `[ none | <keyframes-name> ]#`
25509   *
25510   * **Initial value**: `none`
25511   *
25512   * @deprecated
25513   */
25514  OAnimationName?: AnimationNameProperty | AnimationNameProperty[];
25515  /**
25516   * The **`animation-play-state`** CSS property sets whether an animation is running or paused.
25517   *
25518   * **Syntax**: `<single-animation-play-state>#`
25519   *
25520   * **Initial value**: `running`
25521   *
25522   * @deprecated
25523   */
25524  OAnimationPlayState?: AnimationPlayStateProperty | AnimationPlayStateProperty[];
25525  /**
25526   * The `**animation-timing-function**` CSS property sets how an animation progresses through the duration of each cycle.
25527   *
25528   * **Syntax**: `<timing-function>#`
25529   *
25530   * **Initial value**: `ease`
25531   *
25532   * @deprecated
25533   */
25534  OAnimationTimingFunction?: AnimationTimingFunctionProperty | AnimationTimingFunctionProperty[];
25535  /**
25536   * 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.
25537   *
25538   * **Syntax**: `<bg-size>#`
25539   *
25540   * **Initial value**: `auto auto`
25541   *
25542   * @deprecated
25543   */
25544  OBackgroundSize?: BackgroundSizeProperty<TLength> | BackgroundSizeProperty<TLength>[];
25545  /**
25546   * The **`border-image`** CSS property draws an image in place of an element's `border-style`.
25547   *
25548   * **Syntax**: `<'border-image-source'> || <'border-image-slice'> [ / <'border-image-width'> | / <'border-image-width'>? / <'border-image-outset'> ]? || <'border-image-repeat'>`
25549   *
25550   * @deprecated
25551   */
25552  OBorderImage?: BorderImageProperty | BorderImageProperty[];
25553  /**
25554   * The **`transform`** CSS property lets you rotate, scale, skew, or translate an element. It modifies the coordinate space of the CSS visual formatting model.
25555   *
25556   * **Syntax**: `none | <transform-list>`
25557   *
25558   * **Initial value**: `none`
25559   *
25560   * @deprecated
25561   */
25562  OTransform?: TransformProperty | TransformProperty[];
25563  /**
25564   * The **`transition`** CSS property is a shorthand property for `transition-property`, `transition-duration`, `transition-timing-function`, and `transition-delay`.
25565   *
25566   * **Syntax**: `<single-transition>#`
25567   *
25568   * @deprecated
25569   */
25570  OTransition?: TransitionProperty | TransitionProperty[];
25571  /**
25572   * The **`transition-delay`** CSS property specifies the duration to wait before starting a property's transition effect when its value changes.
25573   *
25574   * **Syntax**: `<time>#`
25575   *
25576   * **Initial value**: `0s`
25577   *
25578   * @deprecated
25579   */
25580  OTransitionDelay?: GlobalsString | GlobalsString[];
25581  /**
25582   * 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.
25583   *
25584   * **Syntax**: `<time>#`
25585   *
25586   * **Initial value**: `0s`
25587   *
25588   * @deprecated
25589   */
25590  OTransitionDuration?: GlobalsString | GlobalsString[];
25591  /**
25592   * The **`transition-property`** CSS property sets the CSS properties to which a transition effect should be applied.
25593   *
25594   * **Syntax**: `none | <single-transition-property>#`
25595   *
25596   * **Initial value**: all
25597   *
25598   * @deprecated
25599   */
25600  OTransitionProperty?: TransitionPropertyProperty | TransitionPropertyProperty[];
25601  /**
25602   * The **`transition-timing-function`** CSS property sets how intermediate values are calculated for CSS properties being affected by a transition effect.
25603   *
25604   * **Syntax**: `<timing-function>#`
25605   *
25606   * **Initial value**: `ease`
25607   *
25608   * @deprecated
25609   */
25610  OTransitionTimingFunction?: TransitionTimingFunctionProperty | TransitionTimingFunctionProperty[];
25611  /**
25612   * 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.
25613   *
25614   * **Syntax**: `start | center | end | baseline | stretch`
25615   *
25616   * **Initial value**: `stretch`
25617   *
25618   * @deprecated
25619   */
25620  WebkitBoxAlign?: BoxAlignProperty | BoxAlignProperty[];
25621  /**
25622   * 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).
25623   *
25624   * **Syntax**: `normal | reverse | inherit`
25625   *
25626   * **Initial value**: `normal`
25627   *
25628   * @deprecated
25629   */
25630  WebkitBoxDirection?: BoxDirectionProperty | BoxDirectionProperty[];
25631  /**
25632   * 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.
25633   *
25634   * **Syntax**: `<number>`
25635   *
25636   * **Initial value**: `0`
25637   *
25638   * @deprecated
25639   */
25640  WebkitBoxFlex?: GlobalsNumber | GlobalsNumber[];
25641  /**
25642   * The **`box-flex-group`** CSS property assigns the flexbox's child elements to a flex group.
25643   *
25644   * **Syntax**: `<integer>`
25645   *
25646   * **Initial value**: `1`
25647   *
25648   * @deprecated
25649   */
25650  WebkitBoxFlexGroup?: GlobalsNumber | GlobalsNumber[];
25651  /**
25652   * 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).
25653   *
25654   * **Syntax**: `single | multiple`
25655   *
25656   * **Initial value**: `single`
25657   *
25658   * @deprecated
25659   */
25660  WebkitBoxLines?: BoxLinesProperty | BoxLinesProperty[];
25661  /**
25662   * The **`box-ordinal-group`** CSS property assigns the flexbox's child elements to an ordinal group.
25663   *
25664   * **Syntax**: `<integer>`
25665   *
25666   * **Initial value**: `1`
25667   *
25668   * @deprecated
25669   */
25670  WebkitBoxOrdinalGroup?: GlobalsNumber | GlobalsNumber[];
25671  /**
25672   * The **`box-orient`** CSS property specifies whether an element lays out its contents horizontally or vertically.
25673   *
25674   * **Syntax**: `horizontal | vertical | inline-axis | block-axis | inherit`
25675   *
25676   * **Initial value**: `inline-axis` (`horizontal` in XUL)
25677   *
25678   * @deprecated
25679   */
25680  WebkitBoxOrient?: BoxOrientProperty | BoxOrientProperty[];
25681  /**
25682   * 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.
25683   *
25684   * **Syntax**: `start | center | end | justify`
25685   *
25686   * **Initial value**: `start`
25687   *
25688   * @deprecated
25689   */
25690  WebkitBoxPack?: BoxPackProperty | BoxPackProperty[];
25691  /**
25692   * 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.
25693   *
25694   * **Syntax**: `none | repeat( <length-percentage> )`
25695   *
25696   * **Initial value**: `none`
25697   *
25698   * @deprecated
25699   */
25700  WebkitScrollSnapPointsX?: ScrollSnapPointsXProperty | ScrollSnapPointsXProperty[];
25701  /**
25702   * 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.
25703   *
25704   * **Syntax**: `none | repeat( <length-percentage> )`
25705   *
25706   * **Initial value**: `none`
25707   *
25708   * @deprecated
25709   */
25710  WebkitScrollSnapPointsY?: ScrollSnapPointsYProperty | ScrollSnapPointsYProperty[];
25711}
25712
25713export interface SvgPropertiesFallback<TLength = string | 0> {
25714  alignmentBaseline?: AlignmentBaselineProperty | AlignmentBaselineProperty[];
25715  baselineShift?: BaselineShiftProperty<TLength> | BaselineShiftProperty<TLength>[];
25716  clip?: ClipProperty | ClipProperty[];
25717  clipPath?: ClipPathProperty | ClipPathProperty[];
25718  clipRule?: ClipRuleProperty | ClipRuleProperty[];
25719  color?: ColorProperty | ColorProperty[];
25720  colorInterpolation?: ColorInterpolationProperty | ColorInterpolationProperty[];
25721  colorRendering?: ColorRenderingProperty | ColorRenderingProperty[];
25722  cursor?: CursorProperty | CursorProperty[];
25723  direction?: DirectionProperty | DirectionProperty[];
25724  display?: DisplayProperty | DisplayProperty[];
25725  dominantBaseline?: DominantBaselineProperty | DominantBaselineProperty[];
25726  fill?: FillProperty | FillProperty[];
25727  fillOpacity?: GlobalsNumber | GlobalsNumber[];
25728  fillRule?: FillRuleProperty | FillRuleProperty[];
25729  filter?: FilterProperty | FilterProperty[];
25730  floodColor?: FloodColorProperty | FloodColorProperty[];
25731  floodOpacity?: GlobalsNumber | GlobalsNumber[];
25732  font?: FontProperty | FontProperty[];
25733  fontFamily?: FontFamilyProperty | FontFamilyProperty[];
25734  fontSize?: FontSizeProperty<TLength> | FontSizeProperty<TLength>[];
25735  fontSizeAdjust?: FontSizeAdjustProperty | FontSizeAdjustProperty[];
25736  fontStretch?: FontStretchProperty | FontStretchProperty[];
25737  fontStyle?: FontStyleProperty | FontStyleProperty[];
25738  fontVariant?: FontVariantProperty | FontVariantProperty[];
25739  fontWeight?: FontWeightProperty | FontWeightProperty[];
25740  glyphOrientationVertical?: GlyphOrientationVerticalProperty | GlyphOrientationVerticalProperty[];
25741  imageRendering?: ImageRenderingProperty | ImageRenderingProperty[];
25742  letterSpacing?: LetterSpacingProperty<TLength> | LetterSpacingProperty<TLength>[];
25743  lightingColor?: LightingColorProperty | LightingColorProperty[];
25744  lineHeight?: LineHeightProperty<TLength> | LineHeightProperty<TLength>[];
25745  marker?: MarkerProperty | MarkerProperty[];
25746  markerEnd?: MarkerEndProperty | MarkerEndProperty[];
25747  markerMid?: MarkerMidProperty | MarkerMidProperty[];
25748  markerStart?: MarkerStartProperty | MarkerStartProperty[];
25749  mask?: MaskProperty<TLength> | MaskProperty<TLength>[];
25750  opacity?: OpacityProperty | OpacityProperty[];
25751  overflow?: OverflowProperty | OverflowProperty[];
25752  paintOrder?: PaintOrderProperty | PaintOrderProperty[];
25753  pointerEvents?: PointerEventsProperty | PointerEventsProperty[];
25754  shapeRendering?: ShapeRenderingProperty | ShapeRenderingProperty[];
25755  stopColor?: StopColorProperty | StopColorProperty[];
25756  stopOpacity?: GlobalsNumber | GlobalsNumber[];
25757  stroke?: StrokeProperty | StrokeProperty[];
25758  strokeDasharray?: StrokeDasharrayProperty<TLength> | StrokeDasharrayProperty<TLength>[];
25759  strokeDashoffset?: StrokeDashoffsetProperty<TLength> | StrokeDashoffsetProperty<TLength>[];
25760  strokeLinecap?: StrokeLinecapProperty | StrokeLinecapProperty[];
25761  strokeLinejoin?: StrokeLinejoinProperty | StrokeLinejoinProperty[];
25762  strokeMiterlimit?: GlobalsNumber | GlobalsNumber[];
25763  strokeOpacity?: GlobalsNumber | GlobalsNumber[];
25764  strokeWidth?: StrokeWidthProperty<TLength> | StrokeWidthProperty<TLength>[];
25765  textAnchor?: TextAnchorProperty | TextAnchorProperty[];
25766  textDecoration?: TextDecorationProperty<TLength> | TextDecorationProperty<TLength>[];
25767  textRendering?: TextRenderingProperty | TextRenderingProperty[];
25768  unicodeBidi?: UnicodeBidiProperty | UnicodeBidiProperty[];
25769  vectorEffect?: VectorEffectProperty | VectorEffectProperty[];
25770  visibility?: VisibilityProperty | VisibilityProperty[];
25771  whiteSpace?: WhiteSpaceProperty | WhiteSpaceProperty[];
25772  wordSpacing?: WordSpacingProperty<TLength> | WordSpacingProperty<TLength>[];
25773  writingMode?: WritingModeProperty | WritingModeProperty[];
25774}
25775
25776export interface PropertiesFallback<TLength = string | 0>
25777  extends StandardPropertiesFallback<TLength>,
25778    VendorPropertiesFallback<TLength>,
25779    ObsoletePropertiesFallback<TLength>,
25780    SvgPropertiesFallback<TLength> {}
25781
25782export interface StandardLonghandPropertiesHyphenFallback<TLength = string | 0> {
25783  /**
25784   * The CSS **`align-content`** property sets how the browser distributes space between and around content items along the cross-axis of a flexbox container, and the main-axis of a grid container.
25785   *
25786   * **Syntax**: `normal | <baseline-position> | <content-distribution> | <overflow-position>? <content-position>`
25787   *
25788   * **Initial value**: `normal`
25789   *
25790   * ---
25791   *
25792   * _Supported in Flex Layout_
25793   *
25794   * |  Chrome  | Firefox |  Safari   |  Edge  |   IE   |
25795   * | :------: | :-----: | :-------: | :----: | :----: |
25796   * |  **29**  | **28**  |   **9**   | **12** | **11** |
25797   * | 21 _-x-_ |         | 6.1 _-x-_ |        |        |
25798   *
25799   * ---
25800   *
25801   * _Supported in Grid Layout_
25802   *
25803   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
25804   * | :----: | :-----: | :------: | :----: | :-: |
25805   * | **57** | **52**  | **10.1** | **16** | No  |
25806   *
25807   * ---
25808   *
25809   * @see https://developer.mozilla.org/docs/Web/CSS/align-content
25810   */
25811  "align-content"?: AlignContentProperty | AlignContentProperty[];
25812  /**
25813   * The CSS **`align-items`** property sets the `align-self` value on all direct children as a group. The align-self property sets the alignment of an item within its containing block. 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.
25814   *
25815   * **Syntax**: `normal | stretch | <baseline-position> | [ <overflow-position>? <self-position> ]`
25816   *
25817   * **Initial value**: `normal`
25818   *
25819   * ---
25820   *
25821   * _Supported in Flex Layout_
25822   *
25823   * |  Chrome  | Firefox | Safari  |  Edge  |   IE   |
25824   * | :------: | :-----: | :-----: | :----: | :----: |
25825   * |  **52**  | **20**  |  **9**  | **12** | **11** |
25826   * | 21 _-x-_ |         | 7 _-x-_ |        |        |
25827   *
25828   * ---
25829   *
25830   * _Supported in Grid Layout_
25831   *
25832   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
25833   * | :----: | :-----: | :------: | :----: | :-: |
25834   * | **57** | **52**  | **10.1** | **16** | No  |
25835   *
25836   * ---
25837   *
25838   * @see https://developer.mozilla.org/docs/Web/CSS/align-items
25839   */
25840  "align-items"?: AlignItemsProperty | AlignItemsProperty[];
25841  /**
25842   * The **`align-self`** CSS property aligns flex items of the current flex line overriding the `align-items` value. If any of the item's cross-axis margin is set to `auto`, then `align-self` is ignored. In Grid layout `align-self` aligns the item inside the grid area.
25843   *
25844   * **Syntax**: `auto | normal | stretch | <baseline-position> | <overflow-position>? <self-position>`
25845   *
25846   * **Initial value**: `auto`
25847   *
25848   * ---
25849   *
25850   * _Supported in Flex Layout_
25851   *
25852   * |  Chrome  | Firefox |  Safari   |  Edge  |   IE   |
25853   * | :------: | :-----: | :-------: | :----: | :----: |
25854   * |  **36**  | **20**  |   **9**   | **12** | **11** |
25855   * | 21 _-x-_ |         | 6.1 _-x-_ |        |        |
25856   *
25857   * ---
25858   *
25859   * _Supported in Grid Layout_
25860   *
25861   * | Chrome | Firefox |  Safari  |  Edge  |      IE      |
25862   * | :----: | :-----: | :------: | :----: | :----------: |
25863   * | **57** | **52**  | **10.1** | **16** | **10** _-x-_ |
25864   *
25865   * ---
25866   *
25867   * @see https://developer.mozilla.org/docs/Web/CSS/align-self
25868   */
25869  "align-self"?: AlignSelfProperty | AlignSelfProperty[];
25870  /**
25871   * The **`animation-delay`** CSS property sets when an animation starts. The animation can start later, immediately from its beginning, or immediately and partway through the animation.
25872   *
25873   * **Syntax**: `<time>#`
25874   *
25875   * **Initial value**: `0s`
25876   *
25877   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
25878   * | :-----: | :-----: | :-----: | :----: | :----: |
25879   * | **43**  | **16**  |  **9**  | **12** | **10** |
25880   * | 3 _-x-_ | 5 _-x-_ | 4 _-x-_ |        |        |
25881   *
25882   * @see https://developer.mozilla.org/docs/Web/CSS/animation-delay
25883   */
25884  "animation-delay"?: GlobalsString | GlobalsString[];
25885  /**
25886   * The **`animation-direction`** CSS property sets whether an animation should play forwards, backwards, or alternating back and forth.
25887   *
25888   * **Syntax**: `<single-animation-direction>#`
25889   *
25890   * **Initial value**: `normal`
25891   *
25892   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
25893   * | :-----: | :-----: | :-----: | :----: | :----: |
25894   * | **43**  | **16**  |  **9**  | **12** | **10** |
25895   * | 3 _-x-_ | 5 _-x-_ | 4 _-x-_ |        |        |
25896   *
25897   * @see https://developer.mozilla.org/docs/Web/CSS/animation-direction
25898   */
25899  "animation-direction"?: AnimationDirectionProperty | AnimationDirectionProperty[];
25900  /**
25901   * The **`animation-duration`** CSS property sets the length of time that an animation takes to complete one cycle.
25902   *
25903   * **Syntax**: `<time>#`
25904   *
25905   * **Initial value**: `0s`
25906   *
25907   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
25908   * | :-----: | :-----: | :-----: | :----: | :----: |
25909   * | **43**  | **16**  |  **9**  | **12** | **10** |
25910   * | 3 _-x-_ | 5 _-x-_ | 4 _-x-_ |        |        |
25911   *
25912   * @see https://developer.mozilla.org/docs/Web/CSS/animation-duration
25913   */
25914  "animation-duration"?: GlobalsString | GlobalsString[];
25915  /**
25916   * The **`animation-fill-mode`** CSS property sets how a CSS animation applies styles to its target before and after its execution.
25917   *
25918   * **Syntax**: `<single-animation-fill-mode>#`
25919   *
25920   * **Initial value**: `none`
25921   *
25922   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
25923   * | :-----: | :-----: | :-----: | :----: | :----: |
25924   * | **43**  | **16**  |  **9**  | **12** | **10** |
25925   * | 3 _-x-_ | 5 _-x-_ | 5 _-x-_ |        |        |
25926   *
25927   * @see https://developer.mozilla.org/docs/Web/CSS/animation-fill-mode
25928   */
25929  "animation-fill-mode"?: AnimationFillModeProperty | AnimationFillModeProperty[];
25930  /**
25931   * The **`animation-iteration-count`** CSS property sets the number of times an animation cycle should be played before stopping.
25932   *
25933   * **Syntax**: `<single-animation-iteration-count>#`
25934   *
25935   * **Initial value**: `1`
25936   *
25937   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
25938   * | :-----: | :-----: | :-----: | :----: | :----: |
25939   * | **43**  | **16**  |  **9**  | **12** | **10** |
25940   * | 3 _-x-_ | 5 _-x-_ | 4 _-x-_ |        |        |
25941   *
25942   * @see https://developer.mozilla.org/docs/Web/CSS/animation-iteration-count
25943   */
25944  "animation-iteration-count"?: AnimationIterationCountProperty | AnimationIterationCountProperty[];
25945  /**
25946   * The **`animation-name`** CSS property sets one or more animations to apply to an element. Each name is an `@keyframes` at-rule that sets the property values for the animation sequence.
25947   *
25948   * **Syntax**: `[ none | <keyframes-name> ]#`
25949   *
25950   * **Initial value**: `none`
25951   *
25952   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
25953   * | :-----: | :-----: | :-----: | :----: | :----: |
25954   * | **43**  | **16**  |  **9**  | **12** | **10** |
25955   * | 3 _-x-_ | 5 _-x-_ | 4 _-x-_ |        |        |
25956   *
25957   * @see https://developer.mozilla.org/docs/Web/CSS/animation-name
25958   */
25959  "animation-name"?: AnimationNameProperty | AnimationNameProperty[];
25960  /**
25961   * The **`animation-play-state`** CSS property sets whether an animation is running or paused.
25962   *
25963   * **Syntax**: `<single-animation-play-state>#`
25964   *
25965   * **Initial value**: `running`
25966   *
25967   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
25968   * | :-----: | :-----: | :-----: | :----: | :----: |
25969   * | **43**  | **16**  |  **9**  | **12** | **10** |
25970   * | 3 _-x-_ | 5 _-x-_ | 4 _-x-_ |        |        |
25971   *
25972   * @see https://developer.mozilla.org/docs/Web/CSS/animation-play-state
25973   */
25974  "animation-play-state"?: AnimationPlayStateProperty | AnimationPlayStateProperty[];
25975  /**
25976   * The `**animation-timing-function**` CSS property sets how an animation progresses through the duration of each cycle.
25977   *
25978   * **Syntax**: `<timing-function>#`
25979   *
25980   * **Initial value**: `ease`
25981   *
25982   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
25983   * | :-----: | :-----: | :-----: | :----: | :----: |
25984   * | **43**  | **16**  |  **9**  | **12** | **10** |
25985   * | 3 _-x-_ | 5 _-x-_ | 4 _-x-_ |        |        |
25986   *
25987   * @see https://developer.mozilla.org/docs/Web/CSS/animation-timing-function
25988   */
25989  "animation-timing-function"?: AnimationTimingFunctionProperty | AnimationTimingFunctionProperty[];
25990  /**
25991   * The **`-moz-appearance`** CSS property is used in Gecko (Firefox) to display an element using platform-native styling based on the operating system's theme.
25992   *
25993   * **Syntax**: `none | auto | button | textfield | menulist-button | <compat-auto>`
25994   *
25995   * **Initial value**: `auto`
25996   *
25997   * |   Chrome    |   Firefox   |   Safari    |     Edge     | IE  |
25998   * | :---------: | :---------: | :---------: | :----------: | :-: |
25999   * | **1** _-x-_ | **1** _-x-_ | **3** _-x-_ | **12** _-x-_ | No  |
26000   *
26001   * @see https://developer.mozilla.org/docs/Web/CSS/appearance
26002   */
26003  appearance?: AppearanceProperty | AppearanceProperty[];
26004  /**
26005   * 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.
26006   *
26007   * **Syntax**: `auto | <ratio>`
26008   *
26009   * **Initial value**: `auto`
26010   *
26011   * | Chrome | Firefox | Safari |  Edge  | IE  |
26012   * | :----: | :-----: | :----: | :----: | :-: |
26013   * | **79** | **71**  |   No   | **79** | No  |
26014   *
26015   * @see https://developer.mozilla.org/docs/Web/CSS/aspect-ratio
26016   */
26017  "aspect-ratio"?: AspectRatioProperty | AspectRatioProperty[];
26018  /**
26019   * 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.
26020   *
26021   * **Syntax**: `none | <filter-function-list>`
26022   *
26023   * **Initial value**: `none`
26024   *
26025   * | Chrome | Firefox |   Safari    |  Edge  | IE  |
26026   * | :----: | :-----: | :---------: | :----: | :-: |
26027   * | **76** |   n/a   | **9** _-x-_ | **17** | No  |
26028   *
26029   * @see https://developer.mozilla.org/docs/Web/CSS/backdrop-filter
26030   */
26031  "backdrop-filter"?: BackdropFilterProperty | BackdropFilterProperty[];
26032  /**
26033   * The **`backface-visibility`** CSS property sets whether the back face of an element is visible when turned towards the user.
26034   *
26035   * **Syntax**: `visible | hidden`
26036   *
26037   * **Initial value**: `visible`
26038   *
26039   * |  Chrome  | Firefox  |    Safari     |  Edge  |   IE   |
26040   * | :------: | :------: | :-----------: | :----: | :----: |
26041   * |  **36**  |  **16**  | **5.1** _-x-_ | **12** | **10** |
26042   * | 12 _-x-_ | 10 _-x-_ |               |        |        |
26043   *
26044   * @see https://developer.mozilla.org/docs/Web/CSS/backface-visibility
26045   */
26046  "backface-visibility"?: BackfaceVisibilityProperty | BackfaceVisibilityProperty[];
26047  /**
26048   * The **`background-attachment`** CSS property sets whether a background image's position is fixed within the viewport, or scrolls with its containing block.
26049   *
26050   * **Syntax**: `<attachment>#`
26051   *
26052   * **Initial value**: `scroll`
26053   *
26054   * | Chrome | Firefox | Safari |  Edge  |  IE   |
26055   * | :----: | :-----: | :----: | :----: | :---: |
26056   * | **1**  |  **1**  | **1**  | **12** | **4** |
26057   *
26058   * @see https://developer.mozilla.org/docs/Web/CSS/background-attachment
26059   */
26060  "background-attachment"?: BackgroundAttachmentProperty | BackgroundAttachmentProperty[];
26061  /**
26062   * 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.
26063   *
26064   * **Syntax**: `<blend-mode>#`
26065   *
26066   * **Initial value**: `normal`
26067   *
26068   * | Chrome | Firefox | Safari |  Edge  | IE  |
26069   * | :----: | :-----: | :----: | :----: | :-: |
26070   * | **35** | **30**  | **8**  | **79** | No  |
26071   *
26072   * @see https://developer.mozilla.org/docs/Web/CSS/background-blend-mode
26073   */
26074  "background-blend-mode"?: BackgroundBlendModeProperty | BackgroundBlendModeProperty[];
26075  /**
26076   * The **`background-clip`** CSS property sets whether an element's background `<color>` or `<image>` extends underneath its border.
26077   *
26078   * **Syntax**: `<box>#`
26079   *
26080   * **Initial value**: `border-box`
26081   *
26082   * | Chrome | Firefox |   Safari    |  Edge  |  IE   |
26083   * | :----: | :-----: | :---------: | :----: | :---: |
26084   * | **1**  |  **4**  | **3** _-x-_ | **12** | **9** |
26085   *
26086   * @see https://developer.mozilla.org/docs/Web/CSS/background-clip
26087   */
26088  "background-clip"?: BackgroundClipProperty | BackgroundClipProperty[];
26089  /**
26090   * The **`background-color`** CSS property sets the background color of an element.
26091   *
26092   * **Syntax**: `<color>`
26093   *
26094   * **Initial value**: `transparent`
26095   *
26096   * | Chrome | Firefox | Safari |  Edge  |  IE   |
26097   * | :----: | :-----: | :----: | :----: | :---: |
26098   * | **1**  |  **1**  | **1**  | **12** | **4** |
26099   *
26100   * @see https://developer.mozilla.org/docs/Web/CSS/background-color
26101   */
26102  "background-color"?: BackgroundColorProperty | BackgroundColorProperty[];
26103  /**
26104   * The **`background-image`** CSS property sets one or more background images on an element.
26105   *
26106   * **Syntax**: `<bg-image>#`
26107   *
26108   * **Initial value**: `none`
26109   *
26110   * | Chrome | Firefox | Safari |  Edge  |  IE   |
26111   * | :----: | :-----: | :----: | :----: | :---: |
26112   * | **1**  |  **1**  | **1**  | **12** | **4** |
26113   *
26114   * @see https://developer.mozilla.org/docs/Web/CSS/background-image
26115   */
26116  "background-image"?: BackgroundImageProperty | BackgroundImageProperty[];
26117  /**
26118   * The **`background-origin`** CSS property sets the _background positioning area_. In other words, it sets the origin position of an image set with the `background-image` property.
26119   *
26120   * **Syntax**: `<box>#`
26121   *
26122   * **Initial value**: `padding-box`
26123   *
26124   * | Chrome | Firefox | Safari |  Edge  |  IE   |
26125   * | :----: | :-----: | :----: | :----: | :---: |
26126   * | **1**  |  **4**  | **3**  | **12** | **9** |
26127   *
26128   * @see https://developer.mozilla.org/docs/Web/CSS/background-origin
26129   */
26130  "background-origin"?: BackgroundOriginProperty | BackgroundOriginProperty[];
26131  /**
26132   * 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`.
26133   *
26134   * **Syntax**: `<bg-position>#`
26135   *
26136   * **Initial value**: `0% 0%`
26137   *
26138   * | Chrome | Firefox | Safari |  Edge  |  IE   |
26139   * | :----: | :-----: | :----: | :----: | :---: |
26140   * | **1**  |  **1**  | **1**  | **12** | **4** |
26141   *
26142   * @see https://developer.mozilla.org/docs/Web/CSS/background-position
26143   */
26144  "background-position"?: BackgroundPositionProperty<TLength> | BackgroundPositionProperty<TLength>[];
26145  /**
26146   * 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`.
26147   *
26148   * **Syntax**: `[ center | [ [ left | right | x-start | x-end ]? <length-percentage>? ]! ]#`
26149   *
26150   * **Initial value**: `left`
26151   *
26152   * | Chrome | Firefox | Safari |  Edge  |  IE   |
26153   * | :----: | :-----: | :----: | :----: | :---: |
26154   * | **1**  | **49**  | **1**  | **12** | **6** |
26155   *
26156   * @see https://developer.mozilla.org/docs/Web/CSS/background-position-x
26157   */
26158  "background-position-x"?: BackgroundPositionXProperty<TLength> | BackgroundPositionXProperty<TLength>[];
26159  /**
26160   * The **`background-position-y`** CSS property sets the initial vertical position, relative to the background position layer defined by `background-origin`, for each defined background image.
26161   *
26162   * **Syntax**: `[ center | [ [ top | bottom | y-start | y-end ]? <length-percentage>? ]! ]#`
26163   *
26164   * **Initial value**: `top`
26165   *
26166   * | Chrome | Firefox | Safari |  Edge  |  IE   |
26167   * | :----: | :-----: | :----: | :----: | :---: |
26168   * | **1**  | **49**  | **1**  | **12** | **6** |
26169   *
26170   * @see https://developer.mozilla.org/docs/Web/CSS/background-position-y
26171   */
26172  "background-position-y"?: BackgroundPositionYProperty<TLength> | BackgroundPositionYProperty<TLength>[];
26173  /**
26174   * 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.
26175   *
26176   * **Syntax**: `<repeat-style>#`
26177   *
26178   * **Initial value**: `repeat`
26179   *
26180   * | Chrome | Firefox | Safari |  Edge  |  IE   |
26181   * | :----: | :-----: | :----: | :----: | :---: |
26182   * | **1**  |  **1**  | **1**  | **12** | **4** |
26183   *
26184   * @see https://developer.mozilla.org/docs/Web/CSS/background-repeat
26185   */
26186  "background-repeat"?: BackgroundRepeatProperty | BackgroundRepeatProperty[];
26187  /**
26188   * 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.
26189   *
26190   * **Syntax**: `<bg-size>#`
26191   *
26192   * **Initial value**: `auto auto`
26193   *
26194   * | Chrome  | Firefox | Safari  |  Edge  |  IE   |
26195   * | :-----: | :-----: | :-----: | :----: | :---: |
26196   * |  **3**  |  **4**  |  **5**  | **12** | **9** |
26197   * | 1 _-x-_ |         | 3 _-x-_ |        |       |
26198   *
26199   * @see https://developer.mozilla.org/docs/Web/CSS/background-size
26200   */
26201  "background-size"?: BackgroundSizeProperty<TLength> | BackgroundSizeProperty<TLength>[];
26202  /**
26203   * **Syntax**: `clip | ellipsis | <string>`
26204   *
26205   * **Initial value**: `clip`
26206   */
26207  "block-overflow"?: BlockOverflowProperty | BlockOverflowProperty[];
26208  /**
26209   * 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`.
26210   *
26211   * **Syntax**: `<'width'>`
26212   *
26213   * **Initial value**: `auto`
26214   *
26215   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
26216   * | :----: | :-----: | :------: | :----: | :-: |
26217   * | **57** | **41**  | **12.1** | **79** | No  |
26218   *
26219   * @see https://developer.mozilla.org/docs/Web/CSS/block-size
26220   */
26221  "block-size"?: BlockSizeProperty<TLength> | BlockSizeProperty<TLength>[];
26222  /**
26223   * 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`.
26224   *
26225   * **Syntax**: `<'border-top-color'>{1,2}`
26226   *
26227   * **Initial value**: `currentcolor`
26228   *
26229   * | Chrome | Firefox | Safari | Edge | IE  |
26230   * | :----: | :-----: | :----: | :--: | :-: |
26231   * |  n/a   | **66**  |   No   | n/a  | No  |
26232   *
26233   * @see https://developer.mozilla.org/docs/Web/CSS/border-block-color
26234   */
26235  "border-block-color"?: BorderBlockColorProperty | BorderBlockColorProperty[];
26236  /**
26237   * 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`.
26238   *
26239   * **Syntax**: `<'border-top-color'>`
26240   *
26241   * **Initial value**: `currentcolor`
26242   *
26243   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
26244   * | :----: | :-----: | :------: | :----: | :-: |
26245   * | **69** | **41**  | **12.1** | **79** | No  |
26246   *
26247   * @see https://developer.mozilla.org/docs/Web/CSS/border-block-end-color
26248   */
26249  "border-block-end-color"?: BorderBlockEndColorProperty | BorderBlockEndColorProperty[];
26250  /**
26251   * 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`.
26252   *
26253   * **Syntax**: `<'border-top-style'>`
26254   *
26255   * **Initial value**: `none`
26256   *
26257   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
26258   * | :----: | :-----: | :------: | :----: | :-: |
26259   * | **69** | **41**  | **12.1** | **79** | No  |
26260   *
26261   * @see https://developer.mozilla.org/docs/Web/CSS/border-block-end-style
26262   */
26263  "border-block-end-style"?: BorderBlockEndStyleProperty | BorderBlockEndStyleProperty[];
26264  /**
26265   * 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`.
26266   *
26267   * **Syntax**: `<'border-top-width'>`
26268   *
26269   * **Initial value**: `medium`
26270   *
26271   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
26272   * | :----: | :-----: | :------: | :----: | :-: |
26273   * | **69** | **41**  | **12.1** | **79** | No  |
26274   *
26275   * @see https://developer.mozilla.org/docs/Web/CSS/border-block-end-width
26276   */
26277  "border-block-end-width"?: BorderBlockEndWidthProperty<TLength> | BorderBlockEndWidthProperty<TLength>[];
26278  /**
26279   * 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`.
26280   *
26281   * **Syntax**: `<'border-top-color'>`
26282   *
26283   * **Initial value**: `currentcolor`
26284   *
26285   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
26286   * | :----: | :-----: | :------: | :----: | :-: |
26287   * | **69** | **41**  | **12.1** | **79** | No  |
26288   *
26289   * @see https://developer.mozilla.org/docs/Web/CSS/border-block-start-color
26290   */
26291  "border-block-start-color"?: BorderBlockStartColorProperty | BorderBlockStartColorProperty[];
26292  /**
26293   * 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`.
26294   *
26295   * **Syntax**: `<'border-top-style'>`
26296   *
26297   * **Initial value**: `none`
26298   *
26299   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
26300   * | :----: | :-----: | :------: | :----: | :-: |
26301   * | **69** | **41**  | **12.1** | **79** | No  |
26302   *
26303   * @see https://developer.mozilla.org/docs/Web/CSS/border-block-start-style
26304   */
26305  "border-block-start-style"?: BorderBlockStartStyleProperty | BorderBlockStartStyleProperty[];
26306  /**
26307   * 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`.
26308   *
26309   * **Syntax**: `<'border-top-width'>`
26310   *
26311   * **Initial value**: `medium`
26312   *
26313   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
26314   * | :----: | :-----: | :------: | :----: | :-: |
26315   * | **69** | **41**  | **12.1** | **79** | No  |
26316   *
26317   * @see https://developer.mozilla.org/docs/Web/CSS/border-block-start-width
26318   */
26319  "border-block-start-width"?: BorderBlockStartWidthProperty<TLength> | BorderBlockStartWidthProperty<TLength>[];
26320  /**
26321   * 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`.
26322   *
26323   * **Syntax**: `<'border-top-style'>`
26324   *
26325   * **Initial value**: `none`
26326   *
26327   * | Chrome | Firefox | Safari |  Edge  | IE  |
26328   * | :----: | :-----: | :----: | :----: | :-: |
26329   * | **69** | **66**  |   No   | **79** | No  |
26330   *
26331   * @see https://developer.mozilla.org/docs/Web/CSS/border-block-style
26332   */
26333  "border-block-style"?: BorderBlockStyleProperty | BorderBlockStyleProperty[];
26334  /**
26335   * 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`.
26336   *
26337   * **Syntax**: `<'border-top-width'>`
26338   *
26339   * **Initial value**: `medium`
26340   *
26341   * | Chrome | Firefox | Safari |  Edge  | IE  |
26342   * | :----: | :-----: | :----: | :----: | :-: |
26343   * | **69** | **66**  |   No   | **79** | No  |
26344   *
26345   * @see https://developer.mozilla.org/docs/Web/CSS/border-block-width
26346   */
26347  "border-block-width"?: BorderBlockWidthProperty<TLength> | BorderBlockWidthProperty<TLength>[];
26348  /**
26349   * 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`.
26350   *
26351   * **Syntax**: `<'border-top-color'>`
26352   *
26353   * **Initial value**: `currentcolor`
26354   *
26355   * | Chrome | Firefox | Safari |  Edge  |  IE   |
26356   * | :----: | :-----: | :----: | :----: | :---: |
26357   * | **1**  |  **1**  | **1**  | **12** | **4** |
26358   *
26359   * @see https://developer.mozilla.org/docs/Web/CSS/border-bottom-color
26360   */
26361  "border-bottom-color"?: BorderBottomColorProperty | BorderBottomColorProperty[];
26362  /**
26363   * The **`border-bottom-left-radius`** CSS property rounds the bottom-left corner of an element.
26364   *
26365   * **Syntax**: `<length-percentage>{1,2}`
26366   *
26367   * **Initial value**: `0`
26368   *
26369   * | Chrome  | Firefox | Safari  |  Edge  |  IE   |
26370   * | :-----: | :-----: | :-----: | :----: | :---: |
26371   * |  **4**  |  **4**  |  **5**  | **12** | **9** |
26372   * | 1 _-x-_ |         | 3 _-x-_ |        |       |
26373   *
26374   * @see https://developer.mozilla.org/docs/Web/CSS/border-bottom-left-radius
26375   */
26376  "border-bottom-left-radius"?: BorderBottomLeftRadiusProperty<TLength> | BorderBottomLeftRadiusProperty<TLength>[];
26377  /**
26378   * The **`border-bottom-right-radius`** CSS property rounds the bottom-right corner of an element.
26379   *
26380   * **Syntax**: `<length-percentage>{1,2}`
26381   *
26382   * **Initial value**: `0`
26383   *
26384   * | Chrome  | Firefox | Safari  |  Edge  |  IE   |
26385   * | :-----: | :-----: | :-----: | :----: | :---: |
26386   * |  **4**  |  **4**  |  **5**  | **12** | **9** |
26387   * | 1 _-x-_ |         | 3 _-x-_ |        |       |
26388   *
26389   * @see https://developer.mozilla.org/docs/Web/CSS/border-bottom-right-radius
26390   */
26391  "border-bottom-right-radius"?: BorderBottomRightRadiusProperty<TLength> | BorderBottomRightRadiusProperty<TLength>[];
26392  /**
26393   * The **`border-bottom-style`** CSS property sets the line style of an element's bottom `border`.
26394   *
26395   * **Syntax**: `<line-style>`
26396   *
26397   * **Initial value**: `none`
26398   *
26399   * | Chrome | Firefox | Safari |  Edge  |   IE    |
26400   * | :----: | :-----: | :----: | :----: | :-----: |
26401   * | **1**  |  **1**  | **1**  | **12** | **5.5** |
26402   *
26403   * @see https://developer.mozilla.org/docs/Web/CSS/border-bottom-style
26404   */
26405  "border-bottom-style"?: BorderBottomStyleProperty | BorderBottomStyleProperty[];
26406  /**
26407   * The **`border-bottom-width`** CSS property sets the width of the bottom border of a box.
26408   *
26409   * **Syntax**: `<line-width>`
26410   *
26411   * **Initial value**: `medium`
26412   *
26413   * | Chrome | Firefox | Safari |  Edge  |  IE   |
26414   * | :----: | :-----: | :----: | :----: | :---: |
26415   * | **1**  |  **1**  | **1**  | **12** | **4** |
26416   *
26417   * @see https://developer.mozilla.org/docs/Web/CSS/border-bottom-width
26418   */
26419  "border-bottom-width"?: BorderBottomWidthProperty<TLength> | BorderBottomWidthProperty<TLength>[];
26420  /**
26421   * The **`border-collapse`** CSS property sets whether cells inside a `<table>` have shared or separate borders.
26422   *
26423   * **Syntax**: `collapse | separate`
26424   *
26425   * **Initial value**: `separate`
26426   *
26427   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
26428   * | :----: | :-----: | :-----: | :----: | :---: |
26429   * | **1**  |  **1**  | **1.2** | **12** | **5** |
26430   *
26431   * @see https://developer.mozilla.org/docs/Web/CSS/border-collapse
26432   */
26433  "border-collapse"?: BorderCollapseProperty | BorderCollapseProperty[];
26434  /**
26435   * 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 on the element's `writing-mode`, `direction`, and `text-orientation`.
26436   *
26437   * **Syntax**: `<length-percentage>{1,2}`
26438   *
26439   * **Initial value**: `0`
26440   *
26441   * | Chrome | Firefox | Safari | Edge | IE  |
26442   * | :----: | :-----: | :----: | :--: | :-: |
26443   * |   No   | **66**  |   No   |  No  | No  |
26444   *
26445   * @see https://developer.mozilla.org/docs/Web/CSS/border-end-end-radius
26446   */
26447  "border-end-end-radius"?: BorderEndEndRadiusProperty<TLength> | BorderEndEndRadiusProperty<TLength>[];
26448  /**
26449   * 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`.
26450   *
26451   * **Syntax**: `<length-percentage>{1,2}`
26452   *
26453   * **Initial value**: `0`
26454   *
26455   * | Chrome | Firefox | Safari | Edge | IE  |
26456   * | :----: | :-----: | :----: | :--: | :-: |
26457   * |   No   | **66**  |   No   |  No  | No  |
26458   *
26459   * @see https://developer.mozilla.org/docs/Web/CSS/border-end-start-radius
26460   */
26461  "border-end-start-radius"?: BorderEndStartRadiusProperty<TLength> | BorderEndStartRadiusProperty<TLength>[];
26462  /**
26463   * The **`border-image-outset`** CSS property sets the distance by which an element's border image is set out from its border box.
26464   *
26465   * **Syntax**: `[ <length> | <number> ]{1,4}`
26466   *
26467   * **Initial value**: `0`
26468   *
26469   * | Chrome | Firefox | Safari |  Edge  |   IE   |
26470   * | :----: | :-----: | :----: | :----: | :----: |
26471   * | **15** | **15**  | **6**  | **12** | **11** |
26472   *
26473   * @see https://developer.mozilla.org/docs/Web/CSS/border-image-outset
26474   */
26475  "border-image-outset"?: BorderImageOutsetProperty<TLength> | BorderImageOutsetProperty<TLength>[];
26476  /**
26477   * 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.
26478   *
26479   * **Syntax**: `[ stretch | repeat | round | space ]{1,2}`
26480   *
26481   * **Initial value**: `stretch`
26482   *
26483   * | Chrome | Firefox | Safari |  Edge  |   IE   |
26484   * | :----: | :-----: | :----: | :----: | :----: |
26485   * | **15** | **15**  | **6**  | **12** | **11** |
26486   *
26487   * @see https://developer.mozilla.org/docs/Web/CSS/border-image-repeat
26488   */
26489  "border-image-repeat"?: BorderImageRepeatProperty | BorderImageRepeatProperty[];
26490  /**
26491   * 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.
26492   *
26493   * **Syntax**: `<number-percentage>{1,4} && fill?`
26494   *
26495   * **Initial value**: `100%`
26496   *
26497   * | Chrome | Firefox | Safari |  Edge  |   IE   |
26498   * | :----: | :-----: | :----: | :----: | :----: |
26499   * | **15** | **15**  | **6**  | **12** | **11** |
26500   *
26501   * @see https://developer.mozilla.org/docs/Web/CSS/border-image-slice
26502   */
26503  "border-image-slice"?: BorderImageSliceProperty | BorderImageSliceProperty[];
26504  /**
26505   * The **`border-image-source`** CSS property sets the source image used to create an element's border image.
26506   *
26507   * **Syntax**: `none | <image>`
26508   *
26509   * **Initial value**: `none`
26510   *
26511   * | Chrome | Firefox | Safari |  Edge  |   IE   |
26512   * | :----: | :-----: | :----: | :----: | :----: |
26513   * | **15** | **15**  | **6**  | **12** | **11** |
26514   *
26515   * @see https://developer.mozilla.org/docs/Web/CSS/border-image-source
26516   */
26517  "border-image-source"?: BorderImageSourceProperty | BorderImageSourceProperty[];
26518  /**
26519   * The **`border-image-width`** CSS property sets the width of an element's border image.
26520   *
26521   * **Syntax**: `[ <length-percentage> | <number> | auto ]{1,4}`
26522   *
26523   * **Initial value**: `1`
26524   *
26525   * | Chrome | Firefox | Safari |  Edge  |   IE   |
26526   * | :----: | :-----: | :----: | :----: | :----: |
26527   * | **15** | **13**  | **6**  | **12** | **11** |
26528   *
26529   * @see https://developer.mozilla.org/docs/Web/CSS/border-image-width
26530   */
26531  "border-image-width"?: BorderImageWidthProperty<TLength> | BorderImageWidthProperty<TLength>[];
26532  /**
26533   * 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`.
26534   *
26535   * **Syntax**: `<'border-top-color'>{1,2}`
26536   *
26537   * **Initial value**: `currentcolor`
26538   *
26539   * | Chrome | Firefox | Safari |  Edge  | IE  |
26540   * | :----: | :-----: | :----: | :----: | :-: |
26541   * | **69** | **66**  |   No   | **79** | No  |
26542   *
26543   * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-color
26544   */
26545  "border-inline-color"?: BorderInlineColorProperty | BorderInlineColorProperty[];
26546  /**
26547   * 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`.
26548   *
26549   * **Syntax**: `<'border-top-color'>`
26550   *
26551   * **Initial value**: `currentcolor`
26552   *
26553   * | Chrome |           Firefox           |  Safari  |  Edge  | IE  |
26554   * | :----: | :-------------------------: | :------: | :----: | :-: |
26555   * | **69** |           **41**            | **12.1** | **79** | No  |
26556   * |        | 3 _(-moz-border-end-color)_ |          |        |     |
26557   *
26558   * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-end-color
26559   */
26560  "border-inline-end-color"?: BorderInlineEndColorProperty | BorderInlineEndColorProperty[];
26561  /**
26562   * 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`.
26563   *
26564   * **Syntax**: `<'border-top-style'>`
26565   *
26566   * **Initial value**: `none`
26567   *
26568   * | Chrome |           Firefox           |  Safari  |  Edge  | IE  |
26569   * | :----: | :-------------------------: | :------: | :----: | :-: |
26570   * | **69** |           **41**            | **12.1** | **79** | No  |
26571   * |        | 3 _(-moz-border-end-style)_ |          |        |     |
26572   *
26573   * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-end-style
26574   */
26575  "border-inline-end-style"?: BorderInlineEndStyleProperty | BorderInlineEndStyleProperty[];
26576  /**
26577   * 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`.
26578   *
26579   * **Syntax**: `<'border-top-width'>`
26580   *
26581   * **Initial value**: `medium`
26582   *
26583   * | Chrome |           Firefox           |  Safari  |  Edge  | IE  |
26584   * | :----: | :-------------------------: | :------: | :----: | :-: |
26585   * | **69** |           **41**            | **12.1** | **79** | No  |
26586   * |        | 3 _(-moz-border-end-width)_ |          |        |     |
26587   *
26588   * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-end-width
26589   */
26590  "border-inline-end-width"?: BorderInlineEndWidthProperty<TLength> | BorderInlineEndWidthProperty<TLength>[];
26591  /**
26592   * 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`.
26593   *
26594   * **Syntax**: `<'border-top-color'>`
26595   *
26596   * **Initial value**: `currentcolor`
26597   *
26598   * | Chrome |            Firefox            |  Safari  |  Edge  | IE  |
26599   * | :----: | :---------------------------: | :------: | :----: | :-: |
26600   * | **69** |            **41**             | **12.1** | **79** | No  |
26601   * |        | 3 _(-moz-border-start-color)_ |          |        |     |
26602   *
26603   * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-start-color
26604   */
26605  "border-inline-start-color"?: BorderInlineStartColorProperty | BorderInlineStartColorProperty[];
26606  /**
26607   * 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`.
26608   *
26609   * **Syntax**: `<'border-top-style'>`
26610   *
26611   * **Initial value**: `none`
26612   *
26613   * | Chrome |            Firefox            |  Safari  |  Edge  | IE  |
26614   * | :----: | :---------------------------: | :------: | :----: | :-: |
26615   * | **69** |            **41**             | **12.1** | **79** | No  |
26616   * |        | 3 _(-moz-border-start-style)_ |          |        |     |
26617   *
26618   * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-start-style
26619   */
26620  "border-inline-start-style"?: BorderInlineStartStyleProperty | BorderInlineStartStyleProperty[];
26621  /**
26622   * 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`.
26623   *
26624   * **Syntax**: `<'border-top-width'>`
26625   *
26626   * **Initial value**: `medium`
26627   *
26628   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
26629   * | :----: | :-----: | :------: | :----: | :-: |
26630   * | **69** | **41**  | **12.1** | **79** | No  |
26631   *
26632   * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-start-width
26633   */
26634  "border-inline-start-width"?: BorderInlineStartWidthProperty<TLength> | BorderInlineStartWidthProperty<TLength>[];
26635  /**
26636   * 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`.
26637   *
26638   * **Syntax**: `<'border-top-style'>`
26639   *
26640   * **Initial value**: `none`
26641   *
26642   * | Chrome | Firefox | Safari |  Edge  | IE  |
26643   * | :----: | :-----: | :----: | :----: | :-: |
26644   * | **69** | **66**  |   No   | **79** | No  |
26645   *
26646   * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-style
26647   */
26648  "border-inline-style"?: BorderInlineStyleProperty | BorderInlineStyleProperty[];
26649  /**
26650   * 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`.
26651   *
26652   * **Syntax**: `<'border-top-width'>`
26653   *
26654   * **Initial value**: `medium`
26655   *
26656   * | Chrome | Firefox | Safari |  Edge  | IE  |
26657   * | :----: | :-----: | :----: | :----: | :-: |
26658   * | **69** | **66**  |   No   | **79** | No  |
26659   *
26660   * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-width
26661   */
26662  "border-inline-width"?: BorderInlineWidthProperty<TLength> | BorderInlineWidthProperty<TLength>[];
26663  /**
26664   * 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`.
26665   *
26666   * **Syntax**: `<color>`
26667   *
26668   * **Initial value**: `currentcolor`
26669   *
26670   * | Chrome | Firefox | Safari |  Edge  |  IE   |
26671   * | :----: | :-----: | :----: | :----: | :---: |
26672   * | **1**  |  **1**  | **1**  | **12** | **4** |
26673   *
26674   * @see https://developer.mozilla.org/docs/Web/CSS/border-left-color
26675   */
26676  "border-left-color"?: BorderLeftColorProperty | BorderLeftColorProperty[];
26677  /**
26678   * The **`border-left-style`** CSS property sets the line style of an element's left `border`.
26679   *
26680   * **Syntax**: `<line-style>`
26681   *
26682   * **Initial value**: `none`
26683   *
26684   * | Chrome | Firefox | Safari |  Edge  |   IE    |
26685   * | :----: | :-----: | :----: | :----: | :-----: |
26686   * | **1**  |  **1**  | **1**  | **12** | **5.5** |
26687   *
26688   * @see https://developer.mozilla.org/docs/Web/CSS/border-left-style
26689   */
26690  "border-left-style"?: BorderLeftStyleProperty | BorderLeftStyleProperty[];
26691  /**
26692   * The **`border-left-width`** CSS property sets the width of the left border of an element.
26693   *
26694   * **Syntax**: `<line-width>`
26695   *
26696   * **Initial value**: `medium`
26697   *
26698   * | Chrome | Firefox | Safari |  Edge  |  IE   |
26699   * | :----: | :-----: | :----: | :----: | :---: |
26700   * | **1**  |  **1**  | **1**  | **12** | **4** |
26701   *
26702   * @see https://developer.mozilla.org/docs/Web/CSS/border-left-width
26703   */
26704  "border-left-width"?: BorderLeftWidthProperty<TLength> | BorderLeftWidthProperty<TLength>[];
26705  /**
26706   * 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`.
26707   *
26708   * **Syntax**: `<color>`
26709   *
26710   * **Initial value**: `currentcolor`
26711   *
26712   * | Chrome | Firefox | Safari |  Edge  |  IE   |
26713   * | :----: | :-----: | :----: | :----: | :---: |
26714   * | **1**  |  **1**  | **1**  | **12** | **4** |
26715   *
26716   * @see https://developer.mozilla.org/docs/Web/CSS/border-right-color
26717   */
26718  "border-right-color"?: BorderRightColorProperty | BorderRightColorProperty[];
26719  /**
26720   * The **`border-right-style`** CSS property sets the line style of an element's right `border`.
26721   *
26722   * **Syntax**: `<line-style>`
26723   *
26724   * **Initial value**: `none`
26725   *
26726   * | Chrome | Firefox | Safari |  Edge  |   IE    |
26727   * | :----: | :-----: | :----: | :----: | :-----: |
26728   * | **1**  |  **1**  | **1**  | **12** | **5.5** |
26729   *
26730   * @see https://developer.mozilla.org/docs/Web/CSS/border-right-style
26731   */
26732  "border-right-style"?: BorderRightStyleProperty | BorderRightStyleProperty[];
26733  /**
26734   * The **`border-right-width`** CSS property sets the width of the right border of an element.
26735   *
26736   * **Syntax**: `<line-width>`
26737   *
26738   * **Initial value**: `medium`
26739   *
26740   * | Chrome | Firefox | Safari |  Edge  |  IE   |
26741   * | :----: | :-----: | :----: | :----: | :---: |
26742   * | **1**  |  **1**  | **1**  | **12** | **4** |
26743   *
26744   * @see https://developer.mozilla.org/docs/Web/CSS/border-right-width
26745   */
26746  "border-right-width"?: BorderRightWidthProperty<TLength> | BorderRightWidthProperty<TLength>[];
26747  /**
26748   * The **`border-spacing`** CSS property sets the distance between the borders of adjacent `<table>` cells. This property applies only when `border-collapse` is `separate`.
26749   *
26750   * **Syntax**: `<length> <length>?`
26751   *
26752   * **Initial value**: `0`
26753   *
26754   * | Chrome | Firefox | Safari |  Edge  |  IE   |
26755   * | :----: | :-----: | :----: | :----: | :---: |
26756   * | **1**  |  **1**  | **1**  | **12** | **8** |
26757   *
26758   * @see https://developer.mozilla.org/docs/Web/CSS/border-spacing
26759   */
26760  "border-spacing"?: BorderSpacingProperty<TLength> | BorderSpacingProperty<TLength>[];
26761  /**
26762   * 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`.
26763   *
26764   * **Syntax**: `<length-percentage>{1,2}`
26765   *
26766   * **Initial value**: `0`
26767   *
26768   * | Chrome | Firefox | Safari | Edge | IE  |
26769   * | :----: | :-----: | :----: | :--: | :-: |
26770   * |   No   | **66**  |   No   |  No  | No  |
26771   *
26772   * @see https://developer.mozilla.org/docs/Web/CSS/border-start-end-radius
26773   */
26774  "border-start-end-radius"?: BorderStartEndRadiusProperty<TLength> | BorderStartEndRadiusProperty<TLength>[];
26775  /**
26776   * 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`.
26777   *
26778   * **Syntax**: `<length-percentage>{1,2}`
26779   *
26780   * **Initial value**: `0`
26781   *
26782   * | Chrome | Firefox | Safari | Edge | IE  |
26783   * | :----: | :-----: | :----: | :--: | :-: |
26784   * |   No   | **66**  |   No   |  No  | No  |
26785   *
26786   * @see https://developer.mozilla.org/docs/Web/CSS/border-start-start-radius
26787   */
26788  "border-start-start-radius"?: BorderStartStartRadiusProperty<TLength> | BorderStartStartRadiusProperty<TLength>[];
26789  /**
26790   * 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`.
26791   *
26792   * **Syntax**: `<color>`
26793   *
26794   * **Initial value**: `currentcolor`
26795   *
26796   * | Chrome | Firefox | Safari |  Edge  |  IE   |
26797   * | :----: | :-----: | :----: | :----: | :---: |
26798   * | **1**  |  **1**  | **1**  | **12** | **4** |
26799   *
26800   * @see https://developer.mozilla.org/docs/Web/CSS/border-top-color
26801   */
26802  "border-top-color"?: BorderTopColorProperty | BorderTopColorProperty[];
26803  /**
26804   * The **`border-top-left-radius`** CSS property rounds the top-left corner of an element.
26805   *
26806   * **Syntax**: `<length-percentage>{1,2}`
26807   *
26808   * **Initial value**: `0`
26809   *
26810   * | Chrome  | Firefox | Safari  |  Edge  |  IE   |
26811   * | :-----: | :-----: | :-----: | :----: | :---: |
26812   * |  **4**  |  **4**  |  **5**  | **12** | **9** |
26813   * | 1 _-x-_ |         | 3 _-x-_ |        |       |
26814   *
26815   * @see https://developer.mozilla.org/docs/Web/CSS/border-top-left-radius
26816   */
26817  "border-top-left-radius"?: BorderTopLeftRadiusProperty<TLength> | BorderTopLeftRadiusProperty<TLength>[];
26818  /**
26819   * The **`border-top-right-radius`** CSS property rounds the top-right corner of an element.
26820   *
26821   * **Syntax**: `<length-percentage>{1,2}`
26822   *
26823   * **Initial value**: `0`
26824   *
26825   * | Chrome  | Firefox | Safari  |  Edge  |  IE   |
26826   * | :-----: | :-----: | :-----: | :----: | :---: |
26827   * |  **4**  |  **4**  |  **5**  | **12** | **9** |
26828   * | 1 _-x-_ |         | 3 _-x-_ |        |       |
26829   *
26830   * @see https://developer.mozilla.org/docs/Web/CSS/border-top-right-radius
26831   */
26832  "border-top-right-radius"?: BorderTopRightRadiusProperty<TLength> | BorderTopRightRadiusProperty<TLength>[];
26833  /**
26834   * The **`border-top-style`** CSS property sets the line style of an element's top `border`.
26835   *
26836   * **Syntax**: `<line-style>`
26837   *
26838   * **Initial value**: `none`
26839   *
26840   * | Chrome | Firefox | Safari |  Edge  |   IE    |
26841   * | :----: | :-----: | :----: | :----: | :-----: |
26842   * | **1**  |  **1**  | **1**  | **12** | **5.5** |
26843   *
26844   * @see https://developer.mozilla.org/docs/Web/CSS/border-top-style
26845   */
26846  "border-top-style"?: BorderTopStyleProperty | BorderTopStyleProperty[];
26847  /**
26848   * The **`border-top-width`** CSS property sets the width of the top border of an element.
26849   *
26850   * **Syntax**: `<line-width>`
26851   *
26852   * **Initial value**: `medium`
26853   *
26854   * | Chrome | Firefox | Safari |  Edge  |  IE   |
26855   * | :----: | :-----: | :----: | :----: | :---: |
26856   * | **1**  |  **1**  | **1**  | **12** | **4** |
26857   *
26858   * @see https://developer.mozilla.org/docs/Web/CSS/border-top-width
26859   */
26860  "border-top-width"?: BorderTopWidthProperty<TLength> | BorderTopWidthProperty<TLength>[];
26861  /**
26862   * The **`bottom`** CSS property participates in specifying the vertical position of a _positioned element_. It has no effect on non-positioned elements.
26863   *
26864   * **Syntax**: `<length> | <percentage> | auto`
26865   *
26866   * **Initial value**: `auto`
26867   *
26868   * | Chrome | Firefox | Safari |  Edge  |  IE   |
26869   * | :----: | :-----: | :----: | :----: | :---: |
26870   * | **1**  |  **1**  | **1**  | **12** | **5** |
26871   *
26872   * @see https://developer.mozilla.org/docs/Web/CSS/bottom
26873   */
26874  bottom?: BottomProperty<TLength> | BottomProperty<TLength>[];
26875  /**
26876   * The **`box-decoration-break`** CSS property specifies how an element's fragments should be rendered when broken across multiple lines, columns, or pages.
26877   *
26878   * **Syntax**: `slice | clone`
26879   *
26880   * **Initial value**: `slice`
26881   *
26882   * |    Chrome    | Firefox |    Safari     |     Edge     | IE  |
26883   * | :----------: | :-----: | :-----------: | :----------: | :-: |
26884   * | **22** _-x-_ | **32**  | **6.1** _-x-_ | **79** _-x-_ | No  |
26885   *
26886   * @see https://developer.mozilla.org/docs/Web/CSS/box-decoration-break
26887   */
26888  "box-decoration-break"?: BoxDecorationBreakProperty | BoxDecorationBreakProperty[];
26889  /**
26890   * 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 radii, and color.
26891   *
26892   * **Syntax**: `none | <shadow>#`
26893   *
26894   * **Initial value**: `none`
26895   *
26896   * | Chrome  | Firefox | Safari  |  Edge  |  IE   |
26897   * | :-----: | :-----: | :-----: | :----: | :---: |
26898   * | **10**  |  **4**  | **5.1** | **12** | **9** |
26899   * | 1 _-x-_ |         | 3 _-x-_ |        |       |
26900   *
26901   * @see https://developer.mozilla.org/docs/Web/CSS/box-shadow
26902   */
26903  "box-shadow"?: BoxShadowProperty | BoxShadowProperty[];
26904  /**
26905   * The **`box-sizing`** CSS property defines how the user agent should calculate the total width and height of an element.
26906   *
26907   * **Syntax**: `content-box | border-box`
26908   *
26909   * **Initial value**: `content-box`
26910   *
26911   * | Chrome  | Firefox | Safari  |  Edge  |  IE   |
26912   * | :-----: | :-----: | :-----: | :----: | :---: |
26913   * | **10**  | **29**  | **5.1** | **12** | **8** |
26914   * | 1 _-x-_ | 1 _-x-_ | 3 _-x-_ |        |       |
26915   *
26916   * @see https://developer.mozilla.org/docs/Web/CSS/box-sizing
26917   */
26918  "box-sizing"?: BoxSizingProperty | BoxSizingProperty[];
26919  /**
26920   * The **`break-after`** CSS property defines how page, column, or region breaks should behave after a generated box. If there is no generated box, the property is ignored.
26921   *
26922   * **Syntax**: `auto | avoid | always | all | avoid-page | page | left | right | recto | verso | avoid-column | column | avoid-region | region`
26923   *
26924   * **Initial value**: `auto`
26925   *
26926   * ---
26927   *
26928   * _Supported in Multi-column Layout_
26929   *
26930   * | Chrome | Firefox | Safari |  Edge  |   IE   |
26931   * | :----: | :-----: | :----: | :----: | :----: |
26932   * | **50** |   No    |   No   | **12** | **10** |
26933   *
26934   * ---
26935   *
26936   * _Supported in Paged Media_
26937   *
26938   * | Chrome | Firefox | Safari |  Edge  |   IE   |
26939   * | :----: | :-----: | :----: | :----: | :----: |
26940   * | **50** | **65**  | **10** | **12** | **10** |
26941   *
26942   * ---
26943   *
26944   * _Supported in CSS Regions_
26945   *
26946   * | Chrome | Firefox | Safari | Edge | IE  |
26947   * | :----: | :-----: | :----: | :--: | :-: |
26948   * |   No   |   No    |   No   |  No  | No  |
26949   *
26950   * ---
26951   *
26952   * @see https://developer.mozilla.org/docs/Web/CSS/break-after
26953   */
26954  "break-after"?: BreakAfterProperty | BreakAfterProperty[];
26955  /**
26956   * 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.
26957   *
26958   * **Syntax**: `auto | avoid | always | all | avoid-page | page | left | right | recto | verso | avoid-column | column | avoid-region | region`
26959   *
26960   * **Initial value**: `auto`
26961   *
26962   * ---
26963   *
26964   * _Supported in Multi-column Layout_
26965   *
26966   * | Chrome | Firefox | Safari |  Edge  |   IE   |
26967   * | :----: | :-----: | :----: | :----: | :----: |
26968   * | **50** | **65**  |   No   | **12** | **10** |
26969   *
26970   * ---
26971   *
26972   * _Supported in Paged Media_
26973   *
26974   * | Chrome | Firefox | Safari |  Edge  |   IE   |
26975   * | :----: | :-----: | :----: | :----: | :----: |
26976   * | **50** | **65**  | **10** | **12** | **10** |
26977   *
26978   * ---
26979   *
26980   * _Supported in CSS Regions_
26981   *
26982   * | Chrome | Firefox | Safari | Edge | IE  |
26983   * | :----: | :-----: | :----: | :--: | :-: |
26984   * |   No   |   No    |   No   |  No  | No  |
26985   *
26986   * ---
26987   *
26988   * @see https://developer.mozilla.org/docs/Web/CSS/break-before
26989   */
26990  "break-before"?: BreakBeforeProperty | BreakBeforeProperty[];
26991  /**
26992   * The **`break-inside`** CSS property defines how page, column, or region breaks should behave inside a generated box. If there is no generated box, the property is ignored.
26993   *
26994   * **Syntax**: `auto | avoid | avoid-page | avoid-column | avoid-region`
26995   *
26996   * **Initial value**: `auto`
26997   *
26998   * ---
26999   *
27000   * _Supported in Multi-column Layout_
27001   *
27002   * | Chrome | Firefox | Safari |  Edge  |   IE   |
27003   * | :----: | :-----: | :----: | :----: | :----: |
27004   * | **50** | **65**  | **10** | **12** | **10** |
27005   *
27006   * ---
27007   *
27008   * _Supported in Paged Media_
27009   *
27010   * | Chrome | Firefox | Safari |  Edge  |   IE   |
27011   * | :----: | :-----: | :----: | :----: | :----: |
27012   * | **50** | **65**  | **10** | **12** | **10** |
27013   *
27014   * ---
27015   *
27016   * _Supported in CSS Regions_
27017   *
27018   * | Chrome | Firefox | Safari | Edge | IE  |
27019   * | :----: | :-----: | :----: | :--: | :-: |
27020   * |   No   |   No    |   No   |  No  | No  |
27021   *
27022   * ---
27023   *
27024   * @see https://developer.mozilla.org/docs/Web/CSS/break-inside
27025   */
27026  "break-inside"?: BreakInsideProperty | BreakInsideProperty[];
27027  /**
27028   * 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.
27029   *
27030   * **Syntax**: `top | bottom | block-start | block-end | inline-start | inline-end`
27031   *
27032   * **Initial value**: `top`
27033   *
27034   * | Chrome | Firefox | Safari |  Edge  |  IE   |
27035   * | :----: | :-----: | :----: | :----: | :---: |
27036   * | **1**  |  **1**  | **1**  | **12** | **8** |
27037   *
27038   * @see https://developer.mozilla.org/docs/Web/CSS/caption-side
27039   */
27040  "caption-side"?: CaptionSideProperty | CaptionSideProperty[];
27041  /**
27042   * The **`caret-color`** CSS property sets the color of the insertion caret, the visible marker where the next character typed will be inserted. 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.
27043   *
27044   * **Syntax**: `auto | <color>`
27045   *
27046   * **Initial value**: `auto`
27047   *
27048   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
27049   * | :----: | :-----: | :------: | :----: | :-: |
27050   * | **57** | **53**  | **11.1** | **79** | No  |
27051   *
27052   * @see https://developer.mozilla.org/docs/Web/CSS/caret-color
27053   */
27054  "caret-color"?: CaretColorProperty | CaretColorProperty[];
27055  /**
27056   * 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.
27057   *
27058   * **Syntax**: `none | left | right | both | inline-start | inline-end`
27059   *
27060   * **Initial value**: `none`
27061   *
27062   * | Chrome | Firefox | Safari |  Edge  |  IE   |
27063   * | :----: | :-----: | :----: | :----: | :---: |
27064   * | **1**  |  **1**  | **1**  | **12** | **4** |
27065   *
27066   * @see https://developer.mozilla.org/docs/Web/CSS/clear
27067   */
27068  clear?: ClearProperty | ClearProperty[];
27069  /**
27070   * 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.
27071   *
27072   * **Syntax**: `<clip-source> | [ <basic-shape> || <geometry-box> ] | none`
27073   *
27074   * **Initial value**: `none`
27075   *
27076   * |  Chrome  | Firefox |  Safari   |  Edge  |   IE   |
27077   * | :------: | :-----: | :-------: | :----: | :----: |
27078   * |  **55**  | **3.5** |  **9.1**  | **12** | **10** |
27079   * | 23 _-x-_ |         | 6.1 _-x-_ |        |        |
27080   *
27081   * @see https://developer.mozilla.org/docs/Web/CSS/clip-path
27082   */
27083  "clip-path"?: ClipPathProperty | ClipPathProperty[];
27084  /**
27085   * 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`.
27086   *
27087   * **Syntax**: `<color>`
27088   *
27089   * **Initial value**: Varies from one browser to another
27090   *
27091   * | Chrome | Firefox | Safari |  Edge  |  IE   |
27092   * | :----: | :-----: | :----: | :----: | :---: |
27093   * | **1**  |  **1**  | **1**  | **12** | **3** |
27094   *
27095   * @see https://developer.mozilla.org/docs/Web/CSS/color
27096   */
27097  color?: ColorProperty | ColorProperty[];
27098  /**
27099   * 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.
27100   *
27101   * **Syntax**: `economy | exact`
27102   *
27103   * **Initial value**: `economy`
27104   *
27105   * |                Chrome                 | Firefox |                Safari                |                 Edge                  | IE  |
27106   * | :-----------------------------------: | :-----: | :----------------------------------: | :-----------------------------------: | :-: |
27107   * | **49** _(-webkit-print-color-adjust)_ | **48**  | **6** _(-webkit-print-color-adjust)_ | **79** _(-webkit-print-color-adjust)_ | No  |
27108   *
27109   * @see https://developer.mozilla.org/docs/Web/CSS/color-adjust
27110   */
27111  "color-adjust"?: ColorAdjustProperty | ColorAdjustProperty[];
27112  /**
27113   * The **`column-count`** CSS property breaks an element's content into the specified number of columns.
27114   *
27115   * **Syntax**: `<integer> | auto`
27116   *
27117   * **Initial value**: `auto`
27118   *
27119   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
27120   * | :-----: | :-----: | :-----: | :----: | :----: |
27121   * | **50**  | **52**  |  **9**  | **12** | **10** |
27122   * | 1 _-x-_ |         | 3 _-x-_ |        |        |
27123   *
27124   * @see https://developer.mozilla.org/docs/Web/CSS/column-count
27125   */
27126  "column-count"?: ColumnCountProperty | ColumnCountProperty[];
27127  /**
27128   * The **`column-fill`** CSS property controls how an element's contents are balanced when broken into columns.
27129   *
27130   * **Syntax**: `auto | balance | balance-all`
27131   *
27132   * **Initial value**: `balance`
27133   *
27134   * | Chrome | Firefox | Safari  |  Edge  |   IE   |
27135   * | :----: | :-----: | :-----: | :----: | :----: |
27136   * | **50** | **52**  |  **9**  | **12** | **10** |
27137   * |        |         | 8 _-x-_ |        |        |
27138   *
27139   * @see https://developer.mozilla.org/docs/Web/CSS/column-fill
27140   */
27141  "column-fill"?: ColumnFillProperty | ColumnFillProperty[];
27142  /**
27143   * The **`column-gap`** CSS property sets the size of the gap (gutter) between an element's columns.
27144   *
27145   * **Syntax**: `normal | <length-percentage>`
27146   *
27147   * **Initial value**: `normal`
27148   *
27149   * ---
27150   *
27151   * _Supported in Flex Layout_
27152   *
27153   * | Chrome | Firefox |   Safari    | Edge | IE  |
27154   * | :----: | :-----: | :---------: | :--: | :-: |
27155   * |   No   | **63**  | **3** _-x-_ |  No  | No  |
27156   *
27157   * ---
27158   *
27159   * _Supported in Grid Layout_
27160   *
27161   * |     Chrome      |     Firefox     |        Safari         |  Edge  | IE  |
27162   * | :-------------: | :-------------: | :-------------------: | :----: | :-: |
27163   * |     **66**      |     **61**      | **10.1** _(grid-gap)_ | **16** | No  |
27164   * | 57 _(grid-gap)_ | 52 _(grid-gap)_ |                       |        |     |
27165   *
27166   * ---
27167   *
27168   * _Supported in Multi-column Layout_
27169   *
27170   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
27171   * | :-----: | :-----: | :-----: | :----: | :----: |
27172   * | **50**  | **52**  | **10**  | **12** | **10** |
27173   * | 1 _-x-_ |         | 3 _-x-_ |        |        |
27174   *
27175   * ---
27176   *
27177   * @see https://developer.mozilla.org/docs/Web/CSS/column-gap
27178   */
27179  "column-gap"?: ColumnGapProperty<TLength> | ColumnGapProperty<TLength>[];
27180  /**
27181   * The **`column-rule-color`** CSS property sets the color of the rule (line) drawn between columns in a multi-column layout.
27182   *
27183   * **Syntax**: `<color>`
27184   *
27185   * **Initial value**: `currentcolor`
27186   *
27187   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
27188   * | :-----: | :-----: | :-----: | :----: | :----: |
27189   * | **50**  | **52**  |  **9**  | **12** | **10** |
27190   * | 1 _-x-_ |         | 3 _-x-_ |        |        |
27191   *
27192   * @see https://developer.mozilla.org/docs/Web/CSS/column-rule-color
27193   */
27194  "column-rule-color"?: ColumnRuleColorProperty | ColumnRuleColorProperty[];
27195  /**
27196   * The **`column-rule-style`** CSS property sets the style of the line drawn between columns in a multi-column layout.
27197   *
27198   * **Syntax**: `<'border-style'>`
27199   *
27200   * **Initial value**: `none`
27201   *
27202   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
27203   * | :-----: | :-----: | :-----: | :----: | :----: |
27204   * | **50**  | **52**  |  **9**  | **12** | **10** |
27205   * | 1 _-x-_ |         | 3 _-x-_ |        |        |
27206   *
27207   * @see https://developer.mozilla.org/docs/Web/CSS/column-rule-style
27208   */
27209  "column-rule-style"?: ColumnRuleStyleProperty | ColumnRuleStyleProperty[];
27210  /**
27211   * The **`column-rule-width`** CSS property sets the width of the rule (line) drawn between columns in a multi-column layout.
27212   *
27213   * **Syntax**: `<'border-width'>`
27214   *
27215   * **Initial value**: `medium`
27216   *
27217   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
27218   * | :-----: | :-----: | :-----: | :----: | :----: |
27219   * | **50**  | **52**  |  **9**  | **12** | **10** |
27220   * | 1 _-x-_ |         | 3 _-x-_ |        |        |
27221   *
27222   * @see https://developer.mozilla.org/docs/Web/CSS/column-rule-width
27223   */
27224  "column-rule-width"?: ColumnRuleWidthProperty<TLength> | ColumnRuleWidthProperty<TLength>[];
27225  /**
27226   * The **`column-span`** CSS property makes it possible for an element to span across all columns when its value is set to `all`.
27227   *
27228   * **Syntax**: `none | all`
27229   *
27230   * **Initial value**: `none`
27231   *
27232   * | Chrome  | Firefox |  Safari   |  Edge  |   IE   |
27233   * | :-----: | :-----: | :-------: | :----: | :----: |
27234   * | **50**  | **71**  |   **9**   | **12** | **10** |
27235   * | 6 _-x-_ |         | 5.1 _-x-_ |        |        |
27236   *
27237   * @see https://developer.mozilla.org/docs/Web/CSS/column-span
27238   */
27239  "column-span"?: ColumnSpanProperty | ColumnSpanProperty[];
27240  /**
27241   * The **`column-width`** CSS property specifies 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.
27242   *
27243   * **Syntax**: `<length> | auto`
27244   *
27245   * **Initial value**: `auto`
27246   *
27247   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
27248   * | :-----: | :-----: | :-----: | :----: | :----: |
27249   * | **50**  | **50**  |  **9**  | **12** | **10** |
27250   * | 1 _-x-_ |         | 3 _-x-_ |        |        |
27251   *
27252   * @see https://developer.mozilla.org/docs/Web/CSS/column-width
27253   */
27254  "column-width"?: ColumnWidthProperty<TLength> | ColumnWidthProperty<TLength>[];
27255  /**
27256   * 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.
27257   *
27258   * **Syntax**: `none | strict | content | [ size || layout || style || paint ]`
27259   *
27260   * **Initial value**: `none`
27261   *
27262   * | Chrome | Firefox | Safari |  Edge  | IE  |
27263   * | :----: | :-----: | :----: | :----: | :-: |
27264   * | **52** | **69**  |   No   | **79** | No  |
27265   *
27266   * @see https://developer.mozilla.org/docs/Web/CSS/contain
27267   */
27268  contain?: ContainProperty | ContainProperty[];
27269  /**
27270   * The **`content`** CSS property replaces an element with a generated value. Objects inserted using the `content` property are _anonymous replaced elements._
27271   *
27272   * **Syntax**: `normal | none | [ <content-replacement> | <content-list> ] [/ <string> ]?`
27273   *
27274   * **Initial value**: `normal`
27275   *
27276   * | Chrome | Firefox | Safari |  Edge  |  IE   |
27277   * | :----: | :-----: | :----: | :----: | :---: |
27278   * | **1**  |  **1**  | **1**  | **12** | **8** |
27279   *
27280   * @see https://developer.mozilla.org/docs/Web/CSS/content
27281   */
27282  content?: ContentProperty | ContentProperty[];
27283  /**
27284   * The **`counter-increment`** CSS property increases or decreases the value of a CSS counter by a given value.
27285   *
27286   * **Syntax**: `[ <custom-ident> <integer>? ]+ | none`
27287   *
27288   * **Initial value**: `none`
27289   *
27290   * | Chrome | Firefox | Safari |  Edge  |  IE   |
27291   * | :----: | :-----: | :----: | :----: | :---: |
27292   * | **2**  |  **1**  | **3**  | **12** | **8** |
27293   *
27294   * @see https://developer.mozilla.org/docs/Web/CSS/counter-increment
27295   */
27296  "counter-increment"?: CounterIncrementProperty | CounterIncrementProperty[];
27297  /**
27298   * The **`counter-reset`** CSS property resets a CSS counter to a given value.
27299   *
27300   * **Syntax**: `[ <custom-ident> <integer>? ]+ | none`
27301   *
27302   * **Initial value**: `none`
27303   *
27304   * | Chrome | Firefox | Safari |  Edge  |  IE   |
27305   * | :----: | :-----: | :----: | :----: | :---: |
27306   * | **2**  |  **1**  | **3**  | **12** | **8** |
27307   *
27308   * @see https://developer.mozilla.org/docs/Web/CSS/counter-reset
27309   */
27310  "counter-reset"?: CounterResetProperty | CounterResetProperty[];
27311  /**
27312   * 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.
27313   *
27314   * **Syntax**: `[ <custom-ident> <integer>? ]+ | none`
27315   *
27316   * **Initial value**: `none`
27317   *
27318   * | Chrome | Firefox | Safari | Edge | IE  |
27319   * | :----: | :-----: | :----: | :--: | :-: |
27320   * |   No   | **68**  |   No   |  No  | No  |
27321   *
27322   * @see https://developer.mozilla.org/docs/Web/CSS/counter-set
27323   */
27324  "counter-set"?: CounterSetProperty | CounterSetProperty[];
27325  /**
27326   * The **`cursor`** CSS property sets mouse cursor to display when the mouse pointer is over an element.
27327   *
27328   * **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 ] ]`
27329   *
27330   * **Initial value**: `auto`
27331   *
27332   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
27333   * | :----: | :-----: | :-----: | :----: | :---: |
27334   * | **1**  |  **1**  | **1.2** | **12** | **4** |
27335   *
27336   * @see https://developer.mozilla.org/docs/Web/CSS/cursor
27337   */
27338  cursor?: CursorProperty | CursorProperty[];
27339  /**
27340   * 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).
27341   *
27342   * **Syntax**: `ltr | rtl`
27343   *
27344   * **Initial value**: `ltr`
27345   *
27346   * | Chrome | Firefox | Safari |  Edge  |   IE    |
27347   * | :----: | :-----: | :----: | :----: | :-----: |
27348   * | **2**  |  **1**  | **1**  | **12** | **5.5** |
27349   *
27350   * @see https://developer.mozilla.org/docs/Web/CSS/direction
27351   */
27352  direction?: DirectionProperty | DirectionProperty[];
27353  /**
27354   * The **`display`** CSS property defines the _display type_ of an element, which consists of the two basic qualities of how an element generates boxes — the **outer display type** defining how the box participates in flow layout, and the **inner display type** defining how the children of the box are laid out.
27355   *
27356   * **Syntax**: `[ <display-outside> || <display-inside> ] | <display-listitem> | <display-internal> | <display-box> | <display-legacy>`
27357   *
27358   * **Initial value**: `inline`
27359   *
27360   * | Chrome | Firefox | Safari |  Edge  |  IE   |
27361   * | :----: | :-----: | :----: | :----: | :---: |
27362   * | **1**  |  **1**  | **1**  | **12** | **4** |
27363   *
27364   * @see https://developer.mozilla.org/docs/Web/CSS/display
27365   */
27366  display?: DisplayProperty | DisplayProperty[];
27367  /**
27368   * The **`empty-cells`** CSS property sets whether borders and backgrounds appear around `<table>` cells that have no visible content.
27369   *
27370   * **Syntax**: `show | hide`
27371   *
27372   * **Initial value**: `show`
27373   *
27374   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
27375   * | :----: | :-----: | :-----: | :----: | :---: |
27376   * | **1**  |  **1**  | **1.2** | **12** | **8** |
27377   *
27378   * @see https://developer.mozilla.org/docs/Web/CSS/empty-cells
27379   */
27380  "empty-cells"?: EmptyCellsProperty | EmptyCellsProperty[];
27381  /**
27382   * 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.
27383   *
27384   * **Syntax**: `none | <filter-function-list>`
27385   *
27386   * **Initial value**: `none`
27387   *
27388   * |  Chrome  | Firefox | Safari  |  Edge  | IE  |
27389   * | :------: | :-----: | :-----: | :----: | :-: |
27390   * |  **53**  | **35**  | **9.1** | **12** | No  |
27391   * | 18 _-x-_ |         | 6 _-x-_ |        |     |
27392   *
27393   * @see https://developer.mozilla.org/docs/Web/CSS/filter
27394   */
27395  filter?: FilterProperty | FilterProperty[];
27396  /**
27397   * 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`.
27398   *
27399   * **Syntax**: `content | <'width'>`
27400   *
27401   * **Initial value**: `auto`
27402   *
27403   * |  Chrome  | Firefox | Safari  |  Edge  |   IE   |
27404   * | :------: | :-----: | :-----: | :----: | :----: |
27405   * |  **29**  | **22**  |  **9**  | **12** | **11** |
27406   * | 22 _-x-_ |         | 7 _-x-_ |        |        |
27407   *
27408   * @see https://developer.mozilla.org/docs/Web/CSS/flex-basis
27409   */
27410  "flex-basis"?: FlexBasisProperty<TLength> | FlexBasisProperty<TLength>[];
27411  /**
27412   * 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).
27413   *
27414   * **Syntax**: `row | row-reverse | column | column-reverse`
27415   *
27416   * **Initial value**: `row`
27417   *
27418   * |  Chrome  | Firefox | Safari  |  Edge  |    IE    |
27419   * | :------: | :-----: | :-----: | :----: | :------: |
27420   * |  **29**  | **20**  |  **9**  | **12** |  **11**  |
27421   * | 21 _-x-_ |         | 7 _-x-_ |        | 10 _-x-_ |
27422   *
27423   * @see https://developer.mozilla.org/docs/Web/CSS/flex-direction
27424   */
27425  "flex-direction"?: FlexDirectionProperty | FlexDirectionProperty[];
27426  /**
27427   * The **`flex-grow`** CSS property sets how much of the available space in the flex container should be assigned to that item (the flex grow factor). If all sibling items have the same flex grow factor, then all items will receive the same share of available space, otherwise it is distributed according to the ratio defined by the different flex grow factors.
27428   *
27429   * **Syntax**: `<number>`
27430   *
27431   * **Initial value**: `0`
27432   *
27433   * |  Chrome  | Firefox |  Safari   |  Edge  |            IE            |
27434   * | :------: | :-----: | :-------: | :----: | :----------------------: |
27435   * |  **29**  | **20**  |   **9**   | **12** |          **11**          |
27436   * | 22 _-x-_ |         | 6.1 _-x-_ |        | 10 _(-ms-flex-positive)_ |
27437   *
27438   * @see https://developer.mozilla.org/docs/Web/CSS/flex-grow
27439   */
27440  "flex-grow"?: GlobalsNumber | GlobalsNumber[];
27441  /**
27442   * The **`flex-shrink`** CSS property sets the flex shrink factor of a flex item. If the size of flex items is larger than the flex container, items shrink to fit according to `flex-shrink`.
27443   *
27444   * **Syntax**: `<number>`
27445   *
27446   * **Initial value**: `1`
27447   *
27448   * |  Chrome  | Firefox | Safari  |  Edge  |   IE   |
27449   * | :------: | :-----: | :-----: | :----: | :----: |
27450   * |  **29**  | **20**  |  **9**  | **12** | **10** |
27451   * | 22 _-x-_ |         | 8 _-x-_ |        |        |
27452   *
27453   * @see https://developer.mozilla.org/docs/Web/CSS/flex-shrink
27454   */
27455  "flex-shrink"?: GlobalsNumber | GlobalsNumber[];
27456  /**
27457   * 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.
27458   *
27459   * **Syntax**: `nowrap | wrap | wrap-reverse`
27460   *
27461   * **Initial value**: `nowrap`
27462   *
27463   * |  Chrome  | Firefox |  Safari   |  Edge  |   IE   |
27464   * | :------: | :-----: | :-------: | :----: | :----: |
27465   * |  **29**  | **28**  |   **9**   | **12** | **11** |
27466   * | 21 _-x-_ |         | 6.1 _-x-_ |        |        |
27467   *
27468   * @see https://developer.mozilla.org/docs/Web/CSS/flex-wrap
27469   */
27470  "flex-wrap"?: FlexWrapProperty | FlexWrapProperty[];
27471  /**
27472   * 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).
27473   *
27474   * **Syntax**: `left | right | none | inline-start | inline-end`
27475   *
27476   * **Initial value**: `none`
27477   *
27478   * | Chrome | Firefox | Safari |  Edge  |  IE   |
27479   * | :----: | :-----: | :----: | :----: | :---: |
27480   * | **1**  |  **1**  | **1**  | **12** | **4** |
27481   *
27482   * @see https://developer.mozilla.org/docs/Web/CSS/float
27483   */
27484  float?: FloatProperty | FloatProperty[];
27485  /**
27486   * 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.
27487   *
27488   * **Syntax**: `[ <family-name> | <generic-family> ]#`
27489   *
27490   * **Initial value**: depends on user agent
27491   *
27492   * | Chrome | Firefox | Safari |  Edge  |  IE   |
27493   * | :----: | :-----: | :----: | :----: | :---: |
27494   * | **1**  |  **1**  | **1**  | **12** | **3** |
27495   *
27496   * @see https://developer.mozilla.org/docs/Web/CSS/font-family
27497   */
27498  "font-family"?: FontFamilyProperty | FontFamilyProperty[];
27499  /**
27500   * The **`font-feature-settings`** CSS property controls advanced typographic features in OpenType fonts.
27501   *
27502   * **Syntax**: `normal | <feature-tag-value>#`
27503   *
27504   * **Initial value**: `normal`
27505   *
27506   * |  Chrome  | Firefox  | Safari  |  Edge  |   IE   |
27507   * | :------: | :------: | :-----: | :----: | :----: |
27508   * |  **48**  |  **34**  | **9.1** | **15** | **10** |
27509   * | 16 _-x-_ | 15 _-x-_ |         |        |        |
27510   *
27511   * @see https://developer.mozilla.org/docs/Web/CSS/font-feature-settings
27512   */
27513  "font-feature-settings"?: FontFeatureSettingsProperty | FontFeatureSettingsProperty[];
27514  /**
27515   * The **`font-kerning`** CSS property sets the use of the kerning information stored in a font.
27516   *
27517   * **Syntax**: `auto | normal | none`
27518   *
27519   * **Initial value**: `auto`
27520   *
27521   * | Chrome | Firefox | Safari  |  Edge  | IE  |
27522   * | :----: | :-----: | :-----: | :----: | :-: |
27523   * | **33** | **32**  |  **9**  | **79** | No  |
27524   * |        |         | 6 _-x-_ |        |     |
27525   *
27526   * @see https://developer.mozilla.org/docs/Web/CSS/font-kerning
27527   */
27528  "font-kerning"?: FontKerningProperty | FontKerningProperty[];
27529  /**
27530   * The **`font-language-override`** CSS property controls the use of language-specific glyphs in a typeface.
27531   *
27532   * **Syntax**: `normal | <string>`
27533   *
27534   * **Initial value**: `normal`
27535   *
27536   * | Chrome | Firefox | Safari | Edge | IE  |
27537   * | :----: | :-----: | :----: | :--: | :-: |
27538   * |   No   | **34**  |   No   |  No  | No  |
27539   * |        | 4 _-x-_ |        |      |     |
27540   *
27541   * @see https://developer.mozilla.org/docs/Web/CSS/font-language-override
27542   */
27543  "font-language-override"?: FontLanguageOverrideProperty | FontLanguageOverrideProperty[];
27544  /**
27545   * The **`font-optical-sizing`** CSS property sets whether text rendering is optimized for viewing at different sizes. This only works for fonts that have an optical size variation axis.
27546   *
27547   * **Syntax**: `auto | none`
27548   *
27549   * **Initial value**: `auto`
27550   *
27551   * | Chrome | Firefox | Safari |  Edge  | IE  |
27552   * | :----: | :-----: | :----: | :----: | :-: |
27553   * | **79** | **62**  | **11** | **17** | No  |
27554   *
27555   * @see https://developer.mozilla.org/docs/Web/CSS/font-optical-sizing
27556   */
27557  "font-optical-sizing"?: FontOpticalSizingProperty | FontOpticalSizingProperty[];
27558  /**
27559   * The **`font-size`** CSS property sets the size of the font. This property is also used to compute the size of `em`, `ex`, and other relative `<length>` units.
27560   *
27561   * **Syntax**: `<absolute-size> | <relative-size> | <length-percentage>`
27562   *
27563   * **Initial value**: `medium`
27564   *
27565   * | Chrome | Firefox | Safari |  Edge  |   IE    |
27566   * | :----: | :-----: | :----: | :----: | :-----: |
27567   * | **1**  |  **1**  | **1**  | **12** | **5.5** |
27568   *
27569   * @see https://developer.mozilla.org/docs/Web/CSS/font-size
27570   */
27571  "font-size"?: FontSizeProperty<TLength> | FontSizeProperty<TLength>[];
27572  /**
27573   * The **`font-size-adjust`** CSS property sets how the font size should be chosen based on the height of lowercase rather than capital letters.
27574   *
27575   * **Syntax**: `none | <number>`
27576   *
27577   * **Initial value**: `none`
27578   *
27579   * | Chrome | Firefox | Safari | Edge | IE  |
27580   * | :----: | :-----: | :----: | :--: | :-: |
27581   * |  n/a   |  **1**  |   No   | n/a  | No  |
27582   *
27583   * @see https://developer.mozilla.org/docs/Web/CSS/font-size-adjust
27584   */
27585  "font-size-adjust"?: FontSizeAdjustProperty | FontSizeAdjustProperty[];
27586  /**
27587   * The **`font-stretch`** CSS property selects a normal, condensed, or expanded face from a font.
27588   *
27589   * **Syntax**: `<font-stretch-absolute>`
27590   *
27591   * **Initial value**: `normal`
27592   *
27593   * | Chrome | Firefox | Safari |  Edge  |  IE   |
27594   * | :----: | :-----: | :----: | :----: | :---: |
27595   * | **60** |  **9**  | **11** | **12** | **9** |
27596   *
27597   * @see https://developer.mozilla.org/docs/Web/CSS/font-stretch
27598   */
27599  "font-stretch"?: FontStretchProperty | FontStretchProperty[];
27600  /**
27601   * The **`font-style`** CSS property sets whether a font should be styled with a normal, italic, or oblique face from its `font-family`.
27602   *
27603   * **Syntax**: `normal | italic | oblique <angle>?`
27604   *
27605   * **Initial value**: `normal`
27606   *
27607   * | Chrome | Firefox | Safari |  Edge  |  IE   |
27608   * | :----: | :-----: | :----: | :----: | :---: |
27609   * | **1**  |  **1**  | **1**  | **12** | **4** |
27610   *
27611   * @see https://developer.mozilla.org/docs/Web/CSS/font-style
27612   */
27613  "font-style"?: FontStyleProperty | FontStyleProperty[];
27614  /**
27615   * The **`font-synthesis`** CSS property controls which missing typefaces, bold or italic, may be synthesized by the browser.
27616   *
27617   * **Syntax**: `none | [ weight || style ]`
27618   *
27619   * **Initial value**: `weight style`
27620   *
27621   * | Chrome | Firefox | Safari | Edge | IE  |
27622   * | :----: | :-----: | :----: | :--: | :-: |
27623   * |   No   | **34**  | **9**  |  No  | No  |
27624   *
27625   * @see https://developer.mozilla.org/docs/Web/CSS/font-synthesis
27626   */
27627  "font-synthesis"?: FontSynthesisProperty | FontSynthesisProperty[];
27628  /**
27629   * The **font-variant** CSS property is a shorthand for the longhand properties `font-variant-caps`, `font-variant-numeric`, `font-variant-alternates`, `font-variant-ligatures`, and `font-variant-east-asian`. You can also set the CSS Level 2 (Revision 1) values of `font-variant`, (that is, `normal` or `small-caps`), by using the `font` shorthand.
27630   *
27631   * **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 ]`
27632   *
27633   * **Initial value**: `normal`
27634   *
27635   * | Chrome | Firefox | Safari |  Edge  |  IE   |
27636   * | :----: | :-----: | :----: | :----: | :---: |
27637   * | **1**  |  **1**  | **1**  | **12** | **4** |
27638   *
27639   * @see https://developer.mozilla.org/docs/Web/CSS/font-variant
27640   */
27641  "font-variant"?: FontVariantProperty | FontVariantProperty[];
27642  /**
27643   * The **`font-variant-caps`** CSS property controls the use of alternate glyphs for capital letters.
27644   *
27645   * **Syntax**: `normal | small-caps | all-small-caps | petite-caps | all-petite-caps | unicase | titling-caps`
27646   *
27647   * **Initial value**: `normal`
27648   *
27649   * | Chrome | Firefox | Safari |  Edge  | IE  |
27650   * | :----: | :-----: | :----: | :----: | :-: |
27651   * | **52** | **34**  |   No   | **79** | No  |
27652   *
27653   * @see https://developer.mozilla.org/docs/Web/CSS/font-variant-caps
27654   */
27655  "font-variant-caps"?: FontVariantCapsProperty | FontVariantCapsProperty[];
27656  /**
27657   * The **`font-variant-east-asian`** CSS property controls the use of alternate glyphs for East Asian scripts, like Japanese and Chinese.
27658   *
27659   * **Syntax**: `normal | [ <east-asian-variant-values> || <east-asian-width-values> || ruby ]`
27660   *
27661   * **Initial value**: `normal`
27662   *
27663   * | Chrome | Firefox | Safari |  Edge  | IE  |
27664   * | :----: | :-----: | :----: | :----: | :-: |
27665   * | **63** | **34**  |   No   | **79** | No  |
27666   *
27667   * @see https://developer.mozilla.org/docs/Web/CSS/font-variant-east-asian
27668   */
27669  "font-variant-east-asian"?: FontVariantEastAsianProperty | FontVariantEastAsianProperty[];
27670  /**
27671   * 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.
27672   *
27673   * **Syntax**: `normal | none | [ <common-lig-values> || <discretionary-lig-values> || <historical-lig-values> || <contextual-alt-values> ]`
27674   *
27675   * **Initial value**: `normal`
27676   *
27677   * |  Chrome  | Firefox | Safari  |  Edge  | IE  |
27678   * | :------: | :-----: | :-----: | :----: | :-: |
27679   * |  **34**  | **34**  | **9.1** | **79** | No  |
27680   * | 31 _-x-_ |         | 7 _-x-_ |        |     |
27681   *
27682   * @see https://developer.mozilla.org/docs/Web/CSS/font-variant-ligatures
27683   */
27684  "font-variant-ligatures"?: FontVariantLigaturesProperty | FontVariantLigaturesProperty[];
27685  /**
27686   * The **`font-variant-numeric`** CSS property controls the usage of alternate glyphs for numbers, fractions, and ordinal markers.
27687   *
27688   * **Syntax**: `normal | [ <numeric-figure-values> || <numeric-spacing-values> || <numeric-fraction-values> || ordinal || slashed-zero ]`
27689   *
27690   * **Initial value**: `normal`
27691   *
27692   * | Chrome | Firefox | Safari  |  Edge  | IE  |
27693   * | :----: | :-----: | :-----: | :----: | :-: |
27694   * | **52** | **34**  | **9.1** | **79** | No  |
27695   *
27696   * @see https://developer.mozilla.org/docs/Web/CSS/font-variant-numeric
27697   */
27698  "font-variant-numeric"?: FontVariantNumericProperty | FontVariantNumericProperty[];
27699  /**
27700   * The **`font-variant-position`** CSS property controls the use of alternate, smaller glyphs that are positioned as superscript or subscript.
27701   *
27702   * **Syntax**: `normal | sub | super`
27703   *
27704   * **Initial value**: `normal`
27705   *
27706   * | Chrome | Firefox | Safari | Edge | IE  |
27707   * | :----: | :-----: | :----: | :--: | :-: |
27708   * |   No   | **34**  |   No   |  No  | No  |
27709   *
27710   * @see https://developer.mozilla.org/docs/Web/CSS/font-variant-position
27711   */
27712  "font-variant-position"?: FontVariantPositionProperty | FontVariantPositionProperty[];
27713  /**
27714   * 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.
27715   *
27716   * **Syntax**: `normal | [ <string> <number> ]#`
27717   *
27718   * **Initial value**: `normal`
27719   *
27720   * | Chrome | Firefox | Safari |  Edge  | IE  |
27721   * | :----: | :-----: | :----: | :----: | :-: |
27722   * | **62** | **62**  | **11** | **17** | No  |
27723   *
27724   * @see https://developer.mozilla.org/docs/Web/CSS/font-variation-settings
27725   */
27726  "font-variation-settings"?: FontVariationSettingsProperty | FontVariationSettingsProperty[];
27727  /**
27728   * The **`font-weight`** CSS property specifies the weight (or boldness) of the font. The font weights available to you will depend on the `font-family` you are using. Some fonts are only available in `normal` and `bold`.
27729   *
27730   * **Syntax**: `<font-weight-absolute> | bolder | lighter`
27731   *
27732   * **Initial value**: `normal`
27733   *
27734   * | Chrome | Firefox | Safari |  Edge  |  IE   |
27735   * | :----: | :-----: | :----: | :----: | :---: |
27736   * | **2**  |  **1**  | **1**  | **12** | **3** |
27737   *
27738   * @see https://developer.mozilla.org/docs/Web/CSS/font-weight
27739   */
27740  "font-weight"?: FontWeightProperty | FontWeightProperty[];
27741  /**
27742   * The **`grid-auto-columns`** CSS property specifies the size of an implicitly-created grid column track.
27743   *
27744   * **Syntax**: `<track-size>+`
27745   *
27746   * **Initial value**: `auto`
27747   *
27748   * | Chrome | Firefox |  Safari  |          Edge           |             IE              |
27749   * | :----: | :-----: | :------: | :---------------------: | :-------------------------: |
27750   * | **57** | **70**  | **10.1** |         **16**          | **10** _(-ms-grid-columns)_ |
27751   * |        |         |          | 12 _(-ms-grid-columns)_ |                             |
27752   *
27753   * @see https://developer.mozilla.org/docs/Web/CSS/grid-auto-columns
27754   */
27755  "grid-auto-columns"?: GridAutoColumnsProperty<TLength> | GridAutoColumnsProperty<TLength>[];
27756  /**
27757   * The **`grid-auto-flow`** CSS property controls how the auto-placement algorithm works, specifying exactly how auto-placed items get flowed into the grid.
27758   *
27759   * **Syntax**: `[ row | column ] || dense`
27760   *
27761   * **Initial value**: `row`
27762   *
27763   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
27764   * | :----: | :-----: | :------: | :----: | :-: |
27765   * | **57** | **52**  | **10.1** | **16** | No  |
27766   *
27767   * @see https://developer.mozilla.org/docs/Web/CSS/grid-auto-flow
27768   */
27769  "grid-auto-flow"?: GridAutoFlowProperty | GridAutoFlowProperty[];
27770  /**
27771   * The **`grid-auto-rows`** CSS property specifies the size of an implicitly-created grid row track.
27772   *
27773   * **Syntax**: `<track-size>+`
27774   *
27775   * **Initial value**: `auto`
27776   *
27777   * | Chrome | Firefox |  Safari  |         Edge         |            IE            |
27778   * | :----: | :-----: | :------: | :------------------: | :----------------------: |
27779   * | **57** | **70**  | **10.1** |        **16**        | **10** _(-ms-grid-rows)_ |
27780   * |        |         |          | 12 _(-ms-grid-rows)_ |                          |
27781   *
27782   * @see https://developer.mozilla.org/docs/Web/CSS/grid-auto-rows
27783   */
27784  "grid-auto-rows"?: GridAutoRowsProperty<TLength> | GridAutoRowsProperty<TLength>[];
27785  /**
27786   * 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.
27787   *
27788   * **Syntax**: `<grid-line>`
27789   *
27790   * **Initial value**: `auto`
27791   *
27792   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
27793   * | :----: | :-----: | :------: | :----: | :-: |
27794   * | **57** | **52**  | **10.1** | **16** | No  |
27795   *
27796   * @see https://developer.mozilla.org/docs/Web/CSS/grid-column-end
27797   */
27798  "grid-column-end"?: GridColumnEndProperty | GridColumnEndProperty[];
27799  /**
27800   * 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.
27801   *
27802   * **Syntax**: `<grid-line>`
27803   *
27804   * **Initial value**: `auto`
27805   *
27806   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
27807   * | :----: | :-----: | :------: | :----: | :-: |
27808   * | **57** | **52**  | **10.1** | **16** | No  |
27809   *
27810   * @see https://developer.mozilla.org/docs/Web/CSS/grid-column-start
27811   */
27812  "grid-column-start"?: GridColumnStartProperty | GridColumnStartProperty[];
27813  /**
27814   * 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.
27815   *
27816   * **Syntax**: `<grid-line>`
27817   *
27818   * **Initial value**: `auto`
27819   *
27820   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
27821   * | :----: | :-----: | :------: | :----: | :-: |
27822   * | **57** | **52**  | **10.1** | **16** | No  |
27823   *
27824   * @see https://developer.mozilla.org/docs/Web/CSS/grid-row-end
27825   */
27826  "grid-row-end"?: GridRowEndProperty | GridRowEndProperty[];
27827  /**
27828   * 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.
27829   *
27830   * **Syntax**: `<grid-line>`
27831   *
27832   * **Initial value**: `auto`
27833   *
27834   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
27835   * | :----: | :-----: | :------: | :----: | :-: |
27836   * | **57** | **52**  | **10.1** | **16** | No  |
27837   *
27838   * @see https://developer.mozilla.org/docs/Web/CSS/grid-row-start
27839   */
27840  "grid-row-start"?: GridRowStartProperty | GridRowStartProperty[];
27841  /**
27842   * The **`grid-template-areas`** CSS property specifies named grid areas.
27843   *
27844   * **Syntax**: `none | <string>+`
27845   *
27846   * **Initial value**: `none`
27847   *
27848   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
27849   * | :----: | :-----: | :------: | :----: | :-: |
27850   * | **57** | **52**  | **10.1** | **16** | No  |
27851   *
27852   * @see https://developer.mozilla.org/docs/Web/CSS/grid-template-areas
27853   */
27854  "grid-template-areas"?: GridTemplateAreasProperty | GridTemplateAreasProperty[];
27855  /**
27856   * The **`grid-template-columns`** CSS property defines the line names and track sizing functions of the grid columns.
27857   *
27858   * **Syntax**: `none | <track-list> | <auto-track-list> | subgrid <line-name-list>?`
27859   *
27860   * **Initial value**: `none`
27861   *
27862   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
27863   * | :----: | :-----: | :------: | :----: | :-: |
27864   * | **57** | **52**  | **10.1** | **16** | No  |
27865   *
27866   * @see https://developer.mozilla.org/docs/Web/CSS/grid-template-columns
27867   */
27868  "grid-template-columns"?: GridTemplateColumnsProperty<TLength> | GridTemplateColumnsProperty<TLength>[];
27869  /**
27870   * The **`grid-template-rows`** CSS property defines the line names and track sizing functions of the grid rows.
27871   *
27872   * **Syntax**: `none | <track-list> | <auto-track-list> | subgrid <line-name-list>?`
27873   *
27874   * **Initial value**: `none`
27875   *
27876   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
27877   * | :----: | :-----: | :------: | :----: | :-: |
27878   * | **57** | **52**  | **10.1** | **16** | No  |
27879   *
27880   * @see https://developer.mozilla.org/docs/Web/CSS/grid-template-rows
27881   */
27882  "grid-template-rows"?: GridTemplateRowsProperty<TLength> | GridTemplateRowsProperty<TLength>[];
27883  /**
27884   * 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.
27885   *
27886   * **Syntax**: `none | [ first || [ force-end | allow-end ] || last ]`
27887   *
27888   * **Initial value**: `none`
27889   *
27890   * | Chrome | Firefox | Safari | Edge | IE  |
27891   * | :----: | :-----: | :----: | :--: | :-: |
27892   * |   No   |   No    | **10** |  No  | No  |
27893   *
27894   * @see https://developer.mozilla.org/docs/Web/CSS/hanging-punctuation
27895   */
27896  "hanging-punctuation"?: HangingPunctuationProperty | HangingPunctuationProperty[];
27897  /**
27898   * 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.
27899   *
27900   * **Syntax**: `auto | <length> | <percentage> | min-content | max-content | fit-content(<length-percentage>)`
27901   *
27902   * **Initial value**: `auto`
27903   *
27904   * | Chrome | Firefox | Safari |  Edge  |  IE   |
27905   * | :----: | :-----: | :----: | :----: | :---: |
27906   * | **1**  |  **1**  | **1**  | **12** | **4** |
27907   *
27908   * @see https://developer.mozilla.org/docs/Web/CSS/height
27909   */
27910  height?: HeightProperty<TLength> | HeightProperty<TLength>[];
27911  /**
27912   * The **`hyphens`** CSS property specifies how words should be hyphenated when text wraps across multiple lines. You can prevent hyphenation entirely, use hyphenation in manually-specified points within the text, or let the browser automatically insert hyphens where appropriate.
27913   *
27914   * **Syntax**: `none | manual | auto`
27915   *
27916   * **Initial value**: `manual`
27917   *
27918   * |  Chrome  | Firefox |    Safari     |     Edge     |      IE      |
27919   * | :------: | :-----: | :-----------: | :----------: | :----------: |
27920   * |  **55**  | **43**  | **5.1** _-x-_ | **12** _-x-_ | **10** _-x-_ |
27921   * | 13 _-x-_ | 6 _-x-_ |               |              |              |
27922   *
27923   * @see https://developer.mozilla.org/docs/Web/CSS/hyphens
27924   */
27925  hyphens?: HyphensProperty | HyphensProperty[];
27926  /**
27927   * 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>`.
27928   *
27929   * **Syntax**: `from-image | <angle> | [ <angle>? flip ]`
27930   *
27931   * **Initial value**: `0deg`
27932   *
27933   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
27934   * | :----: | :-----: | :------: | :----: | :-: |
27935   * | **81** | **26**  | **13.1** | **81** | No  |
27936   *
27937   * @see https://developer.mozilla.org/docs/Web/CSS/image-orientation
27938   */
27939  "image-orientation"?: ImageOrientationProperty | ImageOrientationProperty[];
27940  /**
27941   * 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.
27942   *
27943   * **Syntax**: `auto | crisp-edges | pixelated`
27944   *
27945   * **Initial value**: `auto`
27946   *
27947   * | Chrome | Firefox | Safari |  Edge  | IE  |
27948   * | :----: | :-----: | :----: | :----: | :-: |
27949   * | **13** | **3.6** | **6**  | **79** | No  |
27950   *
27951   * @see https://developer.mozilla.org/docs/Web/CSS/image-rendering
27952   */
27953  "image-rendering"?: ImageRenderingProperty | ImageRenderingProperty[];
27954  /**
27955   * **Syntax**: `[ from-image || <resolution> ] && snap?`
27956   *
27957   * **Initial value**: `1dppx`
27958   */
27959  "image-resolution"?: ImageResolutionProperty | ImageResolutionProperty[];
27960  /**
27961   * The `initial-letter` CSS property sets styling for dropped, raised, and sunken initial letters.
27962   *
27963   * **Syntax**: `normal | [ <number> <integer>? ]`
27964   *
27965   * **Initial value**: `normal`
27966   *
27967   * | Chrome | Firefox | Safari | Edge | IE  |
27968   * | :----: | :-----: | :----: | :--: | :-: |
27969   * |   No   |   No    | **9**  |  No  | No  |
27970   *
27971   * @see https://developer.mozilla.org/docs/Web/CSS/initial-letter
27972   */
27973  "initial-letter"?: InitialLetterProperty | InitialLetterProperty[];
27974  /**
27975   * 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`.
27976   *
27977   * **Syntax**: `<'width'>`
27978   *
27979   * **Initial value**: `auto`
27980   *
27981   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
27982   * | :----: | :-----: | :------: | :----: | :-: |
27983   * | **57** | **41**  | **12.1** | **79** | No  |
27984   *
27985   * @see https://developer.mozilla.org/docs/Web/CSS/inline-size
27986   */
27987  "inline-size"?: InlineSizeProperty<TLength> | InlineSizeProperty<TLength>[];
27988  /**
27989   * The **`inset`** CSS property defines the logical block and inline start and end offsets of an element, which map 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`.
27990   *
27991   * **Syntax**: `<'top'>{1,4}`
27992   *
27993   * **Initial value**: `auto`
27994   *
27995   * | Chrome | Firefox | Safari | Edge | IE  |
27996   * | :----: | :-----: | :----: | :--: | :-: |
27997   * |   No   | **66**  |   No   |  No  | No  |
27998   *
27999   * @see https://developer.mozilla.org/docs/Web/CSS/inset
28000   */
28001  inset?: InsetProperty<TLength> | InsetProperty<TLength>[];
28002  /**
28003   * The **`inset-block`** CSS property defines the logical block start and end offsets of an element, 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`.
28004   *
28005   * **Syntax**: `<'top'>{1,2}`
28006   *
28007   * **Initial value**: `auto`
28008   *
28009   * | Chrome | Firefox | Safari | Edge | IE  |
28010   * | :----: | :-----: | :----: | :--: | :-: |
28011   * |  n/a   | **63**  |   No   | n/a  | No  |
28012   *
28013   * @see https://developer.mozilla.org/docs/Web/CSS/inset-block
28014   */
28015  "inset-block"?: InsetBlockProperty<TLength> | InsetBlockProperty<TLength>[];
28016  /**
28017   * 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`.
28018   *
28019   * **Syntax**: `<'top'>`
28020   *
28021   * **Initial value**: `auto`
28022   *
28023   * | Chrome | Firefox | Safari | Edge | IE  |
28024   * | :----: | :-----: | :----: | :--: | :-: |
28025   * |  n/a   | **63**  |   No   | n/a  | No  |
28026   *
28027   * @see https://developer.mozilla.org/docs/Web/CSS/inset-block-end
28028   */
28029  "inset-block-end"?: InsetBlockEndProperty<TLength> | InsetBlockEndProperty<TLength>[];
28030  /**
28031   * 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`.
28032   *
28033   * **Syntax**: `<'top'>`
28034   *
28035   * **Initial value**: `auto`
28036   *
28037   * | Chrome | Firefox | Safari | Edge | IE  |
28038   * | :----: | :-----: | :----: | :--: | :-: |
28039   * |  n/a   | **63**  |   No   | n/a  | No  |
28040   *
28041   * @see https://developer.mozilla.org/docs/Web/CSS/inset-block-start
28042   */
28043  "inset-block-start"?: InsetBlockStartProperty<TLength> | InsetBlockStartProperty<TLength>[];
28044  /**
28045   * The **`inset-inline`** CSS property defines the logical block start and end offsets of an element, 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`.
28046   *
28047   * **Syntax**: `<'top'>{1,2}`
28048   *
28049   * **Initial value**: `auto`
28050   *
28051   * | Chrome | Firefox | Safari | Edge | IE  |
28052   * | :----: | :-----: | :----: | :--: | :-: |
28053   * |  n/a   | **63**  |   No   | n/a  | No  |
28054   *
28055   * @see https://developer.mozilla.org/docs/Web/CSS/inset-inline
28056   */
28057  "inset-inline"?: InsetInlineProperty<TLength> | InsetInlineProperty<TLength>[];
28058  /**
28059   * The **`inset-inline-end`** CSS property defines the logical inline end inset 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`.
28060   *
28061   * **Syntax**: `<'top'>`
28062   *
28063   * **Initial value**: `auto`
28064   *
28065   * | Chrome | Firefox | Safari | Edge | IE  |
28066   * | :----: | :-----: | :----: | :--: | :-: |
28067   * |  n/a   | **63**  |   No   | n/a  | No  |
28068   *
28069   * @see https://developer.mozilla.org/docs/Web/CSS/inset-inline-end
28070   */
28071  "inset-inline-end"?: InsetInlineEndProperty<TLength> | InsetInlineEndProperty<TLength>[];
28072  /**
28073   * 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`.
28074   *
28075   * **Syntax**: `<'top'>`
28076   *
28077   * **Initial value**: `auto`
28078   *
28079   * | Chrome | Firefox | Safari | Edge | IE  |
28080   * | :----: | :-----: | :----: | :--: | :-: |
28081   * |  n/a   | **63**  |   No   | n/a  | No  |
28082   *
28083   * @see https://developer.mozilla.org/docs/Web/CSS/inset-inline-start
28084   */
28085  "inset-inline-start"?: InsetInlineStartProperty<TLength> | InsetInlineStartProperty<TLength>[];
28086  /**
28087   * The **`isolation`** CSS property determines whether an element must create a new stacking context.
28088   *
28089   * **Syntax**: `auto | isolate`
28090   *
28091   * **Initial value**: `auto`
28092   *
28093   * | Chrome | Firefox | Safari |  Edge  | IE  |
28094   * | :----: | :-----: | :----: | :----: | :-: |
28095   * | **41** | **36**  | **8**  | **79** | No  |
28096   *
28097   * @see https://developer.mozilla.org/docs/Web/CSS/isolation
28098   */
28099  isolation?: IsolationProperty | IsolationProperty[];
28100  /**
28101   * 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.
28102   *
28103   * **Syntax**: `normal | <content-distribution> | <overflow-position>? [ <content-position> | left | right ]`
28104   *
28105   * **Initial value**: `normal`
28106   *
28107   * ---
28108   *
28109   * _Supported in Flex Layout_
28110   *
28111   * |  Chrome  | Firefox |  Safari   |  Edge  |   IE   |
28112   * | :------: | :-----: | :-------: | :----: | :----: |
28113   * |  **52**  | **20**  |   **9**   | **12** | **11** |
28114   * | 21 _-x-_ |         | 6.1 _-x-_ |        |        |
28115   *
28116   * ---
28117   *
28118   * _Supported in Grid Layout_
28119   *
28120   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
28121   * | :----: | :-----: | :------: | :----: | :-: |
28122   * | **57** | **52**  | **10.1** | **16** | No  |
28123   *
28124   * ---
28125   *
28126   * @see https://developer.mozilla.org/docs/Web/CSS/justify-content
28127   */
28128  "justify-content"?: JustifyContentProperty | JustifyContentProperty[];
28129  /**
28130   * 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.
28131   *
28132   * **Syntax**: `normal | stretch | <baseline-position> | <overflow-position>? [ <self-position> | left | right ] | legacy | legacy && [ left | right | center ]`
28133   *
28134   * **Initial value**: `legacy`
28135   *
28136   * ---
28137   *
28138   * _Supported in Flex Layout_
28139   *
28140   * | Chrome | Firefox | Safari |  Edge  |   IE   |
28141   * | :----: | :-----: | :----: | :----: | :----: |
28142   * | **52** | **20**  | **9**  | **12** | **11** |
28143   *
28144   * ---
28145   *
28146   * _Supported in Grid Layout_
28147   *
28148   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
28149   * | :----: | :-----: | :------: | :----: | :-: |
28150   * | **57** | **45**  | **10.1** | **16** | No  |
28151   *
28152   * ---
28153   *
28154   * @see https://developer.mozilla.org/docs/Web/CSS/justify-items
28155   */
28156  "justify-items"?: JustifyItemsProperty | JustifyItemsProperty[];
28157  /**
28158   * The CSS **`justify-self`** property set the way a box is justified inside its alignment container along the appropriate axis.
28159   *
28160   * **Syntax**: `auto | normal | stretch | <baseline-position> | <overflow-position>? [ <self-position> | left | right ]`
28161   *
28162   * **Initial value**: `auto`
28163   *
28164   * ---
28165   *
28166   * _Supported in Flex Layout_
28167   *
28168   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
28169   * | :----: | :-----: | :------: | :----: | :-: |
28170   * | **57** | **45**  | **10.1** | **16** | No  |
28171   *
28172   * ---
28173   *
28174   * _Supported in Grid Layout_
28175   *
28176   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
28177   * | :----: | :-----: | :------: | :----: | :-: |
28178   * | **57** | **45**  | **10.1** | **16** | No  |
28179   *
28180   * ---
28181   *
28182   * @see https://developer.mozilla.org/docs/Web/CSS/justify-self
28183   */
28184  "justify-self"?: JustifySelfProperty | JustifySelfProperty[];
28185  /**
28186   * The **`left`** CSS property participates in specifying the horizontal position of a _positioned element_. It has no effect on non-positioned elements.
28187   *
28188   * **Syntax**: `<length> | <percentage> | auto`
28189   *
28190   * **Initial value**: `auto`
28191   *
28192   * | Chrome | Firefox | Safari |  Edge  |   IE    |
28193   * | :----: | :-----: | :----: | :----: | :-----: |
28194   * | **1**  |  **1**  | **1**  | **12** | **5.5** |
28195   *
28196   * @see https://developer.mozilla.org/docs/Web/CSS/left
28197   */
28198  left?: LeftProperty<TLength> | LeftProperty<TLength>[];
28199  /**
28200   * The **`letter-spacing`** CSS property sets the spacing behavior between text characters.
28201   *
28202   * **Syntax**: `normal | <length>`
28203   *
28204   * **Initial value**: `normal`
28205   *
28206   * | Chrome | Firefox | Safari |  Edge  |  IE   |
28207   * | :----: | :-----: | :----: | :----: | :---: |
28208   * | **1**  |  **1**  | **1**  | **12** | **4** |
28209   *
28210   * @see https://developer.mozilla.org/docs/Web/CSS/letter-spacing
28211   */
28212  "letter-spacing"?: LetterSpacingProperty<TLength> | LetterSpacingProperty<TLength>[];
28213  /**
28214   * The **`line-break`** CSS property sets how to break lines of Chinese, Japanese, or Korean (CJK) text when working with punctuation and symbols.
28215   *
28216   * **Syntax**: `auto | loose | normal | strict | anywhere`
28217   *
28218   * **Initial value**: `auto`
28219   *
28220   * | Chrome  | Firefox |   Safari    |  Edge  |   IE    |
28221   * | :-----: | :-----: | :---------: | :----: | :-----: |
28222   * | **58**  | **69**  | **3** _-x-_ | **14** | **5.5** |
28223   * | 1 _-x-_ |         |             |        |         |
28224   *
28225   * @see https://developer.mozilla.org/docs/Web/CSS/line-break
28226   */
28227  "line-break"?: LineBreakProperty | LineBreakProperty[];
28228  /**
28229   * The **`line-height`** CSS property sets the amount of space used for lines, such as in 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.
28230   *
28231   * **Syntax**: `normal | <number> | <length> | <percentage>`
28232   *
28233   * **Initial value**: `normal`
28234   *
28235   * | Chrome | Firefox | Safari |  Edge  |  IE   |
28236   * | :----: | :-----: | :----: | :----: | :---: |
28237   * | **1**  |  **1**  | **1**  | **12** | **4** |
28238   *
28239   * @see https://developer.mozilla.org/docs/Web/CSS/line-height
28240   */
28241  "line-height"?: LineHeightProperty<TLength> | LineHeightProperty<TLength>[];
28242  /**
28243   * 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.
28244   *
28245   * **Syntax**: `<length>`
28246   *
28247   * **Initial value**: `0`
28248   *
28249   * | Chrome | Firefox | Safari | Edge | IE  |
28250   * | :----: | :-----: | :----: | :--: | :-: |
28251   * |  n/a   |   No    |   No   | n/a  | No  |
28252   *
28253   * @see https://developer.mozilla.org/docs/Web/CSS/line-height-step
28254   */
28255  "line-height-step"?: LineHeightStepProperty<TLength> | LineHeightStepProperty<TLength>[];
28256  /**
28257   * The **`list-style-image`** CSS property sets an image to be used as the list item marker.
28258   *
28259   * **Syntax**: `<url> | none`
28260   *
28261   * **Initial value**: `none`
28262   *
28263   * | Chrome | Firefox | Safari |  Edge  |  IE   |
28264   * | :----: | :-----: | :----: | :----: | :---: |
28265   * | **1**  |  **1**  | **1**  | **12** | **4** |
28266   *
28267   * @see https://developer.mozilla.org/docs/Web/CSS/list-style-image
28268   */
28269  "list-style-image"?: ListStyleImageProperty | ListStyleImageProperty[];
28270  /**
28271   * The **`list-style-position`** CSS property sets the position of the `::marker` relative to a list item.
28272   *
28273   * **Syntax**: `inside | outside`
28274   *
28275   * **Initial value**: `outside`
28276   *
28277   * | Chrome | Firefox | Safari |  Edge  |  IE   |
28278   * | :----: | :-----: | :----: | :----: | :---: |
28279   * | **1**  |  **1**  | **1**  | **12** | **4** |
28280   *
28281   * @see https://developer.mozilla.org/docs/Web/CSS/list-style-position
28282   */
28283  "list-style-position"?: ListStylePositionProperty | ListStylePositionProperty[];
28284  /**
28285   * The **`list-style-type`** CSS property sets the marker (such as a disc, character, or custom counter style) of a list item element.
28286   *
28287   * **Syntax**: `<counter-style> | <string> | none`
28288   *
28289   * **Initial value**: `disc`
28290   *
28291   * | Chrome | Firefox | Safari |  Edge  |  IE   |
28292   * | :----: | :-----: | :----: | :----: | :---: |
28293   * | **1**  |  **1**  | **1**  | **12** | **4** |
28294   *
28295   * @see https://developer.mozilla.org/docs/Web/CSS/list-style-type
28296   */
28297  "list-style-type"?: ListStyleTypeProperty | ListStyleTypeProperty[];
28298  /**
28299   * The **`margin-block`** CSS 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.
28300   *
28301   * **Syntax**: `<'margin-left'>{1,2}`
28302   *
28303   * **Initial value**: `0`
28304   *
28305   * | Chrome | Firefox | Safari | Edge | IE  |
28306   * | :----: | :-----: | :----: | :--: | :-: |
28307   * |  n/a   | **66**  |   No   | n/a  | No  |
28308   *
28309   * @see https://developer.mozilla.org/docs/Web/CSS/margin-block
28310   */
28311  "margin-block"?: MarginBlockProperty<TLength> | MarginBlockProperty<TLength>[];
28312  /**
28313   * 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.
28314   *
28315   * **Syntax**: `<'margin-left'>`
28316   *
28317   * **Initial value**: `0`
28318   *
28319   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
28320   * | :----: | :-----: | :------: | :----: | :-: |
28321   * | **69** | **41**  | **12.1** | **79** | No  |
28322   *
28323   * @see https://developer.mozilla.org/docs/Web/CSS/margin-block-end
28324   */
28325  "margin-block-end"?: MarginBlockEndProperty<TLength> | MarginBlockEndProperty<TLength>[];
28326  /**
28327   * 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.
28328   *
28329   * **Syntax**: `<'margin-left'>`
28330   *
28331   * **Initial value**: `0`
28332   *
28333   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
28334   * | :----: | :-----: | :------: | :----: | :-: |
28335   * | **69** | **41**  | **12.1** | **79** | No  |
28336   *
28337   * @see https://developer.mozilla.org/docs/Web/CSS/margin-block-start
28338   */
28339  "margin-block-start"?: MarginBlockStartProperty<TLength> | MarginBlockStartProperty<TLength>[];
28340  /**
28341   * 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.
28342   *
28343   * **Syntax**: `<length> | <percentage> | auto`
28344   *
28345   * **Initial value**: `0`
28346   *
28347   * | Chrome | Firefox | Safari |  Edge  |  IE   |
28348   * | :----: | :-----: | :----: | :----: | :---: |
28349   * | **1**  |  **1**  | **1**  | **12** | **3** |
28350   *
28351   * @see https://developer.mozilla.org/docs/Web/CSS/margin-bottom
28352   */
28353  "margin-bottom"?: MarginBottomProperty<TLength> | MarginBottomProperty<TLength>[];
28354  /**
28355   * The **`margin-inline`** CSS property defines 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.
28356   *
28357   * **Syntax**: `<'margin-left'>{1,2}`
28358   *
28359   * **Initial value**: `0`
28360   *
28361   * | Chrome | Firefox | Safari | Edge | IE  |
28362   * | :----: | :-----: | :----: | :--: | :-: |
28363   * |  n/a   | **66**  |   No   | n/a  | No  |
28364   *
28365   * @see https://developer.mozilla.org/docs/Web/CSS/margin-inline
28366   */
28367  "margin-inline"?: MarginInlineProperty<TLength> | MarginInlineProperty<TLength>[];
28368  /**
28369   * 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`.
28370   *
28371   * **Syntax**: `<'margin-left'>`
28372   *
28373   * **Initial value**: `0`
28374   *
28375   * |          Chrome          |        Firefox        |          Safari          |  Edge  | IE  |
28376   * | :----------------------: | :-------------------: | :----------------------: | :----: | :-: |
28377   * |          **69**          |        **41**         |         **12.1**         | **79** | No  |
28378   * | 2 _(-webkit-margin-end)_ | 3 _(-moz-margin-end)_ | 3 _(-webkit-margin-end)_ |        |     |
28379   *
28380   * @see https://developer.mozilla.org/docs/Web/CSS/margin-inline-end
28381   */
28382  "margin-inline-end"?: MarginInlineEndProperty<TLength> | MarginInlineEndProperty<TLength>[];
28383  /**
28384   * 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`.
28385   *
28386   * **Syntax**: `<'margin-left'>`
28387   *
28388   * **Initial value**: `0`
28389   *
28390   * |           Chrome           |         Firefox         |           Safari           |  Edge  | IE  |
28391   * | :------------------------: | :---------------------: | :------------------------: | :----: | :-: |
28392   * |           **69**           |         **41**          |          **12.1**          | **79** | No  |
28393   * | 2 _(-webkit-margin-start)_ | 3 _(-moz-margin-start)_ | 3 _(-webkit-margin-start)_ |        |     |
28394   *
28395   * @see https://developer.mozilla.org/docs/Web/CSS/margin-inline-start
28396   */
28397  "margin-inline-start"?: MarginInlineStartProperty<TLength> | MarginInlineStartProperty<TLength>[];
28398  /**
28399   * 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.
28400   *
28401   * **Syntax**: `<length> | <percentage> | auto`
28402   *
28403   * **Initial value**: `0`
28404   *
28405   * | Chrome | Firefox | Safari |  Edge  |  IE   |
28406   * | :----: | :-----: | :----: | :----: | :---: |
28407   * | **1**  |  **1**  | **1**  | **12** | **3** |
28408   *
28409   * @see https://developer.mozilla.org/docs/Web/CSS/margin-left
28410   */
28411  "margin-left"?: MarginLeftProperty<TLength> | MarginLeftProperty<TLength>[];
28412  /**
28413   * 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.
28414   *
28415   * **Syntax**: `<length> | <percentage> | auto`
28416   *
28417   * **Initial value**: `0`
28418   *
28419   * | Chrome | Firefox | Safari |  Edge  |  IE   |
28420   * | :----: | :-----: | :----: | :----: | :---: |
28421   * | **1**  |  **1**  | **1**  | **12** | **3** |
28422   *
28423   * @see https://developer.mozilla.org/docs/Web/CSS/margin-right
28424   */
28425  "margin-right"?: MarginRightProperty<TLength> | MarginRightProperty<TLength>[];
28426  /**
28427   * 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.
28428   *
28429   * **Syntax**: `<length> | <percentage> | auto`
28430   *
28431   * **Initial value**: `0`
28432   *
28433   * | Chrome | Firefox | Safari |  Edge  |  IE   |
28434   * | :----: | :-----: | :----: | :----: | :---: |
28435   * | **1**  |  **1**  | **1**  | **12** | **3** |
28436   *
28437   * @see https://developer.mozilla.org/docs/Web/CSS/margin-top
28438   */
28439  "margin-top"?: MarginTopProperty<TLength> | MarginTopProperty<TLength>[];
28440  /**
28441   * The **`mask-border-mode`** CSS property specifies the blending mode used in a mask border.
28442   *
28443   * **Syntax**: `luminance | alpha`
28444   *
28445   * **Initial value**: `alpha`
28446   */
28447  "mask-border-mode"?: MaskBorderModeProperty | MaskBorderModeProperty[];
28448  /**
28449   * The **`mask-border-outset`** CSS property specifies the distance by which an element's mask border is set out from its border box.
28450   *
28451   * **Syntax**: `[ <length> | <number> ]{1,4}`
28452   *
28453   * **Initial value**: `0`
28454   */
28455  "mask-border-outset"?: MaskBorderOutsetProperty<TLength> | MaskBorderOutsetProperty<TLength>[];
28456  /**
28457   * 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.
28458   *
28459   * **Syntax**: `[ stretch | repeat | round | space ]{1,2}`
28460   *
28461   * **Initial value**: `stretch`
28462   */
28463  "mask-border-repeat"?: MaskBorderRepeatProperty | MaskBorderRepeatProperty[];
28464  /**
28465   * 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.
28466   *
28467   * **Syntax**: `<number-percentage>{1,4} fill?`
28468   *
28469   * **Initial value**: `0`
28470   */
28471  "mask-border-slice"?: MaskBorderSliceProperty | MaskBorderSliceProperty[];
28472  /**
28473   * The **`mask-border-source`** CSS property sets the source image used to create an element's mask border.
28474   *
28475   * **Syntax**: `none | <image>`
28476   *
28477   * **Initial value**: `none`
28478   */
28479  "mask-border-source"?: MaskBorderSourceProperty | MaskBorderSourceProperty[];
28480  /**
28481   * The **`mask-border-width`** CSS property sets the width of an element's mask border.
28482   *
28483   * **Syntax**: `[ <length-percentage> | <number> | auto ]{1,4}`
28484   *
28485   * **Initial value**: `auto`
28486   */
28487  "mask-border-width"?: MaskBorderWidthProperty<TLength> | MaskBorderWidthProperty<TLength>[];
28488  /**
28489   * 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.
28490   *
28491   * **Syntax**: `[ <geometry-box> | no-clip ]#`
28492   *
28493   * **Initial value**: `border-box`
28494   *
28495   * |   Chrome    | Firefox |   Safari    |     Edge     | IE  |
28496   * | :---------: | :-----: | :---------: | :----------: | :-: |
28497   * | **1** _-x-_ | **53**  | **4** _-x-_ | **79** _-x-_ | No  |
28498   *
28499   * @see https://developer.mozilla.org/docs/Web/CSS/mask-clip
28500   */
28501  "mask-clip"?: MaskClipProperty | MaskClipProperty[];
28502  /**
28503   * The **`mask-composite`** CSS property represents a compositing operation used on the current mask layer with the mask layers below it.
28504   *
28505   * **Syntax**: `<compositing-operator>#`
28506   *
28507   * **Initial value**: `add`
28508   *
28509   * | Chrome | Firefox | Safari | Edge  | IE  |
28510   * | :----: | :-----: | :----: | :---: | :-: |
28511   * |   No   | **53**  |   No   | 18-79 | No  |
28512   *
28513   * @see https://developer.mozilla.org/docs/Web/CSS/mask-composite
28514   */
28515  "mask-composite"?: MaskCompositeProperty | MaskCompositeProperty[];
28516  /**
28517   * The **`mask-image`** CSS property sets the image that is used as mask layer for an element.
28518   *
28519   * **Syntax**: `<mask-reference>#`
28520   *
28521   * **Initial value**: `none`
28522   *
28523   * |   Chrome    | Firefox |   Safari    |  Edge  | IE  |
28524   * | :---------: | :-----: | :---------: | :----: | :-: |
28525   * | **1** _-x-_ | **53**  | **4** _-x-_ | **16** | No  |
28526   *
28527   * @see https://developer.mozilla.org/docs/Web/CSS/mask-image
28528   */
28529  "mask-image"?: MaskImageProperty | MaskImageProperty[];
28530  /**
28531   * The **`mask-mode`** CSS property sets whether the mask reference defined by `mask-image` is treated as a luminance or alpha mask.
28532   *
28533   * **Syntax**: `<masking-mode>#`
28534   *
28535   * **Initial value**: `match-source`
28536   *
28537   * | Chrome | Firefox | Safari | Edge | IE  |
28538   * | :----: | :-----: | :----: | :--: | :-: |
28539   * |   No   | **53**  |   No   |  No  | No  |
28540   *
28541   * @see https://developer.mozilla.org/docs/Web/CSS/mask-mode
28542   */
28543  "mask-mode"?: MaskModeProperty | MaskModeProperty[];
28544  /**
28545   * The **`mask-origin`** CSS property sets the origin of a mask.
28546   *
28547   * **Syntax**: `<geometry-box>#`
28548   *
28549   * **Initial value**: `border-box`
28550   *
28551   * |   Chrome    | Firefox |   Safari    |     Edge     | IE  |
28552   * | :---------: | :-----: | :---------: | :----------: | :-: |
28553   * | **1** _-x-_ | **53**  | **4** _-x-_ | **79** _-x-_ | No  |
28554   *
28555   * @see https://developer.mozilla.org/docs/Web/CSS/mask-origin
28556   */
28557  "mask-origin"?: MaskOriginProperty | MaskOriginProperty[];
28558  /**
28559   * The **`mask-position`** CSS property sets the initial position, relative to the mask position layer set by `mask-origin`, for each defined mask image.
28560   *
28561   * **Syntax**: `<position>#`
28562   *
28563   * **Initial value**: `center`
28564   *
28565   * |   Chrome    | Firefox |    Safari     |  Edge  | IE  |
28566   * | :---------: | :-----: | :-----------: | :----: | :-: |
28567   * | **1** _-x-_ | **53**  | **3.2** _-x-_ | **18** | No  |
28568   *
28569   * @see https://developer.mozilla.org/docs/Web/CSS/mask-position
28570   */
28571  "mask-position"?: MaskPositionProperty<TLength> | MaskPositionProperty<TLength>[];
28572  /**
28573   * 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.
28574   *
28575   * **Syntax**: `<repeat-style>#`
28576   *
28577   * **Initial value**: `no-repeat`
28578   *
28579   * |   Chrome    | Firefox |    Safari     |  Edge  | IE  |
28580   * | :---------: | :-----: | :-----------: | :----: | :-: |
28581   * | **1** _-x-_ | **53**  | **3.2** _-x-_ | **18** | No  |
28582   *
28583   * @see https://developer.mozilla.org/docs/Web/CSS/mask-repeat
28584   */
28585  "mask-repeat"?: MaskRepeatProperty | MaskRepeatProperty[];
28586  /**
28587   * 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.
28588   *
28589   * **Syntax**: `<bg-size>#`
28590   *
28591   * **Initial value**: `auto`
28592   *
28593   * |   Chrome    | Firefox |   Safari    |  Edge  | IE  |
28594   * | :---------: | :-----: | :---------: | :----: | :-: |
28595   * | **4** _-x-_ | **53**  | **4** _-x-_ | **18** | No  |
28596   *
28597   * @see https://developer.mozilla.org/docs/Web/CSS/mask-size
28598   */
28599  "mask-size"?: MaskSizeProperty<TLength> | MaskSizeProperty<TLength>[];
28600  /**
28601   * 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.
28602   *
28603   * **Syntax**: `luminance | alpha`
28604   *
28605   * **Initial value**: `luminance`
28606   *
28607   * | Chrome | Firefox | Safari  |  Edge  | IE  |
28608   * | :----: | :-----: | :-----: | :----: | :-: |
28609   * | **24** | **35**  | **6.1** | **79** | No  |
28610   *
28611   * @see https://developer.mozilla.org/docs/Web/CSS/mask-type
28612   */
28613  "mask-type"?: MaskTypeProperty | MaskTypeProperty[];
28614  /**
28615   * 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`.
28616   *
28617   * **Syntax**: `<'max-width'>`
28618   *
28619   * **Initial value**: `0`
28620   *
28621   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
28622   * | :----: | :-----: | :------: | :----: | :-: |
28623   * | **57** | **41**  | **12.1** | **79** | No  |
28624   *
28625   * @see https://developer.mozilla.org/docs/Web/CSS/max-block-size
28626   */
28627  "max-block-size"?: MaxBlockSizeProperty<TLength> | MaxBlockSizeProperty<TLength>[];
28628  /**
28629   * 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`.
28630   *
28631   * **Syntax**: `auto | <length> | <percentage> | min-content | max-content | fit-content(<length-percentage>)`
28632   *
28633   * **Initial value**: `none`
28634   *
28635   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
28636   * | :----: | :-----: | :-----: | :----: | :---: |
28637   * | **18** |  **1**  | **1.3** | **12** | **7** |
28638   *
28639   * @see https://developer.mozilla.org/docs/Web/CSS/max-height
28640   */
28641  "max-height"?: MaxHeightProperty<TLength> | MaxHeightProperty<TLength>[];
28642  /**
28643   * 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 the `max-width` or the `max-height` property depending on the value defined for `writing-mode`. If the writing mode is vertically oriented, the value of `max-inline-size` relates to the maximal height of the element, otherwise it relates to the maximal width of the element. It relates to `max-block-size`, which defines the other dimension of the element.
28644   *
28645   * **Syntax**: `<'max-width'>`
28646   *
28647   * **Initial value**: `0`
28648   *
28649   * | Chrome | Firefox |   Safari   |  Edge  | IE  |
28650   * | :----: | :-----: | :--------: | :----: | :-: |
28651   * | **57** | **41**  |  **12.1**  | **79** | No  |
28652   * |        |         | 10.1 _-x-_ |        |     |
28653   *
28654   * @see https://developer.mozilla.org/docs/Web/CSS/max-inline-size
28655   */
28656  "max-inline-size"?: MaxInlineSizeProperty<TLength> | MaxInlineSizeProperty<TLength>[];
28657  /**
28658   * **Syntax**: `none | <integer>`
28659   *
28660   * **Initial value**: `none`
28661   */
28662  "max-lines"?: MaxLinesProperty | MaxLinesProperty[];
28663  /**
28664   * 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`.
28665   *
28666   * **Syntax**: `auto | <length> | <percentage> | min-content | max-content | fit-content(<length-percentage>)`
28667   *
28668   * **Initial value**: `none`
28669   *
28670   * | Chrome | Firefox | Safari |  Edge  |  IE   |
28671   * | :----: | :-----: | :----: | :----: | :---: |
28672   * | **1**  |  **1**  | **1**  | **12** | **7** |
28673   *
28674   * @see https://developer.mozilla.org/docs/Web/CSS/max-width
28675   */
28676  "max-width"?: MaxWidthProperty<TLength> | MaxWidthProperty<TLength>[];
28677  /**
28678   * 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`.
28679   *
28680   * **Syntax**: `<'min-width'>`
28681   *
28682   * **Initial value**: `0`
28683   *
28684   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
28685   * | :----: | :-----: | :------: | :----: | :-: |
28686   * | **57** | **41**  | **12.1** | **79** | No  |
28687   *
28688   * @see https://developer.mozilla.org/docs/Web/CSS/min-block-size
28689   */
28690  "min-block-size"?: MinBlockSizeProperty<TLength> | MinBlockSizeProperty<TLength>[];
28691  /**
28692   * 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`.
28693   *
28694   * **Syntax**: `auto | <length> | <percentage> | min-content | max-content | fit-content(<length-percentage>)`
28695   *
28696   * **Initial value**: `auto`
28697   *
28698   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
28699   * | :----: | :-----: | :-----: | :----: | :---: |
28700   * | **1**  |  **3**  | **1.3** | **12** | **7** |
28701   *
28702   * @see https://developer.mozilla.org/docs/Web/CSS/min-height
28703   */
28704  "min-height"?: MinHeightProperty<TLength> | MinHeightProperty<TLength>[];
28705  /**
28706   * 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`.
28707   *
28708   * **Syntax**: `<'min-width'>`
28709   *
28710   * **Initial value**: `0`
28711   *
28712   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
28713   * | :----: | :-----: | :------: | :----: | :-: |
28714   * | **57** | **41**  | **12.1** | **79** | No  |
28715   *
28716   * @see https://developer.mozilla.org/docs/Web/CSS/min-inline-size
28717   */
28718  "min-inline-size"?: MinInlineSizeProperty<TLength> | MinInlineSizeProperty<TLength>[];
28719  /**
28720   * 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`.
28721   *
28722   * **Syntax**: `auto | <length> | <percentage> | min-content | max-content | fit-content(<length-percentage>)`
28723   *
28724   * **Initial value**: `auto`
28725   *
28726   * | Chrome | Firefox | Safari |  Edge  |  IE   |
28727   * | :----: | :-----: | :----: | :----: | :---: |
28728   * | **1**  |  **1**  | **1**  | **12** | **7** |
28729   *
28730   * @see https://developer.mozilla.org/docs/Web/CSS/min-width
28731   */
28732  "min-width"?: MinWidthProperty<TLength> | MinWidthProperty<TLength>[];
28733  /**
28734   * 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.
28735   *
28736   * **Syntax**: `<blend-mode>`
28737   *
28738   * **Initial value**: `normal`
28739   *
28740   * | Chrome | Firefox | Safari |  Edge  | IE  |
28741   * | :----: | :-----: | :----: | :----: | :-: |
28742   * | **41** | **32**  | **8**  | **79** | No  |
28743   *
28744   * @see https://developer.mozilla.org/docs/Web/CSS/mix-blend-mode
28745   */
28746  "mix-blend-mode"?: MixBlendModeProperty | MixBlendModeProperty[];
28747  /**
28748   * The **`offset-distance`** CSS property specifies a position along an `offset-path`.
28749   *
28750   * **Syntax**: `<length-percentage>`
28751   *
28752   * **Initial value**: `0`
28753   *
28754   * |         Chrome         | Firefox | Safari |  Edge  | IE  |
28755   * | :--------------------: | :-----: | :----: | :----: | :-: |
28756   * |         **55**         | **72**  |   No   | **79** | No  |
28757   * | 46 _(motion-distance)_ |         |        |        |     |
28758   *
28759   * @see https://developer.mozilla.org/docs/Web/CSS/offset-distance
28760   */
28761  "motion-distance"?: OffsetDistanceProperty<TLength> | OffsetDistanceProperty<TLength>[];
28762  /**
28763   * 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.
28764   *
28765   * **Syntax**: `none | ray( [ <angle> && <size>? && contain? ] ) | <path()> | <url> | [ <basic-shape> || <geometry-box> ]`
28766   *
28767   * **Initial value**: `none`
28768   *
28769   * |       Chrome       | Firefox | Safari |  Edge  | IE  |
28770   * | :----------------: | :-----: | :----: | :----: | :-: |
28771   * |       **55**       | **72**  |   No   | **79** | No  |
28772   * | 46 _(motion-path)_ |         |        |        |     |
28773   *
28774   * @see https://developer.mozilla.org/docs/Web/CSS/offset-path
28775   */
28776  "motion-path"?: OffsetPathProperty | OffsetPathProperty[];
28777  /**
28778   * The **`offset-rotate`** CSS property defines the direction of the element while positioning along the offset path.
28779   *
28780   * **Syntax**: `[ auto | reverse ] || <angle>`
28781   *
28782   * **Initial value**: `auto`
28783   *
28784   * |         Chrome         | Firefox | Safari |  Edge  | IE  |
28785   * | :--------------------: | :-----: | :----: | :----: | :-: |
28786   * |         **56**         | **72**  |   No   | **79** | No  |
28787   * | 46 _(motion-rotation)_ |         |        |        |     |
28788   *
28789   * @see https://developer.mozilla.org/docs/Web/CSS/offset-rotate
28790   */
28791  "motion-rotation"?: OffsetRotateProperty | OffsetRotateProperty[];
28792  /**
28793   * 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.
28794   *
28795   * **Syntax**: `fill | contain | cover | none | scale-down`
28796   *
28797   * **Initial value**: `fill`
28798   *
28799   * | Chrome | Firefox | Safari |  Edge  | IE  |
28800   * | :----: | :-----: | :----: | :----: | :-: |
28801   * | **31** | **36**  | **10** | **16** | No  |
28802   *
28803   * @see https://developer.mozilla.org/docs/Web/CSS/object-fit
28804   */
28805  "object-fit"?: ObjectFitProperty | ObjectFitProperty[];
28806  /**
28807   * 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.
28808   *
28809   * **Syntax**: `<position>`
28810   *
28811   * **Initial value**: `50% 50%`
28812   *
28813   * | Chrome | Firefox | Safari |  Edge  | IE  |
28814   * | :----: | :-----: | :----: | :----: | :-: |
28815   * | **31** | **36**  | **10** | **16** | No  |
28816   *
28817   * @see https://developer.mozilla.org/docs/Web/CSS/object-position
28818   */
28819  "object-position"?: ObjectPositionProperty<TLength> | ObjectPositionProperty<TLength>[];
28820  /**
28821   * **Syntax**: `auto | <position>`
28822   *
28823   * **Initial value**: `auto`
28824   *
28825   * | Chrome | Firefox | Safari |  Edge  | IE  |
28826   * | :----: | :-----: | :----: | :----: | :-: |
28827   * | **79** | **72**  |   No   | **79** | No  |
28828   *
28829   * @see https://developer.mozilla.org/docs/Web/CSS/offset-anchor
28830   */
28831  "offset-anchor"?: OffsetAnchorProperty<TLength> | OffsetAnchorProperty<TLength>[];
28832  /**
28833   * The **`offset-distance`** CSS property specifies a position along an `offset-path`.
28834   *
28835   * **Syntax**: `<length-percentage>`
28836   *
28837   * **Initial value**: `0`
28838   *
28839   * |         Chrome         | Firefox | Safari |  Edge  | IE  |
28840   * | :--------------------: | :-----: | :----: | :----: | :-: |
28841   * |         **55**         | **72**  |   No   | **79** | No  |
28842   * | 46 _(motion-distance)_ |         |        |        |     |
28843   *
28844   * @see https://developer.mozilla.org/docs/Web/CSS/offset-distance
28845   */
28846  "offset-distance"?: OffsetDistanceProperty<TLength> | OffsetDistanceProperty<TLength>[];
28847  /**
28848   * 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.
28849   *
28850   * **Syntax**: `none | ray( [ <angle> && <size>? && contain? ] ) | <path()> | <url> | [ <basic-shape> || <geometry-box> ]`
28851   *
28852   * **Initial value**: `none`
28853   *
28854   * |       Chrome       | Firefox | Safari |  Edge  | IE  |
28855   * | :----------------: | :-----: | :----: | :----: | :-: |
28856   * |       **55**       | **72**  |   No   | **79** | No  |
28857   * | 46 _(motion-path)_ |         |        |        |     |
28858   *
28859   * @see https://developer.mozilla.org/docs/Web/CSS/offset-path
28860   */
28861  "offset-path"?: OffsetPathProperty | OffsetPathProperty[];
28862  /**
28863   * The **`offset-rotate`** CSS property defines the direction of the element while positioning along the offset path.
28864   *
28865   * **Syntax**: `[ auto | reverse ] || <angle>`
28866   *
28867   * **Initial value**: `auto`
28868   *
28869   * |         Chrome         | Firefox | Safari |  Edge  | IE  |
28870   * | :--------------------: | :-----: | :----: | :----: | :-: |
28871   * |         **56**         | **72**  |   No   | **79** | No  |
28872   * | 46 _(motion-rotation)_ |         |        |        |     |
28873   *
28874   * @see https://developer.mozilla.org/docs/Web/CSS/offset-rotate
28875   */
28876  "offset-rotate"?: OffsetRotateProperty | OffsetRotateProperty[];
28877  /**
28878   * The **`offset-rotate`** CSS property defines the direction of the element while positioning along the offset path.
28879   *
28880   * **Syntax**: `[ auto | reverse ] || <angle>`
28881   *
28882   * **Initial value**: `auto`
28883   *
28884   * |         Chrome         | Firefox | Safari |  Edge  | IE  |
28885   * | :--------------------: | :-----: | :----: | :----: | :-: |
28886   * |         **56**         | **72**  |   No   | **79** | No  |
28887   * | 46 _(motion-rotation)_ |         |        |        |     |
28888   *
28889   * @see https://developer.mozilla.org/docs/Web/CSS/offset-rotate
28890   */
28891  "offset-rotation"?: OffsetRotateProperty | OffsetRotateProperty[];
28892  /**
28893   * The **`opacity`** CSS property sets the transparency of an element or the degree to which content behind an element is visible.
28894   *
28895   * **Syntax**: `<alpha-value>`
28896   *
28897   * **Initial value**: `1.0`
28898   *
28899   * | Chrome | Firefox | Safari |  Edge  |  IE   |
28900   * | :----: | :-----: | :----: | :----: | :---: |
28901   * | **1**  |  **1**  | **2**  | **12** | **9** |
28902   *
28903   * @see https://developer.mozilla.org/docs/Web/CSS/opacity
28904   */
28905  opacity?: OpacityProperty | OpacityProperty[];
28906  /**
28907   * 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.
28908   *
28909   * **Syntax**: `<integer>`
28910   *
28911   * **Initial value**: `0`
28912   *
28913   * |  Chrome  | Firefox | Safari  |  Edge  |    IE    |
28914   * | :------: | :-----: | :-----: | :----: | :------: |
28915   * |  **29**  | **20**  |  **9**  | **12** |  **11**  |
28916   * | 21 _-x-_ |         | 7 _-x-_ |        | 10 _-x-_ |
28917   *
28918   * @see https://developer.mozilla.org/docs/Web/CSS/order
28919   */
28920  order?: GlobalsNumber | GlobalsNumber[];
28921  /**
28922   * 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.
28923   *
28924   * **Syntax**: `<integer>`
28925   *
28926   * **Initial value**: `2`
28927   *
28928   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
28929   * | :----: | :-----: | :-----: | :----: | :---: |
28930   * | **25** |   No    | **1.3** | **12** | **8** |
28931   *
28932   * @see https://developer.mozilla.org/docs/Web/CSS/orphans
28933   */
28934  orphans?: GlobalsNumber | GlobalsNumber[];
28935  /**
28936   * The **`outline-color`** CSS property sets the color of an element's outline.
28937   *
28938   * **Syntax**: `<color> | invert`
28939   *
28940   * **Initial value**: `invert`, for browsers supporting it, `currentColor` for the other
28941   *
28942   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
28943   * | :----: | :-----: | :-----: | :----: | :---: |
28944   * | **1**  | **1.5** | **1.2** | **12** | **8** |
28945   *
28946   * @see https://developer.mozilla.org/docs/Web/CSS/outline-color
28947   */
28948  "outline-color"?: OutlineColorProperty | OutlineColorProperty[];
28949  /**
28950   * The **`outline-offset`** CSS property sets the amount of space between an outline and the edge or border of an element.
28951   *
28952   * **Syntax**: `<length>`
28953   *
28954   * **Initial value**: `0`
28955   *
28956   * | Chrome | Firefox | Safari  |  Edge  | IE  |
28957   * | :----: | :-----: | :-----: | :----: | :-: |
28958   * | **1**  | **1.5** | **1.2** | **15** | No  |
28959   *
28960   * @see https://developer.mozilla.org/docs/Web/CSS/outline-offset
28961   */
28962  "outline-offset"?: OutlineOffsetProperty<TLength> | OutlineOffsetProperty<TLength>[];
28963  /**
28964   * 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`.
28965   *
28966   * **Syntax**: `auto | <'border-style'>`
28967   *
28968   * **Initial value**: `none`
28969   *
28970   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
28971   * | :----: | :-----: | :-----: | :----: | :---: |
28972   * | **1**  | **1.5** | **1.2** | **12** | **8** |
28973   *
28974   * @see https://developer.mozilla.org/docs/Web/CSS/outline-style
28975   */
28976  "outline-style"?: OutlineStyleProperty | OutlineStyleProperty[];
28977  /**
28978   * The **`outline-width`** CSS property sets the thickness of an element's outline. An outline is a line that is drawn around an element, outside the `border`.
28979   *
28980   * **Syntax**: `<line-width>`
28981   *
28982   * **Initial value**: `medium`
28983   *
28984   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
28985   * | :----: | :-----: | :-----: | :----: | :---: |
28986   * | **1**  | **1.5** | **1.2** | **12** | **8** |
28987   *
28988   * @see https://developer.mozilla.org/docs/Web/CSS/outline-width
28989   */
28990  "outline-width"?: OutlineWidthProperty<TLength> | OutlineWidthProperty<TLength>[];
28991  /**
28992   * **Syntax**: `auto | none`
28993   *
28994   * **Initial value**: `auto`
28995   *
28996   * | Chrome | Firefox | Safari |  Edge  | IE  |
28997   * | :----: | :-----: | :----: | :----: | :-: |
28998   * | **56** | **66**  |   No   | **79** | No  |
28999   *
29000   * @see https://developer.mozilla.org/docs/Web/CSS/overflow-anchor
29001   */
29002  "overflow-anchor"?: OverflowAnchorProperty | OverflowAnchorProperty[];
29003  /**
29004   * **Syntax**: `visible | hidden | clip | scroll | auto`
29005   *
29006   * **Initial value**: `auto`
29007   *
29008   * | Chrome | Firefox | Safari | Edge | IE  |
29009   * | :----: | :-----: | :----: | :--: | :-: |
29010   * |   No   | **69**  |   No   |  No  | No  |
29011   *
29012   * @see https://developer.mozilla.org/docs/Web/CSS/overflow-block
29013   */
29014  "overflow-block"?: OverflowBlockProperty | OverflowBlockProperty[];
29015  /**
29016   * 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.
29017   *
29018   * **Syntax**: `padding-box | content-box`
29019   *
29020   * **Initial value**: `padding-box`
29021   *
29022   * | Chrome | Firefox | Safari | Edge | IE  |
29023   * | :----: | :-----: | :----: | :--: | :-: |
29024   * |   No   | **29**  |   No   |  No  | No  |
29025   *
29026   * @see https://developer.mozilla.org/docs/Mozilla/Gecko/Chrome/CSS/overflow-clip-box
29027   */
29028  "overflow-clip-box"?: OverflowClipBoxProperty | OverflowClipBoxProperty[];
29029  /**
29030   * **Syntax**: `visible | hidden | clip | scroll | auto`
29031   *
29032   * **Initial value**: `auto`
29033   *
29034   * | Chrome | Firefox | Safari | Edge | IE  |
29035   * | :----: | :-----: | :----: | :--: | :-: |
29036   * |   No   | **69**  |   No   |  No  | No  |
29037   *
29038   * @see https://developer.mozilla.org/docs/Web/CSS/overflow-inline
29039   */
29040  "overflow-inline"?: OverflowInlineProperty | OverflowInlineProperty[];
29041  /**
29042   * The `**overflow-wrap**` CSS property sets whether the browser should insert line breaks within words to prevent text from overflowing its content box.
29043   *
29044   * **Syntax**: `normal | break-word | anywhere`
29045   *
29046   * **Initial value**: `normal`
29047   *
29048   * |     Chrome      |      Firefox      |     Safari      |       Edge       |          IE           |
29049   * | :-------------: | :---------------: | :-------------: | :--------------: | :-------------------: |
29050   * |     **23**      |      **49**       |     **6.1**     |      **18**      | **5.5** _(word-wrap)_ |
29051   * | 1 _(word-wrap)_ | 3.5 _(word-wrap)_ | 1 _(word-wrap)_ | 12 _(word-wrap)_ |                       |
29052   *
29053   * @see https://developer.mozilla.org/docs/Web/CSS/overflow-wrap
29054   */
29055  "overflow-wrap"?: OverflowWrapProperty | OverflowWrapProperty[];
29056  /**
29057   * 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.
29058   *
29059   * **Syntax**: `visible | hidden | clip | scroll | auto`
29060   *
29061   * **Initial value**: `visible`
29062   *
29063   * | Chrome | Firefox | Safari |  Edge  |  IE   |
29064   * | :----: | :-----: | :----: | :----: | :---: |
29065   * | **1**  | **3.5** | **3**  | **12** | **5** |
29066   *
29067   * @see https://developer.mozilla.org/docs/Web/CSS/overflow-x
29068   */
29069  "overflow-x"?: OverflowXProperty | OverflowXProperty[];
29070  /**
29071   * 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.
29072   *
29073   * **Syntax**: `visible | hidden | clip | scroll | auto`
29074   *
29075   * **Initial value**: `visible`
29076   *
29077   * | Chrome | Firefox | Safari |  Edge  |  IE   |
29078   * | :----: | :-----: | :----: | :----: | :---: |
29079   * | **1**  | **1.5** | **3**  | **12** | **5** |
29080   *
29081   * @see https://developer.mozilla.org/docs/Web/CSS/overflow-y
29082   */
29083  "overflow-y"?: OverflowYProperty | OverflowYProperty[];
29084  /**
29085   * 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`.
29086   *
29087   * **Syntax**: `[ contain | none | auto ]{1,2}`
29088   *
29089   * **Initial value**: `auto`
29090   *
29091   * | Chrome | Firefox | Safari |  Edge  | IE  |
29092   * | :----: | :-----: | :----: | :----: | :-: |
29093   * | **63** | **59**  |   No   | **18** | No  |
29094   *
29095   * @see https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior
29096   */
29097  "overscroll-behavior"?: OverscrollBehaviorProperty | OverscrollBehaviorProperty[];
29098  /**
29099   * The **`overscroll-behavior-block`** CSS property sets the browser's behavior when the block direction boundary of a scrolling area is reached.
29100   *
29101   * **Syntax**: `contain | none | auto`
29102   *
29103   * **Initial value**: `auto`
29104   *
29105   * | Chrome | Firefox | Safari |  Edge  | IE  |
29106   * | :----: | :-----: | :----: | :----: | :-: |
29107   * | **77** | **73**  |   No   | **79** | No  |
29108   *
29109   * @see https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-block
29110   */
29111  "overscroll-behavior-block"?: OverscrollBehaviorBlockProperty | OverscrollBehaviorBlockProperty[];
29112  /**
29113   * The **`overscroll-behavior-inline`** CSS property sets the browser's behavior when the inline direction boundary of a scrolling area is reached.
29114   *
29115   * **Syntax**: `contain | none | auto`
29116   *
29117   * **Initial value**: `auto`
29118   *
29119   * | Chrome | Firefox | Safari |  Edge  | IE  |
29120   * | :----: | :-----: | :----: | :----: | :-: |
29121   * | **77** | **73**  |   No   | **79** | No  |
29122   *
29123   * @see https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-inline
29124   */
29125  "overscroll-behavior-inline"?: OverscrollBehaviorInlineProperty | OverscrollBehaviorInlineProperty[];
29126  /**
29127   * The **`overscroll-behavior-x`** CSS property sets the browser's behavior when the horizontal boundary of a scrolling area is reached.
29128   *
29129   * **Syntax**: `contain | none | auto`
29130   *
29131   * **Initial value**: `auto`
29132   *
29133   * | Chrome | Firefox | Safari |  Edge  | IE  |
29134   * | :----: | :-----: | :----: | :----: | :-: |
29135   * | **63** | **59**  |   No   | **18** | No  |
29136   *
29137   * @see https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-x
29138   */
29139  "overscroll-behavior-x"?: OverscrollBehaviorXProperty | OverscrollBehaviorXProperty[];
29140  /**
29141   * The **`overscroll-behavior-y`** CSS property sets the browser's behavior when the vertical boundary of a scrolling area is reached.
29142   *
29143   * **Syntax**: `contain | none | auto`
29144   *
29145   * **Initial value**: `auto`
29146   *
29147   * | Chrome | Firefox | Safari |  Edge  | IE  |
29148   * | :----: | :-----: | :----: | :----: | :-: |
29149   * | **63** | **59**  |   No   | **18** | No  |
29150   *
29151   * @see https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-y
29152   */
29153  "overscroll-behavior-y"?: OverscrollBehaviorYProperty | OverscrollBehaviorYProperty[];
29154  /**
29155   * The **`padding-block`** CSS 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.
29156   *
29157   * **Syntax**: `<'padding-left'>{1,2}`
29158   *
29159   * **Initial value**: `0`
29160   *
29161   * | Chrome | Firefox | Safari | Edge | IE  |
29162   * | :----: | :-----: | :----: | :--: | :-: |
29163   * |  n/a   | **66**  |   No   | n/a  | No  |
29164   *
29165   * @see https://developer.mozilla.org/docs/Web/CSS/padding-block
29166   */
29167  "padding-block"?: PaddingBlockProperty<TLength> | PaddingBlockProperty<TLength>[];
29168  /**
29169   * 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. It corresponds to the `padding-top`, `padding-right`, `padding-bottom`, or `padding-left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
29170   *
29171   * **Syntax**: `<'padding-left'>`
29172   *
29173   * **Initial value**: `0`
29174   *
29175   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
29176   * | :----: | :-----: | :------: | :----: | :-: |
29177   * | **69** | **41**  | **12.1** | **79** | No  |
29178   *
29179   * @see https://developer.mozilla.org/docs/Web/CSS/padding-block-end
29180   */
29181  "padding-block-end"?: PaddingBlockEndProperty<TLength> | PaddingBlockEndProperty<TLength>[];
29182  /**
29183   * 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. It corresponds to the `padding-top`, `padding-right`, `padding-bottom`, or `padding-left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
29184   *
29185   * **Syntax**: `<'padding-left'>`
29186   *
29187   * **Initial value**: `0`
29188   *
29189   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
29190   * | :----: | :-----: | :------: | :----: | :-: |
29191   * | **69** | **41**  | **12.1** | **79** | No  |
29192   *
29193   * @see https://developer.mozilla.org/docs/Web/CSS/padding-block-start
29194   */
29195  "padding-block-start"?: PaddingBlockStartProperty<TLength> | PaddingBlockStartProperty<TLength>[];
29196  /**
29197   * The **`padding-bottom`** CSS property sets the height of the padding area on the bottom of an element.
29198   *
29199   * **Syntax**: `<length> | <percentage>`
29200   *
29201   * **Initial value**: `0`
29202   *
29203   * | Chrome | Firefox | Safari |  Edge  |  IE   |
29204   * | :----: | :-----: | :----: | :----: | :---: |
29205   * | **1**  |  **1**  | **1**  | **12** | **4** |
29206   *
29207   * @see https://developer.mozilla.org/docs/Web/CSS/padding-bottom
29208   */
29209  "padding-bottom"?: PaddingBottomProperty<TLength> | PaddingBottomProperty<TLength>[];
29210  /**
29211   * The **`padding-inline`** CSS 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.
29212   *
29213   * **Syntax**: `<'padding-left'>{1,2}`
29214   *
29215   * **Initial value**: `0`
29216   *
29217   * | Chrome | Firefox | Safari | Edge | IE  |
29218   * | :----: | :-----: | :----: | :--: | :-: |
29219   * |  n/a   | **66**  |   No   | n/a  | No  |
29220   *
29221   * @see https://developer.mozilla.org/docs/Web/CSS/padding-inline
29222   */
29223  "padding-inline"?: PaddingInlineProperty<TLength> | PaddingInlineProperty<TLength>[];
29224  /**
29225   * 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. It corresponds to the `padding-top`, `padding-right`, `padding-bottom`, or `padding-left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
29226   *
29227   * **Syntax**: `<'padding-left'>`
29228   *
29229   * **Initial value**: `0`
29230   *
29231   * |          Chrome           |        Firefox         |          Safari           |  Edge  | IE  |
29232   * | :-----------------------: | :--------------------: | :-----------------------: | :----: | :-: |
29233   * |          **69**           |         **41**         |         **12.1**          | **79** | No  |
29234   * | 2 _(-webkit-padding-end)_ | 3 _(-moz-padding-end)_ | 3 _(-webkit-padding-end)_ |        |     |
29235   *
29236   * @see https://developer.mozilla.org/docs/Web/CSS/padding-inline-end
29237   */
29238  "padding-inline-end"?: PaddingInlineEndProperty<TLength> | PaddingInlineEndProperty<TLength>[];
29239  /**
29240   * 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. It corresponds to the `padding-top`, `padding-right`, `padding-bottom`, or `padding-left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
29241   *
29242   * **Syntax**: `<'padding-left'>`
29243   *
29244   * **Initial value**: `0`
29245   *
29246   * |           Chrome            |         Firefox          |           Safari            |  Edge  | IE  |
29247   * | :-------------------------: | :----------------------: | :-------------------------: | :----: | :-: |
29248   * |           **69**            |          **41**          |          **12.1**           | **79** | No  |
29249   * | 2 _(-webkit-padding-start)_ | 3 _(-moz-padding-start)_ | 3 _(-webkit-padding-start)_ |        |     |
29250   *
29251   * @see https://developer.mozilla.org/docs/Web/CSS/padding-inline-start
29252   */
29253  "padding-inline-start"?: PaddingInlineStartProperty<TLength> | PaddingInlineStartProperty<TLength>[];
29254  /**
29255   * The **`padding-left`** CSS property sets the width of the padding area on the left side of an element.
29256   *
29257   * **Syntax**: `<length> | <percentage>`
29258   *
29259   * **Initial value**: `0`
29260   *
29261   * | Chrome | Firefox | Safari |  Edge  |  IE   |
29262   * | :----: | :-----: | :----: | :----: | :---: |
29263   * | **1**  |  **1**  | **1**  | **12** | **4** |
29264   *
29265   * @see https://developer.mozilla.org/docs/Web/CSS/padding-left
29266   */
29267  "padding-left"?: PaddingLeftProperty<TLength> | PaddingLeftProperty<TLength>[];
29268  /**
29269   * The **`padding-right`** CSS property sets the width of the padding area on the right side of an element.
29270   *
29271   * **Syntax**: `<length> | <percentage>`
29272   *
29273   * **Initial value**: `0`
29274   *
29275   * | Chrome | Firefox | Safari |  Edge  |  IE   |
29276   * | :----: | :-----: | :----: | :----: | :---: |
29277   * | **1**  |  **1**  | **1**  | **12** | **4** |
29278   *
29279   * @see https://developer.mozilla.org/docs/Web/CSS/padding-right
29280   */
29281  "padding-right"?: PaddingRightProperty<TLength> | PaddingRightProperty<TLength>[];
29282  /**
29283   * The **`padding-top`** padding area on the top of an element.
29284   *
29285   * **Syntax**: `<length> | <percentage>`
29286   *
29287   * **Initial value**: `0`
29288   *
29289   * | Chrome | Firefox | Safari |  Edge  |  IE   |
29290   * | :----: | :-----: | :----: | :----: | :---: |
29291   * | **1**  |  **1**  | **1**  | **12** | **4** |
29292   *
29293   * @see https://developer.mozilla.org/docs/Web/CSS/padding-top
29294   */
29295  "padding-top"?: PaddingTopProperty<TLength> | PaddingTopProperty<TLength>[];
29296  /**
29297   * The **`page-break-after`** CSS property adjusts page breaks _after_ the current element.
29298   *
29299   * **Syntax**: `auto | always | avoid | left | right | recto | verso`
29300   *
29301   * **Initial value**: `auto`
29302   *
29303   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
29304   * | :----: | :-----: | :-----: | :----: | :---: |
29305   * | **1**  |  **1**  | **1.2** | **12** | **4** |
29306   *
29307   * @see https://developer.mozilla.org/docs/Web/CSS/page-break-after
29308   */
29309  "page-break-after"?: PageBreakAfterProperty | PageBreakAfterProperty[];
29310  /**
29311   * The **`page-break-before`** CSS property adjusts page breaks _before_ the current element.
29312   *
29313   * **Syntax**: `auto | always | avoid | left | right | recto | verso`
29314   *
29315   * **Initial value**: `auto`
29316   *
29317   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
29318   * | :----: | :-----: | :-----: | :----: | :---: |
29319   * | **1**  |  **1**  | **1.2** | **12** | **4** |
29320   *
29321   * @see https://developer.mozilla.org/docs/Web/CSS/page-break-before
29322   */
29323  "page-break-before"?: PageBreakBeforeProperty | PageBreakBeforeProperty[];
29324  /**
29325   * The **`page-break-inside`** CSS property adjusts page breaks _inside_ the current element.
29326   *
29327   * **Syntax**: `auto | avoid`
29328   *
29329   * **Initial value**: `auto`
29330   *
29331   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
29332   * | :----: | :-----: | :-----: | :----: | :---: |
29333   * | **1**  | **19**  | **1.3** | **12** | **8** |
29334   *
29335   * @see https://developer.mozilla.org/docs/Web/CSS/page-break-inside
29336   */
29337  "page-break-inside"?: PageBreakInsideProperty | PageBreakInsideProperty[];
29338  /**
29339   * 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.
29340   *
29341   * **Syntax**: `normal | [ fill || stroke || markers ]`
29342   *
29343   * **Initial value**: `normal`
29344   *
29345   * | Chrome | Firefox | Safari |  Edge  | IE  |
29346   * | :----: | :-----: | :----: | :----: | :-: |
29347   * | **35** | **60**  | **8**  | **17** | No  |
29348   *
29349   * @see https://developer.mozilla.org/docs/Web/CSS/paint-order
29350   */
29351  "paint-order"?: PaintOrderProperty | PaintOrderProperty[];
29352  /**
29353   * 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. Each 3D element with z>0 becomes larger; each 3D-element with z<0 becomes smaller. The strength of the effect is determined by the value of this property.
29354   *
29355   * **Syntax**: `none | <length>`
29356   *
29357   * **Initial value**: `none`
29358   *
29359   * |  Chrome  | Firefox  | Safari  |  Edge  |   IE   |
29360   * | :------: | :------: | :-----: | :----: | :----: |
29361   * |  **36**  |  **16**  |  **9**  | **12** | **10** |
29362   * | 12 _-x-_ | 10 _-x-_ | 4 _-x-_ |        |        |
29363   *
29364   * @see https://developer.mozilla.org/docs/Web/CSS/perspective
29365   */
29366  perspective?: PerspectiveProperty<TLength> | PerspectiveProperty<TLength>[];
29367  /**
29368   * 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.
29369   *
29370   * **Syntax**: `<position>`
29371   *
29372   * **Initial value**: `50% 50%`
29373   *
29374   * |  Chrome  | Firefox  | Safari  |  Edge  |   IE   |
29375   * | :------: | :------: | :-----: | :----: | :----: |
29376   * |  **36**  |  **16**  |  **9**  | **12** | **10** |
29377   * | 12 _-x-_ | 10 _-x-_ | 4 _-x-_ |        |        |
29378   *
29379   * @see https://developer.mozilla.org/docs/Web/CSS/perspective-origin
29380   */
29381  "perspective-origin"?: PerspectiveOriginProperty<TLength> | PerspectiveOriginProperty<TLength>[];
29382  /**
29383   * The `**place-content**` CSS property is a shorthand for `align-content` and `justify-content`. It can be used in any layout method which utilizes both of these alignment values.
29384   *
29385   * **Syntax**: `<'align-content'> <'justify-content'>?`
29386   *
29387   * **Initial value**: `normal`
29388   *
29389   * ---
29390   *
29391   * _Supported in Flex Layout_
29392   *
29393   * | Chrome | Firefox | Safari |  Edge  | IE  |
29394   * | :----: | :-----: | :----: | :----: | :-: |
29395   * | **59** | **45**  | **9**  | **79** | No  |
29396   *
29397   * ---
29398   *
29399   * _Supported in Grid Layout_
29400   *
29401   * | Chrome | Firefox | Safari |  Edge  | IE  |
29402   * | :----: | :-----: | :----: | :----: | :-: |
29403   * | **59** | **53**  | **11** | **79** | No  |
29404   *
29405   * ---
29406   *
29407   * @see https://developer.mozilla.org/docs/Web/CSS/place-content
29408   */
29409  "place-content"?: PlaceContentProperty | PlaceContentProperty[];
29410  /**
29411   * The **`pointer-events`** CSS property sets under what circumstances (if any) a particular graphic element can become the target of mouse events.
29412   *
29413   * **Syntax**: `auto | none | visiblePainted | visibleFill | visibleStroke | visible | painted | fill | stroke | all | inherit`
29414   *
29415   * **Initial value**: `auto`
29416   *
29417   * | Chrome | Firefox | Safari |  Edge  |   IE   |
29418   * | :----: | :-----: | :----: | :----: | :----: |
29419   * | **1**  | **1.5** | **4**  | **12** | **11** |
29420   *
29421   * @see https://developer.mozilla.org/docs/Web/CSS/pointer-events
29422   */
29423  "pointer-events"?: PointerEventsProperty | PointerEventsProperty[];
29424  /**
29425   * 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.
29426   *
29427   * **Syntax**: `static | relative | absolute | sticky | fixed`
29428   *
29429   * **Initial value**: `static`
29430   *
29431   * | Chrome | Firefox | Safari |  Edge  |  IE   |
29432   * | :----: | :-----: | :----: | :----: | :---: |
29433   * | **1**  |  **1**  | **1**  | **12** | **4** |
29434   *
29435   * @see https://developer.mozilla.org/docs/Web/CSS/position
29436   */
29437  position?: PositionProperty | PositionProperty[];
29438  /**
29439   * The **`quotes`** CSS property sets how quotation marks appear.
29440   *
29441   * **Syntax**: `none | auto | [ <string> <string> ]+`
29442   *
29443   * **Initial value**: depends on user agent
29444   *
29445   * | Chrome | Firefox | Safari |  Edge  |  IE   |
29446   * | :----: | :-----: | :----: | :----: | :---: |
29447   * | **11** | **1.5** | **9**  | **12** | **8** |
29448   *
29449   * @see https://developer.mozilla.org/docs/Web/CSS/quotes
29450   */
29451  quotes?: QuotesProperty | QuotesProperty[];
29452  /**
29453   * The **`resize`** CSS property sets whether an element is resizable, and if so, in which directions.
29454   *
29455   * **Syntax**: `none | both | horizontal | vertical | block | inline`
29456   *
29457   * **Initial value**: `none`
29458   *
29459   * | Chrome | Firefox | Safari |  Edge  | IE  |
29460   * | :----: | :-----: | :----: | :----: | :-: |
29461   * | **1**  |  **4**  | **3**  | **79** | No  |
29462   *
29463   * @see https://developer.mozilla.org/docs/Web/CSS/resize
29464   */
29465  resize?: ResizeProperty | ResizeProperty[];
29466  /**
29467   * The **`right`** CSS property participates in specifying the horizontal position of a _positioned element_. It has no effect on non-positioned elements.
29468   *
29469   * **Syntax**: `<length> | <percentage> | auto`
29470   *
29471   * **Initial value**: `auto`
29472   *
29473   * | Chrome | Firefox | Safari |  Edge  |   IE    |
29474   * | :----: | :-----: | :----: | :----: | :-----: |
29475   * | **1**  |  **1**  | **1**  | **12** | **5.5** |
29476   *
29477   * @see https://developer.mozilla.org/docs/Web/CSS/right
29478   */
29479  right?: RightProperty<TLength> | RightProperty<TLength>[];
29480  /**
29481   * The **`rotate`** CSS property allows you to specify rotation transforms individually and independantly 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.
29482   *
29483   * **Syntax**: `none | <angle> | [ x | y | z | <number>{3} ] && <angle>`
29484   *
29485   * **Initial value**: `none`
29486   *
29487   * | Chrome | Firefox | Safari | Edge | IE  |
29488   * | :----: | :-----: | :----: | :--: | :-: |
29489   * |   No   | **72**  |   No   |  No  | No  |
29490   *
29491   * @see https://developer.mozilla.org/docs/Web/CSS/rotate
29492   */
29493  rotate?: RotateProperty | RotateProperty[];
29494  /**
29495   * The **`row-gap`** CSS property sets the size of the gap (gutter) between an element's grid rows.
29496   *
29497   * **Syntax**: `normal | <length-percentage>`
29498   *
29499   * **Initial value**: `normal`
29500   *
29501   * ---
29502   *
29503   * _Supported in Flex Layout_
29504   *
29505   * | Chrome | Firefox | Safari | Edge | IE  |
29506   * | :----: | :-----: | :----: | :--: | :-: |
29507   * |   No   | **63**  |   No   |  No  | No  |
29508   *
29509   * ---
29510   *
29511   * _Supported in Grid Layout_
29512   *
29513   * |       Chrome        |       Firefox       |          Safari           |  Edge  | IE  |
29514   * | :-----------------: | :-----------------: | :-----------------------: | :----: | :-: |
29515   * |       **66**        |       **61**        | **10.1** _(grid-row-gap)_ | **16** | No  |
29516   * | 57 _(grid-row-gap)_ | 52 _(grid-row-gap)_ |                           |        |     |
29517   *
29518   * ---
29519   *
29520   * @see https://developer.mozilla.org/docs/Web/CSS/row-gap
29521   */
29522  "row-gap"?: RowGapProperty<TLength> | RowGapProperty<TLength>[];
29523  /**
29524   * The `**ruby-align**` CSS property defines the distribution of the different ruby elements over the base.
29525   *
29526   * **Syntax**: `start | center | space-between | space-around`
29527   *
29528   * **Initial value**: `space-around`
29529   *
29530   * | Chrome | Firefox | Safari | Edge | IE  |
29531   * | :----: | :-----: | :----: | :--: | :-: |
29532   * |   No   | **38**  |   No   |  No  | No  |
29533   *
29534   * @see https://developer.mozilla.org/docs/Web/CSS/ruby-align
29535   */
29536  "ruby-align"?: RubyAlignProperty | RubyAlignProperty[];
29537  /**
29538   * **Syntax**: `separate | collapse | auto`
29539   *
29540   * **Initial value**: `separate`
29541   */
29542  "ruby-merge"?: RubyMergeProperty | RubyMergeProperty[];
29543  /**
29544   * 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`).
29545   *
29546   * **Syntax**: `over | under | inter-character`
29547   *
29548   * **Initial value**: `over`
29549   *
29550   * | Chrome | Firefox | Safari | Edge  | IE  |
29551   * | :----: | :-----: | :----: | :---: | :-: |
29552   * |   No   | **38**  |   No   | 12-79 | No  |
29553   *
29554   * @see https://developer.mozilla.org/docs/Web/CSS/ruby-position
29555   */
29556  "ruby-position"?: RubyPositionProperty | RubyPositionProperty[];
29557  /**
29558   * The **`scale`** CSS property allows you to specify scale transforms individually and independantly 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.
29559   *
29560   * **Syntax**: `none | <number>{1,3}`
29561   *
29562   * **Initial value**: `none`
29563   *
29564   * | Chrome | Firefox | Safari | Edge | IE  |
29565   * | :----: | :-----: | :----: | :--: | :-: |
29566   * |   No   | **72**  |   No   |  No  | No  |
29567   *
29568   * @see https://developer.mozilla.org/docs/Web/CSS/scale
29569   */
29570  scale?: ScaleProperty | ScaleProperty[];
29571  /**
29572   * The **`scroll-behavior`** CSS property sets the behavior for a scrolling box when scrolling is triggered by the navigation or CSSOM scrolling APIs.
29573   *
29574   * **Syntax**: `auto | smooth`
29575   *
29576   * **Initial value**: `auto`
29577   *
29578   * | Chrome | Firefox | Safari |  Edge  | IE  |
29579   * | :----: | :-----: | :----: | :----: | :-: |
29580   * | **61** | **36**  |   No   | **79** | No  |
29581   *
29582   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-behavior
29583   */
29584  "scroll-behavior"?: ScrollBehaviorProperty | ScrollBehaviorProperty[];
29585  /**
29586   * The **`scroll-margin`** property is a shorthand property which sets all of the `scroll-margin` longhands, assigning values much like the `margin` property does for the `margin-*` longhands.
29587   *
29588   * **Syntax**: `<length>{1,4}`
29589   *
29590   * **Initial value**: `0`
29591   *
29592   * | Chrome | Firefox |            Safari             |  Edge  | IE  |
29593   * | :----: | :-----: | :---------------------------: | :----: | :-: |
29594   * | **69** | **68**  | **11** _(scroll-snap-margin)_ | **79** | No  |
29595   *
29596   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin
29597   */
29598  "scroll-margin"?: ScrollMarginProperty<TLength> | ScrollMarginProperty<TLength>[];
29599  /**
29600   * The `scroll-margin-block` property is a shorthand property which sets the scroll-margin longhands in the block dimension.
29601   *
29602   * **Syntax**: `<length>{1,2}`
29603   *
29604   * **Initial value**: `0`
29605   *
29606   * | Chrome | Firefox | Safari |  Edge  | IE  |
29607   * | :----: | :-----: | :----: | :----: | :-: |
29608   * | **69** | **68**  |   No   | **79** | No  |
29609   *
29610   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-block
29611   */
29612  "scroll-margin-block"?: ScrollMarginBlockProperty<TLength> | ScrollMarginBlockProperty<TLength>[];
29613  /**
29614   * 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.
29615   *
29616   * **Syntax**: `<length>`
29617   *
29618   * **Initial value**: `0`
29619   *
29620   * | Chrome | Firefox | Safari |  Edge  | IE  |
29621   * | :----: | :-----: | :----: | :----: | :-: |
29622   * | **69** | **68**  |   No   | **79** | No  |
29623   *
29624   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-block-end
29625   */
29626  "scroll-margin-block-end"?: ScrollMarginBlockEndProperty<TLength> | ScrollMarginBlockEndProperty<TLength>[];
29627  /**
29628   * 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.
29629   *
29630   * **Syntax**: `<length>`
29631   *
29632   * **Initial value**: `0`
29633   *
29634   * | Chrome | Firefox | Safari |  Edge  | IE  |
29635   * | :----: | :-----: | :----: | :----: | :-: |
29636   * | **69** | **68**  |   No   | **79** | No  |
29637   *
29638   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-block-start
29639   */
29640  "scroll-margin-block-start"?: ScrollMarginBlockStartProperty<TLength> | ScrollMarginBlockStartProperty<TLength>[];
29641  /**
29642   * 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.
29643   *
29644   * **Syntax**: `<length>`
29645   *
29646   * **Initial value**: `0`
29647   *
29648   * | Chrome | Firefox |                Safari                |  Edge  | IE  |
29649   * | :----: | :-----: | :----------------------------------: | :----: | :-: |
29650   * | **69** | **68**  | **11** _(scroll-snap-margin-bottom)_ | **79** | No  |
29651   *
29652   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-bottom
29653   */
29654  "scroll-margin-bottom"?: ScrollMarginBottomProperty<TLength> | ScrollMarginBottomProperty<TLength>[];
29655  /**
29656   * The `scroll-margin-inline` property is a shorthand property which sets the scroll-margin longhands in the inline dimension.
29657   *
29658   * **Syntax**: `<length>{1,2}`
29659   *
29660   * **Initial value**: `0`
29661   *
29662   * | Chrome | Firefox | Safari | Edge | IE  |
29663   * | :----: | :-----: | :----: | :--: | :-: |
29664   * |   No   | **68**  |   No   |  No  | No  |
29665   *
29666   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-inline
29667   */
29668  "scroll-margin-inline"?: ScrollMarginInlineProperty<TLength> | ScrollMarginInlineProperty<TLength>[];
29669  /**
29670   * 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.
29671   *
29672   * **Syntax**: `<length>`
29673   *
29674   * **Initial value**: `0`
29675   *
29676   * | Chrome | Firefox | Safari |  Edge  | IE  |
29677   * | :----: | :-----: | :----: | :----: | :-: |
29678   * | **69** | **68**  |   No   | **79** | No  |
29679   *
29680   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-inline-end
29681   */
29682  "scroll-margin-inline-end"?: ScrollMarginInlineEndProperty<TLength> | ScrollMarginInlineEndProperty<TLength>[];
29683  /**
29684   * 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.
29685   *
29686   * **Syntax**: `<length>`
29687   *
29688   * **Initial value**: `0`
29689   *
29690   * | Chrome | Firefox | Safari |  Edge  | IE  |
29691   * | :----: | :-----: | :----: | :----: | :-: |
29692   * | **69** | **68**  |   No   | **79** | No  |
29693   *
29694   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-inline-start
29695   */
29696  "scroll-margin-inline-start"?: ScrollMarginInlineStartProperty<TLength> | ScrollMarginInlineStartProperty<TLength>[];
29697  /**
29698   * 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.
29699   *
29700   * **Syntax**: `<length>`
29701   *
29702   * **Initial value**: `0`
29703   *
29704   * | Chrome | Firefox |               Safari               |  Edge  | IE  |
29705   * | :----: | :-----: | :--------------------------------: | :----: | :-: |
29706   * | **69** | **68**  | **11** _(scroll-snap-margin-left)_ | **79** | No  |
29707   *
29708   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-left
29709   */
29710  "scroll-margin-left"?: ScrollMarginLeftProperty<TLength> | ScrollMarginLeftProperty<TLength>[];
29711  /**
29712   * 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.
29713   *
29714   * **Syntax**: `<length>`
29715   *
29716   * **Initial value**: `0`
29717   *
29718   * | Chrome | Firefox |               Safari                |  Edge  | IE  |
29719   * | :----: | :-----: | :---------------------------------: | :----: | :-: |
29720   * | **69** | **68**  | **11** _(scroll-snap-margin-right)_ | **79** | No  |
29721   *
29722   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-right
29723   */
29724  "scroll-margin-right"?: ScrollMarginRightProperty<TLength> | ScrollMarginRightProperty<TLength>[];
29725  /**
29726   * 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.
29727   *
29728   * **Syntax**: `<length>`
29729   *
29730   * **Initial value**: `0`
29731   *
29732   * | Chrome | Firefox |              Safari               |  Edge  | IE  |
29733   * | :----: | :-----: | :-------------------------------: | :----: | :-: |
29734   * | **69** | **68**  | **11** _(scroll-snap-margin-top)_ | **79** | No  |
29735   *
29736   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-top
29737   */
29738  "scroll-margin-top"?: ScrollMarginTopProperty<TLength> | ScrollMarginTopProperty<TLength>[];
29739  /**
29740 * The scroll-padding property is a shorthand property which sets all of the scroll-padding longhands, assigning values much like the padding property does for the padding-\* longhands.
29741
29742The scroll-padding properties define offsets for 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.
29743 *
29744 * **Syntax**: `[ auto | <length-percentage> ]{1,4}`
29745 *
29746 * **Initial value**: `auto`
29747 *
29748 * | Chrome | Firefox | Safari |  Edge  | IE  |
29749 * | :----: | :-----: | :----: | :----: | :-: |
29750 * | **69** | **68**  | **11** | **79** | No  |
29751 *
29752 * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding
29753 */
29754  "scroll-padding"?: ScrollPaddingProperty<TLength> | ScrollPaddingProperty<TLength>[];
29755  /**
29756 * The `scroll-padding-block` property is a shorthand property which sets the scroll-padding longhands for the block dimension.
29757
29758The scroll-padding properties define offsets for 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.
29759 *
29760 * **Syntax**: `[ auto | <length-percentage> ]{1,2}`
29761 *
29762 * **Initial value**: `auto`
29763 *
29764 * | Chrome | Firefox | Safari |  Edge  | IE  |
29765 * | :----: | :-----: | :----: | :----: | :-: |
29766 * | **69** | **68**  |   No   | **79** | No  |
29767 *
29768 * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding-block
29769 */
29770  "scroll-padding-block"?: ScrollPaddingBlockProperty<TLength> | ScrollPaddingBlockProperty<TLength>[];
29771  /**
29772   * 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.
29773   *
29774   * **Syntax**: `auto | <length-percentage>`
29775   *
29776   * **Initial value**: `auto`
29777   *
29778   * | Chrome | Firefox | Safari |  Edge  | IE  |
29779   * | :----: | :-----: | :----: | :----: | :-: |
29780   * | **69** | **68**  |   No   | **79** | No  |
29781   *
29782   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding-block-end
29783   */
29784  "scroll-padding-block-end"?: ScrollPaddingBlockEndProperty<TLength> | ScrollPaddingBlockEndProperty<TLength>[];
29785  /**
29786   * 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.
29787   *
29788   * **Syntax**: `auto | <length-percentage>`
29789   *
29790   * **Initial value**: `auto`
29791   *
29792   * | Chrome | Firefox | Safari |  Edge  | IE  |
29793   * | :----: | :-----: | :----: | :----: | :-: |
29794   * | **69** | **68**  |   No   | **79** | No  |
29795   *
29796   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding-block-start
29797   */
29798  "scroll-padding-block-start"?: ScrollPaddingBlockStartProperty<TLength> | ScrollPaddingBlockStartProperty<TLength>[];
29799  /**
29800   * 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.
29801   *
29802   * **Syntax**: `auto | <length-percentage>`
29803   *
29804   * **Initial value**: `auto`
29805   *
29806   * | Chrome | Firefox | Safari |  Edge  | IE  |
29807   * | :----: | :-----: | :----: | :----: | :-: |
29808   * | **69** | **68**  | **11** | **79** | No  |
29809   *
29810   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding-bottom
29811   */
29812  "scroll-padding-bottom"?: ScrollPaddingBottomProperty<TLength> | ScrollPaddingBottomProperty<TLength>[];
29813  /**
29814 * The `scroll-padding-inline` property is a shorthand property which sets the scroll-padding longhands for the inline dimension.
29815
29816The scroll-padding properties define offsets for 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.
29817 *
29818 * **Syntax**: `[ auto | <length-percentage> ]{1,2}`
29819 *
29820 * **Initial value**: `auto`
29821 *
29822 * | Chrome | Firefox | Safari |  Edge  | IE  |
29823 * | :----: | :-----: | :----: | :----: | :-: |
29824 * | **69** | **68**  |   No   | **79** | No  |
29825 *
29826 * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding-inline
29827 */
29828  "scroll-padding-inline"?: ScrollPaddingInlineProperty<TLength> | ScrollPaddingInlineProperty<TLength>[];
29829  /**
29830   * 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.
29831   *
29832   * **Syntax**: `auto | <length-percentage>`
29833   *
29834   * **Initial value**: `auto`
29835   *
29836   * | Chrome | Firefox | Safari |  Edge  | IE  |
29837   * | :----: | :-----: | :----: | :----: | :-: |
29838   * | **69** | **68**  |   No   | **79** | No  |
29839   *
29840   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding-inline-end
29841   */
29842  "scroll-padding-inline-end"?: ScrollPaddingInlineEndProperty<TLength> | ScrollPaddingInlineEndProperty<TLength>[];
29843  /**
29844   * 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.
29845   *
29846   * **Syntax**: `auto | <length-percentage>`
29847   *
29848   * **Initial value**: `auto`
29849   *
29850   * | Chrome | Firefox | Safari |  Edge  | IE  |
29851   * | :----: | :-----: | :----: | :----: | :-: |
29852   * | **69** | **68**  |   No   | **79** | No  |
29853   *
29854   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding-inline-start
29855   */
29856  "scroll-padding-inline-start"?: ScrollPaddingInlineStartProperty<TLength> | ScrollPaddingInlineStartProperty<TLength>[];
29857  /**
29858   * 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.
29859   *
29860   * **Syntax**: `auto | <length-percentage>`
29861   *
29862   * **Initial value**: `auto`
29863   *
29864   * | Chrome | Firefox | Safari |  Edge  | IE  |
29865   * | :----: | :-----: | :----: | :----: | :-: |
29866   * | **69** | **68**  | **11** | **79** | No  |
29867   *
29868   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding-left
29869   */
29870  "scroll-padding-left"?: ScrollPaddingLeftProperty<TLength> | ScrollPaddingLeftProperty<TLength>[];
29871  /**
29872   * 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.
29873   *
29874   * **Syntax**: `auto | <length-percentage>`
29875   *
29876   * **Initial value**: `auto`
29877   *
29878   * | Chrome | Firefox | Safari |  Edge  | IE  |
29879   * | :----: | :-----: | :----: | :----: | :-: |
29880   * | **69** | **68**  | **11** | **79** | No  |
29881   *
29882   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding-right
29883   */
29884  "scroll-padding-right"?: ScrollPaddingRightProperty<TLength> | ScrollPaddingRightProperty<TLength>[];
29885  /**
29886   * 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.
29887   *
29888   * **Syntax**: `auto | <length-percentage>`
29889   *
29890   * **Initial value**: `auto`
29891   *
29892   * | Chrome | Firefox | Safari |  Edge  | IE  |
29893   * | :----: | :-----: | :----: | :----: | :-: |
29894   * | **69** | **68**  | **11** | **79** | No  |
29895   *
29896   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding-top
29897   */
29898  "scroll-padding-top"?: ScrollPaddingTopProperty<TLength> | ScrollPaddingTopProperty<TLength>[];
29899  /**
29900   * 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.
29901   *
29902   * **Syntax**: `[ none | start | end | center ]{1,2}`
29903   *
29904   * **Initial value**: `none`
29905   *
29906   * | Chrome | Firefox | Safari |  Edge  | IE  |
29907   * | :----: | :-----: | :----: | :----: | :-: |
29908   * | **69** | **68**  | **11** | **79** | No  |
29909   *
29910   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-snap-align
29911   */
29912  "scroll-snap-align"?: ScrollSnapAlignProperty | ScrollSnapAlignProperty[];
29913  /**
29914   * The **`scroll-margin`** property is a shorthand property which sets all of the `scroll-margin` longhands, assigning values much like the `margin` property does for the `margin-*` longhands.
29915   *
29916   * **Syntax**: `<length>{1,4}`
29917   *
29918   * **Initial value**: `0`
29919   *
29920   * | Chrome | Firefox |            Safari             |  Edge  | IE  |
29921   * | :----: | :-----: | :---------------------------: | :----: | :-: |
29922   * | **69** | **68**  | **11** _(scroll-snap-margin)_ | **79** | No  |
29923   *
29924   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin
29925   */
29926  "scroll-snap-margin"?: ScrollMarginProperty<TLength> | ScrollMarginProperty<TLength>[];
29927  /**
29928   * 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.
29929   *
29930   * **Syntax**: `<length>`
29931   *
29932   * **Initial value**: `0`
29933   *
29934   * | Chrome | Firefox |                Safari                |  Edge  | IE  |
29935   * | :----: | :-----: | :----------------------------------: | :----: | :-: |
29936   * | **69** | **68**  | **11** _(scroll-snap-margin-bottom)_ | **79** | No  |
29937   *
29938   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-bottom
29939   */
29940  "scroll-snap-margin-bottom"?: ScrollMarginBottomProperty<TLength> | ScrollMarginBottomProperty<TLength>[];
29941  /**
29942   * 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.
29943   *
29944   * **Syntax**: `<length>`
29945   *
29946   * **Initial value**: `0`
29947   *
29948   * | Chrome | Firefox |               Safari               |  Edge  | IE  |
29949   * | :----: | :-----: | :--------------------------------: | :----: | :-: |
29950   * | **69** | **68**  | **11** _(scroll-snap-margin-left)_ | **79** | No  |
29951   *
29952   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-left
29953   */
29954  "scroll-snap-margin-left"?: ScrollMarginLeftProperty<TLength> | ScrollMarginLeftProperty<TLength>[];
29955  /**
29956   * 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.
29957   *
29958   * **Syntax**: `<length>`
29959   *
29960   * **Initial value**: `0`
29961   *
29962   * | Chrome | Firefox |               Safari                |  Edge  | IE  |
29963   * | :----: | :-----: | :---------------------------------: | :----: | :-: |
29964   * | **69** | **68**  | **11** _(scroll-snap-margin-right)_ | **79** | No  |
29965   *
29966   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-right
29967   */
29968  "scroll-snap-margin-right"?: ScrollMarginRightProperty<TLength> | ScrollMarginRightProperty<TLength>[];
29969  /**
29970   * 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.
29971   *
29972   * **Syntax**: `<length>`
29973   *
29974   * **Initial value**: `0`
29975   *
29976   * | Chrome | Firefox |              Safari               |  Edge  | IE  |
29977   * | :----: | :-----: | :-------------------------------: | :----: | :-: |
29978   * | **69** | **68**  | **11** _(scroll-snap-margin-top)_ | **79** | No  |
29979   *
29980   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-top
29981   */
29982  "scroll-snap-margin-top"?: ScrollMarginTopProperty<TLength> | ScrollMarginTopProperty<TLength>[];
29983  /**
29984   * The **`scroll-snap-stop`** CSS property defines whether the scroll container is allowed to "pass over" possible snap positions.
29985   *
29986   * **Syntax**: `normal | always`
29987   *
29988   * **Initial value**: `normal`
29989   *
29990   * | Chrome | Firefox | Safari |  Edge  | IE  |
29991   * | :----: | :-----: | :----: | :----: | :-: |
29992   * | **75** |   No    |   No   | **79** | No  |
29993   *
29994   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-snap-stop
29995   */
29996  "scroll-snap-stop"?: ScrollSnapStopProperty | ScrollSnapStopProperty[];
29997  /**
29998   * The **`scroll-snap-type`** CSS property sets how strictly snap points are enforced on the scroll container in case there is one.
29999   *
30000   * **Syntax**: `none | [ x | y | block | inline | both ] [ mandatory | proximity ]?`
30001   *
30002   * **Initial value**: `none`
30003   *
30004   * | Chrome | Firefox | Safari  |     Edge     |      IE      |
30005   * | :----: | :-----: | :-----: | :----------: | :----------: |
30006   * | **69** |  39-68  | **11**  | **12** _-x-_ | **10** _-x-_ |
30007   * |        |         | 9 _-x-_ |              |              |
30008   *
30009   * @see https://developer.mozilla.org/docs/Web/CSS/scroll-snap-type
30010   */
30011  "scroll-snap-type"?: ScrollSnapTypeProperty | ScrollSnapTypeProperty[];
30012  /**
30013   * The **`scrollbar-color`** CSS property sets the color of the scrollbar track and thumb.
30014   *
30015   * **Syntax**: `auto | dark | light | <color>{2}`
30016   *
30017   * **Initial value**: `auto`
30018   *
30019   * | Chrome | Firefox | Safari | Edge | IE  |
30020   * | :----: | :-----: | :----: | :--: | :-: |
30021   * |   No   | **64**  |   No   |  No  | No  |
30022   *
30023   * @see https://developer.mozilla.org/docs/Web/CSS/scrollbar-color
30024   */
30025  "scrollbar-color"?: ScrollbarColorProperty | ScrollbarColorProperty[];
30026  /**
30027   * The `scrollbar-width` property allows the author to set the maximum thickness of an element’s scrollbars when they are shown.
30028   *
30029   * **Syntax**: `auto | thin | none`
30030   *
30031   * **Initial value**: `auto`
30032   *
30033   * | Chrome | Firefox | Safari | Edge | IE  |
30034   * | :----: | :-----: | :----: | :--: | :-: |
30035   * |   No   | **64**  |   No   |  No  | No  |
30036   *
30037   * @see https://developer.mozilla.org/docs/Web/CSS/scrollbar-width
30038   */
30039  "scrollbar-width"?: ScrollbarWidthProperty | ScrollbarWidthProperty[];
30040  /**
30041   * 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`.
30042   *
30043   * **Syntax**: `<alpha-value>`
30044   *
30045   * **Initial value**: `0.0`
30046   *
30047   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
30048   * | :----: | :-----: | :------: | :----: | :-: |
30049   * | **37** | **62**  | **10.1** | **79** | No  |
30050   *
30051   * @see https://developer.mozilla.org/docs/Web/CSS/shape-image-threshold
30052   */
30053  "shape-image-threshold"?: ShapeImageThresholdProperty | ShapeImageThresholdProperty[];
30054  /**
30055   * The **`shape-margin`** CSS property sets a margin for a CSS shape created using `shape-outside`.
30056   *
30057   * **Syntax**: `<length-percentage>`
30058   *
30059   * **Initial value**: `0`
30060   *
30061   * | Chrome | Firefox |     Safari     |  Edge  | IE  |
30062   * | :----: | :-----: | :------------: | :----: | :-: |
30063   * | **37** | **62**  | **10.1** _-x-_ | **79** | No  |
30064   *
30065   * @see https://developer.mozilla.org/docs/Web/CSS/shape-margin
30066   */
30067  "shape-margin"?: ShapeMarginProperty<TLength> | ShapeMarginProperty<TLength>[];
30068  /**
30069   * 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.
30070   *
30071   * **Syntax**: `none | <shape-box> || <basic-shape> | <image>`
30072   *
30073   * **Initial value**: `none`
30074   *
30075   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
30076   * | :----: | :-----: | :------: | :----: | :-: |
30077   * | **37** | **62**  | **10.1** | **79** | No  |
30078   *
30079   * @see https://developer.mozilla.org/docs/Web/CSS/shape-outside
30080   */
30081  "shape-outside"?: ShapeOutsideProperty | ShapeOutsideProperty[];
30082  /**
30083   * The **`tab-size`** CSS property is used to customize the width of a tab (`U+0009`) character.
30084   *
30085   * **Syntax**: `<integer> | <length>`
30086   *
30087   * **Initial value**: `8`
30088   *
30089   * | Chrome |   Firefox   | Safari  |  Edge  | IE  |
30090   * | :----: | :---------: | :-----: | :----: | :-: |
30091   * | **21** | **4** _-x-_ | **6.1** | **79** | No  |
30092   *
30093   * @see https://developer.mozilla.org/docs/Web/CSS/tab-size
30094   */
30095  "tab-size"?: TabSizeProperty<TLength> | TabSizeProperty<TLength>[];
30096  /**
30097   * The **`table-layout`** CSS property sets the algorithm used to lay out `<table>` cells, rows, and columns.
30098   *
30099   * **Syntax**: `auto | fixed`
30100   *
30101   * **Initial value**: `auto`
30102   *
30103   * | Chrome | Firefox | Safari |  Edge  |  IE   |
30104   * | :----: | :-----: | :----: | :----: | :---: |
30105   * | **14** |  **1**  | **1**  | **12** | **5** |
30106   *
30107   * @see https://developer.mozilla.org/docs/Web/CSS/table-layout
30108   */
30109  "table-layout"?: TableLayoutProperty | TableLayoutProperty[];
30110  /**
30111   * The **`text-align`** CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like `vertical-align` but in the horizontal direction.
30112   *
30113   * **Syntax**: `start | end | left | right | center | justify | match-parent`
30114   *
30115   * **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.
30116   *
30117   * | Chrome | Firefox | Safari |  Edge  |  IE   |
30118   * | :----: | :-----: | :----: | :----: | :---: |
30119   * | **1**  |  **1**  | **1**  | **12** | **3** |
30120   *
30121   * @see https://developer.mozilla.org/docs/Web/CSS/text-align
30122   */
30123  "text-align"?: TextAlignProperty | TextAlignProperty[];
30124  /**
30125   * 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.
30126   *
30127   * **Syntax**: `auto | start | end | left | right | center | justify`
30128   *
30129   * **Initial value**: `auto`
30130   *
30131   * | Chrome | Firefox | Safari |  Edge  |   IE    |
30132   * | :----: | :-----: | :----: | :----: | :-----: |
30133   * | **47** | **49**  |   No   | **12** | **5.5** |
30134   *
30135   * @see https://developer.mozilla.org/docs/Web/CSS/text-align-last
30136   */
30137  "text-align-last"?: TextAlignLastProperty | TextAlignLastProperty[];
30138  /**
30139   * 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.
30140   *
30141   * **Syntax**: `none | all | [ digits <integer>? ]`
30142   *
30143   * **Initial value**: `none`
30144   *
30145   * |           Chrome           | Firefox |              Safari              |                  Edge                  |                   IE                   |
30146   * | :------------------------: | :-----: | :------------------------------: | :------------------------------------: | :------------------------------------: |
30147   * |           **48**           | **48**  | **5.1** _(-webkit-text-combine)_ | **12** _(-ms-text-combine-horizontal)_ | **11** _(-ms-text-combine-horizontal)_ |
30148   * | 9 _(-webkit-text-combine)_ |         |                                  |                                        |                                        |
30149   *
30150   * @see https://developer.mozilla.org/docs/Web/CSS/text-combine-upright
30151   */
30152  "text-combine-upright"?: TextCombineUprightProperty | TextCombineUprightProperty[];
30153  /**
30154   * The **`text-decoration-color`** CSS property sets the color of decorations added to text by `text-decoration-line`.
30155   *
30156   * **Syntax**: `<color>`
30157   *
30158   * **Initial value**: `currentcolor`
30159   *
30160   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
30161   * | :----: | :-----: | :------: | :----: | :-: |
30162   * | **57** | **36**  | **12.1** | **79** | No  |
30163   * |        |         | 8 _-x-_  |        |     |
30164   *
30165   * @see https://developer.mozilla.org/docs/Web/CSS/text-decoration-color
30166   */
30167  "text-decoration-color"?: TextDecorationColorProperty | TextDecorationColorProperty[];
30168  /**
30169   * 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.
30170   *
30171   * **Syntax**: `none | [ underline || overline || line-through || blink ] | spelling-error | grammar-error`
30172   *
30173   * **Initial value**: `none`
30174   *
30175   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
30176   * | :----: | :-----: | :------: | :----: | :-: |
30177   * | **57** | **36**  | **12.1** | **79** | No  |
30178   * |        |         | 8 _-x-_  |        |     |
30179   *
30180   * @see https://developer.mozilla.org/docs/Web/CSS/text-decoration-line
30181   */
30182  "text-decoration-line"?: TextDecorationLineProperty | TextDecorationLineProperty[];
30183  /**
30184   * 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.
30185   *
30186   * **Syntax**: `none | [ objects || [ spaces | [ leading-spaces || trailing-spaces ] ] || edges || box-decoration ]`
30187   *
30188   * **Initial value**: `objects`
30189   *
30190   * | Chrome | Firefox |  Safari  | Edge | IE  |
30191   * | :----: | :-----: | :------: | :--: | :-: |
30192   * | 57-64  |   No    | **12.1** |  No  | No  |
30193   * |        |         | 8 _-x-_  |      |     |
30194   *
30195   * @see https://developer.mozilla.org/docs/Web/CSS/text-decoration-skip
30196   */
30197  "text-decoration-skip"?: TextDecorationSkipProperty | TextDecorationSkipProperty[];
30198  /**
30199   * The **`text-decoration-skip-ink`** CSS property specifies how overlines and underlines are drawn when they pass over glyph ascenders and descenders.
30200   *
30201   * **Syntax**: `auto | all | none`
30202   *
30203   * **Initial value**: `auto`
30204   *
30205   * | Chrome | Firefox | Safari |  Edge  | IE  |
30206   * | :----: | :-----: | :----: | :----: | :-: |
30207   * | **64** | **70**  |   No   | **79** | No  |
30208   *
30209   * @see https://developer.mozilla.org/docs/Web/CSS/text-decoration-skip-ink
30210   */
30211  "text-decoration-skip-ink"?: TextDecorationSkipInkProperty | TextDecorationSkipInkProperty[];
30212  /**
30213   * 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`.
30214   *
30215   * **Syntax**: `solid | double | dotted | dashed | wavy`
30216   *
30217   * **Initial value**: `solid`
30218   *
30219   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
30220   * | :----: | :-----: | :------: | :----: | :-: |
30221   * | **57** | **36**  | **12.1** | **79** | No  |
30222   * |        |         | 8 _-x-_  |        |     |
30223   *
30224   * @see https://developer.mozilla.org/docs/Web/CSS/text-decoration-style
30225   */
30226  "text-decoration-style"?: TextDecorationStyleProperty | TextDecorationStyleProperty[];
30227  /**
30228   * The **`text-decoration-thickness`** CSS property sets the thickness, or width, of the decoration line that is used on text in an element, such as a line-through, underline, or overline.
30229   *
30230   * **Syntax**: `auto | from-font | <length> | <percentage> `
30231   *
30232   * **Initial value**: `auto`
30233   *
30234   * | Chrome | Firefox |  Safari  | Edge | IE  |
30235   * | :----: | :-----: | :------: | :--: | :-: |
30236   * |   No   | **70**  | **12.1** |  No  | No  |
30237   *
30238   * @see https://developer.mozilla.org/docs/Web/CSS/text-decoration-thickness
30239   */
30240  "text-decoration-thickness"?: TextDecorationThicknessProperty<TLength> | TextDecorationThicknessProperty<TLength>[];
30241  /**
30242   * The **`text-decoration-thickness`** CSS property sets the thickness, or width, of the decoration line that is used on text in an element, such as a line-through, underline, or overline.
30243   *
30244   * **Syntax**: `auto | from-font | <length> | <percentage> `
30245   *
30246   * **Initial value**: `auto`
30247   *
30248   * | Chrome | Firefox |  Safari  | Edge | IE  |
30249   * | :----: | :-----: | :------: | :--: | :-: |
30250   * |   No   | **70**  | **12.1** |  No  | No  |
30251   *
30252   * @see https://developer.mozilla.org/docs/Web/CSS/text-decoration-thickness
30253   */
30254  "text-decoration-width"?: TextDecorationThicknessProperty<TLength> | TextDecorationThicknessProperty<TLength>[];
30255  /**
30256   * The **`text-emphasis-color`** CSS property sets the color of emphasis marks. This value can also be set using the `text-emphasis` shorthand.
30257   *
30258   * **Syntax**: `<color>`
30259   *
30260   * **Initial value**: `currentcolor`
30261   *
30262   * |    Chrome    | Firefox | Safari  |     Edge     | IE  |
30263   * | :----------: | :-----: | :-----: | :----------: | :-: |
30264   * | **25** _-x-_ | **46**  | **6.1** | **79** _-x-_ | No  |
30265   *
30266   * @see https://developer.mozilla.org/docs/Web/CSS/text-emphasis-color
30267   */
30268  "text-emphasis-color"?: TextEmphasisColorProperty | TextEmphasisColorProperty[];
30269  /**
30270   * 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.
30271   *
30272   * **Syntax**: `[ over | under ] && [ right | left ]`
30273   *
30274   * **Initial value**: `over right`
30275   *
30276   * |    Chrome    | Firefox | Safari  |     Edge     | IE  |
30277   * | :----------: | :-----: | :-----: | :----------: | :-: |
30278   * | **25** _-x-_ | **46**  | **6.1** | **79** _-x-_ | No  |
30279   *
30280   * @see https://developer.mozilla.org/docs/Web/CSS/text-emphasis-position
30281   */
30282  "text-emphasis-position"?: GlobalsString | GlobalsString[];
30283  /**
30284   * The **`text-emphasis-style`** CSS property sets the appearance of emphasis marks. It can also be set, and reset, using the `text-emphasis` shorthand.
30285   *
30286   * **Syntax**: `none | [ [ filled | open ] || [ dot | circle | double-circle | triangle | sesame ] ] | <string>`
30287   *
30288   * **Initial value**: `none`
30289   *
30290   * |    Chrome    | Firefox | Safari  |     Edge     | IE  |
30291   * | :----------: | :-----: | :-----: | :----------: | :-: |
30292   * | **25** _-x-_ | **46**  | **6.1** | **79** _-x-_ | No  |
30293   *
30294   * @see https://developer.mozilla.org/docs/Web/CSS/text-emphasis-style
30295   */
30296  "text-emphasis-style"?: TextEmphasisStyleProperty | TextEmphasisStyleProperty[];
30297  /**
30298   * The **`text-indent`** CSS property sets the length of empty space (indentation) that is put before lines of text in a block.
30299   *
30300   * **Syntax**: `<length-percentage> && hanging? && each-line?`
30301   *
30302   * **Initial value**: `0`
30303   *
30304   * | Chrome | Firefox | Safari |  Edge  |  IE   |
30305   * | :----: | :-----: | :----: | :----: | :---: |
30306   * | **1**  |  **1**  | **1**  | **12** | **3** |
30307   *
30308   * @see https://developer.mozilla.org/docs/Web/CSS/text-indent
30309   */
30310  "text-indent"?: TextIndentProperty<TLength> | TextIndentProperty<TLength>[];
30311  /**
30312   * The **`text-justify`** CSS property sets what type of justification should be applied to text when `text-align``: justify;` is set on an element.
30313   *
30314   * **Syntax**: `auto | inter-character | inter-word | none`
30315   *
30316   * **Initial value**: `auto`
30317   *
30318   * | Chrome | Firefox | Safari |  Edge  |   IE   |
30319   * | :----: | :-----: | :----: | :----: | :----: |
30320   * |  n/a   | **55**  |   No   | **12** | **11** |
30321   *
30322   * @see https://developer.mozilla.org/docs/Web/CSS/text-justify
30323   */
30324  "text-justify"?: TextJustifyProperty | TextJustifyProperty[];
30325  /**
30326   * 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.
30327   *
30328   * **Syntax**: `mixed | upright | sideways`
30329   *
30330   * **Initial value**: `mixed`
30331   *
30332   * |  Chrome  | Firefox |    Safari     |  Edge  | IE  |
30333   * | :------: | :-----: | :-----------: | :----: | :-: |
30334   * |  **48**  | **41**  | **5.1** _-x-_ | **79** | No  |
30335   * | 11 _-x-_ |         |               |        |     |
30336   *
30337   * @see https://developer.mozilla.org/docs/Web/CSS/text-orientation
30338   */
30339  "text-orientation"?: TextOrientationProperty | TextOrientationProperty[];
30340  /**
30341   * 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.
30342   *
30343   * **Syntax**: `[ clip | ellipsis | <string> ]{1,2}`
30344   *
30345   * **Initial value**: `clip`
30346   *
30347   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
30348   * | :----: | :-----: | :-----: | :----: | :---: |
30349   * | **1**  |  **7**  | **1.3** | **12** | **6** |
30350   *
30351   * @see https://developer.mozilla.org/docs/Web/CSS/text-overflow
30352   */
30353  "text-overflow"?: TextOverflowProperty | TextOverflowProperty[];
30354  /**
30355   * The **`text-rendering`** CSS property provides information to the rendering engine about what to optimize for when rendering text.
30356   *
30357   * **Syntax**: `auto | optimizeSpeed | optimizeLegibility | geometricPrecision`
30358   *
30359   * **Initial value**: `auto`
30360   *
30361   * | Chrome | Firefox | Safari |  Edge  | IE  |
30362   * | :----: | :-----: | :----: | :----: | :-: |
30363   * | **4**  |  **1**  | **5**  | **79** | No  |
30364   *
30365   * @see https://developer.mozilla.org/docs/Web/CSS/text-rendering
30366   */
30367  "text-rendering"?: TextRenderingProperty | TextRenderingProperty[];
30368  /**
30369   * 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.
30370   *
30371   * **Syntax**: `none | <shadow-t>#`
30372   *
30373   * **Initial value**: `none`
30374   *
30375   * | Chrome | Firefox | Safari  |  Edge  |   IE   |
30376   * | :----: | :-----: | :-----: | :----: | :----: |
30377   * | **2**  | **3.5** | **1.1** | **12** | **10** |
30378   *
30379   * @see https://developer.mozilla.org/docs/Web/CSS/text-shadow
30380   */
30381  "text-shadow"?: TextShadowProperty | TextShadowProperty[];
30382  /**
30383   * The **`text-size-adjust`** CSS property controls the text inflation algorithm used on some smartphones and tablets. Other browsers will ignore this property.
30384   *
30385   * **Syntax**: `none | auto | <percentage>`
30386   *
30387   * **Initial value**: `auto` for smartphone browsers supporting inflation, `none` in other cases (and then not modifiable).
30388   *
30389   * | Chrome | Firefox | Safari |  Edge  | IE  |
30390   * | :----: | :-----: | :----: | :----: | :-: |
30391   * | **54** |   No    |   No   | **79** | No  |
30392   *
30393   * @see https://developer.mozilla.org/docs/Web/CSS/text-size-adjust
30394   */
30395  "text-size-adjust"?: TextSizeAdjustProperty | TextSizeAdjustProperty[];
30396  /**
30397   * 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
30398   *
30399   * **Syntax**: `none | capitalize | uppercase | lowercase | full-width | full-size-kana`
30400   *
30401   * **Initial value**: `none`
30402   *
30403   * | Chrome | Firefox | Safari |  Edge  |  IE   |
30404   * | :----: | :-----: | :----: | :----: | :---: |
30405   * | **1**  |  **1**  | **1**  | **12** | **4** |
30406   *
30407   * @see https://developer.mozilla.org/docs/Web/CSS/text-transform
30408   */
30409  "text-transform"?: TextTransformProperty | TextTransformProperty[];
30410  /**
30411   * The **`text-underline-offset`** CSS property sets the offset distance of an underline text decoration line (applied using `text-decoration`) from its original position.
30412   *
30413   * **Syntax**: `auto | <length> | <percentage> `
30414   *
30415   * **Initial value**: `auto`
30416   *
30417   * | Chrome | Firefox |  Safari  | Edge | IE  |
30418   * | :----: | :-----: | :------: | :--: | :-: |
30419   * |   No   | **70**  | **12.1** |  No  | No  |
30420   *
30421   * @see https://developer.mozilla.org/docs/Web/CSS/text-underline-offset
30422   */
30423  "text-underline-offset"?: TextUnderlineOffsetProperty<TLength> | TextUnderlineOffsetProperty<TLength>[];
30424  /**
30425   * The **`text-underline-position`** CSS property specifies the position of the underline which is set using the `text-decoration` property's `underline` value.
30426   *
30427   * **Syntax**: `auto | from-font | [ under || [ left | right ] ]`
30428   *
30429   * **Initial value**: `auto`
30430   *
30431   * | Chrome | Firefox |  Safari  |  Edge  |  IE   |
30432   * | :----: | :-----: | :------: | :----: | :---: |
30433   * | **33** | **74**  | **12.1** | **12** | **6** |
30434   * |        |         | 9 _-x-_  |        |       |
30435   *
30436   * @see https://developer.mozilla.org/docs/Web/CSS/text-underline-position
30437   */
30438  "text-underline-position"?: TextUnderlinePositionProperty | TextUnderlinePositionProperty[];
30439  /**
30440   * The **`top`** CSS property participates in specifying the vertical position of a _positioned element_. It has no effect on non-positioned elements.
30441   *
30442   * **Syntax**: `<length> | <percentage> | auto`
30443   *
30444   * **Initial value**: `auto`
30445   *
30446   * | Chrome | Firefox | Safari |  Edge  |  IE   |
30447   * | :----: | :-----: | :----: | :----: | :---: |
30448   * | **1**  |  **1**  | **1**  | **12** | **5** |
30449   *
30450   * @see https://developer.mozilla.org/docs/Web/CSS/top
30451   */
30452  top?: TopProperty<TLength> | TopProperty<TLength>[];
30453  /**
30454   * The **`touch-action`** CSS property sets how a region can be manipulated by a touchscreen user (for example, by zooming features built into the browser).
30455   *
30456   * **Syntax**: `auto | none | [ [ pan-x | pan-left | pan-right ] || [ pan-y | pan-up | pan-down ] || pinch-zoom ] | manipulation`
30457   *
30458   * **Initial value**: `auto`
30459   *
30460   * | Chrome | Firefox | Safari |  Edge  |    IE    |
30461   * | :----: | :-----: | :----: | :----: | :------: |
30462   * | **36** | **52**  | **13** | **12** |  **11**  |
30463   * |        |         |        |        | 10 _-x-_ |
30464   *
30465   * @see https://developer.mozilla.org/docs/Web/CSS/touch-action
30466   */
30467  "touch-action"?: TouchActionProperty | TouchActionProperty[];
30468  /**
30469   * The **`transform`** CSS property lets you rotate, scale, skew, or translate an element. It modifies the coordinate space of the CSS visual formatting model.
30470   *
30471   * **Syntax**: `none | <transform-list>`
30472   *
30473   * **Initial value**: `none`
30474   *
30475   * | Chrome  | Firefox |  Safari   |  Edge  |   IE    |
30476   * | :-----: | :-----: | :-------: | :----: | :-----: |
30477   * | **36**  | **16**  |   **9**   | **12** | **10**  |
30478   * | 1 _-x-_ |         | 3.1 _-x-_ |        | 9 _-x-_ |
30479   *
30480   * @see https://developer.mozilla.org/docs/Web/CSS/transform
30481   */
30482  transform?: TransformProperty | TransformProperty[];
30483  /**
30484   * The **`transform-box`** CSS property defines the layout box to which the `transform` and `transform-origin` properties relate.
30485   *
30486   * **Syntax**: `content-box | border-box | fill-box | stroke-box | view-box`
30487   *
30488   * **Initial value**: `view-box`
30489   *
30490   * | Chrome | Firefox | Safari |  Edge  | IE  |
30491   * | :----: | :-----: | :----: | :----: | :-: |
30492   * | **64** | **55**  | **11** | **79** | No  |
30493   *
30494   * @see https://developer.mozilla.org/docs/Web/CSS/transform-box
30495   */
30496  "transform-box"?: TransformBoxProperty | TransformBoxProperty[];
30497  /**
30498   * The **`transform-origin`** CSS property sets the origin for an element's transformations.
30499   *
30500   * **Syntax**: `[ <length-percentage> | left | center | right | top | bottom ] | [ [ <length-percentage> | left | center | right ] && [ <length-percentage> | top | center | bottom ] ] <length>?`
30501   *
30502   * **Initial value**: `50% 50% 0`
30503   *
30504   * | Chrome  |  Firefox  | Safari  |  Edge  |   IE    |
30505   * | :-----: | :-------: | :-----: | :----: | :-----: |
30506   * | **36**  |  **16**   |  **9**  | **12** | **10**  |
30507   * | 1 _-x-_ | 3.5 _-x-_ | 2 _-x-_ |        | 9 _-x-_ |
30508   *
30509   * @see https://developer.mozilla.org/docs/Web/CSS/transform-origin
30510   */
30511  "transform-origin"?: TransformOriginProperty<TLength> | TransformOriginProperty<TLength>[];
30512  /**
30513   * 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.
30514   *
30515   * **Syntax**: `flat | preserve-3d`
30516   *
30517   * **Initial value**: `flat`
30518   *
30519   * |  Chrome  | Firefox  | Safari  |  Edge  | IE  |
30520   * | :------: | :------: | :-----: | :----: | :-: |
30521   * |  **36**  |  **16**  |  **9**  | **12** | No  |
30522   * | 12 _-x-_ | 10 _-x-_ | 4 _-x-_ |        |     |
30523   *
30524   * @see https://developer.mozilla.org/docs/Web/CSS/transform-style
30525   */
30526  "transform-style"?: TransformStyleProperty | TransformStyleProperty[];
30527  /**
30528   * The **`transition-delay`** CSS property specifies the duration to wait before starting a property's transition effect when its value changes.
30529   *
30530   * **Syntax**: `<time>#`
30531   *
30532   * **Initial value**: `0s`
30533   *
30534   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
30535   * | :-----: | :-----: | :-----: | :----: | :----: |
30536   * | **26**  | **16**  |  **9**  | **12** | **10** |
30537   * | 1 _-x-_ | 4 _-x-_ | 4 _-x-_ |        |        |
30538   *
30539   * @see https://developer.mozilla.org/docs/Web/CSS/transition-delay
30540   */
30541  "transition-delay"?: GlobalsString | GlobalsString[];
30542  /**
30543   * 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.
30544   *
30545   * **Syntax**: `<time>#`
30546   *
30547   * **Initial value**: `0s`
30548   *
30549   * | Chrome  | Firefox |  Safari   |  Edge  |   IE   |
30550   * | :-----: | :-----: | :-------: | :----: | :----: |
30551   * | **26**  | **16**  |   **9**   | **12** | **10** |
30552   * | 1 _-x-_ | 4 _-x-_ | 3.1 _-x-_ |        |        |
30553   *
30554   * @see https://developer.mozilla.org/docs/Web/CSS/transition-duration
30555   */
30556  "transition-duration"?: GlobalsString | GlobalsString[];
30557  /**
30558   * The **`transition-property`** CSS property sets the CSS properties to which a transition effect should be applied.
30559   *
30560   * **Syntax**: `none | <single-transition-property>#`
30561   *
30562   * **Initial value**: all
30563   *
30564   * | Chrome  | Firefox |  Safari   |  Edge  |   IE   |
30565   * | :-----: | :-----: | :-------: | :----: | :----: |
30566   * | **26**  | **16**  |   **9**   | **12** | **10** |
30567   * | 1 _-x-_ | 4 _-x-_ | 3.1 _-x-_ |        |        |
30568   *
30569   * @see https://developer.mozilla.org/docs/Web/CSS/transition-property
30570   */
30571  "transition-property"?: TransitionPropertyProperty | TransitionPropertyProperty[];
30572  /**
30573   * The **`transition-timing-function`** CSS property sets how intermediate values are calculated for CSS properties being affected by a transition effect.
30574   *
30575   * **Syntax**: `<timing-function>#`
30576   *
30577   * **Initial value**: `ease`
30578   *
30579   * | Chrome  | Firefox |  Safari   |  Edge  |   IE   |
30580   * | :-----: | :-----: | :-------: | :----: | :----: |
30581   * | **26**  | **16**  |   **9**   | **12** | **10** |
30582   * | 1 _-x-_ | 4 _-x-_ | 3.1 _-x-_ |        |        |
30583   *
30584   * @see https://developer.mozilla.org/docs/Web/CSS/transition-timing-function
30585   */
30586  "transition-timing-function"?: TransitionTimingFunctionProperty | TransitionTimingFunctionProperty[];
30587  /**
30588   * The **`translate`** CSS property allows you to specify translation transforms individually and independantly 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.
30589   *
30590   * **Syntax**: `none | <length-percentage> [ <length-percentage> <length>? ]?`
30591   *
30592   * **Initial value**: `none`
30593   *
30594   * | Chrome | Firefox | Safari | Edge | IE  |
30595   * | :----: | :-----: | :----: | :--: | :-: |
30596   * |   No   | **72**  |   No   |  No  | No  |
30597   *
30598   * @see https://developer.mozilla.org/docs/Web/CSS/translate
30599   */
30600  translate?: TranslateProperty<TLength> | TranslateProperty<TLength>[];
30601  /**
30602   * 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.
30603   *
30604   * **Syntax**: `normal | embed | isolate | bidi-override | isolate-override | plaintext`
30605   *
30606   * **Initial value**: `normal`
30607   *
30608   * | Chrome | Firefox | Safari  |  Edge  |   IE    |
30609   * | :----: | :-----: | :-----: | :----: | :-----: |
30610   * | **2**  |  **1**  | **1.3** | **12** | **5.5** |
30611   *
30612   * @see https://developer.mozilla.org/docs/Web/CSS/unicode-bidi
30613   */
30614  "unicode-bidi"?: UnicodeBidiProperty | UnicodeBidiProperty[];
30615  /**
30616   * 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.
30617   *
30618   * **Syntax**: `auto | text | none | contain | all`
30619   *
30620   * **Initial value**: `auto`
30621   *
30622   * | Chrome  | Firefox |   Safari    |     Edge     |      IE      |
30623   * | :-----: | :-----: | :---------: | :----------: | :----------: |
30624   * | **54**  | **69**  | **3** _-x-_ | **12** _-x-_ | **10** _-x-_ |
30625   * | 1 _-x-_ | 1 _-x-_ |             |              |              |
30626   *
30627   * @see https://developer.mozilla.org/docs/Web/CSS/user-select
30628   */
30629  "user-select"?: UserSelectProperty | UserSelectProperty[];
30630  /**
30631   * The **`vertical-align`** CSS property sets vertical alignment of an inline or table-cell box.
30632   *
30633   * **Syntax**: `baseline | sub | super | text-top | text-bottom | middle | top | bottom | <percentage> | <length>`
30634   *
30635   * **Initial value**: `baseline`
30636   *
30637   * | Chrome | Firefox | Safari |  Edge  |  IE   |
30638   * | :----: | :-----: | :----: | :----: | :---: |
30639   * | **1**  |  **1**  | **1**  | **12** | **4** |
30640   *
30641   * @see https://developer.mozilla.org/docs/Web/CSS/vertical-align
30642   */
30643  "vertical-align"?: VerticalAlignProperty<TLength> | VerticalAlignProperty<TLength>[];
30644  /**
30645   * 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>`.
30646   *
30647   * **Syntax**: `visible | hidden | collapse`
30648   *
30649   * **Initial value**: `visible`
30650   *
30651   * | Chrome | Firefox | Safari |  Edge  |  IE   |
30652   * | :----: | :-----: | :----: | :----: | :---: |
30653   * | **1**  |  **1**  | **1**  | **12** | **4** |
30654   *
30655   * @see https://developer.mozilla.org/docs/Web/CSS/visibility
30656   */
30657  visibility?: VisibilityProperty | VisibilityProperty[];
30658  /**
30659   * The **`white-space`** CSS property sets how white space inside an element is handled.
30660   *
30661   * **Syntax**: `normal | pre | nowrap | pre-wrap | pre-line | break-spaces`
30662   *
30663   * **Initial value**: `normal`
30664   *
30665   * | Chrome | Firefox | Safari |  Edge  |   IE    |
30666   * | :----: | :-----: | :----: | :----: | :-----: |
30667   * | **1**  |  **1**  | **1**  | **12** | **5.5** |
30668   *
30669   * @see https://developer.mozilla.org/docs/Web/CSS/white-space
30670   */
30671  "white-space"?: WhiteSpaceProperty | WhiteSpaceProperty[];
30672  /**
30673   * 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.
30674   *
30675   * **Syntax**: `<integer>`
30676   *
30677   * **Initial value**: `2`
30678   *
30679   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
30680   * | :----: | :-----: | :-----: | :----: | :---: |
30681   * | **25** |   No    | **1.3** | **12** | **8** |
30682   *
30683   * @see https://developer.mozilla.org/docs/Web/CSS/widows
30684   */
30685  widows?: GlobalsNumber | GlobalsNumber[];
30686  /**
30687   * 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.
30688   *
30689   * **Syntax**: `auto | <length> | <percentage> | min-content | max-content | fit-content(<length-percentage>)`
30690   *
30691   * **Initial value**: `auto`
30692   *
30693   * | Chrome | Firefox | Safari |  Edge  |  IE   |
30694   * | :----: | :-----: | :----: | :----: | :---: |
30695   * | **1**  |  **1**  | **1**  | **12** | **4** |
30696   *
30697   * @see https://developer.mozilla.org/docs/Web/CSS/width
30698   */
30699  width?: WidthProperty<TLength> | WidthProperty<TLength>[];
30700  /**
30701   * 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.
30702   *
30703   * **Syntax**: `auto | <animateable-feature>#`
30704   *
30705   * **Initial value**: `auto`
30706   *
30707   * | Chrome | Firefox | Safari  |  Edge  | IE  |
30708   * | :----: | :-----: | :-----: | :----: | :-: |
30709   * | **36** | **36**  | **9.1** | **79** | No  |
30710   *
30711   * @see https://developer.mozilla.org/docs/Web/CSS/will-change
30712   */
30713  "will-change"?: WillChangeProperty | WillChangeProperty[];
30714  /**
30715   * The **`word-break`** CSS property sets whether line breaks appear wherever the text would otherwise overflow its content box.
30716   *
30717   * **Syntax**: `normal | break-all | keep-all | break-word`
30718   *
30719   * **Initial value**: `normal`
30720   *
30721   * | Chrome | Firefox | Safari |  Edge  |   IE    |
30722   * | :----: | :-----: | :----: | :----: | :-----: |
30723   * | **1**  | **15**  | **3**  | **12** | **5.5** |
30724   *
30725   * @see https://developer.mozilla.org/docs/Web/CSS/word-break
30726   */
30727  "word-break"?: WordBreakProperty | WordBreakProperty[];
30728  /**
30729   * The **`word-spacing`** CSS property sets the length of space between words and between tags.
30730   *
30731   * **Syntax**: `normal | <length-percentage>`
30732   *
30733   * **Initial value**: `normal`
30734   *
30735   * | Chrome | Firefox | Safari |  Edge  |  IE   |
30736   * | :----: | :-----: | :----: | :----: | :---: |
30737   * | **1**  |  **1**  | **1**  | **12** | **6** |
30738   *
30739   * @see https://developer.mozilla.org/docs/Web/CSS/word-spacing
30740   */
30741  "word-spacing"?: WordSpacingProperty<TLength> | WordSpacingProperty<TLength>[];
30742  /**
30743   * The `**overflow-wrap**` CSS property sets whether the browser should insert line breaks within words to prevent text from overflowing its content box.
30744   *
30745   * **Syntax**: `normal | break-word`
30746   *
30747   * **Initial value**: `normal`
30748   *
30749   * | Chrome | Firefox | Safari |  Edge  |   IE    |
30750   * | :----: | :-----: | :----: | :----: | :-----: |
30751   * | **1**  | **3.5** | **2**  | **12** | **5.5** |
30752   *
30753   * @see https://developer.mozilla.org/docs/Web/CSS/overflow-wrap
30754   */
30755  "word-wrap"?: WordWrapProperty | WordWrapProperty[];
30756  /**
30757   * 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.
30758   *
30759   * **Syntax**: `horizontal-tb | vertical-rl | vertical-lr | sideways-rl | sideways-lr`
30760   *
30761   * **Initial value**: `horizontal-tb`
30762   *
30763   * | Chrome  | Firefox |  Safari   |  Edge  |     IE      |
30764   * | :-----: | :-----: | :-------: | :----: | :---------: |
30765   * | **48**  | **41**  | **10.1**  | **12** | **9** _-x-_ |
30766   * | 8 _-x-_ |         | 5.1 _-x-_ |        |             |
30767   *
30768   * @see https://developer.mozilla.org/docs/Web/CSS/writing-mode
30769   */
30770  "writing-mode"?: WritingModeProperty | WritingModeProperty[];
30771  /**
30772   * 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.
30773   *
30774   * **Syntax**: `auto | <integer>`
30775   *
30776   * **Initial value**: `auto`
30777   *
30778   * | Chrome | Firefox | Safari |  Edge  |  IE   |
30779   * | :----: | :-----: | :----: | :----: | :---: |
30780   * | **1**  |  **1**  | **1**  | **12** | **4** |
30781   *
30782   * @see https://developer.mozilla.org/docs/Web/CSS/z-index
30783   */
30784  "z-index"?: ZIndexProperty | ZIndexProperty[];
30785  /**
30786   * 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.
30787   *
30788   * **Syntax**: `normal | reset | <number> | <percentage>`
30789   *
30790   * **Initial value**: `normal`
30791   *
30792   * | Chrome | Firefox | Safari  |  Edge  |   IE    |
30793   * | :----: | :-----: | :-----: | :----: | :-----: |
30794   * | **1**  |   No    | **3.1** | **12** | **5.5** |
30795   *
30796   * @see https://developer.mozilla.org/docs/Web/CSS/zoom
30797   */
30798  zoom?: ZoomProperty | ZoomProperty[];
30799}
30800
30801export interface StandardShorthandPropertiesHyphenFallback<TLength = string | 0> {
30802  /**
30803   * The `**all**` CSS shorthand property sets all of an element's properties (other than `unicode-bidi` and `direction`) to their initial or inherited values, or to the values specified in another stylesheet origin.
30804   *
30805   * **Syntax**: `initial | inherit | unset | revert`
30806   *
30807   * **Initial value**: There is no practical initial value for it.
30808   *
30809   * | Chrome | Firefox | Safari  |  Edge  | IE  |
30810   * | :----: | :-----: | :-----: | :----: | :-: |
30811   * | **37** | **27**  | **9.1** | **79** | No  |
30812   *
30813   * @see https://developer.mozilla.org/docs/Web/CSS/all
30814   */
30815  all?: Globals | Globals[];
30816  /**
30817   * The **`animation`** shorthand CSS property sets an animated transition 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`.
30818   *
30819   * **Syntax**: `<single-animation>#`
30820   *
30821   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
30822   * | :-----: | :-----: | :-----: | :----: | :----: |
30823   * | **43**  | **16**  |  **9**  | **12** | **10** |
30824   * | 3 _-x-_ | 5 _-x-_ | 4 _-x-_ |        |        |
30825   *
30826   * @see https://developer.mozilla.org/docs/Web/CSS/animation
30827   */
30828  animation?: AnimationProperty | AnimationProperty[];
30829  /**
30830   * The **`background`** shorthand CSS property sets all background style properties at once, such as color, image, origin and size, or repeat method.
30831   *
30832   * **Syntax**: `[ <bg-layer> , ]* <final-bg-layer>`
30833   *
30834   * | Chrome | Firefox | Safari |  Edge  |  IE   |
30835   * | :----: | :-----: | :----: | :----: | :---: |
30836   * | **1**  |  **1**  | **1**  | **12** | **4** |
30837   *
30838   * @see https://developer.mozilla.org/docs/Web/CSS/background
30839   */
30840  background?: BackgroundProperty<TLength> | BackgroundProperty<TLength>[];
30841  /**
30842   * The **`border`** CSS property sets an element's border. It's a shorthand for `border-width`, `border-style`, and `border-color`.
30843   *
30844   * **Syntax**: `<line-width> || <line-style> || <color>`
30845   *
30846   * | Chrome | Firefox | Safari |  Edge  |  IE   |
30847   * | :----: | :-----: | :----: | :----: | :---: |
30848   * | **1**  |  **1**  | **1**  | **12** | **4** |
30849   *
30850   * @see https://developer.mozilla.org/docs/Web/CSS/border
30851   */
30852  border?: BorderProperty<TLength> | BorderProperty<TLength>[];
30853  /**
30854   * 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.
30855   *
30856   * **Syntax**: `<'border-top-width'> || <'border-top-style'> || <'color'>`
30857   *
30858   * | Chrome | Firefox | Safari |  Edge  | IE  |
30859   * | :----: | :-----: | :----: | :----: | :-: |
30860   * | **69** | **66**  |   No   | **79** | No  |
30861   *
30862   * @see https://developer.mozilla.org/docs/Web/CSS/border-block
30863   */
30864  "border-block"?: BorderBlockProperty<TLength> | BorderBlockProperty<TLength>[];
30865  /**
30866   * 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.
30867   *
30868   * **Syntax**: `<'border-top-width'> || <'border-top-style'> || <'color'>`
30869   *
30870   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
30871   * | :----: | :-----: | :------: | :----: | :-: |
30872   * | **69** | **41**  | **12.1** | **79** | No  |
30873   *
30874   * @see https://developer.mozilla.org/docs/Web/CSS/border-block-end
30875   */
30876  "border-block-end"?: BorderBlockEndProperty<TLength> | BorderBlockEndProperty<TLength>[];
30877  /**
30878   * 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.
30879   *
30880   * **Syntax**: `<'border-top-width'> || <'border-top-style'> || <'color'>`
30881   *
30882   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
30883   * | :----: | :-----: | :------: | :----: | :-: |
30884   * | **69** | **41**  | **12.1** | **79** | No  |
30885   *
30886   * @see https://developer.mozilla.org/docs/Web/CSS/border-block-start
30887   */
30888  "border-block-start"?: BorderBlockStartProperty<TLength> | BorderBlockStartProperty<TLength>[];
30889  /**
30890   * The **`border-bottom`** CSS property is a shorthand that sets the values of `border-bottom-width`, `border-bottom-style` and `border-bottom-color`. These properties set an element's bottom border.
30891   *
30892   * **Syntax**: `<line-width> || <line-style> || <color>`
30893   *
30894   * | Chrome | Firefox | Safari |  Edge  |  IE   |
30895   * | :----: | :-----: | :----: | :----: | :---: |
30896   * | **1**  |  **1**  | **1**  | **12** | **4** |
30897   *
30898   * @see https://developer.mozilla.org/docs/Web/CSS/border-bottom
30899   */
30900  "border-bottom"?: BorderBottomProperty<TLength> | BorderBottomProperty<TLength>[];
30901  /**
30902   * The **`border-color`** shorthand CSS property sets the color of all sides of an element's border.
30903   *
30904   * **Syntax**: `<color>{1,4}`
30905   *
30906   * | Chrome | Firefox | Safari |  Edge  |  IE   |
30907   * | :----: | :-----: | :----: | :----: | :---: |
30908   * | **1**  |  **1**  | **1**  | **12** | **4** |
30909   *
30910   * @see https://developer.mozilla.org/docs/Web/CSS/border-color
30911   */
30912  "border-color"?: BorderColorProperty | BorderColorProperty[];
30913  /**
30914   * The **`border-image`** CSS property draws an image in place of an element's `border-style`.
30915   *
30916   * **Syntax**: `<'border-image-source'> || <'border-image-slice'> [ / <'border-image-width'> | / <'border-image-width'>? / <'border-image-outset'> ]? || <'border-image-repeat'>`
30917   *
30918   * | Chrome  |  Firefox  | Safari  |  Edge  |   IE   |
30919   * | :-----: | :-------: | :-----: | :----: | :----: |
30920   * | **16**  |  **15**   |  **6**  | **12** | **11** |
30921   * | 7 _-x-_ | 3.5 _-x-_ | 3 _-x-_ |        |        |
30922   *
30923   * @see https://developer.mozilla.org/docs/Web/CSS/border-image
30924   */
30925  "border-image"?: BorderImageProperty | BorderImageProperty[];
30926  /**
30927   * 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.
30928   *
30929   * **Syntax**: `<'border-top-width'> || <'border-top-style'> || <'color'>`
30930   *
30931   * | Chrome | Firefox | Safari |  Edge  | IE  |
30932   * | :----: | :-----: | :----: | :----: | :-: |
30933   * | **69** | **66**  |   No   | **79** | No  |
30934   *
30935   * @see https://developer.mozilla.org/docs/Web/CSS/border-inline
30936   */
30937  "border-inline"?: BorderInlineProperty<TLength> | BorderInlineProperty<TLength>[];
30938  /**
30939   * 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.
30940   *
30941   * **Syntax**: `<'border-top-width'> || <'border-top-style'> || <'color'>`
30942   *
30943   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
30944   * | :----: | :-----: | :------: | :----: | :-: |
30945   * | **69** | **41**  | **12.1** | **79** | No  |
30946   *
30947   * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-end
30948   */
30949  "border-inline-end"?: BorderInlineEndProperty<TLength> | BorderInlineEndProperty<TLength>[];
30950  /**
30951   * 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.
30952   *
30953   * **Syntax**: `<'border-top-width'> || <'border-top-style'> || <'color'>`
30954   *
30955   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
30956   * | :----: | :-----: | :------: | :----: | :-: |
30957   * | **69** | **41**  | **12.1** | **79** | No  |
30958   *
30959   * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-start
30960   */
30961  "border-inline-start"?: BorderInlineStartProperty<TLength> | BorderInlineStartProperty<TLength>[];
30962  /**
30963   * The **`border-left`** CSS property is a shorthand that sets the values of `border-left-width`, `border-left-style` and `border-left-color`. These properties set an element's left border.
30964   *
30965   * **Syntax**: `<line-width> || <line-style> || <color>`
30966   *
30967   * | Chrome | Firefox | Safari |  Edge  |  IE   |
30968   * | :----: | :-----: | :----: | :----: | :---: |
30969   * | **1**  |  **1**  | **1**  | **12** | **4** |
30970   *
30971   * @see https://developer.mozilla.org/docs/Web/CSS/border-left
30972   */
30973  "border-left"?: BorderLeftProperty<TLength> | BorderLeftProperty<TLength>[];
30974  /**
30975   * 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.
30976   *
30977   * **Syntax**: `<length-percentage>{1,4} [ / <length-percentage>{1,4} ]?`
30978   *
30979   * | Chrome  | Firefox | Safari  |  Edge  |  IE   |
30980   * | :-----: | :-----: | :-----: | :----: | :---: |
30981   * |  **4**  |  **4**  |  **5**  | **12** | **9** |
30982   * | 1 _-x-_ |         | 3 _-x-_ |        |       |
30983   *
30984   * @see https://developer.mozilla.org/docs/Web/CSS/border-radius
30985   */
30986  "border-radius"?: BorderRadiusProperty<TLength> | BorderRadiusProperty<TLength>[];
30987  /**
30988   * The **`border-right`** CSS property is a shorthand that sets the values of `border-right-width`, `border-right-style` and `border-right-color`. These properties set an element's right border.
30989   *
30990   * **Syntax**: `<line-width> || <line-style> || <color>`
30991   *
30992   * | Chrome | Firefox | Safari |  Edge  |   IE    |
30993   * | :----: | :-----: | :----: | :----: | :-----: |
30994   * | **1**  |  **1**  | **1**  | **12** | **5.5** |
30995   *
30996   * @see https://developer.mozilla.org/docs/Web/CSS/border-right
30997   */
30998  "border-right"?: BorderRightProperty<TLength> | BorderRightProperty<TLength>[];
30999  /**
31000   * The **`border-style`** CSS property is a shorthand property that sets the line style for all four sides of an element's border.
31001   *
31002   * **Syntax**: `<line-style>{1,4}`
31003   *
31004   * | Chrome | Firefox | Safari |  Edge  |  IE   |
31005   * | :----: | :-----: | :----: | :----: | :---: |
31006   * | **1**  |  **1**  | **1**  | **12** | **4** |
31007   *
31008   * @see https://developer.mozilla.org/docs/Web/CSS/border-style
31009   */
31010  "border-style"?: BorderStyleProperty | BorderStyleProperty[];
31011  /**
31012   * The **`border-top`** CSS property is a shorthand that sets the values of `border-top-width`, `border-top-style` and `border-top-color`. These properties set an element's top border.
31013   *
31014   * **Syntax**: `<line-width> || <line-style> || <color>`
31015   *
31016   * | Chrome | Firefox | Safari |  Edge  |  IE   |
31017   * | :----: | :-----: | :----: | :----: | :---: |
31018   * | **1**  |  **1**  | **1**  | **12** | **4** |
31019   *
31020   * @see https://developer.mozilla.org/docs/Web/CSS/border-top
31021   */
31022  "border-top"?: BorderTopProperty<TLength> | BorderTopProperty<TLength>[];
31023  /**
31024   * The **`border-width`** shorthand CSS property sets the widths of all four sides of an element's border.
31025   *
31026   * **Syntax**: `<line-width>{1,4}`
31027   *
31028   * | Chrome | Firefox | Safari |  Edge  |  IE   |
31029   * | :----: | :-----: | :----: | :----: | :---: |
31030   * | **1**  |  **1**  | **1**  | **12** | **4** |
31031   *
31032   * @see https://developer.mozilla.org/docs/Web/CSS/border-width
31033   */
31034  "border-width"?: BorderWidthProperty<TLength> | BorderWidthProperty<TLength>[];
31035  /**
31036   * The **`column-rule`** CSS property sets the width, style, and color of the rule (line) drawn between columns in a multi-column layout.
31037   *
31038   * **Syntax**: `<'column-rule-width'> || <'column-rule-style'> || <'column-rule-color'>`
31039   *
31040   * | Chrome  | Firefox | Safari  |  Edge  |   IE   |
31041   * | :-----: | :-----: | :-----: | :----: | :----: |
31042   * | **50**  | **52**  |  **9**  | **12** | **10** |
31043   * | 1 _-x-_ |         | 3 _-x-_ |        |        |
31044   *
31045   * @see https://developer.mozilla.org/docs/Web/CSS/column-rule
31046   */
31047  "column-rule"?: ColumnRuleProperty<TLength> | ColumnRuleProperty<TLength>[];
31048  /**
31049   * The **`columns`** CSS property sets the column width and column count of an element.
31050   *
31051   * **Syntax**: `<'column-width'> || <'column-count'>`
31052   *
31053   * | Chrome | Firefox | Safari  |  Edge  |   IE   |
31054   * | :----: | :-----: | :-----: | :----: | :----: |
31055   * | **50** | **52**  |  **9**  | **12** | **10** |
31056   * |        |         | 3 _-x-_ |        |        |
31057   *
31058   * @see https://developer.mozilla.org/docs/Web/CSS/columns
31059   */
31060  columns?: ColumnsProperty<TLength> | ColumnsProperty<TLength>[];
31061  /**
31062   * The **`flex`** CSS property sets how a flex item will grow or shrink to fit the space available in its flex container. It is a shorthand for `flex-grow`, `flex-shrink`, and `flex-basis`.
31063   *
31064   * **Syntax**: `none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]`
31065   *
31066   * |  Chrome  | Firefox |  Safari   |  Edge  |    IE    |
31067   * | :------: | :-----: | :-------: | :----: | :------: |
31068   * |  **29**  | **20**  |   **9**   | **12** |  **11**  |
31069   * | 21 _-x-_ |         | 6.1 _-x-_ |        | 10 _-x-_ |
31070   *
31071   * @see https://developer.mozilla.org/docs/Web/CSS/flex
31072   */
31073  flex?: FlexProperty<TLength> | FlexProperty<TLength>[];
31074  /**
31075   * The **`flex-flow`** CSS property is a shorthand property for `flex-direction` and `flex-wrap` properties.
31076   *
31077   * **Syntax**: `<'flex-direction'> || <'flex-wrap'>`
31078   *
31079   * |  Chrome  | Firefox |  Safari   |  Edge  |   IE   |
31080   * | :------: | :-----: | :-------: | :----: | :----: |
31081   * |  **29**  | **28**  |   **9**   | **12** | **11** |
31082   * | 21 _-x-_ |         | 6.1 _-x-_ |        |        |
31083   *
31084   * @see https://developer.mozilla.org/docs/Web/CSS/flex-flow
31085   */
31086  "flex-flow"?: FlexFlowProperty | FlexFlowProperty[];
31087  /**
31088   * The **`font`** CSS property is a shorthand for `font-style`, `font-variant`, `font-weight`, `font-size`, `line-height`, and `font-family`. Alternatively, it sets an element's font to a system font.
31089   *
31090   * **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`
31091   *
31092   * | Chrome | Firefox | Safari |  Edge  |  IE   |
31093   * | :----: | :-----: | :----: | :----: | :---: |
31094   * | **1**  |  **1**  | **1**  | **12** | **3** |
31095   *
31096   * @see https://developer.mozilla.org/docs/Web/CSS/font
31097   */
31098  font?: FontProperty | FontProperty[];
31099  /**
31100   * The **`gap`** CSS property sets the gaps (gutters) between rows and columns. It is a shorthand for `row-gap` and `column-gap`.
31101   *
31102   * **Syntax**: `<'row-gap'> <'column-gap'>?`
31103   *
31104   * ---
31105   *
31106   * _Supported in Flex Layout_
31107   *
31108   * | Chrome | Firefox | Safari | Edge | IE  |
31109   * | :----: | :-----: | :----: | :--: | :-: |
31110   * | **84** | **63**  |   No   |  No  | No  |
31111   *
31112   * ---
31113   *
31114   * _Supported in Grid Layout_
31115   *
31116   * |     Chrome      |     Firefox     |      Safari       |  Edge  | IE  |
31117   * | :-------------: | :-------------: | :---------------: | :----: | :-: |
31118   * |     **66**      |     **61**      |      **12**       | **16** | No  |
31119   * | 57 _(grid-gap)_ | 52 _(grid-gap)_ | 10.1 _(grid-gap)_ |        |     |
31120   *
31121   * ---
31122   *
31123   * _Supported in Multi-column Layout_
31124   *
31125   * | Chrome | Firefox | Safari |  Edge  | IE  |
31126   * | :----: | :-----: | :----: | :----: | :-: |
31127   * | **66** | **61**  |   No   | **16** | No  |
31128   *
31129   * ---
31130   *
31131   * @see https://developer.mozilla.org/docs/Web/CSS/gap
31132   */
31133  gap?: GapProperty<TLength> | GapProperty<TLength>[];
31134  /**
31135   * The **`grid`** CSS property is a shorthand property that sets all of the explicit grid properties (`grid-template-rows`, `grid-template-columns`, and `grid-template-areas`), and all the implicit grid properties (`grid-auto-rows`, `grid-auto-columns`, and `grid-auto-flow`), in a single declaration.
31136   *
31137   * **Syntax**: `<'grid-template'> | <'grid-template-rows'> / [ auto-flow && dense? ] <'grid-auto-columns'>? | [ auto-flow && dense? ] <'grid-auto-rows'>? / <'grid-template-columns'>`
31138   *
31139   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
31140   * | :----: | :-----: | :------: | :----: | :-: |
31141   * | **57** | **52**  | **10.1** | **16** | No  |
31142   *
31143   * @see https://developer.mozilla.org/docs/Web/CSS/grid
31144   */
31145  grid?: GridProperty | GridProperty[];
31146  /**
31147   * The **`grid-area`** CSS property is a shorthand property for `grid-row-start`, `grid-column-start`, `grid-row-end` and `grid-column-end`, specifying 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 edges of its grid area.
31148   *
31149   * **Syntax**: `<grid-line> [ / <grid-line> ]{0,3}`
31150   *
31151   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
31152   * | :----: | :-----: | :------: | :----: | :-: |
31153   * | **57** | **52**  | **10.1** | **16** | No  |
31154   *
31155   * @see https://developer.mozilla.org/docs/Web/CSS/grid-area
31156   */
31157  "grid-area"?: GridAreaProperty | GridAreaProperty[];
31158  /**
31159   * The **`grid-column`** CSS property is a shorthand property for `grid-column-start` and `grid-column-end` specifying a grid item's size and location within the 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.
31160   *
31161   * **Syntax**: `<grid-line> [ / <grid-line> ]?`
31162   *
31163   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
31164   * | :----: | :-----: | :------: | :----: | :-: |
31165   * | **57** | **52**  | **10.1** | **16** | No  |
31166   *
31167   * @see https://developer.mozilla.org/docs/Web/CSS/grid-column
31168   */
31169  "grid-column"?: GridColumnProperty | GridColumnProperty[];
31170  /**
31171   * The **`grid-row`** CSS property is a shorthand property for `grid-row-start` and `grid-row-end` specifying 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.
31172   *
31173   * **Syntax**: `<grid-line> [ / <grid-line> ]?`
31174   *
31175   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
31176   * | :----: | :-----: | :------: | :----: | :-: |
31177   * | **57** | **52**  | **10.1** | **16** | No  |
31178   *
31179   * @see https://developer.mozilla.org/docs/Web/CSS/grid-row
31180   */
31181  "grid-row"?: GridRowProperty | GridRowProperty[];
31182  /**
31183   * The **`grid-template`** CSS property is a shorthand property for defining grid columns, rows, and areas.
31184   *
31185   * **Syntax**: `none | [ <'grid-template-rows'> / <'grid-template-columns'> ] | [ <line-names>? <string> <track-size>? <line-names>? ]+ [ / <explicit-track-list> ]?`
31186   *
31187   * | Chrome | Firefox |  Safari  |  Edge  | IE  |
31188   * | :----: | :-----: | :------: | :----: | :-: |
31189   * | **57** | **52**  | **10.1** | **16** | No  |
31190   *
31191   * @see https://developer.mozilla.org/docs/Web/CSS/grid-template
31192   */
31193  "grid-template"?: GridTemplateProperty | GridTemplateProperty[];
31194  /**
31195   * **Syntax**: `none | <integer>`
31196   *
31197   * **Initial value**: `none`
31198   */
31199  "line-clamp"?: LineClampProperty | LineClampProperty[];
31200  /**
31201   * The **`list-style`** CSS property is a shorthand to set list style properties `list-style-type`, `list-style-image`, and `list-style-position`.
31202   *
31203   * **Syntax**: `<'list-style-type'> || <'list-style-position'> || <'list-style-image'>`
31204   *
31205   * | Chrome | Firefox | Safari |  Edge  |  IE   |
31206   * | :----: | :-----: | :----: | :----: | :---: |
31207   * | **1**  |  **1**  | **1**  | **12** | **4** |
31208   *
31209   * @see https://developer.mozilla.org/docs/Web/CSS/list-style
31210   */
31211  "list-style"?: ListStyleProperty | ListStyleProperty[];
31212  /**
31213   * 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`.
31214   *
31215   * **Syntax**: `[ <length> | <percentage> | auto ]{1,4}`
31216   *
31217   * | Chrome | Firefox | Safari |  Edge  |  IE   |
31218   * | :----: | :-----: | :----: | :----: | :---: |
31219   * | **1**  |  **1**  | **1**  | **12** | **3** |
31220   *
31221   * @see https://developer.mozilla.org/docs/Web/CSS/margin
31222   */
31223  margin?: MarginProperty<TLength> | MarginProperty<TLength>[];
31224  /**
31225   * The **`mask`** CSS property hides an element (partially or fully) by masking or clipping the image at specific points.
31226   *
31227   * **Syntax**: `<mask-layer>#`
31228   *
31229   * | Chrome | Firefox | Safari  |  Edge  | IE  |
31230   * | :----: | :-----: | :-----: | :----: | :-: |
31231   * | **1**  |  **2**  | **3.2** | **12** | No  |
31232   *
31233   * @see https://developer.mozilla.org/docs/Web/CSS/mask
31234   */
31235  mask?: MaskProperty<TLength> | MaskProperty<TLength>[];
31236  /**
31237   * The **`mask-border`** CSS property lets you create a mask along the edge of an element's border.
31238   *
31239   * **Syntax**: `<'mask-border-source'> || <'mask-border-slice'> [ / <'mask-border-width'>? [ / <'mask-border-outset'> ]? ]? || <'mask-border-repeat'> || <'mask-border-mode'>`
31240   */
31241  "mask-border"?: MaskBorderProperty | MaskBorderProperty[];
31242  /**
31243   * The **`offset`** CSS property is a shorthand property for animating an element along a defined path.
31244   *
31245   * **Syntax**: `[ <'offset-position'>? [ <'offset-path'> [ <'offset-distance'> || <'offset-rotate'> ]? ]? ]! [ / <'offset-anchor'> ]?`
31246   *
31247   * |    Chrome     | Firefox | Safari |  Edge  | IE  |
31248   * | :-----------: | :-----: | :----: | :----: | :-: |
31249   * |    **55**     | **72**  |   No   | **79** | No  |
31250   * | 46 _(motion)_ |         |        |        |     |
31251   *
31252   * @see https://developer.mozilla.org/docs/Web/CSS/offset
31253   */
31254  motion?: OffsetProperty<TLength> | OffsetProperty<TLength>[];
31255  /**
31256   * The **`offset`** CSS property is a shorthand property for animating an element along a defined path.
31257   *
31258   * **Syntax**: `[ <'offset-position'>? [ <'offset-path'> [ <'offset-distance'> || <'offset-rotate'> ]? ]? ]! [ / <'offset-anchor'> ]?`
31259   *
31260   * |    Chrome     | Firefox | Safari |  Edge  | IE  |
31261   * | :-----------: | :-----: | :----: | :----: | :-: |
31262   * |    **55**     | **72**  |   No   | **79** | No  |
31263   * | 46 _(motion)_ |         |        |        |     |
31264   *
31265   * @see https://developer.mozilla.org/docs/Web/CSS/offset
31266   */
31267  offset?: OffsetProperty<TLength> | OffsetProperty<TLength>[];
31268  /**
31269   * The **`outline`** CSS property is a shorthand to set various outline properties in a single declaration: `outline-style`, `outline-width`, and `outline-color`.
31270   *
31271   * **Syntax**: `[ <'outline-color'> || <'outline-style'> || <'outline-width'> ]`
31272   *
31273   * | Chrome | Firefox | Safari  |  Edge  |  IE   |
31274   * | :----: | :-----: | :-----: | :----: | :---: |
31275   * | **1**  | **1.5** | **1.2** | **12** | **8** |
31276   *
31277   * @see https://developer.mozilla.org/docs/Web/CSS/outline
31278   */
31279  outline?: OutlineProperty<TLength> | OutlineProperty<TLength>[];
31280  /**
31281   * The **`overflow`** CSS property sets what to do when an element's content is too big to fit in its block formatting context. It is a shorthand for `overflow-x` and `overflow-y`.
31282   *
31283   * **Syntax**: `[ visible | hidden | clip | scroll | auto ]{1,2}`
31284   *
31285   * **Initial value**: `visible`
31286   *
31287   * | Chrome | Firefox | Safari |  Edge  |  IE   |
31288   * | :----: | :-----: | :----: | :----: | :---: |
31289   * | **1**  |  **1**  | **1**  | **12** | **4** |
31290   *
31291   * @see https://developer.mozilla.org/docs/Web/CSS/overflow
31292   */
31293  overflow?: OverflowProperty | OverflowProperty[];
31294  /**
31295   * The **`padding`** CSS property sets the padding area on all four sides of an element. It is a shorthand for `padding-top`, `padding-right`, `padding-bottom`, and `padding-left`.
31296   *
31297   * **Syntax**: `[ <length> | <percentage> ]{1,4}`
31298   *
31299   * | Chrome | Firefox | Safari |  Edge  |  IE   |
31300   * | :----: | :-----: | :----: | :----: | :---: |
31301   * | **1**  |  **1**  | **1**  | **12** | **4** |
31302   *
31303   * @see https://developer.mozilla.org/docs/Web/CSS/padding
31304   */
31305  padding?: PaddingProperty<TLength> | PaddingProperty<TLength>[];
31306  /**
31307   * The CSS **`place-items`** shorthand property sets the `align-items` and `justify-items` properties, respectively. If the second value is not set, the first value is also used for it.
31308   *
31309   * **Syntax**: `<'align-items'> <'justify-items'>?`
31310   *
31311   * ---
31312   *
31313   * _Supported in Flex Layout_
31314   *
31315   * | Chrome | Firefox | Safari |  Edge  | IE  |
31316   * | :----: | :-----: | :----: | :----: | :-: |
31317   * | **59** | **45**  | **11** | **79** | No  |
31318   *
31319   * ---
31320   *
31321   * _Supported in Grid Layout_
31322   *
31323   * | Chrome | Firefox | Safari |  Edge  | IE  |
31324   * | :----: | :-----: | :----: | :----: | :-: |
31325   * | **59** | **45**  | **11** | **79** | No  |
31326   *
31327   * ---
31328   *
31329   * @see https://developer.mozilla.org/docs/Web/CSS/place-items
31330   */
31331  "place-items"?: PlaceItemsProperty | PlaceItemsProperty[];
31332  /**
31333   * The **`place-self`** CSS property is a shorthand property sets both the `align-self` and `justify-self` properties. The first value is the `align-self` property value, the second the `justify-self` one. If the second value is not present, the first value is also used for it.
31334   *
31335   * **Syntax**: `<'align-self'> <'justify-self'>?`
31336   *
31337   * ---
31338   *
31339   * _Supported in Flex Layout_
31340   *
31341   * | Chrome | Firefox | Safari |  Edge  | IE  |
31342   * | :----: | :-----: | :----: | :----: | :-: |
31343   * | **59** | **45**  |   No   | **79** | No  |
31344   *
31345   * ---
31346   *
31347   * _Supported in Grid Layout_
31348   *
31349   * | Chrome | Firefox | Safari |  Edge  | IE  |
31350   * | :----: | :-----: | :----: | :----: | :-: |
31351   * | **59** | **45**  |   No   | **79** | No  |
31352   *
31353   * ---
31354   *
31355   * @see https://developer.mozilla.org/docs/Web/CSS/place-self
31356   */
31357  "place-self"?: PlaceSelfProperty | PlaceSelfProperty[];
31358  /**
31359   * The **`text-decoration`** CSS property sets the appearance of decorative lines on text. It is a shorthand for `text-decoration-line`, `text-decoration-color`, and `text-decoration-style`.
31360   *
31361   * **Syntax**: `<'text-decoration-line'> || <'text-decoration-style'> || <'text-decoration-color'> || <'text-decoration-thickness'>`
31362   *
31363   * | Chrome | Firefox | Safari |  Edge  |  IE   |
31364   * | :----: | :-----: | :----: | :----: | :---: |
31365   * | **1**  |  **1**  | **1**  | **12** | **3** |
31366   *
31367   * @see https://developer.mozilla.org/docs/Web/CSS/text-decoration
31368   */
31369  "text-decoration"?: TextDecorationProperty<TLength> | TextDecorationProperty<TLength>[];
31370  /**
31371   * 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`.
31372   *
31373   * **Syntax**: `<'text-emphasis-style'> || <'text-emphasis-color'>`
31374   *
31375   * |    Chrome    | Firefox | Safari  |     Edge     | IE  |
31376   * | :----------: | :-----: | :-----: | :----------: | :-: |
31377   * | **25** _-x-_ | **46**  | **6.1** | **79** _-x-_ | No  |
31378   *
31379   * @see https://developer.mozilla.org/docs/Web/CSS/text-emphasis
31380   */
31381  "text-emphasis"?: TextEmphasisProperty | TextEmphasisProperty[];
31382  /**
31383   * The **`transition`** CSS property is a shorthand property for `transition-property`, `transition-duration`, `transition-timing-function`, and `transition-delay`.
31384   *
31385   * **Syntax**: `<single-transition>#`
31386   *
31387   * | Chrome  | Firefox |  Safari   |  Edge  |   IE   |
31388   * | :-----: | :-----: | :-------: | :----: | :----: |
31389   * | **26**  | **16**  |   **9**   | **12** | **10** |
31390   * | 1 _-x-_ | 4 _-x-_ | 3.1 _-x-_ |        |        |
31391   *
31392   * @see https://developer.mozilla.org/docs/Web/CSS/transition
31393   */
31394  transition?: TransitionProperty | TransitionProperty[];
31395}
31396
31397export interface StandardPropertiesHyphenFallback<TLength = string | 0>
31398  extends StandardLonghandPropertiesHyphenFallback<TLength>,
31399    StandardShorthandPropertiesHyphenFallback<TLength> {}
31400
31401export interface VendorLonghandPropertiesHyphenFallback<TLength = string | 0> {
31402  /**
31403   * The **`animation-delay`** CSS property sets when an animation starts. The animation can start later, immediately from its beginning, or immediately and partway through the animation.
31404   *
31405   * **Syntax**: `<time>#`
31406   *
31407   * **Initial value**: `0s`
31408   */
31409  "-moz-animation-delay"?: GlobalsString | GlobalsString[];
31410  /**
31411   * The **`animation-direction`** CSS property sets whether an animation should play forwards, backwards, or alternating back and forth.
31412   *
31413   * **Syntax**: `<single-animation-direction>#`
31414   *
31415   * **Initial value**: `normal`
31416   */
31417  "-moz-animation-direction"?: AnimationDirectionProperty | AnimationDirectionProperty[];
31418  /**
31419   * The **`animation-duration`** CSS property sets the length of time that an animation takes to complete one cycle.
31420   *
31421   * **Syntax**: `<time>#`
31422   *
31423   * **Initial value**: `0s`
31424   */
31425  "-moz-animation-duration"?: GlobalsString | GlobalsString[];
31426  /**
31427   * The **`animation-fill-mode`** CSS property sets how a CSS animation applies styles to its target before and after its execution.
31428   *
31429   * **Syntax**: `<single-animation-fill-mode>#`
31430   *
31431   * **Initial value**: `none`
31432   */
31433  "-moz-animation-fill-mode"?: AnimationFillModeProperty | AnimationFillModeProperty[];
31434  /**
31435   * The **`animation-iteration-count`** CSS property sets the number of times an animation cycle should be played before stopping.
31436   *
31437   * **Syntax**: `<single-animation-iteration-count>#`
31438   *
31439   * **Initial value**: `1`
31440   */
31441  "-moz-animation-iteration-count"?: AnimationIterationCountProperty | AnimationIterationCountProperty[];
31442  /**
31443   * The **`animation-name`** CSS property sets one or more animations to apply to an element. Each name is an `@keyframes` at-rule that sets the property values for the animation sequence.
31444   *
31445   * **Syntax**: `[ none | <keyframes-name> ]#`
31446   *
31447   * **Initial value**: `none`
31448   */
31449  "-moz-animation-name"?: AnimationNameProperty | AnimationNameProperty[];
31450  /**
31451   * The **`animation-play-state`** CSS property sets whether an animation is running or paused.
31452   *
31453   * **Syntax**: `<single-animation-play-state>#`
31454   *
31455   * **Initial value**: `running`
31456   */
31457  "-moz-animation-play-state"?: AnimationPlayStateProperty | AnimationPlayStateProperty[];
31458  /**
31459   * The `**animation-timing-function**` CSS property sets how an animation progresses through the duration of each cycle.
31460   *
31461   * **Syntax**: `<timing-function>#`
31462   *
31463   * **Initial value**: `ease`
31464   */
31465  "-moz-animation-timing-function"?: AnimationTimingFunctionProperty | AnimationTimingFunctionProperty[];
31466  /**
31467   * The **`-moz-appearance`** CSS property is used in Gecko (Firefox) to display an element using platform-native styling based on the operating system's theme.
31468   *
31469   * **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`
31470   *
31471   * **Initial value**: `none` (but this value is overridden in the user agent CSS)
31472   */
31473  "-moz-appearance"?: MozAppearanceProperty | MozAppearanceProperty[];
31474  /**
31475   * The **`backface-visibility`** CSS property sets whether the back face of an element is visible when turned towards the user.
31476   *
31477   * **Syntax**: `visible | hidden`
31478   *
31479   * **Initial value**: `visible`
31480   */
31481  "-moz-backface-visibility"?: BackfaceVisibilityProperty | BackfaceVisibilityProperty[];
31482  /**
31483   * In Mozilla applications like Firefox, the **`-moz-border-bottom-colors`** CSS property sets a list of colors for the bottom border.
31484   *
31485   * **Syntax**: `<color>+ | none`
31486   *
31487   * **Initial value**: `none`
31488   */
31489  "-moz-border-bottom-colors"?: MozBorderBottomColorsProperty | MozBorderBottomColorsProperty[];
31490  /**
31491   * 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`.
31492   *
31493   * **Syntax**: `<'border-top-color'>`
31494   *
31495   * **Initial value**: `currentcolor`
31496   */
31497  "-moz-border-end-color"?: BorderInlineEndColorProperty | BorderInlineEndColorProperty[];
31498  /**
31499   * 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`.
31500   *
31501   * **Syntax**: `<'border-top-style'>`
31502   *
31503   * **Initial value**: `none`
31504   */
31505  "-moz-border-end-style"?: BorderInlineEndStyleProperty | BorderInlineEndStyleProperty[];
31506  /**
31507   * 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`.
31508   *
31509   * **Syntax**: `<'border-top-width'>`
31510   *
31511   * **Initial value**: `medium`
31512   */
31513  "-moz-border-end-width"?: BorderInlineEndWidthProperty<TLength> | BorderInlineEndWidthProperty<TLength>[];
31514  /**
31515   * In Mozilla applications like Firefox, the **`-moz-border-left-colors`** CSS property sets a list of colors for the left border.
31516   *
31517   * **Syntax**: `<color>+ | none`
31518   *
31519   * **Initial value**: `none`
31520   */
31521  "-moz-border-left-colors"?: MozBorderLeftColorsProperty | MozBorderLeftColorsProperty[];
31522  /**
31523   * In Mozilla applications like Firefox, the **`-moz-border-right-colors`** CSS property sets a list of colors for the right border.
31524   *
31525   * **Syntax**: `<color>+ | none`
31526   *
31527   * **Initial value**: `none`
31528   */
31529  "-moz-border-right-colors"?: MozBorderRightColorsProperty | MozBorderRightColorsProperty[];
31530  /**
31531   * 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`.
31532   *
31533   * **Syntax**: `<'border-top-color'>`
31534   *
31535   * **Initial value**: `currentcolor`
31536   */
31537  "-moz-border-start-color"?: BorderInlineStartColorProperty | BorderInlineStartColorProperty[];
31538  /**
31539   * 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`.
31540   *
31541   * **Syntax**: `<'border-top-style'>`
31542   *
31543   * **Initial value**: `none`
31544   */
31545  "-moz-border-start-style"?: BorderInlineStartStyleProperty | BorderInlineStartStyleProperty[];
31546  /**
31547   * In Mozilla applications like Firefox, the **`-moz-border-top-colors`** CSS property sets a list of colors for the top border.
31548   *
31549   * **Syntax**: `<color>+ | none`
31550   *
31551   * **Initial value**: `none`
31552   */
31553  "-moz-border-top-colors"?: MozBorderTopColorsProperty | MozBorderTopColorsProperty[];
31554  /**
31555   * The **`box-sizing`** CSS property defines how the user agent should calculate the total width and height of an element.
31556   *
31557   * **Syntax**: `content-box | border-box`
31558   *
31559   * **Initial value**: `content-box`
31560   */
31561  "-moz-box-sizing"?: BoxSizingProperty | BoxSizingProperty[];
31562  /**
31563   * The **`column-count`** CSS property breaks an element's content into the specified number of columns.
31564   *
31565   * **Syntax**: `<integer> | auto`
31566   *
31567   * **Initial value**: `auto`
31568   */
31569  "-moz-column-count"?: ColumnCountProperty | ColumnCountProperty[];
31570  /**
31571   * The **`column-fill`** CSS property controls how an element's contents are balanced when broken into columns.
31572   *
31573   * **Syntax**: `auto | balance | balance-all`
31574   *
31575   * **Initial value**: `balance`
31576   */
31577  "-moz-column-fill"?: ColumnFillProperty | ColumnFillProperty[];
31578  /**
31579   * The **`column-gap`** CSS property sets the size of the gap (gutter) between an element's columns.
31580   *
31581   * **Syntax**: `normal | <length-percentage>`
31582   *
31583   * **Initial value**: `normal`
31584   */
31585  "-moz-column-gap"?: ColumnGapProperty<TLength> | ColumnGapProperty<TLength>[];
31586  /**
31587   * The **`column-rule-color`** CSS property sets the color of the rule (line) drawn between columns in a multi-column layout.
31588   *
31589   * **Syntax**: `<color>`
31590   *
31591   * **Initial value**: `currentcolor`
31592   */
31593  "-moz-column-rule-color"?: ColumnRuleColorProperty | ColumnRuleColorProperty[];
31594  /**
31595   * The **`column-rule-style`** CSS property sets the style of the line drawn between columns in a multi-column layout.
31596   *
31597   * **Syntax**: `<'border-style'>`
31598   *
31599   * **Initial value**: `none`
31600   */
31601  "-moz-column-rule-style"?: ColumnRuleStyleProperty | ColumnRuleStyleProperty[];
31602  /**
31603   * The **`column-rule-width`** CSS property sets the width of the rule (line) drawn between columns in a multi-column layout.
31604   *
31605   * **Syntax**: `<'border-width'>`
31606   *
31607   * **Initial value**: `medium`
31608   */
31609  "-moz-column-rule-width"?: ColumnRuleWidthProperty<TLength> | ColumnRuleWidthProperty<TLength>[];
31610  /**
31611   * The **`column-width`** CSS property specifies 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.
31612   *
31613   * **Syntax**: `<length> | auto`
31614   *
31615   * **Initial value**: `auto`
31616   */
31617  "-moz-column-width"?: ColumnWidthProperty<TLength> | ColumnWidthProperty<TLength>[];
31618  /**
31619   * If you reference an SVG image in a webpage (such as with the `<img>` element or as a background image), the SVG image can coordinate with the embedding element (its context) to have the image adopt property values set on the embedding element. To do this the embedding element needs to list the properties that are to be made available to the image by listing them as values of the **`-moz-context-properties`** property, and the image needs to opt in to using those properties by using values such as the `context-fill` value.
31620   *
31621   * **Syntax**: `none | [ fill | fill-opacity | stroke | stroke-opacity ]#`
31622   *
31623   * **Initial value**: `none`
31624   */
31625  "-moz-context-properties"?: MozContextPropertiesProperty | MozContextPropertiesProperty[];
31626  /**
31627   * 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.
31628   *
31629   * **Syntax**: `border-box | content-box | margin-box | padding-box`
31630   *
31631   * **Initial value**: `content-box`
31632   */
31633  "-moz-float-edge"?: MozFloatEdgeProperty | MozFloatEdgeProperty[];
31634  /**
31635   * The **`font-feature-settings`** CSS property controls advanced typographic features in OpenType fonts.
31636   *
31637   * **Syntax**: `normal | <feature-tag-value>#`
31638   *
31639   * **Initial value**: `normal`
31640   */
31641  "-moz-font-feature-settings"?: FontFeatureSettingsProperty | FontFeatureSettingsProperty[];
31642  /**
31643   * The **`font-language-override`** CSS property controls the use of language-specific glyphs in a typeface.
31644   *
31645   * **Syntax**: `normal | <string>`
31646   *
31647   * **Initial value**: `normal`
31648   */
31649  "-moz-font-language-override"?: FontLanguageOverrideProperty | FontLanguageOverrideProperty[];
31650  /**
31651   * 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.
31652   *
31653   * **Syntax**: `<integer>`
31654   *
31655   * **Initial value**: `0`
31656   */
31657  "-moz-force-broken-image-icon"?: GlobalsNumber | GlobalsNumber[];
31658  /**
31659   * The **`hyphens`** CSS property specifies how words should be hyphenated when text wraps across multiple lines. You can prevent hyphenation entirely, use hyphenation in manually-specified points within the text, or let the browser automatically insert hyphens where appropriate.
31660   *
31661   * **Syntax**: `none | manual | auto`
31662   *
31663   * **Initial value**: `manual`
31664   */
31665  "-moz-hyphens"?: HyphensProperty | HyphensProperty[];
31666  /**
31667   * 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.
31668   *
31669   * **Syntax**: `<shape> | auto`
31670   *
31671   * **Initial value**: `auto`
31672   */
31673  "-moz-image-region"?: MozImageRegionProperty | MozImageRegionProperty[];
31674  /**
31675   * 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`.
31676   *
31677   * **Syntax**: `<'margin-left'>`
31678   *
31679   * **Initial value**: `0`
31680   */
31681  "-moz-margin-end"?: MarginInlineEndProperty<TLength> | MarginInlineEndProperty<TLength>[];
31682  /**
31683   * 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`.
31684   *
31685   * **Syntax**: `<'margin-left'>`
31686   *
31687   * **Initial value**: `0`
31688   */
31689  "-moz-margin-start"?: MarginInlineStartProperty<TLength> | MarginInlineStartProperty<TLength>[];
31690  /**
31691   * The **`-moz-orient`** CSS property specifies the orientation of the element to which it's applied.
31692   *
31693   * **Syntax**: `inline | block | horizontal | vertical`
31694   *
31695   * **Initial value**: `inline`
31696   */
31697  "-moz-orient"?: MozOrientProperty | MozOrientProperty[];
31698  /**
31699   * In Mozilla applications, the **`-moz-outline-radius-bottomleft`** CSS property can be used to round the bottom-left corner of an element's `outline`.
31700   *
31701   * **Syntax**: `<outline-radius>`
31702   *
31703   * **Initial value**: `0`
31704   */
31705  "-moz-outline-radius-bottomleft"?: MozOutlineRadiusBottomleftProperty<TLength> | MozOutlineRadiusBottomleftProperty<TLength>[];
31706  /**
31707   * In Mozilla applications, the **`-moz-outline-radius-bottomright`** CSS property can be used to round the bottom-right corner of an element's `outline`.
31708   *
31709   * **Syntax**: `<outline-radius>`
31710   *
31711   * **Initial value**: `0`
31712   */
31713  "-moz-outline-radius-bottomright"?: MozOutlineRadiusBottomrightProperty<TLength> | MozOutlineRadiusBottomrightProperty<TLength>[];
31714  /**
31715   * In Mozilla applications, the **`-moz-outline-radius-topleft`** CSS property can be used to round the top-left corner of an element's `outline`.
31716   *
31717   * **Syntax**: `<outline-radius>`
31718   *
31719   * **Initial value**: `0`
31720   */
31721  "-moz-outline-radius-topleft"?: MozOutlineRadiusTopleftProperty<TLength> | MozOutlineRadiusTopleftProperty<TLength>[];
31722  /**
31723   * In Mozilla applications, the **`-moz-outline-radius-topright`** CSS property can be used to round the top-right corner of an element's `outline`.
31724   *
31725   * **Syntax**: `<outline-radius>`
31726   *
31727   * **Initial value**: `0`
31728   */
31729  "-moz-outline-radius-topright"?: MozOutlineRadiusToprightProperty<TLength> | MozOutlineRadiusToprightProperty<TLength>[];
31730  /**
31731   * 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. It corresponds to the `padding-top`, `padding-right`, `padding-bottom`, or `padding-left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
31732   *
31733   * **Syntax**: `<'padding-left'>`
31734   *
31735   * **Initial value**: `0`
31736   */
31737  "-moz-padding-end"?: PaddingInlineEndProperty<TLength> | PaddingInlineEndProperty<TLength>[];
31738  /**
31739   * 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. It corresponds to the `padding-top`, `padding-right`, `padding-bottom`, or `padding-left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
31740   *
31741   * **Syntax**: `<'padding-left'>`
31742   *
31743   * **Initial value**: `0`
31744   */
31745  "-moz-padding-start"?: PaddingInlineStartProperty<TLength> | PaddingInlineStartProperty<TLength>[];
31746  /**
31747   * 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. Each 3D element with z>0 becomes larger; each 3D-element with z<0 becomes smaller. The strength of the effect is determined by the value of this property.
31748   *
31749   * **Syntax**: `none | <length>`
31750   *
31751   * **Initial value**: `none`
31752   */
31753  "-moz-perspective"?: PerspectiveProperty<TLength> | PerspectiveProperty<TLength>[];
31754  /**
31755   * 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.
31756   *
31757   * **Syntax**: `<position>`
31758   *
31759   * **Initial value**: `50% 50%`
31760   */
31761  "-moz-perspective-origin"?: PerspectiveOriginProperty<TLength> | PerspectiveOriginProperty<TLength>[];
31762  /**
31763   * **`-moz-stack-sizing`** is an extended CSS property. Normally, a `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.
31764   *
31765   * **Syntax**: `ignore | stretch-to-fit`
31766   *
31767   * **Initial value**: `stretch-to-fit`
31768   */
31769  "-moz-stack-sizing"?: MozStackSizingProperty | MozStackSizingProperty[];
31770  /**
31771   * The **`tab-size`** CSS property is used to customize the width of a tab (`U+0009`) character.
31772   *
31773   * **Syntax**: `<integer> | <length>`
31774   *
31775   * **Initial value**: `8`
31776   */
31777  "-moz-tab-size"?: TabSizeProperty<TLength> | TabSizeProperty<TLength>[];
31778  /**
31779   * The **`-moz-text-blink`** non-standard Mozilla CSS extension specifies the blink mode.
31780   *
31781   * **Syntax**: `none | blink`
31782   *
31783   * **Initial value**: `none`
31784   */
31785  "-moz-text-blink"?: MozTextBlinkProperty | MozTextBlinkProperty[];
31786  /**
31787   * The **`text-size-adjust`** CSS property controls the text inflation algorithm used on some smartphones and tablets. Other browsers will ignore this property.
31788   *
31789   * **Syntax**: `none | auto | <percentage>`
31790   *
31791   * **Initial value**: `auto` for smartphone browsers supporting inflation, `none` in other cases (and then not modifiable).
31792   */
31793  "-moz-text-size-adjust"?: TextSizeAdjustProperty | TextSizeAdjustProperty[];
31794  /**
31795   * The **`transform-origin`** CSS property sets the origin for an element's transformations.
31796   *
31797   * **Syntax**: `[ <length-percentage> | left | center | right | top | bottom ] | [ [ <length-percentage> | left | center | right ] && [ <length-percentage> | top | center | bottom ] ] <length>?`
31798   *
31799   * **Initial value**: `50% 50% 0`
31800   */
31801  "-moz-transform-origin"?: TransformOriginProperty<TLength> | TransformOriginProperty<TLength>[];
31802  /**
31803   * 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.
31804   *
31805   * **Syntax**: `flat | preserve-3d`
31806   *
31807   * **Initial value**: `flat`
31808   */
31809  "-moz-transform-style"?: TransformStyleProperty | TransformStyleProperty[];
31810  /**
31811   * The **`transition-delay`** CSS property specifies the duration to wait before starting a property's transition effect when its value changes.
31812   *
31813   * **Syntax**: `<time>#`
31814   *
31815   * **Initial value**: `0s`
31816   */
31817  "-moz-transition-delay"?: GlobalsString | GlobalsString[];
31818  /**
31819   * 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.
31820   *
31821   * **Syntax**: `<time>#`
31822   *
31823   * **Initial value**: `0s`
31824   */
31825  "-moz-transition-duration"?: GlobalsString | GlobalsString[];
31826  /**
31827   * The **`transition-property`** CSS property sets the CSS properties to which a transition effect should be applied.
31828   *
31829   * **Syntax**: `none | <single-transition-property>#`
31830   *
31831   * **Initial value**: all
31832   */
31833  "-moz-transition-property"?: TransitionPropertyProperty | TransitionPropertyProperty[];
31834  /**
31835   * The **`transition-timing-function`** CSS property sets how intermediate values are calculated for CSS properties being affected by a transition effect.
31836   *
31837   * **Syntax**: `<timing-function>#`
31838   *
31839   * **Initial value**: `ease`
31840   */
31841  "-moz-transition-timing-function"?: TransitionTimingFunctionProperty | TransitionTimingFunctionProperty[];
31842  /**
31843   * The **`-moz-user-focus`** CSS property is used to indicate whether an element can have the focus.
31844   *
31845   * **Syntax**: `ignore | normal | select-after | select-before | select-menu | select-same | select-all | none`
31846   *
31847   * **Initial value**: `none`
31848   */
31849  "-moz-user-focus"?: MozUserFocusProperty | MozUserFocusProperty[];
31850  /**
31851   * 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.
31852   *
31853   * **Syntax**: `read-only | read-write | write-only`
31854   *
31855   * **Initial value**: `read-only`
31856   */
31857  "-moz-user-modify"?: MozUserModifyProperty | MozUserModifyProperty[];
31858  /**
31859   * 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.
31860   *
31861   * **Syntax**: `auto | text | none | contain | all`
31862   *
31863   * **Initial value**: `auto`
31864   */
31865  "-moz-user-select"?: UserSelectProperty | UserSelectProperty[];
31866  /**
31867   * 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.
31868   *
31869   * **Syntax**: `drag | no-drag`
31870   *
31871   * **Initial value**: `drag`
31872   */
31873  "-moz-window-dragging"?: MozWindowDraggingProperty | MozWindowDraggingProperty[];
31874  /**
31875   * The **`-moz-window-shadow`** CSS property specifies whether a window will have a shadow. It only works on Mac OS X.
31876   *
31877   * **Syntax**: `default | menu | tooltip | sheet | none`
31878   *
31879   * **Initial value**: `default`
31880   */
31881  "-moz-window-shadow"?: MozWindowShadowProperty | MozWindowShadowProperty[];
31882  /**
31883   * The **`-ms-accelerator`** CSS property is a Microsoft extension that sets or retrieves a string indicating whether the object represents a keyboard shortcut.
31884   *
31885   * **Syntax**: `false | true`
31886   *
31887   * **Initial value**: `false`
31888   */
31889  "-ms-accelerator"?: MsAcceleratorProperty | MsAcceleratorProperty[];
31890  /**
31891   * The **`align-self`** CSS property aligns flex items of the current flex line overriding the `align-items` value. If any of the item's cross-axis margin is set to `auto`, then `align-self` is ignored. In Grid layout `align-self` aligns the item inside the grid area.
31892   *
31893   * **Syntax**: `auto | normal | stretch | <baseline-position> | <overflow-position>? <self-position>`
31894   *
31895   * **Initial value**: `auto`
31896   */
31897  "-ms-align-self"?: AlignSelfProperty | AlignSelfProperty[];
31898  /**
31899   * The **`-ms-block-progression`** CSS property is a Microsoft extension that specifies the block progression and layout orientation.
31900   *
31901   * **Syntax**: `tb | rl | bt | lr`
31902   *
31903   * **Initial value**: `tb`
31904   */
31905  "-ms-block-progression"?: MsBlockProgressionProperty | MsBlockProgressionProperty[];
31906  /**
31907   * 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.
31908   *
31909   * **Syntax**: `none | chained`
31910   *
31911   * **Initial value**: `none`
31912   */
31913  "-ms-content-zoom-chaining"?: MsContentZoomChainingProperty | MsContentZoomChainingProperty[];
31914  /**
31915   * The **`-ms-content-zoom-limit-max`** CSS property is a Microsoft extension that specifies the selected elements' maximum zoom factor.
31916   *
31917   * **Syntax**: `<percentage>`
31918   *
31919   * **Initial value**: `400%`
31920   */
31921  "-ms-content-zoom-limit-max"?: GlobalsString | GlobalsString[];
31922  /**
31923   * The **`-ms-content-zoom-limit-min`** CSS property is a Microsoft extension that specifies the minimum zoom factor.
31924   *
31925   * **Syntax**: `<percentage>`
31926   *
31927   * **Initial value**: `100%`
31928   */
31929  "-ms-content-zoom-limit-min"?: GlobalsString | GlobalsString[];
31930  /**
31931   * The **`-ms-content-zoom-snap-points`** CSS property is a Microsoft extension that specifies where zoom snap-points are located.
31932   *
31933   * **Syntax**: `snapInterval( <percentage>, <percentage> ) | snapList( <percentage># )`
31934   *
31935   * **Initial value**: `snapInterval(0%, 100%)`
31936   */
31937  "-ms-content-zoom-snap-points"?: GlobalsString | GlobalsString[];
31938  /**
31939   * The **`-ms-content-zoom-snap-type`** CSS property is a Microsoft extension that specifies how zooming is affected by defined snap-points.
31940   *
31941   * **Syntax**: `none | proximity | mandatory`
31942   *
31943   * **Initial value**: `none`
31944   */
31945  "-ms-content-zoom-snap-type"?: MsContentZoomSnapTypeProperty | MsContentZoomSnapTypeProperty[];
31946  /**
31947   * The **`-ms-content-zooming`** CSS property is a Microsoft extension that specifies whether zooming is enabled.
31948   *
31949   * **Syntax**: `none | zoom`
31950   *
31951   * **Initial value**: zoom for the top level element, none for all other elements
31952   */
31953  "-ms-content-zooming"?: MsContentZoomingProperty | MsContentZoomingProperty[];
31954  /**
31955   * The `-ms-filter` CSS property is a Microsoft extension that sets or retrieves the filter or collection of filters applied to an object.
31956   *
31957   * **Syntax**: `<string>`
31958   *
31959   * **Initial value**: "" (the empty string)
31960   */
31961  "-ms-filter"?: GlobalsString | GlobalsString[];
31962  /**
31963   * 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).
31964   *
31965   * **Syntax**: `row | row-reverse | column | column-reverse`
31966   *
31967   * **Initial value**: `row`
31968   */
31969  "-ms-flex-direction"?: FlexDirectionProperty | FlexDirectionProperty[];
31970  /**
31971   * The **`flex-grow`** CSS property sets how much of the available space in the flex container should be assigned to that item (the flex grow factor). If all sibling items have the same flex grow factor, then all items will receive the same share of available space, otherwise it is distributed according to the ratio defined by the different flex grow factors.
31972   *
31973   * **Syntax**: `<number>`
31974   *
31975   * **Initial value**: `0`
31976   */
31977  "-ms-flex-positive"?: GlobalsNumber | GlobalsNumber[];
31978  /**
31979   * 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.
31980   *
31981   * **Syntax**: `[ none | <custom-ident> ]#`
31982   *
31983   * **Initial value**: `none`
31984   */
31985  "-ms-flow-from"?: MsFlowFromProperty | MsFlowFromProperty[];
31986  /**
31987   * 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.
31988   *
31989   * **Syntax**: `[ none | <custom-ident> ]#`
31990   *
31991   * **Initial value**: `none`
31992   */
31993  "-ms-flow-into"?: MsFlowIntoProperty | MsFlowIntoProperty[];
31994  /**
31995   * The **`grid-auto-columns`** CSS property specifies the size of an implicitly-created grid column track.
31996   *
31997   * **Syntax**: `<track-size>+`
31998   *
31999   * **Initial value**: `auto`
32000   */
32001  "-ms-grid-columns"?: GridAutoColumnsProperty<TLength> | GridAutoColumnsProperty<TLength>[];
32002  /**
32003   * The **`grid-auto-rows`** CSS property specifies the size of an implicitly-created grid row track.
32004   *
32005   * **Syntax**: `<track-size>+`
32006   *
32007   * **Initial value**: `auto`
32008   */
32009  "-ms-grid-rows"?: GridAutoRowsProperty<TLength> | GridAutoRowsProperty<TLength>[];
32010  /**
32011   * 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.
32012   *
32013   * **Syntax**: `auto | none`
32014   *
32015   * **Initial value**: `auto`
32016   */
32017  "-ms-high-contrast-adjust"?: MsHighContrastAdjustProperty | MsHighContrastAdjustProperty[];
32018  /**
32019   * 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.
32020   *
32021   * **Syntax**: `auto | <integer>{1,3}`
32022   *
32023   * **Initial value**: `auto`
32024   */
32025  "-ms-hyphenate-limit-chars"?: MsHyphenateLimitCharsProperty | MsHyphenateLimitCharsProperty[];
32026  /**
32027   * 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.
32028   *
32029   * **Syntax**: `no-limit | <integer>`
32030   *
32031   * **Initial value**: `no-limit`
32032   */
32033  "-ms-hyphenate-limit-lines"?: MsHyphenateLimitLinesProperty | MsHyphenateLimitLinesProperty[];
32034  /**
32035   * The `**-ms-hyphenate-limit-zone**` CSS property is a Microsoft extension specifying the width of the hyphenation zone.
32036   *
32037   * **Syntax**: `<percentage> | <length>`
32038   *
32039   * **Initial value**: `0`
32040   */
32041  "-ms-hyphenate-limit-zone"?: MsHyphenateLimitZoneProperty<TLength> | MsHyphenateLimitZoneProperty<TLength>[];
32042  /**
32043   * The **`hyphens`** CSS property specifies how words should be hyphenated when text wraps across multiple lines. You can prevent hyphenation entirely, use hyphenation in manually-specified points within the text, or let the browser automatically insert hyphens where appropriate.
32044   *
32045   * **Syntax**: `none | manual | auto`
32046   *
32047   * **Initial value**: `manual`
32048   */
32049  "-ms-hyphens"?: HyphensProperty | HyphensProperty[];
32050  /**
32051   * 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.
32052   *
32053   * **Syntax**: `auto | after`
32054   *
32055   * **Initial value**: `auto`
32056   */
32057  "-ms-ime-align"?: MsImeAlignProperty | MsImeAlignProperty[];
32058  /**
32059   * The **`line-break`** CSS property sets how to break lines of Chinese, Japanese, or Korean (CJK) text when working with punctuation and symbols.
32060   *
32061   * **Syntax**: `auto | loose | normal | strict | anywhere`
32062   *
32063   * **Initial value**: `auto`
32064   */
32065  "-ms-line-break"?: LineBreakProperty | LineBreakProperty[];
32066  /**
32067   * 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.
32068   *
32069   * **Syntax**: `<integer>`
32070   *
32071   * **Initial value**: `0`
32072   */
32073  "-ms-order"?: GlobalsNumber | GlobalsNumber[];
32074  /**
32075   * The **`-ms-overflow-style`** CSS property is a Microsoft extension controlling the behavior of scrollbars when the content of an element overflows.
32076   *
32077   * **Syntax**: `auto | none | scrollbar | -ms-autohiding-scrollbar`
32078   *
32079   * **Initial value**: `auto`
32080   */
32081  "-ms-overflow-style"?: MsOverflowStyleProperty | MsOverflowStyleProperty[];
32082  /**
32083   * 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.
32084   *
32085   * **Syntax**: `visible | hidden | clip | scroll | auto`
32086   *
32087   * **Initial value**: `visible`
32088   */
32089  "-ms-overflow-x"?: OverflowXProperty | OverflowXProperty[];
32090  /**
32091   * 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.
32092   *
32093   * **Syntax**: `visible | hidden | clip | scroll | auto`
32094   *
32095   * **Initial value**: `visible`
32096   */
32097  "-ms-overflow-y"?: OverflowYProperty | OverflowYProperty[];
32098  /**
32099   * 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.
32100   *
32101   * **Syntax**: `chained | none`
32102   *
32103   * **Initial value**: `chained`
32104   */
32105  "-ms-scroll-chaining"?: MsScrollChainingProperty | MsScrollChainingProperty[];
32106  /**
32107   * The `**-ms-scroll-limit-x-max**` CSS property is a Microsoft extension that specifies the maximum value for the `Element.scrollLeft` property.
32108   *
32109   * **Syntax**: `auto | <length>`
32110   *
32111   * **Initial value**: `auto`
32112   */
32113  "-ms-scroll-limit-x-max"?: MsScrollLimitXMaxProperty<TLength> | MsScrollLimitXMaxProperty<TLength>[];
32114  /**
32115   * The **`-ms-scroll-limit-x-min`** CSS property is a Microsoft extension that specifies the minimum value for the `Element.scrollLeft` property.
32116   *
32117   * **Syntax**: `<length>`
32118   *
32119   * **Initial value**: `0`
32120   */
32121  "-ms-scroll-limit-x-min"?: MsScrollLimitXMinProperty<TLength> | MsScrollLimitXMinProperty<TLength>[];
32122  /**
32123   * The **`-ms-scroll-limit-y-max`** CSS property is a Microsoft extension that specifies the maximum value for the `Element.scrollTop` property.
32124   *
32125   * **Syntax**: `auto | <length>`
32126   *
32127   * **Initial value**: `auto`
32128   */
32129  "-ms-scroll-limit-y-max"?: MsScrollLimitYMaxProperty<TLength> | MsScrollLimitYMaxProperty<TLength>[];
32130  /**
32131   * The **`-ms-scroll-limit-y-min`** CSS property is a Microsoft extension that specifies the minimum value for the `Element.scrollTop` property.
32132   *
32133   * **Syntax**: `<length>`
32134   *
32135   * **Initial value**: `0`
32136   */
32137  "-ms-scroll-limit-y-min"?: MsScrollLimitYMinProperty<TLength> | MsScrollLimitYMinProperty<TLength>[];
32138  /**
32139   * The **`-ms-scroll-rails`** CSS property is a Microsoft extension that specifies whether scrolling locks to the primary axis of motion.
32140   *
32141   * **Syntax**: `none | railed`
32142   *
32143   * **Initial value**: `railed`
32144   */
32145  "-ms-scroll-rails"?: MsScrollRailsProperty | MsScrollRailsProperty[];
32146  /**
32147   * The **`-ms-scroll-snap-points-x`** CSS property is a Microsoft extension that specifies where snap-points will be located along the x-axis.
32148   *
32149   * **Syntax**: `snapInterval( <length-percentage>, <length-percentage> ) | snapList( <length-percentage># )`
32150   *
32151   * **Initial value**: `snapInterval(0px, 100%)`
32152   */
32153  "-ms-scroll-snap-points-x"?: GlobalsString | GlobalsString[];
32154  /**
32155   * The **`-ms-scroll-snap-points-y`** CSS property is a Microsoft extension that specifies where snap-points will be located along the y-axis.
32156   *
32157   * **Syntax**: `snapInterval( <length-percentage>, <length-percentage> ) | snapList( <length-percentage># )`
32158   *
32159   * **Initial value**: `snapInterval(0px, 100%)`
32160   */
32161  "-ms-scroll-snap-points-y"?: GlobalsString | GlobalsString[];
32162  /**
32163   * The **`scroll-snap-type`** CSS property sets how strictly snap points are enforced on the scroll container in case there is one.
32164   *
32165   * **Syntax**: `none | proximity | mandatory`
32166   *
32167   * **Initial value**: `none`
32168   */
32169  "-ms-scroll-snap-type"?: MsScrollSnapTypeProperty | MsScrollSnapTypeProperty[];
32170  /**
32171   * The **`-ms-scroll-translation`** CSS property is a Microsoft extension that specifies whether vertical-to-horizontal scroll wheel translation occurs on the specified element.
32172   *
32173   * **Syntax**: `none | vertical-to-horizontal`
32174   *
32175   * **Initial value**: `none`
32176   */
32177  "-ms-scroll-translation"?: MsScrollTranslationProperty | MsScrollTranslationProperty[];
32178  /**
32179   * 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.
32180   *
32181   * **Syntax**: `<color>`
32182   *
32183   * **Initial value**: depends on user agent
32184   */
32185  "-ms-scrollbar-3dlight-color"?: MsScrollbar3dlightColorProperty | MsScrollbar3dlightColorProperty[];
32186  /**
32187   * The **`-ms-scrollbar-arrow-color`** CSS property is a Microsoft extension that specifies the color of the arrow elements of a scroll arrow.
32188   *
32189   * **Syntax**: `<color>`
32190   *
32191   * **Initial value**: `ButtonText`
32192   */
32193  "-ms-scrollbar-arrow-color"?: MsScrollbarArrowColorProperty | MsScrollbarArrowColorProperty[];
32194  /**
32195   * The `**-ms-scrollbar-base-color**` CSS property is a Microsoft extension that specifies the base color of the main elements of a scroll bar.
32196   *
32197   * **Syntax**: `<color>`
32198   *
32199   * **Initial value**: depends on user agent
32200   */
32201  "-ms-scrollbar-base-color"?: MsScrollbarBaseColorProperty | MsScrollbarBaseColorProperty[];
32202  /**
32203   * The **`-ms-scrollbar-darkshadow-color`** CSS property is a Microsoft extension that specifies the color of a scroll bar's gutter.
32204   *
32205   * **Syntax**: `<color>`
32206   *
32207   * **Initial value**: `ThreeDDarkShadow`
32208   */
32209  "-ms-scrollbar-darkshadow-color"?: MsScrollbarDarkshadowColorProperty | MsScrollbarDarkshadowColorProperty[];
32210  /**
32211   * 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.
32212   *
32213   * **Syntax**: `<color>`
32214   *
32215   * **Initial value**: `ThreeDFace`
32216   */
32217  "-ms-scrollbar-face-color"?: MsScrollbarFaceColorProperty | MsScrollbarFaceColorProperty[];
32218  /**
32219   * 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.
32220   *
32221   * **Syntax**: `<color>`
32222   *
32223   * **Initial value**: `ThreeDHighlight`
32224   */
32225  "-ms-scrollbar-highlight-color"?: MsScrollbarHighlightColorProperty | MsScrollbarHighlightColorProperty[];
32226  /**
32227   * 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.
32228   *
32229   * **Syntax**: `<color>`
32230   *
32231   * **Initial value**: `ThreeDDarkShadow`
32232   */
32233  "-ms-scrollbar-shadow-color"?: MsScrollbarShadowColorProperty | MsScrollbarShadowColorProperty[];
32234  /**
32235   * The **`-ms-text-autospace`** CSS property is a Microsoft extension that specifies the autospacing and narrow space width adjustment of text.
32236   *
32237   * **Syntax**: `none | ideograph-alpha | ideograph-numeric | ideograph-parenthesis | ideograph-space`
32238   *
32239   * **Initial value**: `none`
32240   */
32241  "-ms-text-autospace"?: MsTextAutospaceProperty | MsTextAutospaceProperty[];
32242  /**
32243   * 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.
32244   *
32245   * **Syntax**: `none | all | [ digits <integer>? ]`
32246   *
32247   * **Initial value**: `none`
32248   */
32249  "-ms-text-combine-horizontal"?: TextCombineUprightProperty | TextCombineUprightProperty[];
32250  /**
32251   * 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.
32252   *
32253   * **Syntax**: `[ clip | ellipsis | <string> ]{1,2}`
32254   *
32255   * **Initial value**: `clip`
32256   */
32257  "-ms-text-overflow"?: TextOverflowProperty | TextOverflowProperty[];
32258  /**
32259   * The **`touch-action`** CSS property sets how a region can be manipulated by a touchscreen user (for example, by zooming features built into the browser).
32260   *
32261   * **Syntax**: `auto | none | [ [ pan-x | pan-left | pan-right ] || [ pan-y | pan-up | pan-down ] || pinch-zoom ] | manipulation`
32262   *
32263   * **Initial value**: `auto`
32264   */
32265  "-ms-touch-action"?: TouchActionProperty | TouchActionProperty[];
32266  /**
32267   * The **`-ms-touch-select`** CSS property is a Microsoft extension that toggles the gripper visual elements that enable touch text selection.
32268   *
32269   * **Syntax**: `grippers | none`
32270   *
32271   * **Initial value**: `grippers`
32272   */
32273  "-ms-touch-select"?: MsTouchSelectProperty | MsTouchSelectProperty[];
32274  /**
32275   * The **`transform`** CSS property lets you rotate, scale, skew, or translate an element. It modifies the coordinate space of the CSS visual formatting model.
32276   *
32277   * **Syntax**: `none | <transform-list>`
32278   *
32279   * **Initial value**: `none`
32280   */
32281  "-ms-transform"?: TransformProperty | TransformProperty[];
32282  /**
32283   * The **`transform-origin`** CSS property sets the origin for an element's transformations.
32284   *
32285   * **Syntax**: `[ <length-percentage> | left | center | right | top | bottom ] | [ [ <length-percentage> | left | center | right ] && [ <length-percentage> | top | center | bottom ] ] <length>?`
32286   *
32287   * **Initial value**: `50% 50% 0`
32288   */
32289  "-ms-transform-origin"?: TransformOriginProperty<TLength> | TransformOriginProperty<TLength>[];
32290  /**
32291   * The **`transition-delay`** CSS property specifies the duration to wait before starting a property's transition effect when its value changes.
32292   *
32293   * **Syntax**: `<time>#`
32294   *
32295   * **Initial value**: `0s`
32296   */
32297  "-ms-transition-delay"?: GlobalsString | GlobalsString[];
32298  /**
32299   * 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.
32300   *
32301   * **Syntax**: `<time>#`
32302   *
32303   * **Initial value**: `0s`
32304   */
32305  "-ms-transition-duration"?: GlobalsString | GlobalsString[];
32306  /**
32307   * The **`transition-property`** CSS property sets the CSS properties to which a transition effect should be applied.
32308   *
32309   * **Syntax**: `none | <single-transition-property>#`
32310   *
32311   * **Initial value**: all
32312   */
32313  "-ms-transition-property"?: TransitionPropertyProperty | TransitionPropertyProperty[];
32314  /**
32315   * The **`transition-timing-function`** CSS property sets how intermediate values are calculated for CSS properties being affected by a transition effect.
32316   *
32317   * **Syntax**: `<timing-function>#`
32318   *
32319   * **Initial value**: `ease`
32320   */
32321  "-ms-transition-timing-function"?: TransitionTimingFunctionProperty | TransitionTimingFunctionProperty[];
32322  /**
32323   * 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.
32324   *
32325   * **Syntax**: `none | element | text`
32326   *
32327   * **Initial value**: `text`
32328   */
32329  "-ms-user-select"?: MsUserSelectProperty | MsUserSelectProperty[];
32330  /**
32331   * The **`word-break`** CSS property sets whether line breaks appear wherever the text would otherwise overflow its content box.
32332   *
32333   * **Syntax**: `normal | break-all | keep-all | break-word`
32334   *
32335   * **Initial value**: `normal`
32336   */
32337  "-ms-word-break"?: WordBreakProperty | WordBreakProperty[];
32338  /**
32339   * The **`-ms-wrap-flow`** CSS property is a Microsoft extension that specifies how exclusions impact inline content within block-level elements.
32340   *
32341   * **Syntax**: `auto | both | start | end | maximum | clear`
32342   *
32343   * **Initial value**: `auto`
32344   */
32345  "-ms-wrap-flow"?: MsWrapFlowProperty | MsWrapFlowProperty[];
32346  /**
32347   * The **`-ms-wrap-margin`** CSS property is a Microsoft extension that specifies a margin that offsets the inner wrap shape from other shapes.
32348   *
32349   * **Syntax**: `<length>`
32350   *
32351   * **Initial value**: `0`
32352   */
32353  "-ms-wrap-margin"?: MsWrapMarginProperty<TLength> | MsWrapMarginProperty<TLength>[];
32354  /**
32355   * The **`-ms-wrap-through`** CSS property is a Microsoft extension that specifies how content should wrap around an exclusion element.
32356   *
32357   * **Syntax**: `wrap | none`
32358   *
32359   * **Initial value**: `wrap`
32360   */
32361  "-ms-wrap-through"?: MsWrapThroughProperty | MsWrapThroughProperty[];
32362  /**
32363   * 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.
32364   *
32365   * **Syntax**: `horizontal-tb | vertical-rl | vertical-lr | sideways-rl | sideways-lr`
32366   *
32367   * **Initial value**: `horizontal-tb`
32368   */
32369  "-ms-writing-mode"?: WritingModeProperty | WritingModeProperty[];
32370  /**
32371   * 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.
32372   *
32373   * **Syntax**: `fill | contain | cover | none | scale-down`
32374   *
32375   * **Initial value**: `fill`
32376   */
32377  "-o-object-fit"?: ObjectFitProperty | ObjectFitProperty[];
32378  /**
32379   * 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.
32380   *
32381   * **Syntax**: `<position>`
32382   *
32383   * **Initial value**: `50% 50%`
32384   */
32385  "-o-object-position"?: ObjectPositionProperty<TLength> | ObjectPositionProperty<TLength>[];
32386  /**
32387   * The **`tab-size`** CSS property is used to customize the width of a tab (`U+0009`) character.
32388   *
32389   * **Syntax**: `<integer> | <length>`
32390   *
32391   * **Initial value**: `8`
32392   */
32393  "-o-tab-size"?: TabSizeProperty<TLength> | TabSizeProperty<TLength>[];
32394  /**
32395   * 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.
32396   *
32397   * **Syntax**: `[ clip | ellipsis | <string> ]{1,2}`
32398   *
32399   * **Initial value**: `clip`
32400   */
32401  "-o-text-overflow"?: TextOverflowProperty | TextOverflowProperty[];
32402  /**
32403   * The **`transform-origin`** CSS property sets the origin for an element's transformations.
32404   *
32405   * **Syntax**: `[ <length-percentage> | left | center | right | top | bottom ] | [ [ <length-percentage> | left | center | right ] && [ <length-percentage> | top | center | bottom ] ] <length>?`
32406   *
32407   * **Initial value**: `50% 50% 0`
32408   */
32409  "-o-transform-origin"?: TransformOriginProperty<TLength> | TransformOriginProperty<TLength>[];
32410  /**
32411   * The CSS **`align-content`** property sets how the browser distributes space between and around content items along the cross-axis of a flexbox container, and the main-axis of a grid container.
32412   *
32413   * **Syntax**: `normal | <baseline-position> | <content-distribution> | <overflow-position>? <content-position>`
32414   *
32415   * **Initial value**: `normal`
32416   */
32417  "-webkit-align-content"?: AlignContentProperty | AlignContentProperty[];
32418  /**
32419   * The CSS **`align-items`** property sets the `align-self` value on all direct children as a group. The align-self property sets the alignment of an item within its containing block. 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.
32420   *
32421   * **Syntax**: `normal | stretch | <baseline-position> | [ <overflow-position>? <self-position> ]`
32422   *
32423   * **Initial value**: `normal`
32424   */
32425  "-webkit-align-items"?: AlignItemsProperty | AlignItemsProperty[];
32426  /**
32427   * The **`align-self`** CSS property aligns flex items of the current flex line overriding the `align-items` value. If any of the item's cross-axis margin is set to `auto`, then `align-self` is ignored. In Grid layout `align-self` aligns the item inside the grid area.
32428   *
32429   * **Syntax**: `auto | normal | stretch | <baseline-position> | <overflow-position>? <self-position>`
32430   *
32431   * **Initial value**: `auto`
32432   */
32433  "-webkit-align-self"?: AlignSelfProperty | AlignSelfProperty[];
32434  /**
32435   * The **`animation-delay`** CSS property sets when an animation starts. The animation can start later, immediately from its beginning, or immediately and partway through the animation.
32436   *
32437   * **Syntax**: `<time>#`
32438   *
32439   * **Initial value**: `0s`
32440   */
32441  "-webkit-animation-delay"?: GlobalsString | GlobalsString[];
32442  /**
32443   * The **`animation-direction`** CSS property sets whether an animation should play forwards, backwards, or alternating back and forth.
32444   *
32445   * **Syntax**: `<single-animation-direction>#`
32446   *
32447   * **Initial value**: `normal`
32448   */
32449  "-webkit-animation-direction"?: AnimationDirectionProperty | AnimationDirectionProperty[];
32450  /**
32451   * The **`animation-duration`** CSS property sets the length of time that an animation takes to complete one cycle.
32452   *
32453   * **Syntax**: `<time>#`
32454   *
32455   * **Initial value**: `0s`
32456   */
32457  "-webkit-animation-duration"?: GlobalsString | GlobalsString[];
32458  /**
32459   * The **`animation-fill-mode`** CSS property sets how a CSS animation applies styles to its target before and after its execution.
32460   *
32461   * **Syntax**: `<single-animation-fill-mode>#`
32462   *
32463   * **Initial value**: `none`
32464   */
32465  "-webkit-animation-fill-mode"?: AnimationFillModeProperty | AnimationFillModeProperty[];
32466  /**
32467   * The **`animation-iteration-count`** CSS property sets the number of times an animation cycle should be played before stopping.
32468   *
32469   * **Syntax**: `<single-animation-iteration-count>#`
32470   *
32471   * **Initial value**: `1`
32472   */
32473  "-webkit-animation-iteration-count"?: AnimationIterationCountProperty | AnimationIterationCountProperty[];
32474  /**
32475   * The **`animation-name`** CSS property sets one or more animations to apply to an element. Each name is an `@keyframes` at-rule that sets the property values for the animation sequence.
32476   *
32477   * **Syntax**: `[ none | <keyframes-name> ]#`
32478   *
32479   * **Initial value**: `none`
32480   */
32481  "-webkit-animation-name"?: AnimationNameProperty | AnimationNameProperty[];
32482  /**
32483   * The **`animation-play-state`** CSS property sets whether an animation is running or paused.
32484   *
32485   * **Syntax**: `<single-animation-play-state>#`
32486   *
32487   * **Initial value**: `running`
32488   */
32489  "-webkit-animation-play-state"?: AnimationPlayStateProperty | AnimationPlayStateProperty[];
32490  /**
32491   * The `**animation-timing-function**` CSS property sets how an animation progresses through the duration of each cycle.
32492   *
32493   * **Syntax**: `<timing-function>#`
32494   *
32495   * **Initial value**: `ease`
32496   */
32497  "-webkit-animation-timing-function"?: AnimationTimingFunctionProperty | AnimationTimingFunctionProperty[];
32498  /**
32499   * The **`-moz-appearance`** CSS property is used in Gecko (Firefox) to display an element using platform-native styling based on the operating system's theme.
32500   *
32501   * **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`
32502   *
32503   * **Initial value**: `none` (but this value is overridden in the user agent CSS)
32504   */
32505  "-webkit-appearance"?: WebkitAppearanceProperty | WebkitAppearanceProperty[];
32506  /**
32507   * 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.
32508   *
32509   * **Syntax**: `none | <filter-function-list>`
32510   *
32511   * **Initial value**: `none`
32512   */
32513  "-webkit-backdrop-filter"?: BackdropFilterProperty | BackdropFilterProperty[];
32514  /**
32515   * The **`backface-visibility`** CSS property sets whether the back face of an element is visible when turned towards the user.
32516   *
32517   * **Syntax**: `visible | hidden`
32518   *
32519   * **Initial value**: `visible`
32520   */
32521  "-webkit-backface-visibility"?: BackfaceVisibilityProperty | BackfaceVisibilityProperty[];
32522  /**
32523   * The **`background-clip`** CSS property sets whether an element's background `<color>` or `<image>` extends underneath its border.
32524   *
32525   * **Syntax**: `<box>#`
32526   *
32527   * **Initial value**: `border-box`
32528   */
32529  "-webkit-background-clip"?: BackgroundClipProperty | BackgroundClipProperty[];
32530  /**
32531   * The **`background-origin`** CSS property sets the _background positioning area_. In other words, it sets the origin position of an image set with the `background-image` property.
32532   *
32533   * **Syntax**: `<box>#`
32534   *
32535   * **Initial value**: `padding-box`
32536   */
32537  "-webkit-background-origin"?: BackgroundOriginProperty | BackgroundOriginProperty[];
32538  /**
32539   * 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.
32540   *
32541   * **Syntax**: `<bg-size>#`
32542   *
32543   * **Initial value**: `auto auto`
32544   */
32545  "-webkit-background-size"?: BackgroundSizeProperty<TLength> | BackgroundSizeProperty<TLength>[];
32546  /**
32547   * **Syntax**: `<'color'>`
32548   *
32549   * **Initial value**: `currentcolor`
32550   */
32551  "-webkit-border-before-color"?: WebkitBorderBeforeColorProperty | WebkitBorderBeforeColorProperty[];
32552  /**
32553   * **Syntax**: `<'border-style'>`
32554   *
32555   * **Initial value**: `none`
32556   */
32557  "-webkit-border-before-style"?: WebkitBorderBeforeStyleProperty | WebkitBorderBeforeStyleProperty[];
32558  /**
32559   * **Syntax**: `<'border-width'>`
32560   *
32561   * **Initial value**: `medium`
32562   */
32563  "-webkit-border-before-width"?: WebkitBorderBeforeWidthProperty<TLength> | WebkitBorderBeforeWidthProperty<TLength>[];
32564  /**
32565   * The **`border-bottom-left-radius`** CSS property rounds the bottom-left corner of an element.
32566   *
32567   * **Syntax**: `<length-percentage>{1,2}`
32568   *
32569   * **Initial value**: `0`
32570   */
32571  "-webkit-border-bottom-left-radius"?: BorderBottomLeftRadiusProperty<TLength> | BorderBottomLeftRadiusProperty<TLength>[];
32572  /**
32573   * The **`border-bottom-right-radius`** CSS property rounds the bottom-right corner of an element.
32574   *
32575   * **Syntax**: `<length-percentage>{1,2}`
32576   *
32577   * **Initial value**: `0`
32578   */
32579  "-webkit-border-bottom-right-radius"?: BorderBottomRightRadiusProperty<TLength> | BorderBottomRightRadiusProperty<TLength>[];
32580  /**
32581   * 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.
32582   *
32583   * **Syntax**: `<number-percentage>{1,4} && fill?`
32584   *
32585   * **Initial value**: `100%`
32586   */
32587  "-webkit-border-image-slice"?: BorderImageSliceProperty | BorderImageSliceProperty[];
32588  /**
32589   * The **`border-top-left-radius`** CSS property rounds the top-left corner of an element.
32590   *
32591   * **Syntax**: `<length-percentage>{1,2}`
32592   *
32593   * **Initial value**: `0`
32594   */
32595  "-webkit-border-top-left-radius"?: BorderTopLeftRadiusProperty<TLength> | BorderTopLeftRadiusProperty<TLength>[];
32596  /**
32597   * The **`border-top-right-radius`** CSS property rounds the top-right corner of an element.
32598   *
32599   * **Syntax**: `<length-percentage>{1,2}`
32600   *
32601   * **Initial value**: `0`
32602   */
32603  "-webkit-border-top-right-radius"?: BorderTopRightRadiusProperty<TLength> | BorderTopRightRadiusProperty<TLength>[];
32604  /**
32605   * The **`box-decoration-break`** CSS property specifies how an element's fragments should be rendered when broken across multiple lines, columns, or pages.
32606   *
32607   * **Syntax**: `slice | clone`
32608   *
32609   * **Initial value**: `slice`
32610   */
32611  "-webkit-box-decoration-break"?: BoxDecorationBreakProperty | BoxDecorationBreakProperty[];
32612  /**
32613   * The **`-webkit-box-reflect`** CSS property lets you reflect the content of an element in one specific direction.
32614   *
32615   * **Syntax**: `[ above | below | right | left ]? <length>? <image>?`
32616   *
32617   * **Initial value**: `none`
32618   */
32619  "-webkit-box-reflect"?: WebkitBoxReflectProperty<TLength> | WebkitBoxReflectProperty<TLength>[];
32620  /**
32621   * 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 radii, and color.
32622   *
32623   * **Syntax**: `none | <shadow>#`
32624   *
32625   * **Initial value**: `none`
32626   */
32627  "-webkit-box-shadow"?: BoxShadowProperty | BoxShadowProperty[];
32628  /**
32629   * The **`box-sizing`** CSS property defines how the user agent should calculate the total width and height of an element.
32630   *
32631   * **Syntax**: `content-box | border-box`
32632   *
32633   * **Initial value**: `content-box`
32634   */
32635  "-webkit-box-sizing"?: BoxSizingProperty | BoxSizingProperty[];
32636  /**
32637   * 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.
32638   *
32639   * **Syntax**: `<clip-source> | [ <basic-shape> || <geometry-box> ] | none`
32640   *
32641   * **Initial value**: `none`
32642   */
32643  "-webkit-clip-path"?: ClipPathProperty | ClipPathProperty[];
32644  /**
32645   * The **`column-count`** CSS property breaks an element's content into the specified number of columns.
32646   *
32647   * **Syntax**: `<integer> | auto`
32648   *
32649   * **Initial value**: `auto`
32650   */
32651  "-webkit-column-count"?: ColumnCountProperty | ColumnCountProperty[];
32652  /**
32653   * The **`column-fill`** CSS property controls how an element's contents are balanced when broken into columns.
32654   *
32655   * **Syntax**: `auto | balance | balance-all`
32656   *
32657   * **Initial value**: `balance`
32658   */
32659  "-webkit-column-fill"?: ColumnFillProperty | ColumnFillProperty[];
32660  /**
32661   * The **`column-gap`** CSS property sets the size of the gap (gutter) between an element's columns.
32662   *
32663   * **Syntax**: `normal | <length-percentage>`
32664   *
32665   * **Initial value**: `normal`
32666   */
32667  "-webkit-column-gap"?: ColumnGapProperty<TLength> | ColumnGapProperty<TLength>[];
32668  /**
32669   * The **`column-rule-color`** CSS property sets the color of the rule (line) drawn between columns in a multi-column layout.
32670   *
32671   * **Syntax**: `<color>`
32672   *
32673   * **Initial value**: `currentcolor`
32674   */
32675  "-webkit-column-rule-color"?: ColumnRuleColorProperty | ColumnRuleColorProperty[];
32676  /**
32677   * The **`column-rule-style`** CSS property sets the style of the line drawn between columns in a multi-column layout.
32678   *
32679   * **Syntax**: `<'border-style'>`
32680   *
32681   * **Initial value**: `none`
32682   */
32683  "-webkit-column-rule-style"?: ColumnRuleStyleProperty | ColumnRuleStyleProperty[];
32684  /**
32685   * The **`column-rule-width`** CSS property sets the width of the rule (line) drawn between columns in a multi-column layout.
32686   *
32687   * **Syntax**: `<'border-width'>`
32688   *
32689   * **Initial value**: `medium`
32690   */
32691  "-webkit-column-rule-width"?: ColumnRuleWidthProperty<TLength> | ColumnRuleWidthProperty<TLength>[];
32692  /**
32693   * The **`column-span`** CSS property makes it possible for an element to span across all columns when its value is set to `all`.
32694   *
32695   * **Syntax**: `none | all`
32696   *
32697   * **Initial value**: `none`
32698   */
32699  "-webkit-column-span"?: ColumnSpanProperty | ColumnSpanProperty[];
32700  /**
32701   * The **`column-width`** CSS property specifies 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.
32702   *
32703   * **Syntax**: `<length> | auto`
32704   *
32705   * **Initial value**: `auto`
32706   */
32707  "-webkit-column-width"?: ColumnWidthProperty<TLength> | ColumnWidthProperty<TLength>[];
32708  /**
32709   * 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.
32710   *
32711   * **Syntax**: `none | <filter-function-list>`
32712   *
32713   * **Initial value**: `none`
32714   */
32715  "-webkit-filter"?: FilterProperty | FilterProperty[];
32716  /**
32717   * 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`.
32718   *
32719   * **Syntax**: `content | <'width'>`
32720   *
32721   * **Initial value**: `auto`
32722   */
32723  "-webkit-flex-basis"?: FlexBasisProperty<TLength> | FlexBasisProperty<TLength>[];
32724  /**
32725   * 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).
32726   *
32727   * **Syntax**: `row | row-reverse | column | column-reverse`
32728   *
32729   * **Initial value**: `row`
32730   */
32731  "-webkit-flex-direction"?: FlexDirectionProperty | FlexDirectionProperty[];
32732  /**
32733   * The **`flex-grow`** CSS property sets how much of the available space in the flex container should be assigned to that item (the flex grow factor). If all sibling items have the same flex grow factor, then all items will receive the same share of available space, otherwise it is distributed according to the ratio defined by the different flex grow factors.
32734   *
32735   * **Syntax**: `<number>`
32736   *
32737   * **Initial value**: `0`
32738   */
32739  "-webkit-flex-grow"?: GlobalsNumber | GlobalsNumber[];
32740  /**
32741   * The **`flex-shrink`** CSS property sets the flex shrink factor of a flex item. If the size of flex items is larger than the flex container, items shrink to fit according to `flex-shrink`.
32742   *
32743   * **Syntax**: `<number>`
32744   *
32745   * **Initial value**: `1`
32746   */
32747  "-webkit-flex-shrink"?: GlobalsNumber | GlobalsNumber[];
32748  /**
32749   * 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.
32750   *
32751   * **Syntax**: `nowrap | wrap | wrap-reverse`
32752   *
32753   * **Initial value**: `nowrap`
32754   */
32755  "-webkit-flex-wrap"?: FlexWrapProperty | FlexWrapProperty[];
32756  /**
32757   * The **`font-feature-settings`** CSS property controls advanced typographic features in OpenType fonts.
32758   *
32759   * **Syntax**: `normal | <feature-tag-value>#`
32760   *
32761   * **Initial value**: `normal`
32762   */
32763  "-webkit-font-feature-settings"?: FontFeatureSettingsProperty | FontFeatureSettingsProperty[];
32764  /**
32765   * The **`font-kerning`** CSS property sets the use of the kerning information stored in a font.
32766   *
32767   * **Syntax**: `auto | normal | none`
32768   *
32769   * **Initial value**: `auto`
32770   */
32771  "-webkit-font-kerning"?: FontKerningProperty | FontKerningProperty[];
32772  /**
32773   * 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.
32774   *
32775   * **Syntax**: `normal | none | [ <common-lig-values> || <discretionary-lig-values> || <historical-lig-values> || <contextual-alt-values> ]`
32776   *
32777   * **Initial value**: `normal`
32778   */
32779  "-webkit-font-variant-ligatures"?: FontVariantLigaturesProperty | FontVariantLigaturesProperty[];
32780  /**
32781   * The **`hyphens`** CSS property specifies how words should be hyphenated when text wraps across multiple lines. You can prevent hyphenation entirely, use hyphenation in manually-specified points within the text, or let the browser automatically insert hyphens where appropriate.
32782   *
32783   * **Syntax**: `none | manual | auto`
32784   *
32785   * **Initial value**: `manual`
32786   */
32787  "-webkit-hyphens"?: HyphensProperty | HyphensProperty[];
32788  /**
32789   * 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.
32790   *
32791   * **Syntax**: `normal | <content-distribution> | <overflow-position>? [ <content-position> | left | right ]`
32792   *
32793   * **Initial value**: `normal`
32794   */
32795  "-webkit-justify-content"?: JustifyContentProperty | JustifyContentProperty[];
32796  /**
32797   * The **`line-break`** CSS property sets how to break lines of Chinese, Japanese, or Korean (CJK) text when working with punctuation and symbols.
32798   *
32799   * **Syntax**: `auto | loose | normal | strict | anywhere`
32800   *
32801   * **Initial value**: `auto`
32802   */
32803  "-webkit-line-break"?: LineBreakProperty | LineBreakProperty[];
32804  /**
32805   * The **`-webkit-line-clamp`** CSS property allows limiting of the contents of a block container to the specified number of lines.
32806   *
32807   * **Syntax**: `none | <integer>`
32808   *
32809   * **Initial value**: `none`
32810   */
32811  "-webkit-line-clamp"?: WebkitLineClampProperty | WebkitLineClampProperty[];
32812  /**
32813   * 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`.
32814   *
32815   * **Syntax**: `<'margin-left'>`
32816   *
32817   * **Initial value**: `0`
32818   */
32819  "-webkit-margin-end"?: MarginInlineEndProperty<TLength> | MarginInlineEndProperty<TLength>[];
32820  /**
32821   * 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`.
32822   *
32823   * **Syntax**: `<'margin-left'>`
32824   *
32825   * **Initial value**: `0`
32826   */
32827  "-webkit-margin-start"?: MarginInlineStartProperty<TLength> | MarginInlineStartProperty<TLength>[];
32828  /**
32829   * 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.
32830   *
32831   * **Syntax**: `<attachment>#`
32832   *
32833   * **Initial value**: `scroll`
32834   */
32835  "-webkit-mask-attachment"?: WebkitMaskAttachmentProperty | WebkitMaskAttachmentProperty[];
32836  /**
32837   * 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.
32838   *
32839   * **Syntax**: `[ <box> | border | padding | content | text ]#`
32840   *
32841   * **Initial value**: `border`
32842   */
32843  "-webkit-mask-clip"?: WebkitMaskClipProperty | WebkitMaskClipProperty[];
32844  /**
32845   * 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.
32846   *
32847   * **Syntax**: `<composite-style>#`
32848   *
32849   * **Initial value**: `source-over`
32850   */
32851  "-webkit-mask-composite"?: WebkitMaskCompositeProperty | WebkitMaskCompositeProperty[];
32852  /**
32853   * The **`mask-image`** CSS property sets the image that is used as mask layer for an element.
32854   *
32855   * **Syntax**: `<mask-reference>#`
32856   *
32857   * **Initial value**: `none`
32858   */
32859  "-webkit-mask-image"?: WebkitMaskImageProperty | WebkitMaskImageProperty[];
32860  /**
32861   * The **`mask-origin`** CSS property sets the origin of a mask.
32862   *
32863   * **Syntax**: `[ <box> | border | padding | content ]#`
32864   *
32865   * **Initial value**: `padding`
32866   */
32867  "-webkit-mask-origin"?: WebkitMaskOriginProperty | WebkitMaskOriginProperty[];
32868  /**
32869   * The **`mask-position`** CSS property sets the initial position, relative to the mask position layer set by `mask-origin`, for each defined mask image.
32870   *
32871   * **Syntax**: `<position>#`
32872   *
32873   * **Initial value**: `0% 0%`
32874   */
32875  "-webkit-mask-position"?: WebkitMaskPositionProperty<TLength> | WebkitMaskPositionProperty<TLength>[];
32876  /**
32877   * The `-webkit-mask-position-x` CSS property sets the initial horizontal position of a mask image.
32878   *
32879   * **Syntax**: `[ <length-percentage> | left | center | right ]#`
32880   *
32881   * **Initial value**: `0%`
32882   */
32883  "-webkit-mask-position-x"?: WebkitMaskPositionXProperty<TLength> | WebkitMaskPositionXProperty<TLength>[];
32884  /**
32885   * The `-webkit-mask-position-y` CSS property sets the initial vertical position of a mask image.
32886   *
32887   * **Syntax**: `[ <length-percentage> | top | center | bottom ]#`
32888   *
32889   * **Initial value**: `0%`
32890   */
32891  "-webkit-mask-position-y"?: WebkitMaskPositionYProperty<TLength> | WebkitMaskPositionYProperty<TLength>[];
32892  /**
32893   * 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.
32894   *
32895   * **Syntax**: `<repeat-style>#`
32896   *
32897   * **Initial value**: `repeat`
32898   */
32899  "-webkit-mask-repeat"?: WebkitMaskRepeatProperty | WebkitMaskRepeatProperty[];
32900  /**
32901   * The `-webkit-mask-repeat-x` property specifies whether and how a mask image is repeated (tiled) horizontally.
32902   *
32903   * **Syntax**: `repeat | no-repeat | space | round`
32904   *
32905   * **Initial value**: `repeat`
32906   */
32907  "-webkit-mask-repeat-x"?: WebkitMaskRepeatXProperty | WebkitMaskRepeatXProperty[];
32908  /**
32909   * The `-webkit-mask-repeat-y` property sets whether and how a mask image is repeated (tiled) vertically.
32910   *
32911   * **Syntax**: `repeat | no-repeat | space | round`
32912   *
32913   * **Initial value**: `repeat`
32914   */
32915  "-webkit-mask-repeat-y"?: WebkitMaskRepeatYProperty | WebkitMaskRepeatYProperty[];
32916  /**
32917   * 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.
32918   *
32919   * **Syntax**: `<bg-size>#`
32920   *
32921   * **Initial value**: `auto auto`
32922   */
32923  "-webkit-mask-size"?: WebkitMaskSizeProperty<TLength> | WebkitMaskSizeProperty<TLength>[];
32924  /**
32925   * 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 the `max-width` or the `max-height` property depending on the value defined for `writing-mode`. If the writing mode is vertically oriented, the value of `max-inline-size` relates to the maximal height of the element, otherwise it relates to the maximal width of the element. It relates to `max-block-size`, which defines the other dimension of the element.
32926   *
32927   * **Syntax**: `<'max-width'>`
32928   *
32929   * **Initial value**: `0`
32930   */
32931  "-webkit-max-inline-size"?: MaxInlineSizeProperty<TLength> | MaxInlineSizeProperty<TLength>[];
32932  /**
32933   * 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.
32934   *
32935   * **Syntax**: `<integer>`
32936   *
32937   * **Initial value**: `0`
32938   */
32939  "-webkit-order"?: GlobalsNumber | GlobalsNumber[];
32940  /**
32941   * The `-webkit-overflow-scrolling` CSS property controls whether or not touch devices use momentum-based scrolling for a given element.
32942   *
32943   * **Syntax**: `auto | touch`
32944   *
32945   * **Initial value**: `auto`
32946   */
32947  "-webkit-overflow-scrolling"?: WebkitOverflowScrollingProperty | WebkitOverflowScrollingProperty[];
32948  /**
32949   * 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. It corresponds to the `padding-top`, `padding-right`, `padding-bottom`, or `padding-left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
32950   *
32951   * **Syntax**: `<'padding-left'>`
32952   *
32953   * **Initial value**: `0`
32954   */
32955  "-webkit-padding-end"?: PaddingInlineEndProperty<TLength> | PaddingInlineEndProperty<TLength>[];
32956  /**
32957   * 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. It corresponds to the `padding-top`, `padding-right`, `padding-bottom`, or `padding-left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
32958   *
32959   * **Syntax**: `<'padding-left'>`
32960   *
32961   * **Initial value**: `0`
32962   */
32963  "-webkit-padding-start"?: PaddingInlineStartProperty<TLength> | PaddingInlineStartProperty<TLength>[];
32964  /**
32965   * 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. Each 3D element with z>0 becomes larger; each 3D-element with z<0 becomes smaller. The strength of the effect is determined by the value of this property.
32966   *
32967   * **Syntax**: `none | <length>`
32968   *
32969   * **Initial value**: `none`
32970   */
32971  "-webkit-perspective"?: PerspectiveProperty<TLength> | PerspectiveProperty<TLength>[];
32972  /**
32973   * 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.
32974   *
32975   * **Syntax**: `<position>`
32976   *
32977   * **Initial value**: `50% 50%`
32978   */
32979  "-webkit-perspective-origin"?: PerspectiveOriginProperty<TLength> | PerspectiveOriginProperty<TLength>[];
32980  /**
32981   * 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.
32982   *
32983   * **Syntax**: `economy | exact`
32984   *
32985   * **Initial value**: `economy`
32986   */
32987  "-webkit-print-color-adjust"?: ColorAdjustProperty | ColorAdjustProperty[];
32988  /**
32989   * The **`scroll-snap-type`** CSS property sets how strictly snap points are enforced on the scroll container in case there is one.
32990   *
32991   * **Syntax**: `none | [ x | y | block | inline | both ] [ mandatory | proximity ]?`
32992   *
32993   * **Initial value**: `none`
32994   */
32995  "-webkit-scroll-snap-type"?: ScrollSnapTypeProperty | ScrollSnapTypeProperty[];
32996  /**
32997   * The **`shape-margin`** CSS property sets a margin for a CSS shape created using `shape-outside`.
32998   *
32999   * **Syntax**: `<length-percentage>`
33000   *
33001   * **Initial value**: `0`
33002   */
33003  "-webkit-shape-margin"?: ShapeMarginProperty<TLength> | ShapeMarginProperty<TLength>[];
33004  /**
33005   * **`-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.
33006   *
33007   * **Syntax**: `<color>`
33008   *
33009   * **Initial value**: `black`
33010   */
33011  "-webkit-tap-highlight-color"?: WebkitTapHighlightColorProperty | WebkitTapHighlightColorProperty[];
33012  /**
33013   * 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.
33014   *
33015   * **Syntax**: `none | all | [ digits <integer>? ]`
33016   *
33017   * **Initial value**: `none`
33018   */
33019  "-webkit-text-combine"?: TextCombineUprightProperty | TextCombineUprightProperty[];
33020  /**
33021   * The **`text-decoration-color`** CSS property sets the color of decorations added to text by `text-decoration-line`.
33022   *
33023   * **Syntax**: `<color>`
33024   *
33025   * **Initial value**: `currentcolor`
33026   */
33027  "-webkit-text-decoration-color"?: TextDecorationColorProperty | TextDecorationColorProperty[];
33028  /**
33029   * 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.
33030   *
33031   * **Syntax**: `none | [ underline || overline || line-through || blink ] | spelling-error | grammar-error`
33032   *
33033   * **Initial value**: `none`
33034   */
33035  "-webkit-text-decoration-line"?: TextDecorationLineProperty | TextDecorationLineProperty[];
33036  /**
33037   * 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.
33038   *
33039   * **Syntax**: `none | [ objects || [ spaces | [ leading-spaces || trailing-spaces ] ] || edges || box-decoration ]`
33040   *
33041   * **Initial value**: `objects`
33042   */
33043  "-webkit-text-decoration-skip"?: TextDecorationSkipProperty | TextDecorationSkipProperty[];
33044  /**
33045   * 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`.
33046   *
33047   * **Syntax**: `solid | double | dotted | dashed | wavy`
33048   *
33049   * **Initial value**: `solid`
33050   */
33051  "-webkit-text-decoration-style"?: TextDecorationStyleProperty | TextDecorationStyleProperty[];
33052  /**
33053   * The **`text-emphasis-color`** CSS property sets the color of emphasis marks. This value can also be set using the `text-emphasis` shorthand.
33054   *
33055   * **Syntax**: `<color>`
33056   *
33057   * **Initial value**: `currentcolor`
33058   */
33059  "-webkit-text-emphasis-color"?: TextEmphasisColorProperty | TextEmphasisColorProperty[];
33060  /**
33061   * 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.
33062   *
33063   * **Syntax**: `[ over | under ] && [ right | left ]`
33064   *
33065   * **Initial value**: `over right`
33066   */
33067  "-webkit-text-emphasis-position"?: GlobalsString | GlobalsString[];
33068  /**
33069   * The **`text-emphasis-style`** CSS property sets the appearance of emphasis marks. It can also be set, and reset, using the `text-emphasis` shorthand.
33070   *
33071   * **Syntax**: `none | [ [ filled | open ] || [ dot | circle | double-circle | triangle | sesame ] ] | <string>`
33072   *
33073   * **Initial value**: `none`
33074   */
33075  "-webkit-text-emphasis-style"?: TextEmphasisStyleProperty | TextEmphasisStyleProperty[];
33076  /**
33077   * 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.
33078   *
33079   * **Syntax**: `<color>`
33080   *
33081   * **Initial value**: `currentcolor`
33082   */
33083  "-webkit-text-fill-color"?: WebkitTextFillColorProperty | WebkitTextFillColorProperty[];
33084  /**
33085   * 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.
33086   *
33087   * **Syntax**: `mixed | upright | sideways`
33088   *
33089   * **Initial value**: `mixed`
33090   */
33091  "-webkit-text-orientation"?: TextOrientationProperty | TextOrientationProperty[];
33092  /**
33093   * The **`text-size-adjust`** CSS property controls the text inflation algorithm used on some smartphones and tablets. Other browsers will ignore this property.
33094   *
33095   * **Syntax**: `none | auto | <percentage>`
33096   *
33097   * **Initial value**: `auto` for smartphone browsers supporting inflation, `none` in other cases (and then not modifiable).
33098   */
33099  "-webkit-text-size-adjust"?: TextSizeAdjustProperty | TextSizeAdjustProperty[];
33100  /**
33101   * 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.
33102   *
33103   * **Syntax**: `<color>`
33104   *
33105   * **Initial value**: `currentcolor`
33106   */
33107  "-webkit-text-stroke-color"?: WebkitTextStrokeColorProperty | WebkitTextStrokeColorProperty[];
33108  /**
33109   * The **`-webkit-text-stroke-width`** CSS property specifies the width of the stroke for text.
33110   *
33111   * **Syntax**: `<length>`
33112   *
33113   * **Initial value**: `0`
33114   */
33115  "-webkit-text-stroke-width"?: WebkitTextStrokeWidthProperty<TLength> | WebkitTextStrokeWidthProperty<TLength>[];
33116  /**
33117   * The **`text-underline-position`** CSS property specifies the position of the underline which is set using the `text-decoration` property's `underline` value.
33118   *
33119   * **Syntax**: `auto | from-font | [ under || [ left | right ] ]`
33120   *
33121   * **Initial value**: `auto`
33122   */
33123  "-webkit-text-underline-position"?: TextUnderlinePositionProperty | TextUnderlinePositionProperty[];
33124  /**
33125   * The `-webkit-touch-callout` CSS property controls the display of the default callout shown when you touch and hold a touch target.
33126   *
33127   * **Syntax**: `default | none`
33128   *
33129   * **Initial value**: `default`
33130   */
33131  "-webkit-touch-callout"?: WebkitTouchCalloutProperty | WebkitTouchCalloutProperty[];
33132  /**
33133   * The **`transform`** CSS property lets you rotate, scale, skew, or translate an element. It modifies the coordinate space of the CSS visual formatting model.
33134   *
33135   * **Syntax**: `none | <transform-list>`
33136   *
33137   * **Initial value**: `none`
33138   */
33139  "-webkit-transform"?: TransformProperty | TransformProperty[];
33140  /**
33141   * The **`transform-origin`** CSS property sets the origin for an element's transformations.
33142   *
33143   * **Syntax**: `[ <length-percentage> | left | center | right | top | bottom ] | [ [ <length-percentage> | left | center | right ] && [ <length-percentage> | top | center | bottom ] ] <length>?`
33144   *
33145   * **Initial value**: `50% 50% 0`
33146   */
33147  "-webkit-transform-origin"?: TransformOriginProperty<TLength> | TransformOriginProperty<TLength>[];
33148  /**
33149   * 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.
33150   *
33151   * **Syntax**: `flat | preserve-3d`
33152   *
33153   * **Initial value**: `flat`
33154   */
33155  "-webkit-transform-style"?: TransformStyleProperty | TransformStyleProperty[];
33156  /**
33157   * The **`transition-delay`** CSS property specifies the duration to wait before starting a property's transition effect when its value changes.
33158   *
33159   * **Syntax**: `<time>#`
33160   *
33161   * **Initial value**: `0s`
33162   */
33163  "-webkit-transition-delay"?: GlobalsString | GlobalsString[];
33164  /**
33165   * 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.
33166   *
33167   * **Syntax**: `<time>#`
33168   *
33169   * **Initial value**: `0s`
33170   */
33171  "-webkit-transition-duration"?: GlobalsString | GlobalsString[];
33172  /**
33173   * The **`transition-property`** CSS property sets the CSS properties to which a transition effect should be applied.
33174   *
33175   * **Syntax**: `none | <single-transition-property>#`
33176   *
33177   * **Initial value**: all
33178   */
33179  "-webkit-transition-property"?: TransitionPropertyProperty | TransitionPropertyProperty[];
33180  /**
33181   * The **`transition-timing-function`** CSS property sets how intermediate values are calculated for CSS properties being affected by a transition effect.
33182   *
33183   * **Syntax**: `<timing-function>#`
33184   *
33185   * **Initial value**: `ease`
33186   */
33187  "-webkit-transition-timing-function"?: TransitionTimingFunctionProperty | TransitionTimingFunctionProperty[];
33188  /**
33189   * **Syntax**: `read-only | read-write | read-write-plaintext-only`
33190   *
33191   * **Initial value**: `read-only`
33192   */
33193  "-webkit-user-modify"?: WebkitUserModifyProperty | WebkitUserModifyProperty[];
33194  /**
33195   * 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.
33196   *
33197   * **Syntax**: `auto | text | none | contain | all`
33198   *
33199   * **Initial value**: `auto`
33200   */
33201  "-webkit-user-select"?: UserSelectProperty | UserSelectProperty[];
33202  /**
33203   * 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.
33204   *
33205   * **Syntax**: `horizontal-tb | vertical-rl | vertical-lr | sideways-rl | sideways-lr`
33206   *
33207   * **Initial value**: `horizontal-tb`
33208   */
33209  "-webkit-writing-mode"?: WritingModeProperty | WritingModeProperty[];
33210}
33211
33212export interface VendorShorthandPropertiesHyphenFallback<TLength = string | 0> {
33213  /**
33214   * The **`animation`** shorthand CSS property sets an animated transition 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`.
33215   *
33216   * **Syntax**: `<single-animation>#`
33217   */
33218  "-moz-animation"?: AnimationProperty | AnimationProperty[];
33219  /**
33220   * The **`border-image`** CSS property draws an image in place of an element's `border-style`.
33221   *
33222   * **Syntax**: `<'border-image-source'> || <'border-image-slice'> [ / <'border-image-width'> | / <'border-image-width'>? / <'border-image-outset'> ]? || <'border-image-repeat'>`
33223   */
33224  "-moz-border-image"?: BorderImageProperty | BorderImageProperty[];
33225  /**
33226   * The **`column-rule`** CSS property sets the width, style, and color of the rule (line) drawn between columns in a multi-column layout.
33227   *
33228   * **Syntax**: `<'column-rule-width'> || <'column-rule-style'> || <'column-rule-color'>`
33229   */
33230  "-moz-column-rule"?: ColumnRuleProperty<TLength> | ColumnRuleProperty<TLength>[];
33231  /**
33232   * The **`columns`** CSS property sets the column width and column count of an element.
33233   *
33234   * **Syntax**: `<'column-width'> || <'column-count'>`
33235   */
33236  "-moz-columns"?: ColumnsProperty<TLength> | ColumnsProperty<TLength>[];
33237  /**
33238   * The **`transition`** CSS property is a shorthand property for `transition-property`, `transition-duration`, `transition-timing-function`, and `transition-delay`.
33239   *
33240   * **Syntax**: `<single-transition>#`
33241   */
33242  "-moz-transition"?: TransitionProperty | TransitionProperty[];
33243  /**
33244   * 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.
33245   *
33246   * **Syntax**: `<'-ms-content-zoom-limit-min'> <'-ms-content-zoom-limit-max'>`
33247   */
33248  "-ms-content-zoom-limit"?: GlobalsString | GlobalsString[];
33249  /**
33250   * 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.
33251   *
33252   * **Syntax**: `<'-ms-content-zoom-snap-type'> || <'-ms-content-zoom-snap-points'>`
33253   */
33254  "-ms-content-zoom-snap"?: MsContentZoomSnapProperty | MsContentZoomSnapProperty[];
33255  /**
33256   * The **`flex`** CSS property sets how a flex item will grow or shrink to fit the space available in its flex container. It is a shorthand for `flex-grow`, `flex-shrink`, and `flex-basis`.
33257   *
33258   * **Syntax**: `none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]`
33259   */
33260  "-ms-flex"?: FlexProperty<TLength> | FlexProperty<TLength>[];
33261  /**
33262   * 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.
33263   *
33264   * **Syntax**: `<'-ms-scroll-limit-x-min'> <'-ms-scroll-limit-y-min'> <'-ms-scroll-limit-x-max'> <'-ms-scroll-limit-y-max'>`
33265   */
33266  "-ms-scroll-limit"?: GlobalsString | GlobalsString[];
33267  /**
33268   * 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.
33269   *
33270   * **Syntax**: `<'-ms-scroll-snap-type'> <'-ms-scroll-snap-points-x'>`
33271   */
33272  "-ms-scroll-snap-x"?: GlobalsString | GlobalsString[];
33273  /**
33274   * 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.
33275   *
33276   * **Syntax**: `<'-ms-scroll-snap-type'> <'-ms-scroll-snap-points-y'>`
33277   */
33278  "-ms-scroll-snap-y"?: GlobalsString | GlobalsString[];
33279  /**
33280   * The **`transition`** CSS property is a shorthand property for `transition-property`, `transition-duration`, `transition-timing-function`, and `transition-delay`.
33281   *
33282   * **Syntax**: `<single-transition>#`
33283   */
33284  "-ms-transition"?: TransitionProperty | TransitionProperty[];
33285  /**
33286   * The **`animation`** shorthand CSS property sets an animated transition 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`.
33287   *
33288   * **Syntax**: `<single-animation>#`
33289   */
33290  "-webkit-animation"?: AnimationProperty | AnimationProperty[];
33291  /**
33292   * 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.
33293   *
33294   * **Syntax**: `<'border-width'> || <'border-style'> || <'color'>`
33295   */
33296  "-webkit-border-before"?: WebkitBorderBeforeProperty<TLength> | WebkitBorderBeforeProperty<TLength>[];
33297  /**
33298   * The **`border-image`** CSS property draws an image in place of an element's `border-style`.
33299   *
33300   * **Syntax**: `<'border-image-source'> || <'border-image-slice'> [ / <'border-image-width'> | / <'border-image-width'>? / <'border-image-outset'> ]? || <'border-image-repeat'>`
33301   */
33302  "-webkit-border-image"?: BorderImageProperty | BorderImageProperty[];
33303  /**
33304   * 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.
33305   *
33306   * **Syntax**: `<length-percentage>{1,4} [ / <length-percentage>{1,4} ]?`
33307   */
33308  "-webkit-border-radius"?: BorderRadiusProperty<TLength> | BorderRadiusProperty<TLength>[];
33309  /**
33310   * The **`column-rule`** CSS property sets the width, style, and color of the rule (line) drawn between columns in a multi-column layout.
33311   *
33312   * **Syntax**: `<'column-rule-width'> || <'column-rule-style'> || <'column-rule-color'>`
33313   */
33314  "-webkit-column-rule"?: ColumnRuleProperty<TLength> | ColumnRuleProperty<TLength>[];
33315  /**
33316   * The **`columns`** CSS property sets the column width and column count of an element.
33317   *
33318   * **Syntax**: `<'column-width'> || <'column-count'>`
33319   */
33320  "-webkit-columns"?: ColumnsProperty<TLength> | ColumnsProperty<TLength>[];
33321  /**
33322   * The **`flex`** CSS property sets how a flex item will grow or shrink to fit the space available in its flex container. It is a shorthand for `flex-grow`, `flex-shrink`, and `flex-basis`.
33323   *
33324   * **Syntax**: `none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]`
33325   */
33326  "-webkit-flex"?: FlexProperty<TLength> | FlexProperty<TLength>[];
33327  /**
33328   * The **`flex-flow`** CSS property is a shorthand property for `flex-direction` and `flex-wrap` properties.
33329   *
33330   * **Syntax**: `<'flex-direction'> || <'flex-wrap'>`
33331   */
33332  "-webkit-flex-flow"?: FlexFlowProperty | FlexFlowProperty[];
33333  /**
33334   * The **`mask`** CSS property hides an element (partially or fully) by masking or clipping the image at specific points.
33335   *
33336   * **Syntax**: `[ <mask-reference> || <position> [ / <bg-size> ]? || <repeat-style> || [ <box> | border | padding | content | text ] || [ <box> | border | padding | content ] ]#`
33337   */
33338  "-webkit-mask"?: WebkitMaskProperty<TLength> | WebkitMaskProperty<TLength>[];
33339  /**
33340   * 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`.
33341   *
33342   * **Syntax**: `<'text-emphasis-style'> || <'text-emphasis-color'>`
33343   */
33344  "-webkit-text-emphasis"?: TextEmphasisProperty | TextEmphasisProperty[];
33345  /**
33346   * 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`.
33347   *
33348   * **Syntax**: `<length> || <color>`
33349   */
33350  "-webkit-text-stroke"?: WebkitTextStrokeProperty<TLength> | WebkitTextStrokeProperty<TLength>[];
33351  /**
33352   * The **`transition`** CSS property is a shorthand property for `transition-property`, `transition-duration`, `transition-timing-function`, and `transition-delay`.
33353   *
33354   * **Syntax**: `<single-transition>#`
33355   */
33356  "-webkit-transition"?: TransitionProperty | TransitionProperty[];
33357}
33358
33359export interface VendorPropertiesHyphenFallback<TLength = string | 0> extends VendorLonghandPropertiesHyphenFallback<TLength>, VendorShorthandPropertiesHyphenFallback<TLength> {}
33360
33361export interface ObsoletePropertiesHyphenFallback<TLength = string | 0> {
33362  /**
33363   * 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.
33364   *
33365   * **Syntax**: `start | center | end | baseline | stretch`
33366   *
33367   * **Initial value**: `stretch`
33368   *
33369   * @deprecated
33370   */
33371  "box-align"?: BoxAlignProperty | BoxAlignProperty[];
33372  /**
33373   * 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).
33374   *
33375   * **Syntax**: `normal | reverse | inherit`
33376   *
33377   * **Initial value**: `normal`
33378   *
33379   * @deprecated
33380   */
33381  "box-direction"?: BoxDirectionProperty | BoxDirectionProperty[];
33382  /**
33383   * 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.
33384   *
33385   * **Syntax**: `<number>`
33386   *
33387   * **Initial value**: `0`
33388   *
33389   * @deprecated
33390   */
33391  "box-flex"?: GlobalsNumber | GlobalsNumber[];
33392  /**
33393   * The **`box-flex-group`** CSS property assigns the flexbox's child elements to a flex group.
33394   *
33395   * **Syntax**: `<integer>`
33396   *
33397   * **Initial value**: `1`
33398   *
33399   * @deprecated
33400   */
33401  "box-flex-group"?: GlobalsNumber | GlobalsNumber[];
33402  /**
33403   * 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).
33404   *
33405   * **Syntax**: `single | multiple`
33406   *
33407   * **Initial value**: `single`
33408   *
33409   * @deprecated
33410   */
33411  "box-lines"?: BoxLinesProperty | BoxLinesProperty[];
33412  /**
33413   * The **`box-ordinal-group`** CSS property assigns the flexbox's child elements to an ordinal group.
33414   *
33415   * **Syntax**: `<integer>`
33416   *
33417   * **Initial value**: `1`
33418   *
33419   * @deprecated
33420   */
33421  "box-ordinal-group"?: GlobalsNumber | GlobalsNumber[];
33422  /**
33423   * The **`box-orient`** CSS property specifies whether an element lays out its contents horizontally or vertically.
33424   *
33425   * **Syntax**: `horizontal | vertical | inline-axis | block-axis | inherit`
33426   *
33427   * **Initial value**: `inline-axis` (`horizontal` in XUL)
33428   *
33429   * @deprecated
33430   */
33431  "box-orient"?: BoxOrientProperty | BoxOrientProperty[];
33432  /**
33433   * 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.
33434   *
33435   * **Syntax**: `start | center | end | justify`
33436   *
33437   * **Initial value**: `start`
33438   *
33439   * @deprecated
33440   */
33441  "box-pack"?: BoxPackProperty | BoxPackProperty[];
33442  /**
33443   * The **`clip`** CSS property defines what portion of an element is visible. The `clip` property applies only to absolutely positioned elements, that is elements with `position:absolute` or `position:fixed`.
33444   *
33445   * **Syntax**: `<shape> | auto`
33446   *
33447   * **Initial value**: `auto`
33448   *
33449   * @deprecated
33450   */
33451  clip?: ClipProperty | ClipProperty[];
33452  /**
33453   * 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`.
33454   *
33455   * **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> ) ]`
33456   *
33457   * **Initial value**: `normal`
33458   *
33459   * @deprecated
33460   */
33461  "font-variant-alternates"?: FontVariantAlternatesProperty | FontVariantAlternatesProperty[];
33462  /**
33463   * The **`column-gap`** CSS property sets the size of the gap (gutter) between an element's columns.
33464   *
33465   * **Syntax**: `<length-percentage>`
33466   *
33467   * **Initial value**: `0`
33468   *
33469   * @deprecated
33470   */
33471  "grid-column-gap"?: GridColumnGapProperty<TLength> | GridColumnGapProperty<TLength>[];
33472  /**
33473   * The **`gap`** CSS property sets the gaps (gutters) between rows and columns. It is a shorthand for `row-gap` and `column-gap`.
33474   *
33475   * **Syntax**: `<'grid-row-gap'> <'grid-column-gap'>?`
33476   *
33477   * @deprecated
33478   */
33479  "grid-gap"?: GridGapProperty<TLength> | GridGapProperty<TLength>[];
33480  /**
33481   * The **`row-gap`** CSS property sets the size of the gap (gutter) between an element's grid rows.
33482   *
33483   * **Syntax**: `<length-percentage>`
33484   *
33485   * **Initial value**: `0`
33486   *
33487   * @deprecated
33488   */
33489  "grid-row-gap"?: GridRowGapProperty<TLength> | GridRowGapProperty<TLength>[];
33490  /**
33491   * The **`ime-mode`** CSS property controls the state of the input method editor (IME) for text fields. This property is obsolete.
33492   *
33493   * **Syntax**: `auto | normal | active | inactive | disabled`
33494   *
33495   * **Initial value**: `auto`
33496   *
33497   * @deprecated
33498   */
33499  "ime-mode"?: ImeModeProperty | ImeModeProperty[];
33500  /**
33501   * The **`inset-block`** CSS property defines the logical block start and end offsets of an element, 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`.
33502   *
33503   * **Syntax**: `<'top'>{1,2}`
33504   *
33505   * **Initial value**: `auto`
33506   *
33507   * @deprecated
33508   */
33509  "offset-block"?: InsetBlockProperty<TLength> | InsetBlockProperty<TLength>[];
33510  /**
33511   * 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`.
33512   *
33513   * **Syntax**: `<'top'>`
33514   *
33515   * **Initial value**: `auto`
33516   *
33517   * @deprecated
33518   */
33519  "offset-block-end"?: InsetBlockEndProperty<TLength> | InsetBlockEndProperty<TLength>[];
33520  /**
33521   * 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`.
33522   *
33523   * **Syntax**: `<'top'>`
33524   *
33525   * **Initial value**: `auto`
33526   *
33527   * @deprecated
33528   */
33529  "offset-block-start"?: InsetBlockStartProperty<TLength> | InsetBlockStartProperty<TLength>[];
33530  /**
33531   * The **`inset-inline`** CSS property defines the logical block start and end offsets of an element, 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`.
33532   *
33533   * **Syntax**: `<'top'>{1,2}`
33534   *
33535   * **Initial value**: `auto`
33536   *
33537   * @deprecated
33538   */
33539  "offset-inline"?: InsetInlineProperty<TLength> | InsetInlineProperty<TLength>[];
33540  /**
33541   * The **`inset-inline-end`** CSS property defines the logical inline end inset 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`.
33542   *
33543   * **Syntax**: `<'top'>`
33544   *
33545   * **Initial value**: `auto`
33546   *
33547   * @deprecated
33548   */
33549  "offset-inline-end"?: InsetInlineEndProperty<TLength> | InsetInlineEndProperty<TLength>[];
33550  /**
33551   * 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`.
33552   *
33553   * **Syntax**: `<'top'>`
33554   *
33555   * **Initial value**: `auto`
33556   *
33557   * @deprecated
33558   */
33559  "offset-inline-start"?: InsetInlineStartProperty<TLength> | InsetInlineStartProperty<TLength>[];
33560  /**
33561   * 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.
33562   *
33563   * **Syntax**: `none | <position>#`
33564   *
33565   * **Initial value**: `none`
33566   *
33567   * @deprecated
33568   */
33569  "scroll-snap-coordinate"?: ScrollSnapCoordinateProperty<TLength> | ScrollSnapCoordinateProperty<TLength>[];
33570  /**
33571   * 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.
33572   *
33573   * **Syntax**: `<position>`
33574   *
33575   * **Initial value**: `0px 0px`
33576   *
33577   * @deprecated
33578   */
33579  "scroll-snap-destination"?: ScrollSnapDestinationProperty<TLength> | ScrollSnapDestinationProperty<TLength>[];
33580  /**
33581   * 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.
33582   *
33583   * **Syntax**: `none | repeat( <length-percentage> )`
33584   *
33585   * **Initial value**: `none`
33586   *
33587   * @deprecated
33588   */
33589  "scroll-snap-points-x"?: ScrollSnapPointsXProperty | ScrollSnapPointsXProperty[];
33590  /**
33591   * 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.
33592   *
33593   * **Syntax**: `none | repeat( <length-percentage> )`
33594   *
33595   * **Initial value**: `none`
33596   *
33597   * @deprecated
33598   */
33599  "scroll-snap-points-y"?: ScrollSnapPointsYProperty | ScrollSnapPointsYProperty[];
33600  /**
33601   * 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.
33602   *
33603   * **Syntax**: `none | mandatory | proximity`
33604   *
33605   * **Initial value**: `none`
33606   *
33607   * @deprecated
33608   */
33609  "scroll-snap-type-x"?: ScrollSnapTypeXProperty | ScrollSnapTypeXProperty[];
33610  /**
33611   * 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.
33612   *
33613   * **Syntax**: `none | mandatory | proximity`
33614   *
33615   * **Initial value**: `none`
33616   *
33617   * @deprecated
33618   */
33619  "scroll-snap-type-y"?: ScrollSnapTypeYProperty | ScrollSnapTypeYProperty[];
33620  /**
33621   * The **`-ms-scrollbar-track-color`** CSS property is a Microsoft extension that specifies the color of the track element of a scrollbar.
33622   *
33623   * **Syntax**: `<color>`
33624   *
33625   * **Initial value**: `Scrollbar`
33626   *
33627   * @deprecated
33628   */
33629  "scrollbar-track-color"?: MsScrollbarTrackColorProperty | MsScrollbarTrackColorProperty[];
33630  /**
33631   * 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.
33632   *
33633   * **Syntax**: `none | all | [ digits <integer>? ]`
33634   *
33635   * **Initial value**: `none`
33636   *
33637   * @deprecated
33638   */
33639  "text-combine-horizontal"?: TextCombineUprightProperty | TextCombineUprightProperty[];
33640  /**
33641   * 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.
33642   *
33643   * **Syntax**: `start | center | end | baseline | stretch`
33644   *
33645   * **Initial value**: `stretch`
33646   *
33647   * @deprecated
33648   */
33649  "-khtml-box-align"?: BoxAlignProperty | BoxAlignProperty[];
33650  /**
33651   * 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).
33652   *
33653   * **Syntax**: `normal | reverse | inherit`
33654   *
33655   * **Initial value**: `normal`
33656   *
33657   * @deprecated
33658   */
33659  "-khtml-box-direction"?: BoxDirectionProperty | BoxDirectionProperty[];
33660  /**
33661   * 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.
33662   *
33663   * **Syntax**: `<number>`
33664   *
33665   * **Initial value**: `0`
33666   *
33667   * @deprecated
33668   */
33669  "-khtml-box-flex"?: GlobalsNumber | GlobalsNumber[];
33670  /**
33671   * The **`box-flex-group`** CSS property assigns the flexbox's child elements to a flex group.
33672   *
33673   * **Syntax**: `<integer>`
33674   *
33675   * **Initial value**: `1`
33676   *
33677   * @deprecated
33678   */
33679  "-khtml-box-flex-group"?: GlobalsNumber | GlobalsNumber[];
33680  /**
33681   * 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).
33682   *
33683   * **Syntax**: `single | multiple`
33684   *
33685   * **Initial value**: `single`
33686   *
33687   * @deprecated
33688   */
33689  "-khtml-box-lines"?: BoxLinesProperty | BoxLinesProperty[];
33690  /**
33691   * The **`box-ordinal-group`** CSS property assigns the flexbox's child elements to an ordinal group.
33692   *
33693   * **Syntax**: `<integer>`
33694   *
33695   * **Initial value**: `1`
33696   *
33697   * @deprecated
33698   */
33699  "-khtml-box-ordinal-group"?: GlobalsNumber | GlobalsNumber[];
33700  /**
33701   * The **`box-orient`** CSS property specifies whether an element lays out its contents horizontally or vertically.
33702   *
33703   * **Syntax**: `horizontal | vertical | inline-axis | block-axis | inherit`
33704   *
33705   * **Initial value**: `inline-axis` (`horizontal` in XUL)
33706   *
33707   * @deprecated
33708   */
33709  "-khtml-box-orient"?: BoxOrientProperty | BoxOrientProperty[];
33710  /**
33711   * 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.
33712   *
33713   * **Syntax**: `start | center | end | justify`
33714   *
33715   * **Initial value**: `start`
33716   *
33717   * @deprecated
33718   */
33719  "-khtml-box-pack"?: BoxPackProperty | BoxPackProperty[];
33720  /**
33721   * The **`line-break`** CSS property sets how to break lines of Chinese, Japanese, or Korean (CJK) text when working with punctuation and symbols.
33722   *
33723   * **Syntax**: `auto | loose | normal | strict | anywhere`
33724   *
33725   * **Initial value**: `auto`
33726   *
33727   * @deprecated
33728   */
33729  "-khtml-line-break"?: LineBreakProperty | LineBreakProperty[];
33730  /**
33731   * The **`opacity`** CSS property sets the transparency of an element or the degree to which content behind an element is visible.
33732   *
33733   * **Syntax**: `<alpha-value>`
33734   *
33735   * **Initial value**: `1.0`
33736   *
33737   * @deprecated
33738   */
33739  "-khtml-opacity"?: OpacityProperty | OpacityProperty[];
33740  /**
33741   * 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.
33742   *
33743   * **Syntax**: `auto | text | none | contain | all`
33744   *
33745   * **Initial value**: `auto`
33746   *
33747   * @deprecated
33748   */
33749  "-khtml-user-select"?: UserSelectProperty | UserSelectProperty[];
33750  /**
33751   * The **`background-clip`** CSS property sets whether an element's background `<color>` or `<image>` extends underneath its border.
33752   *
33753   * **Syntax**: `<box>#`
33754   *
33755   * **Initial value**: `border-box`
33756   *
33757   * @deprecated
33758   */
33759  "-moz-background-clip"?: BackgroundClipProperty | BackgroundClipProperty[];
33760  /**
33761   * The **`box-decoration-break`** CSS property specifies how an element's fragments should be rendered when broken across multiple lines, columns, or pages.
33762   *
33763   * **Syntax**: `slice | clone`
33764   *
33765   * **Initial value**: `slice`
33766   *
33767   * @deprecated
33768   */
33769  "-moz-background-inline-policy"?: BoxDecorationBreakProperty | BoxDecorationBreakProperty[];
33770  /**
33771   * The **`background-origin`** CSS property sets the _background positioning area_. In other words, it sets the origin position of an image set with the `background-image` property.
33772   *
33773   * **Syntax**: `<box>#`
33774   *
33775   * **Initial value**: `padding-box`
33776   *
33777   * @deprecated
33778   */
33779  "-moz-background-origin"?: BackgroundOriginProperty | BackgroundOriginProperty[];
33780  /**
33781   * 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.
33782   *
33783   * **Syntax**: `<bg-size>#`
33784   *
33785   * **Initial value**: `auto auto`
33786   *
33787   * @deprecated
33788   */
33789  "-moz-background-size"?: BackgroundSizeProperty<TLength> | BackgroundSizeProperty<TLength>[];
33790  /**
33791   * The **`-moz-binding`** CSS property is used by Mozilla-based applications to attach an XBL binding to a DOM element.
33792   *
33793   * **Syntax**: `<url> | none`
33794   *
33795   * **Initial value**: `none`
33796   *
33797   * @deprecated
33798   */
33799  "-moz-binding"?: MozBindingProperty | MozBindingProperty[];
33800  /**
33801   * 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.
33802   *
33803   * **Syntax**: `<length-percentage>{1,4} [ / <length-percentage>{1,4} ]?`
33804   *
33805   * @deprecated
33806   */
33807  "-moz-border-radius"?: BorderRadiusProperty<TLength> | BorderRadiusProperty<TLength>[];
33808  /**
33809   * The **`border-bottom-left-radius`** CSS property rounds the bottom-left corner of an element.
33810   *
33811   * **Syntax**: `<length-percentage>{1,2}`
33812   *
33813   * **Initial value**: `0`
33814   *
33815   * @deprecated
33816   */
33817  "-moz-border-radius-bottomleft"?: BorderBottomLeftRadiusProperty<TLength> | BorderBottomLeftRadiusProperty<TLength>[];
33818  /**
33819   * The **`border-bottom-right-radius`** CSS property rounds the bottom-right corner of an element.
33820   *
33821   * **Syntax**: `<length-percentage>{1,2}`
33822   *
33823   * **Initial value**: `0`
33824   *
33825   * @deprecated
33826   */
33827  "-moz-border-radius-bottomright"?: BorderBottomRightRadiusProperty<TLength> | BorderBottomRightRadiusProperty<TLength>[];
33828  /**
33829   * The **`border-top-left-radius`** CSS property rounds the top-left corner of an element.
33830   *
33831   * **Syntax**: `<length-percentage>{1,2}`
33832   *
33833   * **Initial value**: `0`
33834   *
33835   * @deprecated
33836   */
33837  "-moz-border-radius-topleft"?: BorderTopLeftRadiusProperty<TLength> | BorderTopLeftRadiusProperty<TLength>[];
33838  /**
33839   * The **`border-top-right-radius`** CSS property rounds the top-right corner of an element.
33840   *
33841   * **Syntax**: `<length-percentage>{1,2}`
33842   *
33843   * **Initial value**: `0`
33844   *
33845   * @deprecated
33846   */
33847  "-moz-border-radius-topright"?: BorderTopRightRadiusProperty<TLength> | BorderTopRightRadiusProperty<TLength>[];
33848  /**
33849   * 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.
33850   *
33851   * **Syntax**: `start | center | end | baseline | stretch`
33852   *
33853   * **Initial value**: `stretch`
33854   *
33855   * @deprecated
33856   */
33857  "-moz-box-align"?: BoxAlignProperty | BoxAlignProperty[];
33858  /**
33859   * 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).
33860   *
33861   * **Syntax**: `normal | reverse | inherit`
33862   *
33863   * **Initial value**: `normal`
33864   *
33865   * @deprecated
33866   */
33867  "-moz-box-direction"?: BoxDirectionProperty | BoxDirectionProperty[];
33868  /**
33869   * 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.
33870   *
33871   * **Syntax**: `<number>`
33872   *
33873   * **Initial value**: `0`
33874   *
33875   * @deprecated
33876   */
33877  "-moz-box-flex"?: GlobalsNumber | GlobalsNumber[];
33878  /**
33879   * The **`box-ordinal-group`** CSS property assigns the flexbox's child elements to an ordinal group.
33880   *
33881   * **Syntax**: `<integer>`
33882   *
33883   * **Initial value**: `1`
33884   *
33885   * @deprecated
33886   */
33887  "-moz-box-ordinal-group"?: GlobalsNumber | GlobalsNumber[];
33888  /**
33889   * The **`box-orient`** CSS property specifies whether an element lays out its contents horizontally or vertically.
33890   *
33891   * **Syntax**: `horizontal | vertical | inline-axis | block-axis | inherit`
33892   *
33893   * **Initial value**: `inline-axis` (`horizontal` in XUL)
33894   *
33895   * @deprecated
33896   */
33897  "-moz-box-orient"?: BoxOrientProperty | BoxOrientProperty[];
33898  /**
33899   * 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.
33900   *
33901   * **Syntax**: `start | center | end | justify`
33902   *
33903   * **Initial value**: `start`
33904   *
33905   * @deprecated
33906   */
33907  "-moz-box-pack"?: BoxPackProperty | BoxPackProperty[];
33908  /**
33909   * 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 radii, and color.
33910   *
33911   * **Syntax**: `none | <shadow>#`
33912   *
33913   * **Initial value**: `none`
33914   *
33915   * @deprecated
33916   */
33917  "-moz-box-shadow"?: BoxShadowProperty | BoxShadowProperty[];
33918  /**
33919   * The **`opacity`** CSS property sets the transparency of an element or the degree to which content behind an element is visible.
33920   *
33921   * **Syntax**: `<alpha-value>`
33922   *
33923   * **Initial value**: `1.0`
33924   *
33925   * @deprecated
33926   */
33927  "-moz-opacity"?: OpacityProperty | OpacityProperty[];
33928  /**
33929   * The **`outline`** CSS property is a shorthand to set various outline properties in a single declaration: `outline-style`, `outline-width`, and `outline-color`.
33930   *
33931   * **Syntax**: `[ <'outline-color'> || <'outline-style'> || <'outline-width'> ]`
33932   *
33933   * @deprecated
33934   */
33935  "-moz-outline"?: OutlineProperty<TLength> | OutlineProperty<TLength>[];
33936  /**
33937   * The **`outline-color`** CSS property sets the color of an element's outline.
33938   *
33939   * **Syntax**: `<color> | invert`
33940   *
33941   * **Initial value**: `invert`, for browsers supporting it, `currentColor` for the other
33942   *
33943   * @deprecated
33944   */
33945  "-moz-outline-color"?: OutlineColorProperty | OutlineColorProperty[];
33946  /**
33947   * In Mozilla applications like Firefox, the **`-moz-outline-radius`** CSS property can be used to give an element's `outline` rounded corners.
33948   *
33949   * **Syntax**: `<outline-radius>{1,4} [ / <outline-radius>{1,4} ]?`
33950   *
33951   * @deprecated
33952   */
33953  "-moz-outline-radius"?: MozOutlineRadiusProperty<TLength> | MozOutlineRadiusProperty<TLength>[];
33954  /**
33955   * 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`.
33956   *
33957   * **Syntax**: `auto | <'border-style'>`
33958   *
33959   * **Initial value**: `none`
33960   *
33961   * @deprecated
33962   */
33963  "-moz-outline-style"?: OutlineStyleProperty | OutlineStyleProperty[];
33964  /**
33965   * The **`outline-width`** CSS property sets the thickness of an element's outline. An outline is a line that is drawn around an element, outside the `border`.
33966   *
33967   * **Syntax**: `<line-width>`
33968   *
33969   * **Initial value**: `medium`
33970   *
33971   * @deprecated
33972   */
33973  "-moz-outline-width"?: OutlineWidthProperty<TLength> | OutlineWidthProperty<TLength>[];
33974  /**
33975   * 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.
33976   *
33977   * **Syntax**: `auto | start | end | left | right | center | justify`
33978   *
33979   * **Initial value**: `auto`
33980   *
33981   * @deprecated
33982   */
33983  "-moz-text-align-last"?: TextAlignLastProperty | TextAlignLastProperty[];
33984  /**
33985   * The **`text-decoration-color`** CSS property sets the color of decorations added to text by `text-decoration-line`.
33986   *
33987   * **Syntax**: `<color>`
33988   *
33989   * **Initial value**: `currentcolor`
33990   *
33991   * @deprecated
33992   */
33993  "-moz-text-decoration-color"?: TextDecorationColorProperty | TextDecorationColorProperty[];
33994  /**
33995   * 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.
33996   *
33997   * **Syntax**: `none | [ underline || overline || line-through || blink ] | spelling-error | grammar-error`
33998   *
33999   * **Initial value**: `none`
34000   *
34001   * @deprecated
34002   */
34003  "-moz-text-decoration-line"?: TextDecorationLineProperty | TextDecorationLineProperty[];
34004  /**
34005   * 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`.
34006   *
34007   * **Syntax**: `solid | double | dotted | dashed | wavy`
34008   *
34009   * **Initial value**: `solid`
34010   *
34011   * @deprecated
34012   */
34013  "-moz-text-decoration-style"?: TextDecorationStyleProperty | TextDecorationStyleProperty[];
34014  /**
34015   * In Mozilla applications, **`-moz-user-input`** determines if an element will accept user input.
34016   *
34017   * **Syntax**: `auto | none | enabled | disabled`
34018   *
34019   * **Initial value**: `auto`
34020   *
34021   * @deprecated
34022   */
34023  "-moz-user-input"?: MozUserInputProperty | MozUserInputProperty[];
34024  /**
34025   * The **`ime-mode`** CSS property controls the state of the input method editor (IME) for text fields. This property is obsolete.
34026   *
34027   * **Syntax**: `auto | normal | active | inactive | disabled`
34028   *
34029   * **Initial value**: `auto`
34030   *
34031   * @deprecated
34032   */
34033  "-ms-ime-mode"?: ImeModeProperty | ImeModeProperty[];
34034  /**
34035   * The **`-ms-scrollbar-track-color`** CSS property is a Microsoft extension that specifies the color of the track element of a scrollbar.
34036   *
34037   * **Syntax**: `<color>`
34038   *
34039   * **Initial value**: `Scrollbar`
34040   *
34041   * @deprecated
34042   */
34043  "-ms-scrollbar-track-color"?: MsScrollbarTrackColorProperty | MsScrollbarTrackColorProperty[];
34044  /**
34045   * The **`animation`** shorthand CSS property sets an animated transition 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`.
34046   *
34047   * **Syntax**: `<single-animation>#`
34048   *
34049   * @deprecated
34050   */
34051  "-o-animation"?: AnimationProperty | AnimationProperty[];
34052  /**
34053   * The **`animation-delay`** CSS property sets when an animation starts. The animation can start later, immediately from its beginning, or immediately and partway through the animation.
34054   *
34055   * **Syntax**: `<time>#`
34056   *
34057   * **Initial value**: `0s`
34058   *
34059   * @deprecated
34060   */
34061  "-o-animation-delay"?: GlobalsString | GlobalsString[];
34062  /**
34063   * The **`animation-direction`** CSS property sets whether an animation should play forwards, backwards, or alternating back and forth.
34064   *
34065   * **Syntax**: `<single-animation-direction>#`
34066   *
34067   * **Initial value**: `normal`
34068   *
34069   * @deprecated
34070   */
34071  "-o-animation-direction"?: AnimationDirectionProperty | AnimationDirectionProperty[];
34072  /**
34073   * The **`animation-duration`** CSS property sets the length of time that an animation takes to complete one cycle.
34074   *
34075   * **Syntax**: `<time>#`
34076   *
34077   * **Initial value**: `0s`
34078   *
34079   * @deprecated
34080   */
34081  "-o-animation-duration"?: GlobalsString | GlobalsString[];
34082  /**
34083   * The **`animation-fill-mode`** CSS property sets how a CSS animation applies styles to its target before and after its execution.
34084   *
34085   * **Syntax**: `<single-animation-fill-mode>#`
34086   *
34087   * **Initial value**: `none`
34088   *
34089   * @deprecated
34090   */
34091  "-o-animation-fill-mode"?: AnimationFillModeProperty | AnimationFillModeProperty[];
34092  /**
34093   * The **`animation-iteration-count`** CSS property sets the number of times an animation cycle should be played before stopping.
34094   *
34095   * **Syntax**: `<single-animation-iteration-count>#`
34096   *
34097   * **Initial value**: `1`
34098   *
34099   * @deprecated
34100   */
34101  "-o-animation-iteration-count"?: AnimationIterationCountProperty | AnimationIterationCountProperty[];
34102  /**
34103   * The **`animation-name`** CSS property sets one or more animations to apply to an element. Each name is an `@keyframes` at-rule that sets the property values for the animation sequence.
34104   *
34105   * **Syntax**: `[ none | <keyframes-name> ]#`
34106   *
34107   * **Initial value**: `none`
34108   *
34109   * @deprecated
34110   */
34111  "-o-animation-name"?: AnimationNameProperty | AnimationNameProperty[];
34112  /**
34113   * The **`animation-play-state`** CSS property sets whether an animation is running or paused.
34114   *
34115   * **Syntax**: `<single-animation-play-state>#`
34116   *
34117   * **Initial value**: `running`
34118   *
34119   * @deprecated
34120   */
34121  "-o-animation-play-state"?: AnimationPlayStateProperty | AnimationPlayStateProperty[];
34122  /**
34123   * The `**animation-timing-function**` CSS property sets how an animation progresses through the duration of each cycle.
34124   *
34125   * **Syntax**: `<timing-function>#`
34126   *
34127   * **Initial value**: `ease`
34128   *
34129   * @deprecated
34130   */
34131  "-o-animation-timing-function"?: AnimationTimingFunctionProperty | AnimationTimingFunctionProperty[];
34132  /**
34133   * 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.
34134   *
34135   * **Syntax**: `<bg-size>#`
34136   *
34137   * **Initial value**: `auto auto`
34138   *
34139   * @deprecated
34140   */
34141  "-o-background-size"?: BackgroundSizeProperty<TLength> | BackgroundSizeProperty<TLength>[];
34142  /**
34143   * The **`border-image`** CSS property draws an image in place of an element's `border-style`.
34144   *
34145   * **Syntax**: `<'border-image-source'> || <'border-image-slice'> [ / <'border-image-width'> | / <'border-image-width'>? / <'border-image-outset'> ]? || <'border-image-repeat'>`
34146   *
34147   * @deprecated
34148   */
34149  "-o-border-image"?: BorderImageProperty | BorderImageProperty[];
34150  /**
34151   * The **`transform`** CSS property lets you rotate, scale, skew, or translate an element. It modifies the coordinate space of the CSS visual formatting model.
34152   *
34153   * **Syntax**: `none | <transform-list>`
34154   *
34155   * **Initial value**: `none`
34156   *
34157   * @deprecated
34158   */
34159  "-o-transform"?: TransformProperty | TransformProperty[];
34160  /**
34161   * The **`transition`** CSS property is a shorthand property for `transition-property`, `transition-duration`, `transition-timing-function`, and `transition-delay`.
34162   *
34163   * **Syntax**: `<single-transition>#`
34164   *
34165   * @deprecated
34166   */
34167  "-o-transition"?: TransitionProperty | TransitionProperty[];
34168  /**
34169   * The **`transition-delay`** CSS property specifies the duration to wait before starting a property's transition effect when its value changes.
34170   *
34171   * **Syntax**: `<time>#`
34172   *
34173   * **Initial value**: `0s`
34174   *
34175   * @deprecated
34176   */
34177  "-o-transition-delay"?: GlobalsString | GlobalsString[];
34178  /**
34179   * 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.
34180   *
34181   * **Syntax**: `<time>#`
34182   *
34183   * **Initial value**: `0s`
34184   *
34185   * @deprecated
34186   */
34187  "-o-transition-duration"?: GlobalsString | GlobalsString[];
34188  /**
34189   * The **`transition-property`** CSS property sets the CSS properties to which a transition effect should be applied.
34190   *
34191   * **Syntax**: `none | <single-transition-property>#`
34192   *
34193   * **Initial value**: all
34194   *
34195   * @deprecated
34196   */
34197  "-o-transition-property"?: TransitionPropertyProperty | TransitionPropertyProperty[];
34198  /**
34199   * The **`transition-timing-function`** CSS property sets how intermediate values are calculated for CSS properties being affected by a transition effect.
34200   *
34201   * **Syntax**: `<timing-function>#`
34202   *
34203   * **Initial value**: `ease`
34204   *
34205   * @deprecated
34206   */
34207  "-o-transition-timing-function"?: TransitionTimingFunctionProperty | TransitionTimingFunctionProperty[];
34208  /**
34209   * 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.
34210   *
34211   * **Syntax**: `start | center | end | baseline | stretch`
34212   *
34213   * **Initial value**: `stretch`
34214   *
34215   * @deprecated
34216   */
34217  "-webkit-box-align"?: BoxAlignProperty | BoxAlignProperty[];
34218  /**
34219   * 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).
34220   *
34221   * **Syntax**: `normal | reverse | inherit`
34222   *
34223   * **Initial value**: `normal`
34224   *
34225   * @deprecated
34226   */
34227  "-webkit-box-direction"?: BoxDirectionProperty | BoxDirectionProperty[];
34228  /**
34229   * 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.
34230   *
34231   * **Syntax**: `<number>`
34232   *
34233   * **Initial value**: `0`
34234   *
34235   * @deprecated
34236   */
34237  "-webkit-box-flex"?: GlobalsNumber | GlobalsNumber[];
34238  /**
34239   * The **`box-flex-group`** CSS property assigns the flexbox's child elements to a flex group.
34240   *
34241   * **Syntax**: `<integer>`
34242   *
34243   * **Initial value**: `1`
34244   *
34245   * @deprecated
34246   */
34247  "-webkit-box-flex-group"?: GlobalsNumber | GlobalsNumber[];
34248  /**
34249   * 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).
34250   *
34251   * **Syntax**: `single | multiple`
34252   *
34253   * **Initial value**: `single`
34254   *
34255   * @deprecated
34256   */
34257  "-webkit-box-lines"?: BoxLinesProperty | BoxLinesProperty[];
34258  /**
34259   * The **`box-ordinal-group`** CSS property assigns the flexbox's child elements to an ordinal group.
34260   *
34261   * **Syntax**: `<integer>`
34262   *
34263   * **Initial value**: `1`
34264   *
34265   * @deprecated
34266   */
34267  "-webkit-box-ordinal-group"?: GlobalsNumber | GlobalsNumber[];
34268  /**
34269   * The **`box-orient`** CSS property specifies whether an element lays out its contents horizontally or vertically.
34270   *
34271   * **Syntax**: `horizontal | vertical | inline-axis | block-axis | inherit`
34272   *
34273   * **Initial value**: `inline-axis` (`horizontal` in XUL)
34274   *
34275   * @deprecated
34276   */
34277  "-webkit-box-orient"?: BoxOrientProperty | BoxOrientProperty[];
34278  /**
34279   * 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.
34280   *
34281   * **Syntax**: `start | center | end | justify`
34282   *
34283   * **Initial value**: `start`
34284   *
34285   * @deprecated
34286   */
34287  "-webkit-box-pack"?: BoxPackProperty | BoxPackProperty[];
34288  /**
34289   * 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.
34290   *
34291   * **Syntax**: `none | repeat( <length-percentage> )`
34292   *
34293   * **Initial value**: `none`
34294   *
34295   * @deprecated
34296   */
34297  "-webkit-scroll-snap-points-x"?: ScrollSnapPointsXProperty | ScrollSnapPointsXProperty[];
34298  /**
34299   * 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.
34300   *
34301   * **Syntax**: `none | repeat( <length-percentage> )`
34302   *
34303   * **Initial value**: `none`
34304   *
34305   * @deprecated
34306   */
34307  "-webkit-scroll-snap-points-y"?: ScrollSnapPointsYProperty | ScrollSnapPointsYProperty[];
34308}
34309
34310export interface SvgPropertiesHyphenFallback<TLength = string | 0> {
34311  "alignment-baseline"?: AlignmentBaselineProperty | AlignmentBaselineProperty[];
34312  "baseline-shift"?: BaselineShiftProperty<TLength> | BaselineShiftProperty<TLength>[];
34313  clip?: ClipProperty | ClipProperty[];
34314  "clip-path"?: ClipPathProperty | ClipPathProperty[];
34315  "clip-rule"?: ClipRuleProperty | ClipRuleProperty[];
34316  color?: ColorProperty | ColorProperty[];
34317  "color-interpolation"?: ColorInterpolationProperty | ColorInterpolationProperty[];
34318  "color-rendering"?: ColorRenderingProperty | ColorRenderingProperty[];
34319  cursor?: CursorProperty | CursorProperty[];
34320  direction?: DirectionProperty | DirectionProperty[];
34321  display?: DisplayProperty | DisplayProperty[];
34322  "dominant-baseline"?: DominantBaselineProperty | DominantBaselineProperty[];
34323  fill?: FillProperty | FillProperty[];
34324  "fill-opacity"?: GlobalsNumber | GlobalsNumber[];
34325  "fill-rule"?: FillRuleProperty | FillRuleProperty[];
34326  filter?: FilterProperty | FilterProperty[];
34327  "flood-color"?: FloodColorProperty | FloodColorProperty[];
34328  "flood-opacity"?: GlobalsNumber | GlobalsNumber[];
34329  font?: FontProperty | FontProperty[];
34330  "font-family"?: FontFamilyProperty | FontFamilyProperty[];
34331  "font-size"?: FontSizeProperty<TLength> | FontSizeProperty<TLength>[];
34332  "font-size-adjust"?: FontSizeAdjustProperty | FontSizeAdjustProperty[];
34333  "font-stretch"?: FontStretchProperty | FontStretchProperty[];
34334  "font-style"?: FontStyleProperty | FontStyleProperty[];
34335  "font-variant"?: FontVariantProperty | FontVariantProperty[];
34336  "font-weight"?: FontWeightProperty | FontWeightProperty[];
34337  "glyph-orientation-vertical"?: GlyphOrientationVerticalProperty | GlyphOrientationVerticalProperty[];
34338  "image-rendering"?: ImageRenderingProperty | ImageRenderingProperty[];
34339  "letter-spacing"?: LetterSpacingProperty<TLength> | LetterSpacingProperty<TLength>[];
34340  "lighting-color"?: LightingColorProperty | LightingColorProperty[];
34341  "line-height"?: LineHeightProperty<TLength> | LineHeightProperty<TLength>[];
34342  marker?: MarkerProperty | MarkerProperty[];
34343  "marker-end"?: MarkerEndProperty | MarkerEndProperty[];
34344  "marker-mid"?: MarkerMidProperty | MarkerMidProperty[];
34345  "marker-start"?: MarkerStartProperty | MarkerStartProperty[];
34346  mask?: MaskProperty<TLength> | MaskProperty<TLength>[];
34347  opacity?: OpacityProperty | OpacityProperty[];
34348  overflow?: OverflowProperty | OverflowProperty[];
34349  "paint-order"?: PaintOrderProperty | PaintOrderProperty[];
34350  "pointer-events"?: PointerEventsProperty | PointerEventsProperty[];
34351  "shape-rendering"?: ShapeRenderingProperty | ShapeRenderingProperty[];
34352  "stop-color"?: StopColorProperty | StopColorProperty[];
34353  "stop-opacity"?: GlobalsNumber | GlobalsNumber[];
34354  stroke?: StrokeProperty | StrokeProperty[];
34355  "stroke-dasharray"?: StrokeDasharrayProperty<TLength> | StrokeDasharrayProperty<TLength>[];
34356  "stroke-dashoffset"?: StrokeDashoffsetProperty<TLength> | StrokeDashoffsetProperty<TLength>[];
34357  "stroke-linecap"?: StrokeLinecapProperty | StrokeLinecapProperty[];
34358  "stroke-linejoin"?: StrokeLinejoinProperty | StrokeLinejoinProperty[];
34359  "stroke-miterlimit"?: GlobalsNumber | GlobalsNumber[];
34360  "stroke-opacity"?: GlobalsNumber | GlobalsNumber[];
34361  "stroke-width"?: StrokeWidthProperty<TLength> | StrokeWidthProperty<TLength>[];
34362  "text-anchor"?: TextAnchorProperty | TextAnchorProperty[];
34363  "text-decoration"?: TextDecorationProperty<TLength> | TextDecorationProperty<TLength>[];
34364  "text-rendering"?: TextRenderingProperty | TextRenderingProperty[];
34365  "unicode-bidi"?: UnicodeBidiProperty | UnicodeBidiProperty[];
34366  "vector-effect"?: VectorEffectProperty | VectorEffectProperty[];
34367  visibility?: VisibilityProperty | VisibilityProperty[];
34368  "white-space"?: WhiteSpaceProperty | WhiteSpaceProperty[];
34369  "word-spacing"?: WordSpacingProperty<TLength> | WordSpacingProperty<TLength>[];
34370  "writing-mode"?: WritingModeProperty | WritingModeProperty[];
34371}
34372
34373export interface PropertiesHyphenFallback<TLength = string | 0>
34374  extends StandardPropertiesHyphenFallback<TLength>,
34375    VendorPropertiesHyphenFallback<TLength>,
34376    ObsoletePropertiesHyphenFallback<TLength>,
34377    SvgPropertiesHyphenFallback<TLength> {}
34378
34379export interface CounterStyle {
34380  additiveSymbols?: string;
34381  fallback?: string;
34382  negative?: string;
34383  pad?: string;
34384  prefix?: string;
34385  range?: CounterStyleRangeProperty;
34386  speakAs?: CounterStyleSpeakAsProperty;
34387  suffix?: string;
34388  symbols?: string;
34389  system?: CounterStyleSystemProperty;
34390}
34391
34392export interface CounterStyleHyphen {
34393  "additive-symbols"?: string;
34394  fallback?: string;
34395  negative?: string;
34396  pad?: string;
34397  prefix?: string;
34398  range?: CounterStyleRangeProperty;
34399  "speak-as"?: CounterStyleSpeakAsProperty;
34400  suffix?: string;
34401  symbols?: string;
34402  system?: CounterStyleSystemProperty;
34403}
34404
34405export interface CounterStyleFallback {
34406  additiveSymbols?: string | string[];
34407  fallback?: string | string[];
34408  negative?: string | string[];
34409  pad?: string | string[];
34410  prefix?: string | string[];
34411  range?: CounterStyleRangeProperty | CounterStyleRangeProperty[];
34412  speakAs?: CounterStyleSpeakAsProperty | CounterStyleSpeakAsProperty[];
34413  suffix?: string | string[];
34414  symbols?: string | string[];
34415  system?: CounterStyleSystemProperty | CounterStyleSystemProperty[];
34416}
34417
34418export interface CounterStyleHyphenFallback {
34419  "additive-symbols"?: string | string[];
34420  fallback?: string | string[];
34421  negative?: string | string[];
34422  pad?: string | string[];
34423  prefix?: string | string[];
34424  range?: CounterStyleRangeProperty | CounterStyleRangeProperty[];
34425  "speak-as"?: CounterStyleSpeakAsProperty | CounterStyleSpeakAsProperty[];
34426  suffix?: string | string[];
34427  symbols?: string | string[];
34428  system?: CounterStyleSystemProperty | CounterStyleSystemProperty[];
34429}
34430
34431export interface FontFace {
34432  MozFontFeatureSettings?: FontFaceFontFeatureSettingsProperty;
34433  fontDisplay?: FontFaceFontDisplayProperty;
34434  fontFamily?: string;
34435  fontFeatureSettings?: FontFaceFontFeatureSettingsProperty;
34436  fontStretch?: FontFaceFontStretchProperty;
34437  fontStyle?: FontFaceFontStyleProperty;
34438  fontVariant?: FontFaceFontVariantProperty;
34439  fontVariationSettings?: FontFaceFontVariationSettingsProperty;
34440  fontWeight?: FontFaceFontWeightProperty;
34441  src?: string;
34442  unicodeRange?: string;
34443}
34444
34445export interface FontFaceHyphen {
34446  "-moz-font-feature-settings"?: FontFaceFontFeatureSettingsProperty;
34447  "font-display"?: FontFaceFontDisplayProperty;
34448  "font-family"?: string;
34449  "font-feature-settings"?: FontFaceFontFeatureSettingsProperty;
34450  "font-stretch"?: FontFaceFontStretchProperty;
34451  "font-style"?: FontFaceFontStyleProperty;
34452  "font-variant"?: FontFaceFontVariantProperty;
34453  "font-variation-settings"?: FontFaceFontVariationSettingsProperty;
34454  "font-weight"?: FontFaceFontWeightProperty;
34455  src?: string;
34456  "unicode-range"?: string;
34457}
34458
34459export interface FontFaceFallback {
34460  MozFontFeatureSettings?: FontFaceFontFeatureSettingsProperty | FontFaceFontFeatureSettingsProperty[];
34461  fontDisplay?: FontFaceFontDisplayProperty | FontFaceFontDisplayProperty[];
34462  fontFamily?: string | string[];
34463  fontFeatureSettings?: FontFaceFontFeatureSettingsProperty | FontFaceFontFeatureSettingsProperty[];
34464  fontStretch?: FontFaceFontStretchProperty | FontFaceFontStretchProperty[];
34465  fontStyle?: FontFaceFontStyleProperty | FontFaceFontStyleProperty[];
34466  fontVariant?: FontFaceFontVariantProperty | FontFaceFontVariantProperty[];
34467  fontVariationSettings?: FontFaceFontVariationSettingsProperty | FontFaceFontVariationSettingsProperty[];
34468  fontWeight?: FontFaceFontWeightProperty | FontFaceFontWeightProperty[];
34469  src?: string | string[];
34470  unicodeRange?: string | string[];
34471}
34472
34473export interface FontFaceHyphenFallback {
34474  "-moz-font-feature-settings"?: FontFaceFontFeatureSettingsProperty | FontFaceFontFeatureSettingsProperty[];
34475  "font-display"?: FontFaceFontDisplayProperty | FontFaceFontDisplayProperty[];
34476  "font-family"?: string | string[];
34477  "font-feature-settings"?: FontFaceFontFeatureSettingsProperty | FontFaceFontFeatureSettingsProperty[];
34478  "font-stretch"?: FontFaceFontStretchProperty | FontFaceFontStretchProperty[];
34479  "font-style"?: FontFaceFontStyleProperty | FontFaceFontStyleProperty[];
34480  "font-variant"?: FontFaceFontVariantProperty | FontFaceFontVariantProperty[];
34481  "font-variation-settings"?: FontFaceFontVariationSettingsProperty | FontFaceFontVariationSettingsProperty[];
34482  "font-weight"?: FontFaceFontWeightProperty | FontFaceFontWeightProperty[];
34483  src?: string | string[];
34484  "unicode-range"?: string | string[];
34485}
34486
34487export interface Viewport<TLength = string | 0> {
34488  msHeight?: ViewportHeightProperty<TLength>;
34489  msMaxHeight?: ViewportMaxHeightProperty<TLength>;
34490  msMaxWidth?: ViewportMaxWidthProperty<TLength>;
34491  msMaxZoom?: ViewportMaxZoomProperty;
34492  msMinHeight?: ViewportMinHeightProperty<TLength>;
34493  msMinWidth?: ViewportMinWidthProperty<TLength>;
34494  msMinZoom?: ViewportMinZoomProperty;
34495  msOrientation?: ViewportOrientationProperty;
34496  msUserZoom?: ViewportUserZoomProperty;
34497  msWidth?: ViewportWidthProperty<TLength>;
34498  msZoom?: ViewportZoomProperty;
34499  OOrientation?: ViewportOrientationProperty;
34500  height?: ViewportHeightProperty<TLength>;
34501  maxHeight?: ViewportMaxHeightProperty<TLength>;
34502  maxWidth?: ViewportMaxWidthProperty<TLength>;
34503  maxZoom?: ViewportMaxZoomProperty;
34504  minHeight?: ViewportMinHeightProperty<TLength>;
34505  minWidth?: ViewportMinWidthProperty<TLength>;
34506  minZoom?: ViewportMinZoomProperty;
34507  orientation?: ViewportOrientationProperty;
34508  userZoom?: ViewportUserZoomProperty;
34509  width?: ViewportWidthProperty<TLength>;
34510  zoom?: ViewportZoomProperty;
34511}
34512
34513export interface ViewportHyphen<TLength = string | 0> {
34514  "-ms-height"?: ViewportHeightProperty<TLength>;
34515  "-ms-max-height"?: ViewportMaxHeightProperty<TLength>;
34516  "-ms-max-width"?: ViewportMaxWidthProperty<TLength>;
34517  "-ms-max-zoom"?: ViewportMaxZoomProperty;
34518  "-ms-min-height"?: ViewportMinHeightProperty<TLength>;
34519  "-ms-min-width"?: ViewportMinWidthProperty<TLength>;
34520  "-ms-min-zoom"?: ViewportMinZoomProperty;
34521  "-ms-orientation"?: ViewportOrientationProperty;
34522  "-ms-user-zoom"?: ViewportUserZoomProperty;
34523  "-ms-width"?: ViewportWidthProperty<TLength>;
34524  "-ms-zoom"?: ViewportZoomProperty;
34525  "-o-orientation"?: ViewportOrientationProperty;
34526  height?: ViewportHeightProperty<TLength>;
34527  "max-height"?: ViewportMaxHeightProperty<TLength>;
34528  "max-width"?: ViewportMaxWidthProperty<TLength>;
34529  "max-zoom"?: ViewportMaxZoomProperty;
34530  "min-height"?: ViewportMinHeightProperty<TLength>;
34531  "min-width"?: ViewportMinWidthProperty<TLength>;
34532  "min-zoom"?: ViewportMinZoomProperty;
34533  orientation?: ViewportOrientationProperty;
34534  "user-zoom"?: ViewportUserZoomProperty;
34535  width?: ViewportWidthProperty<TLength>;
34536  zoom?: ViewportZoomProperty;
34537}
34538
34539export interface ViewportFallback<TLength = string | 0> {
34540  msHeight?: ViewportHeightProperty<TLength> | ViewportHeightProperty<TLength>[];
34541  msMaxHeight?: ViewportMaxHeightProperty<TLength> | ViewportMaxHeightProperty<TLength>[];
34542  msMaxWidth?: ViewportMaxWidthProperty<TLength> | ViewportMaxWidthProperty<TLength>[];
34543  msMaxZoom?: ViewportMaxZoomProperty | ViewportMaxZoomProperty[];
34544  msMinHeight?: ViewportMinHeightProperty<TLength> | ViewportMinHeightProperty<TLength>[];
34545  msMinWidth?: ViewportMinWidthProperty<TLength> | ViewportMinWidthProperty<TLength>[];
34546  msMinZoom?: ViewportMinZoomProperty | ViewportMinZoomProperty[];
34547  msOrientation?: ViewportOrientationProperty | ViewportOrientationProperty[];
34548  msUserZoom?: ViewportUserZoomProperty | ViewportUserZoomProperty[];
34549  msWidth?: ViewportWidthProperty<TLength> | ViewportWidthProperty<TLength>[];
34550  msZoom?: ViewportZoomProperty | ViewportZoomProperty[];
34551  OOrientation?: ViewportOrientationProperty | ViewportOrientationProperty[];
34552  height?: ViewportHeightProperty<TLength> | ViewportHeightProperty<TLength>[];
34553  maxHeight?: ViewportMaxHeightProperty<TLength> | ViewportMaxHeightProperty<TLength>[];
34554  maxWidth?: ViewportMaxWidthProperty<TLength> | ViewportMaxWidthProperty<TLength>[];
34555  maxZoom?: ViewportMaxZoomProperty | ViewportMaxZoomProperty[];
34556  minHeight?: ViewportMinHeightProperty<TLength> | ViewportMinHeightProperty<TLength>[];
34557  minWidth?: ViewportMinWidthProperty<TLength> | ViewportMinWidthProperty<TLength>[];
34558  minZoom?: ViewportMinZoomProperty | ViewportMinZoomProperty[];
34559  orientation?: ViewportOrientationProperty | ViewportOrientationProperty[];
34560  userZoom?: ViewportUserZoomProperty | ViewportUserZoomProperty[];
34561  width?: ViewportWidthProperty<TLength> | ViewportWidthProperty<TLength>[];
34562  zoom?: ViewportZoomProperty | ViewportZoomProperty[];
34563}
34564
34565export interface ViewportHyphenFallback<TLength = string | 0> {
34566  "-ms-height"?: ViewportHeightProperty<TLength> | ViewportHeightProperty<TLength>[];
34567  "-ms-max-height"?: ViewportMaxHeightProperty<TLength> | ViewportMaxHeightProperty<TLength>[];
34568  "-ms-max-width"?: ViewportMaxWidthProperty<TLength> | ViewportMaxWidthProperty<TLength>[];
34569  "-ms-max-zoom"?: ViewportMaxZoomProperty | ViewportMaxZoomProperty[];
34570  "-ms-min-height"?: ViewportMinHeightProperty<TLength> | ViewportMinHeightProperty<TLength>[];
34571  "-ms-min-width"?: ViewportMinWidthProperty<TLength> | ViewportMinWidthProperty<TLength>[];
34572  "-ms-min-zoom"?: ViewportMinZoomProperty | ViewportMinZoomProperty[];
34573  "-ms-orientation"?: ViewportOrientationProperty | ViewportOrientationProperty[];
34574  "-ms-user-zoom"?: ViewportUserZoomProperty | ViewportUserZoomProperty[];
34575  "-ms-width"?: ViewportWidthProperty<TLength> | ViewportWidthProperty<TLength>[];
34576  "-ms-zoom"?: ViewportZoomProperty | ViewportZoomProperty[];
34577  "-o-orientation"?: ViewportOrientationProperty | ViewportOrientationProperty[];
34578  height?: ViewportHeightProperty<TLength> | ViewportHeightProperty<TLength>[];
34579  "max-height"?: ViewportMaxHeightProperty<TLength> | ViewportMaxHeightProperty<TLength>[];
34580  "max-width"?: ViewportMaxWidthProperty<TLength> | ViewportMaxWidthProperty<TLength>[];
34581  "max-zoom"?: ViewportMaxZoomProperty | ViewportMaxZoomProperty[];
34582  "min-height"?: ViewportMinHeightProperty<TLength> | ViewportMinHeightProperty<TLength>[];
34583  "min-width"?: ViewportMinWidthProperty<TLength> | ViewportMinWidthProperty<TLength>[];
34584  "min-zoom"?: ViewportMinZoomProperty | ViewportMinZoomProperty[];
34585  orientation?: ViewportOrientationProperty | ViewportOrientationProperty[];
34586  "user-zoom"?: ViewportUserZoomProperty | ViewportUserZoomProperty[];
34587  width?: ViewportWidthProperty<TLength> | ViewportWidthProperty<TLength>[];
34588  zoom?: ViewportZoomProperty | ViewportZoomProperty[];
34589}
34590
34591export type AtRules =
34592  | "@charset"
34593  | "@counter-style"
34594  | "@document"
34595  | "@font-face"
34596  | "@font-feature-values"
34597  | "@import"
34598  | "@keyframes"
34599  | "@media"
34600  | "@namespace"
34601  | "@page"
34602  | "@supports"
34603  | "@viewport";
34604
34605export type AdvancedPseudos =
34606  | ":-moz-any()"
34607  | ":-moz-dir"
34608  | ":-webkit-any()"
34609  | "::cue"
34610  | "::cue-region"
34611  | "::part"
34612  | "::slotted"
34613  | ":dir"
34614  | ":has"
34615  | ":host"
34616  | ":host-context"
34617  | ":is"
34618  | ":lang"
34619  | ":matches()"
34620  | ":not"
34621  | ":nth-child"
34622  | ":nth-last-child"
34623  | ":nth-last-of-type"
34624  | ":nth-of-type"
34625  | ":where";
34626
34627export type SimplePseudos =
34628  | ":-khtml-any-link"
34629  | ":-moz-any-link"
34630  | ":-moz-focusring"
34631  | ":-moz-full-screen"
34632  | ":-moz-placeholder"
34633  | ":-moz-read-only"
34634  | ":-moz-read-write"
34635  | ":-ms-fullscreen"
34636  | ":-ms-input-placeholder"
34637  | ":-webkit-any-link"
34638  | ":-webkit-full-screen"
34639  | "::-moz-placeholder"
34640  | "::-moz-progress-bar"
34641  | "::-moz-range-progress"
34642  | "::-moz-range-thumb"
34643  | "::-moz-range-track"
34644  | "::-moz-selection"
34645  | "::-ms-backdrop"
34646  | "::-ms-browse"
34647  | "::-ms-check"
34648  | "::-ms-clear"
34649  | "::-ms-fill"
34650  | "::-ms-fill-lower"
34651  | "::-ms-fill-upper"
34652  | "::-ms-input-placeholder"
34653  | "::-ms-reveal"
34654  | "::-ms-thumb"
34655  | "::-ms-ticks-after"
34656  | "::-ms-ticks-before"
34657  | "::-ms-tooltip"
34658  | "::-ms-track"
34659  | "::-ms-value"
34660  | "::-webkit-backdrop"
34661  | "::-webkit-input-placeholder"
34662  | "::-webkit-progress-bar"
34663  | "::-webkit-progress-inner-value"
34664  | "::-webkit-progress-value"
34665  | "::-webkit-slider-runnable-track"
34666  | "::-webkit-slider-thumb"
34667  | "::after"
34668  | "::backdrop"
34669  | "::before"
34670  | "::cue"
34671  | "::cue-region"
34672  | "::first-letter"
34673  | "::first-line"
34674  | "::grammar-error"
34675  | "::marker"
34676  | "::placeholder"
34677  | "::selection"
34678  | "::spelling-error"
34679  | ":active"
34680  | ":after"
34681  | ":any-link"
34682  | ":before"
34683  | ":blank"
34684  | ":checked"
34685  | ":default"
34686  | ":defined"
34687  | ":disabled"
34688  | ":empty"
34689  | ":enabled"
34690  | ":first"
34691  | ":first-child"
34692  | ":first-letter"
34693  | ":first-line"
34694  | ":first-of-type"
34695  | ":focus"
34696  | ":focus-visible"
34697  | ":focus-within"
34698  | ":fullscreen"
34699  | ":hover"
34700  | ":in-range"
34701  | ":indeterminate"
34702  | ":invalid"
34703  | ":last-child"
34704  | ":last-of-type"
34705  | ":left"
34706  | ":link"
34707  | ":only-child"
34708  | ":only-of-type"
34709  | ":optional"
34710  | ":out-of-range"
34711  | ":placeholder-shown"
34712  | ":read-only"
34713  | ":read-write"
34714  | ":required"
34715  | ":right"
34716  | ":root"
34717  | ":scope"
34718  | ":target"
34719  | ":valid"
34720  | ":visited";
34721
34722export type Pseudos = AdvancedPseudos | SimplePseudos;
34723
34724export type HtmlAttributes =
34725  | "[-webkit-dropzone]"
34726  | "[abbr]"
34727  | "[accept-charset]"
34728  | "[accept]"
34729  | "[accesskey]"
34730  | "[action]"
34731  | "[align]"
34732  | "[alink]"
34733  | "[allow]"
34734  | "[allowfullscreen]"
34735  | "[allowpaymentrequest]"
34736  | "[alt]"
34737  | "[archive]"
34738  | "[async]"
34739  | "[autobuffer]"
34740  | "[autocapitalize]"
34741  | "[autocomplete]"
34742  | "[autofocus]"
34743  | "[autoplay]"
34744  | "[axis]"
34745  | "[background]"
34746  | "[behavior]"
34747  | "[bgcolor]"
34748  | "[border]"
34749  | "[bottommargin]"
34750  | "[buffered]"
34751  | "[cellpadding]"
34752  | "[cellspacing]"
34753  | "[char]"
34754  | "[charoff]"
34755  | "[charset]"
34756  | "[checked]"
34757  | "[cite]"
34758  | "[class]"
34759  | "[classid]"
34760  | "[clear]"
34761  | "[code]"
34762  | "[codebase]"
34763  | "[codetype]"
34764  | "[color]"
34765  | "[cols]"
34766  | "[colspan]"
34767  | "[command]"
34768  | "[compact]"
34769  | "[content]"
34770  | "[contenteditable]"
34771  | "[contextmenu]"
34772  | "[controls]"
34773  | "[coords]"
34774  | "[crossorigin]"
34775  | "[data]"
34776  | "[datafld]"
34777  | "[datasrc]"
34778  | "[datetime]"
34779  | "[declare]"
34780  | "[decoding]"
34781  | "[default]"
34782  | "[defer]"
34783  | "[dir]"
34784  | "[direction]"
34785  | "[disabled]"
34786  | "[download]"
34787  | "[draggable]"
34788  | "[dropzone]"
34789  | "[enctype]"
34790  | "[enterkeyhint]"
34791  | "[exportparts]"
34792  | "[face]"
34793  | "[for]"
34794  | "[form]"
34795  | "[formaction]"
34796  | "[formenctype]"
34797  | "[formmethod]"
34798  | "[formnovalidate]"
34799  | "[formtarget]"
34800  | "[frame]"
34801  | "[frameborder]"
34802  | "[headers]"
34803  | "[height]"
34804  | "[hidden]"
34805  | "[high]"
34806  | "[href]"
34807  | "[hreflang]"
34808  | "[hspace]"
34809  | "[http-equiv]"
34810  | "[icon]"
34811  | "[id]"
34812  | "[inputmode]"
34813  | "[integrity]"
34814  | "[intrinsicsize]"
34815  | "[is]"
34816  | "[ismap]"
34817  | "[itemid]"
34818  | "[itemprop]"
34819  | "[itemref]"
34820  | "[itemscope]"
34821  | "[itemtype]"
34822  | "[kind]"
34823  | "[label]"
34824  | "[lang]"
34825  | "[language]"
34826  | "[leftmargin]"
34827  | "[link]"
34828  | "[loading]"
34829  | "[longdesc]"
34830  | "[loop]"
34831  | "[low]"
34832  | "[manifest]"
34833  | "[marginheight]"
34834  | "[marginwidth]"
34835  | "[max]"
34836  | "[maxlength]"
34837  | "[mayscript]"
34838  | "[media]"
34839  | "[method]"
34840  | "[methods]"
34841  | "[min]"
34842  | "[minlength]"
34843  | "[moz-opaque]"
34844  | "[mozallowfullscreen]"
34845  | "[mozcurrentsampleoffset]"
34846  | "[msallowfullscreen]"
34847  | "[multiple]"
34848  | "[muted]"
34849  | "[name]"
34850  | "[nohref]"
34851  | "[nomodule]"
34852  | "[noresize]"
34853  | "[noshade]"
34854  | "[novalidate]"
34855  | "[nowrap]"
34856  | "[object]"
34857  | "[onafterprint]"
34858  | "[onbeforeprint]"
34859  | "[onbeforeunload]"
34860  | "[onblur]"
34861  | "[onerror]"
34862  | "[onfocus]"
34863  | "[onhashchange]"
34864  | "[onlanguagechange]"
34865  | "[onload]"
34866  | "[onmessage]"
34867  | "[onoffline]"
34868  | "[ononline]"
34869  | "[onpopstate]"
34870  | "[onredo]"
34871  | "[onresize]"
34872  | "[onstorage]"
34873  | "[onundo]"
34874  | "[onunload]"
34875  | "[open]"
34876  | "[optimum]"
34877  | "[part]"
34878  | "[ping]"
34879  | "[placeholder]"
34880  | "[played]"
34881  | "[poster]"
34882  | "[prefetch]"
34883  | "[preload]"
34884  | "[profile]"
34885  | "[prompt]"
34886  | "[radiogroup]"
34887  | "[readonly]"
34888  | "[referrerPolicy]"
34889  | "[referrerpolicy]"
34890  | "[rel]"
34891  | "[required]"
34892  | "[rev]"
34893  | "[reversed]"
34894  | "[rightmargin]"
34895  | "[rows]"
34896  | "[rowspan]"
34897  | "[rules]"
34898  | "[sandbox-allow-modals]"
34899  | "[sandbox-allow-popups-to-escape-sandbox]"
34900  | "[sandbox-allow-popups]"
34901  | "[sandbox-allow-presentation]"
34902  | "[sandbox-allow-storage-access-by-user-activation]"
34903  | "[sandbox-allow-top-navigation-by-user-activation]"
34904  | "[sandbox]"
34905  | "[scope]"
34906  | "[scoped]"
34907  | "[scrollamount]"
34908  | "[scrolldelay]"
34909  | "[scrolling]"
34910  | "[selected]"
34911  | "[shape]"
34912  | "[size]"
34913  | "[sizes]"
34914  | "[slot]"
34915  | "[span]"
34916  | "[spellcheck]"
34917  | "[src]"
34918  | "[srcdoc]"
34919  | "[srclang]"
34920  | "[srcset]"
34921  | "[standby]"
34922  | "[start]"
34923  | "[style]"
34924  | "[summary]"
34925  | "[tabindex]"
34926  | "[target]"
34927  | "[text]"
34928  | "[title]"
34929  | "[topmargin]"
34930  | "[translate]"
34931  | "[truespeed]"
34932  | "[type]"
34933  | "[typemustmatch]"
34934  | "[usemap]"
34935  | "[valign]"
34936  | "[value]"
34937  | "[valuetype]"
34938  | "[version]"
34939  | "[vlink]"
34940  | "[volume]"
34941  | "[vspace]"
34942  | "[webkitallowfullscreen]"
34943  | "[width]"
34944  | "[wrap]"
34945  | "[xmlns]";
34946
34947export type SvgAttributes =
34948  | "[accent-height]"
34949  | "[alignment-baseline]"
34950  | "[allowReorder]"
34951  | "[alphabetic]"
34952  | "[animation]"
34953  | "[arabic-form]"
34954  | "[ascent]"
34955  | "[attributeName]"
34956  | "[attributeType]"
34957  | "[azimuth]"
34958  | "[baseFrequency]"
34959  | "[baseProfile]"
34960  | "[baseline-shift]"
34961  | "[bbox]"
34962  | "[begin]"
34963  | "[bias]"
34964  | "[by]"
34965  | "[calcMode]"
34966  | "[cap-height]"
34967  | "[class]"
34968  | "[clip-path]"
34969  | "[clip-rule]"
34970  | "[clipPathUnits]"
34971  | "[clip]"
34972  | "[color-interpolation-filters]"
34973  | "[color-interpolation]"
34974  | "[color-profile]"
34975  | "[color-rendering]"
34976  | "[color]"
34977  | "[contentScriptType]"
34978  | "[contentStyleType]"
34979  | "[cursor]"
34980  | "[cx]"
34981  | "[cy]"
34982  | "[d]"
34983  | "[descent]"
34984  | "[diffuseConstant]"
34985  | "[direction]"
34986  | "[display]"
34987  | "[divisor]"
34988  | "[document]"
34989  | "[dominant-baseline]"
34990  | "[download]"
34991  | "[dur]"
34992  | "[dx]"
34993  | "[dy]"
34994  | "[edgeMode]"
34995  | "[elevation]"
34996  | "[enable-background]"
34997  | "[externalResourcesRequired]"
34998  | "[fill-opacity]"
34999  | "[fill-rule]"
35000  | "[fill]"
35001  | "[filterRes]"
35002  | "[filterUnits]"
35003  | "[filter]"
35004  | "[flood-color]"
35005  | "[flood-opacity]"
35006  | "[font-family]"
35007  | "[font-size-adjust]"
35008  | "[font-size]"
35009  | "[font-stretch]"
35010  | "[font-style]"
35011  | "[font-variant]"
35012  | "[font-weight]"
35013  | "[format]"
35014  | "[fr]"
35015  | "[from]"
35016  | "[fx]"
35017  | "[fy]"
35018  | "[g1]"
35019  | "[g2]"
35020  | "[global]"
35021  | "[glyph-name]"
35022  | "[glyph-orientation-horizontal]"
35023  | "[glyph-orientation-vertical]"
35024  | "[glyphRef]"
35025  | "[gradientTransform]"
35026  | "[gradientUnits]"
35027  | "[graphical]"
35028  | "[hanging]"
35029  | "[hatchContentUnits]"
35030  | "[hatchUnits]"
35031  | "[height]"
35032  | "[horiz-adv-x]"
35033  | "[horiz-origin-x]"
35034  | "[horiz-origin-y]"
35035  | "[href]"
35036  | "[hreflang]"
35037  | "[id]"
35038  | "[ideographic]"
35039  | "[image-rendering]"
35040  | "[in2]"
35041  | "[in]"
35042  | "[k1]"
35043  | "[k2]"
35044  | "[k3]"
35045  | "[k4]"
35046  | "[k]"
35047  | "[kernelMatrix]"
35048  | "[kernelUnitLength]"
35049  | "[kerning]"
35050  | "[keyPoints]"
35051  | "[lang]"
35052  | "[lengthAdjust]"
35053  | "[letter-spacing]"
35054  | "[lighterForError]"
35055  | "[lighting-color]"
35056  | "[limitingConeAngle]"
35057  | "[local]"
35058  | "[marker-end]"
35059  | "[marker-mid]"
35060  | "[marker-start]"
35061  | "[markerHeight]"
35062  | "[markerUnits]"
35063  | "[markerWidth]"
35064  | "[maskContentUnits]"
35065  | "[maskUnits]"
35066  | "[mask]"
35067  | "[mathematical]"
35068  | "[media]"
35069  | "[method]"
35070  | "[mode]"
35071  | "[name]"
35072  | "[numOctaves]"
35073  | "[offset]"
35074  | "[opacity]"
35075  | "[operator]"
35076  | "[order]"
35077  | "[orient]"
35078  | "[orientation]"
35079  | "[origin]"
35080  | "[overflow]"
35081  | "[overline-position]"
35082  | "[overline-thickness]"
35083  | "[paint-order]"
35084  | "[panose-1]"
35085  | "[path]"
35086  | "[patternContentUnits]"
35087  | "[patternTransform]"
35088  | "[patternUnits]"
35089  | "[ping]"
35090  | "[pitch]"
35091  | "[pointer-events]"
35092  | "[pointsAtX]"
35093  | "[pointsAtY]"
35094  | "[pointsAtZ]"
35095  | "[points]"
35096  | "[preserveAlpha]"
35097  | "[preserveAspectRatio]"
35098  | "[primitiveUnits]"
35099  | "[r]"
35100  | "[radius]"
35101  | "[refX]"
35102  | "[refY]"
35103  | "[referrerPolicy]"
35104  | "[rel]"
35105  | "[rendering-intent]"
35106  | "[repeatCount]"
35107  | "[requiredExtensions]"
35108  | "[requiredFeatures]"
35109  | "[rotate]"
35110  | "[rx]"
35111  | "[ry]"
35112  | "[scale]"
35113  | "[seed]"
35114  | "[shape-rendering]"
35115  | "[side]"
35116  | "[slope]"
35117  | "[solid-color]"
35118  | "[solid-opacity]"
35119  | "[spacing]"
35120  | "[specularConstant]"
35121  | "[specularExponent]"
35122  | "[spreadMethod]"
35123  | "[startOffset]"
35124  | "[stdDeviation]"
35125  | "[stemh]"
35126  | "[stemv]"
35127  | "[stitchTiles]"
35128  | "[stop-color]"
35129  | "[stop-opacity]"
35130  | "[strikethrough-position]"
35131  | "[strikethrough-thickness]"
35132  | "[string]"
35133  | "[stroke-dasharray]"
35134  | "[stroke-dashoffset]"
35135  | "[stroke-linecap]"
35136  | "[stroke-linejoin]"
35137  | "[stroke-miterlimit]"
35138  | "[stroke-opacity]"
35139  | "[stroke-width]"
35140  | "[stroke]"
35141  | "[style]"
35142  | "[surfaceScale]"
35143  | "[systemLanguage]"
35144  | "[tabindex]"
35145  | "[targetX]"
35146  | "[targetY]"
35147  | "[target]"
35148  | "[text-anchor]"
35149  | "[text-decoration]"
35150  | "[text-overflow]"
35151  | "[text-rendering]"
35152  | "[textLength]"
35153  | "[title]"
35154  | "[to]"
35155  | "[transform-origin]"
35156  | "[transform]"
35157  | "[type]"
35158  | "[u1]"
35159  | "[u2]"
35160  | "[underline-position]"
35161  | "[underline-thickness]"
35162  | "[unicode-bidi]"
35163  | "[unicode-range]"
35164  | "[unicode]"
35165  | "[units-per-em]"
35166  | "[v-alphabetic]"
35167  | "[v-hanging]"
35168  | "[v-ideographic]"
35169  | "[v-mathematical]"
35170  | "[values]"
35171  | "[vector-effect]"
35172  | "[version]"
35173  | "[vert-adv-y]"
35174  | "[vert-origin-x]"
35175  | "[vert-origin-y]"
35176  | "[viewBox]"
35177  | "[viewTarget]"
35178  | "[visibility]"
35179  | "[white-space]"
35180  | "[width]"
35181  | "[widths]"
35182  | "[word-spacing]"
35183  | "[writing-mode]"
35184  | "[x-height]"
35185  | "[x1]"
35186  | "[x2]"
35187  | "[xChannelSelector]"
35188  | "[x]"
35189  | "[y1]"
35190  | "[y2]"
35191  | "[yChannelSelector]"
35192  | "[y]"
35193  | "[z]"
35194  | "[zoomAndPan]";
35195
35196export type Globals = "-moz-initial" | "inherit" | "initial" | "revert" | "unset";
35197
35198type GlobalsString = Globals | string;
35199
35200type GlobalsNumber = Globals | number;
35201
35202export type AlignContentProperty = Globals | ContentDistribution | ContentPosition | "baseline" | "normal" | string;
35203
35204export type AlignItemsProperty = Globals | SelfPosition | "baseline" | "normal" | "stretch" | string;
35205
35206export type AlignSelfProperty = Globals | SelfPosition | "auto" | "baseline" | "normal" | "stretch" | string;
35207
35208export type AnimationProperty = Globals | SingleAnimation | string;
35209
35210export type AnimationDirectionProperty = Globals | SingleAnimationDirection | string;
35211
35212export type AnimationFillModeProperty = Globals | SingleAnimationFillMode | string;
35213
35214export type AnimationIterationCountProperty = Globals | "infinite" | string | number;
35215
35216export type AnimationNameProperty = Globals | "none" | string;
35217
35218export type AnimationPlayStateProperty = Globals | "paused" | "running" | string;
35219
35220export type AnimationTimingFunctionProperty = Globals | TimingFunction | string;
35221
35222export type AppearanceProperty = Globals | CompatAuto | "button" | "menulist-button" | "none" | "textfield";
35223
35224export type AspectRatioProperty = Globals | "auto" | string;
35225
35226export type BackdropFilterProperty = Globals | "none" | string;
35227
35228export type BackfaceVisibilityProperty = Globals | "hidden" | "visible";
35229
35230export type BackgroundProperty<TLength> = Globals | FinalBgLayer<TLength> | string;
35231
35232export type BackgroundAttachmentProperty = Globals | Attachment | string;
35233
35234export type BackgroundBlendModeProperty = Globals | BlendMode | string;
35235
35236export type BackgroundClipProperty = Globals | Box | string;
35237
35238export type BackgroundColorProperty = Globals | Color;
35239
35240export type BackgroundImageProperty = Globals | "none" | string;
35241
35242export type BackgroundOriginProperty = Globals | Box | string;
35243
35244export type BackgroundPositionProperty<TLength> = Globals | BgPosition<TLength> | string;
35245
35246export type BackgroundPositionXProperty<TLength> = Globals | TLength | "center" | "left" | "right" | "x-end" | "x-start" | string;
35247
35248export type BackgroundPositionYProperty<TLength> = Globals | TLength | "bottom" | "center" | "top" | "y-end" | "y-start" | string;
35249
35250export type BackgroundRepeatProperty = Globals | RepeatStyle | string;
35251
35252export type BackgroundSizeProperty<TLength> = Globals | BgSize<TLength> | string;
35253
35254export type BlockOverflowProperty = Globals | "clip" | "ellipsis" | string;
35255
35256export type BlockSizeProperty<TLength> = Globals | TLength | "-moz-max-content" | "-moz-min-content" | "auto" | "max-content" | "min-content" | string;
35257
35258export type BorderProperty<TLength> = Globals | LineWidth<TLength> | LineStyle | Color | string;
35259
35260export type BorderBlockProperty<TLength> = Globals | LineWidth<TLength> | LineStyle | Color | string;
35261
35262export type BorderBlockColorProperty = Globals | Color | string;
35263
35264export type BorderBlockEndProperty<TLength> = Globals | LineWidth<TLength> | LineStyle | Color | string;
35265
35266export type BorderBlockEndColorProperty = Globals | Color;
35267
35268export type BorderBlockEndStyleProperty = Globals | LineStyle;
35269
35270export type BorderBlockEndWidthProperty<TLength> = Globals | LineWidth<TLength>;
35271
35272export type BorderBlockStartProperty<TLength> = Globals | LineWidth<TLength> | LineStyle | Color | string;
35273
35274export type BorderBlockStartColorProperty = Globals | Color;
35275
35276export type BorderBlockStartStyleProperty = Globals | LineStyle;
35277
35278export type BorderBlockStartWidthProperty<TLength> = Globals | LineWidth<TLength>;
35279
35280export type BorderBlockStyleProperty = Globals | LineStyle;
35281
35282export type BorderBlockWidthProperty<TLength> = Globals | LineWidth<TLength>;
35283
35284export type BorderBottomProperty<TLength> = Globals | LineWidth<TLength> | LineStyle | Color | string;
35285
35286export type BorderBottomColorProperty = Globals | Color;
35287
35288export type BorderBottomLeftRadiusProperty<TLength> = Globals | TLength | string;
35289
35290export type BorderBottomRightRadiusProperty<TLength> = Globals | TLength | string;
35291
35292export type BorderBottomStyleProperty = Globals | LineStyle;
35293
35294export type BorderBottomWidthProperty<TLength> = Globals | LineWidth<TLength>;
35295
35296export type BorderCollapseProperty = Globals | "collapse" | "separate";
35297
35298export type BorderColorProperty = Globals | Color | string;
35299
35300export type BorderEndEndRadiusProperty<TLength> = Globals | TLength | string;
35301
35302export type BorderEndStartRadiusProperty<TLength> = Globals | TLength | string;
35303
35304export type BorderImageProperty = Globals | "none" | "repeat" | "round" | "space" | "stretch" | string | number;
35305
35306export type BorderImageOutsetProperty<TLength> = Globals | TLength | string | number;
35307
35308export type BorderImageRepeatProperty = Globals | "repeat" | "round" | "space" | "stretch" | string;
35309
35310export type BorderImageSliceProperty = Globals | string | number;
35311
35312export type BorderImageSourceProperty = Globals | "none" | string;
35313
35314export type BorderImageWidthProperty<TLength> = Globals | TLength | "auto" | string | number;
35315
35316export type BorderInlineProperty<TLength> = Globals | LineWidth<TLength> | LineStyle | Color | string;
35317
35318export type BorderInlineColorProperty = Globals | Color | string;
35319
35320export type BorderInlineEndProperty<TLength> = Globals | LineWidth<TLength> | LineStyle | Color | string;
35321
35322export type BorderInlineEndColorProperty = Globals | Color;
35323
35324export type BorderInlineEndStyleProperty = Globals | LineStyle;
35325
35326export type BorderInlineEndWidthProperty<TLength> = Globals | LineWidth<TLength>;
35327
35328export type BorderInlineStartProperty<TLength> = Globals | LineWidth<TLength> | LineStyle | Color | string;
35329
35330export type BorderInlineStartColorProperty = Globals | Color;
35331
35332export type BorderInlineStartStyleProperty = Globals | LineStyle;
35333
35334export type BorderInlineStartWidthProperty<TLength> = Globals | LineWidth<TLength>;
35335
35336export type BorderInlineStyleProperty = Globals | LineStyle;
35337
35338export type BorderInlineWidthProperty<TLength> = Globals | LineWidth<TLength>;
35339
35340export type BorderLeftProperty<TLength> = Globals | LineWidth<TLength> | LineStyle | Color | string;
35341
35342export type BorderLeftColorProperty = Globals | Color;
35343
35344export type BorderLeftStyleProperty = Globals | LineStyle;
35345
35346export type BorderLeftWidthProperty<TLength> = Globals | LineWidth<TLength>;
35347
35348export type BorderRadiusProperty<TLength> = Globals | TLength | string;
35349
35350export type BorderRightProperty<TLength> = Globals | LineWidth<TLength> | LineStyle | Color | string;
35351
35352export type BorderRightColorProperty = Globals | Color;
35353
35354export type BorderRightStyleProperty = Globals | LineStyle;
35355
35356export type BorderRightWidthProperty<TLength> = Globals | LineWidth<TLength>;
35357
35358export type BorderSpacingProperty<TLength> = Globals | TLength | string;
35359
35360export type BorderStartEndRadiusProperty<TLength> = Globals | TLength | string;
35361
35362export type BorderStartStartRadiusProperty<TLength> = Globals | TLength | string;
35363
35364export type BorderStyleProperty = Globals | LineStyle | string;
35365
35366export type BorderTopProperty<TLength> = Globals | LineWidth<TLength> | LineStyle | Color | string;
35367
35368export type BorderTopColorProperty = Globals | Color;
35369
35370export type BorderTopLeftRadiusProperty<TLength> = Globals | TLength | string;
35371
35372export type BorderTopRightRadiusProperty<TLength> = Globals | TLength | string;
35373
35374export type BorderTopStyleProperty = Globals | LineStyle;
35375
35376export type BorderTopWidthProperty<TLength> = Globals | LineWidth<TLength>;
35377
35378export type BorderWidthProperty<TLength> = Globals | LineWidth<TLength> | string;
35379
35380export type BottomProperty<TLength> = Globals | TLength | "auto" | string;
35381
35382export type BoxAlignProperty = Globals | "baseline" | "center" | "end" | "start" | "stretch";
35383
35384export type BoxDecorationBreakProperty = Globals | "clone" | "slice";
35385
35386export type BoxDirectionProperty = Globals | "inherit" | "normal" | "reverse";
35387
35388export type BoxLinesProperty = Globals | "multiple" | "single";
35389
35390export type BoxOrientProperty = Globals | "block-axis" | "horizontal" | "inherit" | "inline-axis" | "vertical";
35391
35392export type BoxPackProperty = Globals | "center" | "end" | "justify" | "start";
35393
35394export type BoxShadowProperty = Globals | "none" | string;
35395
35396export type BoxSizingProperty = Globals | "border-box" | "content-box";
35397
35398export type BreakAfterProperty =
35399  | Globals
35400  | "all"
35401  | "always"
35402  | "auto"
35403  | "avoid"
35404  | "avoid-column"
35405  | "avoid-page"
35406  | "avoid-region"
35407  | "column"
35408  | "left"
35409  | "page"
35410  | "recto"
35411  | "region"
35412  | "right"
35413  | "verso";
35414
35415export type BreakBeforeProperty =
35416  | Globals
35417  | "all"
35418  | "always"
35419  | "auto"
35420  | "avoid"
35421  | "avoid-column"
35422  | "avoid-page"
35423  | "avoid-region"
35424  | "column"
35425  | "left"
35426  | "page"
35427  | "recto"
35428  | "region"
35429  | "right"
35430  | "verso";
35431
35432export type BreakInsideProperty = Globals | "auto" | "avoid" | "avoid-column" | "avoid-page" | "avoid-region";
35433
35434export type CaptionSideProperty = Globals | "block-end" | "block-start" | "bottom" | "inline-end" | "inline-start" | "top";
35435
35436export type CaretColorProperty = Globals | Color | "auto";
35437
35438export type ClearProperty = Globals | "both" | "inline-end" | "inline-start" | "left" | "none" | "right";
35439
35440export type ClipProperty = Globals | "auto" | string;
35441
35442export type ClipPathProperty = Globals | GeometryBox | "none" | string;
35443
35444export type ColorProperty = Globals | Color;
35445
35446export type ColorAdjustProperty = Globals | "economy" | "exact";
35447
35448export type ColumnCountProperty = Globals | "auto" | number;
35449
35450export type ColumnFillProperty = Globals | "auto" | "balance";
35451
35452export type ColumnGapProperty<TLength> = Globals | TLength | "normal" | string;
35453
35454export type ColumnRuleProperty<TLength> = Globals | LineWidth<TLength> | LineStyle | Color | string;
35455
35456export type ColumnRuleColorProperty = Globals | Color;
35457
35458export type ColumnRuleStyleProperty = Globals | LineStyle | string;
35459
35460export type ColumnRuleWidthProperty<TLength> = Globals | LineWidth<TLength> | string;
35461
35462export type ColumnSpanProperty = Globals | "all" | "none";
35463
35464export type ColumnWidthProperty<TLength> = Globals | TLength | "auto";
35465
35466export type ColumnsProperty<TLength> = Globals | TLength | "auto" | string | number;
35467
35468export type ContainProperty = Globals | "content" | "layout" | "none" | "paint" | "size" | "strict" | "style" | string;
35469
35470export type ContentProperty = Globals | ContentList | "none" | "normal" | string;
35471
35472export type CounterIncrementProperty = Globals | "none" | string;
35473
35474export type CounterResetProperty = Globals | "none" | string;
35475
35476export type CounterSetProperty = Globals | "none" | string;
35477
35478export type CursorProperty =
35479  | Globals
35480  | "-moz-grab"
35481  | "-webkit-grab"
35482  | "alias"
35483  | "all-scroll"
35484  | "auto"
35485  | "cell"
35486  | "col-resize"
35487  | "context-menu"
35488  | "copy"
35489  | "crosshair"
35490  | "default"
35491  | "e-resize"
35492  | "ew-resize"
35493  | "grab"
35494  | "grabbing"
35495  | "help"
35496  | "move"
35497  | "n-resize"
35498  | "ne-resize"
35499  | "nesw-resize"
35500  | "no-drop"
35501  | "none"
35502  | "not-allowed"
35503  | "ns-resize"
35504  | "nw-resize"
35505  | "nwse-resize"
35506  | "pointer"
35507  | "progress"
35508  | "row-resize"
35509  | "s-resize"
35510  | "se-resize"
35511  | "sw-resize"
35512  | "text"
35513  | "vertical-text"
35514  | "w-resize"
35515  | "wait"
35516  | "zoom-in"
35517  | "zoom-out"
35518  | string;
35519
35520export type DirectionProperty = Globals | "ltr" | "rtl";
35521
35522export type DisplayProperty = Globals | DisplayOutside | DisplayInside | DisplayInternal | DisplayLegacy | "contents" | "list-item" | "none" | string;
35523
35524export type EmptyCellsProperty = Globals | "hide" | "show";
35525
35526export type FilterProperty = Globals | "none" | string;
35527
35528export type FlexProperty<TLength> = Globals | TLength | "auto" | "content" | "max-content" | "min-content" | "none" | string | number;
35529
35530export type FlexBasisProperty<TLength> = Globals | TLength | "-moz-max-content" | "-moz-min-content" | "-webkit-auto" | "auto" | "content" | "max-content" | "min-content" | string;
35531
35532export type FlexDirectionProperty = Globals | "column" | "column-reverse" | "row" | "row-reverse";
35533
35534export type FlexFlowProperty = Globals | "column" | "column-reverse" | "nowrap" | "row" | "row-reverse" | "wrap" | "wrap-reverse" | string;
35535
35536export type FlexWrapProperty = Globals | "nowrap" | "wrap" | "wrap-reverse";
35537
35538export type FloatProperty = Globals | "inline-end" | "inline-start" | "left" | "none" | "right";
35539
35540export type FontProperty = Globals | "caption" | "icon" | "menu" | "message-box" | "small-caption" | "status-bar" | string;
35541
35542export type FontFamilyProperty = Globals | GenericFamily | string;
35543
35544export type FontFeatureSettingsProperty = Globals | "normal" | string;
35545
35546export type FontKerningProperty = Globals | "auto" | "none" | "normal";
35547
35548export type FontLanguageOverrideProperty = Globals | "normal" | string;
35549
35550export type FontOpticalSizingProperty = Globals | "auto" | "none";
35551
35552export type FontSizeProperty<TLength> = Globals | AbsoluteSize | TLength | "larger" | "smaller" | string;
35553
35554export type FontSizeAdjustProperty = Globals | "none" | number;
35555
35556export type FontStretchProperty = Globals | FontStretchAbsolute;
35557
35558export type FontStyleProperty = Globals | "italic" | "normal" | "oblique" | string;
35559
35560export type FontSynthesisProperty = Globals | "none" | "style" | "weight" | string;
35561
35562export type FontVariantProperty =
35563  | Globals
35564  | EastAsianVariantValues
35565  | "all-petite-caps"
35566  | "all-small-caps"
35567  | "common-ligatures"
35568  | "contextual"
35569  | "diagonal-fractions"
35570  | "discretionary-ligatures"
35571  | "full-width"
35572  | "historical-forms"
35573  | "historical-ligatures"
35574  | "lining-nums"
35575  | "no-common-ligatures"
35576  | "no-contextual"
35577  | "no-discretionary-ligatures"
35578  | "no-historical-ligatures"
35579  | "none"
35580  | "normal"
35581  | "oldstyle-nums"
35582  | "ordinal"
35583  | "petite-caps"
35584  | "proportional-nums"
35585  | "proportional-width"
35586  | "ruby"
35587  | "slashed-zero"
35588  | "small-caps"
35589  | "stacked-fractions"
35590  | "tabular-nums"
35591  | "titling-caps"
35592  | "unicase"
35593  | string;
35594
35595export type FontVariantAlternatesProperty = Globals | "historical-forms" | "normal" | string;
35596
35597export type FontVariantCapsProperty = Globals | "all-petite-caps" | "all-small-caps" | "normal" | "petite-caps" | "small-caps" | "titling-caps" | "unicase";
35598
35599export type FontVariantEastAsianProperty = Globals | EastAsianVariantValues | "full-width" | "normal" | "proportional-width" | "ruby" | string;
35600
35601export type FontVariantLigaturesProperty =
35602  | Globals
35603  | "common-ligatures"
35604  | "contextual"
35605  | "discretionary-ligatures"
35606  | "historical-ligatures"
35607  | "no-common-ligatures"
35608  | "no-contextual"
35609  | "no-discretionary-ligatures"
35610  | "no-historical-ligatures"
35611  | "none"
35612  | "normal"
35613  | string;
35614
35615export type FontVariantNumericProperty =
35616  | Globals
35617  | "diagonal-fractions"
35618  | "lining-nums"
35619  | "normal"
35620  | "oldstyle-nums"
35621  | "ordinal"
35622  | "proportional-nums"
35623  | "slashed-zero"
35624  | "stacked-fractions"
35625  | "tabular-nums"
35626  | string;
35627
35628export type FontVariantPositionProperty = Globals | "normal" | "sub" | "super";
35629
35630export type FontVariationSettingsProperty = Globals | "normal" | string;
35631
35632export type FontWeightProperty = Globals | FontWeightAbsolute | "bolder" | "lighter";
35633
35634export type GapProperty<TLength> = Globals | TLength | "normal" | string;
35635
35636export type GridProperty = Globals | "none" | string;
35637
35638export type GridAreaProperty = Globals | GridLine | string;
35639
35640export type GridAutoColumnsProperty<TLength> = Globals | TrackBreadth<TLength> | string;
35641
35642export type GridAutoFlowProperty = Globals | "column" | "dense" | "row" | string;
35643
35644export type GridAutoRowsProperty<TLength> = Globals | TrackBreadth<TLength> | string;
35645
35646export type GridColumnProperty = Globals | GridLine | string;
35647
35648export type GridColumnEndProperty = Globals | GridLine;
35649
35650export type GridColumnGapProperty<TLength> = Globals | TLength | string;
35651
35652export type GridColumnStartProperty = Globals | GridLine;
35653
35654export type GridGapProperty<TLength> = Globals | TLength | string;
35655
35656export type GridRowProperty = Globals | GridLine | string;
35657
35658export type GridRowEndProperty = Globals | GridLine;
35659
35660export type GridRowGapProperty<TLength> = Globals | TLength | string;
35661
35662export type GridRowStartProperty = Globals | GridLine;
35663
35664export type GridTemplateProperty = Globals | "none" | string;
35665
35666export type GridTemplateAreasProperty = Globals | "none" | string;
35667
35668export type GridTemplateColumnsProperty<TLength> = Globals | TrackBreadth<TLength> | "none" | "subgrid" | string;
35669
35670export type GridTemplateRowsProperty<TLength> = Globals | TrackBreadth<TLength> | "none" | "subgrid" | string;
35671
35672export type HangingPunctuationProperty = Globals | "allow-end" | "first" | "force-end" | "last" | "none" | string;
35673
35674export type HeightProperty<TLength> = Globals | TLength | "-moz-max-content" | "-moz-min-content" | "auto" | "max-content" | "min-content" | string;
35675
35676export type HyphensProperty = Globals | "auto" | "manual" | "none";
35677
35678export type ImageOrientationProperty = Globals | "flip" | "from-image" | string;
35679
35680export type ImageRenderingProperty = Globals | "-moz-crisp-edges" | "-webkit-optimize-contrast" | "auto" | "crisp-edges" | "pixelated";
35681
35682export type ImageResolutionProperty = Globals | "from-image" | string;
35683
35684export type ImeModeProperty = Globals | "active" | "auto" | "disabled" | "inactive" | "normal";
35685
35686export type InitialLetterProperty = Globals | "normal" | string | number;
35687
35688export type InlineSizeProperty<TLength> = Globals | TLength | "-moz-max-content" | "-moz-min-content" | "auto" | "max-content" | "min-content" | string;
35689
35690export type InsetProperty<TLength> = Globals | TLength | "auto" | string;
35691
35692export type InsetBlockProperty<TLength> = Globals | TLength | "auto" | string;
35693
35694export type InsetBlockEndProperty<TLength> = Globals | TLength | "auto" | string;
35695
35696export type InsetBlockStartProperty<TLength> = Globals | TLength | "auto" | string;
35697
35698export type InsetInlineProperty<TLength> = Globals | TLength | "auto" | string;
35699
35700export type InsetInlineEndProperty<TLength> = Globals | TLength | "auto" | string;
35701
35702export type InsetInlineStartProperty<TLength> = Globals | TLength | "auto" | string;
35703
35704export type IsolationProperty = Globals | "auto" | "isolate";
35705
35706export type JustifyContentProperty = Globals | ContentDistribution | ContentPosition | "left" | "normal" | "right" | string;
35707
35708export type JustifyItemsProperty = Globals | SelfPosition | "baseline" | "left" | "legacy" | "normal" | "right" | "stretch" | string;
35709
35710export type JustifySelfProperty = Globals | SelfPosition | "auto" | "baseline" | "left" | "normal" | "right" | "stretch" | string;
35711
35712export type LeftProperty<TLength> = Globals | TLength | "auto" | string;
35713
35714export type LetterSpacingProperty<TLength> = Globals | TLength | "normal";
35715
35716export type LineBreakProperty = Globals | "anywhere" | "auto" | "loose" | "normal" | "strict";
35717
35718export type LineClampProperty = Globals | "none" | number;
35719
35720export type LineHeightProperty<TLength> = Globals | TLength | "normal" | string | number;
35721
35722export type LineHeightStepProperty<TLength> = Globals | TLength;
35723
35724export type ListStyleProperty = Globals | "inside" | "none" | "outside" | string;
35725
35726export type ListStyleImageProperty = Globals | "none" | string;
35727
35728export type ListStylePositionProperty = Globals | "inside" | "outside";
35729
35730export type ListStyleTypeProperty = Globals | "none" | string;
35731
35732export type MarginProperty<TLength> = Globals | TLength | "auto" | string;
35733
35734export type MarginBlockProperty<TLength> = Globals | TLength | "auto" | string;
35735
35736export type MarginBlockEndProperty<TLength> = Globals | TLength | "auto" | string;
35737
35738export type MarginBlockStartProperty<TLength> = Globals | TLength | "auto" | string;
35739
35740export type MarginBottomProperty<TLength> = Globals | TLength | "auto" | string;
35741
35742export type MarginInlineProperty<TLength> = Globals | TLength | "auto" | string;
35743
35744export type MarginInlineEndProperty<TLength> = Globals | TLength | "auto" | string;
35745
35746export type MarginInlineStartProperty<TLength> = Globals | TLength | "auto" | string;
35747
35748export type MarginLeftProperty<TLength> = Globals | TLength | "auto" | string;
35749
35750export type MarginRightProperty<TLength> = Globals | TLength | "auto" | string;
35751
35752export type MarginTopProperty<TLength> = Globals | TLength | "auto" | string;
35753
35754export type MaskProperty<TLength> = Globals | MaskLayer<TLength> | string;
35755
35756export type MaskBorderProperty = Globals | "alpha" | "luminance" | "none" | "repeat" | "round" | "space" | "stretch" | string | number;
35757
35758export type MaskBorderModeProperty = Globals | "alpha" | "luminance";
35759
35760export type MaskBorderOutsetProperty<TLength> = Globals | TLength | string | number;
35761
35762export type MaskBorderRepeatProperty = Globals | "repeat" | "round" | "space" | "stretch" | string;
35763
35764export type MaskBorderSliceProperty = Globals | string | number;
35765
35766export type MaskBorderSourceProperty = Globals | "none" | string;
35767
35768export type MaskBorderWidthProperty<TLength> = Globals | TLength | "auto" | string | number;
35769
35770export type MaskClipProperty = Globals | GeometryBox | "no-clip" | string;
35771
35772export type MaskCompositeProperty = Globals | CompositingOperator | string;
35773
35774export type MaskImageProperty = Globals | "none" | string;
35775
35776export type MaskModeProperty = Globals | MaskingMode | string;
35777
35778export type MaskOriginProperty = Globals | Box | "margin-box" | string;
35779
35780export type MaskPositionProperty<TLength> = Globals | Position<TLength> | string;
35781
35782export type MaskRepeatProperty = Globals | RepeatStyle | string;
35783
35784export type MaskSizeProperty<TLength> = Globals | BgSize<TLength> | string;
35785
35786export type MaskTypeProperty = Globals | "alpha" | "luminance";
35787
35788export type MaxBlockSizeProperty<TLength> = Globals | TLength | "-moz-max-content" | "-moz-min-content" | "auto" | "max-content" | "min-content" | string;
35789
35790export type MaxHeightProperty<TLength> =
35791  | Globals
35792  | TLength
35793  | "-moz-max-content"
35794  | "-moz-min-content"
35795  | "-webkit-max-content"
35796  | "-webkit-min-content"
35797  | "auto"
35798  | "max-content"
35799  | "min-content"
35800  | string;
35801
35802export type MaxInlineSizeProperty<TLength> = Globals | TLength | "-moz-max-content" | "-moz-min-content" | "auto" | "max-content" | "min-content" | string;
35803
35804export type MaxLinesProperty = Globals | "none" | number;
35805
35806export type MaxWidthProperty<TLength> =
35807  | Globals
35808  | TLength
35809  | "-moz-max-content"
35810  | "-moz-min-content"
35811  | "-webkit-max-content"
35812  | "-webkit-min-content"
35813  | "auto"
35814  | "intrinsic"
35815  | "max-content"
35816  | "min-content"
35817  | string;
35818
35819export type MinBlockSizeProperty<TLength> = Globals | TLength | "-moz-max-content" | "-moz-min-content" | "auto" | "max-content" | "min-content" | string;
35820
35821export type MinHeightProperty<TLength> =
35822  | Globals
35823  | TLength
35824  | "-moz-max-content"
35825  | "-moz-min-content"
35826  | "-webkit-max-content"
35827  | "-webkit-min-content"
35828  | "auto"
35829  | "max-content"
35830  | "min-content"
35831  | string;
35832
35833export type MinInlineSizeProperty<TLength> = Globals | TLength | "-moz-max-content" | "-moz-min-content" | "auto" | "max-content" | "min-content" | string;
35834
35835export type MinWidthProperty<TLength> =
35836  | Globals
35837  | TLength
35838  | "-moz-max-content"
35839  | "-moz-min-content"
35840  | "-webkit-max-content"
35841  | "-webkit-min-content"
35842  | "auto"
35843  | "intrinsic"
35844  | "max-content"
35845  | "min-content"
35846  | "min-intrinsic"
35847  | string;
35848
35849export type MixBlendModeProperty = Globals | BlendMode;
35850
35851export type OffsetProperty<TLength> = Globals | Position<TLength> | GeometryBox | "auto" | "none" | string;
35852
35853export type OffsetDistanceProperty<TLength> = Globals | TLength | string;
35854
35855export type OffsetPathProperty = Globals | GeometryBox | "none" | string;
35856
35857export type OffsetRotateProperty = Globals | "auto" | "reverse" | string;
35858
35859export type ObjectFitProperty = Globals | "contain" | "cover" | "fill" | "none" | "scale-down";
35860
35861export type ObjectPositionProperty<TLength> = Globals | Position<TLength>;
35862
35863export type OffsetAnchorProperty<TLength> = Globals | Position<TLength> | "auto";
35864
35865export type OpacityProperty = Globals | string | number;
35866
35867export type OutlineProperty<TLength> = Globals | Color | LineStyle | LineWidth<TLength> | "auto" | "invert" | string;
35868
35869export type OutlineColorProperty = Globals | Color | "invert";
35870
35871export type OutlineOffsetProperty<TLength> = Globals | TLength;
35872
35873export type OutlineStyleProperty = Globals | LineStyle | "auto" | string;
35874
35875export type OutlineWidthProperty<TLength> = Globals | LineWidth<TLength>;
35876
35877export type OverflowProperty = Globals | "auto" | "hidden" | "scroll" | "visible" | string;
35878
35879export type OverflowAnchorProperty = Globals | "auto" | "none";
35880
35881export type OverflowBlockProperty = Globals | "auto" | "clip" | "hidden" | "scroll" | "visible";
35882
35883export type OverflowClipBoxProperty = Globals | "content-box" | "padding-box";
35884
35885export type OverflowInlineProperty = Globals | "auto" | "clip" | "hidden" | "scroll" | "visible";
35886
35887export type OverflowWrapProperty = Globals | "anywhere" | "break-word" | "normal";
35888
35889export type OverflowXProperty = Globals | "auto" | "hidden" | "scroll" | "visible";
35890
35891export type OverflowYProperty = Globals | "auto" | "hidden" | "scroll" | "visible";
35892
35893export type OverscrollBehaviorProperty = Globals | "auto" | "contain" | "none" | string;
35894
35895export type OverscrollBehaviorBlockProperty = Globals | "auto" | "contain" | "none";
35896
35897export type OverscrollBehaviorInlineProperty = Globals | "auto" | "contain" | "none";
35898
35899export type OverscrollBehaviorXProperty = Globals | "auto" | "contain" | "none";
35900
35901export type OverscrollBehaviorYProperty = Globals | "auto" | "contain" | "none";
35902
35903export type PaddingProperty<TLength> = Globals | TLength | string;
35904
35905export type PaddingBlockProperty<TLength> = Globals | TLength | string;
35906
35907export type PaddingBlockEndProperty<TLength> = Globals | TLength | string;
35908
35909export type PaddingBlockStartProperty<TLength> = Globals | TLength | string;
35910
35911export type PaddingBottomProperty<TLength> = Globals | TLength | string;
35912
35913export type PaddingInlineProperty<TLength> = Globals | TLength | string;
35914
35915export type PaddingInlineEndProperty<TLength> = Globals | TLength | string;
35916
35917export type PaddingInlineStartProperty<TLength> = Globals | TLength | string;
35918
35919export type PaddingLeftProperty<TLength> = Globals | TLength | string;
35920
35921export type PaddingRightProperty<TLength> = Globals | TLength | string;
35922
35923export type PaddingTopProperty<TLength> = Globals | TLength | string;
35924
35925export type PageBreakAfterProperty = Globals | "always" | "auto" | "avoid" | "left" | "recto" | "right" | "verso";
35926
35927export type PageBreakBeforeProperty = Globals | "always" | "auto" | "avoid" | "left" | "recto" | "right" | "verso";
35928
35929export type PageBreakInsideProperty = Globals | "auto" | "avoid";
35930
35931export type PaintOrderProperty = Globals | "fill" | "markers" | "normal" | "stroke" | string;
35932
35933export type PerspectiveProperty<TLength> = Globals | TLength | "none";
35934
35935export type PerspectiveOriginProperty<TLength> = Globals | Position<TLength>;
35936
35937export type PlaceContentProperty = Globals | ContentDistribution | ContentPosition | "baseline" | "normal" | string;
35938
35939export type PlaceItemsProperty = Globals | SelfPosition | "baseline" | "normal" | "stretch" | string;
35940
35941export type PlaceSelfProperty = Globals | SelfPosition | "auto" | "baseline" | "normal" | "stretch" | string;
35942
35943export type PointerEventsProperty = Globals | "all" | "auto" | "fill" | "inherit" | "none" | "painted" | "stroke" | "visible" | "visibleFill" | "visiblePainted" | "visibleStroke";
35944
35945export type PositionProperty = Globals | "-webkit-sticky" | "absolute" | "fixed" | "relative" | "static" | "sticky";
35946
35947export type QuotesProperty = Globals | "auto" | "none" | string;
35948
35949export type ResizeProperty = Globals | "block" | "both" | "horizontal" | "inline" | "none" | "vertical";
35950
35951export type RightProperty<TLength> = Globals | TLength | "auto" | string;
35952
35953export type RotateProperty = Globals | "none" | string;
35954
35955export type RowGapProperty<TLength> = Globals | TLength | "normal" | string;
35956
35957export type RubyAlignProperty = Globals | "center" | "space-around" | "space-between" | "start";
35958
35959export type RubyMergeProperty = Globals | "auto" | "collapse" | "separate";
35960
35961export type RubyPositionProperty = Globals | "over" | "under";
35962
35963export type ScaleProperty = Globals | "none" | string | number;
35964
35965export type ScrollBehaviorProperty = Globals | "auto" | "smooth";
35966
35967export type ScrollMarginProperty<TLength> = Globals | TLength | string;
35968
35969export type ScrollMarginBlockProperty<TLength> = Globals | TLength | string;
35970
35971export type ScrollMarginBlockEndProperty<TLength> = Globals | TLength;
35972
35973export type ScrollMarginBlockStartProperty<TLength> = Globals | TLength;
35974
35975export type ScrollMarginBottomProperty<TLength> = Globals | TLength;
35976
35977export type ScrollMarginInlineProperty<TLength> = Globals | TLength | string;
35978
35979export type ScrollMarginInlineEndProperty<TLength> = Globals | TLength;
35980
35981export type ScrollMarginInlineStartProperty<TLength> = Globals | TLength;
35982
35983export type ScrollMarginLeftProperty<TLength> = Globals | TLength;
35984
35985export type ScrollMarginRightProperty<TLength> = Globals | TLength;
35986
35987export type ScrollMarginTopProperty<TLength> = Globals | TLength;
35988
35989export type ScrollPaddingProperty<TLength> = Globals | TLength | "auto" | string;
35990
35991export type ScrollPaddingBlockProperty<TLength> = Globals | TLength | "auto" | string;
35992
35993export type ScrollPaddingBlockEndProperty<TLength> = Globals | TLength | "auto" | string;
35994
35995export type ScrollPaddingBlockStartProperty<TLength> = Globals | TLength | "auto" | string;
35996
35997export type ScrollPaddingBottomProperty<TLength> = Globals | TLength | "auto" | string;
35998
35999export type ScrollPaddingInlineProperty<TLength> = Globals | TLength | "auto" | string;
36000
36001export type ScrollPaddingInlineEndProperty<TLength> = Globals | TLength | "auto" | string;
36002
36003export type ScrollPaddingInlineStartProperty<TLength> = Globals | TLength | "auto" | string;
36004
36005export type ScrollPaddingLeftProperty<TLength> = Globals | TLength | "auto" | string;
36006
36007export type ScrollPaddingRightProperty<TLength> = Globals | TLength | "auto" | string;
36008
36009export type ScrollPaddingTopProperty<TLength> = Globals | TLength | "auto" | string;
36010
36011export type ScrollSnapAlignProperty = Globals | "center" | "end" | "none" | "start" | string;
36012
36013export type ScrollSnapCoordinateProperty<TLength> = Globals | Position<TLength> | "none" | string;
36014
36015export type ScrollSnapDestinationProperty<TLength> = Globals | Position<TLength>;
36016
36017export type ScrollSnapPointsXProperty = Globals | "none" | string;
36018
36019export type ScrollSnapPointsYProperty = Globals | "none" | string;
36020
36021export type ScrollSnapStopProperty = Globals | "always" | "normal";
36022
36023export type ScrollSnapTypeProperty = Globals | "block" | "both" | "inline" | "none" | "x" | "y" | string;
36024
36025export type ScrollSnapTypeXProperty = Globals | "mandatory" | "none" | "proximity";
36026
36027export type ScrollSnapTypeYProperty = Globals | "mandatory" | "none" | "proximity";
36028
36029export type ScrollbarColorProperty = Globals | Color | "auto" | "dark" | "light";
36030
36031export type MsScrollbarTrackColorProperty = Globals | Color;
36032
36033export type ScrollbarWidthProperty = Globals | "auto" | "none" | "thin";
36034
36035export type ShapeImageThresholdProperty = Globals | string | number;
36036
36037export type ShapeMarginProperty<TLength> = Globals | TLength | string;
36038
36039export type ShapeOutsideProperty = Globals | Box | "margin-box" | "none" | string;
36040
36041export type TabSizeProperty<TLength> = Globals | TLength | number;
36042
36043export type TableLayoutProperty = Globals | "auto" | "fixed";
36044
36045export type TextAlignProperty = Globals | "center" | "end" | "justify" | "left" | "match-parent" | "right" | "start";
36046
36047export type TextAlignLastProperty = Globals | "auto" | "center" | "end" | "justify" | "left" | "right" | "start";
36048
36049export type TextCombineUprightProperty = Globals | "all" | "digits" | "none" | string;
36050
36051export type TextDecorationProperty<TLength> =
36052  | Globals
36053  | Color
36054  | TLength
36055  | "auto"
36056  | "blink"
36057  | "dashed"
36058  | "dotted"
36059  | "double"
36060  | "from-font"
36061  | "grammar-error"
36062  | "line-through"
36063  | "none"
36064  | "overline"
36065  | "solid"
36066  | "spelling-error"
36067  | "underline"
36068  | "wavy"
36069  | string;
36070
36071export type TextDecorationColorProperty = Globals | Color;
36072
36073export type TextDecorationLineProperty = Globals | "blink" | "grammar-error" | "line-through" | "none" | "overline" | "spelling-error" | "underline" | string;
36074
36075export type TextDecorationSkipProperty = Globals | "box-decoration" | "edges" | "leading-spaces" | "none" | "objects" | "spaces" | "trailing-spaces" | string;
36076
36077export type TextDecorationSkipInkProperty = Globals | "all" | "auto" | "none";
36078
36079export type TextDecorationStyleProperty = Globals | "dashed" | "dotted" | "double" | "solid" | "wavy";
36080
36081export type TextDecorationThicknessProperty<TLength> = Globals | TLength | "auto" | "from-font" | string;
36082
36083export type TextEmphasisProperty = Globals | Color | "circle" | "dot" | "double-circle" | "filled" | "none" | "open" | "sesame" | "triangle" | string;
36084
36085export type TextEmphasisColorProperty = Globals | Color;
36086
36087export type TextEmphasisStyleProperty = Globals | "circle" | "dot" | "double-circle" | "filled" | "none" | "open" | "sesame" | "triangle" | string;
36088
36089export type TextIndentProperty<TLength> = Globals | TLength | string;
36090
36091export type TextJustifyProperty = Globals | "auto" | "inter-character" | "inter-word" | "none";
36092
36093export type TextOrientationProperty = Globals | "mixed" | "sideways" | "upright";
36094
36095export type TextOverflowProperty = Globals | "clip" | "ellipsis" | string;
36096
36097export type TextRenderingProperty = Globals | "auto" | "geometricPrecision" | "optimizeLegibility" | "optimizeSpeed";
36098
36099export type TextShadowProperty = Globals | "none" | string;
36100
36101export type TextSizeAdjustProperty = Globals | "auto" | "none" | string;
36102
36103export type TextTransformProperty = Globals | "capitalize" | "full-size-kana" | "full-width" | "lowercase" | "none" | "uppercase";
36104
36105export type TextUnderlineOffsetProperty<TLength> = Globals | TLength | "auto" | string;
36106
36107export type TextUnderlinePositionProperty = Globals | "auto" | "from-font" | "left" | "right" | "under" | string;
36108
36109export type TopProperty<TLength> = Globals | TLength | "auto" | string;
36110
36111export type TouchActionProperty =
36112  | Globals
36113  | "-ms-manipulation"
36114  | "-ms-none"
36115  | "-ms-pinch-zoom"
36116  | "auto"
36117  | "manipulation"
36118  | "none"
36119  | "pan-down"
36120  | "pan-left"
36121  | "pan-right"
36122  | "pan-up"
36123  | "pan-x"
36124  | "pan-y"
36125  | "pinch-zoom"
36126  | string;
36127
36128export type TransformProperty = Globals | "none" | string;
36129
36130export type TransformBoxProperty = Globals | "border-box" | "content-box" | "fill-box" | "stroke-box" | "view-box";
36131
36132export type TransformOriginProperty<TLength> = Globals | TLength | "bottom" | "center" | "left" | "right" | "top" | string;
36133
36134export type TransformStyleProperty = Globals | "flat" | "preserve-3d";
36135
36136export type TransitionProperty = Globals | SingleTransition | string;
36137
36138export type TransitionPropertyProperty = Globals | "all" | "none" | string;
36139
36140export type TransitionTimingFunctionProperty = Globals | TimingFunction | string;
36141
36142export type TranslateProperty<TLength> = Globals | TLength | "none" | string;
36143
36144export type UnicodeBidiProperty =
36145  | Globals
36146  | "-moz-isolate"
36147  | "-moz-isolate-override"
36148  | "-moz-plaintext"
36149  | "-webkit-isolate"
36150  | "bidi-override"
36151  | "embed"
36152  | "isolate"
36153  | "isolate-override"
36154  | "normal"
36155  | "plaintext";
36156
36157export type UserSelectProperty = Globals | "-moz-none" | "all" | "auto" | "contain" | "element" | "none" | "text";
36158
36159export type VerticalAlignProperty<TLength> = Globals | TLength | "baseline" | "bottom" | "middle" | "sub" | "super" | "text-bottom" | "text-top" | "top" | string;
36160
36161export type VisibilityProperty = Globals | "collapse" | "hidden" | "visible";
36162
36163export type WhiteSpaceProperty = Globals | "-moz-pre-wrap" | "break-spaces" | "normal" | "nowrap" | "pre" | "pre-line" | "pre-wrap";
36164
36165export type WidthProperty<TLength> =
36166  | Globals
36167  | TLength
36168  | "-moz-max-content"
36169  | "-moz-min-content"
36170  | "-webkit-max-content"
36171  | "auto"
36172  | "intrinsic"
36173  | "max-content"
36174  | "min-content"
36175  | "min-intrinsic"
36176  | string;
36177
36178export type WillChangeProperty = Globals | AnimateableFeature | "auto" | string;
36179
36180export type WordBreakProperty = Globals | "break-all" | "break-word" | "keep-all" | "normal";
36181
36182export type WordSpacingProperty<TLength> = Globals | TLength | "normal" | string;
36183
36184export type WordWrapProperty = Globals | "break-word" | "normal";
36185
36186export type WritingModeProperty = Globals | "horizontal-tb" | "sideways-lr" | "sideways-rl" | "vertical-lr" | "vertical-rl";
36187
36188export type ZIndexProperty = Globals | "auto" | number;
36189
36190export type ZoomProperty = Globals | "normal" | "reset" | string | number;
36191
36192export type MozAppearanceProperty =
36193  | Globals
36194  | "-moz-mac-unified-toolbar"
36195  | "-moz-win-borderless-glass"
36196  | "-moz-win-browsertabbar-toolbox"
36197  | "-moz-win-communications-toolbox"
36198  | "-moz-win-communicationstext"
36199  | "-moz-win-exclude-glass"
36200  | "-moz-win-glass"
36201  | "-moz-win-media-toolbox"
36202  | "-moz-win-mediatext"
36203  | "-moz-window-button-box"
36204  | "-moz-window-button-box-maximized"
36205  | "-moz-window-button-close"
36206  | "-moz-window-button-maximize"
36207  | "-moz-window-button-minimize"
36208  | "-moz-window-button-restore"
36209  | "-moz-window-frame-bottom"
36210  | "-moz-window-frame-left"
36211  | "-moz-window-frame-right"
36212  | "-moz-window-titlebar"
36213  | "-moz-window-titlebar-maximized"
36214  | "button"
36215  | "button-arrow-down"
36216  | "button-arrow-next"
36217  | "button-arrow-previous"
36218  | "button-arrow-up"
36219  | "button-bevel"
36220  | "button-focus"
36221  | "caret"
36222  | "checkbox"
36223  | "checkbox-container"
36224  | "checkbox-label"
36225  | "checkmenuitem"
36226  | "dualbutton"
36227  | "groupbox"
36228  | "listbox"
36229  | "listitem"
36230  | "menuarrow"
36231  | "menubar"
36232  | "menucheckbox"
36233  | "menuimage"
36234  | "menuitem"
36235  | "menuitemtext"
36236  | "menulist"
36237  | "menulist-button"
36238  | "menulist-text"
36239  | "menulist-textfield"
36240  | "menupopup"
36241  | "menuradio"
36242  | "menuseparator"
36243  | "meterbar"
36244  | "meterchunk"
36245  | "none"
36246  | "progressbar"
36247  | "progressbar-vertical"
36248  | "progresschunk"
36249  | "progresschunk-vertical"
36250  | "radio"
36251  | "radio-container"
36252  | "radio-label"
36253  | "radiomenuitem"
36254  | "range"
36255  | "range-thumb"
36256  | "resizer"
36257  | "resizerpanel"
36258  | "scale-horizontal"
36259  | "scale-vertical"
36260  | "scalethumb-horizontal"
36261  | "scalethumb-vertical"
36262  | "scalethumbend"
36263  | "scalethumbstart"
36264  | "scalethumbtick"
36265  | "scrollbarbutton-down"
36266  | "scrollbarbutton-left"
36267  | "scrollbarbutton-right"
36268  | "scrollbarbutton-up"
36269  | "scrollbarthumb-horizontal"
36270  | "scrollbarthumb-vertical"
36271  | "scrollbartrack-horizontal"
36272  | "scrollbartrack-vertical"
36273  | "searchfield"
36274  | "separator"
36275  | "sheet"
36276  | "spinner"
36277  | "spinner-downbutton"
36278  | "spinner-textfield"
36279  | "spinner-upbutton"
36280  | "splitter"
36281  | "statusbar"
36282  | "statusbarpanel"
36283  | "tab"
36284  | "tab-scroll-arrow-back"
36285  | "tab-scroll-arrow-forward"
36286  | "tabpanel"
36287  | "tabpanels"
36288  | "textfield"
36289  | "textfield-multiline"
36290  | "toolbar"
36291  | "toolbarbutton"
36292  | "toolbarbutton-dropdown"
36293  | "toolbargripper"
36294  | "toolbox"
36295  | "tooltip"
36296  | "treeheader"
36297  | "treeheadercell"
36298  | "treeheadersortarrow"
36299  | "treeitem"
36300  | "treeline"
36301  | "treetwisty"
36302  | "treetwistyopen"
36303  | "treeview";
36304
36305export type MozBindingProperty = Globals | "none" | string;
36306
36307export type MozBorderBottomColorsProperty = Globals | Color | "none" | string;
36308
36309export type MozBorderLeftColorsProperty = Globals | Color | "none" | string;
36310
36311export type MozBorderRightColorsProperty = Globals | Color | "none" | string;
36312
36313export type MozBorderTopColorsProperty = Globals | Color | "none" | string;
36314
36315export type MozContextPropertiesProperty = Globals | "fill" | "fill-opacity" | "none" | "stroke" | "stroke-opacity" | string;
36316
36317export type MozFloatEdgeProperty = Globals | "border-box" | "content-box" | "margin-box" | "padding-box";
36318
36319export type MozImageRegionProperty = Globals | "auto" | string;
36320
36321export type MozOrientProperty = Globals | "block" | "horizontal" | "inline" | "vertical";
36322
36323export type MozOutlineRadiusProperty<TLength> = Globals | TLength | string;
36324
36325export type MozOutlineRadiusBottomleftProperty<TLength> = Globals | TLength | string;
36326
36327export type MozOutlineRadiusBottomrightProperty<TLength> = Globals | TLength | string;
36328
36329export type MozOutlineRadiusTopleftProperty<TLength> = Globals | TLength | string;
36330
36331export type MozOutlineRadiusToprightProperty<TLength> = Globals | TLength | string;
36332
36333export type MozStackSizingProperty = Globals | "ignore" | "stretch-to-fit";
36334
36335export type MozTextBlinkProperty = Globals | "blink" | "none";
36336
36337export type MozUserFocusProperty = Globals | "ignore" | "none" | "normal" | "select-after" | "select-all" | "select-before" | "select-menu" | "select-same";
36338
36339export type MozUserInputProperty = Globals | "auto" | "disabled" | "enabled" | "none";
36340
36341export type MozUserModifyProperty = Globals | "read-only" | "read-write" | "write-only";
36342
36343export type MozWindowDraggingProperty = Globals | "drag" | "no-drag";
36344
36345export type MozWindowShadowProperty = Globals | "default" | "menu" | "none" | "sheet" | "tooltip";
36346
36347export type MsAcceleratorProperty = Globals | "false" | "true";
36348
36349export type MsBlockProgressionProperty = Globals | "bt" | "lr" | "rl" | "tb";
36350
36351export type MsContentZoomChainingProperty = Globals | "chained" | "none";
36352
36353export type MsContentZoomSnapProperty = Globals | "mandatory" | "none" | "proximity" | string;
36354
36355export type MsContentZoomSnapTypeProperty = Globals | "mandatory" | "none" | "proximity";
36356
36357export type MsContentZoomingProperty = Globals | "none" | "zoom";
36358
36359export type MsFlowFromProperty = Globals | "none" | string;
36360
36361export type MsFlowIntoProperty = Globals | "none" | string;
36362
36363export type MsHighContrastAdjustProperty = Globals | "auto" | "none";
36364
36365export type MsHyphenateLimitCharsProperty = Globals | "auto" | string | number;
36366
36367export type MsHyphenateLimitLinesProperty = Globals | "no-limit" | number;
36368
36369export type MsHyphenateLimitZoneProperty<TLength> = Globals | TLength | string;
36370
36371export type MsImeAlignProperty = Globals | "after" | "auto";
36372
36373export type MsOverflowStyleProperty = Globals | "-ms-autohiding-scrollbar" | "auto" | "none" | "scrollbar";
36374
36375export type MsScrollChainingProperty = Globals | "chained" | "none";
36376
36377export type MsScrollLimitXMaxProperty<TLength> = Globals | TLength | "auto";
36378
36379export type MsScrollLimitXMinProperty<TLength> = Globals | TLength;
36380
36381export type MsScrollLimitYMaxProperty<TLength> = Globals | TLength | "auto";
36382
36383export type MsScrollLimitYMinProperty<TLength> = Globals | TLength;
36384
36385export type MsScrollRailsProperty = Globals | "none" | "railed";
36386
36387export type MsScrollSnapTypeProperty = Globals | "mandatory" | "none" | "proximity";
36388
36389export type MsScrollTranslationProperty = Globals | "none" | "vertical-to-horizontal";
36390
36391export type MsScrollbar3dlightColorProperty = Globals | Color;
36392
36393export type MsScrollbarArrowColorProperty = Globals | Color;
36394
36395export type MsScrollbarBaseColorProperty = Globals | Color;
36396
36397export type MsScrollbarDarkshadowColorProperty = Globals | Color;
36398
36399export type MsScrollbarFaceColorProperty = Globals | Color;
36400
36401export type MsScrollbarHighlightColorProperty = Globals | Color;
36402
36403export type MsScrollbarShadowColorProperty = Globals | Color;
36404
36405export type MsTextAutospaceProperty = Globals | "ideograph-alpha" | "ideograph-numeric" | "ideograph-parenthesis" | "ideograph-space" | "none";
36406
36407export type MsTouchSelectProperty = Globals | "grippers" | "none";
36408
36409export type MsUserSelectProperty = Globals | "element" | "none" | "text";
36410
36411export type MsWrapFlowProperty = Globals | "auto" | "both" | "clear" | "end" | "maximum" | "start";
36412
36413export type MsWrapMarginProperty<TLength> = Globals | TLength;
36414
36415export type MsWrapThroughProperty = Globals | "none" | "wrap";
36416
36417export type WebkitAppearanceProperty =
36418  | Globals
36419  | "button"
36420  | "button-bevel"
36421  | "caret"
36422  | "checkbox"
36423  | "default-button"
36424  | "inner-spin-button"
36425  | "listbox"
36426  | "listitem"
36427  | "media-controls-background"
36428  | "media-controls-fullscreen-background"
36429  | "media-current-time-display"
36430  | "media-enter-fullscreen-button"
36431  | "media-exit-fullscreen-button"
36432  | "media-fullscreen-button"
36433  | "media-mute-button"
36434  | "media-overlay-play-button"
36435  | "media-play-button"
36436  | "media-seek-back-button"
36437  | "media-seek-forward-button"
36438  | "media-slider"
36439  | "media-sliderthumb"
36440  | "media-time-remaining-display"
36441  | "media-toggle-closed-captions-button"
36442  | "media-volume-slider"
36443  | "media-volume-slider-container"
36444  | "media-volume-sliderthumb"
36445  | "menulist"
36446  | "menulist-button"
36447  | "menulist-text"
36448  | "menulist-textfield"
36449  | "meter"
36450  | "none"
36451  | "progress-bar"
36452  | "progress-bar-value"
36453  | "push-button"
36454  | "radio"
36455  | "searchfield"
36456  | "searchfield-cancel-button"
36457  | "searchfield-decoration"
36458  | "searchfield-results-button"
36459  | "searchfield-results-decoration"
36460  | "slider-horizontal"
36461  | "slider-vertical"
36462  | "sliderthumb-horizontal"
36463  | "sliderthumb-vertical"
36464  | "square-button"
36465  | "textarea"
36466  | "textfield";
36467
36468export type WebkitBorderBeforeProperty<TLength> = Globals | LineWidth<TLength> | LineStyle | Color | string;
36469
36470export type WebkitBorderBeforeColorProperty = Globals | Color;
36471
36472export type WebkitBorderBeforeStyleProperty = Globals | LineStyle | string;
36473
36474export type WebkitBorderBeforeWidthProperty<TLength> = Globals | LineWidth<TLength> | string;
36475
36476export type WebkitBoxReflectProperty<TLength> = Globals | TLength | "above" | "below" | "left" | "right" | string;
36477
36478export type WebkitLineClampProperty = Globals | "none" | number;
36479
36480export type WebkitMaskProperty<TLength> = Globals | Position<TLength> | RepeatStyle | Box | "border" | "content" | "none" | "padding" | "text" | string;
36481
36482export type WebkitMaskAttachmentProperty = Globals | Attachment | string;
36483
36484export type WebkitMaskClipProperty = Globals | Box | "border" | "content" | "padding" | "text" | string;
36485
36486export type WebkitMaskCompositeProperty = Globals | CompositeStyle | string;
36487
36488export type WebkitMaskImageProperty = Globals | "none" | string;
36489
36490export type WebkitMaskOriginProperty = Globals | Box | "border" | "content" | "padding" | string;
36491
36492export type WebkitMaskPositionProperty<TLength> = Globals | Position<TLength> | string;
36493
36494export type WebkitMaskPositionXProperty<TLength> = Globals | TLength | "center" | "left" | "right" | string;
36495
36496export type WebkitMaskPositionYProperty<TLength> = Globals | TLength | "bottom" | "center" | "top" | string;
36497
36498export type WebkitMaskRepeatProperty = Globals | RepeatStyle | string;
36499
36500export type WebkitMaskRepeatXProperty = Globals | "no-repeat" | "repeat" | "round" | "space";
36501
36502export type WebkitMaskRepeatYProperty = Globals | "no-repeat" | "repeat" | "round" | "space";
36503
36504export type WebkitMaskSizeProperty<TLength> = Globals | BgSize<TLength> | string;
36505
36506export type WebkitOverflowScrollingProperty = Globals | "auto" | "touch";
36507
36508export type WebkitTapHighlightColorProperty = Globals | Color;
36509
36510export type WebkitTextFillColorProperty = Globals | Color;
36511
36512export type WebkitTextStrokeProperty<TLength> = Globals | Color | TLength | string;
36513
36514export type WebkitTextStrokeColorProperty = Globals | Color;
36515
36516export type WebkitTextStrokeWidthProperty<TLength> = Globals | TLength;
36517
36518export type WebkitTouchCalloutProperty = Globals | "default" | "none";
36519
36520export type WebkitUserModifyProperty = Globals | "read-only" | "read-write" | "read-write-plaintext-only";
36521
36522export type AlignmentBaselineProperty =
36523  | Globals
36524  | "after-edge"
36525  | "alphabetic"
36526  | "auto"
36527  | "baseline"
36528  | "before-edge"
36529  | "central"
36530  | "hanging"
36531  | "ideographic"
36532  | "mathematical"
36533  | "middle"
36534  | "text-after-edge"
36535  | "text-before-edge";
36536
36537export type BaselineShiftProperty<TLength> = Globals | TLength | "baseline" | "sub" | "super" | string;
36538
36539export type ClipRuleProperty = Globals | "evenodd" | "nonzero";
36540
36541export type ColorInterpolationProperty = Globals | "auto" | "linearRGB" | "sRGB";
36542
36543export type ColorRenderingProperty = Globals | "auto" | "optimizeQuality" | "optimizeSpeed";
36544
36545export type DominantBaselineProperty =
36546  | Globals
36547  | "alphabetic"
36548  | "auto"
36549  | "central"
36550  | "hanging"
36551  | "ideographic"
36552  | "mathematical"
36553  | "middle"
36554  | "no-change"
36555  | "reset-size"
36556  | "text-after-edge"
36557  | "text-before-edge"
36558  | "use-script";
36559
36560export type FillProperty = Globals | Paint;
36561
36562export type FillRuleProperty = Globals | "evenodd" | "nonzero";
36563
36564export type FloodColorProperty = Globals | Color | "currentColor";
36565
36566export type GlyphOrientationVerticalProperty = Globals | "auto" | string | number;
36567
36568export type LightingColorProperty = Globals | Color | "currentColor";
36569
36570export type MarkerProperty = Globals | "none" | string;
36571
36572export type MarkerEndProperty = Globals | "none" | string;
36573
36574export type MarkerMidProperty = Globals | "none" | string;
36575
36576export type MarkerStartProperty = Globals | "none" | string;
36577
36578export type ShapeRenderingProperty = Globals | "auto" | "crispEdges" | "geometricPrecision" | "optimizeSpeed";
36579
36580export type StopColorProperty = Globals | Color | "currentColor";
36581
36582export type StrokeProperty = Globals | Paint;
36583
36584export type StrokeDasharrayProperty<TLength> = Globals | Dasharray<TLength> | "none";
36585
36586export type StrokeDashoffsetProperty<TLength> = Globals | TLength | string;
36587
36588export type StrokeLinecapProperty = Globals | "butt" | "round" | "square";
36589
36590export type StrokeLinejoinProperty = Globals | "bevel" | "miter" | "round";
36591
36592export type StrokeWidthProperty<TLength> = Globals | TLength | string;
36593
36594export type TextAnchorProperty = Globals | "end" | "middle" | "start";
36595
36596export type VectorEffectProperty = Globals | "non-scaling-stroke" | "none";
36597
36598type CounterStyleRangeProperty = "auto" | "infinite" | string | number;
36599
36600type CounterStyleSpeakAsProperty = "auto" | "bullets" | "numbers" | "spell-out" | "words" | string;
36601
36602type CounterStyleSystemProperty = "additive" | "alphabetic" | "cyclic" | "fixed" | "numeric" | "symbolic" | string;
36603
36604type FontFaceFontFeatureSettingsProperty = "normal" | string;
36605
36606type FontFaceFontDisplayProperty = "auto" | "block" | "fallback" | "optional" | "swap";
36607
36608type FontFaceFontStretchProperty = FontStretchAbsolute | string;
36609
36610type FontFaceFontStyleProperty = "italic" | "normal" | "oblique" | string;
36611
36612type FontFaceFontVariantProperty =
36613  | EastAsianVariantValues
36614  | "all-petite-caps"
36615  | "all-small-caps"
36616  | "common-ligatures"
36617  | "contextual"
36618  | "diagonal-fractions"
36619  | "discretionary-ligatures"
36620  | "full-width"
36621  | "historical-forms"
36622  | "historical-ligatures"
36623  | "lining-nums"
36624  | "no-common-ligatures"
36625  | "no-contextual"
36626  | "no-discretionary-ligatures"
36627  | "no-historical-ligatures"
36628  | "none"
36629  | "normal"
36630  | "oldstyle-nums"
36631  | "ordinal"
36632  | "petite-caps"
36633  | "proportional-nums"
36634  | "proportional-width"
36635  | "ruby"
36636  | "slashed-zero"
36637  | "small-caps"
36638  | "stacked-fractions"
36639  | "tabular-nums"
36640  | "titling-caps"
36641  | "unicase"
36642  | string;
36643
36644type FontFaceFontVariationSettingsProperty = "normal" | string;
36645
36646type FontFaceFontWeightProperty = FontWeightAbsolute | string;
36647
36648type ViewportHeightProperty<TLength> = ViewportLength<TLength> | string;
36649
36650type ViewportMaxHeightProperty<TLength> = ViewportLength<TLength>;
36651
36652type ViewportMaxWidthProperty<TLength> = ViewportLength<TLength>;
36653
36654type ViewportMaxZoomProperty = "auto" | string | number;
36655
36656type ViewportMinHeightProperty<TLength> = ViewportLength<TLength>;
36657
36658type ViewportMinWidthProperty<TLength> = ViewportLength<TLength>;
36659
36660type ViewportMinZoomProperty = "auto" | string | number;
36661
36662type ViewportOrientationProperty = "auto" | "landscape" | "portrait";
36663
36664type ViewportUserZoomProperty = "-ms-zoom" | "fixed" | "zoom";
36665
36666type ViewportWidthProperty<TLength> = ViewportLength<TLength> | string;
36667
36668type ViewportZoomProperty = "auto" | string | number;
36669
36670type AbsoluteSize = "large" | "medium" | "small" | "x-large" | "x-small" | "xx-large" | "xx-small" | "xxx-large";
36671
36672type AnimateableFeature = "contents" | "scroll-position" | string;
36673
36674type Attachment = "fixed" | "local" | "scroll";
36675
36676type BgPosition<TLength> = TLength | "bottom" | "center" | "left" | "right" | "top" | string;
36677
36678type BgSize<TLength> = TLength | "auto" | "contain" | "cover" | string;
36679
36680type BlendMode =
36681  | "color"
36682  | "color-burn"
36683  | "color-dodge"
36684  | "darken"
36685  | "difference"
36686  | "exclusion"
36687  | "hard-light"
36688  | "hue"
36689  | "lighten"
36690  | "luminosity"
36691  | "multiply"
36692  | "normal"
36693  | "overlay"
36694  | "saturation"
36695  | "screen"
36696  | "soft-light";
36697
36698type Box = "border-box" | "content-box" | "padding-box";
36699
36700type Color = NamedColor | DeprecatedSystemColor | "currentcolor" | string;
36701
36702type CompatAuto = "checkbox" | "listbox" | "menulist" | "meter" | "progress-bar" | "push-button" | "radio" | "searchfield" | "slider-horizontal" | "square-button" | "textarea";
36703
36704type CompositeStyle =
36705  | "clear"
36706  | "copy"
36707  | "destination-atop"
36708  | "destination-in"
36709  | "destination-out"
36710  | "destination-over"
36711  | "source-atop"
36712  | "source-in"
36713  | "source-out"
36714  | "source-over"
36715  | "xor";
36716
36717type CompositingOperator = "add" | "exclude" | "intersect" | "subtract";
36718
36719type ContentDistribution = "space-around" | "space-between" | "space-evenly" | "stretch";
36720
36721type ContentList = Quote | "contents" | string;
36722
36723type ContentPosition = "center" | "end" | "flex-end" | "flex-start" | "start";
36724
36725type CubicBezierTimingFunction = "ease" | "ease-in" | "ease-in-out" | "ease-out" | string;
36726
36727type Dasharray<TLength> = TLength | string | number;
36728
36729type DeprecatedSystemColor =
36730  | "ActiveBorder"
36731  | "ActiveCaption"
36732  | "AppWorkspace"
36733  | "Background"
36734  | "ButtonFace"
36735  | "ButtonHighlight"
36736  | "ButtonShadow"
36737  | "ButtonText"
36738  | "CaptionText"
36739  | "GrayText"
36740  | "Highlight"
36741  | "HighlightText"
36742  | "InactiveBorder"
36743  | "InactiveCaption"
36744  | "InactiveCaptionText"
36745  | "InfoBackground"
36746  | "InfoText"
36747  | "Menu"
36748  | "MenuText"
36749  | "Scrollbar"
36750  | "ThreeDDarkShadow"
36751  | "ThreeDFace"
36752  | "ThreeDHighlight"
36753  | "ThreeDLightShadow"
36754  | "ThreeDShadow"
36755  | "Window"
36756  | "WindowFrame"
36757  | "WindowText";
36758
36759type DisplayInside = "-ms-flexbox" | "-ms-grid" | "-webkit-flex" | "flex" | "flow" | "flow-root" | "grid" | "ruby" | "table";
36760
36761type DisplayInternal =
36762  | "ruby-base"
36763  | "ruby-base-container"
36764  | "ruby-text"
36765  | "ruby-text-container"
36766  | "table-caption"
36767  | "table-cell"
36768  | "table-column"
36769  | "table-column-group"
36770  | "table-footer-group"
36771  | "table-header-group"
36772  | "table-row"
36773  | "table-row-group";
36774
36775type DisplayLegacy = "-ms-inline-flexbox" | "-ms-inline-grid" | "-webkit-inline-flex" | "inline-block" | "inline-flex" | "inline-grid" | "inline-list-item" | "inline-table";
36776
36777type DisplayOutside = "block" | "inline" | "run-in";
36778
36779type EastAsianVariantValues = "jis04" | "jis78" | "jis83" | "jis90" | "simplified" | "traditional";
36780
36781type FinalBgLayer<TLength> = Color | BgPosition<TLength> | RepeatStyle | Attachment | Box | "none" | string;
36782
36783type FontStretchAbsolute =
36784  | "condensed"
36785  | "expanded"
36786  | "extra-condensed"
36787  | "extra-expanded"
36788  | "normal"
36789  | "semi-condensed"
36790  | "semi-expanded"
36791  | "ultra-condensed"
36792  | "ultra-expanded"
36793  | string;
36794
36795type FontWeightAbsolute = "bold" | "normal" | number;
36796
36797type GenericFamily = "cursive" | "fantasy" | "monospace" | "sans-serif" | "serif";
36798
36799type GeometryBox = Box | "fill-box" | "margin-box" | "stroke-box" | "view-box";
36800
36801type GridLine = "auto" | string | number;
36802
36803type LineStyle = "dashed" | "dotted" | "double" | "groove" | "hidden" | "inset" | "none" | "outset" | "ridge" | "solid";
36804
36805type LineWidth<TLength> = TLength | "medium" | "thick" | "thin";
36806
36807type MaskLayer<TLength> = Position<TLength> | RepeatStyle | GeometryBox | CompositingOperator | MaskingMode | "no-clip" | "none" | string;
36808
36809type MaskingMode = "alpha" | "luminance" | "match-source";
36810
36811type NamedColor =
36812  | "aliceblue"
36813  | "antiquewhite"
36814  | "aqua"
36815  | "aquamarine"
36816  | "azure"
36817  | "beige"
36818  | "bisque"
36819  | "black"
36820  | "blanchedalmond"
36821  | "blue"
36822  | "blueviolet"
36823  | "brown"
36824  | "burlywood"
36825  | "cadetblue"
36826  | "chartreuse"
36827  | "chocolate"
36828  | "coral"
36829  | "cornflowerblue"
36830  | "cornsilk"
36831  | "crimson"
36832  | "cyan"
36833  | "darkblue"
36834  | "darkcyan"
36835  | "darkgoldenrod"
36836  | "darkgray"
36837  | "darkgreen"
36838  | "darkgrey"
36839  | "darkkhaki"
36840  | "darkmagenta"
36841  | "darkolivegreen"
36842  | "darkorange"
36843  | "darkorchid"
36844  | "darkred"
36845  | "darksalmon"
36846  | "darkseagreen"
36847  | "darkslateblue"
36848  | "darkslategray"
36849  | "darkslategrey"
36850  | "darkturquoise"
36851  | "darkviolet"
36852  | "deeppink"
36853  | "deepskyblue"
36854  | "dimgray"
36855  | "dimgrey"
36856  | "dodgerblue"
36857  | "firebrick"
36858  | "floralwhite"
36859  | "forestgreen"
36860  | "fuchsia"
36861  | "gainsboro"
36862  | "ghostwhite"
36863  | "gold"
36864  | "goldenrod"
36865  | "gray"
36866  | "green"
36867  | "greenyellow"
36868  | "grey"
36869  | "honeydew"
36870  | "hotpink"
36871  | "indianred"
36872  | "indigo"
36873  | "ivory"
36874  | "khaki"
36875  | "lavender"
36876  | "lavenderblush"
36877  | "lawngreen"
36878  | "lemonchiffon"
36879  | "lightblue"
36880  | "lightcoral"
36881  | "lightcyan"
36882  | "lightgoldenrodyellow"
36883  | "lightgray"
36884  | "lightgreen"
36885  | "lightgrey"
36886  | "lightpink"
36887  | "lightsalmon"
36888  | "lightseagreen"
36889  | "lightskyblue"
36890  | "lightslategray"
36891  | "lightslategrey"
36892  | "lightsteelblue"
36893  | "lightyellow"
36894  | "lime"
36895  | "limegreen"
36896  | "linen"
36897  | "magenta"
36898  | "maroon"
36899  | "mediumaquamarine"
36900  | "mediumblue"
36901  | "mediumorchid"
36902  | "mediumpurple"
36903  | "mediumseagreen"
36904  | "mediumslateblue"
36905  | "mediumspringgreen"
36906  | "mediumturquoise"
36907  | "mediumvioletred"
36908  | "midnightblue"
36909  | "mintcream"
36910  | "mistyrose"
36911  | "moccasin"
36912  | "navajowhite"
36913  | "navy"
36914  | "oldlace"
36915  | "olive"
36916  | "olivedrab"
36917  | "orange"
36918  | "orangered"
36919  | "orchid"
36920  | "palegoldenrod"
36921  | "palegreen"
36922  | "paleturquoise"
36923  | "palevioletred"
36924  | "papayawhip"
36925  | "peachpuff"
36926  | "peru"
36927  | "pink"
36928  | "plum"
36929  | "powderblue"
36930  | "purple"
36931  | "rebeccapurple"
36932  | "red"
36933  | "rosybrown"
36934  | "royalblue"
36935  | "saddlebrown"
36936  | "salmon"
36937  | "sandybrown"
36938  | "seagreen"
36939  | "seashell"
36940  | "sienna"
36941  | "silver"
36942  | "skyblue"
36943  | "slateblue"
36944  | "slategray"
36945  | "slategrey"
36946  | "snow"
36947  | "springgreen"
36948  | "steelblue"
36949  | "tan"
36950  | "teal"
36951  | "thistle"
36952  | "tomato"
36953  | "transparent"
36954  | "turquoise"
36955  | "violet"
36956  | "wheat"
36957  | "white"
36958  | "whitesmoke"
36959  | "yellow"
36960  | "yellowgreen";
36961
36962type Paint = Color | "child" | "context-fill" | "context-stroke" | "none" | string;
36963
36964type Position<TLength> = TLength | "bottom" | "center" | "left" | "right" | "top" | string;
36965
36966type Quote = "close-quote" | "no-close-quote" | "no-open-quote" | "open-quote";
36967
36968type RepeatStyle = "no-repeat" | "repeat" | "repeat-x" | "repeat-y" | "round" | "space" | string;
36969
36970type SelfPosition = "center" | "end" | "flex-end" | "flex-start" | "self-end" | "self-start" | "start";
36971
36972type SingleAnimation = TimingFunction | SingleAnimationDirection | SingleAnimationFillMode | "infinite" | "none" | "paused" | "running" | string | number;
36973
36974type SingleAnimationDirection = "alternate" | "alternate-reverse" | "normal" | "reverse";
36975
36976type SingleAnimationFillMode = "backwards" | "both" | "forwards" | "none";
36977
36978type SingleTransition = TimingFunction | "all" | "none" | string;
36979
36980type StepTimingFunction = "step-end" | "step-start" | string;
36981
36982type TimingFunction = CubicBezierTimingFunction | StepTimingFunction | "linear";
36983
36984type TrackBreadth<TLength> = TLength | "auto" | "max-content" | "min-content" | string;
36985
36986type ViewportLength<TLength> = TLength | "auto" | string;
36987