├── CHANGELOG.md
├── LICENSE
├── README.md
├── css.ts
├── html.ts
└── jsx-runtime.ts
/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | # Changelog
2 | All notable changes to this project will be documented in this file.
3 |
4 | The format is based on [Keep a Changelog](https://keepachangelog.com/)
5 | and this project adheres to [Semantic Versioning](https://semver.org/).
6 |
7 | ## [0.1.10] - 2025-05-14
8 | ### Added
9 | - New `await .toString()` method to render the component.
10 | - Example for Node.js/Bun
11 |
12 | ### Fixed
13 | - Import the types with `import type`.
14 |
15 | ## [0.1.9] - 2025-05-01
16 | ### Fixed
17 | - Error rendering invalid components.
18 | - Updated HTML & CSS types.
19 |
20 | ## [0.1.8] - 2025-03-27
21 | ### Added
22 | - Types for SVG elements
23 |
24 | ### Fixed
25 | - Performance: removed unnecessary regular expressions.
26 | - Updated HTML & CSS types
27 |
28 | ## [0.1.7] - 2025-03-21
29 | ### Fixed
30 | - Render errors when the content is `false`.
31 | - Improved types.
32 |
33 | ## [0.1.6] - 2025-03-06
34 | ### Fixed
35 | - Alias `className` and `htmlFor` to `class` and `for` attributes.
36 |
37 | ## [0.1.5] - 2025-01-29
38 | ### Fixed
39 | - Fragment rendering.
40 |
41 | ## [0.1.4] - 2025-01-25
42 | ### Added
43 | - CSS types.
44 | - Benchmark to compare with React and Preact.
45 |
46 | ### Changed
47 | - Make `ssxElement` property not enumerable.
48 |
49 | ## [0.1.3] - 2025-01-06
50 | ### Added
51 | - Export `renderComponent` function.
52 | - Publish on NPM.
53 | - Symbol to check if an object is a SSX element.
54 |
55 | ### Fixed
56 | - Void elements.
57 | - Support for non `precompile` context
58 | - `children` attribute for custom components
59 | - Fragment rendering.
60 |
61 | ## [0.1.2] - 2024-12-05
62 | ### Fixed
63 | - Allow types `string | number` for numeric attributes (like `tabindex`), instead of only `string`.
64 |
65 | ## [0.1.1] - 2024-07-23
66 | ### Added
67 | - Support for `dangerouslySetInnerHTML` for compatibility with other JSX libraries.
68 |
69 | ### Fixed
70 | - Bug rendering inner components and some async properties.
71 |
72 | ## [0.1.0] - 2024-07-20
73 | First version
74 |
75 | [0.1.10]: https://github.com/oscarotero/ssx/compare/v0.1.9...v0.1.10
76 | [0.1.9]: https://github.com/oscarotero/ssx/compare/v0.1.8...v0.1.9
77 | [0.1.8]: https://github.com/oscarotero/ssx/compare/v0.1.7...v0.1.8
78 | [0.1.7]: https://github.com/oscarotero/ssx/compare/v0.1.6...v0.1.7
79 | [0.1.6]: https://github.com/oscarotero/ssx/compare/v0.1.5...v0.1.6
80 | [0.1.5]: https://github.com/oscarotero/ssx/compare/v0.1.4...v0.1.5
81 | [0.1.4]: https://github.com/oscarotero/ssx/compare/v0.1.3...v0.1.4
82 | [0.1.3]: https://github.com/oscarotero/ssx/compare/v0.1.2...v0.1.3
83 | [0.1.2]: https://github.com/oscarotero/ssx/compare/v0.1.1...v0.1.2
84 | [0.1.1]: https://github.com/oscarotero/ssx/compare/v0.1.0...v0.1.1
85 | [0.1.0]: https://github.com/oscarotero/ssx/releases/tag/v0.1.0
86 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2025 Óscar Otero
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # SSX
2 |
3 | JSX is terrible for frontend. But it's an acceptable way to create HTML code in
4 | server side, specially if it's supported by default by TypeScript and Deno.
5 |
6 | Most of the current JSX libraries are designed to work in server and client
7 | sides. They do complicated things like a virtual DOM, reactivity, hooks,
8 | hydration, events, etc, in order to create interactive user interfaces.
9 |
10 | SSX is a minimal JSX library designed to be used ONLY in server side and output
11 | plain HTML code.
12 |
13 | - Created in TypeScript, for Deno.
14 | - Very fast. It's compatible with the
15 | [`precompile` option](https://deno.com/blog/v1.38#fastest-jsx-transform)
16 | available in Deno.
17 | > 7-20x faster rendering times and a 50% reduction in Garbage Collection
18 | > times.
19 | - Run `deno task bench` to compare SSX with React, Hono and Preact.
20 | - Designed to output HTML. It uses real HTML attributes (no more `className`).
21 | - Great HTML and CSS documentation. Every element and property has a description
22 | and even links to [MDN documentation](https://developer.mozilla.org/). Types
23 | are generated using the data from
24 | [VSCode Custom Data](https://github.com/microsoft/vscode-custom-data).
25 | - It supports async components (components returning a Promise).
26 | - Allows to insert raw HTML code easily (without patronizing you).
27 | - You can add the `` declaration.
28 |
29 | ## Configuration
30 |
31 | In your `deno.json` file:
32 |
33 | ```json
34 | {
35 | "compilerOptions": {
36 | "jsx": "react-jsx",
37 | "jsxImportSource": "ssx"
38 | },
39 | "imports": {
40 | "ssx/jsx-runtime": "https://deno.land/x/ssx/jsx-runtime.ts"
41 | }
42 | }
43 | ```
44 |
45 | Alternatively, you can use
46 | [JsDelivr as CDN](https://cdn.jsdelivr.net/gh/oscarotero/ssx/).
47 |
48 | ## Using NPM specifier
49 |
50 | SSX is also
51 | [published on NPM as `@lumeland/ssx`](https://www.npmjs.com/package/@lumeland/ssx):
52 |
53 | ```json
54 | {
55 | "compilerOptions": {
56 | "jsx": "react-jsx",
57 | "jsxImportSource": "npm:@lumeland/ssx"
58 | }
59 | }
60 | ```
61 |
62 | ## Use with Node and Bun
63 |
64 | If you want to use SSX with Node.js or Bun, see the `/node` folder for an
65 | example setup using this package in a Node environment.
66 |
67 | ## Example:
68 |
69 | ```jsx
70 | // Main component
71 | function Main() {
72 | return (
73 |
95 | {children}
96 | >
97 | );
98 | }
99 |
100 | // String with the HTML code
101 | console.log(await Main());
102 | ```
103 |
104 | ### Adding Doctype:
105 |
106 | Any child with the shape `{ __html: string }` is treated as raw HTML and will
107 | not be escaped. This allows you to insert the `` declaration
108 | directly (something not possible in other JSX libraries):
109 |
110 | ```html
111 | {{ __html: "" }}
112 |
113 | ...
114 | ;
115 | ```
116 |
--------------------------------------------------------------------------------
/css.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * All CSS properties
3 | */
4 | export interface CSSProperties {
5 | /**
6 | * Custom property
7 | */
8 | [key: string]: unknown;
9 |
10 | /**
11 | * Sets the color of the elements accent
12 | * @see https://developer.mozilla.org/docs/Web/CSS/accent-color
13 | */
14 | "accent-color"?: string;
15 |
16 | /**
17 | * Aligns a flex container's lines within the flex container when there is extra space in the cross-axis, similar to how 'justify-content' aligns individual items within the main-axis.
18 | * Syntax: normal | | | ?
19 | * @see https://developer.mozilla.org/docs/Web/CSS/align-content
20 | */
21 | "align-content"?:
22 | | "center"
23 | | "flex-end"
24 | | "flex-start"
25 | | "space-around"
26 | | "space-between"
27 | | "stretch"
28 | | "start"
29 | | "end"
30 | | "normal"
31 | | "baseline"
32 | | "first baseline"
33 | | "last baseline"
34 | | "space-around"
35 | | "space-between"
36 | | "space-evenly"
37 | | "stretch"
38 | | "safe"
39 | | "unsafe"
40 | | string;
41 |
42 | /**
43 | * Aligns flex items along the cross axis of the current line of the flex container.
44 | * Syntax: normal | stretch | | [ ? ]
45 | * @see https://developer.mozilla.org/docs/Web/CSS/align-items
46 | */
47 | "align-items"?:
48 | | "baseline"
49 | | "center"
50 | | "flex-end"
51 | | "flex-start"
52 | | "stretch"
53 | | "normal"
54 | | "start"
55 | | "end"
56 | | "self-start"
57 | | "self-end"
58 | | "first baseline"
59 | | "last baseline"
60 | | "stretch"
61 | | "safe"
62 | | "unsafe"
63 | | string;
64 |
65 | /**
66 | * Allows the default alignment along the cross axis to be overridden for individual flex items.
67 | * Syntax: auto | normal | stretch | | ?
68 | * @see https://developer.mozilla.org/docs/Web/CSS/align-self
69 | */
70 | "align-self"?:
71 | | "auto"
72 | | "normal"
73 | | "self-end"
74 | | "self-start"
75 | | "baseline"
76 | | "center"
77 | | "flex-end"
78 | | "flex-start"
79 | | "stretch"
80 | | "baseline"
81 | | "first baseline"
82 | | "last baseline"
83 | | "safe"
84 | | "unsafe"
85 | | string;
86 |
87 | /**
88 | * The alignment-baseline CSS property specifies the specific baseline used to align the box's text and inline-level contents. Baseline alignment is the relationship among the baselines of multiple alignment subjects within an alignment context. When performing baseline alignment, the alignment-baseline property value specifies which baseline of the box is aligned to the corresponding baseline of its alignment context.
89 | * Syntax: baseline | alphabetic | ideographic | middle | central | mathematical | text-before-edge | text-after-edge
90 | * @see https://developer.mozilla.org/docs/Web/CSS/alignment-baseline
91 | */
92 | "alignment-baseline"?:
93 | | "baseline"
94 | | "alphabetic"
95 | | "ideographic"
96 | | "middle"
97 | | "central"
98 | | "mathematical"
99 | | "text-before-edge"
100 | | "text-after-edge";
101 |
102 | /**
103 | * Shorthand that resets all properties except 'direction' and 'unicode-bidi'.
104 | * @see https://developer.mozilla.org/docs/Web/CSS/all
105 | */
106 | all?: string;
107 |
108 | /**
109 | * Provides alternative text for assistive technology to replace the generated content of a ::before or ::after element.
110 | */
111 | alt?: string;
112 |
113 | /**
114 | * The anchor-name property declares that an element is an anchor element, and gives it a list of anchor names to be targeted by.
115 | * @see https://developer.mozilla.org/docs/Web/CSS/anchor-name
116 | */
117 | "anchor-name"?: string;
118 |
119 | /**
120 | * This property scopes the specified anchor names, and lookups for these anchor names, to this element’s subtree
121 | */
122 | "anchor-scope"?: string;
123 |
124 | /**
125 | * Shorthand property combines six of the animation properties into a single property.
126 | * Syntax: #
127 | * @see https://developer.mozilla.org/docs/Web/CSS/animation
128 | */
129 | animation?:
130 | | "alternate"
131 | | "alternate-reverse"
132 | | "backwards"
133 | | "both"
134 | | "forwards"
135 | | "infinite"
136 | | "none"
137 | | "normal"
138 | | "reverse"
139 | | string;
140 |
141 | /**
142 | * The composite operation to use when multiple animations affect the same property.
143 | * @see https://developer.mozilla.org/docs/Web/CSS/animation-composition
144 | */
145 | "animation-composition"?: string;
146 |
147 | /**
148 | * Defines when the animation will start.
149 | * @see https://developer.mozilla.org/docs/Web/CSS/animation-delay
150 | */
151 | "animation-delay"?: string;
152 |
153 | /**
154 | * Defines whether or not the animation should play in reverse on alternate cycles.
155 | * Syntax: #
156 | * @see https://developer.mozilla.org/docs/Web/CSS/animation-direction
157 | */
158 | "animation-direction"?:
159 | | "alternate"
160 | | "alternate-reverse"
161 | | "normal"
162 | | "reverse"
163 | | string;
164 |
165 | /**
166 | * Defines the length of time that an animation takes to complete one cycle.
167 | * @see https://developer.mozilla.org/docs/Web/CSS/animation-duration
168 | */
169 | "animation-duration"?: string;
170 |
171 | /**
172 | * Defines what values are applied by the animation outside the time it is executing.
173 | * Syntax: #
174 | * @see https://developer.mozilla.org/docs/Web/CSS/animation-fill-mode
175 | */
176 | "animation-fill-mode"?: "backwards" | "both" | "forwards" | "none" | string;
177 |
178 | /**
179 | * Defines the number of times an animation cycle is played. The default value is one, meaning the animation will play from beginning to end once.
180 | * Syntax: #
181 | * @see https://developer.mozilla.org/docs/Web/CSS/animation-iteration-count
182 | */
183 | "animation-iteration-count"?: "infinite" | string;
184 |
185 | /**
186 | * Defines a list of animations that apply. Each name is used to select the keyframe at-rule that provides the property values for the animation.
187 | * Syntax: [ none | ]#
188 | * @see https://developer.mozilla.org/docs/Web/CSS/animation-name
189 | */
190 | "animation-name"?: "none" | string;
191 |
192 | /**
193 | * Defines whether the animation is running or paused.
194 | * Syntax: #
195 | * @see https://developer.mozilla.org/docs/Web/CSS/animation-play-state
196 | */
197 | "animation-play-state"?: "paused" | "running" | string;
198 |
199 | /**
200 | * The animation-range CSS shorthand property is used to set the start and end of an animation's attachment range along its timeline, i.e. where along the timeline an animation will start and end.
201 | * @see https://developer.mozilla.org/docs/Web/CSS/animation-range
202 | */
203 | "animation-range"?: string;
204 |
205 | /**
206 | * The animation-range-end CSS property is used to set the end of an animation's attachment range along its timeline, i.e. where along the timeline an animation will end.
207 | * @see https://developer.mozilla.org/docs/Web/CSS/animation-range-end
208 | */
209 | "animation-range-end"?: string;
210 |
211 | /**
212 | * The animation-range-start CSS property is used to set the start of an animation's attachment range along its timeline, i.e. where along the timeline an animation will start.
213 | * @see https://developer.mozilla.org/docs/Web/CSS/animation-range-start
214 | */
215 | "animation-range-start"?: string;
216 |
217 | /**
218 | * Specifies the names of one or more @scroll-timeline at-rules to describe the element's scroll animations.
219 | * @see https://developer.mozilla.org/docs/Web/CSS/animation-timeline
220 | */
221 | "animation-timeline"?: string;
222 |
223 | /**
224 | * Describes how the animation will progress over one cycle of its duration.
225 | * @see https://developer.mozilla.org/docs/Web/CSS/animation-timing-function
226 | */
227 | "animation-timing-function"?: string;
228 |
229 | /**
230 | * Changes the appearance of buttons and other controls to resemble native controls.
231 | * @see https://developer.mozilla.org/docs/Web/CSS/appearance
232 | */
233 | appearance?: string;
234 |
235 | /**
236 | * 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.
237 | * @see https://developer.mozilla.org/docs/Web/CSS/aspect-ratio
238 | */
239 | "aspect-ratio"?: string;
240 |
241 | /**
242 | * 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.
243 | * @see https://developer.mozilla.org/docs/Web/CSS/backdrop-filter
244 | */
245 | "backdrop-filter"?: string;
246 |
247 | /**
248 | * Determines whether or not the 'back' side of a transformed element is visible when facing the viewer. With an identity transform, the front side of an element faces the viewer.
249 | * Syntax: visible | hidden
250 | * @see https://developer.mozilla.org/docs/Web/CSS/backface-visibility
251 | */
252 | "backface-visibility"?: "hidden" | "visible";
253 |
254 | /**
255 | * Shorthand property for setting most background properties at the same place in the style sheet.
256 | * Syntax: [ , ]*
257 | * @see https://developer.mozilla.org/docs/Web/CSS/background
258 | */
259 | background?: "fixed" | "local" | "none" | "scroll" | string | 0;
260 |
261 | /**
262 | * Specifies whether the background images are fixed with regard to the viewport ('fixed') or scroll along with the element ('scroll') or its contents ('local').
263 | * Syntax: #
264 | * @see https://developer.mozilla.org/docs/Web/CSS/background-attachment
265 | */
266 | "background-attachment"?: "fixed" | "local" | "scroll" | string;
267 |
268 | /**
269 | * Defines the blending mode of each background layer.
270 | * Syntax: #
271 | * @see https://developer.mozilla.org/docs/Web/CSS/background-blend-mode
272 | */
273 | "background-blend-mode"?:
274 | | "normal"
275 | | "multiply"
276 | | "screen"
277 | | "overlay"
278 | | "darken"
279 | | "lighten"
280 | | "color-dodge"
281 | | "color-burn"
282 | | "hard-light"
283 | | "soft-light"
284 | | "difference"
285 | | "exclusion"
286 | | "hue"
287 | | "saturation"
288 | | "color"
289 | | "luminosity"
290 | | string;
291 |
292 | /**
293 | * Determines the background painting area.
294 | * @see https://developer.mozilla.org/docs/Web/CSS/background-clip
295 | */
296 | "background-clip"?: string;
297 |
298 | /**
299 | * Sets the background color of an element.
300 | * @see https://developer.mozilla.org/docs/Web/CSS/background-color
301 | */
302 | "background-color"?: string;
303 |
304 | /**
305 | * Sets the background image(s) of an element.
306 | * Syntax: #
307 | * @see https://developer.mozilla.org/docs/Web/CSS/background-image
308 | */
309 | "background-image"?: "none" | string;
310 |
311 | /**
312 | * For elements rendered as a single box, specifies the background positioning area. For elements rendered as multiple boxes (e.g., inline boxes on several lines, boxes on several pages) specifies which boxes 'box-decoration-break' operates on to determine the background positioning area(s).
313 | * @see https://developer.mozilla.org/docs/Web/CSS/background-origin
314 | */
315 | "background-origin"?: string;
316 |
317 | /**
318 | * Specifies the initial position of the background image(s) (after any resizing) within their corresponding background positioning area.
319 | * @see https://developer.mozilla.org/docs/Web/CSS/background-position
320 | */
321 | "background-position"?: string;
322 |
323 | /**
324 | * If background images have been specified, this property specifies their initial position (after any resizing) within their corresponding background positioning area.
325 | * Syntax: [ center | [ [ left | right | x-start | x-end ]? ? ]! ]#
326 | * @see https://developer.mozilla.org/docs/Web/CSS/background-position-x
327 | */
328 | "background-position-x"?: "center" | "left" | "right" | string | 0;
329 |
330 | /**
331 | * If background images have been specified, this property specifies their initial position (after any resizing) within their corresponding background positioning area.
332 | * Syntax: [ center | [ [ top | bottom | y-start | y-end ]? ? ]! ]#
333 | * @see https://developer.mozilla.org/docs/Web/CSS/background-position-y
334 | */
335 | "background-position-y"?: "bottom" | "center" | "top" | string | 0;
336 |
337 | /**
338 | * Specifies how background images are tiled after they have been sized and positioned.
339 | * @see https://developer.mozilla.org/docs/Web/CSS/background-repeat
340 | */
341 | "background-repeat"?: string;
342 |
343 | /**
344 | * Specifies the size of the background images.
345 | * Syntax: #
346 | * @see https://developer.mozilla.org/docs/Web/CSS/background-size
347 | */
348 | "background-size"?: "auto" | "contain" | "cover" | string | 0;
349 |
350 | "baseline-shift"?: string;
351 |
352 | /**
353 | * IE only. Used to extend behaviors of the browser.
354 | */
355 | behavior?: string;
356 |
357 | /**
358 | * Size of an element in the direction opposite that of the direction specified by 'writing-mode'.
359 | * Syntax: <'width'>
360 | * @see https://developer.mozilla.org/docs/Web/CSS/block-size
361 | */
362 | "block-size"?: "auto" | string | 0;
363 |
364 | /**
365 | * Shorthand property for setting border width, style, and color.
366 | * @see https://developer.mozilla.org/docs/Web/CSS/border
367 | */
368 | border?: string;
369 |
370 | /**
371 | * 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.
372 | * @see https://developer.mozilla.org/docs/Web/CSS/border-block
373 | */
374 | "border-block"?: string;
375 |
376 | /**
377 | * 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.
378 | * @see https://developer.mozilla.org/docs/Web/CSS/border-block-color
379 | */
380 | "border-block-color"?: string;
381 |
382 | /**
383 | * Logical 'border-bottom'. Mapping depends on the parent element's 'writing-mode', 'direction', and 'text-orientation'.
384 | * @see https://developer.mozilla.org/docs/Web/CSS/border-block-end
385 | */
386 | "border-block-end"?: string;
387 |
388 | /**
389 | * Logical 'border-bottom-color'. Mapping depends on the parent element's 'writing-mode', 'direction', and 'text-orientation'.
390 | * @see https://developer.mozilla.org/docs/Web/CSS/border-block-end-color
391 | */
392 | "border-block-end-color"?: string;
393 |
394 | /**
395 | * Logical 'border-bottom-style'. Mapping depends on the parent element's 'writing-mode', 'direction', and 'text-orientation'.
396 | * @see https://developer.mozilla.org/docs/Web/CSS/border-block-end-style
397 | */
398 | "border-block-end-style"?: string;
399 |
400 | /**
401 | * Logical 'border-bottom-width'. Mapping depends on the parent element's 'writing-mode', 'direction', and 'text-orientation'.
402 | * @see https://developer.mozilla.org/docs/Web/CSS/border-block-end-width
403 | */
404 | "border-block-end-width"?: string;
405 |
406 | /**
407 | * Logical 'border-top'. Mapping depends on the parent element's 'writing-mode', 'direction', and 'text-orientation'.
408 | * @see https://developer.mozilla.org/docs/Web/CSS/border-block-start
409 | */
410 | "border-block-start"?: string;
411 |
412 | /**
413 | * Logical 'border-top-color'. Mapping depends on the parent element's 'writing-mode', 'direction', and 'text-orientation'.
414 | * @see https://developer.mozilla.org/docs/Web/CSS/border-block-start-color
415 | */
416 | "border-block-start-color"?: string;
417 |
418 | /**
419 | * Logical 'border-top-style'. Mapping depends on the parent element's 'writing-mode', 'direction', and 'text-orientation'.
420 | * @see https://developer.mozilla.org/docs/Web/CSS/border-block-start-style
421 | */
422 | "border-block-start-style"?: string;
423 |
424 | /**
425 | * Logical 'border-top-width'. Mapping depends on the parent element's 'writing-mode', 'direction', and 'text-orientation'.
426 | * @see https://developer.mozilla.org/docs/Web/CSS/border-block-start-width
427 | */
428 | "border-block-start-width"?: string;
429 |
430 | /**
431 | * 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.
432 | * @see https://developer.mozilla.org/docs/Web/CSS/border-block-style
433 | */
434 | "border-block-style"?: string;
435 |
436 | /**
437 | * 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.
438 | * @see https://developer.mozilla.org/docs/Web/CSS/border-block-width
439 | */
440 | "border-block-width"?: string;
441 |
442 | /**
443 | * Shorthand property for setting border width, style and color.
444 | * @see https://developer.mozilla.org/docs/Web/CSS/border-bottom
445 | */
446 | "border-bottom"?: string;
447 |
448 | /**
449 | * Sets the color of the bottom border.
450 | * @see https://developer.mozilla.org/docs/Web/CSS/border-bottom-color
451 | */
452 | "border-bottom-color"?: string;
453 |
454 | /**
455 | * Defines the radii of the bottom left outer border edge.
456 | * @see https://developer.mozilla.org/docs/Web/CSS/border-bottom-left-radius
457 | */
458 | "border-bottom-left-radius"?: string;
459 |
460 | /**
461 | * Defines the radii of the bottom right outer border edge.
462 | * @see https://developer.mozilla.org/docs/Web/CSS/border-bottom-right-radius
463 | */
464 | "border-bottom-right-radius"?: string;
465 |
466 | /**
467 | * Sets the style of the bottom border.
468 | * @see https://developer.mozilla.org/docs/Web/CSS/border-bottom-style
469 | */
470 | "border-bottom-style"?: string;
471 |
472 | /**
473 | * Sets the thickness of the bottom border.
474 | * @see https://developer.mozilla.org/docs/Web/CSS/border-bottom-width
475 | */
476 | "border-bottom-width"?: string;
477 |
478 | /**
479 | * Selects a table's border model.
480 | * Syntax: collapse | separate
481 | * @see https://developer.mozilla.org/docs/Web/CSS/border-collapse
482 | */
483 | "border-collapse"?: "collapse" | "separate";
484 |
485 | /**
486 | * The color of the border around all four edges of an element.
487 | * @see https://developer.mozilla.org/docs/Web/CSS/border-color
488 | */
489 | "border-color"?: string;
490 |
491 | /**
492 | * 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.
493 | * @see https://developer.mozilla.org/docs/Web/CSS/border-end-end-radius
494 | */
495 | "border-end-end-radius"?: string;
496 |
497 | /**
498 | * 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.
499 | * @see https://developer.mozilla.org/docs/Web/CSS/border-end-start-radius
500 | */
501 | "border-end-start-radius"?: string;
502 |
503 | /**
504 | * Shorthand property for setting 'border-image-source', 'border-image-slice', 'border-image-width', 'border-image-outset' and 'border-image-repeat'. Omitted values are set to their initial values.
505 | * Syntax: <'border-image-source'> || <'border-image-slice'> [ / <'border-image-width'> | / <'border-image-width'>? / <'border-image-outset'> ]? || <'border-image-repeat'>
506 | * @see https://developer.mozilla.org/docs/Web/CSS/border-image
507 | */
508 | "border-image"?:
509 | | "auto"
510 | | "fill"
511 | | "none"
512 | | "repeat"
513 | | "round"
514 | | "space"
515 | | "stretch"
516 | | "url()"
517 | | string
518 | | 0;
519 |
520 | /**
521 | * The values specify the amount by which the border image area extends beyond the border box on the top, right, bottom, and left sides respectively. If the fourth value is absent, it is the same as the second. If the third one is also absent, it is the same as the first. If the second one is also absent, it is the same as the first. Numbers represent multiples of the corresponding border-width.
522 | * @see https://developer.mozilla.org/docs/Web/CSS/border-image-outset
523 | */
524 | "border-image-outset"?: string;
525 |
526 | /**
527 | * Specifies how the images for the sides and the middle part of the border image are scaled and tiled. If the second keyword is absent, it is assumed to be the same as the first.
528 | * Syntax: [ stretch | repeat | round | space ]{1,2}
529 | * @see https://developer.mozilla.org/docs/Web/CSS/border-image-repeat
530 | */
531 | "border-image-repeat"?: "repeat" | "round" | "space" | "stretch";
532 |
533 | /**
534 | * Specifies inward offsets from the top, right, bottom, and left edges of the image, dividing it into nine regions: four corners, four edges and a middle.
535 | * Syntax: {1,4} && fill?
536 | * @see https://developer.mozilla.org/docs/Web/CSS/border-image-slice
537 | */
538 | "border-image-slice"?: "fill" | string;
539 |
540 | /**
541 | * Specifies an image to use instead of the border styles given by the 'border-style' properties and as an additional background layer for the element. If the value is 'none' or if the image cannot be displayed, the border styles will be used.
542 | * Syntax: none |
543 | * @see https://developer.mozilla.org/docs/Web/CSS/border-image-source
544 | */
545 | "border-image-source"?: "none" | string;
546 |
547 | /**
548 | * The four values of 'border-image-width' specify offsets that are used to divide the border image area into nine parts. They represent inward distances from the top, right, bottom, and left sides of the area, respectively.
549 | * Syntax: [ | | auto ]{1,4}
550 | * @see https://developer.mozilla.org/docs/Web/CSS/border-image-width
551 | */
552 | "border-image-width"?: "auto" | string | 0;
553 |
554 | /**
555 | * 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.
556 | * @see https://developer.mozilla.org/docs/Web/CSS/border-inline
557 | */
558 | "border-inline"?: string;
559 |
560 | /**
561 | * 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.
562 | * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-color
563 | */
564 | "border-inline-color"?: string;
565 |
566 | /**
567 | * Logical 'border-right'. Mapping depends on the parent element's 'writing-mode', 'direction', and 'text-orientation'.
568 | * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-end
569 | */
570 | "border-inline-end"?: string;
571 |
572 | /**
573 | * Logical 'border-right-color'. Mapping depends on the parent element's 'writing-mode', 'direction', and 'text-orientation'.
574 | * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-end-color
575 | */
576 | "border-inline-end-color"?: string;
577 |
578 | /**
579 | * Logical 'border-right-style'. Mapping depends on the parent element's 'writing-mode', 'direction', and 'text-orientation'.
580 | * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-end-style
581 | */
582 | "border-inline-end-style"?: string;
583 |
584 | /**
585 | * Logical 'border-right-width'. Mapping depends on the parent element's 'writing-mode', 'direction', and 'text-orientation'.
586 | * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-end-width
587 | */
588 | "border-inline-end-width"?: string;
589 |
590 | /**
591 | * Logical 'border-left'. Mapping depends on the parent element's 'writing-mode', 'direction', and 'text-orientation'.
592 | * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-start
593 | */
594 | "border-inline-start"?: string;
595 |
596 | /**
597 | * Logical 'border-left-color'. Mapping depends on the parent element's 'writing-mode', 'direction', and 'text-orientation'.
598 | * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-start-color
599 | */
600 | "border-inline-start-color"?: string;
601 |
602 | /**
603 | * Logical 'border-left-style'. Mapping depends on the parent element's 'writing-mode', 'direction', and 'text-orientation'.
604 | * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-start-style
605 | */
606 | "border-inline-start-style"?: string;
607 |
608 | /**
609 | * Logical 'border-left-width'. Mapping depends on the parent element's 'writing-mode', 'direction', and 'text-orientation'.
610 | * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-start-width
611 | */
612 | "border-inline-start-width"?: string;
613 |
614 | /**
615 | * 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.
616 | * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-style
617 | */
618 | "border-inline-style"?: string;
619 |
620 | /**
621 | * 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.
622 | * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-width
623 | */
624 | "border-inline-width"?: string;
625 |
626 | /**
627 | * Shorthand property for setting border width, style and color
628 | * @see https://developer.mozilla.org/docs/Web/CSS/border-left
629 | */
630 | "border-left"?: string;
631 |
632 | /**
633 | * Sets the color of the left border.
634 | * @see https://developer.mozilla.org/docs/Web/CSS/border-left-color
635 | */
636 | "border-left-color"?: string;
637 |
638 | /**
639 | * Sets the style of the left border.
640 | * @see https://developer.mozilla.org/docs/Web/CSS/border-left-style
641 | */
642 | "border-left-style"?: string;
643 |
644 | /**
645 | * Sets the thickness of the left border.
646 | * @see https://developer.mozilla.org/docs/Web/CSS/border-left-width
647 | */
648 | "border-left-width"?: string;
649 |
650 | /**
651 | * Defines the radii of the outer border edge.
652 | * @see https://developer.mozilla.org/docs/Web/CSS/border-radius
653 | */
654 | "border-radius"?: string;
655 |
656 | /**
657 | * Shorthand property for setting border width, style and color
658 | * @see https://developer.mozilla.org/docs/Web/CSS/border-right
659 | */
660 | "border-right"?: string;
661 |
662 | /**
663 | * Sets the color of the right border.
664 | * @see https://developer.mozilla.org/docs/Web/CSS/border-right-color
665 | */
666 | "border-right-color"?: string;
667 |
668 | /**
669 | * Sets the style of the right border.
670 | * @see https://developer.mozilla.org/docs/Web/CSS/border-right-style
671 | */
672 | "border-right-style"?: string;
673 |
674 | /**
675 | * Sets the thickness of the right border.
676 | * @see https://developer.mozilla.org/docs/Web/CSS/border-right-width
677 | */
678 | "border-right-width"?: string;
679 |
680 | /**
681 | * The lengths specify the distance that separates adjoining cell borders. If one length is specified, it gives both the horizontal and vertical spacing. If two are specified, the first gives the horizontal spacing and the second the vertical spacing. Lengths may not be negative.
682 | * @see https://developer.mozilla.org/docs/Web/CSS/border-spacing
683 | */
684 | "border-spacing"?: string;
685 |
686 | /**
687 | * 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.
688 | * @see https://developer.mozilla.org/docs/Web/CSS/border-start-end-radius
689 | */
690 | "border-start-end-radius"?: string;
691 |
692 | /**
693 | * 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.
694 | * @see https://developer.mozilla.org/docs/Web/CSS/border-start-start-radius
695 | */
696 | "border-start-start-radius"?: string;
697 |
698 | /**
699 | * The style of the border around edges of an element.
700 | * @see https://developer.mozilla.org/docs/Web/CSS/border-style
701 | */
702 | "border-style"?: string;
703 |
704 | /**
705 | * Shorthand property for setting border width, style and color
706 | * @see https://developer.mozilla.org/docs/Web/CSS/border-top
707 | */
708 | "border-top"?: string;
709 |
710 | /**
711 | * Sets the color of the top border.
712 | * @see https://developer.mozilla.org/docs/Web/CSS/border-top-color
713 | */
714 | "border-top-color"?: string;
715 |
716 | /**
717 | * Defines the radii of the top left outer border edge.
718 | * @see https://developer.mozilla.org/docs/Web/CSS/border-top-left-radius
719 | */
720 | "border-top-left-radius"?: string;
721 |
722 | /**
723 | * Defines the radii of the top right outer border edge.
724 | * @see https://developer.mozilla.org/docs/Web/CSS/border-top-right-radius
725 | */
726 | "border-top-right-radius"?: string;
727 |
728 | /**
729 | * Sets the style of the top border.
730 | * @see https://developer.mozilla.org/docs/Web/CSS/border-top-style
731 | */
732 | "border-top-style"?: string;
733 |
734 | /**
735 | * Sets the thickness of the top border.
736 | * @see https://developer.mozilla.org/docs/Web/CSS/border-top-width
737 | */
738 | "border-top-width"?: string;
739 |
740 | /**
741 | * Shorthand that sets the four 'border-*-width' properties. If it has four values, they set top, right, bottom and left in that order. If left is missing, it is the same as right; if bottom is missing, it is the same as top; if right is missing, it is the same as top.
742 | * @see https://developer.mozilla.org/docs/Web/CSS/border-width
743 | */
744 | "border-width"?: string;
745 |
746 | /**
747 | * Specifies how far an absolutely positioned box's bottom margin edge is offset above the bottom edge of the box's 'containing block'.
748 | * Syntax: | | auto
749 | * @see https://developer.mozilla.org/docs/Web/CSS/bottom
750 | */
751 | bottom?: "auto" | string | 0;
752 |
753 | /**
754 | * 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.
755 | * Syntax: start | center | end | baseline | stretch
756 | * @see https://developer.mozilla.org/docs/Web/CSS/box-align
757 | */
758 | "box-align"?: "start" | "center" | "end" | "baseline" | "stretch";
759 |
760 | /**
761 | * Specifies whether individual boxes are treated as broken pieces of one continuous box, or whether each box is individually wrapped with the border and padding.
762 | * Syntax: slice | clone
763 | * @see https://developer.mozilla.org/docs/Web/CSS/box-decoration-break
764 | */
765 | "box-decoration-break"?: "clone" | "slice";
766 |
767 | /**
768 | * 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).
769 | * Syntax: normal | reverse | inherit
770 | * @see https://developer.mozilla.org/docs/Web/CSS/box-direction
771 | */
772 | "box-direction"?: "normal" | "reverse" | "inherit";
773 |
774 | /**
775 | * 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.
776 | * @see https://developer.mozilla.org/docs/Web/CSS/box-flex
777 | */
778 | "box-flex"?: string;
779 |
780 | /**
781 | * The box-flex-group CSS property assigns the flexbox's child elements to a flex group.
782 | * @see https://developer.mozilla.org/docs/Web/CSS/box-flex-group
783 | */
784 | "box-flex-group"?: string;
785 |
786 | /**
787 | * 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).
788 | * Syntax: single | multiple
789 | * @see https://developer.mozilla.org/docs/Web/CSS/box-lines
790 | */
791 | "box-lines"?: "single" | "multiple";
792 |
793 | /**
794 | * The box-ordinal-group CSS property assigns the flexbox's child elements to an ordinal group.
795 | * @see https://developer.mozilla.org/docs/Web/CSS/box-ordinal-group
796 | */
797 | "box-ordinal-group"?: string;
798 |
799 | /**
800 | * The box-orient CSS property specifies whether an element lays out its contents horizontally or vertically.
801 | * Syntax: horizontal | vertical | inline-axis | block-axis | inherit
802 | * @see https://developer.mozilla.org/docs/Web/CSS/box-orient
803 | */
804 | "box-orient"?:
805 | | "horizontal"
806 | | "vertical"
807 | | "inline-axis"
808 | | "block-axis"
809 | | "inherit";
810 |
811 | /**
812 | * 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.
813 | * Syntax: start | center | end | justify
814 | * @see https://developer.mozilla.org/docs/Web/CSS/box-pack
815 | */
816 | "box-pack"?: "start" | "center" | "end" | "justify";
817 |
818 | /**
819 | * Attaches one or more drop-shadows to the box. The property is a comma-separated list of shadows, each specified by 2-4 length values, an optional color, and an optional 'inset' keyword. Omitted lengths are 0; omitted colors are a user agent chosen color.
820 | * Syntax: none | #
821 | * @see https://developer.mozilla.org/docs/Web/CSS/box-shadow
822 | */
823 | "box-shadow"?: "inset" | "none" | string | 0;
824 |
825 | /**
826 | * Specifies the behavior of the 'width' and 'height' properties.
827 | * Syntax: content-box | border-box
828 | * @see https://developer.mozilla.org/docs/Web/CSS/box-sizing
829 | */
830 | "box-sizing"?: "border-box" | "content-box";
831 |
832 | /**
833 | * Describes the page/column/region break behavior after the generated box.
834 | * Syntax: auto | avoid | always | all | avoid-page | page | left | right | recto | verso | avoid-column | column | avoid-region | region
835 | * @see https://developer.mozilla.org/docs/Web/CSS/break-after
836 | */
837 | "break-after"?:
838 | | "always"
839 | | "auto"
840 | | "avoid"
841 | | "avoid-column"
842 | | "avoid-page"
843 | | "column"
844 | | "left"
845 | | "page"
846 | | "right";
847 |
848 | /**
849 | * Describes the page/column/region break behavior before the generated box.
850 | * Syntax: auto | avoid | always | all | avoid-page | page | left | right | recto | verso | avoid-column | column | avoid-region | region
851 | * @see https://developer.mozilla.org/docs/Web/CSS/break-before
852 | */
853 | "break-before"?:
854 | | "always"
855 | | "auto"
856 | | "avoid"
857 | | "avoid-column"
858 | | "avoid-page"
859 | | "column"
860 | | "left"
861 | | "page"
862 | | "right";
863 |
864 | /**
865 | * Describes the page/column/region break behavior inside the principal box.
866 | * Syntax: auto | avoid | avoid-page | avoid-column | avoid-region
867 | * @see https://developer.mozilla.org/docs/Web/CSS/break-inside
868 | */
869 | "break-inside"?: "auto" | "avoid" | "avoid-column" | "avoid-page";
870 |
871 | /**
872 | * Specifies the position of the caption box with respect to the table box.
873 | * Syntax: top | bottom
874 | * @see https://developer.mozilla.org/docs/Web/CSS/caption-side
875 | */
876 | "caption-side"?: "bottom" | "top";
877 |
878 | /**
879 | * Shorthand for setting caret-color and caret-shape.
880 | */
881 | caret?: string;
882 |
883 | /**
884 | * Controls the color of the text insertion indicator.
885 | * Syntax: auto |
886 | * @see https://developer.mozilla.org/docs/Web/CSS/caret-color
887 | */
888 | "caret-color"?: "auto" | string;
889 |
890 | /**
891 | * Specifies the desired shape of the text insertion caret.
892 | * Syntax: auto | bar | block | underscore
893 | */
894 | "caret-shape"?: "auto" | "bar" | "block" | "underscore";
895 |
896 | /**
897 | * Indicates which sides of an element's box(es) may not be adjacent to an earlier floating box. The 'clear' property does not consider floats inside the element itself or in other block formatting contexts.
898 | * Syntax: none | left | right | both | inline-start | inline-end
899 | * @see https://developer.mozilla.org/docs/Web/CSS/clear
900 | */
901 | clear?: "both" | "left" | "none" | "right";
902 |
903 | /**
904 | * Deprecated. Use the 'clip-path' property when support allows. Defines the visible portion of an element's box.
905 | * Syntax: | auto
906 | * @see https://developer.mozilla.org/docs/Web/CSS/clip
907 | */
908 | clip?: "auto" | "rect()" | string;
909 |
910 | /**
911 | * Specifies a clipping path where everything inside the path is visible and everything outside is clipped out.
912 | * Syntax: | [ || ] | none
913 | * @see https://developer.mozilla.org/docs/Web/CSS/clip-path
914 | */
915 | "clip-path"?: "none" | "url()" | string;
916 |
917 | /**
918 | * Indicates the algorithm which is to be used to determine what parts of the canvas are included inside the shape.
919 | * Syntax: nonzero | evenodd
920 | * @see https://developer.mozilla.org/docs/Web/CSS/clip-rule
921 | */
922 | "clip-rule"?: "evenodd" | "nonzero";
923 |
924 | /**
925 | * Sets the color of an element's text
926 | * @see https://developer.mozilla.org/docs/Web/CSS/color
927 | */
928 | color?: string;
929 |
930 | /**
931 | * Specifies the color space for imaging operations performed via filter effects.
932 | * Syntax: auto | sRGB | linearRGB
933 | * @see https://developer.mozilla.org/docs/Web/CSS/color-interpolation-filters
934 | */
935 | "color-interpolation-filters"?: "auto" | "linearRGB" | "sRGB";
936 |
937 | /**
938 | * The color-scheme CSS property allows an element to indicate which color schemes it can comfortably be rendered in.
939 | * @see https://developer.mozilla.org/docs/Web/CSS/color-scheme
940 | */
941 | "color-scheme"?: string;
942 |
943 | /**
944 | * Describes the optimal number of columns into which the content of the element will be flowed.
945 | * Syntax: | auto
946 | * @see https://developer.mozilla.org/docs/Web/CSS/column-count
947 | */
948 | "column-count"?: "auto" | string | number;
949 |
950 | /**
951 | * In continuous media, this property will only be consulted if the length of columns has been constrained. Otherwise, columns will automatically be balanced.
952 | * Syntax: auto | balance
953 | * @see https://developer.mozilla.org/docs/Web/CSS/column-fill
954 | */
955 | "column-fill"?: "auto" | "balance";
956 |
957 | /**
958 | * Sets the gap between columns. If there is a column rule between columns, it will appear in the middle of the gap.
959 | * Syntax: normal |
960 | * @see https://developer.mozilla.org/docs/Web/CSS/column-gap
961 | */
962 | "column-gap"?: "normal" | string | 0;
963 |
964 | /**
965 | * Shorthand for setting 'column-rule-width', 'column-rule-style', and 'column-rule-color' at the same place in the style sheet. Omitted values are set to their initial values.
966 | * @see https://developer.mozilla.org/docs/Web/CSS/column-rule
967 | */
968 | "column-rule"?: string;
969 |
970 | /**
971 | * Sets the color of the column rule
972 | * @see https://developer.mozilla.org/docs/Web/CSS/column-rule-color
973 | */
974 | "column-rule-color"?: string;
975 |
976 | /**
977 | * Sets the style of the rule between columns of an element.
978 | * @see https://developer.mozilla.org/docs/Web/CSS/column-rule-style
979 | */
980 | "column-rule-style"?: string;
981 |
982 | /**
983 | * Sets the width of the rule between columns. Negative values are not allowed.
984 | * @see https://developer.mozilla.org/docs/Web/CSS/column-rule-width
985 | */
986 | "column-rule-width"?: string;
987 |
988 | /**
989 | * Describes the page/column break behavior after the generated box.
990 | * Syntax: none | all
991 | * @see https://developer.mozilla.org/docs/Web/CSS/column-span
992 | */
993 | "column-span"?: "all" | "none";
994 |
995 | /**
996 | * Describes the width of columns in multicol elements.
997 | * Syntax: | auto
998 | * @see https://developer.mozilla.org/docs/Web/CSS/column-width
999 | */
1000 | "column-width"?: "auto" | string | 0;
1001 |
1002 | /**
1003 | * A shorthand property which sets both 'column-width' and 'column-count'.
1004 | * Syntax: <'column-width'> || <'column-count'>
1005 | * @see https://developer.mozilla.org/docs/Web/CSS/columns
1006 | */
1007 | columns?: "auto" | string | number | 0;
1008 |
1009 | /**
1010 | * Indicates that an element and its contents are, as much as possible, independent of the rest of the document tree.
1011 | * Syntax: none | strict | content | [ [ size || inline-size ] || layout || style || paint ]
1012 | * @see https://developer.mozilla.org/docs/Web/CSS/contain
1013 | */
1014 | contain?:
1015 | | "none"
1016 | | "strict"
1017 | | "content"
1018 | | "size"
1019 | | "layout"
1020 | | "style"
1021 | | "paint";
1022 |
1023 | /**
1024 | * Block size of an element when the element is subject to size containment.
1025 | * @see https://developer.mozilla.org/docs/Web/CSS/contain-intrinsic-block-size
1026 | */
1027 | "contain-intrinsic-block-size"?: string;
1028 |
1029 | /**
1030 | * Height of an element when the element is subject to size containment.
1031 | * @see https://developer.mozilla.org/docs/Web/CSS/contain-intrinsic-height
1032 | */
1033 | "contain-intrinsic-height"?: string;
1034 |
1035 | /**
1036 | * Inline size of an element when the element is subject to size containment.
1037 | * @see https://developer.mozilla.org/docs/Web/CSS/contain-intrinsic-inline-size
1038 | */
1039 | "contain-intrinsic-inline-size"?: string;
1040 |
1041 | /**
1042 | * Size of an element when the element is subject to size containment.
1043 | * @see https://developer.mozilla.org/docs/Web/CSS/contain-intrinsic-size
1044 | */
1045 | "contain-intrinsic-size"?: string;
1046 |
1047 | /**
1048 | * Width of an element when the element is subject to size containment.
1049 | * @see https://developer.mozilla.org/docs/Web/CSS/contain-intrinsic-width
1050 | */
1051 | "contain-intrinsic-width"?: string;
1052 |
1053 | /**
1054 | * The container shorthand CSS property establishes the element as a query container and specifies the name or name for the containment context used in a container query.
1055 | * @see https://developer.mozilla.org/docs/Web/CSS/container
1056 | */
1057 | container?: string;
1058 |
1059 | /**
1060 | * The container-name CSS property specifies a list of query container names used by the @container at-rule in a container query.
1061 | * @see https://developer.mozilla.org/docs/Web/CSS/container-name
1062 | */
1063 | "container-name"?: string;
1064 |
1065 | /**
1066 | * The container-type CSS property is used to define the type of containment used in a container query.
1067 | * @see https://developer.mozilla.org/docs/Web/CSS/container-type
1068 | */
1069 | "container-type"?: string;
1070 |
1071 | /**
1072 | * Determines which page-based occurrence of a given element is applied to a counter or string value.
1073 | * Syntax: normal | none | [ | ] [/ [ | ]+ ]?
1074 | * @see https://developer.mozilla.org/docs/Web/CSS/content
1075 | */
1076 | content?:
1077 | | "attr()"
1078 | | "counter(name)"
1079 | | "icon"
1080 | | "none"
1081 | | "normal"
1082 | | "url()"
1083 | | string;
1084 |
1085 | /**
1086 | * Controls whether or not an element renders its contents at all, along with forcing a strong set of containments, allowing user agents to potentially omit large swathes of layout and rendering work until it becomes needed.
1087 | * Syntax: visible | auto | hidden
1088 | * @see https://developer.mozilla.org/docs/Web/CSS/content-visibility
1089 | */
1090 | "content-visibility"?: "visible" | "auto" | "hidden";
1091 |
1092 | /**
1093 | * Manipulate the value of existing counters.
1094 | * Syntax: [ ? ]+ | none
1095 | * @see https://developer.mozilla.org/docs/Web/CSS/counter-increment
1096 | */
1097 | "counter-increment"?: "none" | string | number;
1098 |
1099 | /**
1100 | * Property accepts one or more names of counters (identifiers), each one optionally followed by an integer. The integer gives the value that the counter is set to on each occurrence of the element.
1101 | * Syntax: [ ? | ? ]+ | none
1102 | * @see https://developer.mozilla.org/docs/Web/CSS/counter-reset
1103 | */
1104 | "counter-reset"?: "none" | string | number;
1105 |
1106 | /**
1107 | * 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.
1108 | * @see https://developer.mozilla.org/docs/Web/CSS/counter-set
1109 | */
1110 | "counter-set"?: string;
1111 |
1112 | /**
1113 | * Allows control over cursor appearance in an element
1114 | * Syntax: [ [ [ ]? , ]* [ 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 ] ]
1115 | * @see https://developer.mozilla.org/docs/Web/CSS/cursor
1116 | */
1117 | cursor?:
1118 | | "alias"
1119 | | "all-scroll"
1120 | | "auto"
1121 | | "cell"
1122 | | "col-resize"
1123 | | "context-menu"
1124 | | "copy"
1125 | | "crosshair"
1126 | | "default"
1127 | | "e-resize"
1128 | | "ew-resize"
1129 | | "grab"
1130 | | "grabbing"
1131 | | "help"
1132 | | "move"
1133 | | "-moz-grab"
1134 | | "-moz-grabbing"
1135 | | "-moz-zoom-in"
1136 | | "-moz-zoom-out"
1137 | | "ne-resize"
1138 | | "nesw-resize"
1139 | | "no-drop"
1140 | | "none"
1141 | | "not-allowed"
1142 | | "n-resize"
1143 | | "ns-resize"
1144 | | "nw-resize"
1145 | | "nwse-resize"
1146 | | "pointer"
1147 | | "progress"
1148 | | "row-resize"
1149 | | "se-resize"
1150 | | "s-resize"
1151 | | "sw-resize"
1152 | | "text"
1153 | | "vertical-text"
1154 | | "wait"
1155 | | "-webkit-grab"
1156 | | "-webkit-grabbing"
1157 | | "-webkit-zoom-in"
1158 | | "-webkit-zoom-out"
1159 | | "w-resize"
1160 | | "zoom-in"
1161 | | "zoom-out"
1162 | | string;
1163 |
1164 | /**
1165 | * The cx CSS property defines the x-axis center point of an SVG circle or ellipse element. If present, it overrides the element's cx attribute.
1166 | * @see https://developer.mozilla.org/docs/Web/CSS/cx
1167 | */
1168 | cx?: string;
1169 |
1170 | /**
1171 | * The cy CSS property defines the y-axis center point of an SVG circle or ellipse elements. If present, it overrides the element's cy attribute.
1172 | * @see https://developer.mozilla.org/docs/Web/CSS/cy
1173 | */
1174 | cy?: string;
1175 |
1176 | /**
1177 | * The d CSS property defines a path to be drawn by the SVG path element. If present, it overrides the element's d attribute.
1178 | * @see https://developer.mozilla.org/docs/Web/CSS/d
1179 | */
1180 | d?: string;
1181 |
1182 | /**
1183 | * Specifies the inline base direction or directionality of any bidi paragraph, embedding, isolate, or override established by the box. Note: for HTML content use the 'dir' attribute and 'bdo' element rather than this property.
1184 | * Syntax: ltr | rtl
1185 | * @see https://developer.mozilla.org/docs/Web/CSS/direction
1186 | */
1187 | direction?: "ltr" | "rtl";
1188 |
1189 | /**
1190 | * In combination with 'float' and 'position', determines the type of box or boxes that are generated for an element.
1191 | * Syntax: [ || ] | | | |
1192 | * @see https://developer.mozilla.org/docs/Web/CSS/display
1193 | */
1194 | display?:
1195 | | "block"
1196 | | "contents"
1197 | | "flex"
1198 | | "flexbox"
1199 | | "flow-root"
1200 | | "grid"
1201 | | "inline"
1202 | | "inline-block"
1203 | | "inline-flex"
1204 | | "inline-flexbox"
1205 | | "inline-table"
1206 | | "list-item"
1207 | | "-moz-box"
1208 | | "-moz-deck"
1209 | | "-moz-grid"
1210 | | "-moz-grid-group"
1211 | | "-moz-grid-line"
1212 | | "-moz-groupbox"
1213 | | "-moz-inline-box"
1214 | | "-moz-inline-grid"
1215 | | "-moz-inline-stack"
1216 | | "-moz-marker"
1217 | | "-moz-popup"
1218 | | "-moz-stack"
1219 | | "-ms-flexbox"
1220 | | "-ms-grid"
1221 | | "-ms-inline-flexbox"
1222 | | "-ms-inline-grid"
1223 | | "none"
1224 | | "ruby"
1225 | | "ruby-base"
1226 | | "ruby-base-container"
1227 | | "ruby-text"
1228 | | "ruby-text-container"
1229 | | "run-in"
1230 | | "table"
1231 | | "table-caption"
1232 | | "table-cell"
1233 | | "table-column"
1234 | | "table-column-group"
1235 | | "table-footer-group"
1236 | | "table-header-group"
1237 | | "table-row"
1238 | | "table-row-group"
1239 | | "-webkit-box"
1240 | | "-webkit-flex"
1241 | | "-webkit-inline-box"
1242 | | "-webkit-inline-flex"
1243 | | string;
1244 |
1245 | /**
1246 | * The dominant-baseline CSS property specifies the specific baseline used to align the box's text and inline-level contents. It also indicates the default alignment baseline of any boxes participating in baseline alignment in the box's alignment context. If present, it overrides the shape's dominant-baseline attribute.
1247 | * Syntax: auto | text-bottom | alphabetic | ideographic | middle | central | mathematical | hanging | text-top
1248 | * @see https://developer.mozilla.org/docs/Web/CSS/dominant-baseline
1249 | */
1250 | "dominant-baseline"?:
1251 | | "auto"
1252 | | "text-bottom"
1253 | | "alphabetic"
1254 | | "ideographic"
1255 | | "middle"
1256 | | "central"
1257 | | "mathematical"
1258 | | "hanging"
1259 | | "text-top";
1260 |
1261 | /**
1262 | * In the separated borders model, this property controls the rendering of borders and backgrounds around cells that have no visible content.
1263 | * Syntax: show | hide
1264 | * @see https://developer.mozilla.org/docs/Web/CSS/empty-cells
1265 | */
1266 | "empty-cells"?: "hide" | "-moz-show-background" | "show";
1267 |
1268 | /**
1269 | * Deprecated. Use 'isolation' property instead when support allows. Specifies how the accumulation of the background image is managed.
1270 | */
1271 | "enable-background"?: "accumulate" | "new" | number | 0;
1272 |
1273 | /**
1274 | * The field-sizing CSS property enables you to control the sizing behavior of elements that are given a default preferred size, such as form control elements. This property enables you to override the default sizing behavior, allowing form controls to adjust in size to fit their contents.
1275 | * Syntax: content | fixed
1276 | * @see https://developer.mozilla.org/docs/Web/CSS/field-sizing
1277 | */
1278 | "field-sizing"?: "content" | "fixed";
1279 |
1280 | /**
1281 | * Paints the interior of the given graphical element.
1282 | * Syntax:
1283 | * @see https://developer.mozilla.org/docs/Web/CSS/fill
1284 | */
1285 | fill?: "url()" | "none" | string;
1286 |
1287 | /**
1288 | * Specifies the opacity of the painting operation used to paint the interior the current object.
1289 | * @see https://developer.mozilla.org/docs/Web/CSS/fill-opacity
1290 | */
1291 | "fill-opacity"?: string;
1292 |
1293 | /**
1294 | * Indicates the algorithm (or winding rule) which is to be used to determine what parts of the canvas are included inside the shape.
1295 | * Syntax: nonzero | evenodd
1296 | * @see https://developer.mozilla.org/docs/Web/CSS/fill-rule
1297 | */
1298 | "fill-rule"?: "evenodd" | "nonzero";
1299 |
1300 | /**
1301 | * Processes an element's rendering before it is displayed in the document, by applying one or more filter effects.
1302 | * Syntax: none |
1303 | * @see https://developer.mozilla.org/docs/Web/CSS/filter
1304 | */
1305 | filter?:
1306 | | "none"
1307 | | "blur()"
1308 | | "brightness()"
1309 | | "contrast()"
1310 | | "drop-shadow()"
1311 | | "grayscale()"
1312 | | "hue-rotate()"
1313 | | "invert()"
1314 | | "opacity()"
1315 | | "saturate()"
1316 | | "sepia()"
1317 | | "url()"
1318 | | string;
1319 |
1320 | /**
1321 | * Specifies the components of a flexible length: the flex grow factor and flex shrink factor, and the flex basis.
1322 | * Syntax: none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]
1323 | * @see https://developer.mozilla.org/docs/Web/CSS/flex
1324 | */
1325 | flex?: "auto" | "content" | "none" | string | 0;
1326 |
1327 | /**
1328 | * Sets the flex basis.
1329 | * Syntax: content | <'width'>
1330 | * @see https://developer.mozilla.org/docs/Web/CSS/flex-basis
1331 | */
1332 | "flex-basis"?: "auto" | "content" | string | 0;
1333 |
1334 | /**
1335 | * Specifies how flex items are placed in the flex container, by setting the direction of the flex container's main axis.
1336 | * Syntax: row | row-reverse | column | column-reverse
1337 | * @see https://developer.mozilla.org/docs/Web/CSS/flex-direction
1338 | */
1339 | "flex-direction"?: "column" | "column-reverse" | "row" | "row-reverse";
1340 |
1341 | /**
1342 | * Specifies how flexbox items are placed in the flexbox.
1343 | * Syntax: <'flex-direction'> || <'flex-wrap'>
1344 | * @see https://developer.mozilla.org/docs/Web/CSS/flex-flow
1345 | */
1346 | "flex-flow"?:
1347 | | "column"
1348 | | "column-reverse"
1349 | | "nowrap"
1350 | | "row"
1351 | | "row-reverse"
1352 | | "wrap"
1353 | | "wrap-reverse"
1354 | | string;
1355 |
1356 | /**
1357 | * Sets the flex grow factor. Negative numbers are invalid.
1358 | * @see https://developer.mozilla.org/docs/Web/CSS/flex-grow
1359 | */
1360 | "flex-grow"?: string;
1361 |
1362 | /**
1363 | * Sets the flex shrink factor. Negative numbers are invalid.
1364 | * @see https://developer.mozilla.org/docs/Web/CSS/flex-shrink
1365 | */
1366 | "flex-shrink"?: string;
1367 |
1368 | /**
1369 | * Controls whether the flex container is single-line or multi-line, and the direction of the cross-axis, which determines the direction new lines are stacked in.
1370 | * Syntax: nowrap | wrap | wrap-reverse
1371 | * @see https://developer.mozilla.org/docs/Web/CSS/flex-wrap
1372 | */
1373 | "flex-wrap"?: "nowrap" | "wrap" | "wrap-reverse";
1374 |
1375 | /**
1376 | * Specifies how a box should be floated. It may be set for any element, but only applies to elements that generate boxes that are not absolutely positioned.
1377 | * Syntax: left | right | none | inline-start | inline-end
1378 | * @see https://developer.mozilla.org/docs/Web/CSS/float
1379 | */
1380 | float?: "inline-end" | "inline-start" | "left" | "none" | "right";
1381 |
1382 | /**
1383 | * Indicates what color to use to flood the current filter primitive subregion.
1384 | * @see https://developer.mozilla.org/docs/Web/CSS/flood-color
1385 | */
1386 | "flood-color"?: string;
1387 |
1388 | /**
1389 | * Indicates what opacity to use to flood the current filter primitive subregion.
1390 | * @see https://developer.mozilla.org/docs/Web/CSS/flood-opacity
1391 | */
1392 | "flood-opacity"?: string;
1393 |
1394 | /**
1395 | * Shorthand property for setting 'font-style', 'font-variant', 'font-weight', 'font-size', 'line-height', and 'font-family', at the same place in the style sheet. The syntax of this property is based on a traditional typographical shorthand notation to set multiple properties related to fonts.
1396 | * Syntax: [ [ <'font-style'> || || <'font-weight'> || <'font-stretch'> ]? <'font-size'> [ / <'line-height'> ]? <'font-family'> ] | caption | icon | menu | message-box | small-caption | status-bar
1397 | * @see https://developer.mozilla.org/docs/Web/CSS/font
1398 | */
1399 | font?:
1400 | | "100"
1401 | | "200"
1402 | | "300"
1403 | | "400"
1404 | | "500"
1405 | | "600"
1406 | | "700"
1407 | | "800"
1408 | | "900"
1409 | | "bold"
1410 | | "bolder"
1411 | | "caption"
1412 | | "icon"
1413 | | "italic"
1414 | | "large"
1415 | | "larger"
1416 | | "lighter"
1417 | | "medium"
1418 | | "menu"
1419 | | "message-box"
1420 | | "normal"
1421 | | "oblique"
1422 | | "small"
1423 | | "small-caps"
1424 | | "small-caption"
1425 | | "smaller"
1426 | | "status-bar"
1427 | | "x-large"
1428 | | "x-small"
1429 | | "xx-large"
1430 | | "xx-small"
1431 | | string;
1432 |
1433 | /**
1434 | * Kerning is the contextual adjustment of inter-glyph spacing. This property controls metric kerning, kerning that utilizes adjustment data contained in the font.
1435 | * Syntax: auto | normal | none
1436 | * @see https://developer.mozilla.org/docs/Web/CSS/font-kerning
1437 | */
1438 | "font-kerning"?: "auto" | "none" | "normal";
1439 |
1440 | /**
1441 | * The value of 'normal' implies that when rendering with OpenType fonts the language of the document is used to infer the OpenType language system, used to select language specific features when rendering.
1442 | * Syntax: normal |
1443 | * @see https://developer.mozilla.org/docs/Web/CSS/font-language-override
1444 | */
1445 | "font-language-override"?: "normal" | string;
1446 |
1447 | /**
1448 | * The font-optical-sizing CSS property allows developers to control whether browsers render text with slightly differing visual representations to optimize viewing at different sizes, or not. This only works for fonts that have an optical size variation axis.
1449 | * Syntax: auto | none
1450 | * @see https://developer.mozilla.org/docs/Web/CSS/font-optical-sizing
1451 | */
1452 | "font-optical-sizing"?: "auto" | "none";
1453 |
1454 | /**
1455 | * The font-palette CSS property allows specifying one of the many palettes contained in a font that a user agent should use for the font. Users can also override the values in a palette or create a new palette by using the @font-palette-values at-rule.
1456 | * @see https://developer.mozilla.org/docs/Web/CSS/font-palette
1457 | */
1458 | "font-palette"?: string;
1459 |
1460 | /**
1461 | * Indicates the desired height of glyphs from the font. For scalable fonts, the font-size is a scale factor applied to the EM unit of the font. (Note that certain glyphs may bleed outside their EM box.) For non-scalable fonts, the font-size is converted into absolute units and matched against the declared font-size of the font, using the same absolute coordinate space for both of the matched values.
1462 | * Syntax: | | | math
1463 | * @see https://developer.mozilla.org/docs/Web/CSS/font-size
1464 | */
1465 | "font-size"?:
1466 | | "large"
1467 | | "larger"
1468 | | "medium"
1469 | | "small"
1470 | | "smaller"
1471 | | "x-large"
1472 | | "x-small"
1473 | | "xx-large"
1474 | | "xx-small"
1475 | | string
1476 | | 0;
1477 |
1478 | /**
1479 | * Preserves the readability of text when font fallback occurs by adjusting the font-size so that the x-height is the same regardless of the font used.
1480 | * Syntax: none | [ ex-height | cap-height | ch-width | ic-width | ic-height ]? [ from-font | ]
1481 | * @see https://developer.mozilla.org/docs/Web/CSS/font-size-adjust
1482 | */
1483 | "font-size-adjust"?: "none" | string;
1484 |
1485 | /**
1486 | * Controls whether user agents are allowed to synthesize bold or oblique font faces when a font family lacks bold or italic faces.
1487 | * Syntax: none | [ weight || style || small-caps || position]
1488 | * @see https://developer.mozilla.org/docs/Web/CSS/font-synthesis
1489 | */
1490 | "font-synthesis"?: "none" | "style" | "weight";
1491 |
1492 | /**
1493 | * The font-synthesis-position CSS property lets you specify whether or not a browser may synthesize the subscript and superscript "position" typefaces when they are missing in a font family, while using font-variant-position to set the positions.
1494 | * Syntax: auto | none
1495 | * @see https://developer.mozilla.org/docs/Web/CSS/font-synthesis-position
1496 | */
1497 | "font-synthesis-position"?: "auto" | "none";
1498 |
1499 | /**
1500 | * The font-synthesis-small-caps CSS property lets you specify whether or not the browser may synthesize small-caps typeface when it is missing in a font family. Small-caps glyphs typically use the form of uppercase letters but are reduced to the size of lowercase letters.
1501 | * Syntax: auto | none
1502 | * @see https://developer.mozilla.org/docs/Web/CSS/font-synthesis-small-caps
1503 | */
1504 | "font-synthesis-small-caps"?: "auto" | "none";
1505 |
1506 | /**
1507 | * The font-synthesis-style CSS property lets you specify whether or not the browser may synthesize the oblique typeface when it is missing in a font family.
1508 | * Syntax: auto | none
1509 | * @see https://developer.mozilla.org/docs/Web/CSS/font-synthesis-style
1510 | */
1511 | "font-synthesis-style"?: "auto" | "none";
1512 |
1513 | /**
1514 | * The font-synthesis-weight CSS property lets you specify whether or not the browser may synthesize the bold typeface when it is missing in a font family.
1515 | * Syntax: auto | none
1516 | * @see https://developer.mozilla.org/docs/Web/CSS/font-synthesis-weight
1517 | */
1518 | "font-synthesis-weight"?: "auto" | "none";
1519 |
1520 | /**
1521 | * Specifies variant representations of the font
1522 | * Syntax: normal | none | [ || || || || stylistic( ) || historical-forms || styleset( # ) || character-variant( # ) || swash( ) || ornaments( ) || annotation( ) || [ small-caps | all-small-caps | petite-caps | all-petite-caps | unicase | titling-caps ] || || || || ordinal || slashed-zero || || || ruby ]
1523 | * @see https://developer.mozilla.org/docs/Web/CSS/font-variant
1524 | */
1525 | "font-variant"?: "normal" | "small-caps" | string;
1526 |
1527 | /**
1528 | * For any given character, fonts can provide a variety of alternate glyphs in addition to the default glyph for that character. This property provides control over the selection of these alternate glyphs.
1529 | * Syntax: normal | [ stylistic( ) || historical-forms || styleset( # ) || character-variant( # ) || swash( ) || ornaments( ) || annotation( ) ]
1530 | * @see https://developer.mozilla.org/docs/Web/CSS/font-variant-alternates
1531 | */
1532 | "font-variant-alternates"?:
1533 | | "annotation()"
1534 | | "character-variant()"
1535 | | "historical-forms"
1536 | | "normal"
1537 | | "ornaments()"
1538 | | "styleset()"
1539 | | "stylistic()"
1540 | | "swash()"
1541 | | string;
1542 |
1543 | /**
1544 | * Specifies control over capitalized forms.
1545 | * Syntax: normal | small-caps | all-small-caps | petite-caps | all-petite-caps | unicase | titling-caps
1546 | * @see https://developer.mozilla.org/docs/Web/CSS/font-variant-caps
1547 | */
1548 | "font-variant-caps"?:
1549 | | "all-petite-caps"
1550 | | "all-small-caps"
1551 | | "normal"
1552 | | "petite-caps"
1553 | | "small-caps"
1554 | | "titling-caps"
1555 | | "unicase";
1556 |
1557 | /**
1558 | * Allows control of glyph substitute and positioning in East Asian text.
1559 | * Syntax: normal | [ || || ruby ]
1560 | * @see https://developer.mozilla.org/docs/Web/CSS/font-variant-east-asian
1561 | */
1562 | "font-variant-east-asian"?:
1563 | | "full-width"
1564 | | "jis04"
1565 | | "jis78"
1566 | | "jis83"
1567 | | "jis90"
1568 | | "normal"
1569 | | "proportional-width"
1570 | | "ruby"
1571 | | "simplified"
1572 | | "traditional"
1573 | | string;
1574 |
1575 | /**
1576 | * The font-variant-emoji CSS property specifies the default presentation style for displaying emojis.
1577 | * Syntax: normal | text | emoji | unicode
1578 | * @see https://developer.mozilla.org/docs/Web/CSS/font-variant-emoji
1579 | */
1580 | "font-variant-emoji"?: "normal" | "text" | "emoji" | "unicode";
1581 |
1582 | /**
1583 | * Specifies control over which ligatures are enabled or disabled. A value of 'normal' implies that the defaults set by the font are used.
1584 | * Syntax: normal | none | [ || || || ]
1585 | * @see https://developer.mozilla.org/docs/Web/CSS/font-variant-ligatures
1586 | */
1587 | "font-variant-ligatures"?:
1588 | | "additional-ligatures"
1589 | | "common-ligatures"
1590 | | "contextual"
1591 | | "discretionary-ligatures"
1592 | | "historical-ligatures"
1593 | | "no-additional-ligatures"
1594 | | "no-common-ligatures"
1595 | | "no-contextual"
1596 | | "no-discretionary-ligatures"
1597 | | "no-historical-ligatures"
1598 | | "none"
1599 | | "normal"
1600 | | string;
1601 |
1602 | /**
1603 | * Specifies control over numerical forms.
1604 | * Syntax: normal | [ || || || ordinal || slashed-zero ]
1605 | * @see https://developer.mozilla.org/docs/Web/CSS/font-variant-numeric
1606 | */
1607 | "font-variant-numeric"?:
1608 | | "diagonal-fractions"
1609 | | "lining-nums"
1610 | | "normal"
1611 | | "oldstyle-nums"
1612 | | "ordinal"
1613 | | "proportional-nums"
1614 | | "slashed-zero"
1615 | | "stacked-fractions"
1616 | | "tabular-nums"
1617 | | string;
1618 |
1619 | /**
1620 | * Specifies the vertical position
1621 | * Syntax: normal | sub | super
1622 | * @see https://developer.mozilla.org/docs/Web/CSS/font-variant-position
1623 | */
1624 | "font-variant-position"?: "normal" | "sub" | "super";
1625 |
1626 | /**
1627 | * Allows authors to opt certain elements out of forced colors mode. This then restores the control of those values to CSS
1628 | * Syntax: auto | none | preserve-parent-color
1629 | * @see https://developer.mozilla.org/docs/Web/CSS/forced-color-adjust
1630 | */
1631 | "forced-color-adjust"?: "auto" | "none" | "preserve-parent-color";
1632 |
1633 | /**
1634 | * The gap CSS property is a shorthand property for row-gap and column-gap specifying the gutters between grid rows and columns.
1635 | * @see https://developer.mozilla.org/docs/Web/CSS/gap
1636 | */
1637 | gap?: string;
1638 |
1639 | /**
1640 | * Controls glyph orientation when the inline-progression-direction is horizontal.
1641 | */
1642 | "glyph-orientation-horizontal"?: string;
1643 |
1644 | /**
1645 | * Controls glyph orientation when the inline-progression-direction is vertical.
1646 | */
1647 | "glyph-orientation-vertical"?: "auto";
1648 |
1649 | /**
1650 | * 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.
1651 | * @see https://developer.mozilla.org/docs/Web/CSS/grid
1652 | */
1653 | grid?: string;
1654 |
1655 | /**
1656 | * Determine a grid item's size and location within the grid by contributing a line, a span, or nothing (automatic) to its grid placement. Shorthand for 'grid-row-start', 'grid-column-start', 'grid-row-end', and 'grid-column-end'.
1657 | * Syntax: [ / ]{0,3}
1658 | * @see https://developer.mozilla.org/docs/Web/CSS/grid-area
1659 | */
1660 | "grid-area"?: "auto" | "span" | string | number;
1661 |
1662 | /**
1663 | * Specifies the size of implicitly created columns.
1664 | * Syntax: +
1665 | * @see https://developer.mozilla.org/docs/Web/CSS/grid-auto-columns
1666 | */
1667 | "grid-auto-columns"?:
1668 | | "min-content"
1669 | | "max-content"
1670 | | "auto"
1671 | | "minmax()"
1672 | | string
1673 | | 0;
1674 |
1675 | /**
1676 | * Controls how the auto-placement algorithm works, specifying exactly how auto-placed items get flowed into the grid.
1677 | * Syntax: [ row | column ] || dense
1678 | * @see https://developer.mozilla.org/docs/Web/CSS/grid-auto-flow
1679 | */
1680 | "grid-auto-flow"?: "row" | "column" | "dense";
1681 |
1682 | /**
1683 | * Specifies the size of implicitly created rows.
1684 | * Syntax: +
1685 | * @see https://developer.mozilla.org/docs/Web/CSS/grid-auto-rows
1686 | */
1687 | "grid-auto-rows"?:
1688 | | "min-content"
1689 | | "max-content"
1690 | | "auto"
1691 | | "minmax()"
1692 | | string
1693 | | 0;
1694 |
1695 | /**
1696 | * Shorthand for 'grid-column-start' and 'grid-column-end'.
1697 | * Syntax: [ / ]?
1698 | * @see https://developer.mozilla.org/docs/Web/CSS/grid-column
1699 | */
1700 | "grid-column"?: "auto" | "span" | string | number;
1701 |
1702 | /**
1703 | * Determine a grid item's size and location within the grid by contributing a line, a span, or nothing (automatic) to its grid placement.
1704 | * Syntax:
1705 | * @see https://developer.mozilla.org/docs/Web/CSS/grid-column-end
1706 | */
1707 | "grid-column-end"?: "auto" | "span" | string | number;
1708 |
1709 | /**
1710 | * Specifies the gutters between grid columns. Replaced by 'column-gap' property.
1711 | */
1712 | "grid-column-gap"?: string;
1713 |
1714 | /**
1715 | * Determine a grid item's size and location within the grid by contributing a line, a span, or nothing (automatic) to its grid placement.
1716 | * Syntax:
1717 | * @see https://developer.mozilla.org/docs/Web/CSS/grid-column-start
1718 | */
1719 | "grid-column-start"?: "auto" | "span" | string | number;
1720 |
1721 | /**
1722 | * Shorthand that specifies the gutters between grid columns and grid rows in one declaration. Replaced by 'gap' property.
1723 | */
1724 | "grid-gap"?: string;
1725 |
1726 | /**
1727 | * Shorthand for 'grid-row-start' and 'grid-row-end'.
1728 | * Syntax: [ / ]?
1729 | * @see https://developer.mozilla.org/docs/Web/CSS/grid-row
1730 | */
1731 | "grid-row"?: "auto" | "span" | string | number;
1732 |
1733 | /**
1734 | * Determine a grid item's size and location within the grid by contributing a line, a span, or nothing (automatic) to its grid placement.
1735 | * Syntax:
1736 | * @see https://developer.mozilla.org/docs/Web/CSS/grid-row-end
1737 | */
1738 | "grid-row-end"?: "auto" | "span" | string | number;
1739 |
1740 | /**
1741 | * Specifies the gutters between grid rows. Replaced by 'row-gap' property.
1742 | */
1743 | "grid-row-gap"?: string;
1744 |
1745 | /**
1746 | * Determine a grid item's size and location within the grid by contributing a line, a span, or nothing (automatic) to its grid placement.
1747 | * Syntax:
1748 | * @see https://developer.mozilla.org/docs/Web/CSS/grid-row-start
1749 | */
1750 | "grid-row-start"?: "auto" | "span" | string | number;
1751 |
1752 | /**
1753 | * Shorthand for setting grid-template-columns, grid-template-rows, and grid-template-areas in a single declaration.
1754 | * Syntax: none | [ <'grid-template-rows'> / <'grid-template-columns'> ] | [ ? ? ? ]+ [ / ]?
1755 | * @see https://developer.mozilla.org/docs/Web/CSS/grid-template
1756 | */
1757 | "grid-template"?:
1758 | | "none"
1759 | | "min-content"
1760 | | "max-content"
1761 | | "auto"
1762 | | "subgrid"
1763 | | "minmax()"
1764 | | "repeat()"
1765 | | string
1766 | | 0;
1767 |
1768 | /**
1769 | * Specifies named grid areas, which are not associated with any particular grid item, but can be referenced from the grid-placement properties.
1770 | * Syntax: none | +
1771 | * @see https://developer.mozilla.org/docs/Web/CSS/grid-template-areas
1772 | */
1773 | "grid-template-areas"?: "none" | string;
1774 |
1775 | /**
1776 | * specifies, as a space-separated track list, the line names and track sizing functions of the grid.
1777 | * Syntax: none | | | subgrid ?
1778 | * @see https://developer.mozilla.org/docs/Web/CSS/grid-template-columns
1779 | */
1780 | "grid-template-columns"?:
1781 | | "none"
1782 | | "min-content"
1783 | | "max-content"
1784 | | "auto"
1785 | | "subgrid"
1786 | | "minmax()"
1787 | | "repeat()"
1788 | | string
1789 | | 0;
1790 |
1791 | /**
1792 | * specifies, as a space-separated track list, the line names and track sizing functions of the grid.
1793 | * Syntax: none | | | subgrid ?
1794 | * @see https://developer.mozilla.org/docs/Web/CSS/grid-template-rows
1795 | */
1796 | "grid-template-rows"?:
1797 | | "none"
1798 | | "min-content"
1799 | | "max-content"
1800 | | "auto"
1801 | | "subgrid"
1802 | | "minmax()"
1803 | | "repeat()"
1804 | | string
1805 | | 0;
1806 |
1807 | /**
1808 | * 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.
1809 | * @see https://developer.mozilla.org/docs/Web/CSS/hanging-punctuation
1810 | */
1811 | "hanging-punctuation"?: string;
1812 |
1813 | /**
1814 | * Specifies the height of the content area, padding area or border area (depending on 'box-sizing') of certain boxes.
1815 | * Syntax: auto | | min-content | max-content | fit-content | fit-content() | |
1816 | * @see https://developer.mozilla.org/docs/Web/CSS/height
1817 | */
1818 | height?: "auto" | "fit-content" | "max-content" | "min-content" | string | 0;
1819 |
1820 | /**
1821 | * A hyphenate character used at the end of a line.
1822 | * @see https://developer.mozilla.org/docs/Web/CSS/hyphenate-character
1823 | */
1824 | "hyphenate-character"?: string;
1825 |
1826 | /**
1827 | * The hyphenate-limit-chars CSS property specifies the minimum word length to allow hyphenation of words as well as the minimum number of characters before and after the hyphen.
1828 | * @see https://developer.mozilla.org/docs/Web/CSS/hyphenate-limit-chars
1829 | */
1830 | "hyphenate-limit-chars"?: string;
1831 |
1832 | /**
1833 | * Controls whether hyphenation is allowed to create more break opportunities within a line of text.
1834 | * Syntax: none | manual | auto
1835 | * @see https://developer.mozilla.org/docs/Web/CSS/hyphens
1836 | */
1837 | hyphens?: "auto" | "manual" | "none";
1838 |
1839 | /**
1840 | * Specifies an orthogonal rotation to be applied to an image before it is laid out.
1841 | * Syntax: from-image | | [ ? flip ]
1842 | * @see https://developer.mozilla.org/docs/Web/CSS/image-orientation
1843 | */
1844 | "image-orientation"?: "flip" | "from-image" | string;
1845 |
1846 | /**
1847 | * Provides a hint to the user-agent about what aspects of an image are most important to preserve when the image is scaled, to aid the user-agent in the choice of an appropriate scaling algorithm.
1848 | * Syntax: auto | crisp-edges | pixelated | smooth
1849 | * @see https://developer.mozilla.org/docs/Web/CSS/image-rendering
1850 | */
1851 | "image-rendering"?:
1852 | | "auto"
1853 | | "crisp-edges"
1854 | | "-moz-crisp-edges"
1855 | | "optimizeQuality"
1856 | | "optimizeSpeed"
1857 | | "pixelated";
1858 |
1859 | /**
1860 | * The image-resolution property specifies the intrinsic resolution of all raster images used in or on the element. It affects both content images (e.g. replaced elements and generated content) and decorative images (such as background-image). The intrinsic resolution of an image is used to determine the image’s intrinsic dimensions.
1861 | */
1862 | "image-resolution"?: string;
1863 |
1864 | /**
1865 | * Controls the state of the input method editor for text fields.
1866 | * Syntax: auto | normal | active | inactive | disabled
1867 | */
1868 | "ime-mode"?: "active" | "auto" | "disabled" | "inactive" | "normal";
1869 |
1870 | /**
1871 | * The initial-letter CSS property specifies styling for dropped, raised, and sunken initial letters.
1872 | * @see https://developer.mozilla.org/docs/Web/CSS/initial-letter
1873 | */
1874 | "initial-letter"?: string;
1875 |
1876 | /**
1877 | * The initial-letter-align CSS property specifies the alignment of initial letters within a paragraph.
1878 | */
1879 | "initial-letter-align"?: string;
1880 |
1881 | /**
1882 | * Size of an element in the direction specified by 'writing-mode'.
1883 | * Syntax: <'width'>
1884 | * @see https://developer.mozilla.org/docs/Web/CSS/inline-size
1885 | */
1886 | "inline-size"?: "auto" | string | 0;
1887 |
1888 | /**
1889 | * 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.
1890 | * @see https://developer.mozilla.org/docs/Web/CSS/inset
1891 | */
1892 | inset?: string;
1893 |
1894 | /**
1895 | * 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.
1896 | * @see https://developer.mozilla.org/docs/Web/CSS/inset-block
1897 | */
1898 | "inset-block"?: string;
1899 |
1900 | /**
1901 | * The inset-block-end CSS property defines the logical block end offset 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.
1902 | * @see https://developer.mozilla.org/docs/Web/CSS/inset-block-end
1903 | */
1904 | "inset-block-end"?: string;
1905 |
1906 | /**
1907 | * The inset-block-start CSS property defines the logical block start offset 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.
1908 | * @see https://developer.mozilla.org/docs/Web/CSS/inset-block-start
1909 | */
1910 | "inset-block-start"?: string;
1911 |
1912 | /**
1913 | * 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.
1914 | * @see https://developer.mozilla.org/docs/Web/CSS/inset-inline
1915 | */
1916 | "inset-inline"?: string;
1917 |
1918 | /**
1919 | * 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.
1920 | * @see https://developer.mozilla.org/docs/Web/CSS/inset-inline-end
1921 | */
1922 | "inset-inline-end"?: string;
1923 |
1924 | /**
1925 | * 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.
1926 | * @see https://developer.mozilla.org/docs/Web/CSS/inset-inline-start
1927 | */
1928 | "inset-inline-start"?: string;
1929 |
1930 | /**
1931 | * The interpolate-size CSS property allows you to enable animations and transitions between a value and an intrinsic size value such as auto, fit-content, or max-content.
1932 | * Syntax: numeric-only | allow-keywords
1933 | * @see https://developer.mozilla.org/docs/Web/CSS/interpolate-size
1934 | */
1935 | "interpolate-size"?: "numeric-only" | "allow-keywords";
1936 |
1937 | /**
1938 | * In CSS setting to 'isolate' will turn the element into a stacking context. In SVG, it defines whether an element is isolated or not.
1939 | * Syntax: auto | isolate
1940 | * @see https://developer.mozilla.org/docs/Web/CSS/isolation
1941 | */
1942 | isolation?: "auto" | "isolate";
1943 |
1944 | /**
1945 | * Aligns flex items along the main axis of the current line of the flex container.
1946 | * Syntax: normal | | ? [ | left | right ]
1947 | * @see https://developer.mozilla.org/docs/Web/CSS/justify-content
1948 | */
1949 | "justify-content"?:
1950 | | "center"
1951 | | "start"
1952 | | "end"
1953 | | "left"
1954 | | "right"
1955 | | "safe"
1956 | | "unsafe"
1957 | | "stretch"
1958 | | "space-evenly"
1959 | | "flex-end"
1960 | | "flex-start"
1961 | | "space-around"
1962 | | "space-between"
1963 | | "baseline"
1964 | | "first baseline"
1965 | | "last baseline"
1966 | | string;
1967 |
1968 | /**
1969 | * Defines the default justify-self for all items of the box, giving them the default way of justifying each box along the appropriate axis
1970 | * Syntax: normal | stretch | | ? [ | left | right ] | legacy | legacy && [ left | right | center ]
1971 | * @see https://developer.mozilla.org/docs/Web/CSS/justify-items
1972 | */
1973 | "justify-items"?:
1974 | | "auto"
1975 | | "normal"
1976 | | "end"
1977 | | "start"
1978 | | "flex-end"
1979 | | "flex-start"
1980 | | "self-end"
1981 | | "self-start"
1982 | | "center"
1983 | | "left"
1984 | | "right"
1985 | | "baseline"
1986 | | "first baseline"
1987 | | "last baseline"
1988 | | "stretch"
1989 | | "safe"
1990 | | "unsafe"
1991 | | "legacy"
1992 | | string;
1993 |
1994 | /**
1995 | * Defines the way of justifying a box inside its container along the appropriate axis.
1996 | * Syntax: auto | normal | stretch | | ? [ | left | right ]
1997 | * @see https://developer.mozilla.org/docs/Web/CSS/justify-self
1998 | */
1999 | "justify-self"?:
2000 | | "auto"
2001 | | "normal"
2002 | | "end"
2003 | | "start"
2004 | | "flex-end"
2005 | | "flex-start"
2006 | | "self-end"
2007 | | "self-start"
2008 | | "center"
2009 | | "left"
2010 | | "right"
2011 | | "baseline"
2012 | | "first baseline"
2013 | | "last baseline"
2014 | | "stretch"
2015 | | "save"
2016 | | "unsave"
2017 | | string;
2018 |
2019 | /**
2020 | * Indicates whether the user agent should adjust inter-glyph spacing based on kerning tables that are included in the relevant font or instead disable auto-kerning and set inter-character spacing to a specific length.
2021 | */
2022 | kerning?: "auto" | 0;
2023 |
2024 | /**
2025 | * Specifies how far an absolutely positioned box's left margin edge is offset to the right of the left edge of the box's 'containing block'.
2026 | * Syntax: | | auto
2027 | * @see https://developer.mozilla.org/docs/Web/CSS/left
2028 | */
2029 | left?: "auto" | string | 0;
2030 |
2031 | /**
2032 | * Specifies the minimum, maximum, and optimal spacing between grapheme clusters.
2033 | * Syntax: normal |
2034 | * @see https://developer.mozilla.org/docs/Web/CSS/letter-spacing
2035 | */
2036 | "letter-spacing"?: "normal" | string | 0;
2037 |
2038 | /**
2039 | * Defines the color of the light source for filter primitives 'feDiffuseLighting' and 'feSpecularLighting'.
2040 | * @see https://developer.mozilla.org/docs/Web/CSS/lighting-color
2041 | */
2042 | "lighting-color"?: string;
2043 |
2044 | /**
2045 | * Specifies what set of line breaking restrictions are in effect within the element.
2046 | * Syntax: auto | loose | normal | strict | anywhere
2047 | * @see https://developer.mozilla.org/docs/Web/CSS/line-break
2048 | */
2049 | "line-break"?: "auto" | "loose" | "normal" | "strict" | "anywhere";
2050 |
2051 | /**
2052 | * The line-clamp property allows limiting the contents of a block container to the specified number of lines; remaining content is fragmented away and neither rendered nor measured. Optionally, it also allows inserting content into the last line box to indicate the continuity of truncated/interrupted content.
2053 | * @see https://developer.mozilla.org/docs/Web/CSS/line-clamp
2054 | */
2055 | "line-clamp"?: string;
2056 |
2057 | /**
2058 | * Determines the block-progression dimension of the text content area of an inline box.
2059 | * Syntax: normal | | |
2060 | * @see https://developer.mozilla.org/docs/Web/CSS/line-height
2061 | */
2062 | "line-height"?: "normal" | string | 0;
2063 |
2064 | /**
2065 | * The line-height-step CSS property defines the step units for line box heights. When the step unit is positive, line box heights are rounded up to the closest multiple of the unit. Negative values are invalid.
2066 | * @see https://developer.mozilla.org/docs/Web/CSS/line-height-step
2067 | */
2068 | "line-height-step"?: string;
2069 |
2070 | /**
2071 | * Shorthand for setting 'list-style-type', 'list-style-position' and 'list-style-image'
2072 | * Syntax: <'list-style-type'> || <'list-style-position'> || <'list-style-image'>
2073 | * @see https://developer.mozilla.org/docs/Web/CSS/list-style
2074 | */
2075 | "list-style"?:
2076 | | "armenian"
2077 | | "circle"
2078 | | "decimal"
2079 | | "decimal-leading-zero"
2080 | | "disc"
2081 | | "georgian"
2082 | | "inside"
2083 | | "lower-alpha"
2084 | | "lower-greek"
2085 | | "lower-latin"
2086 | | "lower-roman"
2087 | | "none"
2088 | | "outside"
2089 | | "square"
2090 | | "symbols()"
2091 | | "upper-alpha"
2092 | | "upper-latin"
2093 | | "upper-roman"
2094 | | "url()"
2095 | | string;
2096 |
2097 | /**
2098 | * Sets the image that will be used as the list item marker. When the image is available, it will replace the marker set with the 'list-style-type' marker.
2099 | * Syntax: | none
2100 | * @see https://developer.mozilla.org/docs/Web/CSS/list-style-image
2101 | */
2102 | "list-style-image"?: "none" | string;
2103 |
2104 | /**
2105 | * Specifies the position of the '::marker' pseudo-element's box in the list item.
2106 | * Syntax: inside | outside
2107 | * @see https://developer.mozilla.org/docs/Web/CSS/list-style-position
2108 | */
2109 | "list-style-position"?: "inside" | "outside";
2110 |
2111 | /**
2112 | * Used to construct the default contents of a list item's marker
2113 | * Syntax: | | none
2114 | * @see https://developer.mozilla.org/docs/Web/CSS/list-style-type
2115 | */
2116 | "list-style-type"?:
2117 | | "armenian"
2118 | | "circle"
2119 | | "decimal"
2120 | | "decimal-leading-zero"
2121 | | "disc"
2122 | | "georgian"
2123 | | "lower-alpha"
2124 | | "lower-greek"
2125 | | "lower-latin"
2126 | | "lower-roman"
2127 | | "none"
2128 | | "square"
2129 | | "symbols()"
2130 | | "upper-alpha"
2131 | | "upper-latin"
2132 | | "upper-roman"
2133 | | string;
2134 |
2135 | /**
2136 | * Shorthand property to set values for the thickness of the margin area. If left is omitted, it is the same as right. If bottom is omitted it is the same as top, if right is omitted it is the same as top. Negative values for margin properties are allowed, but there may be implementation-specific limits.
2137 | * Syntax: <'margin-top'>{1,4}
2138 | * @see https://developer.mozilla.org/docs/Web/CSS/margin
2139 | */
2140 | margin?: "auto" | string | 0;
2141 |
2142 | /**
2143 | * 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.
2144 | * @see https://developer.mozilla.org/docs/Web/CSS/margin-block
2145 | */
2146 | "margin-block"?: string;
2147 |
2148 | /**
2149 | * Logical 'margin-bottom'. Mapping depends on the parent element's 'writing-mode', 'direction', and 'text-orientation'.
2150 | * Syntax: <'margin-top'>
2151 | * @see https://developer.mozilla.org/docs/Web/CSS/margin-block-end
2152 | */
2153 | "margin-block-end"?: "auto" | string | 0;
2154 |
2155 | /**
2156 | * Logical 'margin-top'. Mapping depends on the parent element's 'writing-mode', 'direction', and 'text-orientation'.
2157 | * Syntax: <'margin-top'>
2158 | * @see https://developer.mozilla.org/docs/Web/CSS/margin-block-start
2159 | */
2160 | "margin-block-start"?: "auto" | string | 0;
2161 |
2162 | /**
2163 | * Shorthand property to set values for the thickness of the margin area. If left is omitted, it is the same as right. If bottom is omitted it is the same as top, if right is omitted it is the same as top. Negative values for margin properties are allowed, but there may be implementation-specific limits..
2164 | * Syntax: | auto
2165 | * @see https://developer.mozilla.org/docs/Web/CSS/margin-bottom
2166 | */
2167 | "margin-bottom"?: "auto" | string | 0;
2168 |
2169 | /**
2170 | * 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.
2171 | * @see https://developer.mozilla.org/docs/Web/CSS/margin-inline
2172 | */
2173 | "margin-inline"?: string;
2174 |
2175 | /**
2176 | * Logical 'margin-right'. Mapping depends on the parent element's 'writing-mode', 'direction', and 'text-orientation'.
2177 | * Syntax: <'margin-top'>
2178 | * @see https://developer.mozilla.org/docs/Web/CSS/margin-inline-end
2179 | */
2180 | "margin-inline-end"?: "auto" | string | 0;
2181 |
2182 | /**
2183 | * Logical 'margin-left'. Mapping depends on the parent element's 'writing-mode', 'direction', and 'text-orientation'.
2184 | * Syntax: <'margin-top'>
2185 | * @see https://developer.mozilla.org/docs/Web/CSS/margin-inline-start
2186 | */
2187 | "margin-inline-start"?: "auto" | string | 0;
2188 |
2189 | /**
2190 | * Shorthand property to set values for the thickness of the margin area. If left is omitted, it is the same as right. If bottom is omitted it is the same as top, if right is omitted it is the same as top. Negative values for margin properties are allowed, but there may be implementation-specific limits..
2191 | * Syntax: | auto
2192 | * @see https://developer.mozilla.org/docs/Web/CSS/margin-left
2193 | */
2194 | "margin-left"?: "auto" | string | 0;
2195 |
2196 | /**
2197 | * Shorthand property to set values for the thickness of the margin area. If left is omitted, it is the same as right. If bottom is omitted it is the same as top, if right is omitted it is the same as top. Negative values for margin properties are allowed, but there may be implementation-specific limits..
2198 | * Syntax: | auto
2199 | * @see https://developer.mozilla.org/docs/Web/CSS/margin-right
2200 | */
2201 | "margin-right"?: "auto" | string | 0;
2202 |
2203 | /**
2204 | * Shorthand property to set values for the thickness of the margin area. If left is omitted, it is the same as right. If bottom is omitted it is the same as top, if right is omitted it is the same as top. Negative values for margin properties are allowed, but there may be implementation-specific limits..
2205 | * Syntax: | auto
2206 | * @see https://developer.mozilla.org/docs/Web/CSS/margin-top
2207 | */
2208 | "margin-top"?: "auto" | string | 0;
2209 |
2210 | /**
2211 | * The margin-trim property allows the container to trim the margins of its children where they adjoin the container’s edges.
2212 | * Syntax: none | in-flow | all
2213 | * @see https://developer.mozilla.org/docs/Web/CSS/margin-trim
2214 | */
2215 | "margin-trim"?: "none" | "in-flow" | "all";
2216 |
2217 | /**
2218 | * Specifies the marker symbol that shall be used for all points on the sets the value for all vertices on the given 'path' element or basic shape.
2219 | * Syntax: none |
2220 | * @see https://developer.mozilla.org/docs/Web/CSS/marker
2221 | */
2222 | marker?: "none" | "url()" | string;
2223 |
2224 | /**
2225 | * Specifies the marker that will be drawn at the last vertices of the given markable element.
2226 | * Syntax: none |
2227 | * @see https://developer.mozilla.org/docs/Web/CSS/marker-end
2228 | */
2229 | "marker-end"?: "none" | "url()" | string;
2230 |
2231 | /**
2232 | * Specifies the marker that will be drawn at all vertices except the first and last.
2233 | * Syntax: none |
2234 | * @see https://developer.mozilla.org/docs/Web/CSS/marker-mid
2235 | */
2236 | "marker-mid"?: "none" | "url()" | string;
2237 |
2238 | /**
2239 | * Specifies the marker that will be drawn at the first vertices of the given markable element.
2240 | * Syntax: none |
2241 | * @see https://developer.mozilla.org/docs/Web/CSS/marker-start
2242 | */
2243 | "marker-start"?: "none" | "url()" | string;
2244 |
2245 | /**
2246 | * The mask CSS property alters the visibility of an element by either partially or fully hiding it. This is accomplished by either masking or clipping the image at specific points.
2247 | * @see https://developer.mozilla.org/docs/Web/CSS/mask
2248 | */
2249 | mask?: string;
2250 |
2251 | /**
2252 | * The mask-border CSS property lets you create a mask along the edge of an element's border.
2253 | *
2254 | * This property is a shorthand for mask-border-source, mask-border-slice, mask-border-width, mask-border-outset, mask-border-repeat, and mask-border-mode. As with all shorthand properties, any omitted sub-values will be set to their initial value.
2255 | * @see https://developer.mozilla.org/docs/Web/CSS/mask-border
2256 | */
2257 | "mask-border"?: string;
2258 |
2259 | /**
2260 | * The mask-border-mode CSS property specifies the blending mode used in a mask border.
2261 | * Syntax: luminance | alpha
2262 | */
2263 | "mask-border-mode"?: "luminance" | "alpha";
2264 |
2265 | /**
2266 | * The mask-border-outset CSS property specifies the distance by which an element's mask border is set out from its border box.
2267 | * @see https://developer.mozilla.org/docs/Web/CSS/mask-border-outset
2268 | */
2269 | "mask-border-outset"?: string;
2270 |
2271 | /**
2272 | * The mask-border-repeat CSS property defines how the edge regions of a source image are adjusted to fit the dimensions of an element's mask border.
2273 | * @see https://developer.mozilla.org/docs/Web/CSS/mask-border-repeat
2274 | */
2275 | "mask-border-repeat"?: string;
2276 |
2277 | /**
2278 | * The mask-border-slice CSS property divides the image specified by mask-border-source into regions. These regions are used to form the components of an element's mask border.
2279 | * @see https://developer.mozilla.org/docs/Web/CSS/mask-border-slice
2280 | */
2281 | "mask-border-slice"?: string;
2282 |
2283 | /**
2284 | * The mask-border-source CSS property specifies the source image used to create an element's mask border.
2285 | *
2286 | * The mask-border-slice property is used to divide the source image into regions, which are then dynamically applied to the final mask border.
2287 | * @see https://developer.mozilla.org/docs/Web/CSS/mask-border-source
2288 | */
2289 | "mask-border-source"?: string;
2290 |
2291 | /**
2292 | * The mask-border-width CSS property specifies the width of an element's mask border.
2293 | * @see https://developer.mozilla.org/docs/Web/CSS/mask-border-width
2294 | */
2295 | "mask-border-width"?: string;
2296 |
2297 | /**
2298 | * 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.
2299 | * @see https://developer.mozilla.org/docs/Web/CSS/mask-clip
2300 | */
2301 | "mask-clip"?: string;
2302 |
2303 | /**
2304 | * The mask-composite CSS property represents a compositing operation used on the current mask layer with the mask layers below it.
2305 | * @see https://developer.mozilla.org/docs/Web/CSS/mask-composite
2306 | */
2307 | "mask-composite"?: string;
2308 |
2309 | /**
2310 | * Sets the mask layer image of an element.
2311 | * Syntax: #
2312 | * @see https://developer.mozilla.org/docs/Web/CSS/mask-image
2313 | */
2314 | "mask-image"?: "none" | "url()" | string;
2315 |
2316 | /**
2317 | * Indicates whether the mask layer image is treated as luminance mask or alpha mask.
2318 | * Syntax: #
2319 | * @see https://developer.mozilla.org/docs/Web/CSS/mask-mode
2320 | */
2321 | "mask-mode"?: "alpha" | "auto" | "luminance" | string;
2322 |
2323 | /**
2324 | * Specifies the mask positioning area.
2325 | * @see https://developer.mozilla.org/docs/Web/CSS/mask-origin
2326 | */
2327 | "mask-origin"?: string;
2328 |
2329 | /**
2330 | * Specifies how mask layer images are positioned.
2331 | * @see https://developer.mozilla.org/docs/Web/CSS/mask-position
2332 | */
2333 | "mask-position"?: string;
2334 |
2335 | /**
2336 | * Specifies how mask layer images are tiled after they have been sized and positioned.
2337 | * @see https://developer.mozilla.org/docs/Web/CSS/mask-repeat
2338 | */
2339 | "mask-repeat"?: string;
2340 |
2341 | /**
2342 | * Specifies the size of the mask layer images.
2343 | * Syntax: #
2344 | * @see https://developer.mozilla.org/docs/Web/CSS/mask-size
2345 | */
2346 | "mask-size"?: "auto" | "contain" | "cover" | string | 0;
2347 |
2348 | /**
2349 | * Defines whether the content of the element is treated as as luminance mask or alpha mask.
2350 | * Syntax: luminance | alpha
2351 | * @see https://developer.mozilla.org/docs/Web/CSS/mask-type
2352 | */
2353 | "mask-type"?: "alpha" | "luminance";
2354 |
2355 | /**
2356 | * Describe a notion of "depth" for each element of a mathematical formula, with respect to the top-level container of that formula.
2357 | * @see https://developer.mozilla.org/docs/Web/CSS/math-depth
2358 | */
2359 | "math-depth"?: string;
2360 |
2361 | /**
2362 | * Used for positioning superscript during the layout of MathML scripted elements.
2363 | * Syntax: normal | compact
2364 | * @see https://developer.mozilla.org/docs/Web/CSS/math-shift
2365 | */
2366 | "math-shift"?: "normal" | "compact";
2367 |
2368 | /**
2369 | * The math-style property indicates whether MathML equations should render with normal or compact height.
2370 | * Syntax: normal | compact
2371 | * @see https://developer.mozilla.org/docs/Web/CSS/math-style
2372 | */
2373 | "math-style"?: "normal" | "compact";
2374 |
2375 | /**
2376 | * Maximum size of an element in the direction opposite that of the direction specified by 'writing-mode'.
2377 | * Syntax: <'max-width'>
2378 | * @see https://developer.mozilla.org/docs/Web/CSS/max-block-size
2379 | */
2380 | "max-block-size"?: "none" | string | 0;
2381 |
2382 | /**
2383 | * Allows authors to constrain content height to a certain range.
2384 | * Syntax: none | | min-content | max-content | fit-content | fit-content() | |
2385 | * @see https://developer.mozilla.org/docs/Web/CSS/max-height
2386 | */
2387 | "max-height"?:
2388 | | "none"
2389 | | "fit-content"
2390 | | "max-content"
2391 | | "min-content"
2392 | | string
2393 | | 0;
2394 |
2395 | /**
2396 | * Maximum size of an element in the direction specified by 'writing-mode'.
2397 | * Syntax: <'max-width'>
2398 | * @see https://developer.mozilla.org/docs/Web/CSS/max-inline-size
2399 | */
2400 | "max-inline-size"?: "none" | string | 0;
2401 |
2402 | /**
2403 | * The max-lines property forces a break after a set number of lines
2404 | */
2405 | "max-lines"?: string;
2406 |
2407 | /**
2408 | * Allows authors to constrain content width to a certain range.
2409 | * Syntax: none | | min-content | max-content | fit-content | fit-content() | |
2410 | * @see https://developer.mozilla.org/docs/Web/CSS/max-width
2411 | */
2412 | "max-width"?:
2413 | | "none"
2414 | | "fit-content"
2415 | | "max-content"
2416 | | "min-content"
2417 | | string
2418 | | 0;
2419 |
2420 | /**
2421 | * Minimal size of an element in the direction opposite that of the direction specified by 'writing-mode'.
2422 | * @see https://developer.mozilla.org/docs/Web/CSS/min-block-size
2423 | */
2424 | "min-block-size"?: string;
2425 |
2426 | /**
2427 | * Allows authors to constrain content height to a certain range.
2428 | * Syntax: auto | | min-content | max-content | fit-content | fit-content() | |
2429 | * @see https://developer.mozilla.org/docs/Web/CSS/min-height
2430 | */
2431 | "min-height"?:
2432 | | "auto"
2433 | | "fit-content"
2434 | | "max-content"
2435 | | "min-content"
2436 | | string
2437 | | 0;
2438 |
2439 | /**
2440 | * Minimal size of an element in the direction specified by 'writing-mode'.
2441 | * @see https://developer.mozilla.org/docs/Web/CSS/min-inline-size
2442 | */
2443 | "min-inline-size"?: string;
2444 |
2445 | /**
2446 | * Allows authors to constrain content width to a certain range.
2447 | * Syntax: auto | | min-content | max-content | fit-content | fit-content() | |
2448 | * @see https://developer.mozilla.org/docs/Web/CSS/min-width
2449 | */
2450 | "min-width"?:
2451 | | "auto"
2452 | | "fit-content"
2453 | | "max-content"
2454 | | "min-content"
2455 | | string
2456 | | 0;
2457 |
2458 | /**
2459 | * Defines the formula that must be used to mix the colors with the backdrop.
2460 | * Syntax: | plus-lighter
2461 | * @see https://developer.mozilla.org/docs/Web/CSS/mix-blend-mode
2462 | */
2463 | "mix-blend-mode"?:
2464 | | "normal"
2465 | | "multiply"
2466 | | "screen"
2467 | | "overlay"
2468 | | "darken"
2469 | | "lighten"
2470 | | "color-dodge"
2471 | | "color-burn"
2472 | | "hard-light"
2473 | | "soft-light"
2474 | | "difference"
2475 | | "exclusion"
2476 | | "hue"
2477 | | "saturation"
2478 | | "color"
2479 | | "luminosity"
2480 | | string;
2481 |
2482 | /**
2483 | * Shorthand property for setting 'motion-path', 'motion-offset' and 'motion-rotation'.
2484 | */
2485 | motion?: "none" | "path()" | "auto" | "reverse" | 0;
2486 |
2487 | /**
2488 | * A distance that describes the position along the specified motion path.
2489 | */
2490 | "motion-offset"?: string;
2491 |
2492 | /**
2493 | * Specifies the motion path the element gets positioned at.
2494 | */
2495 | "motion-path"?: "none" | "path()";
2496 |
2497 | /**
2498 | * Defines the direction of the element while positioning along the motion path.
2499 | */
2500 | "motion-rotation"?: "auto" | "reverse";
2501 |
2502 | /**
2503 | * Provides an way to control directional focus navigation.
2504 | */
2505 | "nav-down"?: "auto" | "current" | "root";
2506 |
2507 | /**
2508 | * Provides an input-method-neutral way of specifying the sequential navigation order (also known as 'tabbing order').
2509 | */
2510 | "nav-index"?: "auto";
2511 |
2512 | /**
2513 | * Provides an way to control directional focus navigation.
2514 | */
2515 | "nav-left"?: "auto" | "current" | "root";
2516 |
2517 | /**
2518 | * Provides an way to control directional focus navigation.
2519 | */
2520 | "nav-right"?: "auto" | "current" | "root";
2521 |
2522 | /**
2523 | * Provides an way to control directional focus navigation.
2524 | */
2525 | "nav-up"?: "auto" | "current" | "root";
2526 |
2527 | /**
2528 | * Specifies how the contents of a replaced element should be scaled relative to the box established by its used height and width.
2529 | * Syntax: fill | contain | cover | none | scale-down
2530 | * @see https://developer.mozilla.org/docs/Web/CSS/object-fit
2531 | */
2532 | "object-fit"?: "contain" | "cover" | "fill" | "none" | "scale-down";
2533 |
2534 | /**
2535 | * Determines the alignment of the replaced element inside its box.
2536 | * @see https://developer.mozilla.org/docs/Web/CSS/object-position
2537 | */
2538 | "object-position"?: string;
2539 |
2540 | "object-view-box"?: string;
2541 |
2542 | /**
2543 | * The offset CSS property is a shorthand property for animating an element along a defined path.
2544 | * @see https://developer.mozilla.org/docs/Web/CSS/offset
2545 | */
2546 | offset?: string;
2547 |
2548 | /**
2549 | * Defines an anchor point of the box positioned along the path. The anchor point specifies the point of the box which is to be considered as the point that is moved along the path.
2550 | * @see https://developer.mozilla.org/docs/Web/CSS/offset-anchor
2551 | */
2552 | "offset-anchor"?: string;
2553 |
2554 | /**
2555 | * Logical 'bottom'. Mapping depends on the parent element's 'writing-mode', 'direction', and 'text-orientation'.
2556 | */
2557 | "offset-block-end"?: "auto" | 0;
2558 |
2559 | /**
2560 | * Logical 'top'. Mapping depends on the parent element's 'writing-mode', 'direction', and 'text-orientation'.
2561 | */
2562 | "offset-block-start"?: "auto" | 0;
2563 |
2564 | /**
2565 | * The offset-distance CSS property specifies a position along an offset-path.
2566 | * @see https://developer.mozilla.org/docs/Web/CSS/offset-distance
2567 | */
2568 | "offset-distance"?: string;
2569 |
2570 | /**
2571 | * Logical 'right'. Mapping depends on the parent element's 'writing-mode', 'direction', and 'text-orientation'.
2572 | */
2573 | "offset-inline-end"?: "auto" | 0;
2574 |
2575 | /**
2576 | * Logical 'left'. Mapping depends on the parent element's 'writing-mode', 'direction', and 'text-orientation'.
2577 | */
2578 | "offset-inline-start"?: "auto" | 0;
2579 |
2580 | /**
2581 | * The offset-path CSS property specifies the offset path where the element gets positioned. The exact element’s position on the offset path is determined by the offset-distance property. An offset path is either a specified path with one or multiple sub-paths or the geometry of a not-styled basic shape. Each shape or path must define an initial position for the computed value of "0" for offset-distance and an initial direction which specifies the rotation of the object to the initial position.
2582 | *
2583 | * In this specification, a direction (or rotation) of 0 degrees is equivalent to the direction of the positive x-axis in the object’s local coordinate system. In other words, a rotation of 0 degree points to the right side of the UA if the object and its ancestors have no transformation applied.
2584 | * @see https://developer.mozilla.org/docs/Web/CSS/offset-path
2585 | */
2586 | "offset-path"?: string;
2587 |
2588 | /**
2589 | * Specifies the initial position of the offset path. If position is specified with static, offset-position would be ignored.
2590 | * @see https://developer.mozilla.org/docs/Web/CSS/offset-position
2591 | */
2592 | "offset-position"?: string;
2593 |
2594 | /**
2595 | * The offset-rotate CSS property defines the direction of the element while positioning along the offset path.
2596 | * @see https://developer.mozilla.org/docs/Web/CSS/offset-rotate
2597 | */
2598 | "offset-rotate"?: string;
2599 |
2600 | /**
2601 | * Opacity of an element's text, where 1 is opaque and 0 is entirely transparent.
2602 | * @see https://developer.mozilla.org/docs/Web/CSS/opacity
2603 | */
2604 | opacity?: string;
2605 |
2606 | /**
2607 | * Controls the order in which children of a flex container appear within the flex container, by assigning them to ordinal groups.
2608 | * @see https://developer.mozilla.org/docs/Web/CSS/order
2609 | */
2610 | order?: string;
2611 |
2612 | /**
2613 | * Specifies the minimum number of line boxes in a block container that must be left in a fragment before a fragmentation break.
2614 | * @see https://developer.mozilla.org/docs/Web/CSS/orphans
2615 | */
2616 | orphans?: string;
2617 |
2618 | /**
2619 | * Shorthand property for 'outline-style', 'outline-width', and 'outline-color'.
2620 | * Syntax: <'outline-width'> || <'outline-style'> || <'outline-color'>
2621 | * @see https://developer.mozilla.org/docs/Web/CSS/outline
2622 | */
2623 | outline?: "auto" | "invert" | string | 0;
2624 |
2625 | /**
2626 | * The color of the outline.
2627 | * Syntax: auto |
2628 | * @see https://developer.mozilla.org/docs/Web/CSS/outline-color
2629 | */
2630 | "outline-color"?: "invert" | string;
2631 |
2632 | /**
2633 | * Offset the outline and draw it beyond the border edge.
2634 | * @see https://developer.mozilla.org/docs/Web/CSS/outline-offset
2635 | */
2636 | "outline-offset"?: string;
2637 |
2638 | /**
2639 | * Style of the outline.
2640 | * Syntax: auto |
2641 | * @see https://developer.mozilla.org/docs/Web/CSS/outline-style
2642 | */
2643 | "outline-style"?: "auto" | string;
2644 |
2645 | /**
2646 | * Width of the outline.
2647 | * @see https://developer.mozilla.org/docs/Web/CSS/outline-width
2648 | */
2649 | "outline-width"?: string;
2650 |
2651 | /**
2652 | * Shorthand for setting 'overflow-x' and 'overflow-y'.
2653 | * Syntax: [ visible | hidden | clip | scroll | auto ]{1,2}
2654 | * @see https://developer.mozilla.org/docs/Web/CSS/overflow
2655 | */
2656 | overflow?:
2657 | | "auto"
2658 | | "hidden"
2659 | | "-moz-hidden-unscrollable"
2660 | | "scroll"
2661 | | "visible";
2662 |
2663 | /**
2664 | * The overflow-anchor CSS property provides a way to opt out browser scroll anchoring behavior which adjusts scroll position to minimize content shifts.
2665 | * Syntax: auto | none
2666 | * @see https://developer.mozilla.org/docs/Web/CSS/overflow-anchor
2667 | */
2668 | "overflow-anchor"?: "auto" | "none";
2669 |
2670 | /**
2671 | * The overflow-block CSS media feature can be used to test how the output device handles content that overflows the initial containing block along the block axis.
2672 | * Syntax: visible | hidden | clip | scroll | auto
2673 | * @see https://developer.mozilla.org/docs/Web/CSS/overflow-block
2674 | */
2675 | "overflow-block"?: "visible" | "hidden" | "clip" | "scroll" | "auto";
2676 |
2677 | /**
2678 | * The overflow-clip-margin CSS property determines how far outside its bounds an element with overflow: clip may be painted before being clipped.
2679 | * @see https://developer.mozilla.org/docs/Web/CSS/overflow-clip-margin
2680 | */
2681 | "overflow-clip-margin"?: string;
2682 |
2683 | /**
2684 | * The overflow-inline CSS media feature can be used to test how the output device handles content that overflows the initial containing block along the inline axis.
2685 | * Syntax: visible | hidden | clip | scroll | auto
2686 | * @see https://developer.mozilla.org/docs/Web/CSS/overflow-inline
2687 | */
2688 | "overflow-inline"?: "visible" | "hidden" | "clip" | "scroll" | "auto";
2689 |
2690 | /**
2691 | * Specifies whether the UA may break within a word to prevent overflow when an otherwise-unbreakable string is too long to fit within the line box.
2692 | * Syntax: normal | break-word | anywhere
2693 | * @see https://developer.mozilla.org/docs/Web/CSS/overflow-wrap
2694 | */
2695 | "overflow-wrap"?: "break-word" | "normal" | "anywhere";
2696 |
2697 | /**
2698 | * Specifies the handling of overflow in the horizontal direction.
2699 | * Syntax: visible | hidden | clip | scroll | auto
2700 | * @see https://developer.mozilla.org/docs/Web/CSS/overflow-x
2701 | */
2702 | "overflow-x"?: "auto" | "hidden" | "scroll" | "visible";
2703 |
2704 | /**
2705 | * Specifies the handling of overflow in the vertical direction.
2706 | * Syntax: visible | hidden | clip | scroll | auto
2707 | * @see https://developer.mozilla.org/docs/Web/CSS/overflow-y
2708 | */
2709 | "overflow-y"?: "auto" | "hidden" | "scroll" | "visible";
2710 |
2711 | /**
2712 | * The overlay CSS property specifies whether an element appearing in the top layer (for example, a shown popover or modal {{htmlelement("dialog")}} element) is actually rendered in the top layer. This property is only relevant within a list of transition-property values, and only if allow-discrete is set as the transition-behavior.
2713 | * Syntax: none | auto
2714 | * @see https://developer.mozilla.org/docs/Web/CSS/overlay
2715 | */
2716 | overlay?: "none" | "auto";
2717 |
2718 | /**
2719 | * The overscroll-behavior CSS property is shorthand for the overscroll-behavior-x and overscroll-behavior-y properties, which allow you to control the browser's scroll overflow behavior — what happens when the boundary of a scrolling area is reached.
2720 | * @see https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior
2721 | */
2722 | "overscroll-behavior"?: string;
2723 |
2724 | /**
2725 | * The overscroll-behavior-block CSS property sets the browser's behavior when the block direction boundary of a scrolling area is reached.
2726 | * Syntax: contain | none | auto
2727 | * @see https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-block
2728 | */
2729 | "overscroll-behavior-block"?: "contain" | "none" | "auto";
2730 |
2731 | /**
2732 | * The overscroll-behavior-inline CSS property sets the browser's behavior when the inline direction boundary of a scrolling area is reached.
2733 | * Syntax: contain | none | auto
2734 | * @see https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-inline
2735 | */
2736 | "overscroll-behavior-inline"?: "contain" | "none" | "auto";
2737 |
2738 | /**
2739 | * The overscroll-behavior-x CSS property is allows you to control the browser's scroll overflow behavior — what happens when the boundary of a scrolling area is reached — in the x axis direction.
2740 | * Syntax: contain | none | auto
2741 | * @see https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-x
2742 | */
2743 | "overscroll-behavior-x"?: "contain" | "none" | "auto";
2744 |
2745 | /**
2746 | * The overscroll-behavior-y CSS property is allows you to control the browser's scroll overflow behavior — what happens when the boundary of a scrolling area is reached — in the y axis direction.
2747 | * Syntax: contain | none | auto
2748 | * @see https://developer.mozilla.org/docs/Web/CSS/overscroll-behavior-y
2749 | */
2750 | "overscroll-behavior-y"?: "contain" | "none" | "auto";
2751 |
2752 | /**
2753 | * Shorthand property to set values for the thickness of the padding area. If left is omitted, it is the same as right. If bottom is omitted it is the same as top, if right is omitted it is the same as top. The value may not be negative.
2754 | * @see https://developer.mozilla.org/docs/Web/CSS/padding
2755 | */
2756 | padding?: string;
2757 |
2758 | /**
2759 | * 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.
2760 | * @see https://developer.mozilla.org/docs/Web/CSS/padding-block
2761 | */
2762 | "padding-block"?: string;
2763 |
2764 | /**
2765 | * Logical 'padding-bottom'. Mapping depends on the parent element's 'writing-mode', 'direction', and 'text-orientation'.
2766 | * @see https://developer.mozilla.org/docs/Web/CSS/padding-block-end
2767 | */
2768 | "padding-block-end"?: string;
2769 |
2770 | /**
2771 | * Logical 'padding-top'. Mapping depends on the parent element's 'writing-mode', 'direction', and 'text-orientation'.
2772 | * @see https://developer.mozilla.org/docs/Web/CSS/padding-block-start
2773 | */
2774 | "padding-block-start"?: string;
2775 |
2776 | /**
2777 | * Shorthand property to set values for the thickness of the padding area. If left is omitted, it is the same as right. If bottom is omitted it is the same as top, if right is omitted it is the same as top. The value may not be negative.
2778 | * @see https://developer.mozilla.org/docs/Web/CSS/padding-bottom
2779 | */
2780 | "padding-bottom"?: string;
2781 |
2782 | /**
2783 | * 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.
2784 | * @see https://developer.mozilla.org/docs/Web/CSS/padding-inline
2785 | */
2786 | "padding-inline"?: string;
2787 |
2788 | /**
2789 | * Logical 'padding-right'. Mapping depends on the parent element's 'writing-mode', 'direction', and 'text-orientation'.
2790 | * @see https://developer.mozilla.org/docs/Web/CSS/padding-inline-end
2791 | */
2792 | "padding-inline-end"?: string;
2793 |
2794 | /**
2795 | * Logical 'padding-left'. Mapping depends on the parent element's 'writing-mode', 'direction', and 'text-orientation'.
2796 | * @see https://developer.mozilla.org/docs/Web/CSS/padding-inline-start
2797 | */
2798 | "padding-inline-start"?: string;
2799 |
2800 | /**
2801 | * Shorthand property to set values for the thickness of the padding area. If left is omitted, it is the same as right. If bottom is omitted it is the same as top, if right is omitted it is the same as top. The value may not be negative.
2802 | * @see https://developer.mozilla.org/docs/Web/CSS/padding-left
2803 | */
2804 | "padding-left"?: string;
2805 |
2806 | /**
2807 | * Shorthand property to set values for the thickness of the padding area. If left is omitted, it is the same as right. If bottom is omitted it is the same as top, if right is omitted it is the same as top. The value may not be negative.
2808 | * @see https://developer.mozilla.org/docs/Web/CSS/padding-right
2809 | */
2810 | "padding-right"?: string;
2811 |
2812 | /**
2813 | * Shorthand property to set values for the thickness of the padding area. If left is omitted, it is the same as right. If bottom is omitted it is the same as top, if right is omitted it is the same as top. The value may not be negative.
2814 | * @see https://developer.mozilla.org/docs/Web/CSS/padding-top
2815 | */
2816 | "padding-top"?: string;
2817 |
2818 | /**
2819 | * The page CSS property is used to specify the named page, a specific type of page defined by the @page at-rule.
2820 | * @see https://developer.mozilla.org/docs/Web/CSS/page
2821 | */
2822 | page?: string;
2823 |
2824 | /**
2825 | * Defines rules for page breaks after an element.
2826 | * Syntax: auto | always | avoid | left | right | recto | verso
2827 | * @see https://developer.mozilla.org/docs/Web/CSS/page-break-after
2828 | */
2829 | "page-break-after"?: "always" | "auto" | "avoid" | "left" | "right";
2830 |
2831 | /**
2832 | * Defines rules for page breaks before an element.
2833 | * Syntax: auto | always | avoid | left | right | recto | verso
2834 | * @see https://developer.mozilla.org/docs/Web/CSS/page-break-before
2835 | */
2836 | "page-break-before"?: "always" | "auto" | "avoid" | "left" | "right";
2837 |
2838 | /**
2839 | * Defines rules for page breaks inside an element.
2840 | * Syntax: auto | avoid
2841 | * @see https://developer.mozilla.org/docs/Web/CSS/page-break-inside
2842 | */
2843 | "page-break-inside"?: "auto" | "avoid";
2844 |
2845 | /**
2846 | * Controls the order that the three paint operations that shapes and text are rendered with: their fill, their stroke and any markers they might have.
2847 | * Syntax: normal | [ fill || stroke || markers ]
2848 | * @see https://developer.mozilla.org/docs/Web/CSS/paint-order
2849 | */
2850 | "paint-order"?: "fill" | "markers" | "normal" | "stroke";
2851 |
2852 | /**
2853 | * Applies the same transform as the perspective() transform function, except that it applies only to the positioned or transformed children of the element, not to the transform on the element itself.
2854 | * Syntax: none |
2855 | * @see https://developer.mozilla.org/docs/Web/CSS/perspective
2856 | */
2857 | perspective?: "none" | string | 0;
2858 |
2859 | /**
2860 | * Establishes the origin for the perspective property. It effectively sets the X and Y position at which the viewer appears to be looking at the children of the element.
2861 | * @see https://developer.mozilla.org/docs/Web/CSS/perspective-origin
2862 | */
2863 | "perspective-origin"?: string;
2864 |
2865 | /**
2866 | * The place-content CSS shorthand property sets both the align-content and justify-content properties.
2867 | * @see https://developer.mozilla.org/docs/Web/CSS/place-content
2868 | */
2869 | "place-content"?: string;
2870 |
2871 | /**
2872 | * The CSS place-items shorthand property sets both the align-items and justify-items properties. The first value is the align-items property value, the second the justify-items one. If the second value is not present, the first value is also used for it.
2873 | * @see https://developer.mozilla.org/docs/Web/CSS/place-items
2874 | */
2875 | "place-items"?: string;
2876 |
2877 | /**
2878 | * 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.
2879 | * @see https://developer.mozilla.org/docs/Web/CSS/place-self
2880 | */
2881 | "place-self"?: string;
2882 |
2883 | /**
2884 | * Specifies under what circumstances a given element can be the target element for a pointer event.
2885 | * Syntax: auto | none | visiblePainted | visibleFill | visibleStroke | visible | painted | fill | stroke | all | inherit
2886 | * @see https://developer.mozilla.org/docs/Web/CSS/pointer-events
2887 | */
2888 | "pointer-events"?:
2889 | | "all"
2890 | | "fill"
2891 | | "none"
2892 | | "painted"
2893 | | "stroke"
2894 | | "visible"
2895 | | "visibleFill"
2896 | | "visiblePainted"
2897 | | "visibleStroke";
2898 |
2899 | /**
2900 | * 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.
2901 | * Syntax: static | relative | absolute | sticky | fixed
2902 | * @see https://developer.mozilla.org/docs/Web/CSS/position
2903 | */
2904 | position?:
2905 | | "absolute"
2906 | | "fixed"
2907 | | "-ms-page"
2908 | | "relative"
2909 | | "static"
2910 | | "sticky"
2911 | | "-webkit-sticky";
2912 |
2913 | /**
2914 | * The position-anchor property defines the default anchor specifier for all anchor functions on the element, allowing multiple elements to use the same set of anchor functions (and position options lists!) while changing which anchor element each is referring to.
2915 | * @see https://developer.mozilla.org/docs/Web/CSS/position-anchor
2916 | */
2917 | "position-anchor"?: string;
2918 |
2919 | /**
2920 | * The position-area CSS property enables an anchor-positioned element to be positioned relative to the edges of its associated anchor element by placing the positioned element on one or more tiles of an implicit 3x3 grid, where the anchoring element is the center cell.
2921 | * @see https://developer.mozilla.org/docs/Web/CSS/position-area
2922 | */
2923 | "position-area"?: string;
2924 |
2925 | /**
2926 | * This shorthand sets both position-try-options and position-try-order. If <'position-try-order'> is omitted, it’s set to the property’s initial value.
2927 | * @see https://developer.mozilla.org/docs/Web/CSS/position-try
2928 | */
2929 | "position-try"?: string;
2930 |
2931 | /**
2932 | * The position-try-fallbacks CSS property enables you to specify a list of one or more alternative position try fallback options for anchor-positioned elements to be placed relative to their associated anchor elements. When the element would otherwise overflow its inset-modified containing block, the browser will try placing the positioned element in these different fallback positions, in the order provided, until it finds a value that stops it from overflowing its container or the viewport.
2933 | * @see https://developer.mozilla.org/docs/Web/CSS/position-try-fallbacks
2934 | */
2935 | "position-try-fallbacks"?: string;
2936 |
2937 | /**
2938 | * This property specifies the order in which the position options list will be tried.
2939 | * @see https://developer.mozilla.org/docs/Web/CSS/position-try-order
2940 | */
2941 | "position-try-order"?: string;
2942 |
2943 | /**
2944 | * There are times when an element’s anchors are not appropriate for positioning the element with, and it would be better to simply not display the element at all. position-visibility provides several conditions where this could be the case.
2945 | * @see https://developer.mozilla.org/docs/Web/CSS/position-visibility
2946 | */
2947 | "position-visibility"?: string;
2948 |
2949 | /**
2950 | * Defines what optimization the user agent is allowed to do when adjusting the appearance for an output device.
2951 | * Syntax: economy | exact
2952 | * @see https://developer.mozilla.org/docs/Web/CSS/print-color-adjust
2953 | */
2954 | "print-color-adjust"?: "economy" | "exact";
2955 |
2956 | /**
2957 | * Specifies quotation marks for any number of embedded quotations.
2958 | * Syntax: none | auto | [ ]+
2959 | * @see https://developer.mozilla.org/docs/Web/CSS/quotes
2960 | */
2961 | quotes?: "none" | string;
2962 |
2963 | /**
2964 | * The r CSS property defines the radius of a circle. It can only be used with the SVG circle element. If present, it overrides the circle's r attribute.
2965 | * @see https://developer.mozilla.org/docs/Web/CSS/r
2966 | */
2967 | r?: string;
2968 |
2969 | /**
2970 | * Specifies whether or not an element is resizable by the user, and if so, along which axis/axes.
2971 | * Syntax: none | both | horizontal | vertical | block | inline
2972 | * @see https://developer.mozilla.org/docs/Web/CSS/resize
2973 | */
2974 | resize?: "both" | "horizontal" | "none" | "vertical";
2975 |
2976 | /**
2977 | * Specifies how far an absolutely positioned box's right margin edge is offset to the left of the right edge of the box's 'containing block'.
2978 | * Syntax: | | auto
2979 | * @see https://developer.mozilla.org/docs/Web/CSS/right
2980 | */
2981 | right?: "auto" | string | 0;
2982 |
2983 | /**
2984 | * The rotate CSS property allows you to specify rotation transforms individually and independently of the transform property. This maps better to typical user interface usage, and saves having to remember the exact order of transform functions to specify in the transform value.
2985 | * @see https://developer.mozilla.org/docs/Web/CSS/rotate
2986 | */
2987 | rotate?: string;
2988 |
2989 | /**
2990 | * The row-gap CSS property specifies the gutter between grid rows.
2991 | * @see https://developer.mozilla.org/docs/Web/CSS/row-gap
2992 | */
2993 | "row-gap"?: string;
2994 |
2995 | /**
2996 | * Specifies how text is distributed within the various ruby boxes when their contents do not exactly fill their respective boxes.
2997 | * Syntax: start | center | space-between | space-around
2998 | * @see https://developer.mozilla.org/docs/Web/CSS/ruby-align
2999 | */
3000 | "ruby-align"?:
3001 | | "auto"
3002 | | "center"
3003 | | "distribute-letter"
3004 | | "distribute-space"
3005 | | "left"
3006 | | "line-edge"
3007 | | "right"
3008 | | "start"
3009 | | "space-between"
3010 | | "space-around";
3011 |
3012 | /**
3013 | * This property controls how ruby annotation boxes should be rendered when there are more than one in a ruby container box: whether each pair should be kept separate, the annotations should be collapsed and rendered as a group, or the separation should be determined based on the space available.
3014 | * Syntax: separate | collapse | auto
3015 | */
3016 | "ruby-merge"?: "separate" | "collapse" | "auto";
3017 |
3018 | /**
3019 | * Determines whether, and on which side, ruby text is allowed to partially overhang any adjacent text in addition to its own base, when the ruby text is wider than the ruby base.
3020 | */
3021 | "ruby-overhang"?: "auto" | "end" | "none" | "start";
3022 |
3023 | /**
3024 | * Used by the parent of elements with display: ruby-text to control the position of the ruby text with respect to its base.
3025 | * Syntax: [ alternate || [ over | under ] ] | inter-character
3026 | * @see https://developer.mozilla.org/docs/Web/CSS/ruby-position
3027 | */
3028 | "ruby-position"?: "after" | "before" | "inline" | "right";
3029 |
3030 | /**
3031 | * Determines whether, and on which side, ruby text is allowed to partially overhang any adjacent text in addition to its own base, when the ruby text is wider than the ruby base.
3032 | */
3033 | "ruby-span"?: "attr(x)" | "none";
3034 |
3035 | /**
3036 | * The rx CSS property defines the x-axis, or horizontal, radius of an SVG ellipse and the horizontal curve of the corners of an SVG rect rectangle. If present, it overrides the shape's rx attribute.
3037 | * @see https://developer.mozilla.org/docs/Web/CSS/rx
3038 | */
3039 | rx?: string;
3040 |
3041 | /**
3042 | * The ry CSS property defines the y-axis, or vertical, radius of an SVG ellipse and the vertical curve of the corners of an SVG rect rectangle. If present, it overrides the shape's ry attribute.
3043 | * @see https://developer.mozilla.org/docs/Web/CSS/ry
3044 | */
3045 | ry?: string;
3046 |
3047 | /**
3048 | * The scale CSS property allows you to specify scale transforms individually and independently of the transform property. This maps better to typical user interface usage, and saves having to remember the exact order of transform functions to specify in the transform value.
3049 | * @see https://developer.mozilla.org/docs/Web/CSS/scale
3050 | */
3051 | scale?: string;
3052 |
3053 | /**
3054 | * Specifies the scrolling behavior for a scrolling box, when scrolling happens due to navigation or CSSOM scrolling APIs.
3055 | * Syntax: auto | smooth
3056 | * @see https://developer.mozilla.org/docs/Web/CSS/scroll-behavior
3057 | */
3058 | "scroll-behavior"?: "auto" | "smooth";
3059 |
3060 | /**
3061 | * Syntax: none | nearest
3062 | */
3063 | "scroll-initial-target"?: "none" | "nearest";
3064 |
3065 | /**
3066 | * 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.
3067 | * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin
3068 | */
3069 | "scroll-margin"?: string;
3070 |
3071 | /**
3072 | * The scroll-margin-block property is a shorthand property which sets the scroll-margin longhands in the block dimension.
3073 | * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-block
3074 | */
3075 | "scroll-margin-block"?: string;
3076 |
3077 | /**
3078 | * 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.
3079 | * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-block-end
3080 | */
3081 | "scroll-margin-block-end"?: string;
3082 |
3083 | /**
3084 | * 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.
3085 | * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-block-start
3086 | */
3087 | "scroll-margin-block-start"?: string;
3088 |
3089 | /**
3090 | * 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.
3091 | * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-bottom
3092 | */
3093 | "scroll-margin-bottom"?: string;
3094 |
3095 | /**
3096 | * The scroll-margin-inline property is a shorthand property which sets the scroll-margin longhands in the inline dimension.
3097 | * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-inline
3098 | */
3099 | "scroll-margin-inline"?: string;
3100 |
3101 | /**
3102 | * 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.
3103 | * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-inline-end
3104 | */
3105 | "scroll-margin-inline-end"?: string;
3106 |
3107 | /**
3108 | * 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.
3109 | * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-inline-start
3110 | */
3111 | "scroll-margin-inline-start"?: string;
3112 |
3113 | /**
3114 | * 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.
3115 | * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-left
3116 | */
3117 | "scroll-margin-left"?: string;
3118 |
3119 | /**
3120 | * 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.
3121 | * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-right
3122 | */
3123 | "scroll-margin-right"?: string;
3124 |
3125 | /**
3126 | * 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.
3127 | * @see https://developer.mozilla.org/docs/Web/CSS/scroll-margin-top
3128 | */
3129 | "scroll-margin-top"?: string;
3130 |
3131 | /**
3132 | * 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.
3133 | * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding
3134 | */
3135 | "scroll-padding"?: string;
3136 |
3137 | /**
3138 | * The scroll-padding-block property is a shorthand property which sets the scroll-padding longhands for the block dimension.
3139 | * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding-block
3140 | */
3141 | "scroll-padding-block"?: string;
3142 |
3143 | /**
3144 | * 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 targeted element and the edges of the scrollport.
3145 | * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding-block-end
3146 | */
3147 | "scroll-padding-block-end"?: string;
3148 |
3149 | /**
3150 | * 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 targeted element and the edges of the scrollport.
3151 | * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding-block-start
3152 | */
3153 | "scroll-padding-block-start"?: string;
3154 |
3155 | /**
3156 | * 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 targeted element and the edges of the scrollport.
3157 | * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding-bottom
3158 | */
3159 | "scroll-padding-bottom"?: string;
3160 |
3161 | /**
3162 | * The scroll-padding-inline property is a shorthand property which sets the scroll-padding longhands for the inline dimension.
3163 | * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding-inline
3164 | */
3165 | "scroll-padding-inline"?: string;
3166 |
3167 | /**
3168 | * 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 targeted element and the edges of the scrollport.
3169 | * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding-inline-end
3170 | */
3171 | "scroll-padding-inline-end"?: string;
3172 |
3173 | /**
3174 | * 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 targeted element and the edges of the scrollport.
3175 | * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding-inline-start
3176 | */
3177 | "scroll-padding-inline-start"?: string;
3178 |
3179 | /**
3180 | * 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 targeted element and the edges of the scrollport.
3181 | * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding-left
3182 | */
3183 | "scroll-padding-left"?: string;
3184 |
3185 | /**
3186 | * 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 targeted element and the edges of the scrollport.
3187 | * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding-right
3188 | */
3189 | "scroll-padding-right"?: string;
3190 |
3191 | /**
3192 | * 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 targeted element and the edges of the scrollport.
3193 | * @see https://developer.mozilla.org/docs/Web/CSS/scroll-padding-top
3194 | */
3195 | "scroll-padding-top"?: string;
3196 |
3197 | /**
3198 | * 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.
3199 | * @see https://developer.mozilla.org/docs/Web/CSS/scroll-snap-align
3200 | */
3201 | "scroll-snap-align"?: string;
3202 |
3203 | /**
3204 | * Defines the x and y coordinate within the element which will align with the nearest ancestor scroll container's snap-destination for the respective axis.
3205 | * Syntax: none | #
3206 | */
3207 | "scroll-snap-coordinate"?: "none" | string | 0;
3208 |
3209 | /**
3210 | * Define the x and y coordinate within the scroll container's visual viewport which element snap points will align with.
3211 | */
3212 | "scroll-snap-destination"?: string;
3213 |
3214 | /**
3215 | * Defines the positioning of snap points along the x axis of the scroll container it is applied to.
3216 | * Syntax: none | repeat( )
3217 | */
3218 | "scroll-snap-points-x"?: "none" | "repeat()" | string;
3219 |
3220 | /**
3221 | * Defines the positioning of snap points along the y axis of the scroll container it is applied to.
3222 | * Syntax: none | repeat( )
3223 | */
3224 | "scroll-snap-points-y"?: "none" | "repeat()" | string;
3225 |
3226 | /**
3227 | * The scroll-snap-stop CSS property defines whether the scroll container is allowed to "pass over" possible snap positions.
3228 | * Syntax: normal | always
3229 | * @see https://developer.mozilla.org/docs/Web/CSS/scroll-snap-stop
3230 | */
3231 | "scroll-snap-stop"?: "normal" | "always";
3232 |
3233 | /**
3234 | * Defines how strictly snap points are enforced on the scroll container.
3235 | * Syntax: none | [ x | y | block | inline | both ] [ mandatory | proximity ]?
3236 | * @see https://developer.mozilla.org/docs/Web/CSS/scroll-snap-type
3237 | */
3238 | "scroll-snap-type"?: "none" | "mandatory" | "proximity";
3239 |
3240 | /**
3241 | * 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.
3242 | *
3243 | * Specifying any precise animations or physics used to enforce those snap points is not covered by this property but instead left up to the user agent.
3244 | * Syntax: none | mandatory | proximity
3245 | */
3246 | "scroll-snap-type-x"?: "none" | "mandatory" | "proximity";
3247 |
3248 | /**
3249 | * 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.
3250 | *
3251 | * Specifying any precise animations or physics used to enforce those snap points is not covered by this property but instead left up to the user agent.
3252 | * Syntax: none | mandatory | proximity
3253 | */
3254 | "scroll-snap-type-y"?: "none" | "mandatory" | "proximity";
3255 |
3256 | /**
3257 | * Defines a name that can be used to identify the source element of a scroll timeline, along with the scrollbar axis that should provide the timeline.
3258 | * @see https://developer.mozilla.org/docs/Web/CSS/scroll-timeline
3259 | */
3260 | "scroll-timeline"?: string;
3261 |
3262 | /**
3263 | * Specifies the scrollbar that will be used to provide the timeline for a scroll-timeline animation
3264 | * @see https://developer.mozilla.org/docs/Web/CSS/scroll-timeline-axis
3265 | */
3266 | "scroll-timeline-axis"?: string;
3267 |
3268 | /**
3269 | * Defines a name that can be used to identify an element as the source of a scroll-timeline.
3270 | * @see https://developer.mozilla.org/docs/Web/CSS/scroll-timeline-name
3271 | */
3272 | "scroll-timeline-name"?: string;
3273 |
3274 | /**
3275 | * Determines the color of the top and left edges of the scroll box and scroll arrows of a scroll bar.
3276 | */
3277 | "scrollbar-3dlight-color"?: string;
3278 |
3279 | /**
3280 | * Determines the color of the arrow elements of a scroll arrow.
3281 | */
3282 | "scrollbar-arrow-color"?: string;
3283 |
3284 | /**
3285 | * Determines the color of the main elements of a scroll bar, which include the scroll box, track, and scroll arrows.
3286 | */
3287 | "scrollbar-base-color"?: string;
3288 |
3289 | /**
3290 | * The scrollbar-color CSS property sets the color of the scrollbar track and thumb.
3291 | * @see https://developer.mozilla.org/docs/Web/CSS/scrollbar-color
3292 | */
3293 | "scrollbar-color"?: string;
3294 |
3295 | /**
3296 | * Determines the color of the gutter of a scroll bar.
3297 | */
3298 | "scrollbar-darkshadow-color"?: string;
3299 |
3300 | /**
3301 | * Determines the color of the scroll box and scroll arrows of a scroll bar.
3302 | */
3303 | "scrollbar-face-color"?: string;
3304 |
3305 | /**
3306 | * The scrollbar-gutter CSS property allows authors to reserve space for the scrollbar, preventing unwanted layout changes as the content grows while also avoiding unnecessary visuals when scrolling isn't needed.
3307 | * @see https://developer.mozilla.org/docs/Web/CSS/scrollbar-gutter
3308 | */
3309 | "scrollbar-gutter"?: string;
3310 |
3311 | /**
3312 | * Determines the color of the top and left edges of the scroll box and scroll arrows of a scroll bar.
3313 | */
3314 | "scrollbar-highlight-color"?: string;
3315 |
3316 | /**
3317 | * Determines the color of the bottom and right edges of the scroll box and scroll arrows of a scroll bar.
3318 | */
3319 | "scrollbar-shadow-color"?: string;
3320 |
3321 | /**
3322 | * Determines the color of the track element of a scroll bar.
3323 | */
3324 | "scrollbar-track-color"?: string;
3325 |
3326 | /**
3327 | * The scrollbar-width property allows the author to set the maximum thickness of an element’s scrollbars when they are shown.
3328 | * Syntax: auto | thin | none
3329 | * @see https://developer.mozilla.org/docs/Web/CSS/scrollbar-width
3330 | */
3331 | "scrollbar-width"?: "auto" | "thin" | "none";
3332 |
3333 | /**
3334 | * Defines the alpha channel threshold used to extract the shape using an image. A value of 0.5 means that the shape will enclose all the pixels that are more than 50% opaque.
3335 | * @see https://developer.mozilla.org/docs/Web/CSS/shape-image-threshold
3336 | */
3337 | "shape-image-threshold"?: string;
3338 |
3339 | /**
3340 | * Adds a margin to a 'shape-outside'. This defines a new shape that is the smallest contour that includes all the points that are the 'shape-margin' distance outward in the perpendicular direction from a point on the underlying shape.
3341 | * @see https://developer.mozilla.org/docs/Web/CSS/shape-margin
3342 | */
3343 | "shape-margin"?: string;
3344 |
3345 | /**
3346 | * Specifies an orthogonal rotation to be applied to an image before it is laid out.
3347 | * Syntax: none | [ || ] |
3348 | * @see https://developer.mozilla.org/docs/Web/CSS/shape-outside
3349 | */
3350 | "shape-outside"?: "margin-box" | "none" | string;
3351 |
3352 | /**
3353 | * Provides hints about what tradeoffs to make as it renders vector graphics elements such as elements and basic shapes such as circles and rectangles.
3354 | * Syntax: auto | optimizeSpeed | crispEdges | geometricPrecision
3355 | * @see https://developer.mozilla.org/docs/Web/CSS/shape-rendering
3356 | */
3357 | "shape-rendering"?:
3358 | | "auto"
3359 | | "crispEdges"
3360 | | "geometricPrecision"
3361 | | "optimizeSpeed";
3362 |
3363 | /**
3364 | * Indicates what color to use at that gradient stop.
3365 | * @see https://developer.mozilla.org/docs/Web/CSS/stop-color
3366 | */
3367 | "stop-color"?: string;
3368 |
3369 | /**
3370 | * Defines the opacity of a given gradient stop.
3371 | * @see https://developer.mozilla.org/docs/Web/CSS/stop-opacity
3372 | */
3373 | "stop-opacity"?: string;
3374 |
3375 | /**
3376 | * Paints along the outline of the given graphical element.
3377 | * Syntax:
3378 | * @see https://developer.mozilla.org/docs/Web/CSS/stroke
3379 | */
3380 | stroke?: "url()" | "none" | string;
3381 |
3382 | /**
3383 | * Controls the pattern of dashes and gaps used to stroke paths.
3384 | * Syntax: none |
3385 | * @see https://developer.mozilla.org/docs/Web/CSS/stroke-dasharray
3386 | */
3387 | "stroke-dasharray"?: "none" | string | 0;
3388 |
3389 | /**
3390 | * Specifies the distance into the dash pattern to start the dash.
3391 | * @see https://developer.mozilla.org/docs/Web/CSS/stroke-dashoffset
3392 | */
3393 | "stroke-dashoffset"?: string;
3394 |
3395 | /**
3396 | * Specifies the shape to be used at the end of open subpaths when they are stroked.
3397 | * Syntax: butt | round | square
3398 | * @see https://developer.mozilla.org/docs/Web/CSS/stroke-linecap
3399 | */
3400 | "stroke-linecap"?: "butt" | "round" | "square";
3401 |
3402 | /**
3403 | * Specifies the shape to be used at the corners of paths or basic shapes when they are stroked.
3404 | * Syntax: miter | miter-clip | round | bevel | arcs
3405 | * @see https://developer.mozilla.org/docs/Web/CSS/stroke-linejoin
3406 | */
3407 | "stroke-linejoin"?: "bevel" | "miter" | "round";
3408 |
3409 | /**
3410 | * When two line segments meet at a sharp angle and miter joins have been specified for 'stroke-linejoin', it is possible for the miter to extend far beyond the thickness of the line stroking the path.
3411 | * @see https://developer.mozilla.org/docs/Web/CSS/stroke-miterlimit
3412 | */
3413 | "stroke-miterlimit"?: string;
3414 |
3415 | /**
3416 | * Specifies the opacity of the painting operation used to stroke the current object.
3417 | * @see https://developer.mozilla.org/docs/Web/CSS/stroke-opacity
3418 | */
3419 | "stroke-opacity"?: string;
3420 |
3421 | /**
3422 | * Specifies the width of the stroke on the current object.
3423 | * @see https://developer.mozilla.org/docs/Web/CSS/stroke-width
3424 | */
3425 | "stroke-width"?: string;
3426 |
3427 | /**
3428 | * Determines the width of the tab character (U+0009), in space characters (U+0020), when rendered.
3429 | * @see https://developer.mozilla.org/docs/Web/CSS/tab-size
3430 | */
3431 | "tab-size"?: string;
3432 |
3433 | /**
3434 | * Controls the algorithm used to lay out the table cells, rows, and columns.
3435 | * Syntax: auto | fixed
3436 | * @see https://developer.mozilla.org/docs/Web/CSS/table-layout
3437 | */
3438 | "table-layout"?: "auto" | "fixed";
3439 |
3440 | /**
3441 | * Describes how inline contents of a block are horizontally aligned if the contents do not completely fill the line box.
3442 | * Syntax: start | end | left | right | center | justify | match-parent
3443 | * @see https://developer.mozilla.org/docs/Web/CSS/text-align
3444 | */
3445 | "text-align"?: "center" | "end" | "justify" | "left" | "right" | "start";
3446 |
3447 | /**
3448 | * Describes how the last line of a block or a line right before a forced line break is aligned when 'text-align' is set to 'justify'.
3449 | * Syntax: auto | start | end | left | right | center | justify
3450 | * @see https://developer.mozilla.org/docs/Web/CSS/text-align-last
3451 | */
3452 | "text-align-last"?: "auto" | "center" | "justify" | "left" | "right";
3453 |
3454 | /**
3455 | * Used to align (start-, middle- or end-alignment) a string of text relative to a given point.
3456 | * Syntax: start | middle | end
3457 | * @see https://developer.mozilla.org/docs/Web/CSS/text-anchor
3458 | */
3459 | "text-anchor"?: "end" | "middle" | "start";
3460 |
3461 | /**
3462 | * The text-box CSS property is a shorthand that corresponds to the text-box-trim and text-box-edge properties, which together specify the amount of space to trim from the block-start edge and block-end edge of a text element's block container.
3463 | * @see https://developer.mozilla.org/docs/Web/CSS/text-box
3464 | */
3465 | "text-box"?: string;
3466 |
3467 | /**
3468 | * The text-box-edge CSS property specifies an amount of space to trim from a text element's block container.
3469 | * @see https://developer.mozilla.org/docs/Web/CSS/text-box-edge
3470 | */
3471 | "text-box-edge"?: string;
3472 |
3473 | /**
3474 | * The text-box-trim CSS property specifies which of the over and under edges of text content to trim from a text element's block container.
3475 | * Syntax: none | trim-start | trim-end | trim-both
3476 | * @see https://developer.mozilla.org/docs/Web/CSS/text-box-trim
3477 | */
3478 | "text-box-trim"?: "none" | "trim-start" | "trim-end" | "trim-both";
3479 |
3480 | /**
3481 | * The text-combine-upright CSS property specifies the combination of multiple 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.
3482 | *
3483 | * This is used to produce an effect that is known as tate-chū-yoko (縦中横) in Japanese, or as 直書橫向 in Chinese.
3484 | * @see https://developer.mozilla.org/docs/Web/CSS/text-combine-upright
3485 | */
3486 | "text-combine-upright"?: string;
3487 |
3488 | /**
3489 | * Decorations applied to font used for an element's text.
3490 | * Syntax: <'text-decoration-line'> || <'text-decoration-style'> || <'text-decoration-color'> || <'text-decoration-thickness'>
3491 | * @see https://developer.mozilla.org/docs/Web/CSS/text-decoration
3492 | */
3493 | "text-decoration"?:
3494 | | "dashed"
3495 | | "dotted"
3496 | | "double"
3497 | | "line-through"
3498 | | "none"
3499 | | "overline"
3500 | | "solid"
3501 | | "underline"
3502 | | "wavy"
3503 | | string;
3504 |
3505 | /**
3506 | * Specifies the color of text decoration (underlines overlines, and line-throughs) set on the element with text-decoration-line.
3507 | * @see https://developer.mozilla.org/docs/Web/CSS/text-decoration-color
3508 | */
3509 | "text-decoration-color"?: string;
3510 |
3511 | /**
3512 | * Specifies what line decorations, if any, are added to the element.
3513 | * Syntax: none | [ underline || overline || line-through || blink ] | spelling-error | grammar-error
3514 | * @see https://developer.mozilla.org/docs/Web/CSS/text-decoration-line
3515 | */
3516 | "text-decoration-line"?: "line-through" | "none" | "overline" | "underline";
3517 |
3518 | /**
3519 | * The text-decoration-skip CSS property specifies what parts of the 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.
3520 | * @see https://developer.mozilla.org/docs/Web/CSS/text-decoration-skip
3521 | */
3522 | "text-decoration-skip"?: string;
3523 |
3524 | /**
3525 | * The text-decoration-skip-ink CSS property specifies how overlines and underlines are drawn when they pass over glyph ascenders and descenders.
3526 | * Syntax: auto | all | none
3527 | * @see https://developer.mozilla.org/docs/Web/CSS/text-decoration-skip-ink
3528 | */
3529 | "text-decoration-skip-ink"?: "auto" | "all" | "none";
3530 |
3531 | /**
3532 | * Specifies the line style for underline, line-through and overline text decoration.
3533 | * Syntax: solid | double | dotted | dashed | wavy
3534 | * @see https://developer.mozilla.org/docs/Web/CSS/text-decoration-style
3535 | */
3536 | "text-decoration-style"?:
3537 | | "dashed"
3538 | | "dotted"
3539 | | "double"
3540 | | "none"
3541 | | "solid"
3542 | | "wavy";
3543 |
3544 | /**
3545 | * 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.
3546 | * @see https://developer.mozilla.org/docs/Web/CSS/text-decoration-thickness
3547 | */
3548 | "text-decoration-thickness"?: string;
3549 |
3550 | /**
3551 | * The text-emphasis CSS property is a shorthand property for setting text-emphasis-style and text-emphasis-color in one declaration. This property will apply the specified emphasis mark to each character of the element's text, except separator characters, like spaces, and control characters.
3552 | * @see https://developer.mozilla.org/docs/Web/CSS/text-emphasis
3553 | */
3554 | "text-emphasis"?: string;
3555 |
3556 | /**
3557 | * The text-emphasis-color CSS property defines the color used to draw emphasis marks on text being rendered in the HTML document. This value can also be set and reset using the text-emphasis shorthand.
3558 | * @see https://developer.mozilla.org/docs/Web/CSS/text-emphasis-color
3559 | */
3560 | "text-emphasis-color"?: string;
3561 |
3562 | /**
3563 | * The text-emphasis-position CSS property describes where emphasis marks are drawn at. The effect of emphasis marks on the line height is the same as for ruby text: if there isn't enough place, the line height is increased.
3564 | * @see https://developer.mozilla.org/docs/Web/CSS/text-emphasis-position
3565 | */
3566 | "text-emphasis-position"?: string;
3567 |
3568 | /**
3569 | * The text-emphasis-style CSS property defines the type of emphasis used. It can also be set, and reset, using the text-emphasis shorthand.
3570 | * @see https://developer.mozilla.org/docs/Web/CSS/text-emphasis-style
3571 | */
3572 | "text-emphasis-style"?: string;
3573 |
3574 | /**
3575 | * Specifies the indentation applied to lines of inline content in a block. The indentation only affects the first line of inline content in the block unless the 'hanging' keyword is specified, in which case it affects all lines except the first.
3576 | * @see https://developer.mozilla.org/docs/Web/CSS/text-indent
3577 | */
3578 | "text-indent"?: string;
3579 |
3580 | /**
3581 | * Selects the justification algorithm used when 'text-align' is set to 'justify'. The property applies to block containers, but the UA may (but is not required to) also support it on inline elements.
3582 | * Syntax: auto | inter-character | inter-word | none
3583 | * @see https://developer.mozilla.org/docs/Web/CSS/text-justify
3584 | */
3585 | "text-justify"?:
3586 | | "auto"
3587 | | "distribute"
3588 | | "distribute-all-lines"
3589 | | "inter-cluster"
3590 | | "inter-ideograph"
3591 | | "inter-word"
3592 | | "kashida"
3593 | | "newspaper";
3594 |
3595 | /**
3596 | * Specifies the orientation of text within a line.
3597 | * Syntax: mixed | upright | sideways
3598 | * @see https://developer.mozilla.org/docs/Web/CSS/text-orientation
3599 | */
3600 | "text-orientation"?: "sideways" | "sideways-right" | "upright";
3601 |
3602 | /**
3603 | * Text can overflow for example when it is prevented from wrapping.
3604 | * Syntax: [ clip | ellipsis | ]{1,2}
3605 | * @see https://developer.mozilla.org/docs/Web/CSS/text-overflow
3606 | */
3607 | "text-overflow"?: "clip" | "ellipsis" | string;
3608 |
3609 | /**
3610 | * The creator of SVG content might want to provide a hint to the implementation about what tradeoffs to make as it renders text. The 'text-rendering' property provides these hints.
3611 | * Syntax: auto | optimizeSpeed | optimizeLegibility | geometricPrecision
3612 | * @see https://developer.mozilla.org/docs/Web/CSS/text-rendering
3613 | */
3614 | "text-rendering"?:
3615 | | "auto"
3616 | | "geometricPrecision"
3617 | | "optimizeLegibility"
3618 | | "optimizeSpeed";
3619 |
3620 | /**
3621 | * Enables shadow effects to be applied to the text of the element.
3622 | * Syntax: none | #
3623 | * @see https://developer.mozilla.org/docs/Web/CSS/text-shadow
3624 | */
3625 | "text-shadow"?: "none" | string | 0;
3626 |
3627 | /**
3628 | * The text-size-adjust CSS property controls the text inflation algorithm used on some smartphones and tablets. Other browsers will ignore this property.
3629 | * @see https://developer.mozilla.org/docs/Web/CSS/text-size-adjust
3630 | */
3631 | "text-size-adjust"?: string;
3632 |
3633 | /**
3634 | * The text-spacing-trim CSS property controls the internal spacing set on Chinese/Japanese/Korean (CJK) punctuation characters between adjacent characters (kerning) and at the start or end of text lines.
3635 | * Syntax: space-all | normal | space-first | trim-start
3636 | * @see https://developer.mozilla.org/docs/Web/CSS/text-spacing-trim
3637 | */
3638 | "text-spacing-trim"?: "space-all" | "normal" | "space-first" | "trim-start";
3639 |
3640 | /**
3641 | * Controls capitalization effects of an element's text.
3642 | * Syntax: none | [ capitalize | uppercase | lowercase ] || full-width || full-size-kana | math-auto
3643 | * @see https://developer.mozilla.org/docs/Web/CSS/text-transform
3644 | */
3645 | "text-transform"?: "capitalize" | "lowercase" | "none" | "uppercase";
3646 |
3647 | /**
3648 | * The text-underline-offset CSS property sets the offset distance of an underline text decoration line (applied using text-decoration) from its original position.
3649 | * @see https://developer.mozilla.org/docs/Web/CSS/text-underline-offset
3650 | */
3651 | "text-underline-offset"?: string;
3652 |
3653 | /**
3654 | * Sets the position of an underline specified on the same element: it does not affect underlines specified by ancestor elements. This property is typically used in vertical writing contexts such as in Japanese documents where it often desired to have the underline appear 'over' (to the right of) the affected run of text
3655 | * Syntax: auto | from-font | [ under || [ left | right ] ]
3656 | * @see https://developer.mozilla.org/docs/Web/CSS/text-underline-position
3657 | */
3658 | "text-underline-position"?: "above" | "auto" | "below";
3659 |
3660 | /**
3661 | * The text-wrap CSS property controls how text inside an element is wrapped.
3662 | * @see https://developer.mozilla.org/docs/Web/CSS/text-wrap
3663 | */
3664 | "text-wrap"?: string;
3665 |
3666 | /**
3667 | * The text-wrap-mode CSS property controls whether the text inside an element is wrapped. The different values provide alternate ways of wrapping the content of a block element. It can also be set, and reset, using the {{CSSXRef("text-wrap")}} shorthand.
3668 | * Syntax: wrap | nowrap
3669 | * @see https://developer.mozilla.org/docs/Web/CSS/text-wrap-mode
3670 | */
3671 | "text-wrap-mode"?: "wrap" | "nowrap";
3672 |
3673 | /**
3674 | * The text-wrap-style CSS property controls how text inside an element is wrapped. The different values provide alternate ways of wrapping the content of a block element. It can also be set, and reset, using the {{CSSXRef("text-wrap")}} shorthand.
3675 | * Syntax: auto | balance | stable | pretty
3676 | * @see https://developer.mozilla.org/docs/Web/CSS/text-wrap-style
3677 | */
3678 | "text-wrap-style"?: "auto" | "balance" | "stable" | "pretty";
3679 |
3680 | /**
3681 | * The timeline-scope CSS property modifies the scope of a named animation timeline.
3682 | * @see https://developer.mozilla.org/docs/Web/CSS/timeline-scope
3683 | */
3684 | "timeline-scope"?: string;
3685 |
3686 | /**
3687 | * Specifies how far an absolutely positioned box's top margin edge is offset below the top edge of the box's 'containing block'.
3688 | * Syntax: | | auto
3689 | * @see https://developer.mozilla.org/docs/Web/CSS/top
3690 | */
3691 | top?: "auto" | string | 0;
3692 |
3693 | /**
3694 | * Determines whether touch input may trigger default behavior supplied by user agent.
3695 | * Syntax: auto | none | [ [ pan-x | pan-left | pan-right ] || [ pan-y | pan-up | pan-down ] || pinch-zoom ] | manipulation
3696 | * @see https://developer.mozilla.org/docs/Web/CSS/touch-action
3697 | */
3698 | "touch-action"?:
3699 | | "auto"
3700 | | "cross-slide-x"
3701 | | "cross-slide-y"
3702 | | "double-tap-zoom"
3703 | | "manipulation"
3704 | | "none"
3705 | | "pan-x"
3706 | | "pan-y"
3707 | | "pinch-zoom";
3708 |
3709 | /**
3710 | * A two-dimensional transformation is applied to an element through the 'transform' property. This property contains a list of transform functions similar to those allowed by SVG.
3711 | * Syntax: none |
3712 | * @see https://developer.mozilla.org/docs/Web/CSS/transform
3713 | */
3714 | transform?:
3715 | | "matrix()"
3716 | | "matrix3d()"
3717 | | "none"
3718 | | "perspective()"
3719 | | "rotate()"
3720 | | "rotate3d()"
3721 | | "rotateX('angle')"
3722 | | "rotateY('angle')"
3723 | | "rotateZ('angle')"
3724 | | "scale()"
3725 | | "scale3d()"
3726 | | "scaleX()"
3727 | | "scaleY()"
3728 | | "scaleZ()"
3729 | | "skew()"
3730 | | "skewX()"
3731 | | "skewY()"
3732 | | "translate()"
3733 | | "translate3d()"
3734 | | "translateX()"
3735 | | "translateY()"
3736 | | "translateZ()"
3737 | | string;
3738 |
3739 | /**
3740 | * The transform-box CSS property defines the layout box to which the transform and transform-origin properties relate.
3741 | * Syntax: content-box | border-box | fill-box | stroke-box | view-box
3742 | * @see https://developer.mozilla.org/docs/Web/CSS/transform-box
3743 | */
3744 | "transform-box"?:
3745 | | "content-box"
3746 | | "border-box"
3747 | | "fill-box"
3748 | | "stroke-box"
3749 | | "view-box";
3750 |
3751 | /**
3752 | * Establishes the origin of transformation for an element.
3753 | * @see https://developer.mozilla.org/docs/Web/CSS/transform-origin
3754 | */
3755 | "transform-origin"?: string;
3756 |
3757 | /**
3758 | * Defines how nested elements are rendered in 3D space.
3759 | * Syntax: flat | preserve-3d
3760 | * @see https://developer.mozilla.org/docs/Web/CSS/transform-style
3761 | */
3762 | "transform-style"?: "flat" | "preserve-3d";
3763 |
3764 | /**
3765 | * Shorthand property combines four of the transition properties into a single property.
3766 | * Syntax: #
3767 | * @see https://developer.mozilla.org/docs/Web/CSS/transition
3768 | */
3769 | transition?: "all" | "none" | string;
3770 |
3771 | /**
3772 | * The transition-behavior CSS property specifies whether transitions will be started for properties whose animation behavior is discrete.
3773 | * @see https://developer.mozilla.org/docs/Web/CSS/transition-behavior
3774 | */
3775 | "transition-behavior"?: string;
3776 |
3777 | /**
3778 | * Defines when the transition will start. It allows a transition to begin execution some period of time from when it is applied.
3779 | * @see https://developer.mozilla.org/docs/Web/CSS/transition-delay
3780 | */
3781 | "transition-delay"?: string;
3782 |
3783 | /**
3784 | * Specifies how long the transition from the old value to the new value should take.
3785 | * @see https://developer.mozilla.org/docs/Web/CSS/transition-duration
3786 | */
3787 | "transition-duration"?: string;
3788 |
3789 | /**
3790 | * Specifies the name of the CSS property to which the transition is applied.
3791 | * Syntax: none | #
3792 | * @see https://developer.mozilla.org/docs/Web/CSS/transition-property
3793 | */
3794 | "transition-property"?: "all" | "none" | string;
3795 |
3796 | /**
3797 | * Describes how the intermediate values used during a transition will be calculated.
3798 | * @see https://developer.mozilla.org/docs/Web/CSS/transition-timing-function
3799 | */
3800 | "transition-timing-function"?: string;
3801 |
3802 | /**
3803 | * The translate CSS property allows you to specify translation transforms individually and independently of the transform property. This maps better to typical user interface usage, and saves having to remember the exact order of transform functions to specify in the transform value.
3804 | * @see https://developer.mozilla.org/docs/Web/CSS/translate
3805 | */
3806 | translate?: string;
3807 |
3808 | /**
3809 | * The level of embedding with respect to the bidirectional algorithm.
3810 | * Syntax: normal | embed | isolate | bidi-override | isolate-override | plaintext
3811 | * @see https://developer.mozilla.org/docs/Web/CSS/unicode-bidi
3812 | */
3813 | "unicode-bidi"?:
3814 | | "bidi-override"
3815 | | "embed"
3816 | | "isolate"
3817 | | "isolate-override"
3818 | | "normal"
3819 | | "plaintext";
3820 |
3821 | /**
3822 | * Controls the appearance of selection.
3823 | * Syntax: auto | text | none | all
3824 | * @see https://developer.mozilla.org/docs/Web/CSS/user-select
3825 | */
3826 | "user-select"?: "all" | "auto" | "contain" | "none" | "text";
3827 |
3828 | /**
3829 | * The vector-effect CSS property suppresses specific transformation effects in SVG, thus permitting effects like a road on a map staying the same width no matter how the map is zoomed, or allowing a diagram key to retain its position and size regardless of other transforms. It can only be used with SVG elements that accept the vector-effect attribute. When used, the CSS value overrides any values of the element's vector-effect attribute.
3830 | * Syntax: none | non-scaling-stroke | non-scaling-size | non-rotation | fixed-position
3831 | * @see https://developer.mozilla.org/docs/Web/CSS/vector-effect
3832 | */
3833 | "vector-effect"?:
3834 | | "none"
3835 | | "non-scaling-stroke"
3836 | | "non-scaling-size"
3837 | | "non-rotation"
3838 | | "fixed-position";
3839 |
3840 | /**
3841 | * Affects the vertical positioning of the inline boxes generated by an inline-level element inside a line box.
3842 | * Syntax: baseline | sub | super | text-top | text-bottom | middle | top | bottom | |
3843 | * @see https://developer.mozilla.org/docs/Web/CSS/vertical-align
3844 | */
3845 | "vertical-align"?:
3846 | | "auto"
3847 | | "baseline"
3848 | | "bottom"
3849 | | "middle"
3850 | | "sub"
3851 | | "super"
3852 | | "text-bottom"
3853 | | "text-top"
3854 | | "top"
3855 | | "-webkit-baseline-middle"
3856 | | string
3857 | | 0;
3858 |
3859 | /**
3860 | * The view-timeline CSS shorthand property is used to define a named view progress timeline, which is progressed through based on the change in visibility of an element (known as the subject) inside a scrollable element (scroller). view-timeline is set on the subject.
3861 | * @see https://developer.mozilla.org/docs/Web/CSS/view-timeline
3862 | */
3863 | "view-timeline"?: string;
3864 |
3865 | /**
3866 | * The view-timeline-axis CSS property is used to specify the scrollbar direction that will be used to provide the timeline for a named view progress timeline animation, which is progressed through based on the change in visibility of an element (known as the subject) inside a scrollable element (scroller). view-timeline-axis is set on the subject. See CSS scroll-driven animations for more details.
3867 | * @see https://developer.mozilla.org/docs/Web/CSS/view-timeline-axis
3868 | */
3869 | "view-timeline-axis"?: string;
3870 |
3871 | /**
3872 | * The view-timeline-inset CSS property is used to specify one or two values representing an adjustment to the position of the scrollport (see Scroll container for more details) in which the subject element of a named view progress timeline animation is deemed to be visible. Put another way, this allows you to specify start and/or end inset (or outset) values that offset the position of the timeline.
3873 | * @see https://developer.mozilla.org/docs/Web/CSS/view-timeline-inset
3874 | */
3875 | "view-timeline-inset"?: string;
3876 |
3877 | /**
3878 | * The view-timeline-name CSS property is used to define the name of a named view progress timeline, which is progressed through based on the change in visibility of an element (known as the subject) inside a scrollable element (scroller). view-timeline is set on the subject.
3879 | * @see https://developer.mozilla.org/docs/Web/CSS/view-timeline-name
3880 | */
3881 | "view-timeline-name"?: string;
3882 |
3883 | "view-transition-class"?: string;
3884 |
3885 | /**
3886 | * The view-transition-name CSS property provides the selected element with a distinct identifying name (a custom-ident) and causes it to participate in a separate view transition from the root view transition — or no view transition if the none value is specified.
3887 | * @see https://developer.mozilla.org/docs/Web/CSS/view-transition-name
3888 | */
3889 | "view-transition-name"?: string;
3890 |
3891 | /**
3892 | * Specifies whether the boxes generated by an element are rendered. Invisible boxes still affect layout (set the 'display' property to 'none' to suppress box generation altogether).
3893 | * Syntax: visible | hidden | collapse
3894 | * @see https://developer.mozilla.org/docs/Web/CSS/visibility
3895 | */
3896 | visibility?: "collapse" | "hidden" | "visible";
3897 |
3898 | /**
3899 | * Specifies how whitespace is handled in an element.
3900 | * @see https://developer.mozilla.org/docs/Web/CSS/white-space
3901 | */
3902 | "white-space"?: string;
3903 |
3904 | /**
3905 | * The white-space-collapse CSS property controls how white space inside an element is collapsed.
3906 | * Syntax: collapse | preserve | preserve-breaks | preserve-spaces | break-spaces
3907 | * @see https://developer.mozilla.org/docs/Web/CSS/white-space-collapse
3908 | */
3909 | "white-space-collapse"?:
3910 | | "collapse"
3911 | | "preserve"
3912 | | "preserve-breaks"
3913 | | "preserve-spaces"
3914 | | "break-spaces";
3915 |
3916 | /**
3917 | * Specifies the minimum number of line boxes of a block container that must be left in a fragment after a break.
3918 | * @see https://developer.mozilla.org/docs/Web/CSS/widows
3919 | */
3920 | widows?: string;
3921 |
3922 | /**
3923 | * Specifies the width of the content area, padding area or border area (depending on 'box-sizing') of certain boxes.
3924 | * Syntax: auto | | min-content | max-content | fit-content | fit-content() | |
3925 | * @see https://developer.mozilla.org/docs/Web/CSS/width
3926 | */
3927 | width?: "auto" | "fit-content" | "max-content" | "min-content" | string | 0;
3928 |
3929 | /**
3930 | * Provides a rendering hint to the user agent, stating what kinds of changes the author expects to perform on the element.
3931 | * Syntax: auto | #
3932 | * @see https://developer.mozilla.org/docs/Web/CSS/will-change
3933 | */
3934 | "will-change"?: "auto" | "contents" | "scroll-position" | string;
3935 |
3936 | /**
3937 | * Specifies line break opportunities for non-CJK scripts.
3938 | * Syntax: normal | break-all | keep-all | break-word | auto-phrase
3939 | * @see https://developer.mozilla.org/docs/Web/CSS/word-break
3940 | */
3941 | "word-break"?: "break-all" | "keep-all" | "normal";
3942 |
3943 | /**
3944 | * Specifies additional spacing between "words".
3945 | * Syntax: normal |
3946 | * @see https://developer.mozilla.org/docs/Web/CSS/word-spacing
3947 | */
3948 | "word-spacing"?: "normal" | string | 0;
3949 |
3950 | /**
3951 | * Specifies whether the UA may break within a word to prevent overflow when an otherwise-unbreakable string is too long to fit.
3952 | * Syntax: normal | break-word
3953 | */
3954 | "word-wrap"?: "break-word" | "normal";
3955 |
3956 | /**
3957 | * This is a shorthand property for both 'direction' and 'block-progression'.
3958 | * Syntax: horizontal-tb | vertical-rl | vertical-lr | sideways-rl | sideways-lr
3959 | * @see https://developer.mozilla.org/docs/Web/CSS/writing-mode
3960 | */
3961 | "writing-mode"?:
3962 | | "horizontal-tb"
3963 | | "sideways-lr"
3964 | | "sideways-rl"
3965 | | "vertical-lr"
3966 | | "vertical-rl";
3967 |
3968 | /**
3969 | * The x CSS property defines the x-axis coordinate of the top left corner of the SVG rect shape, image image, foreignObject viewport or nested svg viewport relative to the nearest