From 88fae441655b4b5c70c0316639a753150a6f22d7 Mon Sep 17 00:00:00 2001 From: Jonathan Neal Date: Thu, 8 Jul 2021 09:28:56 -0400 Subject: [PATCH] =?UTF-8?q?0.2.x=20=E2=80=94=20updated=20typings?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .bin/build-csstype.js | 249 + .bin/internal/URL.js | 15 + .bin/internal/dirs.js | 1 + .vscode/settings.json | 2 +- package.json | 19 +- packages/core/src/createCss.js | 9 +- packages/core/src/index.js | 11 +- packages/core/tests/types.test.ts | 40 +- packages/core/types/core.d.ts | 722 +- packages/core/types/css-types.d.ts | 6696 ------------------ packages/core/types/css.d.ts | 9782 +++++++++++++++++++++++++++ packages/core/types/default.d.ts | 153 + packages/core/types/index.d.ts | 18 + packages/core/types/test.ts | 163 + packages/core/types/theme.d.ts | 56 + packages/core/types/type.d.ts | 13 + packages/react/types/css-types.d.ts | 6696 ------------------ tsconfig.json | 20 +- 18 files changed, 10714 insertions(+), 13951 deletions(-) create mode 100644 .bin/build-csstype.js create mode 100644 .bin/internal/URL.js delete mode 100644 packages/core/types/css-types.d.ts create mode 100644 packages/core/types/css.d.ts create mode 100644 packages/core/types/default.d.ts create mode 100644 packages/core/types/test.ts create mode 100644 packages/core/types/theme.d.ts create mode 100644 packages/core/types/type.d.ts delete mode 100644 packages/react/types/css-types.d.ts diff --git a/.bin/build-csstype.js b/.bin/build-csstype.js new file mode 100644 index 00000000..688607f7 --- /dev/null +++ b/.bin/build-csstype.js @@ -0,0 +1,249 @@ +import { corePackageUrl, reactPackageUrl, rootUrl } from './internal/dirs.js' +import * as fs from './internal/fs.js' + +const dtsOriginalURL = rootUrl.resolve('./node_modules/csstype/index.d.ts') + +const doTheThing = async (packageUrl) => { + const dtsOriginalTxt = await fs.readFile(dtsOriginalURL, 'utf8') + + const dtsModifiedURL = corePackageUrl.resolve('./types/css.d.ts') + const dtsModifiedTxt = new ModifiedString(dtsOriginalTxt) + .withoutVendorTyping + + .withCamelCasedColors + + .withAddedColorFunctions + .withAddedLicense + .withFixedColorScheme + .withFixedFontFamily + .withFixedGlobals + .withFixedMatchingSelector + .withFixedNestingSelectors + .withFixedStretchValue + .withFixedSystemColor + + .withoutBrowserComments + .withoutImplicitGlobals + .withoutPropertyValueTyping + .withoutGenericTyping + .withoutNarrowingPatch + .withoutNeverInChain + .withoutDasharrayType + .withoutTrailingSpace + .toString() + + await fs.writeFile(dtsModifiedURL, dtsModifiedTxt) +} // prettier-ignore + +const doAllTheThings = async () => { + await doTheThing(corePackageUrl) + await doTheThing(reactPackageUrl) +} + +class ModifiedString extends String { + replace(matcher, replacer) { + replacer = typeof replacer === 'function' ? replacer : replacer + return new ModifiedString(super.replace(matcher, replacer)) + } + + // with + + get withAddedColorFunctions() { + return this.replace( + /"currentcolor"/ig, + '"CurrentColor" | "hsl(" | "lab(" | "rgb("' + ) + } + + get withAddedLicense() { + const licenseComment = `/** @license MIT License\n * Copyright (c) 2017-present, Fredrik Nicol\n * Copyright (c) 2021-present, Jonathan Neal\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the "Software"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */` + + return this.replace( + /^/, + `${licenseComment}\n\n` + ) + } + + get withCamelCasedColors() { + const cssColorNames = ['AliceBlue', 'AntiqueWhite', 'Aqua', 'Aquamarine', 'Azure', 'Beige', 'Bisque', 'Black', 'BlanchedAlmond', 'Blue', 'BlueViolet', 'Brown', 'BurlyWood', 'CadetBlue', 'Chartreuse', 'Chocolate', 'Coral', 'CornflowerBlue', 'Cornsilk', 'Crimson', 'Cyan', 'DarkBlue', 'DarkCyan', 'DarkGoldenRod', 'DarkGray', 'DarkGrey', 'DarkGreen', 'DarkKhaki', 'DarkMagenta', 'DarkOliveGreen', 'DarkOrange', 'DarkOrchid', 'DarkRed', 'DarkSalmon', 'DarkSeaGreen', 'DarkSlateBlue', 'DarkSlateGray', 'DarkSlateGrey', 'DarkTurquoise', 'DarkViolet', 'DeepPink', 'DeepSkyBlue', 'DimGray', 'DimGrey', 'DodgerBlue', 'FireBrick', 'FloralWhite', 'ForestGreen', 'Fuchsia', 'Gainsboro', 'GhostWhite', 'Gold', 'GoldenRod', 'Gray', 'Grey', 'Green', 'GreenYellow', 'HoneyDew', 'HotPink', 'IndianRed', 'Indigo', 'Ivory', 'Khaki', 'Lavender', 'LavenderBlush', 'LawnGreen', 'LemonChiffon', 'LightBlue', 'LightCoral', 'LightCyan', 'LightGoldenRodYellow', 'LightGray', 'LightGrey', 'LightGreen', 'LightPink', 'LightSalmon', 'LightSeaGreen', 'LightSkyBlue', 'LightSlateGray', 'LightSlateGrey', 'LightSteelBlue', 'LightYellow', 'Lime', 'LimeGreen', 'Linen', 'Magenta', 'Maroon', 'MediumAquaMarine', 'MediumBlue', 'MediumOrchid', 'MediumPurple', 'MediumSeaGreen', 'MediumSlateBlue', 'MediumSpringGreen', 'MediumTurquoise', 'MediumVioletRed', 'MidnightBlue', 'MintCream', 'MistyRose', 'Moccasin', 'NavajoWhite', 'Navy', 'OldLace', 'Olive', 'OliveDrab', 'Orange', 'OrangeRed', 'Orchid', 'PaleGoldenRod', 'PaleGreen', 'PaleTurquoise', 'PaleVioletRed', 'PapayaWhip', 'PeachPuff', 'Peru', 'Pink', 'Plum', 'PowderBlue', 'Purple', 'RebeccaPurple', 'Red', 'RosyBrown', 'RoyalBlue', 'SaddleBrown', 'Salmon', 'SandyBrown', 'SeaGreen', 'SeaShell', 'Sienna', 'Silver', 'SkyBlue', 'SlateBlue', 'SlateGray', 'SlateGrey', 'Snow', 'SpringGreen', 'SteelBlue', 'Tan', 'Teal', 'Thistle', 'Tomato', 'Turquoise', 'Violet', 'Wheat', 'White', 'WhiteSmoke', 'Yellow', 'YellowGreen'].reduce( + (colors, UpperCamelCaseColorName) => + Object.assign(colors, { + [`"${UpperCamelCaseColorName.toLowerCase()}"`]: `"${UpperCamelCaseColorName}"`, + }), + Object.create(null), + ) + + return this.replace( + RegExp(Object.keys(cssColorNames).join('|'), 'ig'), + $0 => cssColorNames[$0] + ) + } + + get withFixedColorScheme() { + return this.replace( + 'type ColorScheme = Globals | "dark" | "light" | "normal"', + 'type ColorScheme = Globals | "dark" | "light" | "light dark" | "normal"' + ) + } + + get withFixedFontFamily() { + return this.replace( + 'type GenericFamily = "cursive" | "fantasy" | "monospace" | "sans-serif" | "serif"', + 'type GenericFamily = "cursive" | "emoji" | "fangsong" | "fantasy" | "math" | "monospace" | "sans-serif" | "serif" | "system-ui" | "ui-monospace" | "ui-rounded" | "ui-sans-serif" | "ui-serif"' + ) + } + + get withFixedGlobals() { + return this.replace( + 'export type Globals = "-moz-initial" | "inherit" | "initial" | "revert" | "unset";', + 'export type Globals = "inherit" | "initial" | "revert" | "unset";' + ) + } + + get withFixedNestingSelectors() { + return this.replace( + /Pseudos =[\W\w]+?;/g, + fragment => fragment.replace( + /":/g, + '"&:' + ).replace( + / \| "&:matches"\n/, + '' + ) + ).replace( + /AdvancedPseudos =[\W\w]+?;/g, + fragment => fragment.replace( + /"&[^"]+/g, + '$&(' + ) + ) + } + + get withFixedMatchingSelector() { + return this.replace( + /matches\(\)/g, + 'matches' + ) + } + + get withFixedStretchValue() { + return this.replace( + /(\n +\| +)?"fit-content"/g, + ($0, $1) => $1 ? `${$1}"stretch"${$1}"fit-content"` : '"stretch" | "fit-content"' + ) + } + + get withFixedSystemColor() { + return this.replace( + /type DeprecatedSystemColor[^;]+;/, + 'type DeprecatedSystemColor = "ActiveText" | "ButtonFace" | "ButtonText" | "ButtonBorder" | "Canvas" | "CanvasText" | "Field" | "FieldText" | "GrayText" | "Highlight" | "HighlightText" | "LinkText" | "Mark" | "MarkText" | "VisitedText"' + ).replace( + /DeprecatedSystemColor/g, + 'SystemColor' + ) + } + + // without + + get withoutGenericTyping() { + return this.replace( + /\n? *(<(TLength|TTime)[^>]*>|\| (TLength|TTime)|TLength \|)/g, + '' + ) + } + + get withoutBrowserComments() { + return this.replace( + /(?<= )\* [-_|][\W\w]+?(?=\*\/)/g, + '' + ) + } + + get withoutDasharrayType() { + return this.replace( + 'type Dasharray =;\n', + '' + ).replace( + 'DataType.Dasharray | ', + '' + ) + } + + get withoutImplicitGlobals() { + return this.replace( + /\n?( +\| +)?(?\n\n' + + 'export type OnlyNumber = number & OnlyObject\n\n' + + 'export type OnlyString = string & OnlyObject\n\n' + + 'export type OnlyStringNumeric = (number | string) & OnlyObject\n\n' + + 'export namespace Property' + ).replace( + /\(number & \{\}\)/g, + 'OnlyNumber' + ).replace( + /\(string & \{\}\)/g, + 'OnlyString' + ) + } + + get withoutNeverInChain() { + return this.replace( + /(never \| | \| never)/g, + '' + ) + } + + get withoutPropertyValueTyping() { + return this.replace( + /export type PropertyValue[\W\w]+?;/, + '' + ) + } + + get withoutTrailingSpace() { + return this.replace( + /\n? +(?=\n)/g, + '' + ).replace( + /\n{4,}/g, + '\n\n\n' + ) + } + + get withoutVendorTyping() { + return this.replace( + /\nexport (interface|type) (Obsolete|Vendor)[^\n]+?\{\n[\W\w]+?\n\};?(?=\n)/g, '' + ).replace( + /\nexport interface (Obsolete|Vendor)[^\n]+?\>\n[\W\w]+?\{\};?(?=\n)/g, '' + ).replace( + /\nexport interface (Obsolete|Vendor)[^\n]+?{};?(?=\n)/g, '' + ).replace( + /\n (Obsolete|Vendor)[^\n]+?,(?=\n)/g, '' + ).replace( + /\n *\| *":*-[^"]+"/g, '' + ).replace( + '\n "-moz-font-feature-settings"?: FontFeatureSettings;', '' + ).replace( + /\n? *\| *"-[^"]+"/g, '' + ).replace( + /"-[^"]+" *\| *\n?/g, '' + ).replace( + /\n? *\| *"-[^\n]+(?=\n)/g, '' + ) + } +} // prettier-ignore + +doAllTheThings() + +// const coreCssTypeUrl = new URL('./types/csstype.d.ts', corePackageUrl) + +// console.log(corePackageUrl) + +// 'csstype.d.ts' diff --git a/.bin/internal/URL.js b/.bin/internal/URL.js new file mode 100644 index 00000000..39760c5c --- /dev/null +++ b/.bin/internal/URL.js @@ -0,0 +1,15 @@ +import { pathToFileURL } from 'url'; + +export class URL extends globalThis.URL { + resolve(/** @type {string} */ pathname) { + return new URL(pathname, this) + } + + get segments() { + return this.pathname.slice(1).split('/') + } + + static fromPath(segment) { + return new URL(pathToFileURL(segment)) + } +} diff --git a/.bin/internal/dirs.js b/.bin/internal/dirs.js index 9c9d6a34..cc7d6754 100644 --- a/.bin/internal/dirs.js +++ b/.bin/internal/dirs.js @@ -1,4 +1,5 @@ import process from 'node:process' +import { URL } from './URL.js' /** Root directory. */ export const rootUrl = new URL('../../', import.meta.url) diff --git a/.vscode/settings.json b/.vscode/settings.json index daeb3c82..e5bde405 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,6 +1,6 @@ { "editor.defaultFormatter": "esbenp.prettier-vscode", - "editor.formatOnSave": true, + "editor.formatOnSave": false, "files.exclude": { "node_modules/": true, "package-lock.json": true, diff --git a/package.json b/package.json index 39079bca..cf60e975 100644 --- a/package.json +++ b/package.json @@ -31,19 +31,20 @@ ], "dependencies": { "@skypack/package-check": "0.2.2", - "@types/react": "17.0.11", - "@types/react-dom": "17.0.7", + "@types/react": "17.0.14", + "@types/react-dom": "17.0.9", "@types/react-test-renderer": "17.0.1", - "@typescript-eslint/eslint-plugin": "4.27.0", - "@typescript-eslint/parser": "4.27.0", - "esbuild": "0.12.9", - "eslint": "7.28.0", + "@typescript-eslint/eslint-plugin": "4.28.2", + "@typescript-eslint/parser": "4.28.2", + "csstype": "3.0.8", + "esbuild": "0.12.15", + "eslint": "7.30.0", "lerna": "4.0.0", - "nodemon": "2.0.7", + "nodemon": "2.0.9", "react": "17.0.2", "react-test-renderer": "17.0.2", - "terser": "5.7.0", - "typescript": "4.3.2" + "terser": "5.7.1", + "typescript": "4.3.5" }, "browserslist": [ "last 1 chrome versions", diff --git a/packages/core/src/createCss.js b/packages/core/src/createCss.js index 3fb77393..4e3a82e3 100644 --- a/packages/core/src/createCss.js +++ b/packages/core/src/createCss.js @@ -10,14 +10,13 @@ import { createThemeFunction } from './features/theme.js' import { createSheet } from './createSheet.js' -/** @typedef {import('.').Config} Config */ - const createCssMap = createMemo() -export const createCss = (/** @type {Partial} */ config) => { +/** @type {import('../types/core').CreateCss} */ +export const createCss = (config) => { let didRun = false - const instance = createCssMap(config, (/** @type {Partial} */ initConfig) => { + const instance = createCssMap(config, (initConfig) => { didRun = true initConfig = typeof initConfig === 'object' && initConfig || {} @@ -30,7 +29,7 @@ export const createCss = (/** @type {Partial} */ config) => { const themeMap = typeof initConfig.themeMap === 'object' && initConfig.themeMap || { ...defaultThemeMap } const utils = typeof initConfig.utils === 'object' && initConfig.utils || {} - /** @type {Config} External configuration. */ + /** External configuration. */ const config = { prefix, media, diff --git a/packages/core/src/index.js b/packages/core/src/index.js index 2285282b..b2b2e7ea 100644 --- a/packages/core/src/index.js +++ b/packages/core/src/index.js @@ -1,9 +1,8 @@ -import { createCss } from './createCss.js' -import { defaultThemeMap } from './default/defaultThemeMap.js' import { getCachedConfig } from './utility/getCachedConfig.js' -const css = (...args) => getCachedConfig().css(...args) -const global = (...args) => getCachedConfig().global(...args) -const keyframes = (...args) => getCachedConfig().keyframes(...args) +export { createCss } from './createCss.js' +export { defaultThemeMap } from './default/defaultThemeMap.js' -export { createCss, css, global, keyframes, defaultThemeMap } +export const css = (...args) => getCachedConfig().css(...args) +export const global = (...args) => getCachedConfig().global(...args) +export const keyframes = (...args) => getCachedConfig().keyframes(...args) diff --git a/packages/core/tests/types.test.ts b/packages/core/tests/types.test.ts index 0c25b725..6667cf6b 100644 --- a/packages/core/tests/types.test.ts +++ b/packages/core/tests/types.test.ts @@ -1,8 +1,10 @@ // core types.tests.ts -import { createCss, StitchesCss, StitchesVariants } from '../types/index.d' -const css = createCss({ +// import { createCss, Arg, StitchesVariants } from '../types/index.d' +import { createCss, Arg } from '../types/index.d' + +const { css, global, keyframes, theme } = createCss({ utils: { - mx: (config) => (value) => ({ + mx: (value) => ({ backgroundColor: 'red', }), }, @@ -42,34 +44,34 @@ const css = createCss({ }, }) -css.keyframes({ +keyframes({ from: { - color: '-moz-initial', + color: '$gray100', }, to: { - backgroundColor: '-moz-initial', + color: '$gray900', }, }) -css.global({ +global({ hello: { '@bp1': { - backgroundColor: '$1', + backgroundColor: '$gray100', }, - 'backgroundColor': '$font100', + backgroundColor: '$gray300', }, }) -type CSS = StitchesCss - -const ExternalStyles: CSS = { +const externalStyles: Arg = { '@bp1': { - backgroundColor: '$1', + backgroundColor: '$gray100', }, - 'backgroundColor': '$1', + 'backgroundColor': '$gray300', } -const PotatoButton = css.css({ +void externalStyles + +const PotatoButton = css({ variants: { variant: { blue: { @@ -90,7 +92,7 @@ const PotatoButton = css.css({ ], }) -const two = css.css(PotatoButton, { +const two = css(PotatoButton, { $$max: '2px', width: '$$max', variants: { @@ -109,8 +111,6 @@ const two = css.css(PotatoButton, { }, compoundVariants: [ { - // cool - variant: 'green', css: { backgroundColor: '$gray200', @@ -123,9 +123,9 @@ two({ variant: 'green' }) two({ variant: 'red' }) two({ variant: 'blue' }) -type test = StitchesVariants +// type test = StitchesVariants -const theme = css.theme({}) +const myTheme = theme({}) PotatoButton({ className: '', diff --git a/packages/core/types/core.d.ts b/packages/core/types/core.d.ts index 6a8c41ef..4a9747b6 100644 --- a/packages/core/types/core.d.ts +++ b/packages/core/types/core.d.ts @@ -1,558 +1,276 @@ -import { DeclarationListWithRootAtRules, Properties } from './css-types' - -export { DeclarationListWithRootAtRules } - -export interface CSSPropertiesToTokenScale { - gap: 'space' - gridGap: 'space' - columnGap: 'space' - gridColumnGap: 'space' - rowGap: 'space' - gridRowGap: 'space' - inset: 'space' - insetBlock: 'space' - insetBlockEnd: 'space' - insetBlockStart: 'space' - insetInline: 'space' - insetInlineEnd: 'space' - insetInlineStart: 'space' - margin: 'space' - marginTop: 'space' - marginRight: 'space' - marginBottom: 'space' - marginLeft: 'space' - marginBlock: 'space' - marginBlockEnd: 'space' - marginBlockStart: 'space' - marginInline: 'space' - marginInlineEnd: 'space' - marginInlineStart: 'space' - padding: 'space' - paddingTop: 'space' - paddingRight: 'space' - paddingBottom: 'space' - paddingLeft: 'space' - paddingBlock: 'space' - paddingBlockEnd: 'space' - paddingBlockStart: 'space' - paddingInline: 'space' - paddingInlineEnd: 'space' - paddingInlineStart: 'space' - scrollPadding: 'space' - scrollPaddingTop: 'space' - scrollPaddingRight: 'space' - scrollPaddingBottom: 'space' - scrollPaddingLeft: 'space' - scrollPaddingBlock: 'space' - scrollPaddingBlockEnd: 'space' - scrollPaddingBlockStart: 'space' - scrollPaddingInline: 'space' - scrollPaddingInlineEnd: 'space' - scrollPaddingInlineStart: 'space' - top: 'space' - right: 'space' - bottom: 'space' - left: 'space' - - fontSize: 'fontSizes' - - background: 'colors' - backgroundColor: 'colors' - backgroundImage: 'colors' - border: 'colors' - borderBlock: 'colors' - borderBlockEnd: 'colors' - borderBlockStart: 'colors' - borderBottom: 'colors' - borderBottomColor: 'colors' - borderColor: 'colors' - borderInline: 'colors' - borderInlineEnd: 'colors' - borderInlineStart: 'colors' - borderLeft: 'colors' - borderLeftColor: 'colors' - borderRight: 'colors' - borderRightColor: 'colors' - borderTop: 'colors' - borderTopColor: 'colors' - caretColor: 'colors' - color: 'colors' - columnRuleColor: 'colors' - outline: 'colors' - outlineColor: 'colors' - fill: 'colors' - stroke: 'colors' - textDecorationColor: 'colors' - - fontFamily: 'fonts' - - fontWeight: 'fontWeights' - lineHeight: 'lineHeights' - - letterSpacing: 'letterSpacings' - - blockSize: 'sizes' - minBlockSize: 'sizes' - maxBlockSize: 'sizes' - inlineSize: 'sizes' - minInlineSize: 'sizes' - maxInlineSize: 'sizes' - width: 'sizes' - minWidth: 'sizes' - maxWidth: 'sizes' - height: 'sizes' - minHeight: 'sizes' - maxHeight: 'sizes' - flexBasis: 'sizes' - gridTemplateColumns: 'sizes' - gridTemplateRows: 'sizes' - - borderWidth: 'borderWidths' - borderTopWidth: 'borderWidths' - borderLeftWidth: 'borderWidths' - borderRightWidth: 'borderWidths' - borderBottomWidth: 'borderWidths' - - borderStyle: 'borderStyles' - borderTopStyle: 'borderStyles' - borderLeftStyle: 'borderStyles' - borderRightStyle: 'borderStyles' - borderBottomStyle: 'borderStyles' - - borderRadius: 'radii' - borderTopLeftRadius: 'radii' - borderTopRightRadius: 'radii' - borderBottomRightRadius: 'radii' - borderBottomLeftRadius: 'radii' - - boxShadow: 'shadows' - textShadow: 'shadows' - - transition: 'transitions' - - zIndex: 'zIndices' -} - -export declare const defaultThemeMap: CSSPropertiesToTokenScale -export declare const $variants: unique symbol -export declare const $media: unique symbol +import { Globals, OnlyObject, OnlyNumber, OnlyString, OnlyStringNumeric, Properties } from './css' +import * as Default from './default' +import * as Type from './type' +import * as Theme from './theme' -export type StitchesVariants = T extends { [$variants]: infer V; [$media]: infer C } ? VariantsCall : {} -export type StitchesExtractVariantsStyles = T extends { [$variants]: infer V } ? V : {} +/* ========================================================================== */ -export type StyledSheetCallback = (...cssText: string[]) => void +export * from './css' +export { Parameter0 as Arg } from './type' -export type GlobalRule = () => void +/* ========================================================================== */ -export interface ThemeRule { - toString(): string - className: string - cssText: string - root: string -} -export interface StyledExpression { - (): string - toString(): string - className: string - classNames: string[] - props: any - selector: string +/** Returns the given value narrowed to its nearest type. */ +export type NarrowValue = ( + T extends [] ? [] : never +) | ( + T extends bigint | boolean | number | string | symbol ? T : never +) | NarrowObject + +/** Returns the given object with its values narrowed to their nearest type. */ +export type NarrowObject = { + [K in keyof T]: ( + T[K] extends Function + ? T[K] + : NarrowValue + ) } -/* Config: -/* ========================================================================== */ +/** Returns the given value widened to include looser versions of its value. */ +type Widen = T extends number ? `${T}` | T : T extends 'true' ? boolean | T : T extends 'false' ? boolean | T : T extends `${number}` ? number | T : T -// Just used as a keyof target for the config -// for some weird reason, autocomplete stops working -// if we try to pre compute the keys or use a union -export interface EmptyTheme { - colors?: {} - space?: {} - fontSizes?: {} - fonts?: {} - fontWeights?: {} - lineHeights?: {} - letterSpacings?: {} - sizes?: {} - borderWidths?: {} - borderStyles?: {} - radii?: {} - shadows?: {} - zIndices?: {} - transitions?: {} -} +/** Returns the given value with the given keys omitted from typing. */ +type OmitKey = T & { [P in U]?: unknown } -export interface TMedias { - /** This media will always apply. */ - initial: string - [k: string]: string -} +/** Returns the first parameter of the given function. */ +type Parameter0 = T extends (arg: infer P) => any ? P : never + +/** Returns a string with the given prefix followed by the given values. */ +type Prefixed = `${K}${Extract}` -export type TTheme = { [k in keyof EmptyTheme]?: { [b: string]: number | string } } +/** Returns a value of the given object using the given key. */ +type Value = T[Extract] -export type TThemeMap = { [k in keyof Properties]?: keyof EmptyTheme } +/** Object index (number or string). */ +type index = number | string -/** Configuration of Stitches, including a default theme, prefix, custom medias, and functional properties. */ -export interface IConfig { - /** Named CSS media queries. */ +/* ========================================================================== */ + +interface ConfigShape { + prefix?: string media?: { - [k in keyof Medias]?: Medias[k] + [name in index]: string } - - /** Named theme scales containing theme tokens. */ theme?: { - [k in keyof Theme]: k extends keyof EmptyTheme ? Theme[k] : never - } & - { - [k in keyof EmptyTheme]?: k extends keyof Theme ? Theme[k] : never + [scale in string]: { + [token in index]: number | string } - - /** CSS properties corresponding to functions that accept CSS values and return new CSS object fragments. */ + } + themeMap?: { + [property in string]: string + } utils?: { - [k in keyof Utils]: (config: UtilConfig) => (value: Utils[k]) => InternalCSS + [property in index]: (value: any) => ({ + [property in keyof Properties]: unknown + } & { + [property in string]: unknown + }) } - - themeMap?: { [k in keyof ThemeMap]?: ThemeMap[k] } - - /** Prefix added before all generated class names. */ - prefix?: Prefix - - /** Determines how the CSS file is inserted to a document. */ - insertionMethod?: 'append' | 'prepend' | (() => (cssText: string) => void) } -interface UtilConfig { - /** Named CSS media queries. */ - media: Medias - - /** Named theme scales containing theme tokens. */ - theme: Theme - themeMap: ThemeMap - - /** Prefix applied to all styled and themed rules. */ - prefix: Prefix +export interface Config { + prefix: ConfigType['prefix'] extends string ? ConfigType['prefix'] : '' + media: ConfigType['media'] extends object ? { all: 'all' } & ConfigType['media'] : { all: 'all' } + theme: ConfigType['theme'] extends object ? ConfigType['theme'] : {} + themeMap: ConfigType['themeMap'] extends object ? ConfigType['themeMap'] : Default.ThemeMap + utils: ConfigType['utils'] extends object ? ConfigType['utils'] : {} } -export interface InternalConfig { - /** Named CSS media queries. */ - media: Medias - - /** Named theme scales containing theme tokens. */ - theme: Theme - themeMap: ThemeMap +/* ========================================================================== */ - /** Prefix applied to all styled and themed rules. */ - prefix: Prefix +export namespace Stitches { + type PropertyValue = { readonly [PrivatePropertyValue]: K } - /** Functional properties whose values can be expanded into other properties. */ - utils: { - [k in keyof Utils]: (config: UtilConfig) => (value: Utils[k]) => InternalCSS - } + type TokenValue = { readonly [PrivateTokenValue]: K } } -export type MapUtils = { [k in keyof T]: T[k] extends (theme: any) => (value: infer V) => any ? V : never } +declare const PrivatePropertyValue: unique symbol -/* Css typed structure: -/* ========================================================================== */ +type PrivatePropertyValue = typeof PrivatePropertyValue -export type InternalCSS< - Medias extends TMedias = TMedias, - Theme extends TTheme = TTheme, - Utils = {}, - ThemeMap extends { - [k in keyof Properties]?: keyof Theme - } = CSSPropertiesToTokenScale, -> = FlatInternalCSS & { - [k: string]: InternalCSS | number | string | undefined | { [k: string]: InternalCSS } -} +declare const PrivateTokenValue: unique symbol -// @todo: this is a messy work-around to prevent variants with the same name as a css property from erroring out -export type LessInternalCSS< - Medias extends TMedias = TMedias, - Theme extends TTheme = TTheme, - Utils = {}, - ThemeMap extends { - [k in keyof Properties]?: keyof Theme - } = CSSPropertiesToTokenScale, -> = FlatInternalCSS - -// prettier-ignore -export type FlatInternalCSS< - Medias extends TMedias = TMedias, - Theme extends TTheme = TTheme, - Utils = {}, - ThemeMap extends { - [k in keyof Properties]?: keyof Theme - } = CSSPropertiesToTokenScale -> = { - [k in keyof Properties]?: ( - ThemeMap[k] extends keyof Theme - ? `$${Extract}` - : never - ) | Properties[k] -} & { - /** Responsive variants: */ - [k in `@${string & keyof Medias}`]?: ( - FlatInternalCSS - & { - /** Unknown property. */ - [k in string]: unknown - } - ) -} & { - [k in keyof Utils]?: Utils[k] -} +type PrivateTokenValue = typeof PrivateTokenValue -/* Utils to type and extract variants from args args: /* ========================================================================== */ -/** Combines rest parameter variants into one: */ -export type InferRestVariants = Args[0] & (HasTail extends true ? InferRestVariants> : {}) - -/* Check if current array has a tail: */ -type HasTail = T extends [] | [any] ? false : true - -/* Return the tail of an array: */ -type Tail = ((...t: T) => any) extends (_: any, ...tail: infer _Tail) => any ? _Tail : [] - -export type OmitKey = T & { [P in U]?: unknown } +type Style> = ( + & { + [K in keyof Properties]?: ( + | Globals + | Properties[K] + | Prefixed< + '$', + keyof Value< + C['theme'], + Value< + C['themeMap'], + K + > + > + > + ) + } + & { + [K in keyof C['utils']]?: ( + | ( + PrivateTokenValue extends keyof Parameter0 + ? Prefixed< + '$', + keyof Value< + C['theme'], + Parameter0[PrivateTokenValue] + > + > + : never + ) + | ( + PrivatePropertyValue extends keyof Parameter0 + ? + | Globals + | Value< + Properties, + Parameter0[PrivatePropertyValue] + > + | Prefixed< + '$', + keyof Value< + C['theme'], + Value< + C['themeMap'], + Parameter0[PrivatePropertyValue] + > + > + > + : never + ) + | Omit + ) + } + & { + [K in Prefixed<'@', keyof C['media']>]?: Style + } + & { + [K in index]: index | Style | unknown[] + } +) -export type ThemeToken = { - value: string - token: string - scale: string - computedValue: string - variable: string -} & string -/* Css Instance Type: /* ========================================================================== */ -export interface TStyledSheet< - /** Named CSS media queries. */ - A extends TMedias = TMedias, - /** Named theme scales containing theme tokens. */ - B extends TTheme = TTheme, - C = {}, - D = '', - ThemeMap = {}, +export interface CreatedCss< + C extends Config > { - ( - ...styles: { - [k in keyof Vars]: OmitKey, 'variants'> & { - variants?: unknown - } - } - ): IStyledRule, A, B, C, ThemeMap> - - /** - * Generates CSS from global rules and returns a function that renders them to the stylesheet. - * - * ``` - * - * const myGlobal = global({ - * "*, ::before, ::after": { boxSizing: "border-box" } - * "body": { margin: 0 } - * }) - * - * myGlobal() - * ``` - *
- */ - global: (definition: OmitKey>, '@font-face' | '@import'> | DeclarationListWithRootAtRules) => GlobalRule - - /** - * Generates CSS from theme scales and returns a function that renders them to the stylesheet. - * - * ``` - * - * const myTheme = theme({ - * colors: { blue: "DodgerBlue" } - * }) - * - *
- * ``` - *
- */ - theme: { + /** Normalized configuration of the current library. */ + config: C + + /** Returns a function that applies global styles. */ + global: { ( - /** Named theme scales containing theme tokens. */ - theme: Partial< - { - [TO in keyof B]: Partial - } - >, - ): ThemeRule & string + rules: { + [selectors: string]: Style + } + ): () => {} + } + /** Returns an object that applies `@keyframes` styles. */ + keyframes: { ( - themeName: string, - /** Named theme scales containing theme tokens. */ - theme: Partial< - { - [TO in keyof B]: Partial - } - >, - ): ThemeRule & string - } & { - [TO in keyof B]: { [k in keyof B[TO]]: ThemeToken } + rules: { + [offsets: string]: Style + } + ): () => {} } - config: InternalConfig - /** - * Returns a new styled rule. - */ + /** Returns an object of theme tokens that apply a specific theme. */ + theme: { + ( + theme: NarrowObject + ): { + className: string + selector: string + } & Theme.Tokens + } & Theme.Tokens + + /** Returns a function that applies styles and variants for a specific class. */ css: { - ( - ...styles: { - // prettier-ignore - [k in keyof Vars]: ( - ( - ( - ( - LessInternalCSS - ) - & { - variants?: Vars[k] & { - [a in keyof Vars[k]]: { - [b in keyof Vars[k][a]]: InternalCSS - } - } - } - ) - | Record | string | number> - ) - & { - defaultVariants?: { - [a in keyof Vars[k]]?: keyof Vars[k][a] - } - } + < + Variant extends { + [name in string]: { + [pair in index]: Style + } + }, + Args extends Variant[] + >( + ...composers: { + [K in keyof Args]: ( + & OmitKey, 'variants'> & { + /** + * Variants configure conditional styles of the component. + * + * @see https://stitches.dev/docs/variants + */ + variants?: Args[K] | Variant, compoundVariants?: ( - { - [a in keyof Vars[k]]?: keyof Vars[k][a] + & { + [Name in Exclude]?: Widen } & { - css?: InternalCSS + [name in Exclude]: any } - )[] + & { + css: Style + } + )[], + defaultVariants?: { + [Name in keyof Args[K]]?: Widen + }, + } + ) + } + ): /** Component */ ( + + } + & { + [K in Exclude]: any + } + ), + 'css' + >>( + props: ( + & T + & { + /** Inline CSS. */ + css?: Style } ) + ) => { + className: string, + selector: string, + props: T } - ): IStyledRule, A, B, C, ThemeMap> + ) & { + className: string + selector: string + } } - keyframes: (definition: { [k: string]: FlatInternalCSS }) => GlobalRule - - /** Clears all CSS rules from the sheet. */ - clear(): void - - /** - * Returns all CSS applied to the stylesheet. - * - * ``` - * - * - * ``` - *
- */ - getCssString(): string - - /** - * Returns all CSS applied to the stylesheet. - * - * ``` - * - * - * ``` - *
- */ - toString(): string - - /** Named CSS media queries. */ - media: A - - /** Prefix applied to all styled and themed rules. */ - prefix: string - - /** Functional properties whose values can be expanded into other properties. */ - utils: C -} - -export type StrictMorphVariant = T extends number ? `${T}` | T : T extends 'true' ? true | T : T extends 'false' ? false | T : T -export type MorphVariant = T extends number ? `${T}` | T : T extends 'true' ? boolean | T : T extends 'false' ? boolean | T : T extends `${number}` ? number | T : T - -export type VariantsCall = { - [k in keyof Variants]?: MorphVariant | { [I in keyof Medias]?: MorphVariant } -} - -/** Extracts the css type from the */ -export type StitchesCss = T extends { - config: { - media: infer Medias - theme: infer Theme - utils: infer Utils - themeMap: infer ThemeMap + getCssString: { + (): string } } - ? InternalCSS, ThemeMap> - : never -/* Output Styled Rule: /* ========================================================================== */ -export interface IStyledRule { - ( - init?: VariantsCall & { - css?: InternalCSS - className?: string - }, - ): StyledExpression & string - - toString(): string - /** - * CSS Class associated with the current component. - * - * ``` - * - * const Button = css({ color: "DarkSlateGray" }) - * - *
- * ``` - *
- */ - - className: string - /** - * CSS Selector associated with the current component. - * - * ``` - * - * const Button = css({ color: "DarkSlateGray" }) - * - * const Card = styled("article", { - * [Button.selector]: { boxShadow: "0 0 0 5px" } - * }) - * ``` - *
- */ - selector: string - - variants: Variants - - [$media]: Medias - [$variants]: Variants -} - -/* Create Css function type: -/* ========================================================================== */ - -type TStyledSheetFactory = ( - _config?: IConfig, -) => TStyledSheet - -type TStyledSheetGlobal = (definition: OmitKey, '@font-face' | '@import'> | DeclarationListWithRootAtRules) => GlobalRule - -export declare const createCss: TStyledSheetFactory -export declare const css: TStyledSheet<{ initial: '' }, {}, {}, '', CSSPropertiesToTokenScale> -export declare const global: (definition: OmitKey>, '@font-face' | '@import'> | DeclarationListWithRootAtRules) => GlobalRule -export declare const keyframes: (definition: { [k: string]: FlatInternalCSS<{} & TMedias, {}, {}, CSSPropertiesToTokenScale> }) => GlobalRule -export default createCss +export type CreateCss = < + T extends ConfigShape +>( + config?: NarrowObject, +) => CreatedCss> diff --git a/packages/core/types/css-types.d.ts b/packages/core/types/css-types.d.ts deleted file mode 100644 index 0435a80b..00000000 --- a/packages/core/types/css-types.d.ts +++ /dev/null @@ -1,6696 +0,0 @@ -export interface StandardLonghandProperties { - /** - * The CSS **`align-content`** property sets how the browser distributes space between and around content items along the cross-axis of a flexbox container, and the main-axis of a grid container. - * - * **Initial value**: `normal` - * - * --- - * - * _Supported in Flex Layout_ - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :------: | :-----: | :-------: | :----: | :----: | - * | **29** | **28** | **9** | **12** | **11** | - * | 21 _-x-_ | | 6.1 _-x-_ | | | - * - * --- - * - * _Supported in Grid Layout_ - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :----: | :-: | - * | **57** | **52** | **10.1** | **16** | No | - * - * --- - * - * @see https://developer.mozilla.org/docs/Web/CSS/align-content - */ - alignContent: AlignContentProperty - /** - * The CSS **`align-items`** property sets the `align-self` value on all direct children as a group. The align-self property sets the alignment of an item within its containing block. In Flexbox it controls the alignment of items on the Cross Axis, in Grid Layout it controls the alignment of items on the Block Axis within their grid area. - * - * **Initial value**: `normal` - * - * --- - * - * _Supported in Flex Layout_ - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :------: | :-----: | :-----: | :----: | :----: | - * | **52** | **20** | **9** | **12** | **11** | - * | 21 _-x-_ | | 7 _-x-_ | | | - * - * --- - * - * _Supported in Grid Layout_ - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :----: | :-: | - * | **57** | **52** | **10.1** | **16** | No | - * - * --- - * - * @see https://developer.mozilla.org/docs/Web/CSS/align-items - */ - alignItems: AlignItemsProperty - /** - * The **`align-self`** CSS property aligns flex items of the current flex line overriding the `align-items` value. If any of the item's cross-axis margin is set to `auto`, then `align-self` is ignored. In Grid layout `align-self` aligns the item inside the grid area. - * - * **Initial value**: `auto` - * - * --- - * - * _Supported in Flex Layout_ - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :------: | :-----: | :-------: | :----: | :----: | - * | **36** | **20** | **9** | **12** | **11** | - * | 21 _-x-_ | | 6.1 _-x-_ | | | - * - * --- - * - * _Supported in Grid Layout_ - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :----: | :----------: | - * | **57** | **52** | **10.1** | **16** | **10** _-x-_ | - * - * --- - * - * @see https://developer.mozilla.org/docs/Web/CSS/align-self - */ - alignSelf: AlignSelfProperty - /** - * The **`animation-delay`** CSS property sets when an animation starts. The animation can start later, immediately from its beginning, or immediately and partway through the animation. - * - * **Initial value**: `0s` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :-----: | :-----: | :-----: | :----: | :----: | - * | **43** | **16** | **9** | **12** | **10** | - * | 3 _-x-_ | 5 _-x-_ | 4 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/animation-delay - */ - animationDelay: GlobalsString - /** - * The **`animation-direction`** CSS property sets whether an animation should play forwards, backwards, or alternating back and forth. - * - * **Initial value**: `normal` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :-----: | :-----: | :-----: | :----: | :----: | - * | **43** | **16** | **9** | **12** | **10** | - * | 3 _-x-_ | 5 _-x-_ | 4 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/animation-direction - */ - animationDirection: AnimationDirectionProperty - /** - * The **`animation-duration`** CSS property sets the length of time that an animation takes to complete one cycle. - * - * **Initial value**: `0s` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :-----: | :-----: | :-----: | :----: | :----: | - * | **43** | **16** | **9** | **12** | **10** | - * | 3 _-x-_ | 5 _-x-_ | 4 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/animation-duration - */ - animationDuration: GlobalsString - /** - * The **`animation-fill-mode`** CSS property sets how a CSS animation applies styles to its target before and after its execution. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :-----: | :-----: | :-----: | :----: | :----: | - * | **43** | **16** | **9** | **12** | **10** | - * | 3 _-x-_ | 5 _-x-_ | 5 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/animation-fill-mode - */ - animationFillMode: AnimationFillModeProperty - /** - * The **`animation-iteration-count`** CSS property sets the number of times an animation cycle should be played before stopping. - * - * **Initial value**: `1` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :-----: | :-----: | :-----: | :----: | :----: | - * | **43** | **16** | **9** | **12** | **10** | - * | 3 _-x-_ | 5 _-x-_ | 4 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/animation-iteration-count - */ - animationIterationCount: AnimationIterationCountProperty - /** - * The **`animation-name`** CSS property sets one or more animations to apply to an element. Each name is an `@keyframes` at-rule that sets the property values for the animation sequence. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :-----: | :-----: | :-----: | :----: | :----: | - * | **43** | **16** | **9** | **12** | **10** | - * | 3 _-x-_ | 5 _-x-_ | 4 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/animation-name - */ - animationName: AnimationNameProperty - /** - * The **`animation-play-state`** CSS property sets whether an animation is running or paused. - * - * **Initial value**: `running` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :-----: | :-----: | :-----: | :----: | :----: | - * | **43** | **16** | **9** | **12** | **10** | - * | 3 _-x-_ | 5 _-x-_ | 4 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/animation-play-state - */ - animationPlayState: AnimationPlayStateProperty - /** - * The `**animation-timing-function**` CSS property sets how an animation progresses through the duration of each cycle. - * - * **Initial value**: `ease` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :-----: | :-----: | :-----: | :----: | :----: | - * | **43** | **16** | **9** | **12** | **10** | - * | 3 _-x-_ | 5 _-x-_ | 4 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/animation-timing-function - */ - animationTimingFunction: AnimationTimingFunctionProperty - /** - * The **`-moz-appearance`** CSS property is used in Gecko (Firefox) to display an element using platform-native styling based on the operating system's theme. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :---------: | :---------: | :---------: | :----------: | :-: | - * | **1** _-x-_ | **1** _-x-_ | **3** _-x-_ | **12** _-x-_ | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/appearance - */ - appearance: AppearanceProperty - /** - * 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. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :---------: | :----: | :-: | - * | **76** | n/a | **9** _-x-_ | **17** | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/backdrop-filter - */ - backdropFilter: BackdropFilterProperty - /** - * The **`backface-visibility`** CSS property sets whether the back face of an element is visible when turned towards the user. - * - * **Initial value**: `visible` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :------: | :------: | :-----------: | :----: | :----: | - * | **36** | **16** | **5.1** _-x-_ | **12** | **10** | - * | 12 _-x-_ | 10 _-x-_ | | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/backface-visibility - */ - backfaceVisibility: BackfaceVisibilityProperty - /** - * The **`background-attachment`** CSS property sets whether a background image's position is fixed within the viewport, or scrolls with its containing block. - * - * **Initial value**: `scroll` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/background-attachment - */ - backgroundAttachment: BackgroundAttachmentProperty - /** - * The **`background-blend-mode`** CSS property sets how an element's background images should blend with each other and with the element's background color. - * - * **Initial value**: `normal` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | **35** | **30** | **8** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/background-blend-mode - */ - backgroundBlendMode: BackgroundBlendModeProperty - /** - * The **`background-clip`** CSS property sets whether an element's background `` or `` extends underneath its border. - * - * **Initial value**: `border-box` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :---------: | :----: | :---: | - * | **1** | **4** | **3** _-x-_ | **12** | **9** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/background-clip - */ - backgroundClip: BackgroundClipProperty - /** - * The **`background-color`** CSS property sets the background color of an element. - * - * **Initial value**: `transparent` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/background-color - */ - backgroundColor: BackgroundColorProperty - /** - * The **`background-image`** CSS property sets one or more background images on an element. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/background-image - */ - backgroundImage: BackgroundImageProperty - /** - * The **`background-origin`** CSS property sets the _background positioning area_. In other words, it sets the origin position of an image set with the `background-image` property. - * - * **Initial value**: `padding-box` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **4** | **3** | **12** | **9** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/background-origin - */ - backgroundOrigin: BackgroundOriginProperty - /** - * The **`background-position`** CSS property sets the initial position for each background image. The position is relative to the position layer set by `background-origin`. - * - * **Initial value**: `0% 0%` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/background-position - */ - backgroundPosition: BackgroundPositionProperty - /** - * The **`background-position-x`** CSS property sets the initial horizontal position for each background image. The position is relative to the position layer set by `background-origin`. - * - * **Initial value**: `left` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **49** | **1** | **12** | **6** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/background-position-x - */ - backgroundPositionX: BackgroundPositionXProperty - /** - * The **`background-position-y`** CSS property sets the initial vertical position, relative to the background position layer defined by `background-origin`, for each defined background image. - * - * **Initial value**: `top` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **49** | **1** | **12** | **6** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/background-position-y - */ - backgroundPositionY: BackgroundPositionYProperty - /** - * The **`background-repeat`** CSS property sets how background images are repeated. A background image can be repeated along the horizontal and vertical axes, or not repeated at all. - * - * **Initial value**: `repeat` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/background-repeat - */ - backgroundRepeat: BackgroundRepeatProperty - /** - * The **`background-size`** CSS property sets the size of the element's background image. The image can be left to its natural size, stretched, or constrained to fit the available space. - * - * **Initial value**: `auto auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :-----: | :-----: | :-----: | :----: | :---: | - * | **3** | **4** | **4.1** | **12** | **9** | - * | 1 _-x-_ | | 3 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/background-size - */ - backgroundSize: BackgroundSizeProperty - /** **Initial value**: `clip` */ - blockOverflow: BlockOverflowProperty - /** - * The **`block-size`** CSS property defines the horizontal or vertical size of an element's block, depending on its writing mode. It corresponds to either the `width` or the `height` property, depending on the value of `writing-mode`. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :--: | :-: | - * | **57** | **41** | **12.1** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/block-size - */ - blockSize: BlockSizeProperty - /** - * 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`. - * - * **Initial value**: `currentcolor` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | n/a | **66** | No | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-block-color - */ - borderBlockColor: BorderBlockColorProperty - /** - * The **`border-block-end-color`** CSS property defines the color of the logical block-end border of an element, which maps to a physical border color depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-color`, `border-right-color`, `border-bottom-color`, or `border-left-color` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`. - * - * **Initial value**: `currentcolor` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :--: | :-: | - * | **69** | **41** | **12.1** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-block-end-color - */ - borderBlockEndColor: BorderBlockEndColorProperty - /** - * The **`border-block-end-style`** CSS property defines the style of the logical block end border of an element, which maps to a physical border style depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-style`, `border-right-style`, `border-bottom-style`, or `border-left-style` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :--: | :-: | - * | **69** | **41** | **12.1** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-block-end-style - */ - borderBlockEndStyle: BorderBlockEndStyleProperty - /** - * The **`border-block-end-width`** CSS property defines the width of the logical block-end border of an element, which maps to a physical border width depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-width`, `border-right-width`, `border-bottom-width`, or `border-left-width` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`. - * - * **Initial value**: `medium` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :--: | :-: | - * | **69** | **41** | **12.1** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-block-end-width - */ - borderBlockEndWidth: BorderBlockEndWidthProperty - /** - * The **`border-block-start-color`** CSS property defines the color of the logical block-start border of an element, which maps to a physical border color depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-color`, `border-right-color`, `border-bottom-color`, or `border-left-color` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`. - * - * **Initial value**: `currentcolor` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :--: | :-: | - * | **69** | **41** | **12.1** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-block-start-color - */ - borderBlockStartColor: BorderBlockStartColorProperty - /** - * The **`border-block-start-style`** CSS property defines the style of the logical block start border of an element, which maps to a physical border style depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-style`, `border-right-style`, `border-bottom-style`, or `border-left-style` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :--: | :-: | - * | **69** | **41** | **12.1** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-block-start-style - */ - borderBlockStartStyle: BorderBlockStartStyleProperty - /** - * The **`border-block-start-width`** CSS property defines the width of the logical block-start border of an element, which maps to a physical border width depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-width`, `border-right-width`, `border-bottom-width`, or `border-left-width` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`. - * - * **Initial value**: `medium` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :--: | :-: | - * | **69** | **41** | **12.1** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-block-start-width - */ - borderBlockStartWidth: BorderBlockStartWidthProperty - /** - * 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`. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | **69** | **66** | No | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-block-style - */ - borderBlockStyle: BorderBlockStyleProperty - /** - * 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`. - * - * **Initial value**: `medium` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | **69** | **66** | No | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-block-width - */ - borderBlockWidth: BorderBlockWidthProperty - /** - * The **`border-bottom-color`** CSS property sets the color of an element's bottom border. It can also be set with the shorthand CSS properties `border-color` or `border-bottom`. - * - * **Initial value**: `currentcolor` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-bottom-color - */ - borderBottomColor: BorderBottomColorProperty - /** - * The **`border-bottom-left-radius`** CSS property rounds the bottom-left corner of an element. - * - * **Initial value**: `0` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :-----: | :-----: | :-----: | :----: | :---: | - * | **4** | **4** | **5** | **12** | **9** | - * | 1 _-x-_ | | 3 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-bottom-left-radius - */ - borderBottomLeftRadius: BorderBottomLeftRadiusProperty - /** - * The **`border-bottom-right-radius`** CSS property rounds the bottom-right corner of an element. - * - * **Initial value**: `0` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :-----: | :-----: | :-----: | :----: | :---: | - * | **4** | **4** | **5** | **12** | **9** | - * | 1 _-x-_ | | 3 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-bottom-right-radius - */ - borderBottomRightRadius: BorderBottomRightRadiusProperty - /** - * The **`border-bottom-style`** CSS property sets the line style of an element's bottom `border`. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :-----: | - * | **1** | **1** | **1** | **12** | **5.5** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-bottom-style - */ - borderBottomStyle: BorderBottomStyleProperty - /** - * The **`border-bottom-width`** CSS property sets the width of the bottom border of a box. - * - * **Initial value**: `medium` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-bottom-width - */ - borderBottomWidth: BorderBottomWidthProperty - /** - * The **`border-collapse`** CSS property sets whether cells inside a `` have shared or separate borders. - * - * **Initial value**: `separate` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :-----: | :----: | :---: | - * | **1** | **1** | **1.2** | **12** | **5** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-collapse - */ - borderCollapse: BorderCollapseProperty - /** - * 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`. - * - * **Initial value**: `0` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | No | **66** | No | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-end-end-radius - */ - borderEndEndRadius: BorderEndEndRadiusProperty - /** - * 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`. - * - * **Initial value**: `0` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | No | **66** | No | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-end-start-radius - */ - borderEndStartRadius: BorderEndStartRadiusProperty - /** - * The **`border-image-outset`** CSS property sets the distance by which an element's border image is set out from its border box. - * - * **Initial value**: `0` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :----: | - * | **15** | **15** | **6** | **12** | **11** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-image-outset - */ - borderImageOutset: BorderImageOutsetProperty - /** - * The **`border-image-repeat`** CSS property defines how the edge regions of a source image are adjusted to fit the dimensions of an element's border image. - * - * **Initial value**: `stretch` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :----: | - * | **15** | **15** | **6** | **12** | **11** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-image-repeat - */ - borderImageRepeat: BorderImageRepeatProperty - /** - * The **`border-image-slice`** CSS property divides the image specified by `border-image-source` into regions. These regions form the components of an element's border image. - * - * **Initial value**: `100%` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :----: | - * | **15** | **15** | **6** | **12** | **11** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-image-slice - */ - borderImageSlice: BorderImageSliceProperty - /** - * The **`border-image-source`** CSS property sets the source image used to create an element's border image. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :----: | - * | **15** | **15** | **6** | **12** | **11** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-image-source - */ - borderImageSource: BorderImageSourceProperty - /** - * The **`border-image-width`** CSS property sets the width of an element's border image. - * - * **Initial value**: `1` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :----: | - * | **15** | **13** | **6** | **12** | **11** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-image-width - */ - borderImageWidth: BorderImageWidthProperty - /** - * 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`. - * - * **Initial value**: `currentcolor` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | **69** | **66** | No | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-color - */ - borderInlineColor: BorderInlineColorProperty - /** - * The **`border-inline-end-color`** CSS property defines the color of the logical inline-end border of an element, which maps to a physical border color depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-color`, `border-right-color`, `border-bottom-color`, or `border-left-color` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`. - * - * **Initial value**: `currentcolor` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-------------------------: | :------: | :--: | :-: | - * | **69** | **41** | **12.1** | No | No | - * | | 3 _(-moz-border-end-color)_ | | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-end-color - */ - borderInlineEndColor: BorderInlineEndColorProperty - /** - * The **`border-inline-end-style`** CSS property defines the style of the logical inline end border of an element, which maps to a physical border style depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-style`, `border-right-style`, `border-bottom-style`, or `border-left-style` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-------------------------: | :------: | :--: | :-: | - * | **69** | **41** | **12.1** | No | No | - * | | 3 _(-moz-border-end-style)_ | | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-end-style - */ - borderInlineEndStyle: BorderInlineEndStyleProperty - /** - * The **`border-inline-end-width`** CSS property defines the width of the logical inline-end border of an element, which maps to a physical border width depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-width`, `border-right-width`, `border-bottom-width`, or `border-left-width` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`. - * - * **Initial value**: `medium` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-------------------------: | :------: | :--: | :-: | - * | **69** | **41** | **12.1** | No | No | - * | | 3 _(-moz-border-end-width)_ | | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-end-width - */ - borderInlineEndWidth: BorderInlineEndWidthProperty - /** - * The **`border-inline-start-color`** CSS property defines the color of the logical inline start border of an element, which maps to a physical border color depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-color`, `border-right-color`, `border-bottom-color`, or `border-left-color` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`. - * - * **Initial value**: `currentcolor` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :---------------------------: | :------: | :--: | :-: | - * | **69** | **41** | **12.1** | No | No | - * | | 3 _(-moz-border-start-color)_ | | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-start-color - */ - borderInlineStartColor: BorderInlineStartColorProperty - /** - * The **`border-inline-start-style`** CSS property defines the style of the logical inline start border of an element, which maps to a physical border style depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-style`, `border-right-style`, `border-bottom-style`, or `border-left-style` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :---------------------------: | :------: | :--: | :-: | - * | **69** | **41** | **12.1** | No | No | - * | | 3 _(-moz-border-start-style)_ | | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-start-style - */ - borderInlineStartStyle: BorderInlineStartStyleProperty - /** - * The **`border-inline-start-width`** CSS property defines the width of the logical inline-start border of an element, which maps to a physical border width depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-width`, `border-right-width`, `border-bottom-width`, or `border-left-width` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`. - * - * **Initial value**: `medium` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :--: | :-: | - * | **69** | **41** | **12.1** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-start-width - */ - borderInlineStartWidth: BorderInlineStartWidthProperty - /** - * 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`. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | **69** | **66** | No | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-style - */ - borderInlineStyle: BorderInlineStyleProperty - /** - * 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`. - * - * **Initial value**: `medium` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | **69** | **66** | No | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-width - */ - borderInlineWidth: BorderInlineWidthProperty - /** - * The **`border-left-color`** CSS property sets the color of an element's left border. It can also be set with the shorthand CSS properties `border-color` or `border-left`. - * - * **Initial value**: `currentcolor` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-left-color - */ - borderLeftColor: BorderLeftColorProperty - /** - * The **`border-left-style`** CSS property sets the line style of an element's left `border`. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :-----: | - * | **1** | **1** | **1** | **12** | **5.5** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-left-style - */ - borderLeftStyle: BorderLeftStyleProperty - /** - * The **`border-left-width`** CSS property sets the width of the left border of an element. - * - * **Initial value**: `medium` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-left-width - */ - borderLeftWidth: BorderLeftWidthProperty - /** - * The **`border-right-color`** CSS property sets the color of an element's right border. It can also be set with the shorthand CSS properties `border-color` or `border-right`. - * - * **Initial value**: `currentcolor` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-right-color - */ - borderRightColor: BorderRightColorProperty - /** - * The **`border-right-style`** CSS property sets the line style of an element's right `border`. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :-----: | - * | **1** | **1** | **1** | **12** | **5.5** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-right-style - */ - borderRightStyle: BorderRightStyleProperty - /** - * The **`border-right-width`** CSS property sets the width of the right border of an element. - * - * **Initial value**: `medium` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-right-width - */ - borderRightWidth: BorderRightWidthProperty - /** - * The **`border-spacing`** CSS property sets the distance between the borders of adjacent `
` cells. This property applies only when `border-collapse` is `separate`. - * - * **Initial value**: `0` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **8** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-spacing - */ - borderSpacing: BorderSpacingProperty - /** - * 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`. - * - * **Initial value**: `0` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | No | **66** | No | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-start-end-radius - */ - borderStartEndRadius: BorderStartEndRadiusProperty - /** - * 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`. - * - * **Initial value**: `0` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | No | **66** | No | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-start-start-radius - */ - borderStartStartRadius: BorderStartStartRadiusProperty - /** - * The **`border-top-color`** CSS property sets the color of an element's top border. It can also be set with the shorthand CSS properties `border-color` or `border-top`. - * - * **Initial value**: `currentcolor` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-top-color - */ - borderTopColor: BorderTopColorProperty - /** - * The **`border-top-left-radius`** CSS property rounds the top-left corner of an element. - * - * **Initial value**: `0` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :-----: | :-----: | :-----: | :----: | :---: | - * | **4** | **4** | **5** | **12** | **9** | - * | 1 _-x-_ | | 3 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-top-left-radius - */ - borderTopLeftRadius: BorderTopLeftRadiusProperty - /** - * The **`border-top-right-radius`** CSS property rounds the top-right corner of an element. - * - * **Initial value**: `0` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :-----: | :-----: | :-----: | :----: | :---: | - * | **4** | **4** | **5** | **12** | **9** | - * | 1 _-x-_ | | 3 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-top-right-radius - */ - borderTopRightRadius: BorderTopRightRadiusProperty - /** - * The **`border-top-style`** CSS property sets the line style of an element's top `border`. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :-----: | - * | **1** | **1** | **1** | **12** | **5.5** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-top-style - */ - borderTopStyle: BorderTopStyleProperty - /** - * The **`border-top-width`** CSS property sets the width of the top border of an element. - * - * **Initial value**: `medium` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-top-width - */ - borderTopWidth: BorderTopWidthProperty - /** - * The **`bottom`** CSS property participates in specifying the vertical position of a _positioned element_. It has no effect on non-positioned elements. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **5** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/bottom - */ - bottom: BottomProperty - /** - * The **`box-decoration-break`** CSS property specifies how an element's fragments should be rendered when broken across multiple lines, columns, or pages. - * - * **Initial value**: `slice` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----------: | :-----: | :-----: | :--: | :-: | - * | **22** _-x-_ | **32** | **6.1** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/box-decoration-break - */ - boxDecorationBreak: BoxDecorationBreakProperty - /** - * The **`box-shadow`** CSS property adds shadow effects around an element's frame. You can set multiple effects separated by commas. A box shadow is described by X and Y offsets relative to the element, blur and spread radii, and color. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :-----: | :-----: | :-----: | :----: | :---: | - * | **10** | **4** | **5.1** | **12** | **9** | - * | 1 _-x-_ | | 3 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/box-shadow - */ - boxShadow: BoxShadowProperty - /** - * The **`box-sizing`** CSS property defines how the user agent should calculate the total width and height of an element. - * - * **Initial value**: `content-box` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :-----: | :-----: | :-----: | :----: | :---: | - * | **10** | **29** | **5.1** | **12** | **8** | - * | 1 _-x-_ | 1 _-x-_ | 3 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/box-sizing - */ - boxSizing: BoxSizingProperty - /** - * The **`break-after`** CSS property defines how page, column, or region breaks should behave after a generated box. If there is no generated box, the property is ignored. - * - * **Initial value**: `auto` - * - * --- - * - * _Supported in Multi-column Layout_ - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :----: | - * | **50** | No | No | **12** | **10** | - * - * --- - * - * _Supported in Paged Media_ - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :----: | - * | **50** | **65** | **10** | **12** | **10** | - * - * --- - * - * _Supported in CSS Regions_ - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | No | No | No | No | No | - * - * --- - * - * @see https://developer.mozilla.org/docs/Web/CSS/break-after - */ - breakAfter: BreakAfterProperty - /** - * The **`break-before`** CSS property sets how page, column, or region breaks should behave before a generated box. If there is no generated box, the property is ignored. - * - * **Initial value**: `auto` - * - * --- - * - * _Supported in Multi-column Layout_ - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :----: | - * | **50** | **65** | No | **12** | **10** | - * - * --- - * - * _Supported in Paged Media_ - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :----: | - * | **50** | **65** | **10** | **12** | **10** | - * - * --- - * - * _Supported in CSS Regions_ - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | No | No | No | No | No | - * - * --- - * - * @see https://developer.mozilla.org/docs/Web/CSS/break-before - */ - breakBefore: BreakBeforeProperty - /** - * The **`break-inside`** CSS property defines how page, column, or region breaks should behave inside a generated box. If there is no generated box, the property is ignored. - * - * **Initial value**: `auto` - * - * --- - * - * _Supported in Multi-column Layout_ - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :----: | - * | **50** | **65** | **10** | **12** | **10** | - * - * --- - * - * _Supported in Paged Media_ - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :----: | - * | **50** | **65** | **10** | **12** | **10** | - * - * --- - * - * _Supported in CSS Regions_ - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | No | No | No | No | No | - * - * --- - * - * @see https://developer.mozilla.org/docs/Web/CSS/break-inside - */ - breakInside: BreakInsideProperty - /** - * The **`caption-side`** CSS property puts the content of a table's `
` on the specified side. The values are relative to the `writing-mode` of the table. - * - * **Initial value**: `top` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **8** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/caption-side - */ - captionSide: CaptionSideProperty - /** - * The **`caret-color`** CSS property sets the color of the insertion caret, the visible marker where the next character typed will be inserted. The caret appears in elements such as `` or those with the `contenteditable` attribute. The caret is typically a thin vertical line that flashes to help make it more noticeable. By default, it is black, but its color can be altered with this property. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :--: | :-: | - * | **57** | **53** | **11.1** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/caret-color - */ - caretColor: CaretColorProperty - /** - * The **`clear`** CSS property sets whether an element must be moved below (cleared) floating elements that precede it. The `clear` property applies to floating and non-floating elements. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/clear - */ - clear: ClearProperty - /** - * The `**clip-path**` CSS property creates a clipping region that sets what part of an element should be shown. Parts that are inside the region are shown, while those outside are hidden. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :------: | :-----: | :-------: | :----: | :----: | - * | **55** | **3.5** | **9.1** | **12** | **10** | - * | 23 _-x-_ | | 6.1 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/clip-path - */ - clipPath: ClipPathProperty - /** - * The **`color`** CSS property sets the foreground color value of an element's text and text decorations, and sets the `currentcolor` value. `currentcolor` may be used as an indirect value on _other_ properties and is the default for other color properties, such as `border-color`. - * - * **Initial value**: Varies from one browser to another - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **3** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/color - */ - color: ColorProperty - /** - * The **`color-adjust`** CSS property sets what, if anything, the user agent may do to optimize the appearance of the element on the output device. By default, the browser is allowed to make any adjustments to the element's appearance it determines to be necessary and prudent given the type and capabilities of the output device. - * - * **Initial value**: `economy` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----------: | :-----: | :---------: | :--: | :-: | - * | **49** _-x-_ | **48** | **6** _-x-_ | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/color-adjust - */ - colorAdjust: ColorAdjustProperty - /** - * The **`column-count`** CSS property breaks an element's content into the specified number of columns. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :-----: | :-------: | :-----: | :----: | :----: | - * | **50** | **52** | **9** | **12** | **10** | - * | 1 _-x-_ | 1.5 _-x-_ | 3 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/column-count - */ - columnCount: ColumnCountProperty - /** - * The **`column-fill`** CSS property controls how an element's contents are balanced when broken into columns. - * - * **Initial value**: `balance` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :------: | :-----: | :----: | :----: | - * | **50** | **52** | **9** | **12** | **10** | - * | | 13 _-x-_ | 8 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/column-fill - */ - columnFill: ColumnFillProperty - /** - * The **`column-gap`** CSS property sets the size of the gap (gutter) between an element's columns. - * - * **Initial value**: `normal` - * - * --- - * - * _Supported in Flex Layout_ - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | 84 | 63 | No | 84 | No | - * - * --- - * - * _Supported in Grid Layout_ - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | 66 | 61 | 12.1 | 16 | No | - * - * --- - * - * @see https://developer.mozilla.org/docs/Web/CSS/column-gap - */ - columnGap: ColumnGapProperty - /** - * The **`column-rule-color`** CSS property sets the color of the rule (line) drawn between columns in a multi-column layout. - * - * **Initial value**: `currentcolor` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :-----: | :-------: | :-----: | :----: | :----: | - * | **50** | **52** | **9** | **12** | **10** | - * | 1 _-x-_ | 3.5 _-x-_ | 3 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/column-rule-color - */ - columnRuleColor: ColumnRuleColorProperty - /** - * The **`column-rule-style`** CSS property sets the style of the line drawn between columns in a multi-column layout. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :-----: | :-------: | :-----: | :----: | :----: | - * | **50** | **52** | **9** | **12** | **10** | - * | 1 _-x-_ | 3.5 _-x-_ | 3 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/column-rule-style - */ - columnRuleStyle: ColumnRuleStyleProperty - /** - * The **`column-rule-width`** CSS property sets the width of the rule (line) drawn between columns in a multi-column layout. - * - * **Initial value**: `medium` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :-----: | :-------: | :-----: | :----: | :----: | - * | **50** | **52** | **9** | **12** | **10** | - * | 1 _-x-_ | 3.5 _-x-_ | 3 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/column-rule-width - */ - columnRuleWidth: ColumnRuleWidthProperty - /** - * The **`column-span`** CSS property makes it possible for an element to span across all columns when its value is set to `all`. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :-----: | :-----: | :-------: | :----: | :----: | - * | **50** | n/a | **9** | **12** | **10** | - * | 6 _-x-_ | | 5.1 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/column-span - */ - columnSpan: ColumnSpanProperty - /** - * The **`column-width`** CSS property specifies the ideal column width in a multi-column layout. The container will have as many columns as can fit without any of them having a width less than the `column-width` value. If the width of the container is narrower than the specified value, the single column's width will be smaller than the declared column width. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :-----: | :-------: | :-----: | :----: | :----: | - * | **50** | **50** | **9** | **12** | **10** | - * | 1 _-x-_ | 1.5 _-x-_ | 3 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/column-width - */ - columnWidth: ColumnWidthProperty - /** - * The **`contain`** CSS property allows an author to indicate that an element and its contents are, as much as possible, _independent_ of the rest of the document tree. This allows the browser to recalculate layout, style, paint, size, or any combination of them for a limited area of the DOM and not the entire page. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | **52** | **69** | No | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/contain - */ - contain: ContainProperty - /** - * The **`content`** CSS property replaces an element with a generated value. Objects inserted using the `content` property are _anonymous replaced elements._ - * - * **Initial value**: `normal` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **8** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/content - */ - content: ContentProperty - /** - * The **`counter-increment`** CSS property increases or decreases the value of a CSS counter by a given value. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **2** | **1** | **3** | **12** | **8** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/counter-increment - */ - counterIncrement: CounterIncrementProperty - /** - * The **`counter-reset`** CSS property resets a CSS counter to a given value. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **2** | **1** | **3** | **12** | **8** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/counter-reset - */ - counterReset: CounterResetProperty - /** - * 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. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | No | **68** | No | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/counter-set - */ - counterSet: CounterSetProperty - /** - * The **`cursor`** CSS property sets mouse cursor to display when the mouse pointer is over an element. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :-----: | :----: | :---: | - * | **1** | **1** | **1.2** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/cursor - */ - cursor: CursorProperty - /** - * The **`direction`** CSS property sets the direction of text, table columns, and horizontal overflow. Use `rtl` for languages written from right to left (like Hebrew or Arabic), and `ltr` for those written from left to right (like English and most other languages). - * - * **Initial value**: `ltr` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :-----: | - * | **2** | **1** | **1** | **12** | **5.5** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/direction - */ - direction: DirectionProperty - /** - * The **`display`** CSS property defines the _display type_ of an element, which consists of the two basic qualities of how an element generates boxes — the **outer display type** defining how the box participates in flow layout, and the **inner display type** defining how the children of the box are laid out. - * - * **Initial value**: `inline` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/display - */ - display: DisplayProperty - /** - * The **`empty-cells`** CSS property sets whether borders and backgrounds appear around `` cells that have no visible content. - * - * **Initial value**: `show` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :-----: | :----: | :---: | - * | **1** | **1** | **1.2** | **12** | **8** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/empty-cells - */ - emptyCells: EmptyCellsProperty - /** - * The **`filter`** CSS property applies graphical effects like blur or color shift to an element. Filters are commonly used to adjust the rendering of images, backgrounds, and borders. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :------: | :-----: | :-----: | :----: | :-: | - * | **53** | **35** | **9.1** | **12** | No | - * | 18 _-x-_ | | 6 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/filter - */ - filter: FilterProperty - /** - * The **`flex-basis`** CSS property sets the initial main size of a flex item. It sets the size of the content box unless otherwise set with `box-sizing`. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :------: | :-----: | :-----: | :----: | :----: | - * | **29** | **22** | **9** | **12** | **11** | - * | 21 _-x-_ | | 7 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/flex-basis - */ - flexBasis: FlexBasisProperty - /** - * The **`flex-direction`** CSS property sets how flex items are placed in the flex container defining the main axis and the direction (normal or reversed). - * - * **Initial value**: `row` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :------: | :-----: | :-----: | :----: | :------: | - * | **29** | **20** | **9** | **12** | **11** | - * | 21 _-x-_ | | 7 _-x-_ | | 10 _-x-_ | - * - * @see https://developer.mozilla.org/docs/Web/CSS/flex-direction - */ - flexDirection: FlexDirectionProperty - /** - * The **`flex-grow`** CSS property sets how much of the available space in the flex container should be assigned to that item (the flex grow factor). If all sibling items have the same flex grow factor, then all items will receive the same share of available space, otherwise it is distributed according to the ratio defined by the different flex grow factors. - * - * **Initial value**: `0` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :------: | :-----: | :-------: | :----: | :----------------------: | - * | **29** | **20** | **9** | **12** | **11** | - * | 21 _-x-_ | | 6.1 _-x-_ | | 10 _(-ms-flex-positive)_ | - * - * @see https://developer.mozilla.org/docs/Web/CSS/flex-grow - */ - flexGrow: GlobalsNumber - /** - * The **`flex-shrink`** CSS property sets the flex shrink factor of a flex item. If the size of flex items is larger than the flex container, items shrink to fit according to `flex-shrink`. - * - * **Initial value**: `1` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :------: | :-----: | :-----: | :----: | :----: | - * | **29** | **20** | **9** | **12** | **10** | - * | 21 _-x-_ | | 8 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/flex-shrink - */ - flexShrink: GlobalsNumber - /** - * The **`flex-wrap`** CSS property sets whether flex items are forced onto one line or can wrap onto multiple lines. If wrapping is allowed, it sets the direction that lines are stacked. - * - * **Initial value**: `nowrap` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :------: | :-----: | :-------: | :----: | :----: | - * | **29** | **28** | **9** | **12** | **11** | - * | 21 _-x-_ | | 6.1 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/flex-wrap - */ - flexWrap: FlexWrapProperty - /** - * The **`float`** CSS property places an element on the left or right side of its container, allowing text and inline elements to wrap around it. The element is removed from the normal flow of the page, though still remaining a part of the flow (in contrast to absolute positioning). - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/float - */ - float: FloatProperty - /** - * The **`font-family`** CSS property specifies a prioritized list of one or more font family names and/or generic family names for the selected element. - * - * **Initial value**: depends on user agent - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **3** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/font-family - */ - fontFamily: FontFamilyProperty - /** - * The **`font-feature-settings`** CSS property controls advanced typographic features in OpenType fonts. - * - * **Initial value**: `normal` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :------: | :------: | :-----: | :----: | :----: | - * | **48** | **34** | **9.1** | **15** | **10** | - * | 16 _-x-_ | 15 _-x-_ | | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/font-feature-settings - */ - fontFeatureSettings: FontFeatureSettingsProperty - /** - * The **`font-kerning`** CSS property sets the use of the kerning information stored in a font. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----------: | :-----: | :----: | :--: | :-: | - * | **32** _-x-_ | **32** | **7** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/font-kerning - */ - fontKerning: FontKerningProperty - /** - * The **`font-language-override`** CSS property controls the use of language-specific glyphs in a typeface. - * - * **Initial value**: `normal` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | No | **34** | No | No | No | - * | | 4 _-x-_ | | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/font-language-override - */ - fontLanguageOverride: FontLanguageOverrideProperty - /** - * The **`font-optical-sizing`** CSS property sets whether text rendering is optimized for viewing at different sizes. This only works for fonts that have an optical size variation axis. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :-: | - * | No | **62** | **11** | **17** | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/font-optical-sizing - */ - fontOpticalSizing: FontOpticalSizingProperty - /** - * The **`font-size`** CSS property sets the size of the font. This property is also used to compute the size of `em`, `ex`, and other relative `` units. - * - * **Initial value**: `medium` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :-----: | - * | **1** | **1** | **1** | **12** | **5.5** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/font-size - */ - fontSize: FontSizeProperty - /** - * The **`font-size-adjust`** CSS property sets how the font size should be chosen based on the height of lowercase rather than capital letters. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | **54** | **1** | No | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/font-size-adjust - */ - fontSizeAdjust: FontSizeAdjustProperty - /** - * The **`font-stretch`** CSS property selects a normal, condensed, or expanded face from a font. - * - * **Initial value**: `normal` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **60** | **9** | **11** | **12** | **9** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/font-stretch - */ - fontStretch: FontStretchProperty - /** - * The **`font-style`** CSS property sets whether a font should be styled with a normal, italic, or oblique face from its `font-family`. - * - * **Initial value**: `normal` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/font-style - */ - fontStyle: FontStyleProperty - /** - * The **`font-synthesis`** CSS property controls which missing typefaces, bold or italic, may be synthesized by the browser. - * - * **Initial value**: `weight style` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | No | **34** | **9** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/font-synthesis - */ - fontSynthesis: FontSynthesisProperty - /** - * The **font-variant** CSS property is a shorthand for the longhand properties `font-variant-caps`, `font-variant-numeric`, `font-variant-alternates`, `font-variant-ligatures`, and `font-variant-east-asian`. You can also set the CSS Level 2 (Revision 1) values of `font-variant`, (that is, `normal` or `small-caps`), by using the `font` shorthand. - * - * **Initial value**: `normal` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/font-variant - */ - fontVariant: FontVariantProperty - /** - * The **`font-variant-caps`** CSS property controls the use of alternate glyphs for capital letters. - * - * **Initial value**: `normal` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | **52** | **34** | No | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/font-variant-caps - */ - fontVariantCaps: FontVariantCapsProperty - /** - * The **`font-variant-east-asian`** CSS property controls the use of alternate glyphs for East Asian scripts, like Japanese and Chinese. - * - * **Initial value**: `normal` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | **63** | **34** | No | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/font-variant-east-asian - */ - fontVariantEastAsian: FontVariantEastAsianProperty - /** - * The **`font-variant-ligatures`** CSS property controls which ligatures and contextual forms are used in textual content of the elements it applies to. This leads to more harmonized forms in the resulting text. - * - * **Initial value**: `normal` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :------: | :-----: | :-----: | :--: | :-: | - * | **34** | **34** | **9.1** | No | No | - * | 31 _-x-_ | | 7 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/font-variant-ligatures - */ - fontVariantLigatures: FontVariantLigaturesProperty - /** - * The **`font-variant-numeric`** CSS property controls the usage of alternate glyphs for numbers, fractions, and ordinal markers. - * - * **Initial value**: `normal` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :-----: | :--: | :-: | - * | **52** | **34** | **9.1** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/font-variant-numeric - */ - fontVariantNumeric: FontVariantNumericProperty - /** - * The **`font-variant-position`** CSS property controls the use of alternate, smaller glyphs that are positioned as superscript or subscript. - * - * **Initial value**: `normal` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | No | **34** | No | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/font-variant-position - */ - fontVariantPosition: FontVariantPositionProperty - /** - * The **`font-variation-settings`** CSS property provides low-level control over variable font characteristics, by specifying the four letter axis names of the characteristics you want to vary, along with their values. - * - * **Initial value**: `normal` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :-: | - * | **62** | **62** | **11** | **17** | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/font-variation-settings - */ - fontVariationSettings: FontVariationSettingsProperty - /** - * The **`font-weight`** CSS property specifies the weight (or boldness) of the font. The font weights available to you will depend on the `font-family` you are using. Some fonts are only available in `normal` and `bold`. - * - * **Initial value**: `normal` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **2** | **1** | **1** | **12** | **3** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/font-weight - */ - fontWeight: FontWeightProperty - /** - * The **`grid-auto-columns`** CSS property specifies the size of an implicitly-created grid column track. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :---------------------: | :-------------------------: | - * | **57** | **70** | **10.1** | **16** | **10** _(-ms-grid-columns)_ | - * | | | | 12 _(-ms-grid-columns)_ | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/grid-auto-columns - */ - gridAutoColumns: GridAutoColumnsProperty - /** - * The **`grid-auto-flow`** CSS property controls how the auto-placement algorithm works, specifying exactly how auto-placed items get flowed into the grid. - * - * **Initial value**: `row` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :----: | :-: | - * | **57** | **52** | **10.1** | **16** | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/grid-auto-flow - */ - gridAutoFlow: GridAutoFlowProperty - /** - * The **`grid-auto-rows`** CSS property specifies the size of an implicitly-created grid row track. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :------------------: | :----------------------: | - * | **57** | **70** | **10.1** | **16** | **10** _(-ms-grid-rows)_ | - * | | | | 12 _(-ms-grid-rows)_ | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/grid-auto-rows - */ - gridAutoRows: GridAutoRowsProperty - /** - * The **`grid-column-end`** CSS property specifies a grid item’s end position within the grid column by contributing a line, a span, or nothing (automatic) to its grid placement, thereby specifying the block-end edge of its grid area. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :----: | :-: | - * | **57** | **52** | **10.1** | **16** | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/grid-column-end - */ - gridColumnEnd: GridColumnEndProperty - /** - * The **`grid-column-start`** CSS property specifies a grid item’s start position within the grid column by contributing a line, a span, or nothing (automatic) to its grid placement. This start position defines the block-start edge of the grid area. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :----: | :-: | - * | **57** | **52** | **10.1** | **16** | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/grid-column-start - */ - gridColumnStart: GridColumnStartProperty - /** - * The **`grid-row-end`** CSS property specifies a grid item’s end position within the grid row by contributing a line, a span, or nothing (automatic) to its grid placement, thereby specifying the inline-end edge of its grid area. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :----: | :-: | - * | **57** | **52** | **10.1** | **16** | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/grid-row-end - */ - gridRowEnd: GridRowEndProperty - /** - * The **`grid-row-start`** CSS property specifies a grid item’s start position within the grid row by contributing a line, a span, or nothing (automatic) to its grid placement, thereby specifying the inline-start edge of its grid area. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :----: | :-: | - * | **57** | **52** | **10.1** | **16** | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/grid-row-start - */ - gridRowStart: GridRowStartProperty - /** - * The **`grid-template-areas`** CSS property specifies named grid areas. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :----: | :-: | - * | **57** | **52** | **10.1** | **16** | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/grid-template-areas - */ - gridTemplateAreas: GridTemplateAreasProperty - /** - * The **`grid-template-columns`** CSS property defines the line names and track sizing functions of the grid columns. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :----: | :-: | - * | **57** | **52** | **10.1** | **16** | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/grid-template-columns - */ - gridTemplateColumns: GridTemplateColumnsProperty - /** - * The **`grid-template-rows`** CSS property defines the line names and track sizing functions of the grid rows. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :----: | :-: | - * | **57** | **52** | **10.1** | **16** | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/grid-template-rows - */ - gridTemplateRows: GridTemplateRowsProperty - /** - * 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. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | No | No | **10** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/hanging-punctuation - */ - hangingPunctuation: HangingPunctuationProperty - /** - * The **`height`** CSS property specifies the height of an element. By default, the property defines the height of the content area. If `box-sizing` is set to `border-box`, however, it instead determines the height of the border area. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/height - */ - height: HeightProperty - /** - * The **`hyphens`** CSS property specifies how words should be hyphenated when text wraps across multiple lines. You can prevent hyphenation entirely, use hyphenation in manually-specified points within the text, or let the browser automatically insert hyphens where appropriate. - * - * **Initial value**: `manual` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :------: | :-----: | :-----------: | :----------: | :----------: | - * | **55** | **43** | **5.1** _-x-_ | **12** _-x-_ | **10** _-x-_ | - * | 13 _-x-_ | 6 _-x-_ | | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/hyphens - */ - hyphens: HyphensProperty - /** - * The **`image-orientation`** CSS property specifies a layout-independent correction to the orientation of an image. It should _not_ be used for any other orientation adjustments; instead, the `transform` property should be used with the `rotate` ``. - * - * **Initial value**: `0deg` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | No | **26** | No | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/image-orientation - */ - imageOrientation: ImageOrientationProperty - /** - * The **`image-rendering`** CSS property sets an image scaling algorithm. The property applies to an element itself, to any images set in its other properties, and to its descendants. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | **13** | **3.6** | **6** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/image-rendering - */ - imageRendering: ImageRenderingProperty - /** **Initial value**: `1dppx` */ - imageResolution: ImageResolutionProperty - /** - * The `initial-letter` CSS property sets styling for dropped, raised, and sunken initial letters. - * - * **Initial value**: `normal` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | No | No | **9** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/initial-letter - */ - initialLetter: InitialLetterProperty - /** - * The **`inline-size`** CSS property defines the horizontal or vertical size of an element's block, depending on its writing mode. It corresponds to either the `width` or the `height` property, depending on the value of `writing-mode`. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :--: | :-: | - * | **57** | **41** | **12.1** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/inline-size - */ - inlineSize: InlineSizeProperty - /** - * 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`. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | No | **66** | No | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/inset - */ - inset: InsetProperty - /** - * 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`. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | n/a | **63** | No | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/inset-block - */ - insetBlock: InsetBlockProperty - /** - * The **`inset-block-end`** CSS property defines the logical block end offset of an element, which maps to a physical inset depending on the element's writing mode, directionality, and text orientation. It corresponds to the `top`, `right`, `bottom`, or `left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | n/a | **63** | No | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/inset-block-end - */ - insetBlockEnd: InsetBlockEndProperty - /** - * The **`inset-block-start`** CSS property defines the logical block start offset of an element, which maps to a physical inset depending on the element's writing mode, directionality, and text orientation. It corresponds to the `top`, `right`, `bottom`, or `left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | n/a | **63** | No | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/inset-block-start - */ - insetBlockStart: InsetBlockStartProperty - /** - * 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`. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | n/a | **63** | No | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/inset-inline - */ - insetInline: InsetInlineProperty - /** - * 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`. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | n/a | **63** | No | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/inset-inline-end - */ - insetInlineEnd: InsetInlineEndProperty - /** - * 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`. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | n/a | **63** | No | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/inset-inline-start - */ - insetInlineStart: InsetInlineStartProperty - /** - * The **`isolation`** CSS property determines whether an element must create a new stacking context. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | **41** | **36** | **8** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/isolation - */ - isolation: IsolationProperty - /** - * The CSS **`justify-content`** property defines how the browser distributes space between and around content items along the main-axis of a flex container, and the inline axis of a grid container. - * - * **Initial value**: `normal` - * - * --- - * - * _Supported in Flex Layout_ - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :------: | :-----: | :-------: | :----: | :----: | - * | **52** | **20** | **9** | **12** | **11** | - * | 21 _-x-_ | | 6.1 _-x-_ | | | - * - * --- - * - * _Supported in Grid Layout_ - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :----: | :-: | - * | **57** | **52** | **10.1** | **16** | No | - * - * --- - * - * @see https://developer.mozilla.org/docs/Web/CSS/justify-content - */ - justifyContent: JustifyContentProperty - /** - * The CSS **`justify-items`** property defines the default `justify-self` for all items of the box, giving them all a default way of justifying each box along the appropriate axis. - * - * **Initial value**: `legacy` - * - * --- - * - * _Supported in Flex Layout_ - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :----: | - * | **52** | **20** | **9** | **12** | **11** | - * - * --- - * - * _Supported in Grid Layout_ - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :----: | :-: | - * | **57** | **45** | **10.1** | **16** | No | - * - * --- - * - * @see https://developer.mozilla.org/docs/Web/CSS/justify-items - */ - justifyItems: JustifyItemsProperty - /** - * The CSS **`justify-self`** property set the way a box is justified inside its alignment container along the appropriate axis. - * - * **Initial value**: `auto` - * - * --- - * - * _Supported in Flex Layout_ - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :----: | :-: | - * | **57** | **45** | **10.1** | **16** | No | - * - * --- - * - * _Supported in Grid Layout_ - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :----: | :-: | - * | **57** | **45** | **10.1** | **16** | No | - * - * --- - * - * @see https://developer.mozilla.org/docs/Web/CSS/justify-self - */ - justifySelf: JustifySelfProperty - /** - * The **`left`** CSS property participates in specifying the horizontal position of a _positioned element_. It has no effect on non-positioned elements. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :-----: | - * | **1** | **1** | **1** | **12** | **5.5** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/left - */ - left: LeftProperty - /** - * The **`letter-spacing`** CSS property sets the spacing behavior between text characters. - * - * **Initial value**: `normal` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/letter-spacing - */ - letterSpacing: LetterSpacingProperty - /** - * The **`line-break`** CSS property sets how to break lines of Chinese, Japanese, or Korean (CJK) text when working with punctuation and symbols. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :-----: | :-----: | :---------: | :----: | :-----: | - * | **58** | **69** | **3** _-x-_ | **14** | **5.5** | - * | 1 _-x-_ | | | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/line-break - */ - lineBreak: LineBreakProperty - /** - * The **`line-height`** CSS property sets the amount of space used for lines, such as in text. On block-level elements, it specifies the minimum height of line boxes within the element. On non-replaced inline elements, it specifies the height that is used to calculate line box height. - * - * **Initial value**: `normal` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/line-height - */ - lineHeight: LineHeightProperty - /** - * The **`line-height-step`** CSS property sets the step unit for line box heights. When the property is set, line box heights are rounded up to the closest multiple of the unit. - * - * **Initial value**: `0` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | n/a | No | No | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/line-height-step - */ - lineHeightStep: LineHeightStepProperty - /** - * The **`list-style-image`** CSS property sets an image to be used as the list item marker. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/list-style-image - */ - listStyleImage: ListStyleImageProperty - /** - * The **`list-style-position`** CSS property sets the position of the `::marker` relative to a list item. - * - * **Initial value**: `outside` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/list-style-position - */ - listStylePosition: ListStylePositionProperty - /** - * The **`list-style-type`** CSS property sets the marker (such as a disc, character, or custom counter style) of a list item element. - * - * **Initial value**: `disc` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/list-style-type - */ - listStyleType: ListStyleTypeProperty - /** - * 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. - * - * **Initial value**: `0` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | **69** | **66** | No | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/margin-block - */ - marginBlock: MarginBlockProperty - /** - * The **`margin-block-end`** CSS property defines the logical block end margin of an element, which maps to a physical margin depending on the element's writing mode, directionality, and text orientation. - * - * **Initial value**: `0` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :--: | :-: | - * | **69** | **41** | **12.1** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/margin-block-end - */ - marginBlockEnd: MarginBlockEndProperty - /** - * The **`margin-block-start`** CSS property defines the logical block start margin of an element, which maps to a physical margin depending on the element's writing mode, directionality, and text orientation. - * - * **Initial value**: `0` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :--: | :-: | - * | **69** | **41** | **12.1** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/margin-block-start - */ - marginBlockStart: MarginBlockStartProperty - /** - * The **`margin-bottom`** CSS property sets the margin area on the bottom of an element. A positive value places it farther from its neighbors, while a negative value places it closer. - * - * **Initial value**: `0` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **3** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/margin-bottom - */ - marginBottom: MarginBottomProperty - /** - * 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. - * - * **Initial value**: `0` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | **69** | **66** | No | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/margin-inline - */ - marginInline: MarginInlineProperty - /** - * The **`margin-inline-end`** CSS property defines the logical inline end margin of an element, which maps to a physical margin depending on the element's writing mode, directionality, and text orientation. In other words, it corresponds to the `margin-top`, `margin-right`, `margin-bottom` or `margin-left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`. - * - * **Initial value**: `0` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----------------------: | :-------------------: | :----------------------: | :--: | :-: | - * | **69** | **41** | **12.1** | No | No | - * | 2 _(-webkit-margin-end)_ | 3 _(-moz-margin-end)_ | 3 _(-webkit-margin-end)_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/margin-inline-end - */ - marginInlineEnd: MarginInlineEndProperty - /** - * The **`margin-inline-start`** CSS property defines the logical inline start margin of an element, which maps to a physical margin depending on the element's writing mode, directionality, and text orientation. It corresponds to the `margin-top`, `margin-right`, `margin-bottom`, or `margin-left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`. - * - * **Initial value**: `0` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :------------------------: | :---------------------: | :------------------------: | :--: | :-: | - * | **69** | **41** | **12.1** | No | No | - * | 2 _(-webkit-margin-start)_ | 3 _(-moz-margin-start)_ | 3 _(-webkit-margin-start)_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/margin-inline-start - */ - marginInlineStart: MarginInlineStartProperty - /** - * The **`margin-left`** CSS property sets the margin area on the left side of an element. A positive value places it farther from its neighbors, while a negative value places it closer. - * - * **Initial value**: `0` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **3** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/margin-left - */ - marginLeft: MarginLeftProperty - /** - * The **`margin-right`** CSS property sets the margin area on the right side of an element. A positive value places it farther from its neighbors, while a negative value places it closer. - * - * **Initial value**: `0` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **3** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/margin-right - */ - marginRight: MarginRightProperty - /** - * The **`margin-top`** CSS property sets the margin area on the top of an element. A positive value places it farther from its neighbors, while a negative value places it closer. - * - * **Initial value**: `0` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **3** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/margin-top - */ - marginTop: MarginTopProperty - /** - * The **`mask-border-mode`** CSS property specifies the blending mode used in a mask border. - * - * **Initial value**: `alpha` - */ - maskBorderMode: MaskBorderModeProperty - /** - * The **`mask-border-outset`** CSS property specifies the distance by which an element's mask border is set out from its border box. - * - * **Initial value**: `0` - */ - maskBorderOutset: MaskBorderOutsetProperty - /** - * The **`mask-border-repeat`** CSS property sets how the edge regions of a source image are adjusted to fit the dimensions of an element's mask border. - * - * **Initial value**: `stretch` - */ - maskBorderRepeat: MaskBorderRepeatProperty - /** - * The **`mask-border-slice`** CSS property divides the image set by `mask-border-source` into regions. These regions are used to form the components of an element's mask border. - * - * **Initial value**: `0` - */ - maskBorderSlice: MaskBorderSliceProperty - /** - * The **`mask-border-source`** CSS property sets the source image used to create an element's mask border. - * - * **Initial value**: `none` - */ - maskBorderSource: MaskBorderSourceProperty - /** - * The **`mask-border-width`** CSS property sets the width of an element's mask border. - * - * **Initial value**: `auto` - */ - maskBorderWidth: MaskBorderWidthProperty - /** - * 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. - * - * **Initial value**: `border-box` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :---------: | :-----: | :---------: | :--: | :-: | - * | **1** _-x-_ | **53** | **4** _-x-_ | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/mask-clip - */ - maskClip: MaskClipProperty - /** - * The **`mask-composite`** CSS property represents a compositing operation used on the current mask layer with the mask layers below it. - * - * **Initial value**: `add` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :-: | - * | No | **53** | No | **18** | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/mask-composite - */ - maskComposite: MaskCompositeProperty - /** - * The **`mask-image`** CSS property sets the image that is used as mask layer for an element. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :---------: | :-----: | :---------: | :----: | :-: | - * | **1** _-x-_ | **53** | **4** _-x-_ | **16** | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/mask-image - */ - maskImage: MaskImageProperty - /** - * The **`mask-mode`** CSS property sets whether the mask reference defined by `mask-image` is treated as a luminance or alpha mask. - * - * **Initial value**: `match-source` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | No | **53** | No | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/mask-mode - */ - maskMode: MaskModeProperty - /** - * The **`mask-origin`** CSS property sets the origin of a mask. - * - * **Initial value**: `border-box` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :---------: | :-----: | :---------: | :--: | :-: | - * | **1** _-x-_ | **53** | **4** _-x-_ | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/mask-origin - */ - maskOrigin: MaskOriginProperty - /** - * The **`mask-position`** CSS property sets the initial position, relative to the mask position layer set by `mask-origin`, for each defined mask image. - * - * **Initial value**: `center` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :---------: | :-----: | :-----------: | :----: | :-: | - * | **1** _-x-_ | **53** | **3.2** _-x-_ | **18** | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/mask-position - */ - maskPosition: MaskPositionProperty - /** - * The **`mask-repeat`** CSS property sets how mask images are repeated. A mask image can be repeated along the horizontal axis, the vertical axis, both axes, or not repeated at all. - * - * **Initial value**: `no-repeat` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :---------: | :-----: | :-----------: | :----: | :-: | - * | **1** _-x-_ | **53** | **3.2** _-x-_ | **18** | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/mask-repeat - */ - maskRepeat: MaskRepeatProperty - /** - * The **`mask-size`** CSS property specifies the sizes of the mask images. The size of the image can be fully or partially constrained in order to preserve its intrinsic ratio. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :---------: | :-----: | :---------: | :----: | :-: | - * | **4** _-x-_ | **53** | **4** _-x-_ | **18** | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/mask-size - */ - maskSize: MaskSizeProperty - /** - * The **`mask-type`** CSS property sets whether an SVG `` element is used as a _luminance_ or an _alpha_ mask. It applies to the `` element itself. - * - * **Initial value**: `luminance` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :-----: | :--: | :-: | - * | **24** | **35** | **6.1** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/mask-type - */ - maskType: MaskTypeProperty - /** - * The `**max-block-size**` CSS property specifies the maximum size of an element in the direction opposite that of the writing direction as specified by `writing-mode`. That is, if the writing direction is horizontal, then `max-block-size` is equivalent to `max-height`; if the writing direction is vertical, `max-block-size` is the same as `max-width`. - * - * **Initial value**: `0` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :--: | :-: | - * | **57** | **41** | **12.1** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/max-block-size - */ - maxBlockSize: MaxBlockSizeProperty - /** - * The **`max-height`** CSS property sets the maximum height of an element. It prevents the used value of the `height` property from becoming larger than the value specified for `max-height`. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :-----: | :----: | :---: | - * | **18** | **1** | **1.3** | **12** | **7** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/max-height - */ - maxHeight: MaxHeightProperty - /** - * The **`max-inline-size`** CSS property defines the horizontal or vertical maximum size of an element's block depending on its writing mode. It corresponds to the `max-width` or the `max-height` property depending on the value defined for `writing-mode`. If the writing mode is vertically oriented, the value of `max-inline-size` relates to the maximal height of the element, otherwise it relates to the maximal width of the element. It relates to `max-block-size`, which defines the other dimension of the element. - * - * **Initial value**: `0` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :--------: | :--: | :-: | - * | **57** | **41** | **12.1** | No | No | - * | | | 10.1 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/max-inline-size - */ - maxInlineSize: MaxInlineSizeProperty - /** **Initial value**: `none` */ - maxLines: MaxLinesProperty - /** - * The **`max-width`** CSS property sets the maximum width of an element. It prevents the used value of the `width` property from becoming larger than the value specified by `max-width`. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **7** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/max-width - */ - maxWidth: MaxWidthProperty - /** - * The **`min-block-size`** CSS property defines the minimum horizontal or vertical size of an element's block, depending on its writing mode. It corresponds to either the `min-width` or the `min-height` property, depending on the value of `writing-mode`. - * - * **Initial value**: `0` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :--: | :-: | - * | **57** | **41** | **12.1** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/min-block-size - */ - minBlockSize: MinBlockSizeProperty - /** - * The **`min-height`** CSS property sets the minimum height of an element. It prevents the used value of the `height` property from becoming smaller than the value specified for `min-height`. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :-----: | :----: | :---: | - * | **1** | **3** | **1.3** | **12** | **7** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/min-height - */ - minHeight: MinHeightProperty - /** - * The **`min-inline-size`** CSS property defines the horizontal or vertical minimal size of an element's block, depending on its writing mode. It corresponds to either the `min-width` or the `min-height` property, depending on the value of `writing-mode`. - * - * **Initial value**: `0` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :--: | :-: | - * | **57** | **41** | **12.1** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/min-inline-size - */ - minInlineSize: MinInlineSizeProperty - /** - * The **`min-width`** CSS property sets the minimum width of an element. It prevents the used value of the `width` property from becoming smaller than the value specified for `min-width`. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **7** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/min-width - */ - minWidth: MinWidthProperty - /** - * The **`mix-blend-mode`** CSS property sets how an element's content should blend with the content of the element's parent and the element's background. - * - * **Initial value**: `normal` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | **41** | **32** | **8** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/mix-blend-mode - */ - mixBlendMode: MixBlendModeProperty - /** - * The **`offset-distance`** CSS property specifies a position along an `offset-path`. - * - * **Initial value**: `0` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :--------------------: | :-----: | :----: | :--: | :-: | - * | **55** | n/a | No | No | No | - * | 46 _(motion-distance)_ | | | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/offset-distance - */ - motionDistance: OffsetDistanceProperty - /** - * The **`offset-path`** CSS property specifies a motion path for an element to follow and defines the element's positioning within the parent container or SVG coordinate system. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----------------: | :-----: | :----: | :--: | :-: | - * | **55** | n/a | No | No | No | - * | 46 _(motion-path)_ | | | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/offset-path - */ - motionPath: OffsetPathProperty - /** - * The **`offset-rotate`** CSS property defines the direction of the element while positioning along the offset path. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :--------------------: | :-----: | :----: | :--: | :-: | - * | **56** | n/a | No | No | No | - * | 46 _(motion-rotation)_ | | | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/offset-rotate - */ - motionRotation: OffsetRotateProperty - /** - * The **`object-fit`** CSS property sets how the content of a replaced element, such as an `` or `
` cells, rows, and columns. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **14** | **1** | **1** | **12** | **5** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/table-layout - */ - tableLayout: TableLayoutProperty - /** - * The **`text-align`** CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like `vertical-align` but in the horizontal direction. - * - * **Initial value**: `start`, or a nameless value that acts as `left` if _direction_ is `ltr`, `right` if _direction_ is `rtl` if `start` is not supported by the browser. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **3** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/text-align - */ - textAlign: TextAlignProperty - /** - * The **`text-align-last`** CSS property sets how the last line of a block or a line, right before a forced line break, is aligned. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :-----: | - * | **47** | **49** | No | **12** | **5.5** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/text-align-last - */ - textAlignLast: TextAlignLastProperty - /** - * The **`text-combine-upright`** CSS property sets the combination of characters into the space of a single character. If the combined text is wider than 1em, the user agent must fit the contents within 1em. The resulting composition is treated as a single upright glyph for layout and decoration. This property only has an effect in vertical writing modes. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :------------------------: | :-----: | :------------------------------: | :------------------------------------: | :------------------------------------: | - * | **48** | **48** | **5.1** _(-webkit-text-combine)_ | **12** _(-ms-text-combine-horizontal)_ | **11** _(-ms-text-combine-horizontal)_ | - * | 9 _(-webkit-text-combine)_ | | | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/text-combine-upright - */ - textCombineUpright: TextCombineUprightProperty - /** - * The **`text-decoration-color`** CSS property sets the color of decorations added to text by `text-decoration-line`. - * - * **Initial value**: `currentcolor` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :--: | :-: | - * | **57** | **36** | **12.1** | No | No | - * | | | 8 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/text-decoration-color - */ - textDecorationColor: TextDecorationColorProperty - /** - * The **`text-decoration-line`** CSS property sets the kind of decoration that is used on text in an element, such as an underline or overline. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :--: | :-: | - * | **57** | **36** | **12.1** | No | No | - * | | | 8 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/text-decoration-line - */ - textDecorationLine: TextDecorationLineProperty - /** - * The **`text-decoration-skip`** CSS property sets what parts of an element’s content any text decoration affecting the element must skip over. It controls all text decoration lines drawn by the element and also any text decoration lines drawn by its ancestors. - * - * **Initial value**: `objects` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :--: | :-: | - * | 57-64 | No | **12.1** | No | No | - * | | | 8 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/text-decoration-skip - */ - textDecorationSkip: TextDecorationSkipProperty - /** - * The **`text-decoration-skip-ink`** CSS property specifies how overlines and underlines are drawn when they pass over glyph ascenders and descenders. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | **64** | **70** | No | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/text-decoration-skip-ink - */ - textDecorationSkipInk: TextDecorationSkipInkProperty - /** - * The **`text-decoration-style`** CSS property sets the style of the lines specified by `text-decoration-line`. The style applies to all lines that are set with `text-decoration-line`. - * - * **Initial value**: `solid` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :--: | :-: | - * | **57** | **36** | **12.1** | No | No | - * | | | 8 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/text-decoration-style - */ - textDecorationStyle: TextDecorationStyleProperty - /** - * 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. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :--: | :-: | - * | No | **70** | **12.1** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/text-decoration-thickness - */ - textDecorationThickness: TextDecorationThicknessProperty - /** - * 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. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :--: | :-: | - * | No | **70** | **12.1** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/text-decoration-thickness - */ - textDecorationWidth: TextDecorationThicknessProperty - /** - * The **`text-emphasis-color`** CSS property sets the color of emphasis marks. This value can also be set using the `text-emphasis` shorthand. - * - * **Initial value**: `currentcolor` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :-----: | :--: | :-: | - * | **25** | **46** | **6.1** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/text-emphasis-color - */ - textEmphasisColor: TextEmphasisColorProperty - /** - * The **`text-emphasis-position`** CSS property sets where emphasis marks are drawn. Like ruby text, if there isn't enough room for emphasis marks, the line height is increased. - * - * **Initial value**: `over right` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :-----: | :--: | :-: | - * | **25** | **46** | **6.1** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/text-emphasis-position - */ - textEmphasisPosition: GlobalsString - /** - * The **`text-emphasis-style`** CSS property sets the appearance of emphasis marks. It can also be set, and reset, using the `text-emphasis` shorthand. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :-----: | :--: | :-: | - * | **25** | **46** | **6.1** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/text-emphasis-style - */ - textEmphasisStyle: TextEmphasisStyleProperty - /** - * The **`text-indent`** CSS property sets the length of empty space (indentation) that is put before lines of text in a block. - * - * **Initial value**: `0` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **3** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/text-indent - */ - textIndent: TextIndentProperty - /** - * The **`text-justify`** CSS property sets what type of justification should be applied to text when `text-align``: justify;` is set on an element. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :----: | - * | n/a | **55** | No | **12** | **11** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/text-justify - */ - textJustify: TextJustifyProperty - /** - * The **`text-orientation`** CSS property sets the orientation of the text characters in a line. It only affects text in vertical mode (when `writing-mode` is not `horizontal-tb`). It is useful for controlling the display of languages that use vertical script, and also for making vertical table headers. - * - * **Initial value**: `mixed` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :------: | :-----: | :-----------: | :--: | :-: | - * | **48** | **41** | **5.1** _-x-_ | No | No | - * | 11 _-x-_ | | | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/text-orientation - */ - textOrientation: TextOrientationProperty - /** - * The **`text-overflow`** CSS property sets how hidden overflow content is signaled to users. It can be clipped, display an ellipsis ('`…`'), or display a custom string. - * - * **Initial value**: `clip` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :-----: | :----: | :---: | - * | **1** | **7** | **1.3** | **12** | **6** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/text-overflow - */ - textOverflow: TextOverflowProperty - /** - * The **`text-rendering`** CSS property provides information to the rendering engine about what to optimize for when rendering text. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | **4** | **1** | **5** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/text-rendering - */ - textRendering: TextRenderingProperty - /** - * The **`text-shadow`** CSS property adds shadows to text. It accepts a comma-separated list of shadows to be applied to the text and any of its `decorations`. Each shadow is described by some combination of X and Y offsets from the element, blur radius, and color. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :-----: | :----: | :----: | - * | **2** | **3.5** | **1.1** | **12** | **10** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/text-shadow - */ - textShadow: TextShadowProperty - /** - * The **`text-size-adjust`** CSS property controls the text inflation algorithm used on some smartphones and tablets. Other browsers will ignore this property. - * - * **Initial value**: `auto` for smartphone browsers supporting inflation, `none` in other cases (and then not modifiable). - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----------: | :-: | - * | **54** | No | No | **12** _-x-_ | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/text-size-adjust - */ - textSizeAdjust: TextSizeAdjustProperty - /** - * The **`text-transform`** CSS property specifies how to capitalize an element's text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. It also can help improve legibility for ruby - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/text-transform - */ - textTransform: TextTransformProperty - /** - * The **`text-underline-offset`** CSS property sets the offset distance of an underline text decoration line (applied using `text-decoration`) from its original position. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :--: | :-: | - * | No | **70** | **12.1** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/text-underline-offset - */ - textUnderlineOffset: TextUnderlineOffsetProperty - /** - * The **`text-underline-position`** CSS property specifies the position of the underline which is set using the `text-decoration` property's `underline` value. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **33** | No | No | **12** | **6** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/text-underline-position - */ - textUnderlinePosition: TextUnderlinePositionProperty - /** - * The **`top`** CSS property participates in specifying the vertical position of a _positioned element_. It has no effect on non-positioned elements. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **5** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/top - */ - top: TopProperty - /** - * The **`touch-action`** CSS property sets how a region can be manipulated by a touchscreen user (for example, by zooming features built into the browser). - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :------: | - * | **36** | **52** | **13** | **12** | **11** | - * | | | | | 10 _-x-_ | - * - * @see https://developer.mozilla.org/docs/Web/CSS/touch-action - */ - touchAction: TouchActionProperty - /** - * The **`transform`** CSS property lets you rotate, scale, skew, or translate an element. It modifies the coordinate space of the CSS visual formatting model. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :-----: | :-----: | :-------: | :----: | :-----: | - * | **36** | **16** | **9** | **12** | **10** | - * | 1 _-x-_ | | 3.1 _-x-_ | | 9 _-x-_ | - * - * @see https://developer.mozilla.org/docs/Web/CSS/transform - */ - transform: TransformProperty - /** - * The **`transform-box`** CSS property defines the layout box to which the `transform` and `transform-origin` properties relate. - * - * **Initial value**: `border-box ` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | **64** | **55** | **11** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/transform-box - */ - transformBox: TransformBoxProperty - /** - * The **`transform-origin`** CSS property sets the origin for an element's transformations. - * - * **Initial value**: `50% 50% 0` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :-----: | :-------: | :-----: | :----: | :-----: | - * | **36** | **16** | **9** | **12** | **10** | - * | 1 _-x-_ | 3.5 _-x-_ | 2 _-x-_ | | 9 _-x-_ | - * - * @see https://developer.mozilla.org/docs/Web/CSS/transform-origin - */ - transformOrigin: TransformOriginProperty - /** - * The **`transform-style`** CSS property sets whether children of an element are positioned in the 3D space or are flattened in the plane of the element. - * - * **Initial value**: `flat` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :------: | :------: | :-----: | :----: | :-: | - * | **36** | **16** | **9** | **12** | No | - * | 12 _-x-_ | 10 _-x-_ | 4 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/transform-style - */ - transformStyle: TransformStyleProperty - /** - * The **`transition-delay`** CSS property specifies the duration to wait before starting a property's transition effect when its value changes. - * - * **Initial value**: `0s` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :-----: | :-----: | :-----: | :----: | :----: | - * | **26** | **16** | **9** | **12** | **10** | - * | 1 _-x-_ | 4 _-x-_ | 4 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/transition-delay - */ - transitionDelay: GlobalsString - /** - * The **`transition-duration`** CSS property sets the length of time a transition animation should take to complete. By default, the value is `0s`, meaning that no animation will occur. - * - * **Initial value**: `0s` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :-----: | :-----: | :-------: | :----: | :----: | - * | **26** | **16** | **9** | **12** | **10** | - * | 1 _-x-_ | 4 _-x-_ | 3.1 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/transition-duration - */ - transitionDuration: GlobalsString - /** - * The **`transition-property`** CSS property sets the CSS properties to which a transition effect should be applied. - * - * **Initial value**: all - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :-----: | :-----: | :-------: | :----: | :----: | - * | **26** | **16** | **9** | **12** | **10** | - * | 1 _-x-_ | 4 _-x-_ | 3.1 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/transition-property - */ - transitionProperty: TransitionPropertyProperty - /** - * The **`transition-timing-function`** CSS property sets how intermediate values are calculated for CSS properties being affected by a transition effect. - * - * **Initial value**: `ease` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :-----: | :-----: | :-------: | :----: | :----: | - * | **26** | **16** | **9** | **12** | **10** | - * | 1 _-x-_ | 4 _-x-_ | 3.1 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/transition-timing-function - */ - transitionTimingFunction: TransitionTimingFunctionProperty - /** - * The **`translate`** CSS property allows you to specify translation transforms individually and independantly of the `transform` property. This maps better to typical user interface usage, and saves having to remember the exact order of transform functions to specify in the `transform` value. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | No | n/a | No | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/translate - */ - translate: TranslateProperty - /** - * The **`unicode-bidi`** CSS property, together with the `direction` property, determines how bidirectional text in a document is handled. For example, if a block of content contains both left-to-right and right-to-left text, the user-agent uses a complex Unicode algorithm to decide how to display the text. The `unicode-bidi` property overrides this algorithm and allows the developer to control the text embedding. - * - * **Initial value**: `normal` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :-----: | :----: | :-----: | - * | **2** | **1** | **1.3** | **12** | **5.5** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/unicode-bidi - */ - unicodeBidi: UnicodeBidiProperty - /** - * The `**user-select**` CSS property controls whether the user can select text. This doesn't have any effect on content loaded as chrome, except in textboxes. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :-----: | :-----: | :---------: | :----------: | :----------: | - * | **54** | **69** | **3** _-x-_ | **12** _-x-_ | **10** _-x-_ | - * | 1 _-x-_ | 1 _-x-_ | | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/user-select - */ - userSelect: UserSelectProperty - /** - * The **`vertical-align`** CSS property sets vertical alignment of an inline or table-cell box. - * - * **Initial value**: `baseline` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/vertical-align - */ - verticalAlign: VerticalAlignProperty - /** - * The **`visibility`** CSS property shows or hides an element without changing the layout of a document. The property can also hide rows or columns in a `
`. - * - * **Initial value**: `visible` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/visibility - */ - visibility: VisibilityProperty - /** - * The **`white-space`** CSS property sets how white space inside an element is handled. - * - * **Initial value**: `normal` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :-----: | - * | **1** | **1** | **1** | **12** | **5.5** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/white-space - */ - whiteSpace: WhiteSpaceProperty - /** - * The **`widows`** CSS property sets the minimum number of lines in a block container that must be shown at the _top_ of a page, region, or column. - * - * **Initial value**: `2` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :-----: | :----: | :---: | - * | **25** | No | **1.3** | **12** | **8** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/widows - */ - widows: GlobalsNumber - /** - * The **`width`** CSS property sets an element's width. By default it sets the width of the content area, but if `box-sizing` is set to `border-box`, it sets the width of the border area. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/width - */ - width: WidthProperty - /** - * The **`will-change`** CSS property hints to browsers how an element is expected to change. Browsers may set up optimizations before an element is actually changed. These kinds of optimizations can increase the responsiveness of a page by doing potentially expensive work before they are actually required. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :-----: | :--: | :-: | - * | **36** | **36** | **9.1** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/will-change - */ - willChange: WillChangeProperty - /** - * The **`word-break`** CSS property sets whether line breaks appear wherever the text would otherwise overflow its content box. - * - * **Initial value**: `normal` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :-----: | - * | **1** | **15** | **3** | **12** | **5.5** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/word-break - */ - wordBreak: WordBreakProperty - /** - * The **`word-spacing`** CSS property sets the length of space between words and between tags. - * - * **Initial value**: `normal` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **6** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/word-spacing - */ - wordSpacing: WordSpacingProperty - /** - * The `**overflow-wrap**` CSS property sets whether the browser should insert line breaks within words to prevent text from overflowing its content box. - * - * **Initial value**: `normal` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :-----: | - * | **1** | **3.5** | **2** | **12** | **5.5** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/overflow-wrap - */ - wordWrap: WordWrapProperty - /** - * The **`writing-mode`** CSS property sets whether lines of text are laid out horizontally or vertically, as well as the direction in which blocks progress. - * - * **Initial value**: `horizontal-tb` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :-----: | :-----: | :-------: | :----: | :---------: | - * | **48** | **41** | **10.1** | **12** | **9** _-x-_ | - * | 8 _-x-_ | | 5.1 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/writing-mode - */ - writingMode: WritingModeProperty - /** - * The **`z-index`** CSS property sets the z-order of a positioned element and its descendants or flex items. Overlapping elements with a larger z-index cover those with a smaller one. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/z-index - */ - zIndex: ZIndexProperty - /** - * The non-standard **`zoom`** CSS property can be used to control the magnification level of an element. `transform: scale()` should be used instead of this property, if possible. However, unlike CSS Transforms, `zoom` affects the layout size of the element. - * - * **Initial value**: `normal` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :-----: | :----: | :-----: | - * | **1** | No | **3.1** | **12** | **5.5** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/zoom - */ - zoom: ZoomProperty -} - -export interface StandardShorthandProperties { - /** - * The `**all**` CSS shorthand property sets all of an element's properties (other than `unicode-bidi` and `direction`) to their initial or inherited values, or to the values specified in another stylesheet origin. - * - * **Initial value**: There is no practical initial value for it. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :-----: | :--: | :-: | - * | **37** | **27** | **9.1** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/all - */ - all: Globals - /** - * The **`animation`** shorthand CSS property sets an animated transition between styles. It is a shorthand for `animation-name`, `animation-duration`, `animation-timing-function`, `animation-delay`, `animation-iteration-count`, `animation-direction`, `animation-fill-mode`, and `animation-play-state`. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :-----: | :-----: | :-----: | :----: | :----: | - * | **43** | **16** | **9** | **12** | **10** | - * | 3 _-x-_ | 5 _-x-_ | 4 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/animation - */ - animation: AnimationProperty - /** - * The **`background`** shorthand CSS property sets all background style properties at once, such as color, image, origin and size, or repeat method. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/background - */ - background: BackgroundProperty - /** - * The **`border`** CSS property sets an element's border. It's a shorthand for `border-width`, `border-style`, and `border-color`. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border - */ - border: BorderProperty - /** - * 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. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | **69** | **66** | No | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-block - */ - borderBlock: BorderBlockProperty - /** - * The **`border-block-end`** CSS property is a shorthand property for setting the individual logical block-end border property values in a single place in the style sheet. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :--: | :-: | - * | **69** | **41** | **12.1** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-block-end - */ - borderBlockEnd: BorderBlockEndProperty - /** - * The **`border-block-start`** CSS property is a shorthand property for setting the individual logical block-start border property values in a single place in the style sheet. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :--: | :-: | - * | **69** | **41** | **12.1** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-block-start - */ - borderBlockStart: BorderBlockStartProperty - /** - * The **`border-bottom`** CSS property is a shorthand that sets the values of `border-bottom-width`, `border-bottom-style` and `border-bottom-color`. These properties set an element's bottom border. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-bottom - */ - borderBottom: BorderBottomProperty - /** - * The **`border-color`** shorthand CSS property sets the color of all sides of an element's border. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-color - */ - borderColor: BorderColorProperty - /** - * The **`border-image`** CSS property draws an image in place of an element's `border-style`. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :-----: | :-------: | :-----: | :----: | :----: | - * | **16** | **15** | **6** | **12** | **11** | - * | 7 _-x-_ | 3.5 _-x-_ | 3 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-image - */ - borderImage: BorderImageProperty - /** - * 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. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | **69** | **66** | No | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-inline - */ - borderInline: BorderInlineProperty - /** - * The **`border-inline-end`** CSS property is a shorthand property for setting the individual logical inline-end border property values in a single place in the style sheet. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :--: | :-: | - * | **69** | **41** | **12.1** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-end - */ - borderInlineEnd: BorderInlineEndProperty - /** - * The **`border-inline-start`** CSS property is a shorthand property for setting the individual logical inline-start border property values in a single place in the style sheet. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :--: | :-: | - * | **69** | **41** | **12.1** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-start - */ - borderInlineStart: BorderInlineStartProperty - /** - * The **`border-left`** CSS property is a shorthand that sets the values of `border-left-width`, `border-left-style` and `border-left-color`. These properties set an element's left border. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-left - */ - borderLeft: BorderLeftProperty - /** - * The **`border-radius`** CSS property rounds the corners of an element's outer border edge. You can set a single radius to make circular corners, or two radii to make elliptical corners. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :-----: | :-----: | :-----: | :----: | :---: | - * | **4** | **4** | **5** | **12** | **9** | - * | 1 _-x-_ | | 3 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-radius - */ - borderRadius: BorderRadiusProperty - /** - * The **`border-right`** CSS property is a shorthand that sets the values of `border-right-width`, `border-right-style` and `border-right-color`. These properties set an element's right border. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :-----: | - * | **1** | **1** | **1** | **12** | **5.5** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-right - */ - borderRight: BorderRightProperty - /** - * The **`border-style`** CSS property is a shorthand property that sets the line style for all four sides of an element's border. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-style - */ - borderStyle: BorderStyleProperty - /** - * The **`border-top`** CSS property is a shorthand that sets the values of `border-top-width`, `border-top-style` and `border-top-color`. These properties set an element's top border. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-top - */ - borderTop: BorderTopProperty - /** - * The **`border-width`** shorthand CSS property sets the widths of all four sides of an element's border. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-width - */ - borderWidth: BorderWidthProperty - /** - * The **`column-rule`** CSS property sets the width, style, and color of the rule (line) drawn between columns in a multi-column layout. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :-----: | :-------: | :-----: | :----: | :----: | - * | **50** | **52** | **9** | **12** | **10** | - * | 1 _-x-_ | 3.5 _-x-_ | 3 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/column-rule - */ - columnRule: ColumnRuleProperty - /** - * The **`columns`** CSS property sets the column width and column count of an element. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :-----: | :----: | :----: | - * | **50** | **52** | **9** | **12** | **10** | - * | | 9 _-x-_ | 3 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/columns - */ - columns: ColumnsProperty - /** - * The **`flex`** CSS property sets how a flex item will grow or shrink to fit the space available in its flex container. It is a shorthand for `flex-grow`, `flex-shrink`, and `flex-basis`. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :------: | :-----: | :-------: | :----: | :------: | - * | **29** | **20** | **9** | **12** | **11** | - * | 21 _-x-_ | | 6.1 _-x-_ | | 10 _-x-_ | - * - * @see https://developer.mozilla.org/docs/Web/CSS/flex - */ - flex: FlexProperty - /** - * The **`flex-flow`** CSS property is a shorthand property for `flex-direction` and `flex-wrap` properties. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :------: | :-----: | :-------: | :----: | :----: | - * | **29** | **28** | **9** | **12** | **11** | - * | 21 _-x-_ | | 6.1 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/flex-flow - */ - flexFlow: FlexFlowProperty - /** - * The **`font`** CSS property is a shorthand for `font-style`, `font-variant`, `font-weight`, `font-size`, `line-height`, and `font-family`. Alternatively, it sets an element's font to a system font. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **3** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/font - */ - font: FontProperty - /** - * The **`gap`** CSS property sets the gaps (gutters) between rows and columns. It is a shorthand for `row-gap` and `column-gap`. - * - * --- - * - * _Supported in Flex Layout_ - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | 84 | 63 | No | 84 | No | - * - * --- - * - * _Supported in Grid Layout_ - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | 66 | 61 | 10.1 | 16 | No | - * - * --- - * - * _Supported in Multi-column Layout_ - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :-: | - * | 66 | 61 | No | 16 | No | - * - * --- - * - * @see https://developer.mozilla.org/docs/Web/CSS/gap - */ - gap: GapProperty - /** - * 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. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :----: | :-: | - * | **57** | **52** | **10.1** | **16** | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/grid - */ - grid: GridProperty - /** - * The **`grid-area`** CSS property is a shorthand property for `grid-row-start`, `grid-column-start`, `grid-row-end` and `grid-column-end`, specifying a grid item’s size and location within the grid row by contributing a line, a span, or nothing (automatic) to its grid placement, thereby specifying the edges of its grid area. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :----: | :-: | - * | **57** | **52** | **10.1** | **16** | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/grid-area - */ - gridArea: GridAreaProperty - /** - * The **`grid-column`** CSS property is a shorthand property for `grid-column-start` and `grid-column-end` specifying a grid item's size and location within the grid column by contributing a line, a span, or nothing (automatic) to its grid placement, thereby specifying the inline-start and inline-end edge of its grid area. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :----: | :-: | - * | **57** | **52** | **10.1** | **16** | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/grid-column - */ - gridColumn: GridColumnProperty - /** - * The **`grid-column-gap`** CSS property is a _legacy_ property that sets the size of the gap (gutter) between an element's grid columns. - * - * **Initial value**: `normal` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :----: | :-: | - * | **57** | **52** | **10.1** | **16** | No | - * - * --- - * - * @see https://developer.mozilla.org/docs/Web/CSS/row-gap - */ - gridColumnGap: ColumnGapProperty - /** - * The **`grid-row`** CSS property is a shorthand property for `grid-row-start` and `grid-row-end` specifying a grid item’s size and location within the grid row by contributing a line, a span, or nothing (automatic) to its grid placement, thereby specifying the inline-start and inline-end edge of its grid area. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :----: | :-: | - * | **57** | **52** | **10.1** | **16** | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/grid-row - */ - gridRow: GridRowProperty - /** - * The **`grid-row-gap`** CSS property is a _legacy_ property that sets the size of the gap (gutter) between an element's grid rows. - * - * **Initial value**: `normal` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :----: | :-: | - * | **57** | **52** | **10.1** | **16** | No | - * - * --- - * - * @see https://developer.mozilla.org/docs/Web/CSS/row-gap - */ - gridRowGap: RowGapProperty - /** - * The **`grid-template`** CSS property is a shorthand property for defining grid columns, rows, and areas. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :----: | :-: | - * | **57** | **52** | **10.1** | **16** | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/grid-template - */ - gridTemplate: GridTemplateProperty - /** **Initial value**: `none` */ - lineClamp: LineClampProperty - /** - * The **`list-style`** CSS property is a shorthand to set list style properties `list-style-type`, `list-style-image`, and `list-style-position`. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/list-style - */ - listStyle: ListStyleProperty - /** - * The **`margin`** CSS property sets the margin area on all four sides of an element. It is a shorthand for `margin-top`, `margin-right`, `margin-bottom`, and `margin-left`. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **3** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/margin - */ - margin: MarginProperty - /** - * The **`mask`** CSS property hides an element (partially or fully) by masking or clipping the image at specific points. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :-----: | :----: | :-: | - * | **1** | **2** | **3.2** | **12** | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/mask - */ - mask: MaskProperty - /** The **`mask-border`** CSS property lets you create a mask along the edge of an element's border. */ - maskBorder: MaskBorderProperty - /** - * The **`offset`** CSS property is a shorthand property for animating an element along a defined path. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :-----------: | :-----: | :----: | :--: | :-: | - * | **55** | No | No | No | No | - * | 46 _(motion)_ | | | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/offset - */ - motion: OffsetProperty - /** - * The **`offset`** CSS property is a shorthand property for animating an element along a defined path. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :-----------: | :-----: | :----: | :--: | :-: | - * | **55** | No | No | No | No | - * | 46 _(motion)_ | | | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/offset - */ - offset: OffsetProperty - /** - * The **`outline`** CSS property is a shorthand to set various outline properties in a single declaration: `outline-style`, `outline-width`, and `outline-color`. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :-----: | :----: | :---: | - * | **1** | **1.5** | **1.2** | **12** | **8** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/outline - */ - outline: OutlineProperty - /** - * The **`padding`** CSS property sets the padding area on all four sides of an element. It is a shorthand for `padding-top`, `padding-right`, `padding-bottom`, and `padding-left`. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/padding - */ - padding: PaddingProperty - /** - * The CSS **`place-items`** shorthand property sets the `align-items` and `justify-items` properties, respectively. If the second value is not set, the first value is also used for it. - * - * --- - * - * _Supported in Flex Layout_ - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | **59** | **45** | **11** | No | No | - * - * --- - * - * _Supported in Grid Layout_ - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | **59** | **45** | **11** | No | No | - * - * --- - * - * @see https://developer.mozilla.org/docs/Web/CSS/place-items - */ - placeItems: PlaceItemsProperty - /** - * 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. - * - * --- - * - * _Supported in Flex Layout_ - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | **59** | **45** | No | No | No | - * - * --- - * - * _Supported in Grid Layout_ - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | **59** | **45** | No | No | No | - * - * --- - * - * @see https://developer.mozilla.org/docs/Web/CSS/place-self - */ - placeSelf: PlaceSelfProperty - /** - * The **`text-decoration`** CSS property sets the appearance of decorative lines on text. It is a shorthand for `text-decoration-line`, `text-decoration-color`, and `text-decoration-style`. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **3** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/text-decoration - */ - textDecoration: TextDecorationProperty - /** - * The **`text-emphasis`** CSS property applies emphasis marks to text (except spaces and control characters). It is a shorthand for `text-emphasis-style` and `text-emphasis-color`. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :-----: | :--: | :-: | - * | **25** | **46** | **6.1** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/text-emphasis - */ - textEmphasis: TextEmphasisProperty - /** - * The **`transition`** CSS property is a shorthand property for `transition-property`, `transition-duration`, `transition-timing-function`, and `transition-delay`. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :-----: | :-----: | :-------: | :----: | :----: | - * | **26** | **16** | **9** | **12** | **10** | - * | 1 _-x-_ | 4 _-x-_ | 3.1 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/transition - */ - transition: TransitionProperty -} - -export interface StandardProperties extends StandardLonghandProperties, StandardShorthandProperties {} - -export interface VendorLonghandProperties { - /** - * The non-standard **`-moz-float-edge`** CSS property specifies whether the height and width properties of the element include the margin, border, or padding thickness. - * - * **Initial value**: `content-box` - */ - MozFloatEdge: MozFloatEdgeProperty - /** - * The **`font-language-override`** CSS property controls the use of language-specific glyphs in a typeface. - * - * **Initial value**: `normal` - */ - MozFontLanguageOverride: FontLanguageOverrideProperty - /** - * The **`-moz-orient`** CSS property specifies the orientation of the element to which it's applied. - * - * **Initial value**: `inline` - */ - MozOrient: MozOrientProperty - /** - * In Mozilla applications, the **`-moz-outline-radius-bottomleft`** CSS property can be used to round the bottom-left corner of an element's `outline`. - * - * **Initial value**: `0` - */ - MozOutlineRadiusBottomleft: MozOutlineRadiusBottomleftProperty - /** - * In Mozilla applications, the **`-moz-outline-radius-bottomright`** CSS property can be used to round the bottom-right corner of an element's `outline`. - * - * **Initial value**: `0` - */ - MozOutlineRadiusBottomright: MozOutlineRadiusBottomrightProperty - /** - * In Mozilla applications, the **`-moz-outline-radius-topleft`** CSS property can be used to round the top-left corner of an element's `outline`. - * - * **Initial value**: `0` - */ - MozOutlineRadiusTopleft: MozOutlineRadiusTopleftProperty - /** - * In Mozilla applications, the **`-moz-outline-radius-topright`** CSS property can be used to round the top-right corner of an element's `outline`. - * - * **Initial value**: `0` - */ - MozOutlineRadiusTopright: MozOutlineRadiusToprightProperty - /** - * The **`tab-size`** CSS property is used to customize the width of a tab (`U+0009`) character. - * - * **Initial value**: `8` - */ - MozTabSize: TabSizeProperty - /** - * The **`-moz-user-focus`** CSS property is used to indicate whether an element can have the focus. - * - * **Initial value**: `none` - */ - MozUserFocus: MozUserFocusProperty - /** - * The **`user-modify`** property has no effect in Firefox. It was originally planned to determine whether or not the content of an element can be edited by a user. - * - * **Initial value**: `read-only` - */ - MozUserModify: MozUserModifyProperty - /** - * The **`appearance`** CSS property is used in Gecko (Firefox) to display an element using platform-native styling based on the operating system's theme. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :---------: | :---------: | :---------: | :----------: | :-: | - * | **1** _-x-_ | **1** _-x-_ | **3** _-x-_ | **12** _-x-_ | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/appearance - */ - WebkitAppearance: WebkitAppearanceProperty - /** - * 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. - * - * **Initial value**: `none` - */ - WebkitBackdropFilter: BackdropFilterProperty - /** - * The **`backface-visibility`** CSS property sets whether the back face of an element is visible when turned towards the user. - * - * **Initial value**: `visible` - */ - WebkitBackfaceVisibility: BackfaceVisibilityProperty - /** - * The **`background-clip`** CSS property sets whether an element's background `` or `` extends underneath its border. - * - * **Initial value**: `border-box` - */ - WebkitBackgroundClip: BackgroundClipProperty - /** - * The **`box-decoration-break`** CSS property specifies how an element's fragments should be rendered when broken across multiple lines, columns, or pages. - * - * **Initial value**: `slice` - */ - WebkitBoxDecorationBreak: BoxDecorationBreakProperty - /** - * The **`-webkit-box-reflect`** CSS property lets you reflect the content of an element in one specific direction. - * - * **Initial value**: `none` - */ - WebkitBoxReflect: WebkitBoxReflectProperty - /** - * The `**clip-path**` CSS property creates a clipping region that sets what part of an element should be shown. Parts that are inside the region are shown, while those outside are hidden. - * - * **Initial value**: `none` - */ - WebkitClipPath: ClipPathProperty - /** - * The **`color-adjust`** CSS property sets what, if anything, the user agent may do to optimize the appearance of the element on the output device. By default, the browser is allowed to make any adjustments to the element's appearance it determines to be necessary and prudent given the type and capabilities of the output device. - * - * **Initial value**: `economy` - */ - WebkitColorAdjust: ColorAdjustProperty - /** - * The **`font-kerning`** CSS property sets the use of the kerning information stored in a font. - * - * **Initial value**: `auto` - */ - WebkitFontKerning: FontKerningProperty - /** - * The **`hyphens`** CSS property specifies how words should be hyphenated when text wraps across multiple lines. You can prevent hyphenation entirely, use hyphenation in manually-specified points within the text, or let the browser automatically insert hyphens where appropriate. - * - * **Initial value**: `manual` - */ - WebkitHyphens: HyphensProperty - /** - * The **`-webkit-line-clamp`** CSS property allows limiting of the contents of a block container to the specified number of lines. - * - * **Initial value**: `none` - */ - WebkitLineClamp: WebkitLineClampProperty - /** - * If a `-webkit-mask-image` is specified, `-webkit-mask-attachment` determines whether the mask image's position is fixed within the viewport, or scrolls along with its containing block. - * - * **Initial value**: `scroll` - */ - WebkitMaskAttachment: WebkitMaskAttachmentProperty - /** - * 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. - * - * **Initial value**: `border` - */ - WebkitMaskClip: WebkitMaskClipProperty - /** - * The **`-webkit-mask-composite`** property specifies the manner in which multiple mask images applied to the same element are composited with one another. Mask images are composited in the opposite order that they are declared with the `-webkit-mask-image` property. - * - * **Initial value**: `source-over` - */ - WebkitMaskComposite: WebkitMaskCompositeProperty - /** - * The **`mask-image`** CSS property sets the image that is used as mask layer for an element. - * - * **Initial value**: `none` - */ - WebkitMaskImage: WebkitMaskImageProperty - /** - * The **`mask-origin`** CSS property sets the origin of a mask. - * - * **Initial value**: `padding` - */ - WebkitMaskOrigin: WebkitMaskOriginProperty - /** - * The **`mask-position`** CSS property sets the initial position, relative to the mask position layer set by `mask-origin`, for each defined mask image. - * - * **Initial value**: `0% 0%` - */ - WebkitMaskPosition: WebkitMaskPositionProperty - /** - * The `-webkit-mask-position-x` CSS property sets the initial horizontal position of a mask image. - * - * **Initial value**: `0%` - */ - WebkitMaskPositionX: WebkitMaskPositionXProperty - /** - * The `-webkit-mask-position-y` CSS property sets the initial vertical position of a mask image. - * - * **Initial value**: `0%` - */ - WebkitMaskPositionY: WebkitMaskPositionYProperty - /** - * The **`mask-repeat`** CSS property sets how mask images are repeated. A mask image can be repeated along the horizontal axis, the vertical axis, both axes, or not repeated at all. - * - * **Initial value**: `repeat` - */ - WebkitMaskRepeat: WebkitMaskRepeatProperty - /** - * The `-webkit-mask-repeat-x` property specifies whether and how a mask image is repeated (tiled) horizontally. - * - * **Initial value**: `repeat` - */ - WebkitMaskRepeatX: WebkitMaskRepeatXProperty - /** - * The `-webkit-mask-repeat-y` property sets whether and how a mask image is repeated (tiled) vertically. - * - * **Initial value**: `repeat` - */ - WebkitMaskRepeatY: WebkitMaskRepeatYProperty - /** - * The **`mask-size`** CSS property specifies the sizes of the mask images. The size of the image can be fully or partially constrained in order to preserve its intrinsic ratio. - * - * **Initial value**: `auto auto` - */ - WebkitMaskSize: WebkitMaskSizeProperty - /** - * The `-webkit-overflow-scrolling` CSS property controls whether or not touch devices use momentum-based scrolling for a given element. - * - * **Initial value**: `auto` - */ - WebkitOverflowScrolling: WebkitOverflowScrollingProperty - /** - * **`-webkit-tap-highlight-color`** is a non-standard CSS property that sets the color of the highlight that appears over a link while it's being tapped. The highlighting indicates to the user that their tap is being successfully recognized, and indicates which element they're tapping on. - * - * **Initial value**: `black` - */ - WebkitTapHighlightColor: WebkitTapHighlightColorProperty - /** - * The **`text-combine-upright`** CSS property sets the combination of characters into the space of a single character. If the combined text is wider than 1em, the user agent must fit the contents within 1em. The resulting composition is treated as a single upright glyph for layout and decoration. This property only has an effect in vertical writing modes. - * - * **Initial value**: `none` - */ - WebkitTextCombine: TextCombineUprightProperty - /** - * The **`text-decoration-color`** CSS property sets the color of decorations added to text by `text-decoration-line`. - * - * **Initial value**: `currentcolor` - */ - WebkitTextDecorationColor: TextDecorationColorProperty - /** - * The **`text-decoration-line`** CSS property sets the kind of decoration that is used on text in an element, such as an underline or overline. - * - * **Initial value**: `none` - */ - WebkitTextDecorationLine: TextDecorationLineProperty - /** - * The **`text-decoration-skip`** CSS property sets what parts of an element’s content any text decoration affecting the element must skip over. It controls all text decoration lines drawn by the element and also any text decoration lines drawn by its ancestors. - * - * **Initial value**: `objects` - */ - WebkitTextDecorationSkip: TextDecorationSkipProperty - /** - * The **`text-decoration-style`** CSS property sets the style of the lines specified by `text-decoration-line`. The style applies to all lines that are set with `text-decoration-line`. - * - * **Initial value**: `solid` - */ - WebkitTextDecorationStyle: TextDecorationStyleProperty - /** - * The **`text-emphasis-color`** CSS property sets the color of emphasis marks. This value can also be set using the `text-emphasis` shorthand. - * - * **Initial value**: `currentcolor` - */ - WebkitTextEmphasisColor: TextEmphasisColorProperty - /** - * The **`text-emphasis-position`** CSS property sets where emphasis marks are drawn. Like ruby text, if there isn't enough room for emphasis marks, the line height is increased. - * - * **Initial value**: `over right` - */ - WebkitTextEmphasisPosition: GlobalsString - /** - * The **`text-emphasis-style`** CSS property sets the appearance of emphasis marks. It can also be set, and reset, using the `text-emphasis` shorthand. - * - * **Initial value**: `none` - */ - WebkitTextEmphasisStyle: TextEmphasisStyleProperty - /** - * The **`-webkit-text-fill-color`** CSS property specifies the fill color of characters of text. If this property is not set, the value of the `color` property is used. - * - * **Initial value**: `currentcolor` - */ - WebkitTextFillColor: WebkitTextFillColorProperty - /** - * The **`text-orientation`** CSS property sets the orientation of the text characters in a line. It only affects text in vertical mode (when `writing-mode` is not `horizontal-tb`). It is useful for controlling the display of languages that use vertical script, and also for making vertical table headers. - * - * **Initial value**: `mixed` - */ - WebkitTextOrientation: TextOrientationProperty - /** - * The **`text-size-adjust`** CSS property controls the text inflation algorithm used on some smartphones and tablets. Other browsers will ignore this property. - * - * **Initial value**: `auto` for smartphone browsers supporting inflation, `none` in other cases (and then not modifiable). - */ - WebkitTextSizeAdjust: TextSizeAdjustProperty - /** - * The **`-webkit-text-stroke-color`** CSS property specifies the stroke color of characters of text. If this property is not set, the value of the `color` property is used. - * - * **Initial value**: `currentcolor` - */ - WebkitTextStrokeColor: WebkitTextStrokeColorProperty - /** - * The **`-webkit-text-stroke-width`** CSS property specifies the width of the stroke for text. - * - * **Initial value**: `0` - */ - WebkitTextStrokeWidth: WebkitTextStrokeWidthProperty - /** - * The `-webkit-touch-callout` CSS property controls the display of the default callout shown when you touch and hold a touch target. - * - * **Initial value**: `default` - */ - WebkitTouchCallout: WebkitTouchCalloutProperty - /** **Initial value**: `read-only` */ - WebkitUserModify: WebkitUserModifyProperty - /** - * The `**user-select**` CSS property controls whether the user can select text. This doesn't have any effect on content loaded as chrome, except in textboxes. - * - * **Initial value**: `auto` - */ - WebkitUserSelect: UserSelectProperty -} - -export interface VendorShorthandProperties { - /** The **`mask`** CSS property hides an element (partially or fully) by masking or clipping the image at specific points. */ - WebkitMask: WebkitMaskProperty - /** The **`text-emphasis`** CSS property applies emphasis marks to text (except spaces and control characters). It is a shorthand for `text-emphasis-style` and `text-emphasis-color`. */ - WebkitTextEmphasis: TextEmphasisProperty - /** The **`-webkit-text-stroke`** CSS property specifies the width and color of strokes for text characters. This is a shorthand property for the longhand properties `-webkit-text-stroke-width` and `-webkit-text-stroke-color`. */ - WebkitTextStroke: WebkitTextStrokeProperty -} - -export interface VendorProperties extends VendorLonghandProperties, VendorShorthandProperties {} - -export interface SvgProperties { - alignmentBaseline: AlignmentBaselineProperty - baselineShift: BaselineShiftProperty - clip: ClipProperty - clipPath: ClipPathProperty - clipRule: ClipRuleProperty - color: ColorProperty - colorInterpolation: ColorInterpolationProperty - colorRendering: ColorRenderingProperty - cursor: CursorProperty - direction: DirectionProperty - display: DisplayProperty - dominantBaseline: DominantBaselineProperty - fill: FillProperty - fillOpacity: GlobalsNumber - fillRule: FillRuleProperty - filter: FilterProperty - floodColor: FloodColorProperty - floodOpacity: GlobalsNumber - font: FontProperty - fontFamily: FontFamilyProperty - fontSize: FontSizeProperty - fontSizeAdjust: FontSizeAdjustProperty - fontStretch: FontStretchProperty - fontStyle: FontStyleProperty - fontVariant: FontVariantProperty - fontWeight: FontWeightProperty - glyphOrientationVertical: GlyphOrientationVerticalProperty - imageRendering: ImageRenderingProperty - letterSpacing: LetterSpacingProperty - lightingColor: LightingColorProperty - lineHeight: LineHeightProperty - marker: MarkerProperty - markerEnd: MarkerEndProperty - markerMid: MarkerMidProperty - markerStart: MarkerStartProperty - mask: MaskProperty - opacity: OpacityProperty - overflow: OverflowProperty - paintOrder: PaintOrderProperty - pointerEvents: PointerEventsProperty - shapeRendering: ShapeRenderingProperty - stopColor: StopColorProperty - stopOpacity: GlobalsNumber - stroke: StrokeProperty - strokeDasharray: StrokeDasharrayProperty - strokeDashoffset: StrokeDashoffsetProperty - strokeLinecap: StrokeLinecapProperty - strokeLinejoin: StrokeLinejoinProperty - strokeMiterlimit: GlobalsNumber - strokeOpacity: GlobalsNumber - strokeWidth: StrokeWidthProperty - textAnchor: TextAnchorProperty - textDecoration: TextDecorationProperty - textRendering: TextRenderingProperty - unicodeBidi: UnicodeBidiProperty - vectorEffect: VectorEffectProperty - visibility: VisibilityProperty - whiteSpace: WhiteSpaceProperty - wordSpacing: WordSpacingProperty - writingMode: WritingModeProperty -} - -type FontFaceSrcValues = `url(FontFamily.woff2)` | `url(FontFamily.woff2) format("woff2")` | `url(FontFamily.woff) format("woff")` | (string & {}) - -export interface FontFaceProperties { - /** - * The **`font-display`** CSS property defines how a font face is displayed based on whether and when it is downloaded and ready to use. - * - * @see https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display - */ - fontDisplay?: FontFaceFontDisplayProperty - - /** - * The **`font-family`** CSS property specifies a name identifying the font name. - * - * @see https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-family - */ - fontFamily?: string - - /** - * The **`font-stretch`** CSS property defines the weight of a font face. - * - * @see https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-stretch - */ - fontStretch?: FontFaceFontStretchProperty - - /** - * The **`font-style`** CSS property defines the slant of a font face. - * - * @see https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-style - */ - fontStyle?: FontFaceFontStyleProperty - - /** - * The **`font-weight`** CSS property defines the weight of a font face. - * - * @see https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-weight - */ - fontWeight?: FontWeightProperty - - /** - * The **`font-variant`** CSS property defines the variants of a font face. - * A font-variant value. - * - * @see https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-variant - */ - fontVariant?: FontFaceFontVariantProperty - - /** - * The **`font-feature-settings`** CSS property defines the allowed control over advanced typographic features in OpenType fonts. - * - * @see https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-feature-settings - */ - fontFeatureSettings?: FontFaceFontFeatureSettingsProperty - - /** - * The **`font-variation-settings`** CSS property defines the allowed control over OpenType or TrueType font variations, by specifying the four letter axis names of the features to vary, along with their variation values. - * - * @see https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-variation-settings - */ - fontVariationSettings?: FontFaceFontVariationSettingsProperty - - /** - * The **`src`** CSS property defines the resource containing the font data of a font face. This can be one or more URLs to a remote font file location or names of fonts on the user's computer. - * - * @see https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/src - */ - src?: FontFaceSrcValues | FontFaceSrcValues[] - - /** - * The **`unicode-range`** CSS property determines the unicode code points to be used from the font. - * - * @see https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/unicode-range - */ - unicodeRange?: string | string[] -} - -export interface DeclarationListWithRootAtRules { - /** - * The **`@font-face`** CSS at-rule imports custom fonts used to display text. - * - * @see https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face - */ - '@font-face'?: FontFaceProperties | FontFaceProperties[] - - /** - * The **`@import`** CSS at-rule imports style rules from other style sheets. - * - * @see https://developer.mozilla.org/en-US/docs/Web/CSS/@import - */ - '@import'?: `"style.css"` | `url("style.css")` | (string & {}) | (`"style.css"` | `url("style.css")` | (string & {}))[] -} - -export interface Properties extends StandardProperties, VendorProperties, SvgProperties {} - -export interface FontFace { - fontDisplay: FontFaceFontDisplayProperty - fontFamily: string - fontFeatureSettings: FontFaceFontFeatureSettingsProperty - fontStretch: FontFaceFontStretchProperty - fontStyle: FontFaceFontStyleProperty - fontVariant: FontFaceFontVariantProperty - fontVariationSettings: FontFaceFontVariationSettingsProperty - fontWeight: FontFaceFontWeightProperty - src: string - unicodeRange: string -} - -export interface FontFaceFallback { - fontDisplay: FontFaceFontDisplayProperty | FontFaceFontDisplayProperty[] - fontFamily: string | string[] - fontFeatureSettings: FontFaceFontFeatureSettingsProperty | FontFaceFontFeatureSettingsProperty[] - fontStretch: FontFaceFontStretchProperty | FontFaceFontStretchProperty[] - fontStyle: FontFaceFontStyleProperty | FontFaceFontStyleProperty[] - fontVariant: FontFaceFontVariantProperty | FontFaceFontVariantProperty[] - fontVariationSettings: FontFaceFontVariationSettingsProperty | FontFaceFontVariationSettingsProperty[] - fontWeight: FontFaceFontWeightProperty | FontFaceFontWeightProperty[] - src: string | string[] - unicodeRange: string | string[] -} - -export interface Viewport { - msHeight: ViewportHeightProperty - msMaxHeight: ViewportMaxHeightProperty - msMaxWidth: ViewportMaxWidthProperty - msMaxZoom: ViewportMaxZoomProperty - msMinHeight: ViewportMinHeightProperty - msMinWidth: ViewportMinWidthProperty - msMinZoom: ViewportMinZoomProperty - msOrientation: ViewportOrientationProperty - msUserZoom: ViewportUserZoomProperty - msWidth: ViewportWidthProperty - msZoom: ViewportZoomProperty - OOrientation: ViewportOrientationProperty - height: ViewportHeightProperty - maxHeight: ViewportMaxHeightProperty - maxWidth: ViewportMaxWidthProperty - maxZoom: ViewportMaxZoomProperty - minHeight: ViewportMinHeightProperty - minWidth: ViewportMinWidthProperty - minZoom: ViewportMinZoomProperty - orientation: ViewportOrientationProperty - userZoom: ViewportUserZoomProperty - width: ViewportWidthProperty - zoom: ViewportZoomProperty -} - -export interface ViewportFallback { - msHeight: ViewportHeightProperty | ViewportHeightProperty[] - msMaxHeight: ViewportMaxHeightProperty | ViewportMaxHeightProperty[] - msMaxWidth: ViewportMaxWidthProperty | ViewportMaxWidthProperty[] - msMaxZoom: ViewportMaxZoomProperty | ViewportMaxZoomProperty[] - msMinHeight: ViewportMinHeightProperty | ViewportMinHeightProperty[] - msMinWidth: ViewportMinWidthProperty | ViewportMinWidthProperty[] - msMinZoom: ViewportMinZoomProperty | ViewportMinZoomProperty[] - msOrientation: ViewportOrientationProperty | ViewportOrientationProperty[] - msUserZoom: ViewportUserZoomProperty | ViewportUserZoomProperty[] - msWidth: ViewportWidthProperty | ViewportWidthProperty[] - msZoom: ViewportZoomProperty | ViewportZoomProperty[] - OOrientation: ViewportOrientationProperty | ViewportOrientationProperty[] - height: ViewportHeightProperty | ViewportHeightProperty[] - maxHeight: ViewportMaxHeightProperty | ViewportMaxHeightProperty[] - maxWidth: ViewportMaxWidthProperty | ViewportMaxWidthProperty[] - maxZoom: ViewportMaxZoomProperty | ViewportMaxZoomProperty[] - minHeight: ViewportMinHeightProperty | ViewportMinHeightProperty[] - minWidth: ViewportMinWidthProperty | ViewportMinWidthProperty[] - minZoom: ViewportMinZoomProperty | ViewportMinZoomProperty[] - orientation: ViewportOrientationProperty | ViewportOrientationProperty[] - userZoom: ViewportUserZoomProperty | ViewportUserZoomProperty[] - width: ViewportWidthProperty | ViewportWidthProperty[] - zoom: ViewportZoomProperty | ViewportZoomProperty[] -} - -export type Globals = 'inherit' | 'initial' | 'revert' | 'unset' - -type GlobalsString = Globals | (string & {}) - -type GlobalsNumber = Globals | number - -export type AlignContentProperty = Globals | ContentDistribution | ContentPosition | 'baseline' | 'normal' | (string & {}) - -export type AlignItemsProperty = Globals | SelfPosition | 'baseline' | 'normal' | 'stretch' | (string & {}) - -export type AlignSelfProperty = Globals | SelfPosition | 'auto' | 'baseline' | 'normal' | 'stretch' | (string & {}) - -export type AnimationProperty = Globals | SingleAnimation | (string & {}) - -export type AnimationDirectionProperty = Globals | SingleAnimationDirection | (string & {}) - -export type AnimationFillModeProperty = Globals | SingleAnimationFillMode | (string & {}) - -export type AnimationIterationCountProperty = Globals | 'infinite' | (string & {}) | number - -export type AnimationNameProperty = Globals | 'none' | (string & {}) - -export type AnimationPlayStateProperty = Globals | 'paused' | 'running' | (string & {}) - -export type AnimationTimingFunctionProperty = Globals | TimingFunction | (string & {}) - -export type AppearanceProperty = Globals | Compat | 'button' | 'none' | 'textfield' - -export type BackdropFilterProperty = Globals | 'none' | (string & {}) - -export type BackfaceVisibilityProperty = Globals | 'hidden' | 'visible' - -export type BackgroundProperty = Globals | FinalBgLayer | (string & {}) - -export type BackgroundAttachmentProperty = Globals | Attachment | (string & {}) - -export type BackgroundBlendModeProperty = Globals | BlendMode | (string & {}) - -export type BackgroundClipProperty = Globals | Box | (string & {}) - -export type BackgroundColorProperty = Globals | Color - -export type BackgroundImageProperty = Globals | 'none' | (string & {}) - -export type BackgroundOriginProperty = Globals | Box | (string & {}) - -export type BackgroundPositionProperty = Globals | BgPosition | (string & {}) - -export type BackgroundPositionXProperty = Globals | TLength | 'center' | 'left' | 'right' | 'x-end' | 'x-start' | (string & {}) - -export type BackgroundPositionYProperty = Globals | TLength | 'bottom' | 'center' | 'top' | 'y-end' | 'y-start' | (string & {}) - -export type BackgroundRepeatProperty = Globals | RepeatStyle | (string & {}) - -export type BackgroundSizeProperty = Globals | BgSize | (string & {}) - -export type BlockOverflowProperty = Globals | 'clip' | 'ellipsis' | (string & {}) - -export type BlockSizeProperty = Globals | TLength | '-moz-fit-content' | '-webkit-fill-available' | 'auto' | 'available' | 'fit-content' | 'max-content' | 'min-content' | (string & {}) - -export type BorderProperty = Globals | LineWidth | LineStyle | Color | (string & {}) | [LineWidth, LineStyle, Color] - -export type BorderBlockProperty = Globals | LineWidth | LineStyle | Color | (string & {}) - -export type BorderBlockColorProperty = Globals | Color | (string & {}) - -export type BorderBlockEndProperty = Globals | LineWidth | LineStyle | Color | (string & {}) - -export type BorderBlockEndColorProperty = Globals | Color - -export type BorderBlockEndStyleProperty = Globals | LineStyle - -export type BorderBlockEndWidthProperty = Globals | LineWidth | number | (string & {}) - -export type BorderBlockStartProperty = Globals | LineWidth | LineStyle | Color | (string & {}) - -export type BorderBlockStartColorProperty = Globals | Color - -export type BorderBlockStartStyleProperty = Globals | LineStyle - -export type BorderBlockStartWidthProperty = Globals | LineWidth | number | (string & {}) - -export type BorderBlockStyleProperty = Globals | LineStyle - -export type BorderBlockWidthProperty = Globals | LineWidth | number | (string & {}) - -export type BorderBottomProperty = Globals | LineWidth | LineStyle | Color | (string & {}) - -export type BorderBottomColorProperty = Globals | Color - -export type BorderBottomLeftRadiusProperty = Globals | TLength | number | (string & {}) - -export type BorderBottomRightRadiusProperty = Globals | TLength | number | (string & {}) - -export type BorderBottomStyleProperty = Globals | LineStyle - -export type BorderBottomWidthProperty = Globals | LineWidth | number | (string & {}) - -export type BorderCollapseProperty = Globals | 'collapse' | 'separate' - -export type BorderColorProperty = Globals | Color | (string & {}) - -export type BorderEndEndRadiusProperty = Globals | TLength | number | (string & {}) - -export type BorderEndStartRadiusProperty = Globals | TLength | number | (string & {}) - -export type BorderImageProperty = Globals | 'none' | 'repeat' | 'round' | 'space' | 'stretch' | number | (string & {}) - -export type BorderImageOutsetProperty = Globals | TLength | number | (string & {}) - -export type BorderImageRepeatProperty = Globals | 'repeat' | 'round' | 'space' | 'stretch' | (string & {}) - -export type BorderImageSliceProperty = Globals | number | (string & {}) - -export type BorderImageSourceProperty = Globals | 'none' | (string & {}) - -export type BorderImageWidthProperty = Globals | TLength | 'auto' | number | (string & {}) - -export type BorderInlineProperty = Globals | LineWidth | LineStyle | Color | (string & {}) - -export type BorderInlineColorProperty = Globals | Color | (string & {}) - -export type BorderInlineEndProperty = Globals | LineWidth | LineStyle | Color | number | (string & {}) - -export type BorderInlineEndColorProperty = Globals | Color - -export type BorderInlineEndStyleProperty = Globals | LineStyle - -export type BorderInlineEndWidthProperty = Globals | LineWidth | number | (string & {}) - -export type BorderInlineStartProperty = Globals | LineWidth | LineStyle | Color | number | (string & {}) - -export type BorderInlineStartColorProperty = Globals | Color - -export type BorderInlineStartStyleProperty = Globals | LineStyle - -export type BorderInlineStartWidthProperty = Globals | LineWidth | number | (string & {}) - -export type BorderInlineStyleProperty = Globals | LineStyle - -export type BorderInlineWidthProperty = Globals | LineWidth | number | (string & {}) - -export type BorderLeftProperty = Globals | LineWidth | LineStyle | Color | (string & {}) - -export type BorderLeftColorProperty = Globals | Color - -export type BorderLeftStyleProperty = Globals | LineStyle - -export type BorderLeftWidthProperty = Globals | LineWidth | number | (string & {}) - -export type BorderRadiusProperty = Globals | TLength | number | (string & {}) - -export type BorderRightProperty = Globals | LineWidth | LineStyle | Color | number | (string & {}) - -export type BorderRightColorProperty = Globals | Color - -export type BorderRightStyleProperty = Globals | LineStyle - -export type BorderRightWidthProperty = Globals | LineWidth | number | (string & {}) - -export type BorderSpacingProperty = Globals | TLength | number | (string & {}) - -export type BorderStartEndRadiusProperty = Globals | TLength | number | (string & {}) - -export type BorderStartStartRadiusProperty = Globals | TLength | number | (string & {}) - -export type BorderStyleProperty = Globals | LineStyle | (string & {}) - -export type BorderTopProperty = Globals | LineWidth | LineStyle | Color | number | (string & {}) - -export type BorderTopColorProperty = Globals | Color - -export type BorderTopLeftRadiusProperty = Globals | TLength | number | (string & {}) - -export type BorderTopRightRadiusProperty = Globals | TLength | number | (string & {}) - -export type BorderTopStyleProperty = Globals | LineStyle - -export type BorderTopWidthProperty = Globals | LineWidth | number | (string & {}) - -export type BorderWidthProperty = Globals | LineWidth | number | (string & {}) - -export type BottomProperty = Globals | TLength | 'auto' | number | (string & {}) - -export type BoxAlignProperty = Globals | 'baseline' | 'center' | 'end' | 'start' | 'stretch' - -export type BoxDecorationBreakProperty = Globals | 'clone' | 'slice' - -export type BoxDirectionProperty = Globals | 'inherit' | 'normal' | 'reverse' - -export type BoxLinesProperty = Globals | 'multiple' | 'single' - -export type BoxOrientProperty = Globals | 'block-axis' | 'horizontal' | 'inherit' | 'inline-axis' | 'vertical' - -export type BoxPackProperty = Globals | 'center' | 'end' | 'justify' | 'start' - -export type BoxShadowProperty = Globals | 'none' | (string & {}) - -export type BoxSizingProperty = Globals | 'border-box' | 'content-box' - -export type BreakAfterProperty = Globals | 'all' | 'always' | 'auto' | 'avoid' | 'avoid-column' | 'avoid-page' | 'avoid-region' | 'column' | 'left' | 'page' | 'recto' | 'region' | 'right' | 'verso' - -export type BreakBeforeProperty = Globals | 'all' | 'always' | 'auto' | 'avoid' | 'avoid-column' | 'avoid-page' | 'avoid-region' | 'column' | 'left' | 'page' | 'recto' | 'region' | 'right' | 'verso' - -export type BreakInsideProperty = Globals | 'auto' | 'avoid' | 'avoid-column' | 'avoid-page' | 'avoid-region' - -export type CaptionSideProperty = Globals | 'block-end' | 'block-start' | 'bottom' | 'inline-end' | 'inline-start' | 'top' - -export type CaretColorProperty = Globals | Color | 'auto' - -export type ClearProperty = Globals | 'both' | 'inline-end' | 'inline-start' | 'left' | 'none' | 'right' - -export type ClipProperty = Globals | 'auto' | (string & {}) - -export type ClipPathProperty = Globals | GeometryBox | 'none' | (string & {}) - -export type ColorProperty = Globals | Color - -export type ColorAdjustProperty = Globals | 'economy' | 'exact' - -export type ColumnCountProperty = Globals | 'auto' | number - -export type ColumnFillProperty = Globals | 'auto' | 'balance' | 'balance-all' - -export type ColumnGapProperty = Globals | TLength | 'normal' | (string & {}) - -export type ColumnRuleProperty = Globals | LineWidth | LineStyle | Color | (string & {}) - -export type ColumnRuleColorProperty = Globals | Color - -export type ColumnRuleStyleProperty = Globals | LineStyle | (string & {}) - -export type ColumnRuleWidthProperty = Globals | LineWidth | (string & {}) - -export type ColumnSpanProperty = Globals | 'all' | 'none' - -export type ColumnWidthProperty = Globals | TLength | 'auto' - -export type ColumnsProperty = Globals | TLength | 'auto' | (string & {}) | number - -export type ContainProperty = Globals | 'content' | 'layout' | 'none' | 'paint' | 'size' | 'strict' | 'style' | (string & {}) - -export type ContentProperty = Globals | ContentList | `""` | 'none' | 'normal' | (string & {}) - -export type CounterIncrementProperty = Globals | 'none' | (string & {}) - -export type CounterResetProperty = Globals | 'none' | (string & {}) - -export type CounterSetProperty = Globals | 'none' | (string & {}) - -export type CursorProperty = - | Globals - | 'alias' - | 'all-scroll' - | 'auto' - | 'cell' - | 'col-resize' - | 'context-menu' - | 'copy' - | 'crosshair' - | 'default' - | 'e-resize' - | 'ew-resize' - | 'grab' - | 'grabbing' - | 'help' - | 'move' - | 'n-resize' - | 'ne-resize' - | 'nesw-resize' - | 'no-drop' - | 'none' - | 'not-allowed' - | 'ns-resize' - | 'nw-resize' - | 'nwse-resize' - | 'pointer' - | 'progress' - | 'row-resize' - | 's-resize' - | 'se-resize' - | 'sw-resize' - | 'text' - | 'vertical-text' - | 'w-resize' - | 'wait' - | 'zoom-in' - | 'zoom-out' - | (string & {}) - -export type DirectionProperty = Globals | 'ltr' | 'rtl' - -export type DisplayProperty = Globals | DisplayOutside | DisplayInside | DisplayInternal | DisplayLegacy | 'contents' | 'list-item' | 'none' | (string & {}) - -export type EmptyCellsProperty = Globals | 'hide' | 'show' - -export type FilterProperty = Globals | 'none' | (string & {}) - -export type FlexProperty = Globals | TLength | 'auto' | 'available' | 'content' | 'fit-content' | 'max-content' | 'min-content' | 'none' | (string & {}) | number | [number, number | (string & {})] | [number, number, string & {}] - -export type FlexBasisProperty = Globals | TLength | 'auto' | 'available' | 'content' | 'fit-content' | 'max-content' | 'min-content' | number | (string & {}) - -export type FlexDirectionProperty = Globals | 'column' | 'column-reverse' | 'row' | 'row-reverse' - -export type FlexFlowProperty = Globals | 'column' | 'column-reverse' | 'nowrap' | 'row' | 'row-reverse' | 'wrap' | 'wrap-reverse' | (string & {}) - -export type FlexWrapProperty = Globals | 'nowrap' | 'wrap' | 'wrap-reverse' - -export type FloatProperty = Globals | 'inline-end' | 'inline-start' | 'left' | 'none' | 'right' - -export type FontProperty = Globals | 'caption' | 'icon' | 'menu' | 'message-box' | 'small-caption' | 'status-bar' | (string & {}) - -export type FontFamilyProperty = Globals | GenericFamily | (string & {}) - -export type FontFeatureSettingsProperty = Globals | 'normal' | (string & {}) - -export type FontKerningProperty = Globals | 'auto' | 'none' | 'normal' - -export type FontLanguageOverrideProperty = Globals | 'normal' | (string & {}) - -export type FontOpticalSizingProperty = Globals | 'auto' | 'none' - -export type FontSizeProperty = Globals | AbsoluteSize | TLength | 'larger' | 'smaller' | number | (string & {}) - -export type FontSizeAdjustProperty = Globals | 'none' | number - -export type FontStretchProperty = Globals | FontStretchAbsolute - -export type FontStyleProperty = Globals | 'italic' | 'normal' | 'oblique' | (string & {}) - -export type FontSynthesisProperty = Globals | 'none' | 'style' | 'weight' | (string & {}) - -export type FontVariantProperty = - | Globals - | EastAsianVariantValues - | 'all-petite-caps' - | 'all-small-caps' - | 'common-ligatures' - | 'contextual' - | 'diagonal-fractions' - | 'discretionary-ligatures' - | 'full-width' - | 'historical-forms' - | 'historical-ligatures' - | 'lining-nums' - | 'no-common-ligatures' - | 'no-contextual' - | 'no-discretionary-ligatures' - | 'no-historical-ligatures' - | 'none' - | 'normal' - | 'oldstyle-nums' - | 'ordinal' - | 'petite-caps' - | 'proportional-nums' - | 'proportional-width' - | 'ruby' - | 'slashed-zero' - | 'small-caps' - | 'stacked-fractions' - | 'tabular-nums' - | 'titling-caps' - | 'unicase' - | (string & {}) - -export type FontVariantAlternatesProperty = Globals | 'historical-forms' | 'normal' | (string & {}) - -export type FontVariantCapsProperty = Globals | 'all-petite-caps' | 'all-small-caps' | 'normal' | 'petite-caps' | 'small-caps' | 'titling-caps' | 'unicase' - -export type FontVariantEastAsianProperty = Globals | EastAsianVariantValues | 'full-width' | 'normal' | 'proportional-width' | 'ruby' | (string & {}) - -export type FontVariantLigaturesProperty = - | Globals - | 'common-ligatures' - | 'contextual' - | 'discretionary-ligatures' - | 'historical-ligatures' - | 'no-common-ligatures' - | 'no-contextual' - | 'no-discretionary-ligatures' - | 'no-historical-ligatures' - | 'none' - | 'normal' - | (string & {}) - -export type FontVariantNumericProperty = Globals | 'diagonal-fractions' | 'lining-nums' | 'normal' | 'oldstyle-nums' | 'ordinal' | 'proportional-nums' | 'slashed-zero' | 'stacked-fractions' | 'tabular-nums' | (string & {}) - -export type FontVariantPositionProperty = Globals | 'normal' | 'sub' | 'super' - -export type FontVariationSettingsProperty = Globals | 'normal' | (string & {}) - -export type FontWeightProperty = Globals | FontWeightAbsolute | 'bolder' | 'lighter' | (string & {}) - -export type GapProperty = Globals | TLength | 'normal' | number | (string & {}) - -export type GridProperty = Globals | 'none' | (string & {}) - -export type GridAreaProperty = Globals | GridLine | (string & {}) - -export type GridAutoColumnsProperty = Globals | TrackBreadth | (string & {}) - -export type GridAutoFlowProperty = Globals | 'column' | 'dense' | 'row' | (string & {}) - -export type GridAutoRowsProperty = Globals | TrackBreadth | (string & {}) - -export type GridColumnProperty = Globals | GridLine | (string & {}) - -export type GridColumnEndProperty = Globals | GridLine - -export type GridColumnGapProperty = Globals | TLength | number | (string & {}) - -export type GridColumnStartProperty = Globals | GridLine - -export type GridGapProperty = Globals | TLength | number | (string & {}) - -export type GridRowProperty = Globals | GridLine | (string & {}) - -export type GridRowEndProperty = Globals | GridLine - -export type GridRowGapProperty = Globals | TLength | number | (string & {}) - -export type GridRowStartProperty = Globals | GridLine - -export type GridTemplateProperty = Globals | 'none' | (string & {}) - -export type GridTemplateAreasProperty = Globals | 'none' | (string & {}) - -export type GridTemplateColumnsProperty = Globals | TrackBreadth | 'none' | 'subgrid' | (string & {}) - -export type GridTemplateRowsProperty = Globals | TrackBreadth | 'none' | 'subgrid' | (string & {}) - -export type HangingPunctuationProperty = Globals | 'allow-end' | 'first' | 'force-end' | 'last' | 'none' | (string & {}) - -export type HeightProperty = Globals | TLength | 'auto' | 'available' | 'fit-content' | 'max-content' | 'min-content' | number | (string & {}) - -export type HyphensProperty = Globals | 'auto' | 'manual' | 'none' - -export type ImageOrientationProperty = Globals | 'flip' | 'from-image' | (string & {}) - -export type ImageRenderingProperty = Globals | '-moz-crisp-edges' | '-webkit-optimize-contrast' | 'auto' | 'crisp-edges' | 'pixelated' - -export type ImageResolutionProperty = Globals | 'from-image' | (string & {}) - -export type ImeModeProperty = Globals | 'active' | 'auto' | 'disabled' | 'inactive' | 'normal' - -export type InitialLetterProperty = Globals | 'normal' | (string & {}) | number - -export type InlineSizeProperty = Globals | TLength | '-moz-fit-content' | '-webkit-fill-available' | 'auto' | 'available' | 'fit-content' | 'max-content' | 'min-content' | (string & {}) - -export type InsetProperty = Globals | TLength | 'auto' | (string & {}) - -export type InsetBlockProperty = Globals | TLength | 'auto' | (string & {}) - -export type InsetBlockEndProperty = Globals | TLength | 'auto' | (string & {}) - -export type InsetBlockStartProperty = Globals | TLength | 'auto' | (string & {}) - -export type InsetInlineProperty = Globals | TLength | 'auto' | (string & {}) - -export type InsetInlineEndProperty = Globals | TLength | 'auto' | (string & {}) - -export type InsetInlineStartProperty = Globals | TLength | 'auto' | (string & {}) - -export type IsolationProperty = Globals | 'auto' | 'isolate' - -export type JustifyContentProperty = Globals | ContentDistribution | ContentPosition | 'left' | 'normal' | 'right' | (string & {}) - -export type JustifyItemsProperty = Globals | SelfPosition | 'baseline' | 'left' | 'legacy' | 'normal' | 'right' | 'stretch' | (string & {}) - -export type JustifySelfProperty = Globals | SelfPosition | 'auto' | 'baseline' | 'left' | 'normal' | 'right' | 'stretch' | (string & {}) - -export type LeftProperty = Globals | TLength | 'auto' | number | (string & {}) - -export type LetterSpacingProperty = Globals | TLength | 'normal' | number | (string & {}) - -export type LineBreakProperty = Globals | 'anywhere' | 'auto' | 'loose' | 'normal' | 'strict' - -export type LineClampProperty = Globals | 'none' | number | (string & {}) - -export type LineHeightProperty = Globals | TLength | 'normal' | number | (string & {}) - -export type LineHeightStepProperty = Globals | TLength - -export type ListStyleProperty = Globals | 'inside' | 'none' | 'outside' | (string & {}) - -export type ListStyleImageProperty = Globals | 'none' | (string & {}) - -export type ListStylePositionProperty = Globals | 'inside' | 'outside' - -export type ListStyleTypeProperty = Globals | 'none' | (string & {}) - -export type MarginProperty = - | Globals - | TLength - | 'auto' - | number - | (string & {}) - | [Globals | TLength | 'auto' | number | (string & {}), Globals | TLength | 'auto' | number | (string & {})] - | [Globals | TLength | 'auto' | number | (string & {}), Globals | TLength | 'auto' | number | (string & {}), Globals | TLength | 'auto' | number | (string & {})] - | [Globals | TLength | 'auto' | number | (string & {}), Globals | TLength | 'auto' | number | (string & {}), Globals | TLength | 'auto' | number | (string & {}), Globals | TLength | 'auto' | number | (string & {})] - -export type MarginBlockProperty = Globals | TLength | 'auto' | number | (string & {}) - -export type MarginBlockEndProperty = Globals | TLength | 'auto' | number | (string & {}) - -export type MarginBlockStartProperty = Globals | TLength | 'auto' | number | (string & {}) - -export type MarginBottomProperty = Globals | TLength | 'auto' | number | (string & {}) - -export type MarginInlineProperty = Globals | TLength | 'auto' | number | (string & {}) - -export type MarginInlineEndProperty = Globals | TLength | 'auto' | number | (string & {}) - -export type MarginInlineStartProperty = Globals | TLength | 'auto' | number | (string & {}) - -export type MarginLeftProperty = Globals | TLength | 'auto' | number | (string & {}) - -export type MarginRightProperty = Globals | TLength | 'auto' | number | (string & {}) - -export type MarginTopProperty = Globals | TLength | 'auto' | number | (string & {}) - -export type MaskProperty = Globals | MaskLayer | (string & {}) - -export type MaskBorderProperty = Globals | 'alpha' | 'luminance' | 'none' | 'repeat' | 'round' | 'space' | 'stretch' | (string & {}) | number - -export type MaskBorderModeProperty = Globals | 'alpha' | 'luminance' - -export type MaskBorderOutsetProperty = Globals | TLength | (string & {}) | number - -export type MaskBorderRepeatProperty = Globals | 'repeat' | 'round' | 'space' | 'stretch' | (string & {}) - -export type MaskBorderSliceProperty = Globals | (string & {}) | number - -export type MaskBorderSourceProperty = Globals | 'none' | (string & {}) - -export type MaskBorderWidthProperty = Globals | TLength | 'auto' | (string & {}) | number - -export type MaskClipProperty = Globals | GeometryBox | 'no-clip' | (string & {}) - -export type MaskCompositeProperty = Globals | CompositingOperator | (string & {}) - -export type MaskImageProperty = Globals | 'none' | (string & {}) - -export type MaskModeProperty = Globals | MaskingMode | (string & {}) - -export type MaskOriginProperty = Globals | Box | 'margin-box' | (string & {}) - -export type MaskPositionProperty = Globals | Position | (string & {}) - -export type MaskRepeatProperty = Globals | RepeatStyle | (string & {}) - -export type MaskSizeProperty = Globals | BgSize | (string & {}) - -export type MaskTypeProperty = Globals | 'alpha' | 'luminance' - -export type MaxBlockSizeProperty = Globals | TLength | '-moz-fit-content' | '-webkit-fill-available' | 'fill-available' | 'fit-content' | 'max-content' | 'min-content' | 'none' | number | (string & {}) - -export type MaxHeightProperty = Globals | TLength | '-moz-fit-content' | '-webkit-fill-available' | 'fill-available' | 'fit-content' | 'intrinsic' | 'max-content' | 'min-content' | 'none' | number | (string & {}) - -export type MaxInlineSizeProperty = Globals | TLength | '-moz-fit-content' | '-webkit-fill-available' | 'fill-available' | 'fit-content' | 'max-content' | 'min-content' | 'none' | number | (string & {}) - -export type MaxLinesProperty = Globals | 'none' | number - -export type MaxWidthProperty = Globals | TLength | '-moz-fit-content' | '-webkit-fill-available' | 'fill-available' | 'fit-content' | 'intrinsic' | 'max-content' | 'min-content' | 'none' | number | (string & {}) - -export type MinBlockSizeProperty = Globals | TLength | '-moz-fit-content' | '-webkit-fill-available' | 'auto' | 'fill-available' | 'fit-content' | 'max-content' | 'min-content' | number | (string & {}) - -export type MinHeightProperty = Globals | TLength | '-moz-fit-content' | '-webkit-fill-available' | 'auto' | 'fill-available' | 'fit-content' | 'intrinsic' | 'max-content' | 'min-content' | number | (string & {}) - -export type MinInlineSizeProperty = Globals | TLength | '-moz-fit-content' | '-webkit-fill-available' | 'auto' | 'fill-available' | 'fit-content' | 'max-content' | 'min-content' | number | (string & {}) - -export type MinWidthProperty = Globals | TLength | '-moz-fit-content' | '-webkit-fill-available' | 'auto' | 'fill-available' | 'fit-content' | 'intrinsic' | 'max-content' | 'min-content' | 'min-intrinsic' | number | (string & {}) - -export type MixBlendModeProperty = Globals | BlendMode - -export type OffsetProperty = Globals | Position | GeometryBox | 'auto' | 'none' | number | (string & {}) - -export type OffsetDistanceProperty = Globals | TLength | number | (string & {}) - -export type OffsetPathProperty = Globals | GeometryBox | 'none' | (string & {}) - -export type OffsetRotateProperty = Globals | 'auto' | 'reverse' | (string & {}) - -export type ObjectFitProperty = Globals | 'contain' | 'cover' | 'fill' | 'none' | 'scale-down' - -export type ObjectPositionProperty = Globals | Position - -export type OffsetAnchorProperty = Globals | Position | 'auto' - -export type OffsetPositionProperty = Globals | Position | 'auto' - -export type OpacityProperty = Globals | (string & {}) | number - -export type OutlineProperty = Globals | Color | LineStyle | LineWidth | 'auto' | 'invert' | (string & {}) - -export type OutlineColorProperty = Globals | Color | 'invert' - -export type OutlineOffsetProperty = Globals | TLength - -export type OutlineStyleProperty = Globals | LineStyle | 'auto' | (string & {}) - -export type OutlineWidthProperty = Globals | LineWidth - -export type OverflowProperty = Globals | 'auto' | 'clip' | 'hidden' | 'scroll' | 'visible' | (string & {}) - -export type OverflowAnchorProperty = Globals | 'auto' | 'none' - -export type OverflowBlockProperty = Globals | 'auto' | 'clip' | 'hidden' | 'scroll' | 'visible' - -export type OverflowClipBoxProperty = Globals | 'content-box' | 'padding-box' - -export type OverflowInlineProperty = Globals | 'auto' | 'clip' | 'hidden' | 'scroll' | 'visible' - -export type OverflowWrapProperty = Globals | 'anywhere' | 'break-word' | 'normal' - -export type OverflowXProperty = Globals | 'auto' | 'clip' | 'hidden' | 'scroll' | 'visible' - -export type OverflowYProperty = Globals | 'auto' | 'clip' | 'hidden' | 'scroll' | 'visible' - -export type OverscrollBehaviorProperty = Globals | 'auto' | 'contain' | 'none' | (string & {}) - -export type OverscrollBehaviorXProperty = Globals | 'auto' | 'contain' | 'none' - -export type OverscrollBehaviorYProperty = Globals | 'auto' | 'contain' | 'none' - -export type PaddingProperty = - | Globals - | TLength - | number - | (string & {}) - | [Globals | TLength | number | (string & {}), Globals | TLength | number | (string & {})] - | [Globals | TLength | number | (string & {}), Globals | TLength | number | (string & {}), Globals | TLength | number | (string & {})] - | [Globals | TLength | number | (string & {}), Globals | TLength | number | (string & {}), Globals | TLength | number | (string & {}), Globals | TLength | number | (string & {})] - -export type PaddingBlockProperty = Globals | TLength | number | (string & {}) - -export type PaddingBlockEndProperty = Globals | TLength | number | (string & {}) - -export type PaddingBlockStartProperty = Globals | TLength | number | (string & {}) - -export type PaddingBottomProperty = Globals | TLength | number | (string & {}) - -export type PaddingInlineProperty = Globals | TLength | number | (string & {}) - -export type PaddingInlineEndProperty = Globals | TLength | number | (string & {}) - -export type PaddingInlineStartProperty = Globals | TLength | number | (string & {}) - -export type PaddingLeftProperty = Globals | TLength | number | (string & {}) - -export type PaddingRightProperty = Globals | TLength | number | (string & {}) - -export type PaddingTopProperty = Globals | TLength | number | (string & {}) - -export type PageBreakAfterProperty = Globals | 'always' | 'auto' | 'avoid' | 'left' | 'recto' | 'right' | 'verso' - -export type PageBreakBeforeProperty = Globals | 'always' | 'auto' | 'avoid' | 'left' | 'recto' | 'right' | 'verso' - -export type PageBreakInsideProperty = Globals | 'auto' | 'avoid' - -export type PaintOrderProperty = Globals | 'fill' | 'markers' | 'normal' | 'stroke' | (string & {}) - -export type PerspectiveProperty = Globals | TLength | 'none' - -export type PerspectiveOriginProperty = Globals | Position - -export type PlaceContentProperty = Globals | ContentDistribution | ContentPosition | 'baseline' | 'normal' | (string & {}) - -export type PlaceItemsProperty = Globals | SelfPosition | 'baseline' | 'normal' | 'stretch' | (string & {}) - -export type PlaceSelfProperty = Globals | SelfPosition | 'auto' | 'baseline' | 'normal' | 'stretch' | (string & {}) - -export type PointerEventsProperty = Globals | 'all' | 'auto' | 'fill' | 'inherit' | 'none' | 'painted' | 'stroke' | 'visible' | 'visibleFill' | 'visiblePainted' | 'visibleStroke' - -export type PositionProperty = Globals | 'absolute' | 'fixed' | 'relative' | 'static' | 'sticky' - -export type QuotesProperty = Globals | 'auto' | 'none' | (string & {}) - -export type ResizeProperty = Globals | 'block' | 'both' | 'horizontal' | 'inline' | 'none' | 'vertical' - -export type RightProperty = Globals | TLength | 'auto' | number | (string & {}) - -export type RotateProperty = Globals | 'none' | (string & {}) - -export type RowGapProperty = Globals | TLength | 'normal' | (string & {}) - -export type RubyAlignProperty = Globals | 'center' | 'space-around' | 'space-between' | 'start' - -export type RubyMergeProperty = Globals | 'auto' | 'collapse' | 'separate' - -export type RubyPositionProperty = Globals | 'over' | 'under' - -export type ScaleProperty = Globals | 'none' | (string & {}) | number - -export type ScrollBehaviorProperty = Globals | 'auto' | 'smooth' - -export type ScrollMarginProperty = Globals | TLength | (string & {}) - -export type ScrollMarginBlockProperty = Globals | TLength | (string & {}) - -export type ScrollMarginBlockEndProperty = Globals | TLength - -export type ScrollMarginBlockStartProperty = Globals | TLength - -export type ScrollMarginBottomProperty = Globals | TLength - -export type ScrollMarginInlineProperty = Globals | TLength | (string & {}) - -export type ScrollMarginInlineEndProperty = Globals | TLength - -export type ScrollMarginInlineStartProperty = Globals | TLength - -export type ScrollMarginLeftProperty = Globals | TLength - -export type ScrollMarginRightProperty = Globals | TLength - -export type ScrollMarginTopProperty = Globals | TLength - -export type ScrollPaddingProperty = Globals | TLength | 'auto' | (string & {}) - -export type ScrollPaddingBlockProperty = Globals | TLength | 'auto' | (string & {}) - -export type ScrollPaddingBlockEndProperty = Globals | TLength | 'auto' | (string & {}) - -export type ScrollPaddingBlockStartProperty = Globals | TLength | 'auto' | (string & {}) - -export type ScrollPaddingBottomProperty = Globals | TLength | 'auto' | (string & {}) - -export type ScrollPaddingInlineProperty = Globals | TLength | 'auto' | (string & {}) - -export type ScrollPaddingInlineEndProperty = Globals | TLength | 'auto' | (string & {}) - -export type ScrollPaddingInlineStartProperty = Globals | TLength | 'auto' | (string & {}) - -export type ScrollPaddingLeftProperty = Globals | TLength | 'auto' | (string & {}) - -export type ScrollPaddingRightProperty = Globals | TLength | 'auto' | (string & {}) - -export type ScrollPaddingTopProperty = Globals | TLength | 'auto' | (string & {}) - -export type ScrollSnapAlignProperty = Globals | 'center' | 'end' | 'none' | 'start' | (string & {}) - -export type ScrollSnapCoordinateProperty = Globals | Position | 'none' | (string & {}) - -export type ScrollSnapDestinationProperty = Globals | Position - -export type ScrollSnapPointsXProperty = Globals | 'none' | (string & {}) - -export type ScrollSnapPointsYProperty = Globals | 'none' | (string & {}) - -export type ScrollSnapStopProperty = Globals | 'always' | 'normal' - -export type ScrollSnapTypeProperty = Globals | 'block' | 'both' | 'inline' | 'none' | 'x' | 'y' | (string & {}) - -export type ScrollSnapTypeXProperty = Globals | 'mandatory' | 'none' | 'proximity' - -export type ScrollSnapTypeYProperty = Globals | 'mandatory' | 'none' | 'proximity' - -export type ScrollbarColorProperty = Globals | Color | 'auto' | 'dark' | 'light' - -export type ScrollbarWidthProperty = Globals | 'auto' | 'none' | 'thin' - -export type ShapeImageThresholdProperty = Globals | (string & {}) | number - -export type ShapeMarginProperty = Globals | TLength | (string & {}) - -export type ShapeOutsideProperty = Globals | Box | 'margin-box' | 'none' | (string & {}) - -export type TabSizeProperty = Globals | TLength | number - -export type TableLayoutProperty = Globals | 'auto' | 'fixed' - -export type TextAlignProperty = Globals | 'center' | 'end' | 'justify' | 'left' | 'match-parent' | 'right' | 'start' - -export type TextAlignLastProperty = Globals | 'auto' | 'center' | 'end' | 'justify' | 'left' | 'right' | 'start' - -export type TextCombineUprightProperty = Globals | 'all' | 'digits' | 'none' | (string & {}) - -export type TextDecorationProperty = - | Globals - | Color - | TLength - | 'auto' - | 'blink' - | 'dashed' - | 'dotted' - | 'double' - | 'from-font' - | 'grammar-error' - | 'line-through' - | 'none' - | 'overline' - | 'solid' - | 'spelling-error' - | 'underline' - | 'wavy' - | (string & {}) - -export type TextDecorationColorProperty = Globals | Color - -export type TextDecorationLineProperty = Globals | 'blink' | 'grammar-error' | 'line-through' | 'none' | 'overline' | 'spelling-error' | 'underline' | (string & {}) - -export type TextDecorationSkipProperty = Globals | 'box-decoration' | 'edges' | 'leading-spaces' | 'none' | 'objects' | 'spaces' | 'trailing-spaces' | (string & {}) - -export type TextDecorationSkipInkProperty = Globals | 'auto' | 'none' - -export type TextDecorationStyleProperty = Globals | 'dashed' | 'dotted' | 'double' | 'solid' | 'wavy' - -export type TextDecorationThicknessProperty = Globals | TLength | 'auto' | 'from-font' - -export type TextEmphasisProperty = Globals | Color | 'circle' | 'dot' | 'double-circle' | 'filled' | 'none' | 'open' | 'sesame' | 'triangle' | (string & {}) - -export type TextEmphasisColorProperty = Globals | Color - -export type TextEmphasisStyleProperty = Globals | 'circle' | 'dot' | 'double-circle' | 'filled' | 'none' | 'open' | 'sesame' | 'triangle' | (string & {}) - -export type TextIndentProperty = Globals | TLength | number | (string & {}) - -export type TextJustifyProperty = Globals | 'auto' | 'inter-character' | 'inter-word' | 'none' - -export type TextOrientationProperty = Globals | 'mixed' | 'sideways' | 'upright' - -export type TextOverflowProperty = Globals | 'clip' | 'ellipsis' | (string & {}) - -export type TextRenderingProperty = Globals | 'auto' | 'geometricPrecision' | 'optimizeLegibility' | 'optimizeSpeed' - -export type TextShadowProperty = Globals | 'none' | (string & {}) - -export type TextSizeAdjustProperty = Globals | 'auto' | 'none' | (string & {}) - -export type TextTransformProperty = Globals | 'capitalize' | 'full-size-kana' | 'full-width' | 'lowercase' | 'none' | 'uppercase' - -export type TextUnderlineOffsetProperty = Globals | TLength | 'auto' | 'from-font' - -export type TextUnderlinePositionProperty = Globals | 'auto' | 'left' | 'right' | 'under' | (string & {}) - -export type TopProperty = Globals | TLength | 'auto' | number | (string & {}) - -export type TouchActionProperty = Globals | '-ms-manipulation' | '-ms-none' | '-ms-pinch-zoom' | 'auto' | 'manipulation' | 'none' | 'pan-down' | 'pan-left' | 'pan-right' | 'pan-up' | 'pan-x' | 'pan-y' | 'pinch-zoom' | (string & {}) - -export type TransformProperty = Globals | 'none' | (string & {}) - -export type TransformBoxProperty = Globals | 'border-box' | 'fill-box' | 'view-box' - -export type TransformOriginProperty = Globals | TLength | 'bottom' | 'center' | 'left' | 'right' | 'top' | (string & {}) - -export type TransformStyleProperty = Globals | 'flat' | 'preserve-3d' - -export type TransitionProperty = Globals | SingleTransition | (string & {}) - -export type TransitionPropertyProperty = Globals | 'all' | 'none' | (string & {}) - -export type TransitionTimingFunctionProperty = Globals | TimingFunction | (string & {}) - -export type TranslateProperty = Globals | TLength | 'none' | (string & {}) - -export type UnicodeBidiProperty = Globals | '-moz-isolate' | '-moz-isolate-override' | '-moz-plaintext' | '-webkit-isolate' | 'bidi-override' | 'embed' | 'isolate' | 'isolate-override' | 'normal' | 'plaintext' - -export type UserSelectProperty = Globals | 'all' | 'auto' | 'contain' | 'element' | 'none' | 'text' - -export type VerticalAlignProperty = Globals | TLength | 'baseline' | 'bottom' | 'middle' | 'sub' | 'super' | 'text-bottom' | 'text-top' | 'top' | (string & {}) - -export type VisibilityProperty = Globals | 'collapse' | 'hidden' | 'visible' - -export type WhiteSpaceProperty = Globals | 'break-spaces' | 'normal' | 'nowrap' | 'pre' | 'pre-line' | 'pre-wrap' - -export type WidthProperty = Globals | TLength | '-moz-fit-content' | '-webkit-fill-available' | 'auto' | 'available' | 'fit-content' | 'intrinsic' | 'max-content' | 'min-content' | 'min-intrinsic' | number | (string & {}) - -export type WillChangeProperty = Globals | AnimateableFeature | 'auto' | (string & {}) - -export type WordBreakProperty = Globals | 'break-all' | 'break-word' | 'keep-all' | 'normal' - -export type WordSpacingProperty = Globals | TLength | 'normal' | (string & {}) - -export type WordWrapProperty = Globals | 'break-word' | 'normal' - -export type WritingModeProperty = Globals | 'horizontal-tb' | 'sideways-lr' | 'sideways-rl' | 'vertical-lr' | 'vertical-rl' - -export type ZIndexProperty = Globals | 'auto' | number | (string & {}) - -export type ZoomProperty = Globals | 'normal' | 'reset' | (string & {}) | number - -export type MozFloatEdgeProperty = Globals | 'border-box' | 'content-box' | 'margin-box' | 'padding-box' - -export type MozOrientProperty = Globals | 'block' | 'horizontal' | 'inline' | 'vertical' - -export type MozOutlineRadiusBottomleftProperty = Globals | TLength | (string & {}) - -export type MozOutlineRadiusBottomrightProperty = Globals | TLength | (string & {}) - -export type MozOutlineRadiusTopleftProperty = Globals | TLength | (string & {}) - -export type MozOutlineRadiusToprightProperty = Globals | TLength | (string & {}) - -export type MozUserFocusProperty = Globals | 'ignore' | 'none' | 'normal' | 'select-after' | 'select-all' | 'select-before' | 'select-menu' | 'select-same' - -export type MozUserModifyProperty = Globals | 'read-only' | 'read-write' | 'write-only' - -export type WebkitAppearanceProperty = - | Globals - | 'button' - | 'button-bevel' - | 'caret' - | 'checkbox' - | 'default-button' - | 'inner-spin-button' - | 'listbox' - | 'listitem' - | 'media-controls-background' - | 'media-controls-fullscreen-background' - | 'media-current-time-display' - | 'media-enter-fullscreen-button' - | 'media-exit-fullscreen-button' - | 'media-fullscreen-button' - | 'media-mute-button' - | 'media-overlay-play-button' - | 'media-play-button' - | 'media-seek-back-button' - | 'media-seek-forward-button' - | 'media-slider' - | 'media-sliderthumb' - | 'media-time-remaining-display' - | 'media-toggle-closed-captions-button' - | 'media-volume-slider' - | 'media-volume-slider-container' - | 'media-volume-sliderthumb' - | 'menulist' - | 'menulist-button' - | 'menulist-text' - | 'menulist-textfield' - | 'meter' - | 'none' - | 'progress-bar' - | 'progress-bar-value' - | 'push-button' - | 'radio' - | 'searchfield' - | 'searchfield-cancel-button' - | 'searchfield-decoration' - | 'searchfield-results-button' - | 'searchfield-results-decoration' - | 'slider-horizontal' - | 'slider-vertical' - | 'sliderthumb-horizontal' - | 'sliderthumb-vertical' - | 'square-button' - | 'textarea' - | 'textfield' - -export type WebkitBoxReflectProperty = Globals | TLength | 'above' | 'below' | 'left' | 'right' | (string & {}) - -export type WebkitLineClampProperty = Globals | 'none' | number | (string & {}) - -export type WebkitMaskProperty = Globals | Position | RepeatStyle | Box | 'border' | 'content' | 'none' | 'padding' | 'text' | (string & {}) - -export type WebkitMaskAttachmentProperty = Globals | Attachment | (string & {}) - -export type WebkitMaskClipProperty = Globals | Box | 'border' | 'content' | 'padding' | 'text' | (string & {}) - -export type WebkitMaskCompositeProperty = Globals | CompositeStyle | (string & {}) - -export type WebkitMaskImageProperty = Globals | 'none' | (string & {}) - -export type WebkitMaskOriginProperty = Globals | Box | 'border' | 'content' | 'padding' | (string & {}) - -export type WebkitMaskPositionProperty = Globals | Position | (string & {}) - -export type WebkitMaskPositionXProperty = Globals | TLength | 'center' | 'left' | 'right' | (string & {}) - -export type WebkitMaskPositionYProperty = Globals | TLength | 'bottom' | 'center' | 'top' | (string & {}) - -export type WebkitMaskRepeatProperty = Globals | RepeatStyle | (string & {}) - -export type WebkitMaskRepeatXProperty = Globals | 'no-repeat' | 'repeat' | 'round' | 'space' - -export type WebkitMaskRepeatYProperty = Globals | 'no-repeat' | 'repeat' | 'round' | 'space' - -export type WebkitMaskSizeProperty = Globals | BgSize | (string & {}) - -export type WebkitOverflowScrollingProperty = Globals | 'auto' | 'touch' - -export type WebkitTapHighlightColorProperty = Globals | Color - -export type WebkitTextFillColorProperty = Globals | Color - -export type WebkitTextStrokeProperty = Globals | Color | TLength | (string & {}) - -export type WebkitTextStrokeColorProperty = Globals | Color - -export type WebkitTextStrokeWidthProperty = Globals | TLength - -export type WebkitTouchCalloutProperty = Globals | 'default' | 'none' - -export type WebkitUserModifyProperty = Globals | 'read-only' | 'read-write' | 'read-write-plaintext-only' - -export type AlignmentBaselineProperty = Globals | 'after-edge' | 'alphabetic' | 'auto' | 'baseline' | 'before-edge' | 'central' | 'hanging' | 'ideographic' | 'mathematical' | 'middle' | 'text-after-edge' | 'text-before-edge' - -export type BaselineShiftProperty = Globals | TLength | 'baseline' | 'sub' | 'super' | (string & {}) - -export type ClipRuleProperty = Globals | 'evenodd' | 'nonzero' - -export type ColorInterpolationProperty = Globals | 'auto' | 'linearRGB' | 'sRGB' - -export type ColorRenderingProperty = Globals | 'auto' | 'optimizeQuality' | 'optimizeSpeed' - -export type DominantBaselineProperty = Globals | 'alphabetic' | 'auto' | 'central' | 'hanging' | 'ideographic' | 'mathematical' | 'middle' | 'no-change' | 'reset-size' | 'text-after-edge' | 'text-before-edge' | 'use-script' - -export type FillProperty = Globals | Paint - -export type FillRuleProperty = Globals | 'evenodd' | 'nonzero' - -export type FloodColorProperty = Globals | Color | 'currentColor' - -export type GlyphOrientationVerticalProperty = Globals | 'auto' | (string & {}) | number - -export type LightingColorProperty = Globals | Color | 'currentColor' - -export type MarkerProperty = Globals | 'none' | (string & {}) - -export type MarkerEndProperty = Globals | 'none' | (string & {}) - -export type MarkerMidProperty = Globals | 'none' | (string & {}) - -export type MarkerStartProperty = Globals | 'none' | (string & {}) - -export type ShapeRenderingProperty = Globals | 'auto' | 'crispEdges' | 'geometricPrecision' | 'optimizeSpeed' - -export type StopColorProperty = Globals | Color | 'currentColor' - -export type StrokeProperty = Globals | Paint - -export type StrokeDasharrayProperty = Globals | Dasharray | 'none' - -export type StrokeDashoffsetProperty = Globals | TLength | (string & {}) - -export type StrokeLinecapProperty = Globals | 'butt' | 'round' | 'square' - -export type StrokeLinejoinProperty = Globals | 'bevel' | 'miter' | 'round' - -export type StrokeWidthProperty = Globals | TLength | (string & {}) - -export type TextAnchorProperty = Globals | 'end' | 'middle' | 'start' - -export type VectorEffectProperty = Globals | 'non-scaling-stroke' | 'none' - -type FontFaceFontFeatureSettingsProperty = 'normal' | (string & {}) - -type FontFaceFontDisplayProperty = 'auto' | 'block' | 'fallback' | 'optional' | 'swap' - -type FontFaceFontStretchProperty = FontStretchAbsolute | (string & {}) - -type FontFaceFontStyleProperty = 'italic' | 'normal' | 'oblique' | 'oblique 30deg' | 'oblique 30deg 50deg' | (string & {}) - -type FontFaceFontVariantProperty = - | EastAsianVariantValues - | 'all-petite-caps' - | 'all-small-caps' - | 'common-ligatures' - | 'contextual' - | 'diagonal-fractions' - | 'discretionary-ligatures' - | 'full-width' - | 'historical-forms' - | 'historical-ligatures' - | 'lining-nums' - | 'no-common-ligatures' - | 'no-contextual' - | 'no-discretionary-ligatures' - | 'no-historical-ligatures' - | 'none' - | 'normal' - | 'oldstyle-nums' - | 'ordinal' - | 'petite-caps' - | 'proportional-nums' - | 'proportional-width' - | 'ruby' - | 'slashed-zero' - | 'small-caps' - | 'stacked-fractions' - | 'tabular-nums' - | 'titling-caps' - | 'unicase' - | (string & {}) - -type FontFaceFontVariationSettingsProperty = 'normal' | (string & {}) - -type FontFaceFontWeightProperty = FontWeightAbsolute | (string & {}) - -type ViewportHeightProperty = ViewportLength | (string & {}) - -type ViewportMaxHeightProperty = ViewportLength - -type ViewportMaxWidthProperty = ViewportLength - -type ViewportMaxZoomProperty = 'auto' | (string & {}) | number - -type ViewportMinHeightProperty = ViewportLength - -type ViewportMinWidthProperty = ViewportLength - -type ViewportMinZoomProperty = 'auto' | (string & {}) | number - -type ViewportOrientationProperty = 'auto' | 'landscape' | 'portrait' - -type ViewportUserZoomProperty = '-ms-zoom' | 'fixed' | 'zoom' - -type ViewportWidthProperty = ViewportLength | (string & {}) - -type ViewportZoomProperty = 'auto' | (string & {}) | number - -type AbsoluteSize = 'large' | 'medium' | 'small' | 'x-large' | 'x-small' | 'xx-large' | 'xx-small' - -type AnimateableFeature = 'contents' | 'scroll-position' | (string & {}) - -type Attachment = 'fixed' | 'local' | 'scroll' - -type BgPosition = TLength | 'bottom' | 'center' | 'left' | 'right' | 'top' | (string & {}) - -type BgSize = TLength | 'auto' | 'contain' | 'cover' | (string & {}) - -type BlendMode = 'color' | 'color-burn' | 'color-dodge' | 'darken' | 'difference' | 'exclusion' | 'hard-light' | 'hue' | 'lighten' | 'luminosity' | 'multiply' | 'normal' | 'overlay' | 'saturation' | 'screen' | 'soft-light' - -type Box = 'border-box' | 'content-box' | 'padding-box' - -export type Color = NamedColor | DeprecatedSystemColor | 'currentcolor' | (string & {}) - -type Compat = 'button-bevel' | 'checkbox' | 'listbox' | 'menulist' | 'menulist-button' | 'meter' | 'progress-bar' | 'push-button' | 'radio' | 'searchfield' | 'slider-horizontal' | 'square-button' | 'textarea' - -type CompositeStyle = 'clear' | 'copy' | 'destination-atop' | 'destination-in' | 'destination-out' | 'destination-over' | 'source-atop' | 'source-in' | 'source-out' | 'source-over' | 'xor' - -type CompositingOperator = 'add' | 'exclude' | 'intersect' | 'subtract' - -type ContentDistribution = 'space-around' | 'space-between' | 'space-evenly' | 'stretch' - -type ContentList = Quote | 'contents' | (string & {}) - -type ContentPosition = 'center' | 'end' | 'flex-end' | 'flex-start' | 'start' - -type CubicBezierTimingFunction = 'ease' | 'ease-in' | 'ease-in-out' | 'ease-out' | (string & {}) - -type Dasharray = TLength | (string & {}) | number - -type DeprecatedSystemColor = - | 'ActiveBorder' - | 'ActiveCaption' - | 'AppWorkspace' - | 'Background' - | 'ButtonFace' - | 'ButtonHighlight' - | 'ButtonShadow' - | 'ButtonText' - | 'CaptionText' - | 'GrayText' - | 'Highlight' - | 'HighlightText' - | 'InactiveBorder' - | 'InactiveCaption' - | 'InactiveCaptionText' - | 'InfoBackground' - | 'InfoText' - | 'Menu' - | 'MenuText' - | 'Scrollbar' - | 'ThreeDDarkShadow' - | 'ThreeDFace' - | 'ThreeDHighlight' - | 'ThreeDLightShadow' - | 'ThreeDShadow' - | 'Window' - | 'WindowFrame' - | 'WindowText' - -type DisplayInside = 'flex' | 'flow' | 'flow-root' | 'grid' | 'ruby' | 'table' - -type DisplayInternal = - | 'ruby-base' - | 'ruby-base-container' - | 'ruby-text' - | 'ruby-text-container' - | 'table-caption' - | 'table-cell' - | 'table-column' - | 'table-column-group' - | 'table-footer-group' - | 'table-header-group' - | 'table-row' - | 'table-row-group' - -type DisplayLegacy = 'inline-block' | 'inline-flex' | 'inline-grid' | 'inline-list-item' | 'inline-table' - -type DisplayOutside = 'block' | 'inline' | 'run-in' - -type EastAsianVariantValues = 'jis04' | 'jis78' | 'jis83' | 'jis90' | 'simplified' | 'traditional' - -type FinalBgLayer = Color | BgPosition | RepeatStyle | Attachment | Box | 'none' | (string & {}) - -type FontStretchAbsolute = 'condensed' | 'expanded' | 'extra-condensed' | 'extra-expanded' | 'normal' | 'semi-condensed' | 'semi-expanded' | 'ultra-condensed' | 'ultra-expanded' | (string & {}) - -type FontWeightAbsolute = 'bold' | 'normal' | number - -type GenericFamily = 'cursive' | 'fantasy' | 'monospace' | 'sans-serif' | 'serif' - -type GeometryBox = Box | 'fill-box' | 'margin-box' | 'stroke-box' | 'view-box' - -type GridLine = 'auto' | (string & {}) | number - -export type LineStyle = 'dashed' | 'dotted' | 'double' | 'groove' | 'hidden' | 'inset' | 'none' | 'outset' | 'ridge' | 'solid' - -export type LineWidth = TLength | 'medium' | 'thick' | 'thin' - -type MaskLayer = Position | RepeatStyle | GeometryBox | CompositingOperator | MaskingMode | 'no-clip' | 'none' | (string & {}) - -type MaskingMode = 'alpha' | 'luminance' | 'match-source' - -type NamedColor = - | 'aliceblue' - | 'antiquewhite' - | 'aqua' - | 'aquamarine' - | 'azure' - | 'beige' - | 'bisque' - | 'black' - | 'blanchedalmond' - | 'blue' - | 'blueviolet' - | 'brown' - | 'burlywood' - | 'cadetblue' - | 'chartreuse' - | 'chocolate' - | 'coral' - | 'cornflowerblue' - | 'cornsilk' - | 'crimson' - | 'cyan' - | 'darkblue' - | 'darkcyan' - | 'darkgoldenrod' - | 'darkgray' - | 'darkgreen' - | 'darkgrey' - | 'darkkhaki' - | 'darkmagenta' - | 'darkolivegreen' - | 'darkorange' - | 'darkorchid' - | 'darkred' - | 'darksalmon' - | 'darkseagreen' - | 'darkslateblue' - | 'darkslategray' - | 'darkslategrey' - | 'darkturquoise' - | 'darkviolet' - | 'deeppink' - | 'deepskyblue' - | 'dimgray' - | 'dimgrey' - | 'dodgerblue' - | 'firebrick' - | 'floralwhite' - | 'forestgreen' - | 'fuchsia' - | 'gainsboro' - | 'ghostwhite' - | 'gold' - | 'goldenrod' - | 'gray' - | 'green' - | 'greenyellow' - | 'grey' - | 'honeydew' - | 'hotpink' - | 'indianred' - | 'indigo' - | 'ivory' - | 'khaki' - | 'lavender' - | 'lavenderblush' - | 'lawngreen' - | 'lemonchiffon' - | 'lightblue' - | 'lightcoral' - | 'lightcyan' - | 'lightgoldenrodyellow' - | 'lightgray' - | 'lightgreen' - | 'lightgrey' - | 'lightpink' - | 'lightsalmon' - | 'lightseagreen' - | 'lightskyblue' - | 'lightslategray' - | 'lightslategrey' - | 'lightsteelblue' - | 'lightyellow' - | 'lime' - | 'limegreen' - | 'linen' - | 'magenta' - | 'maroon' - | 'mediumaquamarine' - | 'mediumblue' - | 'mediumorchid' - | 'mediumpurple' - | 'mediumseagreen' - | 'mediumslateblue' - | 'mediumspringgreen' - | 'mediumturquoise' - | 'mediumvioletred' - | 'midnightblue' - | 'mintcream' - | 'mistyrose' - | 'moccasin' - | 'navajowhite' - | 'navy' - | 'oldlace' - | 'olive' - | 'olivedrab' - | 'orange' - | 'orangered' - | 'orchid' - | 'palegoldenrod' - | 'palegreen' - | 'paleturquoise' - | 'palevioletred' - | 'papayawhip' - | 'peachpuff' - | 'peru' - | 'pink' - | 'plum' - | 'powderblue' - | 'purple' - | 'rebeccapurple' - | 'red' - | 'rosybrown' - | 'royalblue' - | 'saddlebrown' - | 'salmon' - | 'sandybrown' - | 'seagreen' - | 'seashell' - | 'sienna' - | 'silver' - | 'skyblue' - | 'slateblue' - | 'slategray' - | 'slategrey' - | 'snow' - | 'springgreen' - | 'steelblue' - | 'tan' - | 'teal' - | 'thistle' - | 'tomato' - | 'transparent' - | 'turquoise' - | 'violet' - | 'wheat' - | 'white' - | 'whitesmoke' - | 'yellow' - | 'yellowgreen' - -type Paint = Color | 'child' | 'context-fill' | 'context-stroke' | 'none' | (string & {}) - -type Position = TLength | 'bottom' | 'center' | 'left' | 'right' | 'top' | (string & {}) - -type Quote = 'close-quote' | 'no-close-quote' | 'no-open-quote' | 'open-quote' - -type RepeatStyle = 'no-repeat' | 'repeat' | 'repeat-x' | 'repeat-y' | 'round' | 'space' | (string & {}) - -type SelfPosition = 'center' | 'end' | 'flex-end' | 'flex-start' | 'self-end' | 'self-start' | 'start' - -type SingleAnimation = TimingFunction | SingleAnimationDirection | SingleAnimationFillMode | 'infinite' | 'none' | 'paused' | 'running' | (string & {}) | number - -type SingleAnimationDirection = 'alternate' | 'alternate-reverse' | 'normal' | 'reverse' - -type SingleAnimationFillMode = 'backwards' | 'both' | 'forwards' | 'none' - -type SingleTransition = TimingFunction | 'all' | 'none' | (string & {}) - -type StepTimingFunction = 'step-end' | 'step-start' | (string & {}) - -type TimingFunction = CubicBezierTimingFunction | StepTimingFunction | 'linear' - -type TrackBreadth = TLength | 'auto' | 'max-content' | 'min-content' | (string & {}) - -type ViewportLength = TLength | 'auto' | (string & {}) diff --git a/packages/core/types/css.d.ts b/packages/core/types/css.d.ts new file mode 100644 index 00000000..1e36d779 --- /dev/null +++ b/packages/core/types/css.d.ts @@ -0,0 +1,9782 @@ +/** @license MIT License + * Copyright (c) 2017-present, Fredrik Nicol + * Copyright (c) 2021-present, Jonathan Neal + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +export {}; + + +export interface StandardLonghandProperties { + /** + * The CSS **`align-content`** property sets the distribution of space between and around content items along a flexbox's cross-axis or a grid's block axis. + * + * **Syntax**: `normal | | | ? ` + * + * **Initial value**: `normal` + * + */ + alignContent?: Property.AlignContent; + /** + * The CSS **`align-items`** property sets the `align-self` value on all direct children as a group. In Flexbox, it controls the alignment of items on the Cross Axis. In Grid Layout, it controls the alignment of items on the Block Axis within their grid area. + * + * **Syntax**: `normal | stretch | | [ ? ]` + * + * **Initial value**: `normal` + * + */ + alignItems?: Property.AlignItems; + /** + * The **`align-self`** CSS property overrides a grid or flex item's `align-items` value. In Grid, it aligns the item inside the grid area. In Flexbox, it aligns the item on the cross axis. + * + * **Syntax**: `auto | normal | stretch | | ? ` + * + * **Initial value**: `auto` + * + */ + alignSelf?: Property.AlignSelf; + /** + * The **`align-tracks`** CSS property sets the alignment in the masonry axis for grid containers that have masonry in their block axis. + * + * **Syntax**: `[ normal | | | ? ]#` + * + * **Initial value**: `normal` + * + */ + alignTracks?: Property.AlignTracks; + /** + * The **`animation-delay`** CSS property specifies the amount of time to wait from applying the animation to an element before beginning to perform the animation. The animation can start later, immediately from its beginning, or immediately and partway through the animation. + * + * **Syntax**: `
` have shared or separate borders. + * + * **Syntax**: `collapse | separate` + * + * **Initial value**: `separate` + * + */ + borderCollapse?: Property.BorderCollapse; + /** + * The **`border-end-end-radius`** CSS property defines a logical border radius on an element, which maps to a physical border radius that depends on the element's `writing-mode`, `direction`, and `text-orientation`. This is useful when building styles to work regardless of the text orientation and writing mode. + * + * **Syntax**: `{1,2}` + * + * **Initial value**: `0` + * + */ + borderEndEndRadius?: Property.BorderEndEndRadius; + /** + * The **`border-end-start-radius`** CSS property defines a logical border radius on an element, which maps to a physical border radius depending on the element's `writing-mode`, `direction`, and `text-orientation`. This is useful when building styles to work regardless of the text orientation and writing mode. + * + * **Syntax**: `{1,2}` + * + * **Initial value**: `0` + * + */ + borderEndStartRadius?: Property.BorderEndStartRadius; + /** + * The **`border-image-outset`** CSS property sets the distance by which an element's border image is set out from its border box. + * + * **Syntax**: `[ | ]{1,4}` + * + * **Initial value**: `0` + * + */ + borderImageOutset?: Property.BorderImageOutset; + /** + * The **`border-image-repeat`** CSS property defines how the edge regions of a source image are adjusted to fit the dimensions of an element's border image. + * + * **Syntax**: `[ stretch | repeat | round | space ]{1,2}` + * + * **Initial value**: `stretch` + * + */ + borderImageRepeat?: Property.BorderImageRepeat; + /** + * The **`border-image-slice`** CSS property divides the image specified by `border-image-source` into regions. These regions form the components of an element's border image. + * + * **Syntax**: `{1,4} && fill?` + * + * **Initial value**: `100%` + * + */ + borderImageSlice?: Property.BorderImageSlice; + /** + * The **`border-image-source`** CSS property sets the source image used to create an element's border image. + * + * **Syntax**: `none | ` + * + * **Initial value**: `none` + * + */ + borderImageSource?: Property.BorderImageSource; + /** + * The **`border-image-width`** CSS property sets the width of an element's border image. + * + * **Syntax**: `[ | | auto ]{1,4}` + * + * **Initial value**: `1` + * + */ + borderImageWidth?: Property.BorderImageWidth; + /** + * 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`. + * + * **Syntax**: `<'border-top-color'>{1,2}` + * + * **Initial value**: `currentcolor` + * + */ + borderInlineColor?: Property.BorderInlineColor; + /** + * The **`border-inline-end-color`** CSS property defines the color of the logical inline-end border of an element, which maps to a physical border color depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-color`, `border-right-color`, `border-bottom-color`, or `border-left-color` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`. + * + * **Syntax**: `<'border-top-color'>` + * + * **Initial value**: `currentcolor` + * + */ + borderInlineEndColor?: Property.BorderInlineEndColor; + /** + * The **`border-inline-end-style`** CSS property defines the style of the logical inline end border of an element, which maps to a physical border style depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-style`, `border-right-style`, `border-bottom-style`, or `border-left-style` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`. + * + * **Syntax**: `<'border-top-style'>` + * + * **Initial value**: `none` + * + */ + borderInlineEndStyle?: Property.BorderInlineEndStyle; + /** + * The **`border-inline-end-width`** CSS property defines the width of the logical inline-end border of an element, which maps to a physical border width depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-width`, `border-right-width`, `border-bottom-width`, or `border-left-width` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`. + * + * **Syntax**: `<'border-top-width'>` + * + * **Initial value**: `medium` + * + */ + borderInlineEndWidth?: Property.BorderInlineEndWidth; + /** + * The **`border-inline-start-color`** CSS property defines the color of the logical inline start border of an element, which maps to a physical border color depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-color`, `border-right-color`, `border-bottom-color`, or `border-left-color` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`. + * + * **Syntax**: `<'border-top-color'>` + * + * **Initial value**: `currentcolor` + * + */ + borderInlineStartColor?: Property.BorderInlineStartColor; + /** + * The **`border-inline-start-style`** CSS property defines the style of the logical inline start border of an element, which maps to a physical border style depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-style`, `border-right-style`, `border-bottom-style`, or `border-left-style` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`. + * + * **Syntax**: `<'border-top-style'>` + * + * **Initial value**: `none` + * + */ + borderInlineStartStyle?: Property.BorderInlineStartStyle; + /** + * The **`border-inline-start-width`** CSS property defines the width of the logical inline-start border of an element, which maps to a physical border width depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-width`, `border-right-width`, `border-bottom-width`, or `border-left-width` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`. + * + * **Syntax**: `<'border-top-width'>` + * + * **Initial value**: `medium` + * + */ + borderInlineStartWidth?: Property.BorderInlineStartWidth; + /** + * 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`. + * + * **Syntax**: `<'border-top-style'>` + * + * **Initial value**: `none` + * + */ + borderInlineStyle?: Property.BorderInlineStyle; + /** + * 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`. + * + * **Syntax**: `<'border-top-width'>` + * + * **Initial value**: `medium` + * + */ + borderInlineWidth?: Property.BorderInlineWidth; + /** + * The **`border-left-color`** CSS property sets the color of an element's left border. It can also be set with the shorthand CSS properties `border-color` or `border-left`. + * + * **Syntax**: `` + * + * **Initial value**: `currentcolor` + * + */ + borderLeftColor?: Property.BorderLeftColor; + /** + * The **`border-left-style`** CSS property sets the line style of an element's left `border`. + * + * **Syntax**: `` + * + * **Initial value**: `none` + * + */ + borderLeftStyle?: Property.BorderLeftStyle; + /** + * The **`border-left-width`** CSS property sets the width of the left border of an element. + * + * **Syntax**: `` + * + * **Initial value**: `medium` + * + */ + borderLeftWidth?: Property.BorderLeftWidth; + /** + * The **`border-right-color`** CSS property sets the color of an element's right border. It can also be set with the shorthand CSS properties `border-color` or `border-right`. + * + * **Syntax**: `` + * + * **Initial value**: `currentcolor` + * + */ + borderRightColor?: Property.BorderRightColor; + /** + * The **`border-right-style`** CSS property sets the line style of an element's right `border`. + * + * **Syntax**: `` + * + * **Initial value**: `none` + * + */ + borderRightStyle?: Property.BorderRightStyle; + /** + * The **`border-right-width`** CSS property sets the width of the right border of an element. + * + * **Syntax**: `` + * + * **Initial value**: `medium` + * + */ + borderRightWidth?: Property.BorderRightWidth; + /** + * The **`border-spacing`** CSS property sets the distance between the borders of adjacent `
` cells. This property applies only when `border-collapse` is `separate`. + * + * **Syntax**: ` ?` + * + * **Initial value**: `0` + * + */ + borderSpacing?: Property.BorderSpacing; + /** + * The **`border-start-end-radius`** CSS property defines a logical border radius on an element, which maps to a physical border radius depending on the element's `writing-mode`, `direction`, and `text-orientation`. This is useful when building styles to work regardless of the text orientation and writing mode. + * + * **Syntax**: `{1,2}` + * + * **Initial value**: `0` + * + */ + borderStartEndRadius?: Property.BorderStartEndRadius; + /** + * The **`border-start-start-radius`** CSS property defines a logical border radius on an element, which maps to a physical border radius that depends on the element's `writing-mode`, `direction`, and `text-orientation`. This is useful when building styles to work regardless of the text orientation and writing mode. + * + * **Syntax**: `{1,2}` + * + * **Initial value**: `0` + * + */ + borderStartStartRadius?: Property.BorderStartStartRadius; + /** + * The **`border-top-color`** CSS property sets the color of an element's top border. It can also be set with the shorthand CSS properties `border-color` or `border-top`. + * + * **Syntax**: `` + * + * **Initial value**: `currentcolor` + * + */ + borderTopColor?: Property.BorderTopColor; + /** + * The **`border-top-left-radius`** CSS property rounds the top-left corner of an element by specifying the radius (or the radius of the semi-major and semi-minor axes) of the ellipse defining the curvature of the corner. + * + * **Syntax**: `{1,2}` + * + * **Initial value**: `0` + * + */ + borderTopLeftRadius?: Property.BorderTopLeftRadius; + /** + * The **`border-top-right-radius`** CSS property rounds the top-right corner of an element by specifying the radius (or the radius of the semi-major and semi-minor axes) of the ellipse defining the curvature of the corner. + * + * **Syntax**: `{1,2}` + * + * **Initial value**: `0` + * + */ + borderTopRightRadius?: Property.BorderTopRightRadius; + /** + * The **`border-top-style`** CSS property sets the line style of an element's top `border`. + * + * **Syntax**: `` + * + * **Initial value**: `none` + * + */ + borderTopStyle?: Property.BorderTopStyle; + /** + * The **`border-top-width`** CSS property sets the width of the top border of an element. + * + * **Syntax**: `` + * + * **Initial value**: `medium` + * + */ + borderTopWidth?: Property.BorderTopWidth; + /** + * The **`bottom`** CSS property participates in setting the vertical position of a positioned element. It has no effect on non-positioned elements. + * + * **Syntax**: ` | | auto` + * + * **Initial value**: `auto` + * + */ + bottom?: Property.Bottom; + /** + * The **`box-decoration-break`** CSS property specifies how an element's fragments should be rendered when broken across multiple lines, columns, or pages. + * + * **Syntax**: `slice | clone` + * + * **Initial value**: `slice` + * + */ + boxDecorationBreak?: Property.BoxDecorationBreak; + /** + * The **`box-shadow`** CSS property adds shadow effects around an element's frame. You can set multiple effects separated by commas. A box shadow is described by X and Y offsets relative to the element, blur and spread radius, and color. + * + * **Syntax**: `none | #` + * + * **Initial value**: `none` + * + */ + boxShadow?: Property.BoxShadow; + /** + * The **`box-sizing`** CSS property sets how the total width and height of an element is calculated. + * + * **Syntax**: `content-box | border-box` + * + * **Initial value**: `content-box` + * + */ + boxSizing?: Property.BoxSizing; + /** + * The **`break-after`** CSS property sets how page, column, or region breaks should behave after a generated box. If there is no generated box, the property is ignored. + * + * **Syntax**: `auto | avoid | always | all | avoid-page | page | left | right | recto | verso | avoid-column | column | avoid-region | region` + * + * **Initial value**: `auto` + * + */ + breakAfter?: Property.BreakAfter; + /** + * The **`break-before`** CSS property sets how page, column, or region breaks should behave before a generated box. If there is no generated box, the property is ignored. + * + * **Syntax**: `auto | avoid | always | all | avoid-page | page | left | right | recto | verso | avoid-column | column | avoid-region | region` + * + * **Initial value**: `auto` + * + */ + breakBefore?: Property.BreakBefore; + /** + * The **`break-inside`** CSS property sets how page, column, or region breaks should behave inside a generated box. If there is no generated box, the property is ignored. + * + * **Syntax**: `auto | avoid | avoid-page | avoid-column | avoid-region` + * + * **Initial value**: `auto` + * + */ + breakInside?: Property.BreakInside; + /** + * The **`caption-side`** CSS property puts the content of a table's `
` on the specified side. The values are relative to the `writing-mode` of the table. + * + * **Syntax**: `top | bottom | block-start | block-end | inline-start | inline-end` + * + * **Initial value**: `top` + * + */ + captionSide?: Property.CaptionSide; + /** + * The **`caret-color`** CSS property sets the color of the **insertion caret**, the visible marker where the next character typed will be inserted. This is sometimes referred to as the **text input cursor**. The caret appears in elements such as `` or those with the `contenteditable` attribute. The caret is typically a thin vertical line that flashes to help make it more noticeable. By default, it is black, but its color can be altered with this property. + * + * **Syntax**: `auto | ` + * + * **Initial value**: `auto` + * + */ + caretColor?: Property.CaretColor; + /** + * The **`clear`** CSS property sets whether an element must be moved below (cleared) floating elements that precede it. The `clear` property applies to floating and non-floating elements. + * + * **Syntax**: `none | left | right | both | inline-start | inline-end` + * + * **Initial value**: `none` + * + */ + clear?: Property.Clear; + /** + * The `**clip-path**` CSS property creates a clipping region that sets what part of an element should be shown. Parts that are inside the region are shown, while those outside are hidden. + * + * **Syntax**: ` | [ || ] | none` + * + * **Initial value**: `none` + * + */ + clipPath?: Property.ClipPath; + /** + * The **`color`** CSS property sets the foreground color value of an element's text and text decorations, and sets the `` value. `currentcolor` may be used as an indirect value on _other_ properties and is the default for other color properties, such as `border-color`. + * + * **Syntax**: `` + * + * **Initial value**: Varies from one browser to another + * + */ + color?: Property.Color; + /** + * The **`color-adjust`** CSS property sets what, if anything, the user agent may do to optimize the appearance of the element on the output device. By default, the browser is allowed to make any adjustments to the element's appearance it determines to be necessary and prudent given the type and capabilities of the output device. + * + * **Syntax**: `economy | exact` + * + * **Initial value**: `economy` + * + */ + colorAdjust?: Property.ColorAdjust; + /** + * The **`color-scheme`** CSS property allows an element to indicate which color schemes it can comfortably be rendered in. + * + * **Syntax**: `normal | [ light | dark | ]+` + * + * **Initial value**: `normal` + * + */ + colorScheme?: Property.ColorScheme; + /** + * The **`column-count`** CSS property breaks an element's content into the specified number of columns. + * + * **Syntax**: ` | auto` + * + * **Initial value**: `auto` + * + */ + columnCount?: Property.ColumnCount; + /** + * The **`column-fill`** CSS property controls how an element's contents are balanced when broken into columns. + * + * **Syntax**: `auto | balance | balance-all` + * + * **Initial value**: `balance` + * + */ + columnFill?: Property.ColumnFill; + /** + * The **`column-gap`** CSS property sets the size of the gap (gutter) between an element's columns. + * + * **Syntax**: `normal | ` + * + * **Initial value**: `normal` + * + */ + columnGap?: Property.ColumnGap; + /** + * The **`column-rule-color`** CSS property sets the color of the line drawn between columns in a multi-column layout. + * + * **Syntax**: `` + * + * **Initial value**: `currentcolor` + * + */ + columnRuleColor?: Property.ColumnRuleColor; + /** + * The **`column-rule-style`** CSS property sets the style of the line drawn between columns in a multi-column layout. + * + * **Syntax**: `<'border-style'>` + * + * **Initial value**: `none` + * + */ + columnRuleStyle?: Property.ColumnRuleStyle; + /** + * The **`column-rule-width`** CSS property sets the width of the line drawn between columns in a multi-column layout. + * + * **Syntax**: `<'border-width'>` + * + * **Initial value**: `medium` + * + */ + columnRuleWidth?: Property.ColumnRuleWidth; + /** + * The **`column-span`** CSS property makes it possible for an element to span across all columns when its value is set to `all`. + * + * **Syntax**: `none | all` + * + * **Initial value**: `none` + * + */ + columnSpan?: Property.ColumnSpan; + /** + * The **`column-width`** CSS property sets the ideal column width in a multi-column layout. The container will have as many columns as can fit without any of them having a width less than the `column-width` value. If the width of the container is narrower than the specified value, the single column's width will be smaller than the declared column width. + * + * **Syntax**: ` | auto` + * + * **Initial value**: `auto` + * + */ + columnWidth?: Property.ColumnWidth; + /** + * The **`contain`** CSS property allows an author to indicate that an element and its contents are, as much as possible, _independent_ of the rest of the document tree. This allows the browser to recalculate layout, style, paint, size, or any combination of them for a limited area of the DOM and not the entire page, leading to obvious performance benefits. + * + * **Syntax**: `none | strict | content | [ size || layout || style || paint ]` + * + * **Initial value**: `none` + * + */ + contain?: Property.Contain; + /** + * The **`content`** CSS property replaces an element with a generated value. Objects inserted using the `content` property are **anonymous replaced elements**_._ + * + * **Syntax**: `normal | none | [ | ] [/ ]?` + * + * **Initial value**: `normal` + * + */ + content?: Property.Content; + /** + * The **`content-visibility`** CSS property controls whether or not an element renders its contents at all, along with forcing a strong set of containments, allowing user agents to potentially omit large swathes of layout and rendering work until it becomes needed. Basically it enables the user agent to skip an element's rendering work, including layout and painting, until it is needed, makes the initial page load much faster. + * + * **Syntax**: `visible | auto | hidden` + * + * **Initial value**: `visible` + * + */ + contentVisibility?: Property.ContentVisibility; + /** + * The **`counter-increment`** CSS property increases or decreases the value of a CSS counter by a given value. + * + * **Syntax**: `[ ? ]+ | none` + * + * **Initial value**: `none` + * + */ + counterIncrement?: Property.CounterIncrement; + /** + * The **`counter-reset`** CSS property resets a CSS counter to a given value. + * + * **Syntax**: `[ ? ]+ | none` + * + * **Initial value**: `none` + * + */ + counterReset?: Property.CounterReset; + /** + * 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. + * + * **Syntax**: `[ ? ]+ | none` + * + * **Initial value**: `none` + * + */ + counterSet?: Property.CounterSet; + /** + * The **`cursor`** CSS property sets the type of mouse cursor, if any, to show when the mouse pointer is over an element. + * + * **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 ] ]` + * + * **Initial value**: `auto` + * + */ + cursor?: Property.Cursor; + /** + * The **`direction`** CSS property sets the direction of text, table columns, and horizontal overflow. Use `rtl` for languages written from right to left (like Hebrew or Arabic), and `ltr` for those written from left to right (like English and most other languages). + * + * **Syntax**: `ltr | rtl` + * + * **Initial value**: `ltr` + * + */ + direction?: Property.Direction; + /** + * The **`display`** CSS property sets whether an element is treated as a block or inline element and the layout used for its children, such as flow layout, grid or flex. + * + * **Syntax**: `[ || ] | | | | ` + * + * **Initial value**: `inline` + * + */ + display?: Property.Display; + /** + * The **`empty-cells`** CSS property sets whether borders and backgrounds appear around `` cells that have no visible content. + * + * **Syntax**: `show | hide` + * + * **Initial value**: `show` + * + */ + emptyCells?: Property.EmptyCells; + /** + * The **`filter`** CSS property applies graphical effects like blur or color shift to an element. Filters are commonly used to adjust the rendering of images, backgrounds, and borders. + * + * **Syntax**: `none | ` + * + * **Initial value**: `none` + * + */ + filter?: Property.Filter; + /** + * The **`flex-basis`** CSS property sets the initial main size of a flex item. It sets the size of the content box unless otherwise set with `box-sizing`. + * + * **Syntax**: `content | <'width'>` + * + * **Initial value**: `auto` + * + */ + flexBasis?: Property.FlexBasis; + /** + * The **`flex-direction`** CSS property sets how flex items are placed in the flex container defining the main axis and the direction (normal or reversed). + * + * **Syntax**: `row | row-reverse | column | column-reverse` + * + * **Initial value**: `row` + * + */ + flexDirection?: Property.FlexDirection; + /** + * The **`flex-grow`** CSS property sets the flex grow factor of a flex item main size. + * + * **Syntax**: `` + * + * **Initial value**: `0` + * + */ + flexGrow?: Property.FlexGrow; + /** + * The **`flex-shrink`** CSS property sets the flex shrink factor of a flex item. If the size of all flex items is larger than the flex container, items shrink to fit according to `flex-shrink`. + * + * **Syntax**: `` + * + * **Initial value**: `1` + * + */ + flexShrink?: Property.FlexShrink; + /** + * The **`flex-wrap`** CSS property sets whether flex items are forced onto one line or can wrap onto multiple lines. If wrapping is allowed, it sets the direction that lines are stacked. + * + * **Syntax**: `nowrap | wrap | wrap-reverse` + * + * **Initial value**: `nowrap` + * + */ + flexWrap?: Property.FlexWrap; + /** + * The **`float`** CSS property places an element on the left or right side of its container, allowing text and inline elements to wrap around it. The element is removed from the normal flow of the page, though still remaining a part of the flow (in contrast to absolute positioning). + * + * **Syntax**: `left | right | none | inline-start | inline-end` + * + * **Initial value**: `none` + * + */ + float?: Property.Float; + /** + * The **`font-family`** CSS property specifies a prioritized list of one or more font family names and/or generic family names for the selected element. + * + * **Syntax**: `[ | ]#` + * + * **Initial value**: depends on user agent + * + */ + fontFamily?: Property.FontFamily; + /** + * The **`font-feature-settings`** CSS property controls advanced typographic features in OpenType fonts. + * + * **Syntax**: `normal | #` + * + * **Initial value**: `normal` + * + */ + fontFeatureSettings?: Property.FontFeatureSettings; + /** + * The **`font-kerning`** CSS property sets the use of the kerning information stored in a font. + * + * **Syntax**: `auto | normal | none` + * + * **Initial value**: `auto` + * + */ + fontKerning?: Property.FontKerning; + /** + * The **`font-language-override`** CSS property controls the use of language-specific glyphs in a typeface. + * + * **Syntax**: `normal | ` + * + * **Initial value**: `normal` + * + */ + fontLanguageOverride?: Property.FontLanguageOverride; + /** + * The **`font-optical-sizing`** CSS property sets whether text rendering is optimized for viewing at different sizes. + * + * **Syntax**: `auto | none` + * + * **Initial value**: `auto` + * + */ + fontOpticalSizing?: Property.FontOpticalSizing; + /** + * The **`font-size`** CSS property sets the size of the font. Changing the font size also updates the sizes of the font size-relative `` units, such as `em`, `ex`, and so forth. + * + * **Syntax**: ` | | ` + * + * **Initial value**: `medium` + * + */ + fontSize?: Property.FontSize; + /** + * The **`font-size-adjust`** CSS property sets the size of lower-case letters relative to the current font size (which defines the size of upper-case letters). + * + * **Syntax**: `none | ` + * + * **Initial value**: `none` + * + */ + fontSizeAdjust?: Property.FontSizeAdjust; + /** + * The **`font-smooth`** CSS property controls the application of anti-aliasing when fonts are rendered. + * + * **Syntax**: `auto | always | | ` + * + * **Initial value**: `auto` + * + */ + fontSmooth?: Property.FontSmooth; + /** + * The **`font-stretch`** CSS property selects a normal, condensed, or expanded face from a font. + * + * **Syntax**: `` + * + * **Initial value**: `normal` + * + */ + fontStretch?: Property.FontStretch; + /** + * The **`font-style`** CSS property sets whether a font should be styled with a normal, italic, or oblique face from its `font-family`. + * + * **Syntax**: `normal | italic | oblique ?` + * + * **Initial value**: `normal` + * + */ + fontStyle?: Property.FontStyle; + /** + * The **`font-synthesis`** CSS property controls which missing typefaces, bold or italic, may be synthesized by the browser. + * + * **Syntax**: `none | [ weight || style ]` + * + * **Initial value**: `weight style` + * + */ + fontSynthesis?: Property.FontSynthesis; + /** + * The **`font-variant`** CSS shorthand property allows you to set all the font variants for a font. + * + * **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 ]` + * + * **Initial value**: `normal` + * + */ + fontVariant?: Property.FontVariant; + /** + * The **`font-variant-caps`** CSS property controls the use of alternate glyphs for capital letters. + * + * **Syntax**: `normal | small-caps | all-small-caps | petite-caps | all-petite-caps | unicase | titling-caps` + * + * **Initial value**: `normal` + * + */ + fontVariantCaps?: Property.FontVariantCaps; + /** + * The **`font-variant-east-asian`** CSS property controls the use of alternate glyphs for East Asian scripts, like Japanese and Chinese. + * + * **Syntax**: `normal | [ || || ruby ]` + * + * **Initial value**: `normal` + * + */ + fontVariantEastAsian?: Property.FontVariantEastAsian; + /** + * The **`font-variant-ligatures`** CSS property controls which ligatures and contextual forms are used in textual content of the elements it applies to. This leads to more harmonized forms in the resulting text. + * + * **Syntax**: `normal | none | [ || || || ]` + * + * **Initial value**: `normal` + * + */ + fontVariantLigatures?: Property.FontVariantLigatures; + /** + * The **`font-variant-numeric`** CSS property controls the usage of alternate glyphs for numbers, fractions, and ordinal markers. + * + * **Syntax**: `normal | [ || || || ordinal || slashed-zero ]` + * + * **Initial value**: `normal` + * + */ + fontVariantNumeric?: Property.FontVariantNumeric; + /** + * The **`font-variant-position`** CSS property controls the use of alternate, smaller glyphs that are positioned as superscript or subscript. + * + * **Syntax**: `normal | sub | super` + * + * **Initial value**: `normal` + * + */ + fontVariantPosition?: Property.FontVariantPosition; + /** + * The **`font-variation-settings`** CSS property provides low-level control over variable font characteristics, by specifying the four letter axis names of the characteristics you want to vary, along with their values. + * + * **Syntax**: `normal | [ ]#` + * + * **Initial value**: `normal` + * + */ + fontVariationSettings?: Property.FontVariationSettings; + /** + * The **`font-weight`** CSS property sets the weight (or boldness) of the font. The weights available depend on the `font-family` that is currently set. + * + * **Syntax**: ` | bolder | lighter` + * + * **Initial value**: `normal` + * + */ + fontWeight?: Property.FontWeight; + /** + * The **`forced-color-adjust`** CSS property allows authors to opt certain elements out of forced colors mode. This then restores the control of those values to CSS. + * + * **Syntax**: `auto | none` + * + * **Initial value**: `auto` + * + */ + forcedColorAdjust?: Property.ForcedColorAdjust; + /** + * The **`grid-auto-columns`** CSS property specifies the size of an implicitly-created grid column track or pattern of tracks. + * + * **Syntax**: `+` + * + * **Initial value**: `auto` + * + */ + gridAutoColumns?: Property.GridAutoColumns; + /** + * The **`grid-auto-flow`** CSS property controls how the auto-placement algorithm works, specifying exactly how auto-placed items get flowed into the grid. + * + * **Syntax**: `[ row | column ] || dense` + * + * **Initial value**: `row` + * + */ + gridAutoFlow?: Property.GridAutoFlow; + /** + * The **`grid-auto-rows`** CSS property specifies the size of an implicitly-created grid row track or pattern of tracks. + * + * **Syntax**: `+` + * + * **Initial value**: `auto` + * + */ + gridAutoRows?: Property.GridAutoRows; + /** + * The **`grid-column-end`** CSS property specifies a grid item’s end position within the grid column by contributing a line, a span, or nothing (automatic) to its grid placement, thereby specifying the block-end edge of its grid area. + * + * **Syntax**: `` + * + * **Initial value**: `auto` + * + */ + gridColumnEnd?: Property.GridColumnEnd; + /** + * The **`grid-column-start`** CSS property specifies a grid item’s start position within the grid column by contributing a line, a span, or nothing (automatic) to its grid placement. This start position defines the block-start edge of the grid area. + * + * **Syntax**: `` + * + * **Initial value**: `auto` + * + */ + gridColumnStart?: Property.GridColumnStart; + /** + * The **`grid-row-end`** CSS property specifies a grid item’s end position within the grid row by contributing a line, a span, or nothing (automatic) to its grid placement, thereby specifying the inline-end edge of its grid area. + * + * **Syntax**: `` + * + * **Initial value**: `auto` + * + */ + gridRowEnd?: Property.GridRowEnd; + /** + * The **`grid-row-start`** CSS property specifies a grid item’s start position within the grid row by contributing a line, a span, or nothing (automatic) to its grid placement, thereby specifying the inline-start edge of its grid area. + * + * **Syntax**: `` + * + * **Initial value**: `auto` + * + */ + gridRowStart?: Property.GridRowStart; + /** + * The **`grid-template-areas`** CSS property specifies named grid areas, establishing the cells in the grid and assigning them names. + * + * **Syntax**: `none | +` + * + * **Initial value**: `none` + * + */ + gridTemplateAreas?: Property.GridTemplateAreas; + /** + * The **`grid-template-columns`** CSS property defines the line names and track sizing functions of the grid columns. + * + * **Syntax**: `none | | | subgrid ?` + * + * **Initial value**: `none` + * + */ + gridTemplateColumns?: Property.GridTemplateColumns; + /** + * The **`grid-template-rows`** CSS property defines the line names and track sizing functions of the grid rows. + * + * **Syntax**: `none | | | subgrid ?` + * + * **Initial value**: `none` + * + */ + gridTemplateRows?: Property.GridTemplateRows; + /** + * 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. + * + * **Syntax**: `none | [ first || [ force-end | allow-end ] || last ]` + * + * **Initial value**: `none` + * + */ + hangingPunctuation?: Property.HangingPunctuation; + /** + * The **`height`** CSS property specifies the height of an element. By default, the property defines the height of the content area. If `box-sizing` is set to `border-box`, however, it instead determines the height of the border area. + * + * **Syntax**: `auto | | | min-content | max-content | fit-content | fit-content()` + * + * **Initial value**: `auto` + * + */ + height?: Property.Height; + /** + * The **`hyphens`** CSS property specifies how words should be hyphenated when text wraps across multiple lines. It can prevent hyphenation entirely, hyphenate at manually-specified points within the text, or let the browser automatically insert hyphens where appropriate. + * + * **Syntax**: `none | manual | auto` + * + * **Initial value**: `manual` + * + */ + hyphens?: Property.Hyphens; + /** + * The **`image-orientation`** CSS property specifies a layout-independent correction to the orientation of an image. It should _not_ be used for any other orientation adjustments; instead, the `transform` property should be used with the `rotate` ``. + * + * **Syntax**: `from-image | | [ ? flip ]` + * + * **Initial value**: `from-image` + * + */ + imageOrientation?: Property.ImageOrientation; + /** + * The **`image-rendering`** CSS property sets an image scaling algorithm. The property applies to an element itself, to any images set in its other properties, and to its descendants. + * + * **Syntax**: `auto | crisp-edges | pixelated` + * + * **Initial value**: `auto` + * + */ + imageRendering?: Property.ImageRendering; + /** + * **Syntax**: `[ from-image || ] && snap?` + * + * **Initial value**: `1dppx` + */ + imageResolution?: Property.ImageResolution; + /** + * The `initial-letter` CSS property sets styling for dropped, raised, and sunken initial letters. + * + * **Syntax**: `normal | [ ? ]` + * + * **Initial value**: `normal` + * + */ + initialLetter?: Property.InitialLetter; + /** + * The **`inline-size`** CSS property defines the horizontal or vertical size of an element's block, depending on its writing mode. It corresponds to either the `width` or the `height` property, depending on the value of `writing-mode`. + * + * **Syntax**: `<'width'>` + * + * **Initial value**: `auto` + * + */ + inlineSize?: Property.InlineSize; + /** + * The **`inset`** CSS property is a shorthand that corresponds to the `top`, `right`, `bottom`, and/or `left` properties. It has the same multi-value syntax of the `margin` shorthand. + * + * **Syntax**: `<'top'>{1,4}` + * + * **Initial value**: `auto` + * + */ + inset?: Property.Inset; + /** + * The **`inset-inline`** CSS property defines the logical start and end offsets of an element in the inline direction, which maps to physical offsets depending on the element's writing mode, directionality, and text orientation. It corresponds to the `top` and `bottom`, or `right` and `left` properties depending on the values defined for `writing-mode`, `direction`, and `text-orientation`. + * + * **Syntax**: `<'top'>{1,2}` + * + * **Initial value**: `auto` + * + */ + insetBlock?: Property.InsetBlock; + /** + * The **`inset-block-end`** CSS property defines the logical block end offset of an element, which maps to a physical inset depending on the element's writing mode, directionality, and text orientation. It corresponds to the `top`, `right`, `bottom`, or `left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`. + * + * **Syntax**: `<'top'>` + * + * **Initial value**: `auto` + * + */ + insetBlockEnd?: Property.InsetBlockEnd; + /** + * The **`inset-block-start`** CSS property defines the logical block start offset of an element, which maps to a physical inset depending on the element's writing mode, directionality, and text orientation. It corresponds to the `top`, `right`, `bottom`, or `left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`. + * + * **Syntax**: `<'top'>` + * + * **Initial value**: `auto` + * + */ + insetBlockStart?: Property.InsetBlockStart; + /** + * The **`inset-inline`** CSS property defines the logical start and end offsets of an element in the inline direction, which maps to physical offsets depending on the element's writing mode, directionality, and text orientation. It corresponds to the `top` and `bottom`, or `right` and `left` properties depending on the values defined for `writing-mode`, `direction`, and `text-orientation`. + * + * **Syntax**: `<'top'>{1,2}` + * + * **Initial value**: `auto` + * + */ + insetInline?: Property.InsetInline; + /** + * The **`inset-inline-end`** CSS property defines the logical inline end inset of an element, which maps to a physical offset depending on the element's writing mode, directionality, and text orientation. It corresponds to the `top`, `right`, `bottom`, or `left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`. + * + * **Syntax**: `<'top'>` + * + * **Initial value**: `auto` + * + */ + insetInlineEnd?: Property.InsetInlineEnd; + /** + * 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`. + * + * **Syntax**: `<'top'>` + * + * **Initial value**: `auto` + * + */ + insetInlineStart?: Property.InsetInlineStart; + /** + * The **`isolation`** CSS property determines whether an element must create a new stacking context. + * + * **Syntax**: `auto | isolate` + * + * **Initial value**: `auto` + * + */ + isolation?: Property.Isolation; + /** + * The CSS **`justify-content`** property defines how the browser distributes space between and around content items along the main-axis of a flex container, and the inline axis of a grid container. + * + * **Syntax**: `normal | | ? [ | left | right ]` + * + * **Initial value**: `normal` + * + */ + justifyContent?: Property.JustifyContent; + /** + * The CSS **`justify-items`** property defines the default `justify-self` for all items of the box, giving them all a default way of justifying each box along the appropriate axis. + * + * **Syntax**: `normal | stretch | | ? [ | left | right ] | legacy | legacy && [ left | right | center ]` + * + * **Initial value**: `legacy` + * + */ + justifyItems?: Property.JustifyItems; + /** + * The CSS **`justify-self`** property sets the way a box is justified inside its alignment container along the appropriate axis. + * + * **Syntax**: `auto | normal | stretch | | ? [ | left | right ]` + * + * **Initial value**: `auto` + * + */ + justifySelf?: Property.JustifySelf; + /** + * The **`justify-tracks`** CSS property sets the alignment in the masonry axis for grid containers that have masonry in their inline axis. + * + * **Syntax**: `[ normal | | ? [ | left | right ] ]#` + * + * **Initial value**: `normal` + * + */ + justifyTracks?: Property.JustifyTracks; + /** + * The **`left`** CSS property participates in specifying the horizontal position of a positioned element. It has no effect on non-positioned elements. + * + * **Syntax**: ` | | auto` + * + * **Initial value**: `auto` + * + */ + left?: Property.Left; + /** + * The **`letter-spacing`** CSS property sets the horizontal spacing behavior between text characters. This value is added to the natural spacing between characters while rendering the text. Positive values of `letter-spacing` causes characters to spread farther apart, while negative values of `letter-spacing` bring characters closer together. + * + * **Syntax**: `normal | ` + * + * **Initial value**: `normal` + * + */ + letterSpacing?: Property.LetterSpacing; + /** + * The **`line-break`** CSS property sets how to break lines of Chinese, Japanese, or Korean (CJK) text when working with punctuation and symbols. + * + * **Syntax**: `auto | loose | normal | strict | anywhere` + * + * **Initial value**: `auto` + * + */ + lineBreak?: Property.LineBreak; + /** + * The **`line-height`** CSS property sets the height of a line box. It's commonly used to set the distance between lines of text. On block-level elements, it specifies the minimum height of line boxes within the element. On non-replaced inline elements, it specifies the height that is used to calculate line box height. + * + * **Syntax**: `normal | | | ` + * + * **Initial value**: `normal` + * + */ + lineHeight?: Property.LineHeight; + /** + * The **`line-height-step`** CSS property sets the step unit for line box heights. When the property is set, line box heights are rounded up to the closest multiple of the unit. + * + * **Syntax**: `` + * + * **Initial value**: `0` + * + */ + lineHeightStep?: Property.LineHeightStep; + /** + * The **`list-style-image`** CSS property sets an image to be used as the list item marker. + * + * **Syntax**: ` | none` + * + * **Initial value**: `none` + * + */ + listStyleImage?: Property.ListStyleImage; + /** + * The **`list-style-position`** CSS property sets the position of the `::marker` relative to a list item. + * + * **Syntax**: `inside | outside` + * + * **Initial value**: `outside` + * + */ + listStylePosition?: Property.ListStylePosition; + /** + * The **`list-style-type`** CSS property sets the marker (such as a disc, character, or custom counter style) of a list item element. + * + * **Syntax**: ` | | none` + * + * **Initial value**: `disc` + * + */ + listStyleType?: Property.ListStyleType; + /** + * The **`margin-block`** CSS shorthand property defines the logical block start and end margins of an element, which maps to physical margins depending on the element's writing mode, directionality, and text orientation. + * + * **Syntax**: `<'margin-left'>{1,2}` + * + * **Initial value**: `0` + * + */ + marginBlock?: Property.MarginBlock; + /** + * The **`margin-block-end`** CSS property defines the logical block end margin of an element, which maps to a physical margin depending on the element's writing mode, directionality, and text orientation. + * + * **Syntax**: `<'margin-left'>` + * + * **Initial value**: `0` + * + */ + marginBlockEnd?: Property.MarginBlockEnd; + /** + * The **`margin-block-start`** CSS property defines the logical block start margin of an element, which maps to a physical margin depending on the element's writing mode, directionality, and text orientation. + * + * **Syntax**: `<'margin-left'>` + * + * **Initial value**: `0` + * + */ + marginBlockStart?: Property.MarginBlockStart; + /** + * The **`margin-bottom`** CSS property sets the margin area on the bottom of an element. A positive value places it farther from its neighbors, while a negative value places it closer. + * + * **Syntax**: ` | | auto` + * + * **Initial value**: `0` + * + */ + marginBottom?: Property.MarginBottom; + /** + * The **`margin-inline`** CSS shorthand property is a shorthand property that defines both the logical inline start and end margins of an element, which maps to physical margins depending on the element's writing mode, directionality, and text orientation. + * + * **Syntax**: `<'margin-left'>{1,2}` + * + * **Initial value**: `0` + * + */ + marginInline?: Property.MarginInline; + /** + * The **`margin-inline-end`** CSS property defines the logical inline end margin of an element, which maps to a physical margin depending on the element's writing mode, directionality, and text orientation. In other words, it corresponds to the `margin-top`, `margin-right`, `margin-bottom` or `margin-left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`. + * + * **Syntax**: `<'margin-left'>` + * + * **Initial value**: `0` + * + */ + marginInlineEnd?: Property.MarginInlineEnd; + /** + * The **`margin-inline-start`** CSS property defines the logical inline start margin of an element, which maps to a physical margin depending on the element's writing mode, directionality, and text orientation. It corresponds to the `margin-top`, `margin-right`, `margin-bottom`, or `margin-left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`. + * + * **Syntax**: `<'margin-left'>` + * + * **Initial value**: `0` + * + */ + marginInlineStart?: Property.MarginInlineStart; + /** + * The **`margin-left`** CSS property sets the margin area on the left side of an element. A positive value places it farther from its neighbors, while a negative value places it closer. + * + * **Syntax**: ` | | auto` + * + * **Initial value**: `0` + * + */ + marginLeft?: Property.MarginLeft; + /** + * The **`margin-right`** CSS property sets the margin area on the right side of an element. A positive value places it farther from its neighbors, while a negative value places it closer. + * + * **Syntax**: ` | | auto` + * + * **Initial value**: `0` + * + */ + marginRight?: Property.MarginRight; + /** + * The **`margin-top`** CSS property sets the margin area on the top of an element. A positive value places it farther from its neighbors, while a negative value places it closer. + * + * **Syntax**: ` | | auto` + * + * **Initial value**: `0` + * + */ + marginTop?: Property.MarginTop; + /** + * The **`mask-border-mode`** CSS property specifies the blending mode used in a mask border. + * + * **Syntax**: `luminance | alpha` + * + * **Initial value**: `alpha` + */ + maskBorderMode?: Property.MaskBorderMode; + /** + * The **`mask-border-outset`** CSS property specifies the distance by which an element's mask border is set out from its border box. + * + * **Syntax**: `[ | ]{1,4}` + * + * **Initial value**: `0` + * + */ + maskBorderOutset?: Property.MaskBorderOutset; + /** + * The **`mask-border-repeat`** CSS property sets how the edge regions of a source image are adjusted to fit the dimensions of an element's mask border. + * + * **Syntax**: `[ stretch | repeat | round | space ]{1,2}` + * + * **Initial value**: `stretch` + * + */ + maskBorderRepeat?: Property.MaskBorderRepeat; + /** + * The **`mask-border-slice`** CSS property divides the image set by `mask-border-source` into regions. These regions are used to form the components of an element's mask border. + * + * **Syntax**: `{1,4} fill?` + * + * **Initial value**: `0` + * + */ + maskBorderSlice?: Property.MaskBorderSlice; + /** + * The **`mask-border-source`** CSS property sets the source image used to create an element's mask border. + * + * **Syntax**: `none | ` + * + * **Initial value**: `none` + * + */ + maskBorderSource?: Property.MaskBorderSource; + /** + * The **`mask-border-width`** CSS property sets the width of an element's mask border. + * + * **Syntax**: `[ | | auto ]{1,4}` + * + * **Initial value**: `auto` + * + */ + maskBorderWidth?: Property.MaskBorderWidth; + /** + * 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. + * + * **Syntax**: `[ | no-clip ]#` + * + * **Initial value**: `border-box` + * + */ + maskClip?: Property.MaskClip; + /** + * The **`mask-composite`** CSS property represents a compositing operation used on the current mask layer with the mask layers below it. + * + * **Syntax**: `#` + * + * **Initial value**: `add` + * + */ + maskComposite?: Property.MaskComposite; + /** + * The **`mask-image`** CSS property sets the image that is used as mask layer for an element. + * + * **Syntax**: `#` + * + * **Initial value**: `none` + * + */ + maskImage?: Property.MaskImage; + /** + * The **`mask-mode`** CSS property sets whether the mask reference defined by `mask-image` is treated as a luminance or alpha mask. + * + * **Syntax**: `#` + * + * **Initial value**: `match-source` + * + */ + maskMode?: Property.MaskMode; + /** + * The **`mask-origin`** CSS property sets the origin of a mask. + * + * **Syntax**: `#` + * + * **Initial value**: `border-box` + * + */ + maskOrigin?: Property.MaskOrigin; + /** + * The **`mask-position`** CSS property sets the initial position, relative to the mask position layer set by `mask-origin`, for each defined mask image. + * + * **Syntax**: `#` + * + * **Initial value**: `center` + * + */ + maskPosition?: Property.MaskPosition; + /** + * The **`mask-repeat`** CSS property sets how mask images are repeated. A mask image can be repeated along the horizontal axis, the vertical axis, both axes, or not repeated at all. + * + * **Syntax**: `#` + * + * **Initial value**: `no-repeat` + * + */ + maskRepeat?: Property.MaskRepeat; + /** + * The **`mask-size`** CSS property specifies the sizes of the mask images. The size of the image can be fully or partially constrained in order to preserve its intrinsic ratio. + * + * **Syntax**: `#` + * + * **Initial value**: `auto` + * + */ + maskSize?: Property.MaskSize; + /** + * The **`mask-type`** CSS property sets whether an SVG `` element is used as a _luminance_ or an _alpha_ mask. It applies to the `` element itself. + * + * **Syntax**: `luminance | alpha` + * + * **Initial value**: `luminance` + * + */ + maskType?: Property.MaskType; + /** + * The `math-style` property indicates whether MathML equations should render with normal or compact height. + * + * **Syntax**: `normal | compact` + * + * **Initial value**: `normal` + * + */ + mathStyle?: Property.MathStyle; + /** + * The `**max-block-size**` CSS property specifies the maximum size of an element in the direction opposite that of the writing direction as specified by `writing-mode`. That is, if the writing direction is horizontal, then `max-block-size` is equivalent to `max-height`; if the writing direction is vertical, `max-block-size` is the same as `max-width`. + * + * **Syntax**: `<'max-width'>` + * + * **Initial value**: `0` + * + */ + maxBlockSize?: Property.MaxBlockSize; + /** + * The **`max-height`** CSS property sets the maximum height of an element. It prevents the used value of the `height` property from becoming larger than the value specified for `max-height`. + * + * **Syntax**: `none | | min-content | max-content | fit-content | fit-content()` + * + * **Initial value**: `none` + * + */ + maxHeight?: Property.MaxHeight; + /** + * The **`max-inline-size`** CSS property defines the horizontal or vertical maximum size of an element's block, depending on its writing mode. It corresponds to either the `max-width` or the `max-height` property, depending on the value of `writing-mode`. + * + * **Syntax**: `<'max-width'>` + * + * **Initial value**: `0` + * + */ + maxInlineSize?: Property.MaxInlineSize; + /** + * **Syntax**: `none | ` + * + * **Initial value**: `none` + */ + maxLines?: Property.MaxLines; + /** + * The **`max-width`** CSS property sets the maximum width of an element. It prevents the used value of the `width` property from becoming larger than the value specified by `max-width`. + * + * **Syntax**: `none | | min-content | max-content | fit-content | fit-content()` + * + * **Initial value**: `none` + * + */ + maxWidth?: Property.MaxWidth; + /** + * The **`min-block-size`** CSS property defines the minimum horizontal or vertical size of an element's block, depending on its writing mode. It corresponds to either the `min-width` or the `min-height` property, depending on the value of `writing-mode`. + * + * **Syntax**: `<'min-width'>` + * + * **Initial value**: `0` + * + */ + minBlockSize?: Property.MinBlockSize; + /** + * The **`min-height`** CSS property sets the minimum height of an element. It prevents the used value of the `height` property from becoming smaller than the value specified for `min-height`. + * + * **Syntax**: `auto | | | min-content | max-content | fit-content | fit-content()` + * + * **Initial value**: `auto` + * + */ + minHeight?: Property.MinHeight; + /** + * The **`min-inline-size`** CSS property defines the horizontal or vertical minimal size of an element's block, depending on its writing mode. It corresponds to either the `min-width` or the `min-height` property, depending on the value of `writing-mode`. + * + * **Syntax**: `<'min-width'>` + * + * **Initial value**: `0` + * + */ + minInlineSize?: Property.MinInlineSize; + /** + * The **`min-width`** CSS property sets the minimum width of an element. It prevents the used value of the `width` property from becoming smaller than the value specified for `min-width`. + * + * **Syntax**: `auto | | | min-content | max-content | fit-content | fit-content()` + * + * **Initial value**: `auto` + * + */ + minWidth?: Property.MinWidth; + /** + * The **`mix-blend-mode`** CSS property sets how an element's content should blend with the content of the element's parent and the element's background. + * + * **Syntax**: `` + * + * **Initial value**: `normal` + * + */ + mixBlendMode?: Property.MixBlendMode; + /** + * The **`offset-distance`** CSS property specifies a position along an `offset-path` for an element to be placed. + * + * **Syntax**: `` + * + * **Initial value**: `0` + * + */ + motionDistance?: Property.OffsetDistance; + /** + * The **`offset-path`** CSS property specifies a motion path for an element to follow and defines the element's positioning within the parent container or SVG coordinate system. + * + * **Syntax**: `none | ray( [ && && contain? ] ) | | | [ || ]` + * + * **Initial value**: `none` + * + */ + motionPath?: Property.OffsetPath; + /** + * The **`offset-rotate`** CSS property defines the orientation/direction of the element as it is positioned along the `offset-path`. + * + * **Syntax**: `[ auto | reverse ] || ` + * + * **Initial value**: `auto` + * + */ + motionRotation?: Property.OffsetRotate; + /** + * The **`object-fit`** CSS property sets how the content of a replaced element, such as an `` or `
` cells, rows, and columns. + * + * **Syntax**: `auto | fixed` + * + * **Initial value**: `auto` + * + */ + tableLayout?: Property.TableLayout; + /** + * The **`text-align`** CSS property sets the horizontal alignment of a block element or table-cell box. This means it works like `vertical-align` but in the horizontal direction. + * + * **Syntax**: `start | end | left | right | center | justify | match-parent` + * + * **Initial value**: `start`, or a nameless value that acts as `left` if _direction_ is `ltr`, `right` if _direction_ is `rtl` if `start` is not supported by the browser. + * + */ + textAlign?: Property.TextAlign; + /** + * The **`text-align-last`** CSS property sets how the last line of a block or a line, right before a forced line break, is aligned. + * + * **Syntax**: `auto | start | end | left | right | center | justify` + * + * **Initial value**: `auto` + * + */ + textAlignLast?: Property.TextAlignLast; + /** + * The **`text-combine-upright`** CSS property sets the combination of characters into the space of a single character. If the combined text is wider than 1em, the user agent must fit the contents within 1em. The resulting composition is treated as a single upright glyph for layout and decoration. This property only has an effect in vertical writing modes. + * + * **Syntax**: `none | all | [ digits ? ]` + * + * **Initial value**: `none` + * + */ + textCombineUpright?: Property.TextCombineUpright; + /** + * The **`text-decoration-color`** CSS property sets the color of decorations added to text by `text-decoration-line`. + * + * **Syntax**: `` + * + * **Initial value**: `currentcolor` + * + */ + textDecorationColor?: Property.TextDecorationColor; + /** + * The **`text-decoration-line`** CSS property sets the kind of decoration that is used on text in an element, such as an underline or overline. + * + * **Syntax**: `none | [ underline || overline || line-through || blink ] | spelling-error | grammar-error` + * + * **Initial value**: `none` + * + */ + textDecorationLine?: Property.TextDecorationLine; + /** + * The **`text-decoration-skip`** CSS property sets what parts of an element’s content any text decoration affecting the element must skip over. It controls all text decoration lines drawn by the element and also any text decoration lines drawn by its ancestors. + * + * **Syntax**: `none | [ objects || [ spaces | [ leading-spaces || trailing-spaces ] ] || edges || box-decoration ]` + * + * **Initial value**: `objects` + * + */ + textDecorationSkip?: Property.TextDecorationSkip; + /** + * The **`text-decoration-skip-ink`** CSS property specifies how overlines and underlines are drawn when they pass over glyph ascenders and descenders. + * + * **Syntax**: `auto | all | none` + * + * **Initial value**: `auto` + * + */ + textDecorationSkipInk?: Property.TextDecorationSkipInk; + /** + * The **`text-decoration-style`** CSS property sets the style of the lines specified by `text-decoration-line`. The style applies to all lines that are set with `text-decoration-line`. + * + * **Syntax**: `solid | double | dotted | dashed | wavy` + * + * **Initial value**: `solid` + * + */ + textDecorationStyle?: Property.TextDecorationStyle; + /** + * The **`text-decoration-thickness`** CSS property sets the stroke thickness of the decoration line that is used on text in an element, such as a line-through, underline, or overline. + * + * **Syntax**: `auto | from-font | | ` + * + * **Initial value**: `auto` + * + */ + textDecorationThickness?: Property.TextDecorationThickness; + /** + * The **`text-decoration-thickness`** CSS property sets the stroke thickness of the decoration line that is used on text in an element, such as a line-through, underline, or overline. + * + * **Syntax**: `auto | from-font | | ` + * + * **Initial value**: `auto` + * + */ + textDecorationWidth?: Property.TextDecorationThickness; + /** + * The **`text-emphasis-color`** CSS property sets the color of emphasis marks. This value can also be set using the `text-emphasis` shorthand. + * + * **Syntax**: `` + * + * **Initial value**: `currentcolor` + * + */ + textEmphasisColor?: Property.TextEmphasisColor; + /** + * The **`text-emphasis-position`** CSS property sets where emphasis marks are drawn. Like ruby text, if there isn't enough room for emphasis marks, the line height is increased. + * + * **Syntax**: `[ over | under ] && [ right | left ]` + * + * **Initial value**: `over right` + * + */ + textEmphasisPosition?: Property.TextEmphasisPosition; + /** + * The **`text-emphasis-style`** CSS property sets the appearance of emphasis marks. It can also be set, and reset, using the `text-emphasis` shorthand. + * + * **Syntax**: `none | [ [ filled | open ] || [ dot | circle | double-circle | triangle | sesame ] ] | ` + * + * **Initial value**: `none` + * + */ + textEmphasisStyle?: Property.TextEmphasisStyle; + /** + * The **`text-indent`** CSS property sets the length of empty space (indentation) that is put before lines of text in a block. + * + * **Syntax**: ` && hanging? && each-line?` + * + * **Initial value**: `0` + * + */ + textIndent?: Property.TextIndent; + /** + * The **`text-justify`** CSS property sets what type of justification should be applied to text when `text-align``: justify;` is set on an element. + * + * **Syntax**: `auto | inter-character | inter-word | none` + * + * **Initial value**: `auto` + * + */ + textJustify?: Property.TextJustify; + /** + * The **`text-orientation`** CSS property sets the orientation of the text characters in a line. It only affects text in vertical mode (when `writing-mode` is not `horizontal-tb`). It is useful for controlling the display of languages that use vertical script, and also for making vertical table headers. + * + * **Syntax**: `mixed | upright | sideways` + * + * **Initial value**: `mixed` + * + */ + textOrientation?: Property.TextOrientation; + /** + * The **`text-overflow`** CSS property sets how hidden overflow content is signaled to users. It can be clipped, display an ellipsis ('`…`'), or display a custom string. + * + * **Syntax**: `[ clip | ellipsis | ]{1,2}` + * + * **Initial value**: `clip` + * + */ + textOverflow?: Property.TextOverflow; + /** + * The **`text-rendering`** CSS property provides information to the rendering engine about what to optimize for when rendering text. + * + * **Syntax**: `auto | optimizeSpeed | optimizeLegibility | geometricPrecision` + * + * **Initial value**: `auto` + * + */ + textRendering?: Property.TextRendering; + /** + * The **`text-shadow`** CSS property adds shadows to text. It accepts a comma-separated list of shadows to be applied to the text and any of its `decorations`. Each shadow is described by some combination of X and Y offsets from the element, blur radius, and color. + * + * **Syntax**: `none | #` + * + * **Initial value**: `none` + * + */ + textShadow?: Property.TextShadow; + /** + * The **`text-size-adjust`** CSS property controls the text inflation algorithm used on some smartphones and tablets. Other browsers will ignore this property. + * + * **Syntax**: `none | auto | ` + * + * **Initial value**: `auto` for smartphone browsers supporting inflation, `none` in other cases (and then not modifiable). + * + */ + textSizeAdjust?: Property.TextSizeAdjust; + /** + * The **`text-transform`** CSS property specifies how to capitalize an element's text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. It also can help improve legibility for ruby. + * + * **Syntax**: `none | capitalize | uppercase | lowercase | full-width | full-size-kana` + * + * **Initial value**: `none` + * + */ + textTransform?: Property.TextTransform; + /** + * The **`text-underline-offset`** CSS property sets the offset distance of an underline text decoration line (applied using `text-decoration`) from its original position. + * + * **Syntax**: `auto | | ` + * + * **Initial value**: `auto` + * + */ + textUnderlineOffset?: Property.TextUnderlineOffset; + /** + * The **`text-underline-position`** CSS property specifies the position of the underline which is set using the `text-decoration` property's `underline` value. + * + * **Syntax**: `auto | from-font | [ under || [ left | right ] ]` + * + * **Initial value**: `auto` + * + */ + textUnderlinePosition?: Property.TextUnderlinePosition; + /** + * The **`top`** CSS property participates in specifying the vertical position of a positioned element. It has no effect on non-positioned elements. + * + * **Syntax**: ` | | auto` + * + * **Initial value**: `auto` + * + */ + top?: Property.Top; + /** + * The **`touch-action`** CSS property sets how an element's region can be manipulated by a touchscreen user (for example, by zooming features built into the browser). + * + * **Syntax**: `auto | none | [ [ pan-x | pan-left | pan-right ] || [ pan-y | pan-up | pan-down ] || pinch-zoom ] | manipulation` + * + * **Initial value**: `auto` + * + */ + touchAction?: Property.TouchAction; + /** + * The **`transform`** CSS property lets you rotate, scale, skew, or translate an element. It modifies the coordinate space of the CSS visual formatting model. + * + * **Syntax**: `none | ` + * + * **Initial value**: `none` + * + */ + transform?: Property.Transform; + /** + * The **`transform-box`** CSS property defines the layout box to which the `transform` and `transform-origin` properties relate. + * + * **Syntax**: `content-box | border-box | fill-box | stroke-box | view-box` + * + * **Initial value**: `view-box` + * + */ + transformBox?: Property.TransformBox; + /** + * The **`transform-origin`** CSS property sets the origin for an element's transformations. + * + * **Syntax**: `[ | left | center | right | top | bottom ] | [ [ | left | center | right ] && [ | top | center | bottom ] ] ?` + * + * **Initial value**: `50% 50% 0` + * + */ + transformOrigin?: Property.TransformOrigin; + /** + * The **`transform-style`** CSS property sets whether children of an element are positioned in the 3D space or are flattened in the plane of the element. + * + * **Syntax**: `flat | preserve-3d` + * + * **Initial value**: `flat` + * + */ + transformStyle?: Property.TransformStyle; + /** + * The **`transition-delay`** CSS property specifies the duration to wait before starting a property's transition effect when its value changes. + * + * **Syntax**: `
`. + * + * **Syntax**: `visible | hidden | collapse` + * + * **Initial value**: `visible` + * + */ + visibility?: Property.Visibility; + /** + * The **`white-space`** CSS property sets how white space inside an element is handled. + * + * **Syntax**: `normal | pre | nowrap | pre-wrap | pre-line | break-spaces` + * + * **Initial value**: `normal` + * + */ + whiteSpace?: Property.WhiteSpace; + /** + * The **`widows`** CSS property sets the minimum number of lines in a block container that must be shown at the _top_ of a page, region, or column. + * + * **Syntax**: `` + * + * **Initial value**: `2` + * + */ + widows?: Property.Widows; + /** + * The **`width`** CSS property sets an element's width. By default, it sets the width of the content area, but if `box-sizing` is set to `border-box`, it sets the width of the border area. + * + * **Syntax**: `auto | | | min-content | max-content | fit-content | fit-content()` + * + * **Initial value**: `auto` + * + */ + width?: Property.Width; + /** + * The **`will-change`** CSS property hints to browsers how an element is expected to change. Browsers may set up optimizations before an element is actually changed. These kinds of optimizations can increase the responsiveness of a page by doing potentially expensive work before they are actually required. + * + * **Syntax**: `auto | #` + * + * **Initial value**: `auto` + * + */ + willChange?: Property.WillChange; + /** + * The **`word-break`** CSS property sets whether line breaks appear wherever the text would otherwise overflow its content box. + * + * **Syntax**: `normal | break-all | keep-all | break-word` + * + * **Initial value**: `normal` + * + */ + wordBreak?: Property.WordBreak; + /** + * The **`word-spacing`** CSS property sets the length of space between words and between tags. + * + * **Syntax**: `normal | ` + * + * **Initial value**: `normal` + * + */ + wordSpacing?: Property.WordSpacing; + /** + * The `**overflow-wrap**` CSS property applies to inline elements, setting whether the browser should insert line breaks within an otherwise unbreakable string to prevent text from overflowing its line box. + * + * **Syntax**: `normal | break-word` + * + * **Initial value**: `normal` + */ + wordWrap?: Property.WordWrap; + /** + * The **`writing-mode`** CSS property sets whether lines of text are laid out horizontally or vertically, as well as the direction in which blocks progress. When set for an entire document, it should be set on the root element (`html` element for HTML documents). + * + * **Syntax**: `horizontal-tb | vertical-rl | vertical-lr | sideways-rl | sideways-lr` + * + * **Initial value**: `horizontal-tb` + * + */ + writingMode?: Property.WritingMode; + /** + * The **`z-index`** CSS property sets the z-order of a positioned element and its descendants or flex items. Overlapping elements with a larger z-index cover those with a smaller one. + * + * **Syntax**: `auto | ` + * + * **Initial value**: `auto` + * + */ + zIndex?: Property.ZIndex; + /** + * The non-standard **`zoom`** CSS property can be used to control the magnification level of an element. `transform: scale()` should be used instead of this property, if possible. However, unlike CSS Transforms, `zoom` affects the layout size of the element. + * + * **Syntax**: `normal | reset | | ` + * + * **Initial value**: `normal` + * + */ + zoom?: Property.Zoom; +} + +export interface StandardShorthandProperties { + /** + * The `**all**` shorthand CSS property resets all of an element's properties except `unicode-bidi`, `direction`, and CSS Custom Properties. It can set properties to their initial or inherited values, or to the values specified in another stylesheet origin. + * + * **Syntax**: `initial | inherit | unset | revert` + * + * **Initial value**: There is no practical initial value for it. + * + */ + all?: Property.All; + /** + * The **`animation`** shorthand CSS property applies an animation between styles. It is a shorthand for `animation-name`, `animation-duration`, `animation-timing-function`, `animation-delay`, `animation-iteration-count`, `animation-direction`, `animation-fill-mode`, and `animation-play-state`. + * + * **Syntax**: `#` + * + */ + animation?: Property.Animation; + /** + * The **`background`** shorthand CSS property sets all background style properties at once, such as color, image, origin and size, or repeat method. + * + * **Syntax**: `[ , ]* ` + * + */ + background?: Property.Background; + /** + * The **`background-position`** CSS property sets the initial position for each background image. The position is relative to the position layer set by `background-origin`. + * + * **Syntax**: `#` + * + * **Initial value**: `0% 0%` + * + */ + backgroundPosition?: Property.BackgroundPosition; + /** + * The **`border`** shorthand CSS property sets an element's border. It sets the values of `border-width`, `border-style`, and `border-color`. + * + * **Syntax**: ` || || ` + * + */ + border?: Property.Border; + /** + * 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. + * + * **Syntax**: `<'border-top-width'> || <'border-top-style'> || ` + * + */ + borderBlock?: Property.BorderBlock; + /** + * The **`border-block-end`** CSS property is a shorthand property for setting the individual logical block-end border property values in a single place in the style sheet. + * + * **Syntax**: `<'border-top-width'> || <'border-top-style'> || ` + * + */ + borderBlockEnd?: Property.BorderBlockEnd; + /** + * The **`border-block-start`** CSS property is a shorthand property for setting the individual logical block-start border property values in a single place in the style sheet. + * + * **Syntax**: `<'border-top-width'> || <'border-top-style'> || ` + * + */ + borderBlockStart?: Property.BorderBlockStart; + /** + * The **`border-bottom`** shorthand CSS property sets an element's bottom border. It sets the values of `border-bottom-width`, `border-bottom-style` and `border-bottom-color`. + * + * **Syntax**: ` || || ` + * + */ + borderBottom?: Property.BorderBottom; + /** + * The **`border-color`** shorthand CSS property sets the color of an element's border. + * + * **Syntax**: `{1,4}` + * + */ + borderColor?: Property.BorderColor; + /** + * The **`border-image`** CSS property draws an image around a given element. It replaces the element's regular border. + * + * **Syntax**: `<'border-image-source'> || <'border-image-slice'> [ / <'border-image-width'> | / <'border-image-width'>? / <'border-image-outset'> ]? || <'border-image-repeat'>` + * + */ + borderImage?: Property.BorderImage; + /** + * 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. + * + * **Syntax**: `<'border-top-width'> || <'border-top-style'> || ` + * + */ + borderInline?: Property.BorderInline; + /** + * The **`border-inline-end`** CSS property is a shorthand property for setting the individual logical inline-end border property values in a single place in the style sheet. + * + * **Syntax**: `<'border-top-width'> || <'border-top-style'> || ` + * + */ + borderInlineEnd?: Property.BorderInlineEnd; + /** + * The **`border-inline-start`** CSS property is a shorthand property for setting the individual logical inline-start border property values in a single place in the style sheet. + * + * **Syntax**: `<'border-top-width'> || <'border-top-style'> || ` + * + */ + borderInlineStart?: Property.BorderInlineStart; + /** + * The **`border-left`** shorthand CSS property sets all the properties of an element's left border. + * + * **Syntax**: ` || || ` + * + */ + borderLeft?: Property.BorderLeft; + /** + * The **`border-radius`** CSS property rounds the corners of an element's outer border edge. You can set a single radius to make circular corners, or two radii to make elliptical corners. + * + * **Syntax**: `{1,4} [ / {1,4} ]?` + * + */ + borderRadius?: Property.BorderRadius; + /** + * The **`border-right`** shorthand CSS property sets all the properties of an element's right border. + * + * **Syntax**: ` || || ` + * + */ + borderRight?: Property.BorderRight; + /** + * The **`border-style`** shorthand CSS property sets the line style for all four sides of an element's border. + * + * **Syntax**: `{1,4}` + * + */ + borderStyle?: Property.BorderStyle; + /** + * The **`border-top`** shorthand CSS property sets all the properties of an element's top border. + * + * **Syntax**: ` || || ` + * + */ + borderTop?: Property.BorderTop; + /** + * The **`border-width`** shorthand CSS property sets the width of an element's border. + * + * **Syntax**: `{1,4}` + * + */ + borderWidth?: Property.BorderWidth; + /** + * The **`column-rule`** shorthand CSS property sets the width, style, and color of the line drawn between columns in a multi-column layout. + * + * **Syntax**: `<'column-rule-width'> || <'column-rule-style'> || <'column-rule-color'>` + * + */ + columnRule?: Property.ColumnRule; + /** + * The **`columns`** CSS shorthand property sets the number of columns to use when drawing an element's contents, as well as those columns' widths. + * + * **Syntax**: `<'column-width'> || <'column-count'>` + * + */ + columns?: Property.Columns; + /** + * The **`flex`** CSS shorthand property sets how a flex _item_ will grow or shrink to fit the space available in its flex container. + * + * **Syntax**: `none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]` + * + */ + flex?: Property.Flex; + /** + * The **`flex-flow`** CSS shorthand property specifies the direction of a flex container, as well as its wrapping behavior. + * + * **Syntax**: `<'flex-direction'> || <'flex-wrap'>` + * + */ + flexFlow?: Property.FlexFlow; + /** + * The **`font`** CSS shorthand property sets all the different properties of an element's font. Alternatively, it sets an element's font to a system font. + * + * **Syntax**: `[ [ <'font-style'> || || <'font-weight'> || <'font-stretch'> ]? <'font-size'> [ / <'line-height'> ]? <'font-family'> ] | caption | icon | menu | message-box | small-caption | status-bar` + * + */ + font?: Property.Font; + /** + * The **`gap`** CSS property sets the gaps (gutters) between rows and columns. It is a shorthand for `row-gap` and `column-gap`. + * + * **Syntax**: `<'row-gap'> <'column-gap'>?` + * + */ + gap?: Property.Gap; + /** + * The **`grid`** CSS property is a shorthand property that sets all of the explicit and implicit grid properties in a single declaration. + * + * **Syntax**: `<'grid-template'> | <'grid-template-rows'> / [ auto-flow && dense? ] <'grid-auto-columns'>? | [ auto-flow && dense? ] <'grid-auto-rows'>? / <'grid-template-columns'>` + * + */ + grid?: Property.Grid; + /** + * The **`grid-area`** CSS shorthand property specifies a grid item’s size and location within a grid by contributing a line, a span, or nothing (automatic) to its grid placement, thereby specifying the edges of its grid area. + * + * **Syntax**: ` [ / ]{0,3}` + * + */ + gridArea?: Property.GridArea; + /** + * The **`grid-column`** CSS shorthand property specifies a grid item's size and location within a grid column by contributing a line, a span, or nothing (automatic) to its grid placement, thereby specifying the inline-start and inline-end edge of its grid area. + * + * **Syntax**: ` [ / ]?` + * + */ + gridColumn?: Property.GridColumn; + /** + * The **`grid-row`** CSS shorthand property specifies a grid item’s size and location within the grid row by contributing a line, a span, or nothing (automatic) to its grid placement, thereby specifying the inline-start and inline-end edge of its grid area. + * + * **Syntax**: ` [ / ]?` + * + */ + gridRow?: Property.GridRow; + /** + * The **`grid-template`** CSS property is a shorthand property for defining grid columns, rows, and areas. + * + * **Syntax**: `none | [ <'grid-template-rows'> / <'grid-template-columns'> ] | [ ? ? ? ]+ [ / ]?` + * + */ + gridTemplate?: Property.GridTemplate; + /** + * **Syntax**: `none | ` + * + * **Initial value**: `none` + */ + lineClamp?: Property.LineClamp; + /** + * The **`list-style`** CSS shorthand property allows you set all the list style properties at once. + * + * **Syntax**: `<'list-style-type'> || <'list-style-position'> || <'list-style-image'>` + * + */ + listStyle?: Property.ListStyle; + /** + * The **`margin`** CSS property sets the margin area on all four sides of an element. It is a shorthand for `margin-top`, `margin-right`, `margin-bottom`, and `margin-left`. + * + * **Syntax**: `[ | | auto ]{1,4}` + * + */ + margin?: Property.Margin; + /** + * The **`mask`** CSS shorthand property hides an element (partially or fully) by masking or clipping the image at specific points. + * + * **Syntax**: `#` + * + */ + mask?: Property.Mask; + /** + * The **`mask-border`** CSS shorthand property lets you create a mask along the edge of an element's border. + * + * **Syntax**: `<'mask-border-source'> || <'mask-border-slice'> [ / <'mask-border-width'>? [ / <'mask-border-outset'> ]? ]? || <'mask-border-repeat'> || <'mask-border-mode'>` + * + */ + maskBorder?: Property.MaskBorder; + /** + * The **`offset`** CSS shorthand property sets all the properties required for animating an element along a defined path. + * + * **Syntax**: `[ <'offset-position'>? [ <'offset-path'> [ <'offset-distance'> || <'offset-rotate'> ]? ]? ]! [ / <'offset-anchor'> ]?` + * + */ + motion?: Property.Offset; + /** + * The **`offset`** CSS shorthand property sets all the properties required for animating an element along a defined path. + * + * **Syntax**: `[ <'offset-position'>? [ <'offset-path'> [ <'offset-distance'> || <'offset-rotate'> ]? ]? ]! [ / <'offset-anchor'> ]?` + * + */ + offset?: Property.Offset; + /** + * The **`outline`** CSS shorthand property set all the outline properties in a single declaration. + * + * **Syntax**: `[ <'outline-color'> || <'outline-style'> || <'outline-width'> ]` + * + */ + outline?: Property.Outline; + /** + * The **`overflow`** CSS shorthand property sets the desired behavior for an element's overflow — i.e. when an element's content is too big to fit in its block formatting context — in both directions. + * + * **Syntax**: `[ visible | hidden | clip | scroll | auto ]{1,2}` + * + * **Initial value**: `visible` + * + */ + overflow?: Property.Overflow; + /** + * The **`overscroll-behavior`** CSS property sets what a browser does when reaching the boundary of a scrolling area. It's a shorthand for `overscroll-behavior-x` and `overscroll-behavior-y`. + * + * **Syntax**: `[ contain | none | auto ]{1,2}` + * + * **Initial value**: `auto` + * + */ + overscrollBehavior?: Property.OverscrollBehavior; + /** + * The **`padding`** CSS shorthand property sets the padding area on all four sides of an element at once. + * + * **Syntax**: `[ | ]{1,4}` + * + */ + padding?: Property.Padding; + /** + * The CSS **`place-items`** shorthand property allows you to align items along both the block and inline directions at once (i.e. the `align-items` and `justify-items` properties) in a relevant layout system such as Grid or Flexbox. If the second value is not set, the first value is also used for it. + * + * **Syntax**: `<'align-items'> <'justify-items'>?` + * + */ + placeItems?: Property.PlaceItems; + /** + * The **`place-self`** CSS shorthand property allows you to align an individual item in both the block and inline directions at once (i.e. the `align-self` and `justify-self` properties) in a relevant layout system such as Grid or Flexbox. If the second value is not present, the first value is also used for it. + * + * **Syntax**: `<'align-self'> <'justify-self'>?` + * + */ + placeSelf?: Property.PlaceSelf; + /** + * The **`text-decoration`** shorthand CSS property sets the appearance of decorative lines on text. It is a shorthand for `text-decoration-line`, `text-decoration-color`, `text-decoration-style`, and the newer `text-decoration-thickness` property. + * + * **Syntax**: `<'text-decoration-line'> || <'text-decoration-style'> || <'text-decoration-color'> || <'text-decoration-thickness'>` + * + */ + textDecoration?: Property.TextDecoration; + /** + * The **`text-emphasis`** CSS property applies emphasis marks to text (except spaces and control characters). It is a shorthand for `text-emphasis-style` and `text-emphasis-color`. + * + * **Syntax**: `<'text-emphasis-style'> || <'text-emphasis-color'>` + * + */ + textEmphasis?: Property.TextEmphasis; + /** + * The **`transition`** CSS property is a shorthand property for `transition-property`, `transition-duration`, `transition-timing-function`, and `transition-delay`. + * + * **Syntax**: `#` + * + */ + transition?: Property.Transition; +} + +export interface StandardProperties + extends StandardLonghandProperties, + StandardShorthandProperties {} + + +export interface SvgProperties { + alignmentBaseline?: Property.AlignmentBaseline; + baselineShift?: Property.BaselineShift; + clip?: Property.Clip; + clipPath?: Property.ClipPath; + clipRule?: Property.ClipRule; + color?: Property.Color; + colorInterpolation?: Property.ColorInterpolation; + colorRendering?: Property.ColorRendering; + cursor?: Property.Cursor; + direction?: Property.Direction; + display?: Property.Display; + dominantBaseline?: Property.DominantBaseline; + fill?: Property.Fill; + fillOpacity?: Property.FillOpacity; + fillRule?: Property.FillRule; + filter?: Property.Filter; + floodColor?: Property.FloodColor; + floodOpacity?: Property.FloodOpacity; + font?: Property.Font; + fontFamily?: Property.FontFamily; + fontSize?: Property.FontSize; + fontSizeAdjust?: Property.FontSizeAdjust; + fontStretch?: Property.FontStretch; + fontStyle?: Property.FontStyle; + fontVariant?: Property.FontVariant; + fontWeight?: Property.FontWeight; + glyphOrientationVertical?: Property.GlyphOrientationVertical; + imageRendering?: Property.ImageRendering; + letterSpacing?: Property.LetterSpacing; + lightingColor?: Property.LightingColor; + lineHeight?: Property.LineHeight; + marker?: Property.Marker; + markerEnd?: Property.MarkerEnd; + markerMid?: Property.MarkerMid; + markerStart?: Property.MarkerStart; + mask?: Property.Mask; + opacity?: Property.Opacity; + overflow?: Property.Overflow; + paintOrder?: Property.PaintOrder; + pointerEvents?: Property.PointerEvents; + shapeRendering?: Property.ShapeRendering; + stopColor?: Property.StopColor; + stopOpacity?: Property.StopOpacity; + stroke?: Property.Stroke; + strokeDasharray?: Property.StrokeDasharray; + strokeDashoffset?: Property.StrokeDashoffset; + strokeLinecap?: Property.StrokeLinecap; + strokeLinejoin?: Property.StrokeLinejoin; + strokeMiterlimit?: Property.StrokeMiterlimit; + strokeOpacity?: Property.StrokeOpacity; + strokeWidth?: Property.StrokeWidth; + textAnchor?: Property.TextAnchor; + textDecoration?: Property.TextDecoration; + textRendering?: Property.TextRendering; + unicodeBidi?: Property.UnicodeBidi; + vectorEffect?: Property.VectorEffect; + visibility?: Property.Visibility; + whiteSpace?: Property.WhiteSpace; + wordSpacing?: Property.WordSpacing; + writingMode?: Property.WritingMode; +} + +export interface Properties + extends StandardProperties, + SvgProperties {} + +export interface StandardLonghandPropertiesHyphen { + /** + * The CSS **`align-content`** property sets the distribution of space between and around content items along a flexbox's cross-axis or a grid's block axis. + * + * **Syntax**: `normal | | | ? ` + * + * **Initial value**: `normal` + * + */ + "align-content"?: Property.AlignContent; + /** + * The CSS **`align-items`** property sets the `align-self` value on all direct children as a group. In Flexbox, it controls the alignment of items on the Cross Axis. In Grid Layout, it controls the alignment of items on the Block Axis within their grid area. + * + * **Syntax**: `normal | stretch | | [ ? ]` + * + * **Initial value**: `normal` + * + */ + "align-items"?: Property.AlignItems; + /** + * The **`align-self`** CSS property overrides a grid or flex item's `align-items` value. In Grid, it aligns the item inside the grid area. In Flexbox, it aligns the item on the cross axis. + * + * **Syntax**: `auto | normal | stretch | | ? ` + * + * **Initial value**: `auto` + * + */ + "align-self"?: Property.AlignSelf; + /** + * The **`align-tracks`** CSS property sets the alignment in the masonry axis for grid containers that have masonry in their block axis. + * + * **Syntax**: `[ normal | | | ? ]#` + * + * **Initial value**: `normal` + * + */ + "align-tracks"?: Property.AlignTracks; + /** + * The **`animation-delay`** CSS property specifies the amount of time to wait from applying the animation to an element before beginning to perform the animation. The animation can start later, immediately from its beginning, or immediately and partway through the animation. + * + * **Syntax**: `
` have shared or separate borders. + * + * **Syntax**: `collapse | separate` + * + * **Initial value**: `separate` + * + */ + "border-collapse"?: Property.BorderCollapse; + /** + * The **`border-end-end-radius`** CSS property defines a logical border radius on an element, which maps to a physical border radius that depends on the element's `writing-mode`, `direction`, and `text-orientation`. This is useful when building styles to work regardless of the text orientation and writing mode. + * + * **Syntax**: `{1,2}` + * + * **Initial value**: `0` + * + */ + "border-end-end-radius"?: Property.BorderEndEndRadius; + /** + * The **`border-end-start-radius`** CSS property defines a logical border radius on an element, which maps to a physical border radius depending on the element's `writing-mode`, `direction`, and `text-orientation`. This is useful when building styles to work regardless of the text orientation and writing mode. + * + * **Syntax**: `{1,2}` + * + * **Initial value**: `0` + * + */ + "border-end-start-radius"?: Property.BorderEndStartRadius; + /** + * The **`border-image-outset`** CSS property sets the distance by which an element's border image is set out from its border box. + * + * **Syntax**: `[ | ]{1,4}` + * + * **Initial value**: `0` + * + */ + "border-image-outset"?: Property.BorderImageOutset; + /** + * The **`border-image-repeat`** CSS property defines how the edge regions of a source image are adjusted to fit the dimensions of an element's border image. + * + * **Syntax**: `[ stretch | repeat | round | space ]{1,2}` + * + * **Initial value**: `stretch` + * + */ + "border-image-repeat"?: Property.BorderImageRepeat; + /** + * The **`border-image-slice`** CSS property divides the image specified by `border-image-source` into regions. These regions form the components of an element's border image. + * + * **Syntax**: `{1,4} && fill?` + * + * **Initial value**: `100%` + * + */ + "border-image-slice"?: Property.BorderImageSlice; + /** + * The **`border-image-source`** CSS property sets the source image used to create an element's border image. + * + * **Syntax**: `none | ` + * + * **Initial value**: `none` + * + */ + "border-image-source"?: Property.BorderImageSource; + /** + * The **`border-image-width`** CSS property sets the width of an element's border image. + * + * **Syntax**: `[ | | auto ]{1,4}` + * + * **Initial value**: `1` + * + */ + "border-image-width"?: Property.BorderImageWidth; + /** + * 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`. + * + * **Syntax**: `<'border-top-color'>{1,2}` + * + * **Initial value**: `currentcolor` + * + */ + "border-inline-color"?: Property.BorderInlineColor; + /** + * The **`border-inline-end-color`** CSS property defines the color of the logical inline-end border of an element, which maps to a physical border color depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-color`, `border-right-color`, `border-bottom-color`, or `border-left-color` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`. + * + * **Syntax**: `<'border-top-color'>` + * + * **Initial value**: `currentcolor` + * + */ + "border-inline-end-color"?: Property.BorderInlineEndColor; + /** + * The **`border-inline-end-style`** CSS property defines the style of the logical inline end border of an element, which maps to a physical border style depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-style`, `border-right-style`, `border-bottom-style`, or `border-left-style` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`. + * + * **Syntax**: `<'border-top-style'>` + * + * **Initial value**: `none` + * + */ + "border-inline-end-style"?: Property.BorderInlineEndStyle; + /** + * The **`border-inline-end-width`** CSS property defines the width of the logical inline-end border of an element, which maps to a physical border width depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-width`, `border-right-width`, `border-bottom-width`, or `border-left-width` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`. + * + * **Syntax**: `<'border-top-width'>` + * + * **Initial value**: `medium` + * + */ + "border-inline-end-width"?: Property.BorderInlineEndWidth; + /** + * The **`border-inline-start-color`** CSS property defines the color of the logical inline start border of an element, which maps to a physical border color depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-color`, `border-right-color`, `border-bottom-color`, or `border-left-color` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`. + * + * **Syntax**: `<'border-top-color'>` + * + * **Initial value**: `currentcolor` + * + */ + "border-inline-start-color"?: Property.BorderInlineStartColor; + /** + * The **`border-inline-start-style`** CSS property defines the style of the logical inline start border of an element, which maps to a physical border style depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-style`, `border-right-style`, `border-bottom-style`, or `border-left-style` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`. + * + * **Syntax**: `<'border-top-style'>` + * + * **Initial value**: `none` + * + */ + "border-inline-start-style"?: Property.BorderInlineStartStyle; + /** + * The **`border-inline-start-width`** CSS property defines the width of the logical inline-start border of an element, which maps to a physical border width depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-width`, `border-right-width`, `border-bottom-width`, or `border-left-width` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`. + * + * **Syntax**: `<'border-top-width'>` + * + * **Initial value**: `medium` + * + */ + "border-inline-start-width"?: Property.BorderInlineStartWidth; + /** + * 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`. + * + * **Syntax**: `<'border-top-style'>` + * + * **Initial value**: `none` + * + */ + "border-inline-style"?: Property.BorderInlineStyle; + /** + * 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`. + * + * **Syntax**: `<'border-top-width'>` + * + * **Initial value**: `medium` + * + */ + "border-inline-width"?: Property.BorderInlineWidth; + /** + * The **`border-left-color`** CSS property sets the color of an element's left border. It can also be set with the shorthand CSS properties `border-color` or `border-left`. + * + * **Syntax**: `` + * + * **Initial value**: `currentcolor` + * + */ + "border-left-color"?: Property.BorderLeftColor; + /** + * The **`border-left-style`** CSS property sets the line style of an element's left `border`. + * + * **Syntax**: `` + * + * **Initial value**: `none` + * + */ + "border-left-style"?: Property.BorderLeftStyle; + /** + * The **`border-left-width`** CSS property sets the width of the left border of an element. + * + * **Syntax**: `` + * + * **Initial value**: `medium` + * + */ + "border-left-width"?: Property.BorderLeftWidth; + /** + * The **`border-right-color`** CSS property sets the color of an element's right border. It can also be set with the shorthand CSS properties `border-color` or `border-right`. + * + * **Syntax**: `` + * + * **Initial value**: `currentcolor` + * + */ + "border-right-color"?: Property.BorderRightColor; + /** + * The **`border-right-style`** CSS property sets the line style of an element's right `border`. + * + * **Syntax**: `` + * + * **Initial value**: `none` + * + */ + "border-right-style"?: Property.BorderRightStyle; + /** + * The **`border-right-width`** CSS property sets the width of the right border of an element. + * + * **Syntax**: `` + * + * **Initial value**: `medium` + * + */ + "border-right-width"?: Property.BorderRightWidth; + /** + * The **`border-spacing`** CSS property sets the distance between the borders of adjacent `
` cells. This property applies only when `border-collapse` is `separate`. + * + * **Syntax**: ` ?` + * + * **Initial value**: `0` + * + */ + "border-spacing"?: Property.BorderSpacing; + /** + * The **`border-start-end-radius`** CSS property defines a logical border radius on an element, which maps to a physical border radius depending on the element's `writing-mode`, `direction`, and `text-orientation`. This is useful when building styles to work regardless of the text orientation and writing mode. + * + * **Syntax**: `{1,2}` + * + * **Initial value**: `0` + * + */ + "border-start-end-radius"?: Property.BorderStartEndRadius; + /** + * The **`border-start-start-radius`** CSS property defines a logical border radius on an element, which maps to a physical border radius that depends on the element's `writing-mode`, `direction`, and `text-orientation`. This is useful when building styles to work regardless of the text orientation and writing mode. + * + * **Syntax**: `{1,2}` + * + * **Initial value**: `0` + * + */ + "border-start-start-radius"?: Property.BorderStartStartRadius; + /** + * The **`border-top-color`** CSS property sets the color of an element's top border. It can also be set with the shorthand CSS properties `border-color` or `border-top`. + * + * **Syntax**: `` + * + * **Initial value**: `currentcolor` + * + */ + "border-top-color"?: Property.BorderTopColor; + /** + * The **`border-top-left-radius`** CSS property rounds the top-left corner of an element by specifying the radius (or the radius of the semi-major and semi-minor axes) of the ellipse defining the curvature of the corner. + * + * **Syntax**: `{1,2}` + * + * **Initial value**: `0` + * + */ + "border-top-left-radius"?: Property.BorderTopLeftRadius; + /** + * The **`border-top-right-radius`** CSS property rounds the top-right corner of an element by specifying the radius (or the radius of the semi-major and semi-minor axes) of the ellipse defining the curvature of the corner. + * + * **Syntax**: `{1,2}` + * + * **Initial value**: `0` + * + */ + "border-top-right-radius"?: Property.BorderTopRightRadius; + /** + * The **`border-top-style`** CSS property sets the line style of an element's top `border`. + * + * **Syntax**: `` + * + * **Initial value**: `none` + * + */ + "border-top-style"?: Property.BorderTopStyle; + /** + * The **`border-top-width`** CSS property sets the width of the top border of an element. + * + * **Syntax**: `` + * + * **Initial value**: `medium` + * + */ + "border-top-width"?: Property.BorderTopWidth; + /** + * The **`bottom`** CSS property participates in setting the vertical position of a positioned element. It has no effect on non-positioned elements. + * + * **Syntax**: ` | | auto` + * + * **Initial value**: `auto` + * + */ + bottom?: Property.Bottom; + /** + * The **`box-decoration-break`** CSS property specifies how an element's fragments should be rendered when broken across multiple lines, columns, or pages. + * + * **Syntax**: `slice | clone` + * + * **Initial value**: `slice` + * + */ + "box-decoration-break"?: Property.BoxDecorationBreak; + /** + * The **`box-shadow`** CSS property adds shadow effects around an element's frame. You can set multiple effects separated by commas. A box shadow is described by X and Y offsets relative to the element, blur and spread radius, and color. + * + * **Syntax**: `none | #` + * + * **Initial value**: `none` + * + */ + "box-shadow"?: Property.BoxShadow; + /** + * The **`box-sizing`** CSS property sets how the total width and height of an element is calculated. + * + * **Syntax**: `content-box | border-box` + * + * **Initial value**: `content-box` + * + */ + "box-sizing"?: Property.BoxSizing; + /** + * The **`break-after`** CSS property sets how page, column, or region breaks should behave after a generated box. If there is no generated box, the property is ignored. + * + * **Syntax**: `auto | avoid | always | all | avoid-page | page | left | right | recto | verso | avoid-column | column | avoid-region | region` + * + * **Initial value**: `auto` + * + */ + "break-after"?: Property.BreakAfter; + /** + * The **`break-before`** CSS property sets how page, column, or region breaks should behave before a generated box. If there is no generated box, the property is ignored. + * + * **Syntax**: `auto | avoid | always | all | avoid-page | page | left | right | recto | verso | avoid-column | column | avoid-region | region` + * + * **Initial value**: `auto` + * + */ + "break-before"?: Property.BreakBefore; + /** + * The **`break-inside`** CSS property sets how page, column, or region breaks should behave inside a generated box. If there is no generated box, the property is ignored. + * + * **Syntax**: `auto | avoid | avoid-page | avoid-column | avoid-region` + * + * **Initial value**: `auto` + * + */ + "break-inside"?: Property.BreakInside; + /** + * The **`caption-side`** CSS property puts the content of a table's `
` on the specified side. The values are relative to the `writing-mode` of the table. + * + * **Syntax**: `top | bottom | block-start | block-end | inline-start | inline-end` + * + * **Initial value**: `top` + * + */ + "caption-side"?: Property.CaptionSide; + /** + * The **`caret-color`** CSS property sets the color of the **insertion caret**, the visible marker where the next character typed will be inserted. This is sometimes referred to as the **text input cursor**. The caret appears in elements such as `` or those with the `contenteditable` attribute. The caret is typically a thin vertical line that flashes to help make it more noticeable. By default, it is black, but its color can be altered with this property. + * + * **Syntax**: `auto | ` + * + * **Initial value**: `auto` + * + */ + "caret-color"?: Property.CaretColor; + /** + * The **`clear`** CSS property sets whether an element must be moved below (cleared) floating elements that precede it. The `clear` property applies to floating and non-floating elements. + * + * **Syntax**: `none | left | right | both | inline-start | inline-end` + * + * **Initial value**: `none` + * + */ + clear?: Property.Clear; + /** + * The `**clip-path**` CSS property creates a clipping region that sets what part of an element should be shown. Parts that are inside the region are shown, while those outside are hidden. + * + * **Syntax**: ` | [ || ] | none` + * + * **Initial value**: `none` + * + */ + "clip-path"?: Property.ClipPath; + /** + * The **`color`** CSS property sets the foreground color value of an element's text and text decorations, and sets the `` value. `currentcolor` may be used as an indirect value on _other_ properties and is the default for other color properties, such as `border-color`. + * + * **Syntax**: `` + * + * **Initial value**: Varies from one browser to another + * + */ + color?: Property.Color; + /** + * The **`color-adjust`** CSS property sets what, if anything, the user agent may do to optimize the appearance of the element on the output device. By default, the browser is allowed to make any adjustments to the element's appearance it determines to be necessary and prudent given the type and capabilities of the output device. + * + * **Syntax**: `economy | exact` + * + * **Initial value**: `economy` + * + */ + "color-adjust"?: Property.ColorAdjust; + /** + * The **`color-scheme`** CSS property allows an element to indicate which color schemes it can comfortably be rendered in. + * + * **Syntax**: `normal | [ light | dark | ]+` + * + * **Initial value**: `normal` + * + */ + "color-scheme"?: Property.ColorScheme; + /** + * The **`column-count`** CSS property breaks an element's content into the specified number of columns. + * + * **Syntax**: ` | auto` + * + * **Initial value**: `auto` + * + */ + "column-count"?: Property.ColumnCount; + /** + * The **`column-fill`** CSS property controls how an element's contents are balanced when broken into columns. + * + * **Syntax**: `auto | balance | balance-all` + * + * **Initial value**: `balance` + * + */ + "column-fill"?: Property.ColumnFill; + /** + * The **`column-gap`** CSS property sets the size of the gap (gutter) between an element's columns. + * + * **Syntax**: `normal | ` + * + * **Initial value**: `normal` + * + */ + "column-gap"?: Property.ColumnGap; + /** + * The **`column-rule-color`** CSS property sets the color of the line drawn between columns in a multi-column layout. + * + * **Syntax**: `` + * + * **Initial value**: `currentcolor` + * + */ + "column-rule-color"?: Property.ColumnRuleColor; + /** + * The **`column-rule-style`** CSS property sets the style of the line drawn between columns in a multi-column layout. + * + * **Syntax**: `<'border-style'>` + * + * **Initial value**: `none` + * + */ + "column-rule-style"?: Property.ColumnRuleStyle; + /** + * The **`column-rule-width`** CSS property sets the width of the line drawn between columns in a multi-column layout. + * + * **Syntax**: `<'border-width'>` + * + * **Initial value**: `medium` + * + */ + "column-rule-width"?: Property.ColumnRuleWidth; + /** + * The **`column-span`** CSS property makes it possible for an element to span across all columns when its value is set to `all`. + * + * **Syntax**: `none | all` + * + * **Initial value**: `none` + * + */ + "column-span"?: Property.ColumnSpan; + /** + * The **`column-width`** CSS property sets the ideal column width in a multi-column layout. The container will have as many columns as can fit without any of them having a width less than the `column-width` value. If the width of the container is narrower than the specified value, the single column's width will be smaller than the declared column width. + * + * **Syntax**: ` | auto` + * + * **Initial value**: `auto` + * + */ + "column-width"?: Property.ColumnWidth; + /** + * The **`contain`** CSS property allows an author to indicate that an element and its contents are, as much as possible, _independent_ of the rest of the document tree. This allows the browser to recalculate layout, style, paint, size, or any combination of them for a limited area of the DOM and not the entire page, leading to obvious performance benefits. + * + * **Syntax**: `none | strict | content | [ size || layout || style || paint ]` + * + * **Initial value**: `none` + * + */ + contain?: Property.Contain; + /** + * The **`content`** CSS property replaces an element with a generated value. Objects inserted using the `content` property are **anonymous replaced elements**_._ + * + * **Syntax**: `normal | none | [ | ] [/ ]?` + * + * **Initial value**: `normal` + * + */ + content?: Property.Content; + /** + * The **`content-visibility`** CSS property controls whether or not an element renders its contents at all, along with forcing a strong set of containments, allowing user agents to potentially omit large swathes of layout and rendering work until it becomes needed. Basically it enables the user agent to skip an element's rendering work, including layout and painting, until it is needed, makes the initial page load much faster. + * + * **Syntax**: `visible | auto | hidden` + * + * **Initial value**: `visible` + * + */ + "content-visibility"?: Property.ContentVisibility; + /** + * The **`counter-increment`** CSS property increases or decreases the value of a CSS counter by a given value. + * + * **Syntax**: `[ ? ]+ | none` + * + * **Initial value**: `none` + * + */ + "counter-increment"?: Property.CounterIncrement; + /** + * The **`counter-reset`** CSS property resets a CSS counter to a given value. + * + * **Syntax**: `[ ? ]+ | none` + * + * **Initial value**: `none` + * + */ + "counter-reset"?: Property.CounterReset; + /** + * 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. + * + * **Syntax**: `[ ? ]+ | none` + * + * **Initial value**: `none` + * + */ + "counter-set"?: Property.CounterSet; + /** + * The **`cursor`** CSS property sets the type of mouse cursor, if any, to show when the mouse pointer is over an element. + * + * **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 ] ]` + * + * **Initial value**: `auto` + * + */ + cursor?: Property.Cursor; + /** + * The **`direction`** CSS property sets the direction of text, table columns, and horizontal overflow. Use `rtl` for languages written from right to left (like Hebrew or Arabic), and `ltr` for those written from left to right (like English and most other languages). + * + * **Syntax**: `ltr | rtl` + * + * **Initial value**: `ltr` + * + */ + direction?: Property.Direction; + /** + * The **`display`** CSS property sets whether an element is treated as a block or inline element and the layout used for its children, such as flow layout, grid or flex. + * + * **Syntax**: `[ || ] | | | | ` + * + * **Initial value**: `inline` + * + */ + display?: Property.Display; + /** + * The **`empty-cells`** CSS property sets whether borders and backgrounds appear around `` cells that have no visible content. + * + * **Syntax**: `show | hide` + * + * **Initial value**: `show` + * + */ + "empty-cells"?: Property.EmptyCells; + /** + * The **`filter`** CSS property applies graphical effects like blur or color shift to an element. Filters are commonly used to adjust the rendering of images, backgrounds, and borders. + * + * **Syntax**: `none | ` + * + * **Initial value**: `none` + * + */ + filter?: Property.Filter; + /** + * The **`flex-basis`** CSS property sets the initial main size of a flex item. It sets the size of the content box unless otherwise set with `box-sizing`. + * + * **Syntax**: `content | <'width'>` + * + * **Initial value**: `auto` + * + */ + "flex-basis"?: Property.FlexBasis; + /** + * The **`flex-direction`** CSS property sets how flex items are placed in the flex container defining the main axis and the direction (normal or reversed). + * + * **Syntax**: `row | row-reverse | column | column-reverse` + * + * **Initial value**: `row` + * + */ + "flex-direction"?: Property.FlexDirection; + /** + * The **`flex-grow`** CSS property sets the flex grow factor of a flex item main size. + * + * **Syntax**: `` + * + * **Initial value**: `0` + * + */ + "flex-grow"?: Property.FlexGrow; + /** + * The **`flex-shrink`** CSS property sets the flex shrink factor of a flex item. If the size of all flex items is larger than the flex container, items shrink to fit according to `flex-shrink`. + * + * **Syntax**: `` + * + * **Initial value**: `1` + * + */ + "flex-shrink"?: Property.FlexShrink; + /** + * The **`flex-wrap`** CSS property sets whether flex items are forced onto one line or can wrap onto multiple lines. If wrapping is allowed, it sets the direction that lines are stacked. + * + * **Syntax**: `nowrap | wrap | wrap-reverse` + * + * **Initial value**: `nowrap` + * + */ + "flex-wrap"?: Property.FlexWrap; + /** + * The **`float`** CSS property places an element on the left or right side of its container, allowing text and inline elements to wrap around it. The element is removed from the normal flow of the page, though still remaining a part of the flow (in contrast to absolute positioning). + * + * **Syntax**: `left | right | none | inline-start | inline-end` + * + * **Initial value**: `none` + * + */ + float?: Property.Float; + /** + * The **`font-family`** CSS property specifies a prioritized list of one or more font family names and/or generic family names for the selected element. + * + * **Syntax**: `[ | ]#` + * + * **Initial value**: depends on user agent + * + */ + "font-family"?: Property.FontFamily; + /** + * The **`font-feature-settings`** CSS property controls advanced typographic features in OpenType fonts. + * + * **Syntax**: `normal | #` + * + * **Initial value**: `normal` + * + */ + "font-feature-settings"?: Property.FontFeatureSettings; + /** + * The **`font-kerning`** CSS property sets the use of the kerning information stored in a font. + * + * **Syntax**: `auto | normal | none` + * + * **Initial value**: `auto` + * + */ + "font-kerning"?: Property.FontKerning; + /** + * The **`font-language-override`** CSS property controls the use of language-specific glyphs in a typeface. + * + * **Syntax**: `normal | ` + * + * **Initial value**: `normal` + * + */ + "font-language-override"?: Property.FontLanguageOverride; + /** + * The **`font-optical-sizing`** CSS property sets whether text rendering is optimized for viewing at different sizes. + * + * **Syntax**: `auto | none` + * + * **Initial value**: `auto` + * + */ + "font-optical-sizing"?: Property.FontOpticalSizing; + /** + * The **`font-size`** CSS property sets the size of the font. Changing the font size also updates the sizes of the font size-relative `` units, such as `em`, `ex`, and so forth. + * + * **Syntax**: ` | | ` + * + * **Initial value**: `medium` + * + */ + "font-size"?: Property.FontSize; + /** + * The **`font-size-adjust`** CSS property sets the size of lower-case letters relative to the current font size (which defines the size of upper-case letters). + * + * **Syntax**: `none | ` + * + * **Initial value**: `none` + * + */ + "font-size-adjust"?: Property.FontSizeAdjust; + /** + * The **`font-smooth`** CSS property controls the application of anti-aliasing when fonts are rendered. + * + * **Syntax**: `auto | always | | ` + * + * **Initial value**: `auto` + * + */ + "font-smooth"?: Property.FontSmooth; + /** + * The **`font-stretch`** CSS property selects a normal, condensed, or expanded face from a font. + * + * **Syntax**: `` + * + * **Initial value**: `normal` + * + */ + "font-stretch"?: Property.FontStretch; + /** + * The **`font-style`** CSS property sets whether a font should be styled with a normal, italic, or oblique face from its `font-family`. + * + * **Syntax**: `normal | italic | oblique ?` + * + * **Initial value**: `normal` + * + */ + "font-style"?: Property.FontStyle; + /** + * The **`font-synthesis`** CSS property controls which missing typefaces, bold or italic, may be synthesized by the browser. + * + * **Syntax**: `none | [ weight || style ]` + * + * **Initial value**: `weight style` + * + */ + "font-synthesis"?: Property.FontSynthesis; + /** + * The **`font-variant`** CSS shorthand property allows you to set all the font variants for a font. + * + * **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 ]` + * + * **Initial value**: `normal` + * + */ + "font-variant"?: Property.FontVariant; + /** + * The **`font-variant-caps`** CSS property controls the use of alternate glyphs for capital letters. + * + * **Syntax**: `normal | small-caps | all-small-caps | petite-caps | all-petite-caps | unicase | titling-caps` + * + * **Initial value**: `normal` + * + */ + "font-variant-caps"?: Property.FontVariantCaps; + /** + * The **`font-variant-east-asian`** CSS property controls the use of alternate glyphs for East Asian scripts, like Japanese and Chinese. + * + * **Syntax**: `normal | [ || || ruby ]` + * + * **Initial value**: `normal` + * + */ + "font-variant-east-asian"?: Property.FontVariantEastAsian; + /** + * The **`font-variant-ligatures`** CSS property controls which ligatures and contextual forms are used in textual content of the elements it applies to. This leads to more harmonized forms in the resulting text. + * + * **Syntax**: `normal | none | [ || || || ]` + * + * **Initial value**: `normal` + * + */ + "font-variant-ligatures"?: Property.FontVariantLigatures; + /** + * The **`font-variant-numeric`** CSS property controls the usage of alternate glyphs for numbers, fractions, and ordinal markers. + * + * **Syntax**: `normal | [ || || || ordinal || slashed-zero ]` + * + * **Initial value**: `normal` + * + */ + "font-variant-numeric"?: Property.FontVariantNumeric; + /** + * The **`font-variant-position`** CSS property controls the use of alternate, smaller glyphs that are positioned as superscript or subscript. + * + * **Syntax**: `normal | sub | super` + * + * **Initial value**: `normal` + * + */ + "font-variant-position"?: Property.FontVariantPosition; + /** + * The **`font-variation-settings`** CSS property provides low-level control over variable font characteristics, by specifying the four letter axis names of the characteristics you want to vary, along with their values. + * + * **Syntax**: `normal | [ ]#` + * + * **Initial value**: `normal` + * + */ + "font-variation-settings"?: Property.FontVariationSettings; + /** + * The **`font-weight`** CSS property sets the weight (or boldness) of the font. The weights available depend on the `font-family` that is currently set. + * + * **Syntax**: ` | bolder | lighter` + * + * **Initial value**: `normal` + * + */ + "font-weight"?: Property.FontWeight; + /** + * The **`forced-color-adjust`** CSS property allows authors to opt certain elements out of forced colors mode. This then restores the control of those values to CSS. + * + * **Syntax**: `auto | none` + * + * **Initial value**: `auto` + * + */ + "forced-color-adjust"?: Property.ForcedColorAdjust; + /** + * The **`grid-auto-columns`** CSS property specifies the size of an implicitly-created grid column track or pattern of tracks. + * + * **Syntax**: `+` + * + * **Initial value**: `auto` + * + */ + "grid-auto-columns"?: Property.GridAutoColumns; + /** + * The **`grid-auto-flow`** CSS property controls how the auto-placement algorithm works, specifying exactly how auto-placed items get flowed into the grid. + * + * **Syntax**: `[ row | column ] || dense` + * + * **Initial value**: `row` + * + */ + "grid-auto-flow"?: Property.GridAutoFlow; + /** + * The **`grid-auto-rows`** CSS property specifies the size of an implicitly-created grid row track or pattern of tracks. + * + * **Syntax**: `+` + * + * **Initial value**: `auto` + * + */ + "grid-auto-rows"?: Property.GridAutoRows; + /** + * The **`grid-column-end`** CSS property specifies a grid item’s end position within the grid column by contributing a line, a span, or nothing (automatic) to its grid placement, thereby specifying the block-end edge of its grid area. + * + * **Syntax**: `` + * + * **Initial value**: `auto` + * + */ + "grid-column-end"?: Property.GridColumnEnd; + /** + * The **`grid-column-start`** CSS property specifies a grid item’s start position within the grid column by contributing a line, a span, or nothing (automatic) to its grid placement. This start position defines the block-start edge of the grid area. + * + * **Syntax**: `` + * + * **Initial value**: `auto` + * + */ + "grid-column-start"?: Property.GridColumnStart; + /** + * The **`grid-row-end`** CSS property specifies a grid item’s end position within the grid row by contributing a line, a span, or nothing (automatic) to its grid placement, thereby specifying the inline-end edge of its grid area. + * + * **Syntax**: `` + * + * **Initial value**: `auto` + * + */ + "grid-row-end"?: Property.GridRowEnd; + /** + * The **`grid-row-start`** CSS property specifies a grid item’s start position within the grid row by contributing a line, a span, or nothing (automatic) to its grid placement, thereby specifying the inline-start edge of its grid area. + * + * **Syntax**: `` + * + * **Initial value**: `auto` + * + */ + "grid-row-start"?: Property.GridRowStart; + /** + * The **`grid-template-areas`** CSS property specifies named grid areas, establishing the cells in the grid and assigning them names. + * + * **Syntax**: `none | +` + * + * **Initial value**: `none` + * + */ + "grid-template-areas"?: Property.GridTemplateAreas; + /** + * The **`grid-template-columns`** CSS property defines the line names and track sizing functions of the grid columns. + * + * **Syntax**: `none | | | subgrid ?` + * + * **Initial value**: `none` + * + */ + "grid-template-columns"?: Property.GridTemplateColumns; + /** + * The **`grid-template-rows`** CSS property defines the line names and track sizing functions of the grid rows. + * + * **Syntax**: `none | | | subgrid ?` + * + * **Initial value**: `none` + * + */ + "grid-template-rows"?: Property.GridTemplateRows; + /** + * 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. + * + * **Syntax**: `none | [ first || [ force-end | allow-end ] || last ]` + * + * **Initial value**: `none` + * + */ + "hanging-punctuation"?: Property.HangingPunctuation; + /** + * The **`height`** CSS property specifies the height of an element. By default, the property defines the height of the content area. If `box-sizing` is set to `border-box`, however, it instead determines the height of the border area. + * + * **Syntax**: `auto | | | min-content | max-content | fit-content | fit-content()` + * + * **Initial value**: `auto` + * + */ + height?: Property.Height; + /** + * The **`hyphens`** CSS property specifies how words should be hyphenated when text wraps across multiple lines. It can prevent hyphenation entirely, hyphenate at manually-specified points within the text, or let the browser automatically insert hyphens where appropriate. + * + * **Syntax**: `none | manual | auto` + * + * **Initial value**: `manual` + * + */ + hyphens?: Property.Hyphens; + /** + * The **`image-orientation`** CSS property specifies a layout-independent correction to the orientation of an image. It should _not_ be used for any other orientation adjustments; instead, the `transform` property should be used with the `rotate` ``. + * + * **Syntax**: `from-image | | [ ? flip ]` + * + * **Initial value**: `from-image` + * + */ + "image-orientation"?: Property.ImageOrientation; + /** + * The **`image-rendering`** CSS property sets an image scaling algorithm. The property applies to an element itself, to any images set in its other properties, and to its descendants. + * + * **Syntax**: `auto | crisp-edges | pixelated` + * + * **Initial value**: `auto` + * + */ + "image-rendering"?: Property.ImageRendering; + /** + * **Syntax**: `[ from-image || ] && snap?` + * + * **Initial value**: `1dppx` + */ + "image-resolution"?: Property.ImageResolution; + /** + * The `initial-letter` CSS property sets styling for dropped, raised, and sunken initial letters. + * + * **Syntax**: `normal | [ ? ]` + * + * **Initial value**: `normal` + * + */ + "initial-letter"?: Property.InitialLetter; + /** + * The **`inline-size`** CSS property defines the horizontal or vertical size of an element's block, depending on its writing mode. It corresponds to either the `width` or the `height` property, depending on the value of `writing-mode`. + * + * **Syntax**: `<'width'>` + * + * **Initial value**: `auto` + * + */ + "inline-size"?: Property.InlineSize; + /** + * The **`inset`** CSS property is a shorthand that corresponds to the `top`, `right`, `bottom`, and/or `left` properties. It has the same multi-value syntax of the `margin` shorthand. + * + * **Syntax**: `<'top'>{1,4}` + * + * **Initial value**: `auto` + * + */ + inset?: Property.Inset; + /** + * The **`inset-inline`** CSS property defines the logical start and end offsets of an element in the inline direction, which maps to physical offsets depending on the element's writing mode, directionality, and text orientation. It corresponds to the `top` and `bottom`, or `right` and `left` properties depending on the values defined for `writing-mode`, `direction`, and `text-orientation`. + * + * **Syntax**: `<'top'>{1,2}` + * + * **Initial value**: `auto` + * + */ + "inset-block"?: Property.InsetBlock; + /** + * The **`inset-block-end`** CSS property defines the logical block end offset of an element, which maps to a physical inset depending on the element's writing mode, directionality, and text orientation. It corresponds to the `top`, `right`, `bottom`, or `left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`. + * + * **Syntax**: `<'top'>` + * + * **Initial value**: `auto` + * + */ + "inset-block-end"?: Property.InsetBlockEnd; + /** + * The **`inset-block-start`** CSS property defines the logical block start offset of an element, which maps to a physical inset depending on the element's writing mode, directionality, and text orientation. It corresponds to the `top`, `right`, `bottom`, or `left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`. + * + * **Syntax**: `<'top'>` + * + * **Initial value**: `auto` + * + */ + "inset-block-start"?: Property.InsetBlockStart; + /** + * The **`inset-inline`** CSS property defines the logical start and end offsets of an element in the inline direction, which maps to physical offsets depending on the element's writing mode, directionality, and text orientation. It corresponds to the `top` and `bottom`, or `right` and `left` properties depending on the values defined for `writing-mode`, `direction`, and `text-orientation`. + * + * **Syntax**: `<'top'>{1,2}` + * + * **Initial value**: `auto` + * + */ + "inset-inline"?: Property.InsetInline; + /** + * The **`inset-inline-end`** CSS property defines the logical inline end inset of an element, which maps to a physical offset depending on the element's writing mode, directionality, and text orientation. It corresponds to the `top`, `right`, `bottom`, or `left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`. + * + * **Syntax**: `<'top'>` + * + * **Initial value**: `auto` + * + */ + "inset-inline-end"?: Property.InsetInlineEnd; + /** + * 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`. + * + * **Syntax**: `<'top'>` + * + * **Initial value**: `auto` + * + */ + "inset-inline-start"?: Property.InsetInlineStart; + /** + * The **`isolation`** CSS property determines whether an element must create a new stacking context. + * + * **Syntax**: `auto | isolate` + * + * **Initial value**: `auto` + * + */ + isolation?: Property.Isolation; + /** + * The CSS **`justify-content`** property defines how the browser distributes space between and around content items along the main-axis of a flex container, and the inline axis of a grid container. + * + * **Syntax**: `normal | | ? [ | left | right ]` + * + * **Initial value**: `normal` + * + */ + "justify-content"?: Property.JustifyContent; + /** + * The CSS **`justify-items`** property defines the default `justify-self` for all items of the box, giving them all a default way of justifying each box along the appropriate axis. + * + * **Syntax**: `normal | stretch | | ? [ | left | right ] | legacy | legacy && [ left | right | center ]` + * + * **Initial value**: `legacy` + * + */ + "justify-items"?: Property.JustifyItems; + /** + * The CSS **`justify-self`** property sets the way a box is justified inside its alignment container along the appropriate axis. + * + * **Syntax**: `auto | normal | stretch | | ? [ | left | right ]` + * + * **Initial value**: `auto` + * + */ + "justify-self"?: Property.JustifySelf; + /** + * The **`justify-tracks`** CSS property sets the alignment in the masonry axis for grid containers that have masonry in their inline axis. + * + * **Syntax**: `[ normal | | ? [ | left | right ] ]#` + * + * **Initial value**: `normal` + * + */ + "justify-tracks"?: Property.JustifyTracks; + /** + * The **`left`** CSS property participates in specifying the horizontal position of a positioned element. It has no effect on non-positioned elements. + * + * **Syntax**: ` | | auto` + * + * **Initial value**: `auto` + * + */ + left?: Property.Left; + /** + * The **`letter-spacing`** CSS property sets the horizontal spacing behavior between text characters. This value is added to the natural spacing between characters while rendering the text. Positive values of `letter-spacing` causes characters to spread farther apart, while negative values of `letter-spacing` bring characters closer together. + * + * **Syntax**: `normal | ` + * + * **Initial value**: `normal` + * + */ + "letter-spacing"?: Property.LetterSpacing; + /** + * The **`line-break`** CSS property sets how to break lines of Chinese, Japanese, or Korean (CJK) text when working with punctuation and symbols. + * + * **Syntax**: `auto | loose | normal | strict | anywhere` + * + * **Initial value**: `auto` + * + */ + "line-break"?: Property.LineBreak; + /** + * The **`line-height`** CSS property sets the height of a line box. It's commonly used to set the distance between lines of text. On block-level elements, it specifies the minimum height of line boxes within the element. On non-replaced inline elements, it specifies the height that is used to calculate line box height. + * + * **Syntax**: `normal | | | ` + * + * **Initial value**: `normal` + * + */ + "line-height"?: Property.LineHeight; + /** + * The **`line-height-step`** CSS property sets the step unit for line box heights. When the property is set, line box heights are rounded up to the closest multiple of the unit. + * + * **Syntax**: `` + * + * **Initial value**: `0` + * + */ + "line-height-step"?: Property.LineHeightStep; + /** + * The **`list-style-image`** CSS property sets an image to be used as the list item marker. + * + * **Syntax**: ` | none` + * + * **Initial value**: `none` + * + */ + "list-style-image"?: Property.ListStyleImage; + /** + * The **`list-style-position`** CSS property sets the position of the `::marker` relative to a list item. + * + * **Syntax**: `inside | outside` + * + * **Initial value**: `outside` + * + */ + "list-style-position"?: Property.ListStylePosition; + /** + * The **`list-style-type`** CSS property sets the marker (such as a disc, character, or custom counter style) of a list item element. + * + * **Syntax**: ` | | none` + * + * **Initial value**: `disc` + * + */ + "list-style-type"?: Property.ListStyleType; + /** + * The **`margin-block`** CSS shorthand property defines the logical block start and end margins of an element, which maps to physical margins depending on the element's writing mode, directionality, and text orientation. + * + * **Syntax**: `<'margin-left'>{1,2}` + * + * **Initial value**: `0` + * + */ + "margin-block"?: Property.MarginBlock; + /** + * The **`margin-block-end`** CSS property defines the logical block end margin of an element, which maps to a physical margin depending on the element's writing mode, directionality, and text orientation. + * + * **Syntax**: `<'margin-left'>` + * + * **Initial value**: `0` + * + */ + "margin-block-end"?: Property.MarginBlockEnd; + /** + * The **`margin-block-start`** CSS property defines the logical block start margin of an element, which maps to a physical margin depending on the element's writing mode, directionality, and text orientation. + * + * **Syntax**: `<'margin-left'>` + * + * **Initial value**: `0` + * + */ + "margin-block-start"?: Property.MarginBlockStart; + /** + * The **`margin-bottom`** CSS property sets the margin area on the bottom of an element. A positive value places it farther from its neighbors, while a negative value places it closer. + * + * **Syntax**: ` | | auto` + * + * **Initial value**: `0` + * + */ + "margin-bottom"?: Property.MarginBottom; + /** + * The **`margin-inline`** CSS shorthand property is a shorthand property that defines both the logical inline start and end margins of an element, which maps to physical margins depending on the element's writing mode, directionality, and text orientation. + * + * **Syntax**: `<'margin-left'>{1,2}` + * + * **Initial value**: `0` + * + */ + "margin-inline"?: Property.MarginInline; + /** + * The **`margin-inline-end`** CSS property defines the logical inline end margin of an element, which maps to a physical margin depending on the element's writing mode, directionality, and text orientation. In other words, it corresponds to the `margin-top`, `margin-right`, `margin-bottom` or `margin-left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`. + * + * **Syntax**: `<'margin-left'>` + * + * **Initial value**: `0` + * + */ + "margin-inline-end"?: Property.MarginInlineEnd; + /** + * The **`margin-inline-start`** CSS property defines the logical inline start margin of an element, which maps to a physical margin depending on the element's writing mode, directionality, and text orientation. It corresponds to the `margin-top`, `margin-right`, `margin-bottom`, or `margin-left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`. + * + * **Syntax**: `<'margin-left'>` + * + * **Initial value**: `0` + * + */ + "margin-inline-start"?: Property.MarginInlineStart; + /** + * The **`margin-left`** CSS property sets the margin area on the left side of an element. A positive value places it farther from its neighbors, while a negative value places it closer. + * + * **Syntax**: ` | | auto` + * + * **Initial value**: `0` + * + */ + "margin-left"?: Property.MarginLeft; + /** + * The **`margin-right`** CSS property sets the margin area on the right side of an element. A positive value places it farther from its neighbors, while a negative value places it closer. + * + * **Syntax**: ` | | auto` + * + * **Initial value**: `0` + * + */ + "margin-right"?: Property.MarginRight; + /** + * The **`margin-top`** CSS property sets the margin area on the top of an element. A positive value places it farther from its neighbors, while a negative value places it closer. + * + * **Syntax**: ` | | auto` + * + * **Initial value**: `0` + * + */ + "margin-top"?: Property.MarginTop; + /** + * The **`mask-border-mode`** CSS property specifies the blending mode used in a mask border. + * + * **Syntax**: `luminance | alpha` + * + * **Initial value**: `alpha` + */ + "mask-border-mode"?: Property.MaskBorderMode; + /** + * The **`mask-border-outset`** CSS property specifies the distance by which an element's mask border is set out from its border box. + * + * **Syntax**: `[ | ]{1,4}` + * + * **Initial value**: `0` + * + */ + "mask-border-outset"?: Property.MaskBorderOutset; + /** + * The **`mask-border-repeat`** CSS property sets how the edge regions of a source image are adjusted to fit the dimensions of an element's mask border. + * + * **Syntax**: `[ stretch | repeat | round | space ]{1,2}` + * + * **Initial value**: `stretch` + * + */ + "mask-border-repeat"?: Property.MaskBorderRepeat; + /** + * The **`mask-border-slice`** CSS property divides the image set by `mask-border-source` into regions. These regions are used to form the components of an element's mask border. + * + * **Syntax**: `{1,4} fill?` + * + * **Initial value**: `0` + * + */ + "mask-border-slice"?: Property.MaskBorderSlice; + /** + * The **`mask-border-source`** CSS property sets the source image used to create an element's mask border. + * + * **Syntax**: `none | ` + * + * **Initial value**: `none` + * + */ + "mask-border-source"?: Property.MaskBorderSource; + /** + * The **`mask-border-width`** CSS property sets the width of an element's mask border. + * + * **Syntax**: `[ | | auto ]{1,4}` + * + * **Initial value**: `auto` + * + */ + "mask-border-width"?: Property.MaskBorderWidth; + /** + * 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. + * + * **Syntax**: `[ | no-clip ]#` + * + * **Initial value**: `border-box` + * + */ + "mask-clip"?: Property.MaskClip; + /** + * The **`mask-composite`** CSS property represents a compositing operation used on the current mask layer with the mask layers below it. + * + * **Syntax**: `#` + * + * **Initial value**: `add` + * + */ + "mask-composite"?: Property.MaskComposite; + /** + * The **`mask-image`** CSS property sets the image that is used as mask layer for an element. + * + * **Syntax**: `#` + * + * **Initial value**: `none` + * + */ + "mask-image"?: Property.MaskImage; + /** + * The **`mask-mode`** CSS property sets whether the mask reference defined by `mask-image` is treated as a luminance or alpha mask. + * + * **Syntax**: `#` + * + * **Initial value**: `match-source` + * + */ + "mask-mode"?: Property.MaskMode; + /** + * The **`mask-origin`** CSS property sets the origin of a mask. + * + * **Syntax**: `#` + * + * **Initial value**: `border-box` + * + */ + "mask-origin"?: Property.MaskOrigin; + /** + * The **`mask-position`** CSS property sets the initial position, relative to the mask position layer set by `mask-origin`, for each defined mask image. + * + * **Syntax**: `#` + * + * **Initial value**: `center` + * + */ + "mask-position"?: Property.MaskPosition; + /** + * The **`mask-repeat`** CSS property sets how mask images are repeated. A mask image can be repeated along the horizontal axis, the vertical axis, both axes, or not repeated at all. + * + * **Syntax**: `#` + * + * **Initial value**: `no-repeat` + * + */ + "mask-repeat"?: Property.MaskRepeat; + /** + * The **`mask-size`** CSS property specifies the sizes of the mask images. The size of the image can be fully or partially constrained in order to preserve its intrinsic ratio. + * + * **Syntax**: `#` + * + * **Initial value**: `auto` + * + */ + "mask-size"?: Property.MaskSize; + /** + * The **`mask-type`** CSS property sets whether an SVG `` element is used as a _luminance_ or an _alpha_ mask. It applies to the `` element itself. + * + * **Syntax**: `luminance | alpha` + * + * **Initial value**: `luminance` + * + */ + "mask-type"?: Property.MaskType; + /** + * The `math-style` property indicates whether MathML equations should render with normal or compact height. + * + * **Syntax**: `normal | compact` + * + * **Initial value**: `normal` + * + */ + "math-style"?: Property.MathStyle; + /** + * The `**max-block-size**` CSS property specifies the maximum size of an element in the direction opposite that of the writing direction as specified by `writing-mode`. That is, if the writing direction is horizontal, then `max-block-size` is equivalent to `max-height`; if the writing direction is vertical, `max-block-size` is the same as `max-width`. + * + * **Syntax**: `<'max-width'>` + * + * **Initial value**: `0` + * + */ + "max-block-size"?: Property.MaxBlockSize; + /** + * The **`max-height`** CSS property sets the maximum height of an element. It prevents the used value of the `height` property from becoming larger than the value specified for `max-height`. + * + * **Syntax**: `none | | min-content | max-content | fit-content | fit-content()` + * + * **Initial value**: `none` + * + */ + "max-height"?: Property.MaxHeight; + /** + * The **`max-inline-size`** CSS property defines the horizontal or vertical maximum size of an element's block, depending on its writing mode. It corresponds to either the `max-width` or the `max-height` property, depending on the value of `writing-mode`. + * + * **Syntax**: `<'max-width'>` + * + * **Initial value**: `0` + * + */ + "max-inline-size"?: Property.MaxInlineSize; + /** + * **Syntax**: `none | ` + * + * **Initial value**: `none` + */ + "max-lines"?: Property.MaxLines; + /** + * The **`max-width`** CSS property sets the maximum width of an element. It prevents the used value of the `width` property from becoming larger than the value specified by `max-width`. + * + * **Syntax**: `none | | min-content | max-content | fit-content | fit-content()` + * + * **Initial value**: `none` + * + */ + "max-width"?: Property.MaxWidth; + /** + * The **`min-block-size`** CSS property defines the minimum horizontal or vertical size of an element's block, depending on its writing mode. It corresponds to either the `min-width` or the `min-height` property, depending on the value of `writing-mode`. + * + * **Syntax**: `<'min-width'>` + * + * **Initial value**: `0` + * + */ + "min-block-size"?: Property.MinBlockSize; + /** + * The **`min-height`** CSS property sets the minimum height of an element. It prevents the used value of the `height` property from becoming smaller than the value specified for `min-height`. + * + * **Syntax**: `auto | | | min-content | max-content | fit-content | fit-content()` + * + * **Initial value**: `auto` + * + */ + "min-height"?: Property.MinHeight; + /** + * The **`min-inline-size`** CSS property defines the horizontal or vertical minimal size of an element's block, depending on its writing mode. It corresponds to either the `min-width` or the `min-height` property, depending on the value of `writing-mode`. + * + * **Syntax**: `<'min-width'>` + * + * **Initial value**: `0` + * + */ + "min-inline-size"?: Property.MinInlineSize; + /** + * The **`min-width`** CSS property sets the minimum width of an element. It prevents the used value of the `width` property from becoming smaller than the value specified for `min-width`. + * + * **Syntax**: `auto | | | min-content | max-content | fit-content | fit-content()` + * + * **Initial value**: `auto` + * + */ + "min-width"?: Property.MinWidth; + /** + * The **`mix-blend-mode`** CSS property sets how an element's content should blend with the content of the element's parent and the element's background. + * + * **Syntax**: `` + * + * **Initial value**: `normal` + * + */ + "mix-blend-mode"?: Property.MixBlendMode; + /** + * The **`offset-distance`** CSS property specifies a position along an `offset-path` for an element to be placed. + * + * **Syntax**: `` + * + * **Initial value**: `0` + * + */ + "motion-distance"?: Property.OffsetDistance; + /** + * The **`offset-path`** CSS property specifies a motion path for an element to follow and defines the element's positioning within the parent container or SVG coordinate system. + * + * **Syntax**: `none | ray( [ && && contain? ] ) | | | [ || ]` + * + * **Initial value**: `none` + * + */ + "motion-path"?: Property.OffsetPath; + /** + * The **`offset-rotate`** CSS property defines the orientation/direction of the element as it is positioned along the `offset-path`. + * + * **Syntax**: `[ auto | reverse ] || ` + * + * **Initial value**: `auto` + * + */ + "motion-rotation"?: Property.OffsetRotate; + /** + * The **`object-fit`** CSS property sets how the content of a replaced element, such as an `` or `
` cells, rows, and columns. + * + * **Syntax**: `auto | fixed` + * + * **Initial value**: `auto` + * + */ + "table-layout"?: Property.TableLayout; + /** + * The **`text-align`** CSS property sets the horizontal alignment of a block element or table-cell box. This means it works like `vertical-align` but in the horizontal direction. + * + * **Syntax**: `start | end | left | right | center | justify | match-parent` + * + * **Initial value**: `start`, or a nameless value that acts as `left` if _direction_ is `ltr`, `right` if _direction_ is `rtl` if `start` is not supported by the browser. + * + */ + "text-align"?: Property.TextAlign; + /** + * The **`text-align-last`** CSS property sets how the last line of a block or a line, right before a forced line break, is aligned. + * + * **Syntax**: `auto | start | end | left | right | center | justify` + * + * **Initial value**: `auto` + * + */ + "text-align-last"?: Property.TextAlignLast; + /** + * The **`text-combine-upright`** CSS property sets the combination of characters into the space of a single character. If the combined text is wider than 1em, the user agent must fit the contents within 1em. The resulting composition is treated as a single upright glyph for layout and decoration. This property only has an effect in vertical writing modes. + * + * **Syntax**: `none | all | [ digits ? ]` + * + * **Initial value**: `none` + * + */ + "text-combine-upright"?: Property.TextCombineUpright; + /** + * The **`text-decoration-color`** CSS property sets the color of decorations added to text by `text-decoration-line`. + * + * **Syntax**: `` + * + * **Initial value**: `currentcolor` + * + */ + "text-decoration-color"?: Property.TextDecorationColor; + /** + * The **`text-decoration-line`** CSS property sets the kind of decoration that is used on text in an element, such as an underline or overline. + * + * **Syntax**: `none | [ underline || overline || line-through || blink ] | spelling-error | grammar-error` + * + * **Initial value**: `none` + * + */ + "text-decoration-line"?: Property.TextDecorationLine; + /** + * The **`text-decoration-skip`** CSS property sets what parts of an element’s content any text decoration affecting the element must skip over. It controls all text decoration lines drawn by the element and also any text decoration lines drawn by its ancestors. + * + * **Syntax**: `none | [ objects || [ spaces | [ leading-spaces || trailing-spaces ] ] || edges || box-decoration ]` + * + * **Initial value**: `objects` + * + */ + "text-decoration-skip"?: Property.TextDecorationSkip; + /** + * The **`text-decoration-skip-ink`** CSS property specifies how overlines and underlines are drawn when they pass over glyph ascenders and descenders. + * + * **Syntax**: `auto | all | none` + * + * **Initial value**: `auto` + * + */ + "text-decoration-skip-ink"?: Property.TextDecorationSkipInk; + /** + * The **`text-decoration-style`** CSS property sets the style of the lines specified by `text-decoration-line`. The style applies to all lines that are set with `text-decoration-line`. + * + * **Syntax**: `solid | double | dotted | dashed | wavy` + * + * **Initial value**: `solid` + * + */ + "text-decoration-style"?: Property.TextDecorationStyle; + /** + * The **`text-decoration-thickness`** CSS property sets the stroke thickness of the decoration line that is used on text in an element, such as a line-through, underline, or overline. + * + * **Syntax**: `auto | from-font | | ` + * + * **Initial value**: `auto` + * + */ + "text-decoration-thickness"?: Property.TextDecorationThickness; + /** + * The **`text-decoration-thickness`** CSS property sets the stroke thickness of the decoration line that is used on text in an element, such as a line-through, underline, or overline. + * + * **Syntax**: `auto | from-font | | ` + * + * **Initial value**: `auto` + * + */ + "text-decoration-width"?: Property.TextDecorationThickness; + /** + * The **`text-emphasis-color`** CSS property sets the color of emphasis marks. This value can also be set using the `text-emphasis` shorthand. + * + * **Syntax**: `` + * + * **Initial value**: `currentcolor` + * + */ + "text-emphasis-color"?: Property.TextEmphasisColor; + /** + * The **`text-emphasis-position`** CSS property sets where emphasis marks are drawn. Like ruby text, if there isn't enough room for emphasis marks, the line height is increased. + * + * **Syntax**: `[ over | under ] && [ right | left ]` + * + * **Initial value**: `over right` + * + */ + "text-emphasis-position"?: Property.TextEmphasisPosition; + /** + * The **`text-emphasis-style`** CSS property sets the appearance of emphasis marks. It can also be set, and reset, using the `text-emphasis` shorthand. + * + * **Syntax**: `none | [ [ filled | open ] || [ dot | circle | double-circle | triangle | sesame ] ] | ` + * + * **Initial value**: `none` + * + */ + "text-emphasis-style"?: Property.TextEmphasisStyle; + /** + * The **`text-indent`** CSS property sets the length of empty space (indentation) that is put before lines of text in a block. + * + * **Syntax**: ` && hanging? && each-line?` + * + * **Initial value**: `0` + * + */ + "text-indent"?: Property.TextIndent; + /** + * The **`text-justify`** CSS property sets what type of justification should be applied to text when `text-align``: justify;` is set on an element. + * + * **Syntax**: `auto | inter-character | inter-word | none` + * + * **Initial value**: `auto` + * + */ + "text-justify"?: Property.TextJustify; + /** + * The **`text-orientation`** CSS property sets the orientation of the text characters in a line. It only affects text in vertical mode (when `writing-mode` is not `horizontal-tb`). It is useful for controlling the display of languages that use vertical script, and also for making vertical table headers. + * + * **Syntax**: `mixed | upright | sideways` + * + * **Initial value**: `mixed` + * + */ + "text-orientation"?: Property.TextOrientation; + /** + * The **`text-overflow`** CSS property sets how hidden overflow content is signaled to users. It can be clipped, display an ellipsis ('`…`'), or display a custom string. + * + * **Syntax**: `[ clip | ellipsis | ]{1,2}` + * + * **Initial value**: `clip` + * + */ + "text-overflow"?: Property.TextOverflow; + /** + * The **`text-rendering`** CSS property provides information to the rendering engine about what to optimize for when rendering text. + * + * **Syntax**: `auto | optimizeSpeed | optimizeLegibility | geometricPrecision` + * + * **Initial value**: `auto` + * + */ + "text-rendering"?: Property.TextRendering; + /** + * The **`text-shadow`** CSS property adds shadows to text. It accepts a comma-separated list of shadows to be applied to the text and any of its `decorations`. Each shadow is described by some combination of X and Y offsets from the element, blur radius, and color. + * + * **Syntax**: `none | #` + * + * **Initial value**: `none` + * + */ + "text-shadow"?: Property.TextShadow; + /** + * The **`text-size-adjust`** CSS property controls the text inflation algorithm used on some smartphones and tablets. Other browsers will ignore this property. + * + * **Syntax**: `none | auto | ` + * + * **Initial value**: `auto` for smartphone browsers supporting inflation, `none` in other cases (and then not modifiable). + * + */ + "text-size-adjust"?: Property.TextSizeAdjust; + /** + * The **`text-transform`** CSS property specifies how to capitalize an element's text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. It also can help improve legibility for ruby. + * + * **Syntax**: `none | capitalize | uppercase | lowercase | full-width | full-size-kana` + * + * **Initial value**: `none` + * + */ + "text-transform"?: Property.TextTransform; + /** + * The **`text-underline-offset`** CSS property sets the offset distance of an underline text decoration line (applied using `text-decoration`) from its original position. + * + * **Syntax**: `auto | | ` + * + * **Initial value**: `auto` + * + */ + "text-underline-offset"?: Property.TextUnderlineOffset; + /** + * The **`text-underline-position`** CSS property specifies the position of the underline which is set using the `text-decoration` property's `underline` value. + * + * **Syntax**: `auto | from-font | [ under || [ left | right ] ]` + * + * **Initial value**: `auto` + * + */ + "text-underline-position"?: Property.TextUnderlinePosition; + /** + * The **`top`** CSS property participates in specifying the vertical position of a positioned element. It has no effect on non-positioned elements. + * + * **Syntax**: ` | | auto` + * + * **Initial value**: `auto` + * + */ + top?: Property.Top; + /** + * The **`touch-action`** CSS property sets how an element's region can be manipulated by a touchscreen user (for example, by zooming features built into the browser). + * + * **Syntax**: `auto | none | [ [ pan-x | pan-left | pan-right ] || [ pan-y | pan-up | pan-down ] || pinch-zoom ] | manipulation` + * + * **Initial value**: `auto` + * + */ + "touch-action"?: Property.TouchAction; + /** + * The **`transform`** CSS property lets you rotate, scale, skew, or translate an element. It modifies the coordinate space of the CSS visual formatting model. + * + * **Syntax**: `none | ` + * + * **Initial value**: `none` + * + */ + transform?: Property.Transform; + /** + * The **`transform-box`** CSS property defines the layout box to which the `transform` and `transform-origin` properties relate. + * + * **Syntax**: `content-box | border-box | fill-box | stroke-box | view-box` + * + * **Initial value**: `view-box` + * + */ + "transform-box"?: Property.TransformBox; + /** + * The **`transform-origin`** CSS property sets the origin for an element's transformations. + * + * **Syntax**: `[ | left | center | right | top | bottom ] | [ [ | left | center | right ] && [ | top | center | bottom ] ] ?` + * + * **Initial value**: `50% 50% 0` + * + */ + "transform-origin"?: Property.TransformOrigin; + /** + * The **`transform-style`** CSS property sets whether children of an element are positioned in the 3D space or are flattened in the plane of the element. + * + * **Syntax**: `flat | preserve-3d` + * + * **Initial value**: `flat` + * + */ + "transform-style"?: Property.TransformStyle; + /** + * The **`transition-delay`** CSS property specifies the duration to wait before starting a property's transition effect when its value changes. + * + * **Syntax**: `
`. + * + * **Syntax**: `visible | hidden | collapse` + * + * **Initial value**: `visible` + * + */ + visibility?: Property.Visibility; + /** + * The **`white-space`** CSS property sets how white space inside an element is handled. + * + * **Syntax**: `normal | pre | nowrap | pre-wrap | pre-line | break-spaces` + * + * **Initial value**: `normal` + * + */ + "white-space"?: Property.WhiteSpace; + /** + * The **`widows`** CSS property sets the minimum number of lines in a block container that must be shown at the _top_ of a page, region, or column. + * + * **Syntax**: `` + * + * **Initial value**: `2` + * + */ + widows?: Property.Widows; + /** + * The **`width`** CSS property sets an element's width. By default, it sets the width of the content area, but if `box-sizing` is set to `border-box`, it sets the width of the border area. + * + * **Syntax**: `auto | | | min-content | max-content | fit-content | fit-content()` + * + * **Initial value**: `auto` + * + */ + width?: Property.Width; + /** + * The **`will-change`** CSS property hints to browsers how an element is expected to change. Browsers may set up optimizations before an element is actually changed. These kinds of optimizations can increase the responsiveness of a page by doing potentially expensive work before they are actually required. + * + * **Syntax**: `auto | #` + * + * **Initial value**: `auto` + * + */ + "will-change"?: Property.WillChange; + /** + * The **`word-break`** CSS property sets whether line breaks appear wherever the text would otherwise overflow its content box. + * + * **Syntax**: `normal | break-all | keep-all | break-word` + * + * **Initial value**: `normal` + * + */ + "word-break"?: Property.WordBreak; + /** + * The **`word-spacing`** CSS property sets the length of space between words and between tags. + * + * **Syntax**: `normal | ` + * + * **Initial value**: `normal` + * + */ + "word-spacing"?: Property.WordSpacing; + /** + * The `**overflow-wrap**` CSS property applies to inline elements, setting whether the browser should insert line breaks within an otherwise unbreakable string to prevent text from overflowing its line box. + * + * **Syntax**: `normal | break-word` + * + * **Initial value**: `normal` + */ + "word-wrap"?: Property.WordWrap; + /** + * The **`writing-mode`** CSS property sets whether lines of text are laid out horizontally or vertically, as well as the direction in which blocks progress. When set for an entire document, it should be set on the root element (`html` element for HTML documents). + * + * **Syntax**: `horizontal-tb | vertical-rl | vertical-lr | sideways-rl | sideways-lr` + * + * **Initial value**: `horizontal-tb` + * + */ + "writing-mode"?: Property.WritingMode; + /** + * The **`z-index`** CSS property sets the z-order of a positioned element and its descendants or flex items. Overlapping elements with a larger z-index cover those with a smaller one. + * + * **Syntax**: `auto | ` + * + * **Initial value**: `auto` + * + */ + "z-index"?: Property.ZIndex; + /** + * The non-standard **`zoom`** CSS property can be used to control the magnification level of an element. `transform: scale()` should be used instead of this property, if possible. However, unlike CSS Transforms, `zoom` affects the layout size of the element. + * + * **Syntax**: `normal | reset | | ` + * + * **Initial value**: `normal` + * + */ + zoom?: Property.Zoom; +} + +export interface StandardShorthandPropertiesHyphen { + /** + * The `**all**` shorthand CSS property resets all of an element's properties except `unicode-bidi`, `direction`, and CSS Custom Properties. It can set properties to their initial or inherited values, or to the values specified in another stylesheet origin. + * + * **Syntax**: `initial | inherit | unset | revert` + * + * **Initial value**: There is no practical initial value for it. + * + */ + all?: Property.All; + /** + * The **`animation`** shorthand CSS property applies an animation between styles. It is a shorthand for `animation-name`, `animation-duration`, `animation-timing-function`, `animation-delay`, `animation-iteration-count`, `animation-direction`, `animation-fill-mode`, and `animation-play-state`. + * + * **Syntax**: `#` + * + */ + animation?: Property.Animation; + /** + * The **`background`** shorthand CSS property sets all background style properties at once, such as color, image, origin and size, or repeat method. + * + * **Syntax**: `[ , ]* ` + * + */ + background?: Property.Background; + /** + * The **`background-position`** CSS property sets the initial position for each background image. The position is relative to the position layer set by `background-origin`. + * + * **Syntax**: `#` + * + * **Initial value**: `0% 0%` + * + */ + "background-position"?: Property.BackgroundPosition; + /** + * The **`border`** shorthand CSS property sets an element's border. It sets the values of `border-width`, `border-style`, and `border-color`. + * + * **Syntax**: ` || || ` + * + */ + border?: Property.Border; + /** + * 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. + * + * **Syntax**: `<'border-top-width'> || <'border-top-style'> || ` + * + */ + "border-block"?: Property.BorderBlock; + /** + * The **`border-block-end`** CSS property is a shorthand property for setting the individual logical block-end border property values in a single place in the style sheet. + * + * **Syntax**: `<'border-top-width'> || <'border-top-style'> || ` + * + */ + "border-block-end"?: Property.BorderBlockEnd; + /** + * The **`border-block-start`** CSS property is a shorthand property for setting the individual logical block-start border property values in a single place in the style sheet. + * + * **Syntax**: `<'border-top-width'> || <'border-top-style'> || ` + * + */ + "border-block-start"?: Property.BorderBlockStart; + /** + * The **`border-bottom`** shorthand CSS property sets an element's bottom border. It sets the values of `border-bottom-width`, `border-bottom-style` and `border-bottom-color`. + * + * **Syntax**: ` || || ` + * + */ + "border-bottom"?: Property.BorderBottom; + /** + * The **`border-color`** shorthand CSS property sets the color of an element's border. + * + * **Syntax**: `{1,4}` + * + */ + "border-color"?: Property.BorderColor; + /** + * The **`border-image`** CSS property draws an image around a given element. It replaces the element's regular border. + * + * **Syntax**: `<'border-image-source'> || <'border-image-slice'> [ / <'border-image-width'> | / <'border-image-width'>? / <'border-image-outset'> ]? || <'border-image-repeat'>` + * + */ + "border-image"?: Property.BorderImage; + /** + * 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. + * + * **Syntax**: `<'border-top-width'> || <'border-top-style'> || ` + * + */ + "border-inline"?: Property.BorderInline; + /** + * The **`border-inline-end`** CSS property is a shorthand property for setting the individual logical inline-end border property values in a single place in the style sheet. + * + * **Syntax**: `<'border-top-width'> || <'border-top-style'> || ` + * + */ + "border-inline-end"?: Property.BorderInlineEnd; + /** + * The **`border-inline-start`** CSS property is a shorthand property for setting the individual logical inline-start border property values in a single place in the style sheet. + * + * **Syntax**: `<'border-top-width'> || <'border-top-style'> || ` + * + */ + "border-inline-start"?: Property.BorderInlineStart; + /** + * The **`border-left`** shorthand CSS property sets all the properties of an element's left border. + * + * **Syntax**: ` || || ` + * + */ + "border-left"?: Property.BorderLeft; + /** + * The **`border-radius`** CSS property rounds the corners of an element's outer border edge. You can set a single radius to make circular corners, or two radii to make elliptical corners. + * + * **Syntax**: `{1,4} [ / {1,4} ]?` + * + */ + "border-radius"?: Property.BorderRadius; + /** + * The **`border-right`** shorthand CSS property sets all the properties of an element's right border. + * + * **Syntax**: ` || || ` + * + */ + "border-right"?: Property.BorderRight; + /** + * The **`border-style`** shorthand CSS property sets the line style for all four sides of an element's border. + * + * **Syntax**: `{1,4}` + * + */ + "border-style"?: Property.BorderStyle; + /** + * The **`border-top`** shorthand CSS property sets all the properties of an element's top border. + * + * **Syntax**: ` || || ` + * + */ + "border-top"?: Property.BorderTop; + /** + * The **`border-width`** shorthand CSS property sets the width of an element's border. + * + * **Syntax**: `{1,4}` + * + */ + "border-width"?: Property.BorderWidth; + /** + * The **`column-rule`** shorthand CSS property sets the width, style, and color of the line drawn between columns in a multi-column layout. + * + * **Syntax**: `<'column-rule-width'> || <'column-rule-style'> || <'column-rule-color'>` + * + */ + "column-rule"?: Property.ColumnRule; + /** + * The **`columns`** CSS shorthand property sets the number of columns to use when drawing an element's contents, as well as those columns' widths. + * + * **Syntax**: `<'column-width'> || <'column-count'>` + * + */ + columns?: Property.Columns; + /** + * The **`flex`** CSS shorthand property sets how a flex _item_ will grow or shrink to fit the space available in its flex container. + * + * **Syntax**: `none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]` + * + */ + flex?: Property.Flex; + /** + * The **`flex-flow`** CSS shorthand property specifies the direction of a flex container, as well as its wrapping behavior. + * + * **Syntax**: `<'flex-direction'> || <'flex-wrap'>` + * + */ + "flex-flow"?: Property.FlexFlow; + /** + * The **`font`** CSS shorthand property sets all the different properties of an element's font. Alternatively, it sets an element's font to a system font. + * + * **Syntax**: `[ [ <'font-style'> || || <'font-weight'> || <'font-stretch'> ]? <'font-size'> [ / <'line-height'> ]? <'font-family'> ] | caption | icon | menu | message-box | small-caption | status-bar` + * + */ + font?: Property.Font; + /** + * The **`gap`** CSS property sets the gaps (gutters) between rows and columns. It is a shorthand for `row-gap` and `column-gap`. + * + * **Syntax**: `<'row-gap'> <'column-gap'>?` + * + */ + gap?: Property.Gap; + /** + * The **`grid`** CSS property is a shorthand property that sets all of the explicit and implicit grid properties in a single declaration. + * + * **Syntax**: `<'grid-template'> | <'grid-template-rows'> / [ auto-flow && dense? ] <'grid-auto-columns'>? | [ auto-flow && dense? ] <'grid-auto-rows'>? / <'grid-template-columns'>` + * + */ + grid?: Property.Grid; + /** + * The **`grid-area`** CSS shorthand property specifies a grid item’s size and location within a grid by contributing a line, a span, or nothing (automatic) to its grid placement, thereby specifying the edges of its grid area. + * + * **Syntax**: ` [ / ]{0,3}` + * + */ + "grid-area"?: Property.GridArea; + /** + * The **`grid-column`** CSS shorthand property specifies a grid item's size and location within a grid column by contributing a line, a span, or nothing (automatic) to its grid placement, thereby specifying the inline-start and inline-end edge of its grid area. + * + * **Syntax**: ` [ / ]?` + * + */ + "grid-column"?: Property.GridColumn; + /** + * The **`grid-row`** CSS shorthand property specifies a grid item’s size and location within the grid row by contributing a line, a span, or nothing (automatic) to its grid placement, thereby specifying the inline-start and inline-end edge of its grid area. + * + * **Syntax**: ` [ / ]?` + * + */ + "grid-row"?: Property.GridRow; + /** + * The **`grid-template`** CSS property is a shorthand property for defining grid columns, rows, and areas. + * + * **Syntax**: `none | [ <'grid-template-rows'> / <'grid-template-columns'> ] | [ ? ? ? ]+ [ / ]?` + * + */ + "grid-template"?: Property.GridTemplate; + /** + * **Syntax**: `none | ` + * + * **Initial value**: `none` + */ + "line-clamp"?: Property.LineClamp; + /** + * The **`list-style`** CSS shorthand property allows you set all the list style properties at once. + * + * **Syntax**: `<'list-style-type'> || <'list-style-position'> || <'list-style-image'>` + * + */ + "list-style"?: Property.ListStyle; + /** + * The **`margin`** CSS property sets the margin area on all four sides of an element. It is a shorthand for `margin-top`, `margin-right`, `margin-bottom`, and `margin-left`. + * + * **Syntax**: `[ | | auto ]{1,4}` + * + */ + margin?: Property.Margin; + /** + * The **`mask`** CSS shorthand property hides an element (partially or fully) by masking or clipping the image at specific points. + * + * **Syntax**: `#` + * + */ + mask?: Property.Mask; + /** + * The **`mask-border`** CSS shorthand property lets you create a mask along the edge of an element's border. + * + * **Syntax**: `<'mask-border-source'> || <'mask-border-slice'> [ / <'mask-border-width'>? [ / <'mask-border-outset'> ]? ]? || <'mask-border-repeat'> || <'mask-border-mode'>` + * + */ + "mask-border"?: Property.MaskBorder; + /** + * The **`offset`** CSS shorthand property sets all the properties required for animating an element along a defined path. + * + * **Syntax**: `[ <'offset-position'>? [ <'offset-path'> [ <'offset-distance'> || <'offset-rotate'> ]? ]? ]! [ / <'offset-anchor'> ]?` + * + */ + motion?: Property.Offset; + /** + * The **`offset`** CSS shorthand property sets all the properties required for animating an element along a defined path. + * + * **Syntax**: `[ <'offset-position'>? [ <'offset-path'> [ <'offset-distance'> || <'offset-rotate'> ]? ]? ]! [ / <'offset-anchor'> ]?` + * + */ + offset?: Property.Offset; + /** + * The **`outline`** CSS shorthand property set all the outline properties in a single declaration. + * + * **Syntax**: `[ <'outline-color'> || <'outline-style'> || <'outline-width'> ]` + * + */ + outline?: Property.Outline; + /** + * The **`overflow`** CSS shorthand property sets the desired behavior for an element's overflow — i.e. when an element's content is too big to fit in its block formatting context — in both directions. + * + * **Syntax**: `[ visible | hidden | clip | scroll | auto ]{1,2}` + * + * **Initial value**: `visible` + * + */ + overflow?: Property.Overflow; + /** + * The **`overscroll-behavior`** CSS property sets what a browser does when reaching the boundary of a scrolling area. It's a shorthand for `overscroll-behavior-x` and `overscroll-behavior-y`. + * + * **Syntax**: `[ contain | none | auto ]{1,2}` + * + * **Initial value**: `auto` + * + */ + "overscroll-behavior"?: Property.OverscrollBehavior; + /** + * The **`padding`** CSS shorthand property sets the padding area on all four sides of an element at once. + * + * **Syntax**: `[ | ]{1,4}` + * + */ + padding?: Property.Padding; + /** + * The CSS **`place-items`** shorthand property allows you to align items along both the block and inline directions at once (i.e. the `align-items` and `justify-items` properties) in a relevant layout system such as Grid or Flexbox. If the second value is not set, the first value is also used for it. + * + * **Syntax**: `<'align-items'> <'justify-items'>?` + * + */ + "place-items"?: Property.PlaceItems; + /** + * The **`place-self`** CSS shorthand property allows you to align an individual item in both the block and inline directions at once (i.e. the `align-self` and `justify-self` properties) in a relevant layout system such as Grid or Flexbox. If the second value is not present, the first value is also used for it. + * + * **Syntax**: `<'align-self'> <'justify-self'>?` + * + */ + "place-self"?: Property.PlaceSelf; + /** + * The **`text-decoration`** shorthand CSS property sets the appearance of decorative lines on text. It is a shorthand for `text-decoration-line`, `text-decoration-color`, `text-decoration-style`, and the newer `text-decoration-thickness` property. + * + * **Syntax**: `<'text-decoration-line'> || <'text-decoration-style'> || <'text-decoration-color'> || <'text-decoration-thickness'>` + * + */ + "text-decoration"?: Property.TextDecoration; + /** + * The **`text-emphasis`** CSS property applies emphasis marks to text (except spaces and control characters). It is a shorthand for `text-emphasis-style` and `text-emphasis-color`. + * + * **Syntax**: `<'text-emphasis-style'> || <'text-emphasis-color'>` + * + */ + "text-emphasis"?: Property.TextEmphasis; + /** + * The **`transition`** CSS property is a shorthand property for `transition-property`, `transition-duration`, `transition-timing-function`, and `transition-delay`. + * + * **Syntax**: `#` + * + */ + transition?: Property.Transition; +} + +export interface StandardPropertiesHyphen + extends StandardLonghandPropertiesHyphen, + StandardShorthandPropertiesHyphen {} + + +export interface SvgPropertiesHyphen { + "alignment-baseline"?: Property.AlignmentBaseline; + "baseline-shift"?: Property.BaselineShift; + clip?: Property.Clip; + "clip-path"?: Property.ClipPath; + "clip-rule"?: Property.ClipRule; + color?: Property.Color; + "color-interpolation"?: Property.ColorInterpolation; + "color-rendering"?: Property.ColorRendering; + cursor?: Property.Cursor; + direction?: Property.Direction; + display?: Property.Display; + "dominant-baseline"?: Property.DominantBaseline; + fill?: Property.Fill; + "fill-opacity"?: Property.FillOpacity; + "fill-rule"?: Property.FillRule; + filter?: Property.Filter; + "flood-color"?: Property.FloodColor; + "flood-opacity"?: Property.FloodOpacity; + font?: Property.Font; + "font-family"?: Property.FontFamily; + "font-size"?: Property.FontSize; + "font-size-adjust"?: Property.FontSizeAdjust; + "font-stretch"?: Property.FontStretch; + "font-style"?: Property.FontStyle; + "font-variant"?: Property.FontVariant; + "font-weight"?: Property.FontWeight; + "glyph-orientation-vertical"?: Property.GlyphOrientationVertical; + "image-rendering"?: Property.ImageRendering; + "letter-spacing"?: Property.LetterSpacing; + "lighting-color"?: Property.LightingColor; + "line-height"?: Property.LineHeight; + marker?: Property.Marker; + "marker-end"?: Property.MarkerEnd; + "marker-mid"?: Property.MarkerMid; + "marker-start"?: Property.MarkerStart; + mask?: Property.Mask; + opacity?: Property.Opacity; + overflow?: Property.Overflow; + "paint-order"?: Property.PaintOrder; + "pointer-events"?: Property.PointerEvents; + "shape-rendering"?: Property.ShapeRendering; + "stop-color"?: Property.StopColor; + "stop-opacity"?: Property.StopOpacity; + stroke?: Property.Stroke; + "stroke-dasharray"?: Property.StrokeDasharray; + "stroke-dashoffset"?: Property.StrokeDashoffset; + "stroke-linecap"?: Property.StrokeLinecap; + "stroke-linejoin"?: Property.StrokeLinejoin; + "stroke-miterlimit"?: Property.StrokeMiterlimit; + "stroke-opacity"?: Property.StrokeOpacity; + "stroke-width"?: Property.StrokeWidth; + "text-anchor"?: Property.TextAnchor; + "text-decoration"?: Property.TextDecoration; + "text-rendering"?: Property.TextRendering; + "unicode-bidi"?: Property.UnicodeBidi; + "vector-effect"?: Property.VectorEffect; + visibility?: Property.Visibility; + "white-space"?: Property.WhiteSpace; + "word-spacing"?: Property.WordSpacing; + "writing-mode"?: Property.WritingMode; +} + +export interface PropertiesHyphen + extends StandardPropertiesHyphen, + SvgPropertiesHyphen {} + +export type StandardLonghandPropertiesFallback = { + [P in keyof StandardLonghandProperties]: StandardLonghandProperties[P] | StandardLonghandProperties[P][]; +}; + +export type StandardShorthandPropertiesFallback = { + [P in keyof StandardShorthandProperties]: StandardShorthandProperties[P] | StandardShorthandProperties[P][]; +}; + +export interface StandardPropertiesFallback + extends StandardLonghandPropertiesFallback, + StandardShorthandPropertiesFallback {} + + +export type SvgPropertiesFallback = { + [P in keyof SvgProperties]: SvgProperties[P] | SvgProperties[P][]; +}; + +export interface PropertiesFallback + extends StandardPropertiesFallback, + SvgPropertiesFallback {} + +export type StandardLonghandPropertiesHyphenFallback = { + [P in keyof StandardLonghandPropertiesHyphen]: StandardLonghandPropertiesHyphen[P] | StandardLonghandPropertiesHyphen[P][]; +}; + +export type StandardShorthandPropertiesHyphenFallback = { + [P in keyof StandardShorthandPropertiesHyphen]: StandardShorthandPropertiesHyphen[P] | StandardShorthandPropertiesHyphen[P][]; +}; + +export interface StandardPropertiesHyphenFallback + extends StandardLonghandPropertiesHyphenFallback, + StandardShorthandPropertiesHyphenFallback {} + + +export type SvgPropertiesHyphenFallback = { + [P in keyof SvgPropertiesHyphen]: SvgPropertiesHyphen[P] | SvgPropertiesHyphen[P][]; +}; + +export interface PropertiesHyphenFallback + extends StandardPropertiesHyphenFallback, + SvgPropertiesHyphenFallback {} + +export type AtRules = + | "@charset" + | "@counter-style" + | "@document" + | "@font-face" + | "@font-feature-values" + | "@import" + | "@keyframes" + | "@media" + | "@namespace" + | "@page" + | "@property" + | "@supports" + | "@viewport"; + +export type AdvancedPseudos = + | "&::cue(" + | "&::cue-region(" + | "&::part(" + | "&::slotted(" + | "&:dir(" + | "&:has(" + | "&:host(" + | "&:host-context(" + | "&:is(" + | "&:lang(" + | "&:not(" + | "&:nth-child(" + | "&:nth-last-child(" + | "&:nth-last-of-type(" + | "&:nth-of-type(" + | "&:where("; + +export type SimplePseudos = + | "&::after" + | "&::backdrop" + | "&::before" + | "&::cue" + | "&::cue-region" + | "&::first-letter" + | "&::first-line" + | "&::grammar-error" + | "&::marker" + | "&::placeholder" + | "&::selection" + | "&::spelling-error" + | "&::target-text" + | "&:active" + | "&:after" + | "&:any-link" + | "&:before" + | "&:blank" + | "&:checked" + | "&:current" + | "&:default" + | "&:defined" + | "&:disabled" + | "&:empty" + | "&:enabled" + | "&:first" + | "&:first-child" + | "&:first-letter" + | "&:first-line" + | "&:first-of-type" + | "&:focus" + | "&:focus-visible" + | "&:focus-within" + | "&:fullscreen" + | "&:future" + | "&:hover" + | "&:in-range" + | "&:indeterminate" + | "&:invalid" + | "&:last-child" + | "&:last-of-type" + | "&:left" + | "&:link" + | "&:local-link" + | "&:nth-col" + | "&:nth-last-col" + | "&:only-child" + | "&:only-of-type" + | "&:optional" + | "&:out-of-range" + | "&:past" + | "&:paused" + | "&:picture-in-picture" + | "&:placeholder-shown" + | "&:read-only" + | "&:read-write" + | "&:required" + | "&:right" + | "&:root" + | "&:scope" + | "&:target" + | "&:target-within" + | "&:user-invalid" + | "&:user-valid" + | "&:valid" + | "&:visited"; + +export type Pseudos = AdvancedPseudos | SimplePseudos; + +export type HtmlAttributes = + | "[abbr]" + | "[accept-charset]" + | "[accept]" + | "[accesskey]" + | "[action]" + | "[align]" + | "[alink]" + | "[allow]" + | "[allowfullscreen]" + | "[allowpaymentrequest]" + | "[alt]" + | "[archive]" + | "[async]" + | "[autobuffer]" + | "[autocapitalize]" + | "[autocomplete]" + | "[autofocus]" + | "[autoplay]" + | "[axis]" + | "[background]" + | "[behavior]" + | "[bgcolor]" + | "[border]" + | "[bottommargin]" + | "[buffered]" + | "[cellpadding]" + | "[cellspacing]" + | "[char]" + | "[charoff]" + | "[charset]" + | "[checked]" + | "[cite]" + | "[class]" + | "[classid]" + | "[clear]" + | "[code]" + | "[codebase]" + | "[codetype]" + | "[color]" + | "[cols]" + | "[colspan]" + | "[command]" + | "[compact]" + | "[content]" + | "[contenteditable]" + | "[contextmenu]" + | "[controls]" + | "[coords]" + | "[crossorigin]" + | "[data]" + | "[datafld]" + | "[datasrc]" + | "[datetime]" + | "[declare]" + | "[decoding]" + | "[default]" + | "[defer]" + | "[dir]" + | "[direction]" + | "[dirname]" + | "[disabled]" + | "[download]" + | "[draggable]" + | "[enctype]" + | "[enterkeyhint]" + | "[exportparts]" + | "[face]" + | "[for]" + | "[form]" + | "[formaction]" + | "[formenctype]" + | "[formmethod]" + | "[formnovalidate]" + | "[formtarget]" + | "[frame]" + | "[frameborder]" + | "[headers]" + | "[height]" + | "[hidden]" + | "[high]" + | "[href]" + | "[hreflang]" + | "[hspace]" + | "[http-equiv]" + | "[icon]" + | "[id]" + | "[imagesizes]" + | "[imagesrcset]" + | "[inputmode]" + | "[integrity]" + | "[intrinsicsize]" + | "[is]" + | "[ismap]" + | "[itemid]" + | "[itemprop]" + | "[itemref]" + | "[itemscope]" + | "[itemtype]" + | "[kind]" + | "[label]" + | "[lang]" + | "[language]" + | "[leftmargin]" + | "[link]" + | "[loading]" + | "[longdesc]" + | "[loop]" + | "[low]" + | "[manifest]" + | "[marginheight]" + | "[marginwidth]" + | "[max]" + | "[maxlength]" + | "[mayscript]" + | "[media]" + | "[method]" + | "[methods]" + | "[min]" + | "[minlength]" + | "[moz-opaque]" + | "[mozallowfullscreen]" + | "[mozcurrentsampleoffset]" + | "[msallowfullscreen]" + | "[multiple]" + | "[muted]" + | "[name]" + | "[nohref]" + | "[nomodule]" + | "[nonce]" + | "[noresize]" + | "[noshade]" + | "[novalidate]" + | "[nowrap]" + | "[object]" + | "[onafterprint]" + | "[onbeforeprint]" + | "[onbeforeunload]" + | "[onblur]" + | "[onerror]" + | "[onfocus]" + | "[onhashchange]" + | "[onlanguagechange]" + | "[onload]" + | "[onmessage]" + | "[onoffline]" + | "[ononline]" + | "[onpopstate]" + | "[onredo]" + | "[onresize]" + | "[onstorage]" + | "[onundo]" + | "[onunload]" + | "[open]" + | "[optimum]" + | "[part]" + | "[ping]" + | "[placeholder]" + | "[played]" + | "[poster]" + | "[prefetch]" + | "[preload]" + | "[profile]" + | "[prompt]" + | "[radiogroup]" + | "[readonly]" + | "[referrerPolicy]" + | "[referrerpolicy]" + | "[rel]" + | "[required]" + | "[rev]" + | "[reversed]" + | "[rightmargin]" + | "[rows]" + | "[rowspan]" + | "[rules]" + | "[sandbox-allow-downloads]" + | "[sandbox-allow-modals]" + | "[sandbox-allow-popups-to-escape-sandbox]" + | "[sandbox-allow-popups]" + | "[sandbox-allow-presentation]" + | "[sandbox-allow-same-origin]" + | "[sandbox-allow-storage-access-by-user-activation]" + | "[sandbox-allow-top-navigation-by-user-activation]" + | "[sandbox]" + | "[scope]" + | "[scoped]" + | "[scrollamount]" + | "[scrolldelay]" + | "[scrolling]" + | "[selected]" + | "[shape]" + | "[size]" + | "[sizes]" + | "[slot]" + | "[span]" + | "[spellcheck]" + | "[src]" + | "[srcdoc]" + | "[srclang]" + | "[srcset]" + | "[standby]" + | "[start]" + | "[style]" + | "[summary]" + | "[tabindex]" + | "[target]" + | "[text]" + | "[title]" + | "[topmargin]" + | "[translate]" + | "[truespeed]" + | "[type]" + | "[usemap]" + | "[valign]" + | "[value]" + | "[valuetype]" + | "[version]" + | "[vlink]" + | "[volume]" + | "[vspace]" + | "[webkitallowfullscreen]" + | "[width]" + | "[wrap]" + | "[xmlns]"; + +export type SvgAttributes = + | "[accent-height]" + | "[alignment-baseline]" + | "[allowReorder]" + | "[alphabetic]" + | "[animation]" + | "[arabic-form]" + | "[ascent]" + | "[attributeName]" + | "[attributeType]" + | "[azimuth]" + | "[baseFrequency]" + | "[baseProfile]" + | "[baseline-shift]" + | "[bbox]" + | "[bias]" + | "[by]" + | "[calcMode]" + | "[cap-height]" + | "[class]" + | "[clip-path]" + | "[clip-rule]" + | "[clipPathUnits]" + | "[clip]" + | "[color-interpolation-filters]" + | "[color-interpolation]" + | "[color-profile]" + | "[color-rendering]" + | "[color]" + | "[contentScriptType]" + | "[contentStyleType]" + | "[cursor]" + | "[cx]" + | "[cy]" + | "[d]" + | "[descent]" + | "[diffuseConstant]" + | "[direction]" + | "[display]" + | "[divisor]" + | "[document]" + | "[dominant-baseline]" + | "[download]" + | "[dur]" + | "[dx]" + | "[dy]" + | "[edgeMode]" + | "[elevation]" + | "[enable-background]" + | "[externalResourcesRequired]" + | "[fill-opacity]" + | "[fill-rule]" + | "[fill]" + | "[filterRes]" + | "[filterUnits]" + | "[filter]" + | "[flood-color]" + | "[flood-opacity]" + | "[font-family]" + | "[font-size-adjust]" + | "[font-size]" + | "[font-stretch]" + | "[font-style]" + | "[font-variant]" + | "[font-weight]" + | "[format]" + | "[fr]" + | "[from]" + | "[fx]" + | "[fy]" + | "[g1]" + | "[g2]" + | "[global]" + | "[glyph-name]" + | "[glyph-orientation-horizontal]" + | "[glyph-orientation-vertical]" + | "[glyphRef]" + | "[gradientTransform]" + | "[gradientUnits]" + | "[graphical]" + | "[hanging]" + | "[hatchContentUnits]" + | "[hatchUnits]" + | "[height]" + | "[horiz-adv-x]" + | "[horiz-origin-x]" + | "[horiz-origin-y]" + | "[href]" + | "[hreflang]" + | "[id]" + | "[ideographic]" + | "[image-rendering]" + | "[in2]" + | "[in]" + | "[k1]" + | "[k2]" + | "[k3]" + | "[k4]" + | "[k]" + | "[kernelMatrix]" + | "[kernelUnitLength]" + | "[kerning]" + | "[keyPoints]" + | "[lang]" + | "[lengthAdjust]" + | "[letter-spacing]" + | "[lighting-color]" + | "[limitingConeAngle]" + | "[local]" + | "[marker-end]" + | "[marker-mid]" + | "[marker-start]" + | "[markerHeight]" + | "[markerUnits]" + | "[markerWidth]" + | "[maskContentUnits]" + | "[maskUnits]" + | "[mask]" + | "[mathematical]" + | "[media]" + | "[mode]" + | "[name]" + | "[numOctaves]" + | "[offset]" + | "[opacity]" + | "[operator]" + | "[order]" + | "[orient]" + | "[orientation]" + | "[origin]" + | "[overflow]" + | "[overline-position]" + | "[overline-thickness]" + | "[paint-order]" + | "[panose-1]" + | "[path]" + | "[patternContentUnits]" + | "[patternTransform]" + | "[patternUnits]" + | "[ping]" + | "[pitch]" + | "[pointer-events]" + | "[pointsAtX]" + | "[pointsAtY]" + | "[pointsAtZ]" + | "[points]" + | "[preserveAlpha]" + | "[preserveAspectRatio]" + | "[primitiveUnits]" + | "[r]" + | "[radius]" + | "[refX]" + | "[refY]" + | "[referrerPolicy]" + | "[rel]" + | "[rendering-intent]" + | "[repeatCount]" + | "[requiredExtensions]" + | "[requiredFeatures]" + | "[rotate]" + | "[rx]" + | "[ry]" + | "[scale]" + | "[seed]" + | "[shape-rendering]" + | "[side]" + | "[slope]" + | "[solid-color]" + | "[solid-opacity]" + | "[spacing]" + | "[specularConstant]" + | "[specularExponent]" + | "[spreadMethod]" + | "[startOffset]" + | "[stdDeviation]" + | "[stemh]" + | "[stemv]" + | "[stitchTiles]" + | "[stop-color]" + | "[stop-opacity]" + | "[strikethrough-position]" + | "[strikethrough-thickness]" + | "[string]" + | "[stroke-dasharray]" + | "[stroke-dashoffset]" + | "[stroke-linecap]" + | "[stroke-linejoin]" + | "[stroke-miterlimit]" + | "[stroke-opacity]" + | "[stroke-width]" + | "[stroke]" + | "[style]" + | "[surfaceScale]" + | "[systemLanguage]" + | "[tabindex]" + | "[targetX]" + | "[targetY]" + | "[target]" + | "[text-anchor]" + | "[text-decoration]" + | "[text-overflow]" + | "[text-rendering]" + | "[textLength]" + | "[title]" + | "[to]" + | "[transform-origin]" + | "[transform]" + | "[type]" + | "[u1]" + | "[u2]" + | "[underline-position]" + | "[underline-thickness]" + | "[unicode-bidi]" + | "[unicode-range]" + | "[unicode]" + | "[units-per-em]" + | "[v-alphabetic]" + | "[v-hanging]" + | "[v-ideographic]" + | "[v-mathematical]" + | "[values]" + | "[vector-effect]" + | "[version]" + | "[vert-adv-y]" + | "[vert-origin-x]" + | "[vert-origin-y]" + | "[viewBox]" + | "[viewTarget]" + | "[visibility]" + | "[white-space]" + | "[width]" + | "[widths]" + | "[word-spacing]" + | "[writing-mode]" + | "[x-height]" + | "[x1]" + | "[x2]" + | "[xChannelSelector]" + | "[x]" + | "[y1]" + | "[y2]" + | "[yChannelSelector]" + | "[y]" + | "[z]" + | "[zoomAndPan]"; + +export type Globals = "inherit" | "initial" | "revert" | "unset"; + +export type OnlyObject = Record + +export type OnlyNumber = number & OnlyObject + +export type OnlyString = string & OnlyObject + +export type OnlyStringNumeric = (number | string) & OnlyObject + +export namespace Property { + export type AlignContent = DataType.ContentDistribution | DataType.ContentPosition | "baseline" | "normal" | OnlyString; + + export type AlignItems = DataType.SelfPosition | "baseline" | "normal" | "stretch" | OnlyString; + + export type AlignSelf = DataType.SelfPosition | "auto" | "baseline" | "normal" | "stretch" | OnlyString; + + export type AlignTracks = DataType.ContentDistribution | DataType.ContentPosition | "baseline" | "normal" | OnlyString; + + export type All = never; + + export type Animation = DataType.SingleAnimation | OnlyString; + + export type AnimationDelay = OnlyString; + + export type AnimationDirection = DataType.SingleAnimationDirection | OnlyString; + + export type AnimationDuration = OnlyString; + + export type AnimationFillMode = DataType.SingleAnimationFillMode | OnlyString; + + export type AnimationIterationCount = "infinite" | OnlyString | OnlyNumber; + + export type AnimationName = "none" | OnlyString; + + export type AnimationPlayState = "paused" | "running" | OnlyString; + + export type AnimationTimingFunction = DataType.EasingFunction | OnlyString; + + export type Appearance = DataType.CompatAuto | "auto" | "menulist-button" | "none" | "textfield"; + + export type AspectRatio = "auto" | OnlyString; + + export type Azimuth = + | "behind" + | "center" + | "center-left" + | "center-right" + | "far-left" + | "far-right" + | "left" + | "left-side" + | "leftwards" + | "right" + | "right-side" + | "rightwards" + | OnlyString; + + export type BackdropFilter = "none" | OnlyString; + + export type BackfaceVisibility = "hidden" | "visible"; + + export type Background = DataType.FinalBgLayer | OnlyString; + + export type BackgroundAttachment = DataType.Attachment | OnlyString; + + export type BackgroundBlendMode = DataType.BlendMode | OnlyString; + + export type BackgroundClip = DataType.Box | OnlyString; + + export type BackgroundColor = DataType.Color; + + export type BackgroundImage = "none" | OnlyString; + + export type BackgroundOrigin = DataType.Box | OnlyString; + + export type BackgroundPosition = DataType.BgPosition | OnlyString; + + export type BackgroundPositionX = "center" | "left" | "right" | "x-end" | "x-start" | OnlyString; + + export type BackgroundPositionY = "bottom" | "center" | "top" | "y-end" | "y-start" | OnlyString; + + export type BackgroundRepeat = DataType.RepeatStyle | OnlyString; + + export type BackgroundSize = DataType.BgSize | OnlyString; + + export type BlockOverflow = "clip" | "ellipsis" | OnlyString; + + export type BlockSize = + | "auto" + | "stretch" + | "fit-content" + | "max-content" + | "min-content" + | OnlyString; + + export type Border = DataType.LineWidth | DataType.LineStyle | DataType.Color | OnlyString; + + export type BorderBlock = DataType.LineWidth | DataType.LineStyle | DataType.Color | OnlyString; + + export type BorderBlockColor = DataType.Color | OnlyString; + + export type BorderBlockEnd = DataType.LineWidth | DataType.LineStyle | DataType.Color | OnlyString; + + export type BorderBlockEndColor = DataType.Color; + + export type BorderBlockEndStyle = DataType.LineStyle; + + export type BorderBlockEndWidth = DataType.LineWidth; + + export type BorderBlockStart = DataType.LineWidth | DataType.LineStyle | DataType.Color | OnlyString; + + export type BorderBlockStartColor = DataType.Color; + + export type BorderBlockStartStyle = DataType.LineStyle; + + export type BorderBlockStartWidth = DataType.LineWidth; + + export type BorderBlockStyle = DataType.LineStyle; + + export type BorderBlockWidth = DataType.LineWidth; + + export type BorderBottom = DataType.LineWidth | DataType.LineStyle | DataType.Color | OnlyString; + + export type BorderBottomColor = DataType.Color; + + export type BorderBottomLeftRadius = OnlyString; + + export type BorderBottomRightRadius = OnlyString; + + export type BorderBottomStyle = DataType.LineStyle; + + export type BorderBottomWidth = DataType.LineWidth; + + export type BorderCollapse = "collapse" | "separate"; + + export type BorderColor = DataType.Color | OnlyString; + + export type BorderEndEndRadius = OnlyString; + + export type BorderEndStartRadius = OnlyString; + + export type BorderImage = "none" | "repeat" | "round" | "space" | "stretch" | OnlyString | OnlyNumber; + + export type BorderImageOutset = OnlyString | OnlyNumber; + + export type BorderImageRepeat = "repeat" | "round" | "space" | "stretch" | OnlyString; + + export type BorderImageSlice = OnlyString | OnlyNumber; + + export type BorderImageSource = "none" | OnlyString; + + export type BorderImageWidth = "auto" | OnlyString | OnlyNumber; + + export type BorderInline = DataType.LineWidth | DataType.LineStyle | DataType.Color | OnlyString; + + export type BorderInlineColor = DataType.Color | OnlyString; + + export type BorderInlineEnd = DataType.LineWidth | DataType.LineStyle | DataType.Color | OnlyString; + + export type BorderInlineEndColor = DataType.Color; + + export type BorderInlineEndStyle = DataType.LineStyle; + + export type BorderInlineEndWidth = DataType.LineWidth; + + export type BorderInlineStart = DataType.LineWidth | DataType.LineStyle | DataType.Color | OnlyString; + + export type BorderInlineStartColor = DataType.Color; + + export type BorderInlineStartStyle = DataType.LineStyle; + + export type BorderInlineStartWidth = DataType.LineWidth; + + export type BorderInlineStyle = DataType.LineStyle; + + export type BorderInlineWidth = DataType.LineWidth; + + export type BorderLeft = DataType.LineWidth | DataType.LineStyle | DataType.Color | OnlyString; + + export type BorderLeftColor = DataType.Color; + + export type BorderLeftStyle = DataType.LineStyle; + + export type BorderLeftWidth = DataType.LineWidth; + + export type BorderRadius = OnlyString; + + export type BorderRight = DataType.LineWidth | DataType.LineStyle | DataType.Color | OnlyString; + + export type BorderRightColor = DataType.Color; + + export type BorderRightStyle = DataType.LineStyle; + + export type BorderRightWidth = DataType.LineWidth; + + export type BorderSpacing = OnlyString; + + export type BorderStartEndRadius = OnlyString; + + export type BorderStartStartRadius = OnlyString; + + export type BorderStyle = DataType.LineStyle | OnlyString; + + export type BorderTop = DataType.LineWidth | DataType.LineStyle | DataType.Color | OnlyString; + + export type BorderTopColor = DataType.Color; + + export type BorderTopLeftRadius = OnlyString; + + export type BorderTopRightRadius = OnlyString; + + export type BorderTopStyle = DataType.LineStyle; + + export type BorderTopWidth = DataType.LineWidth; + + export type BorderWidth = DataType.LineWidth | OnlyString; + + export type Bottom = "auto" | OnlyString; + + export type BoxAlign = "baseline" | "center" | "end" | "start" | "stretch"; + + export type BoxDecorationBreak = "clone" | "slice"; + + export type BoxDirection = "inherit" | "normal" | "reverse"; + + export type BoxFlex = OnlyNumber; + + export type BoxFlexGroup = OnlyNumber; + + export type BoxLines = "multiple" | "single"; + + export type BoxOrdinalGroup = OnlyNumber; + + export type BoxOrient = "block-axis" | "horizontal" | "inherit" | "inline-axis" | "vertical"; + + export type BoxPack = "center" | "end" | "justify" | "start"; + + export type BoxShadow = "none" | OnlyString; + + export type BoxSizing = "border-box" | "content-box"; + + export type BreakAfter = + | "all" + | "always" + | "auto" + | "avoid" + | "avoid-column" + | "avoid-page" + | "avoid-region" + | "column" + | "left" + | "page" + | "recto" + | "region" + | "right" + | "verso"; + + export type BreakBefore = + | "all" + | "always" + | "auto" + | "avoid" + | "avoid-column" + | "avoid-page" + | "avoid-region" + | "column" + | "left" + | "page" + | "recto" + | "region" + | "right" + | "verso"; + + export type BreakInside = "auto" | "avoid" | "avoid-column" | "avoid-page" | "avoid-region"; + + export type CaptionSide = "block-end" | "block-start" | "bottom" | "inline-end" | "inline-start" | "top"; + + export type CaretColor = DataType.Color | "auto"; + + export type Clear = "both" | "inline-end" | "inline-start" | "left" | "none" | "right"; + + export type Clip = "auto" | OnlyString; + + export type ClipPath = DataType.GeometryBox | "none" | OnlyString; + + export type Color = DataType.Color; + + export type ColorAdjust = "economy" | "exact"; + + export type ColorScheme = "dark" | "light" | "light dark" | "normal" | OnlyString; + + export type ColumnCount = "auto" | OnlyNumber; + + export type ColumnFill = "auto" | "balance"; + + export type ColumnGap = "normal" | OnlyString; + + export type ColumnRule = DataType.LineWidth | DataType.LineStyle | DataType.Color | OnlyString; + + export type ColumnRuleColor = DataType.Color; + + export type ColumnRuleStyle = DataType.LineStyle | OnlyString; + + export type ColumnRuleWidth = DataType.LineWidth | OnlyString; + + export type ColumnSpan = "all" | "none"; + + export type ColumnWidth = "auto"; + + export type Columns = "auto" | OnlyString | OnlyNumber; + + export type Contain = "content" | "layout" | "none" | "paint" | "size" | "strict" | "style" | OnlyString; + + export type Content = DataType.ContentList | "none" | "normal" | OnlyString; + + export type ContentVisibility = "auto" | "hidden" | "visible"; + + export type CounterIncrement = "none" | OnlyString; + + export type CounterReset = "none" | OnlyString; + + export type CounterSet = "none" | OnlyString; + + export type Cursor = + | "alias" + | "all-scroll" + | "auto" + | "cell" + | "col-resize" + | "context-menu" + | "copy" + | "crosshair" + | "default" + | "e-resize" + | "ew-resize" + | "grab" + | "grabbing" + | "help" + | "move" + | "n-resize" + | "ne-resize" + | "nesw-resize" + | "no-drop" + | "none" + | "not-allowed" + | "ns-resize" + | "nw-resize" + | "nwse-resize" + | "pointer" + | "progress" + | "row-resize" + | "s-resize" + | "se-resize" + | "sw-resize" + | "text" + | "vertical-text" + | "w-resize" + | "wait" + | "zoom-in" + | "zoom-out" + | OnlyString; + + export type Direction = "ltr" | "rtl"; + + export type Display = + | DataType.DisplayOutside + | DataType.DisplayInside + | DataType.DisplayInternal + | DataType.DisplayLegacy + | "contents" + | "list-item" + | "none" + | OnlyString; + + export type EmptyCells = "hide" | "show"; + + export type Filter = "none" | OnlyString; + + export type Flex = "auto" | "content" | "stretch" | "fit-content" | "max-content" | "min-content" | "none" | OnlyString | OnlyNumber; + + export type FlexBasis = + | "auto" + | "content" + | "stretch" + | "fit-content" + | "max-content" + | "min-content" + | OnlyString; + + export type FlexDirection = "column" | "column-reverse" | "row" | "row-reverse"; + + export type FlexFlow = "column" | "column-reverse" | "nowrap" | "row" | "row-reverse" | "wrap" | "wrap-reverse" | OnlyString; + + export type FlexGrow = OnlyNumber; + + export type FlexShrink = OnlyNumber; + + export type FlexWrap = "nowrap" | "wrap" | "wrap-reverse"; + + export type Float = "inline-end" | "inline-start" | "left" | "none" | "right"; + + export type Font = "caption" | "icon" | "menu" | "message-box" | "small-caption" | "status-bar" | OnlyString; + + export type FontFamily = DataType.GenericFamily | OnlyString; + + export type FontFeatureSettings = "normal" | OnlyString; + + export type FontKerning = "auto" | "none" | "normal"; + + export type FontLanguageOverride = "normal" | OnlyString; + + export type FontOpticalSizing = "auto" | "none"; + + export type FontSize = DataType.AbsoluteSize | "larger" | "smaller" | OnlyString; + + export type FontSizeAdjust = "none" | OnlyNumber; + + export type FontSmooth = DataType.AbsoluteSize | "always" | "auto" | "never"; + + export type FontStretch = DataType.FontStretchAbsolute; + + export type FontStyle = "italic" | "normal" | "oblique" | OnlyString; + + export type FontSynthesis = "none" | "style" | "weight" | OnlyString; + + export type FontVariant = + | DataType.EastAsianVariantValues + | "all-petite-caps" + | "all-small-caps" + | "common-ligatures" + | "contextual" + | "diagonal-fractions" + | "discretionary-ligatures" + | "full-width" + | "historical-forms" + | "historical-ligatures" + | "lining-nums" + | "no-common-ligatures" + | "no-contextual" + | "no-discretionary-ligatures" + | "no-historical-ligatures" + | "none" + | "normal" + | "oldstyle-nums" + | "ordinal" + | "petite-caps" + | "proportional-nums" + | "proportional-width" + | "ruby" + | "slashed-zero" + | "small-caps" + | "stacked-fractions" + | "tabular-nums" + | "titling-caps" + | "unicase" + | OnlyString; + + export type FontVariantAlternates = "historical-forms" | "normal" | OnlyString; + + export type FontVariantCaps = "all-petite-caps" | "all-small-caps" | "normal" | "petite-caps" | "small-caps" | "titling-caps" | "unicase"; + + export type FontVariantEastAsian = DataType.EastAsianVariantValues | "full-width" | "normal" | "proportional-width" | "ruby" | OnlyString; + + export type FontVariantLigatures = + | "common-ligatures" + | "contextual" + | "discretionary-ligatures" + | "historical-ligatures" + | "no-common-ligatures" + | "no-contextual" + | "no-discretionary-ligatures" + | "no-historical-ligatures" + | "none" + | "normal" + | OnlyString; + + export type FontVariantNumeric = + | "diagonal-fractions" + | "lining-nums" + | "normal" + | "oldstyle-nums" + | "ordinal" + | "proportional-nums" + | "slashed-zero" + | "stacked-fractions" + | "tabular-nums" + | OnlyString; + + export type FontVariantPosition = "normal" | "sub" | "super"; + + export type FontVariationSettings = "normal" | OnlyString; + + export type FontWeight = DataType.FontWeightAbsolute | "bolder" | "lighter"; + + export type ForcedColorAdjust = "auto" | "none"; + + export type Gap = "normal" | OnlyString; + + export type Grid = "none" | OnlyString; + + export type GridArea = DataType.GridLine | OnlyString; + + export type GridAutoColumns = DataType.TrackBreadth | OnlyString; + + export type GridAutoFlow = "column" | "dense" | "row" | OnlyString; + + export type GridAutoRows = DataType.TrackBreadth | OnlyString; + + export type GridColumn = DataType.GridLine | OnlyString; + + export type GridColumnEnd = DataType.GridLine; + + export type GridColumnGap = OnlyString; + + export type GridColumnStart = DataType.GridLine; + + export type GridGap = OnlyString; + + export type GridRow = DataType.GridLine | OnlyString; + + export type GridRowEnd = DataType.GridLine; + + export type GridRowGap = OnlyString; + + export type GridRowStart = DataType.GridLine; + + export type GridTemplate = "none" | OnlyString; + + export type GridTemplateAreas = "none" | OnlyString; + + export type GridTemplateColumns = DataType.TrackBreadth | "none" | "subgrid" | OnlyString; + + export type GridTemplateRows = DataType.TrackBreadth | "none" | "subgrid" | OnlyString; + + export type HangingPunctuation = "allow-end" | "first" | "force-end" | "last" | "none" | OnlyString; + + export type Height = + | "auto" + | "stretch" + | "fit-content" + | "max-content" + | "min-content" + | OnlyString; + + export type Hyphens = "auto" | "manual" | "none"; + + export type ImageOrientation = "flip" | "from-image" | OnlyString; + + export type ImageRendering = "auto" | "crisp-edges" | "pixelated"; + + export type ImageResolution = "from-image" | OnlyString; + + export type ImeMode = "active" | "auto" | "disabled" | "inactive" | "normal"; + + export type InitialLetter = "normal" | OnlyString | OnlyNumber; + + export type InlineSize = + | "auto" + | "stretch" + | "fit-content" + | "max-content" + | "min-content" + | OnlyString; + + export type Inset = "auto" | OnlyString; + + export type InsetBlock = "auto" | OnlyString; + + export type InsetBlockEnd = "auto" | OnlyString; + + export type InsetBlockStart = "auto" | OnlyString; + + export type InsetInline = "auto" | OnlyString; + + export type InsetInlineEnd = "auto" | OnlyString; + + export type InsetInlineStart = "auto" | OnlyString; + + export type Isolation = "auto" | "isolate"; + + export type JustifyContent = DataType.ContentDistribution | DataType.ContentPosition | "left" | "normal" | "right" | OnlyString; + + export type JustifyItems = DataType.SelfPosition | "baseline" | "left" | "legacy" | "normal" | "right" | "stretch" | OnlyString; + + export type JustifySelf = DataType.SelfPosition | "auto" | "baseline" | "left" | "normal" | "right" | "stretch" | OnlyString; + + export type JustifyTracks = DataType.ContentDistribution | DataType.ContentPosition | "left" | "normal" | "right" | OnlyString; + + export type Left = "auto" | OnlyString; + + export type LetterSpacing = "normal"; + + export type LineBreak = "anywhere" | "auto" | "loose" | "normal" | "strict"; + + export type LineClamp = "none" | OnlyNumber; + + export type LineHeight = "normal" | OnlyString | OnlyNumber; + + export type LineHeightStep = never; + + export type ListStyle = "inside" | "none" | "outside" | OnlyString; + + export type ListStyleImage = "none" | OnlyString; + + export type ListStylePosition = "inside" | "outside"; + + export type ListStyleType = "none" | OnlyString; + + export type Margin = "auto" | OnlyString; + + export type MarginBlock = "auto" | OnlyString; + + export type MarginBlockEnd = "auto" | OnlyString; + + export type MarginBlockStart = "auto" | OnlyString; + + export type MarginBottom = "auto" | OnlyString; + + export type MarginInline = "auto" | OnlyString; + + export type MarginInlineEnd = "auto" | OnlyString; + + export type MarginInlineStart = "auto" | OnlyString; + + export type MarginLeft = "auto" | OnlyString; + + export type MarginRight = "auto" | OnlyString; + + export type MarginTop = "auto" | OnlyString; + + export type Mask = DataType.MaskLayer | OnlyString; + + export type MaskBorder = "alpha" | "luminance" | "none" | "repeat" | "round" | "space" | "stretch" | OnlyString | OnlyNumber; + + export type MaskBorderMode = "alpha" | "luminance"; + + export type MaskBorderOutset = OnlyString | OnlyNumber; + + export type MaskBorderRepeat = "repeat" | "round" | "space" | "stretch" | OnlyString; + + export type MaskBorderSlice = OnlyString | OnlyNumber; + + export type MaskBorderSource = "none" | OnlyString; + + export type MaskBorderWidth = "auto" | OnlyString | OnlyNumber; + + export type MaskClip = DataType.GeometryBox | "no-clip" | OnlyString; + + export type MaskComposite = DataType.CompositingOperator | OnlyString; + + export type MaskImage = "none" | OnlyString; + + export type MaskMode = DataType.MaskingMode | OnlyString; + + export type MaskOrigin = DataType.Box | "margin-box" | OnlyString; + + export type MaskPosition = DataType.Position | OnlyString; + + export type MaskRepeat = DataType.RepeatStyle | OnlyString; + + export type MaskSize = DataType.BgSize | OnlyString; + + export type MaskType = "alpha" | "luminance"; + + export type MathStyle = "compact" | "normal"; + + export type MaxBlockSize = + | "stretch" + | "fit-content" + | "max-content" + | "min-content" + | "none" + | OnlyString; + + export type MaxHeight = + | "stretch" + | "fit-content" + | "intrinsic" + | "max-content" + | "min-content" + | "none" + | OnlyString; + + export type MaxInlineSize = + | "stretch" + | "fit-content" + | "max-content" + | "min-content" + | "none" + | OnlyString; + + export type MaxLines = "none" | OnlyNumber; + + export type MaxWidth = + | "stretch" + | "fit-content" + | "intrinsic" + | "max-content" + | "min-content" + | "none" + | OnlyString; + + export type MinBlockSize = + | "auto" + | "stretch" + | "fit-content" + | "max-content" + | "min-content" + | OnlyString; + + export type MinHeight = + | "auto" + | "stretch" + | "fit-content" + | "intrinsic" + | "max-content" + | "min-content" + | OnlyString; + + export type MinInlineSize = + | "auto" + | "stretch" + | "fit-content" + | "max-content" + | "min-content" + | OnlyString; + + export type MinWidth = + | "auto" + | "stretch" + | "fit-content" + | "intrinsic" + | "max-content" + | "min-content" + | "min-intrinsic" + | OnlyString; + + export type MixBlendMode = DataType.BlendMode; + + export type Offset = DataType.Position | DataType.GeometryBox | "auto" | "none" | OnlyString; + + export type OffsetDistance = OnlyString; + + export type OffsetPath = DataType.GeometryBox | "none" | OnlyString; + + export type OffsetRotate = "auto" | "reverse" | OnlyString; + + export type ObjectFit = "contain" | "cover" | "fill" | "none" | "scale-down"; + + export type ObjectPosition = DataType.Position; + + export type OffsetAnchor = DataType.Position | "auto"; + + export type Opacity = OnlyString | OnlyNumber; + + export type Order = OnlyNumber; + + export type Orphans = OnlyNumber; + + export type Outline = DataType.Color | DataType.LineStyle | DataType.LineWidth | "auto" | "invert" | OnlyString; + + export type OutlineColor = DataType.Color | "invert"; + + export type OutlineOffset = never; + + export type OutlineStyle = DataType.LineStyle | "auto" | OnlyString; + + export type OutlineWidth = DataType.LineWidth; + + export type Overflow = "auto" | "clip" | "hidden" | "scroll" | "visible" | OnlyString; + + export type OverflowAnchor = "auto" | "none"; + + export type OverflowBlock = "auto" | "clip" | "hidden" | "scroll" | "visible"; + + export type OverflowClipBox = "content-box" | "padding-box"; + + export type OverflowClipMargin = DataType.VisualBox | OnlyString; + + export type OverflowInline = "auto" | "clip" | "hidden" | "scroll" | "visible"; + + export type OverflowWrap = "anywhere" | "break-word" | "normal"; + + export type OverflowX = "auto" | "clip" | "hidden" | "scroll" | "visible"; + + export type OverflowY = "auto" | "clip" | "hidden" | "scroll" | "visible"; + + export type OverscrollBehavior = "auto" | "contain" | "none" | OnlyString; + + export type OverscrollBehaviorBlock = "auto" | "contain" | "none"; + + export type OverscrollBehaviorInline = "auto" | "contain" | "none"; + + export type OverscrollBehaviorX = "auto" | "contain" | "none"; + + export type OverscrollBehaviorY = "auto" | "contain" | "none"; + + export type Padding = OnlyString; + + export type PaddingBlock = OnlyString; + + export type PaddingBlockEnd = OnlyString; + + export type PaddingBlockStart = OnlyString; + + export type PaddingBottom = OnlyString; + + export type PaddingInline = OnlyString; + + export type PaddingInlineEnd = OnlyString; + + export type PaddingInlineStart = OnlyString; + + export type PaddingLeft = OnlyString; + + export type PaddingRight = OnlyString; + + export type PaddingTop = OnlyString; + + export type PageBreakAfter = "always" | "auto" | "avoid" | "left" | "recto" | "right" | "verso"; + + export type PageBreakBefore = "always" | "auto" | "avoid" | "left" | "recto" | "right" | "verso"; + + export type PageBreakInside = "auto" | "avoid"; + + export type PaintOrder = "fill" | "markers" | "normal" | "stroke" | OnlyString; + + export type Perspective = "none"; + + export type PerspectiveOrigin = DataType.Position; + + export type PlaceContent = DataType.ContentDistribution | DataType.ContentPosition | "baseline" | "normal" | OnlyString; + + export type PlaceItems = DataType.SelfPosition | "baseline" | "normal" | "stretch" | OnlyString; + + export type PlaceSelf = DataType.SelfPosition | "auto" | "baseline" | "normal" | "stretch" | OnlyString; + + export type PointerEvents = "all" | "auto" | "fill" | "inherit" | "none" | "painted" | "stroke" | "visible" | "visibleFill" | "visiblePainted" | "visibleStroke"; + + export type Position = "absolute" | "fixed" | "relative" | "static" | "sticky"; + + export type Quotes = "auto" | "none" | OnlyString; + + export type Resize = "block" | "both" | "horizontal" | "inline" | "none" | "vertical"; + + export type Right = "auto" | OnlyString; + + export type Rotate = "none" | OnlyString; + + export type RowGap = "normal" | OnlyString; + + export type RubyAlign = "center" | "space-around" | "space-between" | "start"; + + export type RubyMerge = "auto" | "collapse" | "separate"; + + export type RubyPosition = "alternate" | "over" | "under" | OnlyString; + + export type Scale = "none" | OnlyString | OnlyNumber; + + export type ScrollBehavior = "auto" | "smooth"; + + export type ScrollMargin = OnlyString; + + export type ScrollMarginBlock = OnlyString; + + export type ScrollMarginBlockEnd = never; + + export type ScrollMarginBlockStart = never; + + export type ScrollMarginBottom = never; + + export type ScrollMarginInline = OnlyString; + + export type ScrollMarginInlineEnd = never; + + export type ScrollMarginInlineStart = never; + + export type ScrollMarginLeft = never; + + export type ScrollMarginRight = never; + + export type ScrollMarginTop = never; + + export type ScrollPadding = "auto" | OnlyString; + + export type ScrollPaddingBlock = "auto" | OnlyString; + + export type ScrollPaddingBlockEnd = "auto" | OnlyString; + + export type ScrollPaddingBlockStart = "auto" | OnlyString; + + export type ScrollPaddingBottom = "auto" | OnlyString; + + export type ScrollPaddingInline = "auto" | OnlyString; + + export type ScrollPaddingInlineEnd = "auto" | OnlyString; + + export type ScrollPaddingInlineStart = "auto" | OnlyString; + + export type ScrollPaddingLeft = "auto" | OnlyString; + + export type ScrollPaddingRight = "auto" | OnlyString; + + export type ScrollPaddingTop = "auto" | OnlyString; + + export type ScrollSnapAlign = "center" | "end" | "none" | "start" | OnlyString; + + export type ScrollSnapCoordinate = DataType.Position | "none" | OnlyString; + + export type ScrollSnapDestination = DataType.Position; + + export type ScrollSnapPointsX = "none" | OnlyString; + + export type ScrollSnapPointsY = "none" | OnlyString; + + export type ScrollSnapStop = "always" | "normal"; + + export type ScrollSnapType = "block" | "both" | "inline" | "none" | "x" | "y" | OnlyString; + + export type ScrollSnapTypeX = "mandatory" | "none" | "proximity"; + + export type ScrollSnapTypeY = "mandatory" | "none" | "proximity"; + + export type ScrollbarColor = DataType.Color | "auto" | "dark" | "light"; + + export type ScrollbarGutter = "always" | "auto" | "stable" | OnlyString; + + export type MsScrollbarTrackColor = DataType.Color; + + export type ScrollbarWidth = "auto" | "none" | "thin"; + + export type ShapeImageThreshold = OnlyString | OnlyNumber; + + export type ShapeMargin = OnlyString; + + export type ShapeOutside = DataType.Box | "margin-box" | "none" | OnlyString; + + export type TabSize = OnlyNumber; + + export type TableLayout = "auto" | "fixed"; + + export type TextAlign = "center" | "end" | "justify" | "left" | "match-parent" | "right" | "start"; + + export type TextAlignLast = "auto" | "center" | "end" | "justify" | "left" | "right" | "start"; + + export type TextCombineUpright = "all" | "digits" | "none" | OnlyString; + + export type TextDecoration = + | DataType.Color + | "auto" + | "blink" + | "dashed" + | "dotted" + | "double" + | "from-font" + | "grammar-error" + | "line-through" + | "none" + | "overline" + | "solid" + | "spelling-error" + | "underline" + | "wavy" + | OnlyString; + + export type TextDecorationColor = DataType.Color; + + export type TextDecorationLine = "blink" | "grammar-error" | "line-through" | "none" | "overline" | "spelling-error" | "underline" | OnlyString; + + export type TextDecorationSkip = "box-decoration" | "edges" | "leading-spaces" | "none" | "objects" | "spaces" | "trailing-spaces" | OnlyString; + + export type TextDecorationSkipInk = "all" | "auto" | "none"; + + export type TextDecorationStyle = "dashed" | "dotted" | "double" | "solid" | "wavy"; + + export type TextDecorationThickness = "auto" | "from-font" | OnlyString; + + export type TextEmphasis = DataType.Color | "circle" | "dot" | "double-circle" | "filled" | "none" | "open" | "sesame" | "triangle" | OnlyString; + + export type TextEmphasisColor = DataType.Color; + + export type TextEmphasisPosition = OnlyString; + + export type TextEmphasisStyle = "circle" | "dot" | "double-circle" | "filled" | "none" | "open" | "sesame" | "triangle" | OnlyString; + + export type TextIndent = OnlyString; + + export type TextJustify = "auto" | "inter-character" | "inter-word" | "none"; + + export type TextOrientation = "mixed" | "sideways" | "upright"; + + export type TextOverflow = "clip" | "ellipsis" | OnlyString; + + export type TextRendering = "auto" | "geometricPrecision" | "optimizeLegibility" | "optimizeSpeed"; + + export type TextShadow = "none" | OnlyString; + + export type TextSizeAdjust = "auto" | "none" | OnlyString; + + export type TextTransform = "capitalize" | "full-size-kana" | "full-width" | "lowercase" | "none" | "uppercase"; + + export type TextUnderlineOffset = "auto" | OnlyString; + + export type TextUnderlinePosition = "auto" | "from-font" | "left" | "right" | "under" | OnlyString; + + export type Top = "auto" | OnlyString; + + export type TouchAction = + | "auto" + | "manipulation" + | "none" + | "pan-down" + | "pan-left" + | "pan-right" + | "pan-up" + | "pan-x" + | "pan-y" + | "pinch-zoom" + | OnlyString; + + export type Transform = "none" | OnlyString; + + export type TransformBox = "border-box" | "content-box" | "fill-box" | "stroke-box" | "view-box"; + + export type TransformOrigin = "bottom" | "center" | "left" | "right" | "top" | OnlyString; + + export type TransformStyle = "flat" | "preserve-3d"; + + export type Transition = DataType.SingleTransition | OnlyString; + + export type TransitionDelay = OnlyString; + + export type TransitionDuration = OnlyString; + + export type TransitionProperty = "all" | "none" | OnlyString; + + export type TransitionTimingFunction = DataType.EasingFunction | OnlyString; + + export type Translate = "none" | OnlyString; + + export type UnicodeBidi = + | "bidi-override" + | "embed" + | "isolate" + | "isolate-override" + | "normal" + | "plaintext"; + + export type UserSelect = "all" | "auto" | "contain" | "element" | "none" | "text"; + + export type VerticalAlign = + | "baseline" + | "bottom" + | "middle" + | "sub" + | "super" + | "text-bottom" + | "text-top" + | "top" + | OnlyString; + + export type Visibility = "collapse" | "hidden" | "visible"; + + export type WhiteSpace = "break-spaces" | "normal" | "nowrap" | "pre" | "pre-line" | "pre-wrap"; + + export type Widows = OnlyNumber; + + export type Width = + | "auto" + | "stretch" + | "fit-content" + | "intrinsic" + | "max-content" + | "min-content" + | "min-intrinsic" + | OnlyString; + + export type WillChange = DataType.AnimateableFeature | "auto" | OnlyString; + + export type WordBreak = "break-all" | "break-word" | "keep-all" | "normal"; + + export type WordSpacing = "normal" | OnlyString; + + export type WordWrap = "break-word" | "normal"; + + export type WritingMode = "horizontal-tb" | "sideways-lr" | "sideways-rl" | "vertical-lr" | "vertical-rl"; + + export type ZIndex = "auto" | OnlyNumber; + + export type Zoom = "normal" | "reset" | OnlyString | OnlyNumber; + + export type MozAppearance = + | "button" + | "button-arrow-down" + | "button-arrow-next" + | "button-arrow-previous" + | "button-arrow-up" + | "button-bevel" + | "button-focus" + | "caret" + | "checkbox" + | "checkbox-container" + | "checkbox-label" + | "checkmenuitem" + | "dualbutton" + | "groupbox" + | "listbox" + | "listitem" + | "menuarrow" + | "menubar" + | "menucheckbox" + | "menuimage" + | "menuitem" + | "menuitemtext" + | "menulist" + | "menulist-button" + | "menulist-text" + | "menulist-textfield" + | "menupopup" + | "menuradio" + | "menuseparator" + | "meterbar" + | "meterchunk" + | "none" + | "progressbar" + | "progressbar-vertical" + | "progresschunk" + | "progresschunk-vertical" + | "radio" + | "radio-container" + | "radio-label" + | "radiomenuitem" + | "range" + | "range-thumb" + | "resizer" + | "resizerpanel" + | "scale-horizontal" + | "scale-vertical" + | "scalethumb-horizontal" + | "scalethumb-vertical" + | "scalethumbend" + | "scalethumbstart" + | "scalethumbtick" + | "scrollbarbutton-down" + | "scrollbarbutton-left" + | "scrollbarbutton-right" + | "scrollbarbutton-up" + | "scrollbarthumb-horizontal" + | "scrollbarthumb-vertical" + | "scrollbartrack-horizontal" + | "scrollbartrack-vertical" + | "searchfield" + | "separator" + | "sheet" + | "spinner" + | "spinner-downbutton" + | "spinner-textfield" + | "spinner-upbutton" + | "splitter" + | "statusbar" + | "statusbarpanel" + | "tab" + | "tab-scroll-arrow-back" + | "tab-scroll-arrow-forward" + | "tabpanel" + | "tabpanels" + | "textfield" + | "textfield-multiline" + | "toolbar" + | "toolbarbutton" + | "toolbarbutton-dropdown" + | "toolbargripper" + | "toolbox" + | "tooltip" + | "treeheader" + | "treeheadercell" + | "treeheadersortarrow" + | "treeitem" + | "treeline" + | "treetwisty" + | "treetwistyopen" + | "treeview"; + + export type MozBinding = "none" | OnlyString; + + export type MozBorderBottomColors = DataType.Color | "none" | OnlyString; + + export type MozBorderLeftColors = DataType.Color | "none" | OnlyString; + + export type MozBorderRightColors = DataType.Color | "none" | OnlyString; + + export type MozBorderTopColors = DataType.Color | "none" | OnlyString; + + export type MozContextProperties = "fill" | "fill-opacity" | "none" | "stroke" | "stroke-opacity" | OnlyString; + + export type MozFloatEdge = "border-box" | "content-box" | "margin-box" | "padding-box"; + + export type MozForceBrokenImageIcon = OnlyNumber; + + export type MozImageRegion = "auto" | OnlyString; + + export type MozOrient = "block" | "horizontal" | "inline" | "vertical"; + + export type MozOutlineRadius = OnlyString; + + export type MozOutlineRadiusBottomleft = OnlyString; + + export type MozOutlineRadiusBottomright = OnlyString; + + export type MozOutlineRadiusTopleft = OnlyString; + + export type MozOutlineRadiusTopright = OnlyString; + + export type MozStackSizing = "ignore" | "stretch-to-fit"; + + export type MozTextBlink = "blink" | "none"; + + export type MozUserFocus = "ignore" | "none" | "normal" | "select-after" | "select-all" | "select-before" | "select-menu" | "select-same"; + + export type MozUserInput = "auto" | "disabled" | "enabled" | "none"; + + export type MozUserModify = "read-only" | "read-write" | "write-only"; + + export type MozWindowDragging = "drag" | "no-drag"; + + export type MozWindowShadow = "default" | "menu" | "none" | "sheet" | "tooltip"; + + export type MsAccelerator = "false" | "true"; + + export type MsBlockProgression = "bt" | "lr" | "rl" | "tb"; + + export type MsContentZoomChaining = "chained" | "none"; + + export type MsContentZoomLimit = OnlyString; + + export type MsContentZoomLimitMax = OnlyString; + + export type MsContentZoomLimitMin = OnlyString; + + export type MsContentZoomSnap = "mandatory" | "none" | "proximity" | OnlyString; + + export type MsContentZoomSnapPoints = OnlyString; + + export type MsContentZoomSnapType = "mandatory" | "none" | "proximity"; + + export type MsContentZooming = "none" | "zoom"; + + export type MsFilter = OnlyString; + + export type MsFlowFrom = "none" | OnlyString; + + export type MsFlowInto = "none" | OnlyString; + + export type MsGridColumns = DataType.TrackBreadth | "none" | OnlyString; + + export type MsGridRows = DataType.TrackBreadth | "none" | OnlyString; + + export type MsHighContrastAdjust = "auto" | "none"; + + export type MsHyphenateLimitChars = "auto" | OnlyString | OnlyNumber; + + export type MsHyphenateLimitLines = "no-limit" | OnlyNumber; + + export type MsHyphenateLimitZone = OnlyString; + + export type MsImeAlign = "after" | "auto"; + + export type MsOverflowStyle = "auto" | "none" | "scrollbar"; + + export type MsScrollChaining = "chained" | "none"; + + export type MsScrollLimit = OnlyString; + + export type MsScrollLimitXMax = "auto"; + + export type MsScrollLimitXMin = never; + + export type MsScrollLimitYMax = "auto"; + + export type MsScrollLimitYMin = never; + + export type MsScrollRails = "none" | "railed"; + + export type MsScrollSnapPointsX = OnlyString; + + export type MsScrollSnapPointsY = OnlyString; + + export type MsScrollSnapType = "mandatory" | "none" | "proximity"; + + export type MsScrollSnapX = OnlyString; + + export type MsScrollSnapY = OnlyString; + + export type MsScrollTranslation = "none" | "vertical-to-horizontal"; + + export type MsScrollbar3dlightColor = DataType.Color; + + export type MsScrollbarArrowColor = DataType.Color; + + export type MsScrollbarBaseColor = DataType.Color; + + export type MsScrollbarDarkshadowColor = DataType.Color; + + export type MsScrollbarFaceColor = DataType.Color; + + export type MsScrollbarHighlightColor = DataType.Color; + + export type MsScrollbarShadowColor = DataType.Color; + + export type MsTextAutospace = "ideograph-alpha" | "ideograph-numeric" | "ideograph-parenthesis" | "ideograph-space" | "none"; + + export type MsTouchSelect = "grippers" | "none"; + + export type MsUserSelect = "element" | "none" | "text"; + + export type MsWrapFlow = "auto" | "both" | "clear" | "end" | "maximum" | "start"; + + export type MsWrapMargin = never; + + export type MsWrapThrough = "none" | "wrap"; + + export type WebkitAppearance = + | "button" + | "button-bevel" + | "caret" + | "checkbox" + | "default-button" + | "inner-spin-button" + | "listbox" + | "listitem" + | "media-controls-background" + | "media-controls-fullscreen-background" + | "media-current-time-display" + | "media-enter-fullscreen-button" + | "media-exit-fullscreen-button" + | "media-fullscreen-button" + | "media-mute-button" + | "media-overlay-play-button" + | "media-play-button" + | "media-seek-back-button" + | "media-seek-forward-button" + | "media-slider" + | "media-sliderthumb" + | "media-time-remaining-display" + | "media-toggle-closed-captions-button" + | "media-volume-slider" + | "media-volume-slider-container" + | "media-volume-sliderthumb" + | "menulist" + | "menulist-button" + | "menulist-text" + | "menulist-textfield" + | "meter" + | "none" + | "progress-bar" + | "progress-bar-value" + | "push-button" + | "radio" + | "searchfield" + | "searchfield-cancel-button" + | "searchfield-decoration" + | "searchfield-results-button" + | "searchfield-results-decoration" + | "slider-horizontal" + | "slider-vertical" + | "sliderthumb-horizontal" + | "sliderthumb-vertical" + | "square-button" + | "textarea" + | "textfield"; + + export type WebkitBorderBefore = DataType.LineWidth | DataType.LineStyle | DataType.Color | OnlyString; + + export type WebkitBorderBeforeColor = DataType.Color; + + export type WebkitBorderBeforeStyle = DataType.LineStyle | OnlyString; + + export type WebkitBorderBeforeWidth = DataType.LineWidth | OnlyString; + + export type WebkitBoxReflect = "above" | "below" | "left" | "right" | OnlyString; + + export type WebkitLineClamp = "none" | OnlyNumber; + + export type WebkitMask = + | DataType.Position + | DataType.RepeatStyle + | DataType.Box + | "border" + | "content" + | "none" + | "padding" + | "text" + | OnlyString; + + export type WebkitMaskAttachment = DataType.Attachment | OnlyString; + + export type WebkitMaskClip = DataType.Box | "border" | "content" | "padding" | "text" | OnlyString; + + export type WebkitMaskComposite = DataType.CompositeStyle | OnlyString; + + export type WebkitMaskImage = "none" | OnlyString; + + export type WebkitMaskOrigin = DataType.Box | "border" | "content" | "padding" | OnlyString; + + export type WebkitMaskPosition = DataType.Position | OnlyString; + + export type WebkitMaskPositionX = "center" | "left" | "right" | OnlyString; + + export type WebkitMaskPositionY = "bottom" | "center" | "top" | OnlyString; + + export type WebkitMaskRepeat = DataType.RepeatStyle | OnlyString; + + export type WebkitMaskRepeatX = "no-repeat" | "repeat" | "round" | "space"; + + export type WebkitMaskRepeatY = "no-repeat" | "repeat" | "round" | "space"; + + export type WebkitMaskSize = DataType.BgSize | OnlyString; + + export type WebkitOverflowScrolling = "auto" | "touch"; + + export type WebkitTapHighlightColor = DataType.Color; + + export type WebkitTextFillColor = DataType.Color; + + export type WebkitTextStroke = DataType.Color | OnlyString; + + export type WebkitTextStrokeColor = DataType.Color; + + export type WebkitTextStrokeWidth = never; + + export type WebkitTouchCallout = "default" | "none"; + + export type WebkitUserModify = "read-only" | "read-write" | "read-write-plaintext-only"; + + export type AlignmentBaseline = + | "after-edge" + | "alphabetic" + | "auto" + | "baseline" + | "before-edge" + | "central" + | "hanging" + | "ideographic" + | "mathematical" + | "middle" + | "text-after-edge" + | "text-before-edge"; + + export type BaselineShift = "baseline" | "sub" | "super" | OnlyString; + + export type ClipRule = "evenodd" | "nonzero"; + + export type ColorInterpolation = "auto" | "linearRGB" | "sRGB"; + + export type ColorRendering = "auto" | "optimizeQuality" | "optimizeSpeed"; + + export type DominantBaseline = + | "alphabetic" + | "auto" + | "central" + | "hanging" + | "ideographic" + | "mathematical" + | "middle" + | "no-change" + | "reset-size" + | "text-after-edge" + | "text-before-edge" + | "use-script"; + + export type Fill = DataType.Paint; + + export type FillOpacity = OnlyNumber; + + export type FillRule = "evenodd" | "nonzero"; + + export type FloodColor = DataType.Color | "CurrentColor" | "hsl(" | "lab(" | "rgb("; + + export type FloodOpacity = OnlyNumber; + + export type GlyphOrientationVertical = "auto" | OnlyString | OnlyNumber; + + export type LightingColor = DataType.Color | "CurrentColor" | "hsl(" | "lab(" | "rgb("; + + export type Marker = "none" | OnlyString; + + export type MarkerEnd = "none" | OnlyString; + + export type MarkerMid = "none" | OnlyString; + + export type MarkerStart = "none" | OnlyString; + + export type ShapeRendering = "auto" | "crispEdges" | "geometricPrecision" | "optimizeSpeed"; + + export type StopColor = DataType.Color | "CurrentColor" | "hsl(" | "lab(" | "rgb("; + + export type StopOpacity = OnlyNumber; + + export type Stroke = DataType.Paint; + + export type StrokeDasharray = "none"; + + export type StrokeDashoffset = OnlyString; + + export type StrokeLinecap = "butt" | "round" | "square"; + + export type StrokeLinejoin = "bevel" | "miter" | "round"; + + export type StrokeMiterlimit = OnlyNumber; + + export type StrokeOpacity = OnlyNumber; + + export type StrokeWidth = OnlyString; + + export type TextAnchor = "end" | "middle" | "start"; + + export type VectorEffect = "non-scaling-stroke" | "none"; +} + +export namespace AtRule { + export interface CounterStyle { + additiveSymbols?: string; + fallback?: string; + negative?: string; + pad?: string; + prefix?: string; + range?: Range; + speakAs?: SpeakAs; + suffix?: string; + symbols?: string; + system?: System; + } + + export interface CounterStyleHyphen { + "additive-symbols"?: string; + fallback?: string; + negative?: string; + pad?: string; + prefix?: string; + range?: Range; + "speak-as"?: SpeakAs; + suffix?: string; + symbols?: string; + system?: System; + } + + export type CounterStyleFallback = { + [P in keyof CounterStyle]: CounterStyle[P] | CounterStyle[P][]; + }; + + export type CounterStyleHyphenFallback = { + [P in keyof CounterStyleHyphen]: CounterStyleHyphen[P] | CounterStyleHyphen[P][]; + }; + + export interface FontFace { + MozFontFeatureSettings?: FontFeatureSettings; + fontDisplay?: FontDisplay; + fontFamily?: string; + fontFeatureSettings?: FontFeatureSettings; + fontStretch?: FontStretch; + fontStyle?: FontStyle; + fontVariant?: FontVariant; + fontVariationSettings?: FontVariationSettings; + fontWeight?: FontWeight; + src?: string; + unicodeRange?: string; + } + + export interface FontFaceHyphen { + "font-display"?: FontDisplay; + "font-family"?: string; + "font-feature-settings"?: FontFeatureSettings; + "font-stretch"?: FontStretch; + "font-style"?: FontStyle; + "font-variant"?: FontVariant; + "font-variation-settings"?: FontVariationSettings; + "font-weight"?: FontWeight; + src?: string; + "unicode-range"?: string; + } + + export type FontFaceFallback = { + [P in keyof FontFace]: FontFace[P] | FontFace[P][]; + }; + + export type FontFaceHyphenFallback = { + [P in keyof FontFaceHyphen]: FontFaceHyphen[P] | FontFaceHyphen[P][]; + }; + + export interface Page { + size?: Size; + } + + export interface PageHyphen { + size?: Size; + } + + export type PageFallback = { + [P in keyof Page]: Page[P] | Page[P][]; + }; + + export type PageHyphenFallback = { + [P in keyof PageHyphen]: PageHyphen[P] | PageHyphen[P][]; + }; + + export interface Property { + inherits?: Inherits; + initialValue?: string; + syntax?: string; + } + + export interface PropertyHyphen { + inherits?: Inherits; + "initial-value"?: string; + syntax?: string; + } + + export type PropertyFallback = { + [P in keyof Property]: Property[P] | Property[P][]; + }; + + export type PropertyHyphenFallback = { + [P in keyof PropertyHyphen]: PropertyHyphen[P] | PropertyHyphen[P][]; + }; + + export interface Viewport { + height?: Height; + maxHeight?: MaxHeight; + maxWidth?: MaxWidth; + maxZoom?: MaxZoom; + minHeight?: MinHeight; + minWidth?: MinWidth; + minZoom?: MinZoom; + orientation?: Orientation; + userZoom?: UserZoom; + viewportFit?: ViewportFit; + width?: Width; + zoom?: Zoom; + } + + export interface ViewportHyphen { + height?: Height; + "max-height"?: MaxHeight; + "max-width"?: MaxWidth; + "max-zoom"?: MaxZoom; + "min-height"?: MinHeight; + "min-width"?: MinWidth; + "min-zoom"?: MinZoom; + orientation?: Orientation; + "user-zoom"?: UserZoom; + "viewport-fit"?: ViewportFit; + width?: Width; + zoom?: Zoom; + } + + export type ViewportFallback = { + [P in keyof Viewport]: Viewport[P] | Viewport[P][]; + }; + + export type ViewportHyphenFallback = { + [P in keyof ViewportHyphen]: ViewportHyphen[P] | ViewportHyphen[P][]; + }; + + type Range = "auto" | "infinite" | OnlyString | OnlyNumber; + + type SpeakAs = "auto" | "bullets" | "numbers" | "spell-out" | "words" | OnlyString; + + type System = "additive" | "alphabetic" | "cyclic" | "fixed" | "numeric" | "symbolic" | OnlyString; + + type FontFeatureSettings = "normal" | OnlyString; + + type FontDisplay = "auto" | "block" | "fallback" | "optional" | "swap"; + + type FontStretch = DataType.FontStretchAbsolute | OnlyString; + + type FontStyle = "italic" | "normal" | "oblique" | OnlyString; + + type FontVariant = + | DataType.EastAsianVariantValues + | "all-petite-caps" + | "all-small-caps" + | "common-ligatures" + | "contextual" + | "diagonal-fractions" + | "discretionary-ligatures" + | "full-width" + | "historical-forms" + | "historical-ligatures" + | "lining-nums" + | "no-common-ligatures" + | "no-contextual" + | "no-discretionary-ligatures" + | "no-historical-ligatures" + | "none" + | "normal" + | "oldstyle-nums" + | "ordinal" + | "petite-caps" + | "proportional-nums" + | "proportional-width" + | "ruby" + | "slashed-zero" + | "small-caps" + | "stacked-fractions" + | "tabular-nums" + | "titling-caps" + | "unicase" + | OnlyString; + + type FontVariationSettings = "normal" | OnlyString; + + type FontWeight = DataType.FontWeightAbsolute | OnlyString; + + type Size = DataType.PageSize | "auto" | "landscape" | "portrait" | OnlyString; + + type Inherits = "false" | "true"; + + type Height = DataType.ViewportLength | OnlyString; + + type MaxHeight = DataType.ViewportLength; + + type MaxWidth = DataType.ViewportLength; + + type MaxZoom = "auto" | OnlyString | OnlyNumber; + + type MinHeight = DataType.ViewportLength; + + type MinWidth = DataType.ViewportLength; + + type MinZoom = "auto" | OnlyString | OnlyNumber; + + type Orientation = "auto" | "landscape" | "portrait"; + + type UserZoom = "fixed" | "zoom"; + + type ViewportFit = "auto" | "contain" | "cover"; + + type Width = DataType.ViewportLength | OnlyString; + + type Zoom = "auto" | OnlyString | OnlyNumber; +} + +declare namespace DataType { + type AbsoluteSize = "large" | "medium" | "small" | "x-large" | "x-small" | "xx-large" | "xx-small" | "xxx-large"; + + type AnimateableFeature = "contents" | "scroll-position" | OnlyString; + + type Attachment = "fixed" | "local" | "scroll"; + + type BgPosition = "bottom" | "center" | "left" | "right" | "top" | OnlyString; + + type BgSize = "auto" | "contain" | "cover" | OnlyString; + + type BlendMode = + | "color" + | "color-burn" + | "color-dodge" + | "darken" + | "difference" + | "exclusion" + | "hard-light" + | "hue" + | "lighten" + | "luminosity" + | "multiply" + | "normal" + | "overlay" + | "saturation" + | "screen" + | "soft-light"; + + type Box = "border-box" | "content-box" | "padding-box"; + + type Color = NamedColor | SystemColor | "CurrentColor" | "hsl(" | "lab(" | "rgb(" | OnlyString; + + type CompatAuto = + | "button" + | "checkbox" + | "listbox" + | "menulist" + | "meter" + | "progress-bar" + | "push-button" + | "radio" + | "searchfield" + | "slider-horizontal" + | "square-button" + | "textarea"; + + type CompositeStyle = + | "clear" + | "copy" + | "destination-atop" + | "destination-in" + | "destination-out" + | "destination-over" + | "source-atop" + | "source-in" + | "source-out" + | "source-over" + | "xor"; + + type CompositingOperator = "add" | "exclude" | "intersect" | "subtract"; + + type ContentDistribution = "space-around" | "space-between" | "space-evenly" | "stretch"; + + type ContentList = Quote | "contents" | OnlyString; + + type ContentPosition = "center" | "end" | "flex-end" | "flex-start" | "start"; + + type CubicBezierTimingFunction = "ease" | "ease-in" | "ease-in-out" | "ease-out" | OnlyString; + + type Dasharray = OnlyString | OnlyNumber; + + type SystemColor = "ActiveText" | "ButtonFace" | "ButtonText" | "ButtonBorder" | "Canvas" | "CanvasText" | "Field" | "FieldText" | "GrayText" | "Highlight" | "HighlightText" | "LinkText" | "Mark" | "MarkText" | "VisitedText" + + type DisplayInside = "flex" | "flow" | "flow-root" | "grid" | "ruby" | "table"; + + type DisplayInternal = + | "ruby-base" + | "ruby-base-container" + | "ruby-text" + | "ruby-text-container" + | "table-caption" + | "table-cell" + | "table-column" + | "table-column-group" + | "table-footer-group" + | "table-header-group" + | "table-row" + | "table-row-group"; + + type DisplayLegacy = "inline-block" | "inline-flex" | "inline-grid" | "inline-list-item" | "inline-table"; + + type DisplayOutside = "block" | "inline" | "run-in"; + + type EasingFunction = CubicBezierTimingFunction | StepTimingFunction | "linear"; + + type EastAsianVariantValues = "jis04" | "jis78" | "jis83" | "jis90" | "simplified" | "traditional"; + + type FinalBgLayer = Color | BgPosition | RepeatStyle | Attachment | Box | "none" | OnlyString; + + type FontStretchAbsolute = + | "condensed" + | "expanded" + | "extra-condensed" + | "extra-expanded" + | "normal" + | "semi-condensed" + | "semi-expanded" + | "ultra-condensed" + | "ultra-expanded" + | OnlyString; + + type FontWeightAbsolute = "bold" | "normal" | OnlyNumber; + + type GenericFamily = "cursive" | "emoji" | "fangsong" | "fantasy" | "math" | "monospace" | "sans-serif" | "serif" | "system-ui" | "ui-monospace" | "ui-rounded" | "ui-sans-serif" | "ui-serif"; + + type GeometryBox = Box | "fill-box" | "margin-box" | "stroke-box" | "view-box"; + + type GridLine = "auto" | OnlyString | OnlyNumber; + + type LineStyle = "dashed" | "dotted" | "double" | "groove" | "hidden" | "inset" | "none" | "outset" | "ridge" | "solid"; + + type LineWidth = "medium" | "thick" | "thin"; + + type MaskLayer = Position | RepeatStyle | GeometryBox | CompositingOperator | MaskingMode | "no-clip" | "none" | OnlyString; + + type MaskingMode = "alpha" | "luminance" | "match-source"; + + type NamedColor = + | "AliceBlue" + | "AntiqueWhite" + | "Aqua" + | "Aquamarine" + | "Azure" + | "Beige" + | "Bisque" + | "Black" + | "BlanchedAlmond" + | "Blue" + | "BlueViolet" + | "Brown" + | "BurlyWood" + | "CadetBlue" + | "Chartreuse" + | "Chocolate" + | "Coral" + | "CornflowerBlue" + | "Cornsilk" + | "Crimson" + | "Cyan" + | "DarkBlue" + | "DarkCyan" + | "DarkGoldenRod" + | "DarkGray" + | "DarkGreen" + | "DarkGrey" + | "DarkKhaki" + | "DarkMagenta" + | "DarkOliveGreen" + | "DarkOrange" + | "DarkOrchid" + | "DarkRed" + | "DarkSalmon" + | "DarkSeaGreen" + | "DarkSlateBlue" + | "DarkSlateGray" + | "DarkSlateGrey" + | "DarkTurquoise" + | "DarkViolet" + | "DeepPink" + | "DeepSkyBlue" + | "DimGray" + | "DimGrey" + | "DodgerBlue" + | "FireBrick" + | "FloralWhite" + | "ForestGreen" + | "Fuchsia" + | "Gainsboro" + | "GhostWhite" + | "Gold" + | "GoldenRod" + | "Gray" + | "Green" + | "GreenYellow" + | "Grey" + | "HoneyDew" + | "HotPink" + | "IndianRed" + | "Indigo" + | "Ivory" + | "Khaki" + | "Lavender" + | "LavenderBlush" + | "LawnGreen" + | "LemonChiffon" + | "LightBlue" + | "LightCoral" + | "LightCyan" + | "LightGoldenRodYellow" + | "LightGray" + | "LightGreen" + | "LightGrey" + | "LightPink" + | "LightSalmon" + | "LightSeaGreen" + | "LightSkyBlue" + | "LightSlateGray" + | "LightSlateGrey" + | "LightSteelBlue" + | "LightYellow" + | "Lime" + | "LimeGreen" + | "Linen" + | "Magenta" + | "Maroon" + | "MediumAquaMarine" + | "MediumBlue" + | "MediumOrchid" + | "MediumPurple" + | "MediumSeaGreen" + | "MediumSlateBlue" + | "MediumSpringGreen" + | "MediumTurquoise" + | "MediumVioletRed" + | "MidnightBlue" + | "MintCream" + | "MistyRose" + | "Moccasin" + | "NavajoWhite" + | "Navy" + | "OldLace" + | "Olive" + | "OliveDrab" + | "Orange" + | "OrangeRed" + | "Orchid" + | "PaleGoldenRod" + | "PaleGreen" + | "PaleTurquoise" + | "PaleVioletRed" + | "PapayaWhip" + | "PeachPuff" + | "Peru" + | "Pink" + | "Plum" + | "PowderBlue" + | "Purple" + | "RebeccaPurple" + | "Red" + | "RosyBrown" + | "RoyalBlue" + | "SaddleBrown" + | "Salmon" + | "SandyBrown" + | "SeaGreen" + | "SeaShell" + | "Sienna" + | "Silver" + | "SkyBlue" + | "SlateBlue" + | "SlateGray" + | "SlateGrey" + | "Snow" + | "SpringGreen" + | "SteelBlue" + | "Tan" + | "Teal" + | "Thistle" + | "Tomato" + | "transparent" + | "Turquoise" + | "Violet" + | "Wheat" + | "White" + | "WhiteSmoke" + | "Yellow" + | "YellowGreen"; + + type PageSize = "A3" | "A4" | "A5" | "B4" | "B5" | "JIS-B4" | "JIS-B5" | "ledger" | "legal" | "letter"; + + type Paint = Color | "child" | "context-fill" | "context-stroke" | "none" | OnlyString; + + type Position = "bottom" | "center" | "left" | "right" | "top" | OnlyString; + + type Quote = "close-quote" | "no-close-quote" | "no-open-quote" | "open-quote"; + + type RepeatStyle = "no-repeat" | "repeat" | "repeat-x" | "repeat-y" | "round" | "space" | OnlyString; + + type SelfPosition = "center" | "end" | "flex-end" | "flex-start" | "self-end" | "self-start" | "start"; + + type SingleAnimation = + | EasingFunction + | SingleAnimationDirection + | SingleAnimationFillMode + | "infinite" + | "none" + | "paused" + | "running" + | OnlyString + | OnlyNumber; + + type SingleAnimationDirection = "alternate" | "alternate-reverse" | "normal" | "reverse"; + + type SingleAnimationFillMode = "backwards" | "both" | "forwards" | "none"; + + type SingleTransition = EasingFunction | "all" | "none" | OnlyString; + + type StepTimingFunction = "step-end" | "step-start" | OnlyString; + + type TrackBreadth = "auto" | "max-content" | "min-content" | OnlyString; + + type ViewportLength = "auto" | OnlyString; + + type VisualBox = "border-box" | "content-box" | "padding-box"; +} diff --git a/packages/core/types/default.d.ts b/packages/core/types/default.d.ts new file mode 100644 index 00000000..a493894c --- /dev/null +++ b/packages/core/types/default.d.ts @@ -0,0 +1,153 @@ +export interface ThemeMap { + gap: 'space' + gridGap: 'space' + columnGap: 'space' + gridColumnGap: 'space' + rowGap: 'space' + gridRowGap: 'space' + inset: 'space' + insetBlock: 'space' + insetBlockEnd: 'space' + insetBlockStart: 'space' + insetInline: 'space' + insetInlineEnd: 'space' + insetInlineStart: 'space' + margin: 'space' + marginTop: 'space' + marginRight: 'space' + marginBottom: 'space' + marginLeft: 'space' + marginBlock: 'space' + marginBlockEnd: 'space' + marginBlockStart: 'space' + marginInline: 'space' + marginInlineEnd: 'space' + marginInlineStart: 'space' + padding: 'space' + paddingTop: 'space' + paddingRight: 'space' + paddingBottom: 'space' + paddingLeft: 'space' + paddingBlock: 'space' + paddingBlockEnd: 'space' + paddingBlockStart: 'space' + paddingInline: 'space' + paddingInlineEnd: 'space' + paddingInlineStart: 'space' + scrollPadding: 'space' + scrollPaddingTop: 'space' + scrollPaddingRight: 'space' + scrollPaddingBottom: 'space' + scrollPaddingLeft: 'space' + scrollPaddingBlock: 'space' + scrollPaddingBlockEnd: 'space' + scrollPaddingBlockStart: 'space' + scrollPaddingInline: 'space' + scrollPaddingInlineEnd: 'space' + scrollPaddingInlineStart: 'space' + top: 'space' + right: 'space' + bottom: 'space' + left: 'space' + + fontSize: 'fontSizes' + + background: 'colors' + backgroundColor: 'colors' + backgroundImage: 'colors' + border: 'colors' + borderBlock: 'colors' + borderBlockEnd: 'colors' + borderBlockStart: 'colors' + borderBottom: 'colors' + borderBottomColor: 'colors' + borderColor: 'colors' + borderInline: 'colors' + borderInlineEnd: 'colors' + borderInlineStart: 'colors' + borderLeft: 'colors' + borderLeftColor: 'colors' + borderRight: 'colors' + borderRightColor: 'colors' + borderTop: 'colors' + borderTopColor: 'colors' + caretColor: 'colors' + color: 'colors' + columnRuleColor: 'colors' + outline: 'colors' + outlineColor: 'colors' + fill: 'colors' + stroke: 'colors' + textDecorationColor: 'colors' + + fontFamily: 'fonts' + + fontWeight: 'fontWeights' + lineHeight: 'lineHeights' + + letterSpacing: 'letterSpacings' + + blockSize: 'sizes' + minBlockSize: 'sizes' + maxBlockSize: 'sizes' + inlineSize: 'sizes' + minInlineSize: 'sizes' + maxInlineSize: 'sizes' + width: 'sizes' + minWidth: 'sizes' + maxWidth: 'sizes' + height: 'sizes' + minHeight: 'sizes' + maxHeight: 'sizes' + flexBasis: 'sizes' + gridTemplateColumns: 'sizes' + gridTemplateRows: 'sizes' + + borderWidth: 'borderWidths' + borderTopWidth: 'borderWidths' + borderLeftWidth: 'borderWidths' + borderRightWidth: 'borderWidths' + borderBottomWidth: 'borderWidths' + + borderStyle: 'borderStyles' + borderTopStyle: 'borderStyles' + borderLeftStyle: 'borderStyles' + borderRightStyle: 'borderStyles' + borderBottomStyle: 'borderStyles' + + borderRadius: 'radii' + borderTopLeftRadius: 'radii' + borderTopRightRadius: 'radii' + borderBottomRightRadius: 'radii' + borderBottomLeftRadius: 'radii' + + boxShadow: 'shadows' + textShadow: 'shadows' + + transition: 'transitions' + + zIndex: 'zIndices' +} + +export type Theme = { + borderStyles: ThemeScale + borderWidths: ThemeScale + colors: ThemeScale + fonts: ThemeScale + fontSizes: ThemeScale + fontWeights: ThemeScale + letterSpacings: ThemeScale + lineHeights: ThemeScale + radii: ThemeScale + shadows: ThemeScale + sizes: ThemeScale + space: ThemeScale + transitions: ThemeScale + zIndices: ThemeScale +} + +export type ThemeScale = { + [token: string]: number | string +} + +export type Util = (value: unknown) => {} diff --git a/packages/core/types/index.d.ts b/packages/core/types/index.d.ts index 46d458ad..04c076de 100644 --- a/packages/core/types/index.d.ts +++ b/packages/core/types/index.d.ts @@ -1 +1,19 @@ +import { Config, CreateCss, CreatedCss } from './core' +import * as Default from './default' + export * from './core' + +/** Returns a library used to create styles. */ +export declare const createCss: CreateCss + +/** Map of CSS properties to token scales. */ +export declare const defaultThemeMap: Default.ThemeMap + +/** Returns a function that applies styles and variants for a specific class. */ +export declare const css: CreatedCss>['css'] + +/** Returns a function that applies global styles. */ +export declare const global: CreatedCss>['global'] + +/** Returns an object that applies `@keyframes` styles. */ +export declare const keyframes: CreatedCss>['keyframes'] diff --git a/packages/core/types/test.ts b/packages/core/types/test.ts new file mode 100644 index 00000000..ad3480fc --- /dev/null +++ b/packages/core/types/test.ts @@ -0,0 +1,163 @@ +import { createCss, Stitches } from './index' + +const { config, css, global, theme } = createCss({ + prefix: 'sx', + media: { + bp1: '(min-width: 640px)', + bp2: '(min-width: 960px)', + }, + theme: { + colors: { + brand: '#0033ff', + }, + space: { + 1: 5, + 2: '10px', + 3: '15px', + 4: '30px', + 5: '60px', + }, + }, + utils: { + /** + * The `c` property sets the color of an element. + */ + c: (value: Stitches.PropertyValue<'color'>) => ({ + color: value, + }), + /** + * The `mx` property sets the margin area on the horizontal axis of an element. + */ + mx: (value: Stitches.TokenValue<'space'>) => ({ + marginLeft: value, + marginRight: value, + }), + }, +}) + +void config +void config.media +void config.media.all +void config.media.bp1 +void config.theme +void config.theme.colors +void config.theme.colors.brand +void config.themeMap +void config.themeMap.color + +const component = css({ + 'c': '', + 'color': '$brand', + 'display': 'contents', + 'marginLeft': 'auto', + 'mx': '', + '@bp2': { + 'color': '$brand', + 'display': 'flex', + '@bp1': { + color: '$brand', + }, + }, + '&:nth-child(1)': { + color: '$brand', + display: 'initial', + mx: '$3', + }, + 'variants': { + love: { + awesome: { + color: 'AntiqueWhite', + }, + blossom: { + color: 'BlueViolet', + }, + }, + peace: { + 3: { + color: '$brand', + display: 'block', + }, + /** All you need. */ + love: { + color: '$brand', + display: 'initial', + }, + true: { + color: '$brand', + display: 'block', + }, + }, + }, + 'defaultVariants': { + peace: 3 + }, + 'compoundVariants': [ + { + peace: true, + love: 'awesome', + anything: 'everything', + css: { + c: '$brand', + mx: '$3', + }, + }, + ], +}) + +void component.className +void component.selector + +const expression = component({ + peace: 3, + love: 'awesome', + unrelated: 'neato', + alsounrelated: '', + css: { + c: '$brand', + display: 'block', + mx: '$3' + }, +}) + +void expression +void expression.className +void expression.selector +void expression.props +void expression.props.peace +void expression.props.love +void expression.props.unrelated +void expression.props.alsounrelated + +void theme.colors +void theme.colors.brand +void theme.colors.brand.value +void theme.colors.brand.variable +void theme.colors.brand.computedValue + +const themeExpression = theme({ + colors: { + brand: '#224400', + }, +}) + +void themeExpression +void themeExpression.className +void themeExpression.selector +void themeExpression.colors +void themeExpression.colors.brand +void themeExpression.colors.brand.value +void themeExpression.colors.brand.variable +void themeExpression.colors.brand.computedValue + +const globalComponent = global({ + body: { + color: '$brand', + display: 'block', + }, +}) + +void globalComponent + +const globalExpression = globalComponent() + +void globalExpression diff --git a/packages/core/types/theme.d.ts b/packages/core/types/theme.d.ts new file mode 100644 index 00000000..2e96e585 --- /dev/null +++ b/packages/core/types/theme.d.ts @@ -0,0 +1,56 @@ +export declare class Token< + /** Token name. */ + NameType extends string = string, + + /** Token value. */ + ValueType extends string = string, + + /** Token scale. */ + ScaleType extends string | void = void, + + /** Token prefix. */ + PrefixType extends string | void = void, +> { + new (name: NameType, value: ValueType, scale?: ScaleType, prefix?: PrefixType): this + + /** Name of the token. */ + token: NameType + + /** Value of the token. */ + value: ValueType + + /** Category of interface the token applies to. */ + scale: ScaleType extends string ? ScaleType : '' + + /** Prefix added before the serialized custom property. */ + prefix: PrefixType extends string ? PrefixType : '' + + /** Serialized custom property representing the token. */ + variable: `--${this['prefix'] extends '' ? '' : `${this['prefix']}-`}${this['scale'] extends '' ? '' : `${this['scale']}-`}${this['token']}` + + /** Serialized CSS var() representing the token. */ + computedValue: `var(${this['variable']})` + + /** Returns a serialized CSS var() representing the token. */ + toString(): this['computedValue'] +} // prettier-ignore + +export type Tokens = __TokensLiteral<__TokensCreated> + +type __TokensCreated = { + [KScaleType in keyof Type]: ( + Type[KScaleType] extends object + ? { + [KTokenType in keyof Type[KScaleType]]: ( + Type[KScaleType][KTokenType] extends string + ? Token + : never + ) + } + : {} + ) +} // prettier-ignore + +type __TokensLiteral = T extends {} ? { + [K in keyof T]: T[K] +} : never // prettier-ignore diff --git a/packages/core/types/type.d.ts b/packages/core/types/type.d.ts new file mode 100644 index 00000000..bd19d63d --- /dev/null +++ b/packages/core/types/type.d.ts @@ -0,0 +1,13 @@ +export type Value = ( + T extends [] ? [] : never +) | ( + T extends bigint | boolean | number | string | symbol ? T : never +) | { + [K in keyof T]: T[K] extends Function ? T[K] : Value +} + +export type ObjectValue = { + [K in keyof T]: T[K] extends Function ? T[K] : Value +} + +export type Parameter0 = T extends (arg: infer P) => any ? P : never diff --git a/packages/react/types/css-types.d.ts b/packages/react/types/css-types.d.ts deleted file mode 100644 index 0435a80b..00000000 --- a/packages/react/types/css-types.d.ts +++ /dev/null @@ -1,6696 +0,0 @@ -export interface StandardLonghandProperties { - /** - * The CSS **`align-content`** property sets how the browser distributes space between and around content items along the cross-axis of a flexbox container, and the main-axis of a grid container. - * - * **Initial value**: `normal` - * - * --- - * - * _Supported in Flex Layout_ - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :------: | :-----: | :-------: | :----: | :----: | - * | **29** | **28** | **9** | **12** | **11** | - * | 21 _-x-_ | | 6.1 _-x-_ | | | - * - * --- - * - * _Supported in Grid Layout_ - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :----: | :-: | - * | **57** | **52** | **10.1** | **16** | No | - * - * --- - * - * @see https://developer.mozilla.org/docs/Web/CSS/align-content - */ - alignContent: AlignContentProperty - /** - * The CSS **`align-items`** property sets the `align-self` value on all direct children as a group. The align-self property sets the alignment of an item within its containing block. In Flexbox it controls the alignment of items on the Cross Axis, in Grid Layout it controls the alignment of items on the Block Axis within their grid area. - * - * **Initial value**: `normal` - * - * --- - * - * _Supported in Flex Layout_ - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :------: | :-----: | :-----: | :----: | :----: | - * | **52** | **20** | **9** | **12** | **11** | - * | 21 _-x-_ | | 7 _-x-_ | | | - * - * --- - * - * _Supported in Grid Layout_ - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :----: | :-: | - * | **57** | **52** | **10.1** | **16** | No | - * - * --- - * - * @see https://developer.mozilla.org/docs/Web/CSS/align-items - */ - alignItems: AlignItemsProperty - /** - * The **`align-self`** CSS property aligns flex items of the current flex line overriding the `align-items` value. If any of the item's cross-axis margin is set to `auto`, then `align-self` is ignored. In Grid layout `align-self` aligns the item inside the grid area. - * - * **Initial value**: `auto` - * - * --- - * - * _Supported in Flex Layout_ - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :------: | :-----: | :-------: | :----: | :----: | - * | **36** | **20** | **9** | **12** | **11** | - * | 21 _-x-_ | | 6.1 _-x-_ | | | - * - * --- - * - * _Supported in Grid Layout_ - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :----: | :----------: | - * | **57** | **52** | **10.1** | **16** | **10** _-x-_ | - * - * --- - * - * @see https://developer.mozilla.org/docs/Web/CSS/align-self - */ - alignSelf: AlignSelfProperty - /** - * The **`animation-delay`** CSS property sets when an animation starts. The animation can start later, immediately from its beginning, or immediately and partway through the animation. - * - * **Initial value**: `0s` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :-----: | :-----: | :-----: | :----: | :----: | - * | **43** | **16** | **9** | **12** | **10** | - * | 3 _-x-_ | 5 _-x-_ | 4 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/animation-delay - */ - animationDelay: GlobalsString - /** - * The **`animation-direction`** CSS property sets whether an animation should play forwards, backwards, or alternating back and forth. - * - * **Initial value**: `normal` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :-----: | :-----: | :-----: | :----: | :----: | - * | **43** | **16** | **9** | **12** | **10** | - * | 3 _-x-_ | 5 _-x-_ | 4 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/animation-direction - */ - animationDirection: AnimationDirectionProperty - /** - * The **`animation-duration`** CSS property sets the length of time that an animation takes to complete one cycle. - * - * **Initial value**: `0s` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :-----: | :-----: | :-----: | :----: | :----: | - * | **43** | **16** | **9** | **12** | **10** | - * | 3 _-x-_ | 5 _-x-_ | 4 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/animation-duration - */ - animationDuration: GlobalsString - /** - * The **`animation-fill-mode`** CSS property sets how a CSS animation applies styles to its target before and after its execution. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :-----: | :-----: | :-----: | :----: | :----: | - * | **43** | **16** | **9** | **12** | **10** | - * | 3 _-x-_ | 5 _-x-_ | 5 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/animation-fill-mode - */ - animationFillMode: AnimationFillModeProperty - /** - * The **`animation-iteration-count`** CSS property sets the number of times an animation cycle should be played before stopping. - * - * **Initial value**: `1` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :-----: | :-----: | :-----: | :----: | :----: | - * | **43** | **16** | **9** | **12** | **10** | - * | 3 _-x-_ | 5 _-x-_ | 4 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/animation-iteration-count - */ - animationIterationCount: AnimationIterationCountProperty - /** - * The **`animation-name`** CSS property sets one or more animations to apply to an element. Each name is an `@keyframes` at-rule that sets the property values for the animation sequence. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :-----: | :-----: | :-----: | :----: | :----: | - * | **43** | **16** | **9** | **12** | **10** | - * | 3 _-x-_ | 5 _-x-_ | 4 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/animation-name - */ - animationName: AnimationNameProperty - /** - * The **`animation-play-state`** CSS property sets whether an animation is running or paused. - * - * **Initial value**: `running` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :-----: | :-----: | :-----: | :----: | :----: | - * | **43** | **16** | **9** | **12** | **10** | - * | 3 _-x-_ | 5 _-x-_ | 4 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/animation-play-state - */ - animationPlayState: AnimationPlayStateProperty - /** - * The `**animation-timing-function**` CSS property sets how an animation progresses through the duration of each cycle. - * - * **Initial value**: `ease` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :-----: | :-----: | :-----: | :----: | :----: | - * | **43** | **16** | **9** | **12** | **10** | - * | 3 _-x-_ | 5 _-x-_ | 4 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/animation-timing-function - */ - animationTimingFunction: AnimationTimingFunctionProperty - /** - * The **`-moz-appearance`** CSS property is used in Gecko (Firefox) to display an element using platform-native styling based on the operating system's theme. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :---------: | :---------: | :---------: | :----------: | :-: | - * | **1** _-x-_ | **1** _-x-_ | **3** _-x-_ | **12** _-x-_ | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/appearance - */ - appearance: AppearanceProperty - /** - * 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. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :---------: | :----: | :-: | - * | **76** | n/a | **9** _-x-_ | **17** | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/backdrop-filter - */ - backdropFilter: BackdropFilterProperty - /** - * The **`backface-visibility`** CSS property sets whether the back face of an element is visible when turned towards the user. - * - * **Initial value**: `visible` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :------: | :------: | :-----------: | :----: | :----: | - * | **36** | **16** | **5.1** _-x-_ | **12** | **10** | - * | 12 _-x-_ | 10 _-x-_ | | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/backface-visibility - */ - backfaceVisibility: BackfaceVisibilityProperty - /** - * The **`background-attachment`** CSS property sets whether a background image's position is fixed within the viewport, or scrolls with its containing block. - * - * **Initial value**: `scroll` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/background-attachment - */ - backgroundAttachment: BackgroundAttachmentProperty - /** - * The **`background-blend-mode`** CSS property sets how an element's background images should blend with each other and with the element's background color. - * - * **Initial value**: `normal` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | **35** | **30** | **8** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/background-blend-mode - */ - backgroundBlendMode: BackgroundBlendModeProperty - /** - * The **`background-clip`** CSS property sets whether an element's background `` or `` extends underneath its border. - * - * **Initial value**: `border-box` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :---------: | :----: | :---: | - * | **1** | **4** | **3** _-x-_ | **12** | **9** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/background-clip - */ - backgroundClip: BackgroundClipProperty - /** - * The **`background-color`** CSS property sets the background color of an element. - * - * **Initial value**: `transparent` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/background-color - */ - backgroundColor: BackgroundColorProperty - /** - * The **`background-image`** CSS property sets one or more background images on an element. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/background-image - */ - backgroundImage: BackgroundImageProperty - /** - * The **`background-origin`** CSS property sets the _background positioning area_. In other words, it sets the origin position of an image set with the `background-image` property. - * - * **Initial value**: `padding-box` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **4** | **3** | **12** | **9** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/background-origin - */ - backgroundOrigin: BackgroundOriginProperty - /** - * The **`background-position`** CSS property sets the initial position for each background image. The position is relative to the position layer set by `background-origin`. - * - * **Initial value**: `0% 0%` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/background-position - */ - backgroundPosition: BackgroundPositionProperty - /** - * The **`background-position-x`** CSS property sets the initial horizontal position for each background image. The position is relative to the position layer set by `background-origin`. - * - * **Initial value**: `left` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **49** | **1** | **12** | **6** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/background-position-x - */ - backgroundPositionX: BackgroundPositionXProperty - /** - * The **`background-position-y`** CSS property sets the initial vertical position, relative to the background position layer defined by `background-origin`, for each defined background image. - * - * **Initial value**: `top` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **49** | **1** | **12** | **6** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/background-position-y - */ - backgroundPositionY: BackgroundPositionYProperty - /** - * The **`background-repeat`** CSS property sets how background images are repeated. A background image can be repeated along the horizontal and vertical axes, or not repeated at all. - * - * **Initial value**: `repeat` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/background-repeat - */ - backgroundRepeat: BackgroundRepeatProperty - /** - * The **`background-size`** CSS property sets the size of the element's background image. The image can be left to its natural size, stretched, or constrained to fit the available space. - * - * **Initial value**: `auto auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :-----: | :-----: | :-----: | :----: | :---: | - * | **3** | **4** | **4.1** | **12** | **9** | - * | 1 _-x-_ | | 3 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/background-size - */ - backgroundSize: BackgroundSizeProperty - /** **Initial value**: `clip` */ - blockOverflow: BlockOverflowProperty - /** - * The **`block-size`** CSS property defines the horizontal or vertical size of an element's block, depending on its writing mode. It corresponds to either the `width` or the `height` property, depending on the value of `writing-mode`. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :--: | :-: | - * | **57** | **41** | **12.1** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/block-size - */ - blockSize: BlockSizeProperty - /** - * 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`. - * - * **Initial value**: `currentcolor` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | n/a | **66** | No | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-block-color - */ - borderBlockColor: BorderBlockColorProperty - /** - * The **`border-block-end-color`** CSS property defines the color of the logical block-end border of an element, which maps to a physical border color depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-color`, `border-right-color`, `border-bottom-color`, or `border-left-color` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`. - * - * **Initial value**: `currentcolor` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :--: | :-: | - * | **69** | **41** | **12.1** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-block-end-color - */ - borderBlockEndColor: BorderBlockEndColorProperty - /** - * The **`border-block-end-style`** CSS property defines the style of the logical block end border of an element, which maps to a physical border style depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-style`, `border-right-style`, `border-bottom-style`, or `border-left-style` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :--: | :-: | - * | **69** | **41** | **12.1** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-block-end-style - */ - borderBlockEndStyle: BorderBlockEndStyleProperty - /** - * The **`border-block-end-width`** CSS property defines the width of the logical block-end border of an element, which maps to a physical border width depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-width`, `border-right-width`, `border-bottom-width`, or `border-left-width` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`. - * - * **Initial value**: `medium` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :--: | :-: | - * | **69** | **41** | **12.1** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-block-end-width - */ - borderBlockEndWidth: BorderBlockEndWidthProperty - /** - * The **`border-block-start-color`** CSS property defines the color of the logical block-start border of an element, which maps to a physical border color depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-color`, `border-right-color`, `border-bottom-color`, or `border-left-color` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`. - * - * **Initial value**: `currentcolor` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :--: | :-: | - * | **69** | **41** | **12.1** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-block-start-color - */ - borderBlockStartColor: BorderBlockStartColorProperty - /** - * The **`border-block-start-style`** CSS property defines the style of the logical block start border of an element, which maps to a physical border style depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-style`, `border-right-style`, `border-bottom-style`, or `border-left-style` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :--: | :-: | - * | **69** | **41** | **12.1** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-block-start-style - */ - borderBlockStartStyle: BorderBlockStartStyleProperty - /** - * The **`border-block-start-width`** CSS property defines the width of the logical block-start border of an element, which maps to a physical border width depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-width`, `border-right-width`, `border-bottom-width`, or `border-left-width` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`. - * - * **Initial value**: `medium` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :--: | :-: | - * | **69** | **41** | **12.1** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-block-start-width - */ - borderBlockStartWidth: BorderBlockStartWidthProperty - /** - * 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`. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | **69** | **66** | No | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-block-style - */ - borderBlockStyle: BorderBlockStyleProperty - /** - * 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`. - * - * **Initial value**: `medium` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | **69** | **66** | No | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-block-width - */ - borderBlockWidth: BorderBlockWidthProperty - /** - * The **`border-bottom-color`** CSS property sets the color of an element's bottom border. It can also be set with the shorthand CSS properties `border-color` or `border-bottom`. - * - * **Initial value**: `currentcolor` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-bottom-color - */ - borderBottomColor: BorderBottomColorProperty - /** - * The **`border-bottom-left-radius`** CSS property rounds the bottom-left corner of an element. - * - * **Initial value**: `0` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :-----: | :-----: | :-----: | :----: | :---: | - * | **4** | **4** | **5** | **12** | **9** | - * | 1 _-x-_ | | 3 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-bottom-left-radius - */ - borderBottomLeftRadius: BorderBottomLeftRadiusProperty - /** - * The **`border-bottom-right-radius`** CSS property rounds the bottom-right corner of an element. - * - * **Initial value**: `0` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :-----: | :-----: | :-----: | :----: | :---: | - * | **4** | **4** | **5** | **12** | **9** | - * | 1 _-x-_ | | 3 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-bottom-right-radius - */ - borderBottomRightRadius: BorderBottomRightRadiusProperty - /** - * The **`border-bottom-style`** CSS property sets the line style of an element's bottom `border`. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :-----: | - * | **1** | **1** | **1** | **12** | **5.5** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-bottom-style - */ - borderBottomStyle: BorderBottomStyleProperty - /** - * The **`border-bottom-width`** CSS property sets the width of the bottom border of a box. - * - * **Initial value**: `medium` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-bottom-width - */ - borderBottomWidth: BorderBottomWidthProperty - /** - * The **`border-collapse`** CSS property sets whether cells inside a `
` have shared or separate borders. - * - * **Initial value**: `separate` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :-----: | :----: | :---: | - * | **1** | **1** | **1.2** | **12** | **5** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-collapse - */ - borderCollapse: BorderCollapseProperty - /** - * 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`. - * - * **Initial value**: `0` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | No | **66** | No | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-end-end-radius - */ - borderEndEndRadius: BorderEndEndRadiusProperty - /** - * 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`. - * - * **Initial value**: `0` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | No | **66** | No | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-end-start-radius - */ - borderEndStartRadius: BorderEndStartRadiusProperty - /** - * The **`border-image-outset`** CSS property sets the distance by which an element's border image is set out from its border box. - * - * **Initial value**: `0` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :----: | - * | **15** | **15** | **6** | **12** | **11** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-image-outset - */ - borderImageOutset: BorderImageOutsetProperty - /** - * The **`border-image-repeat`** CSS property defines how the edge regions of a source image are adjusted to fit the dimensions of an element's border image. - * - * **Initial value**: `stretch` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :----: | - * | **15** | **15** | **6** | **12** | **11** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-image-repeat - */ - borderImageRepeat: BorderImageRepeatProperty - /** - * The **`border-image-slice`** CSS property divides the image specified by `border-image-source` into regions. These regions form the components of an element's border image. - * - * **Initial value**: `100%` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :----: | - * | **15** | **15** | **6** | **12** | **11** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-image-slice - */ - borderImageSlice: BorderImageSliceProperty - /** - * The **`border-image-source`** CSS property sets the source image used to create an element's border image. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :----: | - * | **15** | **15** | **6** | **12** | **11** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-image-source - */ - borderImageSource: BorderImageSourceProperty - /** - * The **`border-image-width`** CSS property sets the width of an element's border image. - * - * **Initial value**: `1` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :----: | - * | **15** | **13** | **6** | **12** | **11** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-image-width - */ - borderImageWidth: BorderImageWidthProperty - /** - * 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`. - * - * **Initial value**: `currentcolor` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | **69** | **66** | No | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-color - */ - borderInlineColor: BorderInlineColorProperty - /** - * The **`border-inline-end-color`** CSS property defines the color of the logical inline-end border of an element, which maps to a physical border color depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-color`, `border-right-color`, `border-bottom-color`, or `border-left-color` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`. - * - * **Initial value**: `currentcolor` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-------------------------: | :------: | :--: | :-: | - * | **69** | **41** | **12.1** | No | No | - * | | 3 _(-moz-border-end-color)_ | | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-end-color - */ - borderInlineEndColor: BorderInlineEndColorProperty - /** - * The **`border-inline-end-style`** CSS property defines the style of the logical inline end border of an element, which maps to a physical border style depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-style`, `border-right-style`, `border-bottom-style`, or `border-left-style` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-------------------------: | :------: | :--: | :-: | - * | **69** | **41** | **12.1** | No | No | - * | | 3 _(-moz-border-end-style)_ | | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-end-style - */ - borderInlineEndStyle: BorderInlineEndStyleProperty - /** - * The **`border-inline-end-width`** CSS property defines the width of the logical inline-end border of an element, which maps to a physical border width depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-width`, `border-right-width`, `border-bottom-width`, or `border-left-width` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`. - * - * **Initial value**: `medium` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-------------------------: | :------: | :--: | :-: | - * | **69** | **41** | **12.1** | No | No | - * | | 3 _(-moz-border-end-width)_ | | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-end-width - */ - borderInlineEndWidth: BorderInlineEndWidthProperty - /** - * The **`border-inline-start-color`** CSS property defines the color of the logical inline start border of an element, which maps to a physical border color depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-color`, `border-right-color`, `border-bottom-color`, or `border-left-color` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`. - * - * **Initial value**: `currentcolor` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :---------------------------: | :------: | :--: | :-: | - * | **69** | **41** | **12.1** | No | No | - * | | 3 _(-moz-border-start-color)_ | | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-start-color - */ - borderInlineStartColor: BorderInlineStartColorProperty - /** - * The **`border-inline-start-style`** CSS property defines the style of the logical inline start border of an element, which maps to a physical border style depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-style`, `border-right-style`, `border-bottom-style`, or `border-left-style` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :---------------------------: | :------: | :--: | :-: | - * | **69** | **41** | **12.1** | No | No | - * | | 3 _(-moz-border-start-style)_ | | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-start-style - */ - borderInlineStartStyle: BorderInlineStartStyleProperty - /** - * The **`border-inline-start-width`** CSS property defines the width of the logical inline-start border of an element, which maps to a physical border width depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-width`, `border-right-width`, `border-bottom-width`, or `border-left-width` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`. - * - * **Initial value**: `medium` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :--: | :-: | - * | **69** | **41** | **12.1** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-start-width - */ - borderInlineStartWidth: BorderInlineStartWidthProperty - /** - * 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`. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | **69** | **66** | No | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-style - */ - borderInlineStyle: BorderInlineStyleProperty - /** - * 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`. - * - * **Initial value**: `medium` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | **69** | **66** | No | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-width - */ - borderInlineWidth: BorderInlineWidthProperty - /** - * The **`border-left-color`** CSS property sets the color of an element's left border. It can also be set with the shorthand CSS properties `border-color` or `border-left`. - * - * **Initial value**: `currentcolor` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-left-color - */ - borderLeftColor: BorderLeftColorProperty - /** - * The **`border-left-style`** CSS property sets the line style of an element's left `border`. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :-----: | - * | **1** | **1** | **1** | **12** | **5.5** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-left-style - */ - borderLeftStyle: BorderLeftStyleProperty - /** - * The **`border-left-width`** CSS property sets the width of the left border of an element. - * - * **Initial value**: `medium` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-left-width - */ - borderLeftWidth: BorderLeftWidthProperty - /** - * The **`border-right-color`** CSS property sets the color of an element's right border. It can also be set with the shorthand CSS properties `border-color` or `border-right`. - * - * **Initial value**: `currentcolor` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-right-color - */ - borderRightColor: BorderRightColorProperty - /** - * The **`border-right-style`** CSS property sets the line style of an element's right `border`. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :-----: | - * | **1** | **1** | **1** | **12** | **5.5** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-right-style - */ - borderRightStyle: BorderRightStyleProperty - /** - * The **`border-right-width`** CSS property sets the width of the right border of an element. - * - * **Initial value**: `medium` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-right-width - */ - borderRightWidth: BorderRightWidthProperty - /** - * The **`border-spacing`** CSS property sets the distance between the borders of adjacent `
` cells. This property applies only when `border-collapse` is `separate`. - * - * **Initial value**: `0` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **8** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-spacing - */ - borderSpacing: BorderSpacingProperty - /** - * 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`. - * - * **Initial value**: `0` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | No | **66** | No | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-start-end-radius - */ - borderStartEndRadius: BorderStartEndRadiusProperty - /** - * 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`. - * - * **Initial value**: `0` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | No | **66** | No | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-start-start-radius - */ - borderStartStartRadius: BorderStartStartRadiusProperty - /** - * The **`border-top-color`** CSS property sets the color of an element's top border. It can also be set with the shorthand CSS properties `border-color` or `border-top`. - * - * **Initial value**: `currentcolor` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-top-color - */ - borderTopColor: BorderTopColorProperty - /** - * The **`border-top-left-radius`** CSS property rounds the top-left corner of an element. - * - * **Initial value**: `0` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :-----: | :-----: | :-----: | :----: | :---: | - * | **4** | **4** | **5** | **12** | **9** | - * | 1 _-x-_ | | 3 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-top-left-radius - */ - borderTopLeftRadius: BorderTopLeftRadiusProperty - /** - * The **`border-top-right-radius`** CSS property rounds the top-right corner of an element. - * - * **Initial value**: `0` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :-----: | :-----: | :-----: | :----: | :---: | - * | **4** | **4** | **5** | **12** | **9** | - * | 1 _-x-_ | | 3 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-top-right-radius - */ - borderTopRightRadius: BorderTopRightRadiusProperty - /** - * The **`border-top-style`** CSS property sets the line style of an element's top `border`. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :-----: | - * | **1** | **1** | **1** | **12** | **5.5** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-top-style - */ - borderTopStyle: BorderTopStyleProperty - /** - * The **`border-top-width`** CSS property sets the width of the top border of an element. - * - * **Initial value**: `medium` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-top-width - */ - borderTopWidth: BorderTopWidthProperty - /** - * The **`bottom`** CSS property participates in specifying the vertical position of a _positioned element_. It has no effect on non-positioned elements. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **5** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/bottom - */ - bottom: BottomProperty - /** - * The **`box-decoration-break`** CSS property specifies how an element's fragments should be rendered when broken across multiple lines, columns, or pages. - * - * **Initial value**: `slice` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----------: | :-----: | :-----: | :--: | :-: | - * | **22** _-x-_ | **32** | **6.1** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/box-decoration-break - */ - boxDecorationBreak: BoxDecorationBreakProperty - /** - * The **`box-shadow`** CSS property adds shadow effects around an element's frame. You can set multiple effects separated by commas. A box shadow is described by X and Y offsets relative to the element, blur and spread radii, and color. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :-----: | :-----: | :-----: | :----: | :---: | - * | **10** | **4** | **5.1** | **12** | **9** | - * | 1 _-x-_ | | 3 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/box-shadow - */ - boxShadow: BoxShadowProperty - /** - * The **`box-sizing`** CSS property defines how the user agent should calculate the total width and height of an element. - * - * **Initial value**: `content-box` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :-----: | :-----: | :-----: | :----: | :---: | - * | **10** | **29** | **5.1** | **12** | **8** | - * | 1 _-x-_ | 1 _-x-_ | 3 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/box-sizing - */ - boxSizing: BoxSizingProperty - /** - * The **`break-after`** CSS property defines how page, column, or region breaks should behave after a generated box. If there is no generated box, the property is ignored. - * - * **Initial value**: `auto` - * - * --- - * - * _Supported in Multi-column Layout_ - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :----: | - * | **50** | No | No | **12** | **10** | - * - * --- - * - * _Supported in Paged Media_ - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :----: | - * | **50** | **65** | **10** | **12** | **10** | - * - * --- - * - * _Supported in CSS Regions_ - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | No | No | No | No | No | - * - * --- - * - * @see https://developer.mozilla.org/docs/Web/CSS/break-after - */ - breakAfter: BreakAfterProperty - /** - * The **`break-before`** CSS property sets how page, column, or region breaks should behave before a generated box. If there is no generated box, the property is ignored. - * - * **Initial value**: `auto` - * - * --- - * - * _Supported in Multi-column Layout_ - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :----: | - * | **50** | **65** | No | **12** | **10** | - * - * --- - * - * _Supported in Paged Media_ - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :----: | - * | **50** | **65** | **10** | **12** | **10** | - * - * --- - * - * _Supported in CSS Regions_ - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | No | No | No | No | No | - * - * --- - * - * @see https://developer.mozilla.org/docs/Web/CSS/break-before - */ - breakBefore: BreakBeforeProperty - /** - * The **`break-inside`** CSS property defines how page, column, or region breaks should behave inside a generated box. If there is no generated box, the property is ignored. - * - * **Initial value**: `auto` - * - * --- - * - * _Supported in Multi-column Layout_ - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :----: | - * | **50** | **65** | **10** | **12** | **10** | - * - * --- - * - * _Supported in Paged Media_ - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :----: | - * | **50** | **65** | **10** | **12** | **10** | - * - * --- - * - * _Supported in CSS Regions_ - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | No | No | No | No | No | - * - * --- - * - * @see https://developer.mozilla.org/docs/Web/CSS/break-inside - */ - breakInside: BreakInsideProperty - /** - * The **`caption-side`** CSS property puts the content of a table's `
` on the specified side. The values are relative to the `writing-mode` of the table. - * - * **Initial value**: `top` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **8** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/caption-side - */ - captionSide: CaptionSideProperty - /** - * The **`caret-color`** CSS property sets the color of the insertion caret, the visible marker where the next character typed will be inserted. The caret appears in elements such as `` or those with the `contenteditable` attribute. The caret is typically a thin vertical line that flashes to help make it more noticeable. By default, it is black, but its color can be altered with this property. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :--: | :-: | - * | **57** | **53** | **11.1** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/caret-color - */ - caretColor: CaretColorProperty - /** - * The **`clear`** CSS property sets whether an element must be moved below (cleared) floating elements that precede it. The `clear` property applies to floating and non-floating elements. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/clear - */ - clear: ClearProperty - /** - * The `**clip-path**` CSS property creates a clipping region that sets what part of an element should be shown. Parts that are inside the region are shown, while those outside are hidden. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :------: | :-----: | :-------: | :----: | :----: | - * | **55** | **3.5** | **9.1** | **12** | **10** | - * | 23 _-x-_ | | 6.1 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/clip-path - */ - clipPath: ClipPathProperty - /** - * The **`color`** CSS property sets the foreground color value of an element's text and text decorations, and sets the `currentcolor` value. `currentcolor` may be used as an indirect value on _other_ properties and is the default for other color properties, such as `border-color`. - * - * **Initial value**: Varies from one browser to another - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **3** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/color - */ - color: ColorProperty - /** - * The **`color-adjust`** CSS property sets what, if anything, the user agent may do to optimize the appearance of the element on the output device. By default, the browser is allowed to make any adjustments to the element's appearance it determines to be necessary and prudent given the type and capabilities of the output device. - * - * **Initial value**: `economy` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----------: | :-----: | :---------: | :--: | :-: | - * | **49** _-x-_ | **48** | **6** _-x-_ | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/color-adjust - */ - colorAdjust: ColorAdjustProperty - /** - * The **`column-count`** CSS property breaks an element's content into the specified number of columns. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :-----: | :-------: | :-----: | :----: | :----: | - * | **50** | **52** | **9** | **12** | **10** | - * | 1 _-x-_ | 1.5 _-x-_ | 3 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/column-count - */ - columnCount: ColumnCountProperty - /** - * The **`column-fill`** CSS property controls how an element's contents are balanced when broken into columns. - * - * **Initial value**: `balance` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :------: | :-----: | :----: | :----: | - * | **50** | **52** | **9** | **12** | **10** | - * | | 13 _-x-_ | 8 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/column-fill - */ - columnFill: ColumnFillProperty - /** - * The **`column-gap`** CSS property sets the size of the gap (gutter) between an element's columns. - * - * **Initial value**: `normal` - * - * --- - * - * _Supported in Flex Layout_ - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | 84 | 63 | No | 84 | No | - * - * --- - * - * _Supported in Grid Layout_ - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | 66 | 61 | 12.1 | 16 | No | - * - * --- - * - * @see https://developer.mozilla.org/docs/Web/CSS/column-gap - */ - columnGap: ColumnGapProperty - /** - * The **`column-rule-color`** CSS property sets the color of the rule (line) drawn between columns in a multi-column layout. - * - * **Initial value**: `currentcolor` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :-----: | :-------: | :-----: | :----: | :----: | - * | **50** | **52** | **9** | **12** | **10** | - * | 1 _-x-_ | 3.5 _-x-_ | 3 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/column-rule-color - */ - columnRuleColor: ColumnRuleColorProperty - /** - * The **`column-rule-style`** CSS property sets the style of the line drawn between columns in a multi-column layout. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :-----: | :-------: | :-----: | :----: | :----: | - * | **50** | **52** | **9** | **12** | **10** | - * | 1 _-x-_ | 3.5 _-x-_ | 3 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/column-rule-style - */ - columnRuleStyle: ColumnRuleStyleProperty - /** - * The **`column-rule-width`** CSS property sets the width of the rule (line) drawn between columns in a multi-column layout. - * - * **Initial value**: `medium` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :-----: | :-------: | :-----: | :----: | :----: | - * | **50** | **52** | **9** | **12** | **10** | - * | 1 _-x-_ | 3.5 _-x-_ | 3 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/column-rule-width - */ - columnRuleWidth: ColumnRuleWidthProperty - /** - * The **`column-span`** CSS property makes it possible for an element to span across all columns when its value is set to `all`. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :-----: | :-----: | :-------: | :----: | :----: | - * | **50** | n/a | **9** | **12** | **10** | - * | 6 _-x-_ | | 5.1 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/column-span - */ - columnSpan: ColumnSpanProperty - /** - * The **`column-width`** CSS property specifies the ideal column width in a multi-column layout. The container will have as many columns as can fit without any of them having a width less than the `column-width` value. If the width of the container is narrower than the specified value, the single column's width will be smaller than the declared column width. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :-----: | :-------: | :-----: | :----: | :----: | - * | **50** | **50** | **9** | **12** | **10** | - * | 1 _-x-_ | 1.5 _-x-_ | 3 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/column-width - */ - columnWidth: ColumnWidthProperty - /** - * The **`contain`** CSS property allows an author to indicate that an element and its contents are, as much as possible, _independent_ of the rest of the document tree. This allows the browser to recalculate layout, style, paint, size, or any combination of them for a limited area of the DOM and not the entire page. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | **52** | **69** | No | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/contain - */ - contain: ContainProperty - /** - * The **`content`** CSS property replaces an element with a generated value. Objects inserted using the `content` property are _anonymous replaced elements._ - * - * **Initial value**: `normal` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **8** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/content - */ - content: ContentProperty - /** - * The **`counter-increment`** CSS property increases or decreases the value of a CSS counter by a given value. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **2** | **1** | **3** | **12** | **8** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/counter-increment - */ - counterIncrement: CounterIncrementProperty - /** - * The **`counter-reset`** CSS property resets a CSS counter to a given value. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **2** | **1** | **3** | **12** | **8** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/counter-reset - */ - counterReset: CounterResetProperty - /** - * 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. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | No | **68** | No | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/counter-set - */ - counterSet: CounterSetProperty - /** - * The **`cursor`** CSS property sets mouse cursor to display when the mouse pointer is over an element. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :-----: | :----: | :---: | - * | **1** | **1** | **1.2** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/cursor - */ - cursor: CursorProperty - /** - * The **`direction`** CSS property sets the direction of text, table columns, and horizontal overflow. Use `rtl` for languages written from right to left (like Hebrew or Arabic), and `ltr` for those written from left to right (like English and most other languages). - * - * **Initial value**: `ltr` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :-----: | - * | **2** | **1** | **1** | **12** | **5.5** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/direction - */ - direction: DirectionProperty - /** - * The **`display`** CSS property defines the _display type_ of an element, which consists of the two basic qualities of how an element generates boxes — the **outer display type** defining how the box participates in flow layout, and the **inner display type** defining how the children of the box are laid out. - * - * **Initial value**: `inline` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/display - */ - display: DisplayProperty - /** - * The **`empty-cells`** CSS property sets whether borders and backgrounds appear around `` cells that have no visible content. - * - * **Initial value**: `show` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :-----: | :----: | :---: | - * | **1** | **1** | **1.2** | **12** | **8** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/empty-cells - */ - emptyCells: EmptyCellsProperty - /** - * The **`filter`** CSS property applies graphical effects like blur or color shift to an element. Filters are commonly used to adjust the rendering of images, backgrounds, and borders. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :------: | :-----: | :-----: | :----: | :-: | - * | **53** | **35** | **9.1** | **12** | No | - * | 18 _-x-_ | | 6 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/filter - */ - filter: FilterProperty - /** - * The **`flex-basis`** CSS property sets the initial main size of a flex item. It sets the size of the content box unless otherwise set with `box-sizing`. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :------: | :-----: | :-----: | :----: | :----: | - * | **29** | **22** | **9** | **12** | **11** | - * | 21 _-x-_ | | 7 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/flex-basis - */ - flexBasis: FlexBasisProperty - /** - * The **`flex-direction`** CSS property sets how flex items are placed in the flex container defining the main axis and the direction (normal or reversed). - * - * **Initial value**: `row` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :------: | :-----: | :-----: | :----: | :------: | - * | **29** | **20** | **9** | **12** | **11** | - * | 21 _-x-_ | | 7 _-x-_ | | 10 _-x-_ | - * - * @see https://developer.mozilla.org/docs/Web/CSS/flex-direction - */ - flexDirection: FlexDirectionProperty - /** - * The **`flex-grow`** CSS property sets how much of the available space in the flex container should be assigned to that item (the flex grow factor). If all sibling items have the same flex grow factor, then all items will receive the same share of available space, otherwise it is distributed according to the ratio defined by the different flex grow factors. - * - * **Initial value**: `0` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :------: | :-----: | :-------: | :----: | :----------------------: | - * | **29** | **20** | **9** | **12** | **11** | - * | 21 _-x-_ | | 6.1 _-x-_ | | 10 _(-ms-flex-positive)_ | - * - * @see https://developer.mozilla.org/docs/Web/CSS/flex-grow - */ - flexGrow: GlobalsNumber - /** - * The **`flex-shrink`** CSS property sets the flex shrink factor of a flex item. If the size of flex items is larger than the flex container, items shrink to fit according to `flex-shrink`. - * - * **Initial value**: `1` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :------: | :-----: | :-----: | :----: | :----: | - * | **29** | **20** | **9** | **12** | **10** | - * | 21 _-x-_ | | 8 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/flex-shrink - */ - flexShrink: GlobalsNumber - /** - * The **`flex-wrap`** CSS property sets whether flex items are forced onto one line or can wrap onto multiple lines. If wrapping is allowed, it sets the direction that lines are stacked. - * - * **Initial value**: `nowrap` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :------: | :-----: | :-------: | :----: | :----: | - * | **29** | **28** | **9** | **12** | **11** | - * | 21 _-x-_ | | 6.1 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/flex-wrap - */ - flexWrap: FlexWrapProperty - /** - * The **`float`** CSS property places an element on the left or right side of its container, allowing text and inline elements to wrap around it. The element is removed from the normal flow of the page, though still remaining a part of the flow (in contrast to absolute positioning). - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/float - */ - float: FloatProperty - /** - * The **`font-family`** CSS property specifies a prioritized list of one or more font family names and/or generic family names for the selected element. - * - * **Initial value**: depends on user agent - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **3** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/font-family - */ - fontFamily: FontFamilyProperty - /** - * The **`font-feature-settings`** CSS property controls advanced typographic features in OpenType fonts. - * - * **Initial value**: `normal` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :------: | :------: | :-----: | :----: | :----: | - * | **48** | **34** | **9.1** | **15** | **10** | - * | 16 _-x-_ | 15 _-x-_ | | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/font-feature-settings - */ - fontFeatureSettings: FontFeatureSettingsProperty - /** - * The **`font-kerning`** CSS property sets the use of the kerning information stored in a font. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----------: | :-----: | :----: | :--: | :-: | - * | **32** _-x-_ | **32** | **7** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/font-kerning - */ - fontKerning: FontKerningProperty - /** - * The **`font-language-override`** CSS property controls the use of language-specific glyphs in a typeface. - * - * **Initial value**: `normal` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | No | **34** | No | No | No | - * | | 4 _-x-_ | | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/font-language-override - */ - fontLanguageOverride: FontLanguageOverrideProperty - /** - * The **`font-optical-sizing`** CSS property sets whether text rendering is optimized for viewing at different sizes. This only works for fonts that have an optical size variation axis. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :-: | - * | No | **62** | **11** | **17** | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/font-optical-sizing - */ - fontOpticalSizing: FontOpticalSizingProperty - /** - * The **`font-size`** CSS property sets the size of the font. This property is also used to compute the size of `em`, `ex`, and other relative `` units. - * - * **Initial value**: `medium` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :-----: | - * | **1** | **1** | **1** | **12** | **5.5** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/font-size - */ - fontSize: FontSizeProperty - /** - * The **`font-size-adjust`** CSS property sets how the font size should be chosen based on the height of lowercase rather than capital letters. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | **54** | **1** | No | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/font-size-adjust - */ - fontSizeAdjust: FontSizeAdjustProperty - /** - * The **`font-stretch`** CSS property selects a normal, condensed, or expanded face from a font. - * - * **Initial value**: `normal` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **60** | **9** | **11** | **12** | **9** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/font-stretch - */ - fontStretch: FontStretchProperty - /** - * The **`font-style`** CSS property sets whether a font should be styled with a normal, italic, or oblique face from its `font-family`. - * - * **Initial value**: `normal` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/font-style - */ - fontStyle: FontStyleProperty - /** - * The **`font-synthesis`** CSS property controls which missing typefaces, bold or italic, may be synthesized by the browser. - * - * **Initial value**: `weight style` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | No | **34** | **9** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/font-synthesis - */ - fontSynthesis: FontSynthesisProperty - /** - * The **font-variant** CSS property is a shorthand for the longhand properties `font-variant-caps`, `font-variant-numeric`, `font-variant-alternates`, `font-variant-ligatures`, and `font-variant-east-asian`. You can also set the CSS Level 2 (Revision 1) values of `font-variant`, (that is, `normal` or `small-caps`), by using the `font` shorthand. - * - * **Initial value**: `normal` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/font-variant - */ - fontVariant: FontVariantProperty - /** - * The **`font-variant-caps`** CSS property controls the use of alternate glyphs for capital letters. - * - * **Initial value**: `normal` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | **52** | **34** | No | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/font-variant-caps - */ - fontVariantCaps: FontVariantCapsProperty - /** - * The **`font-variant-east-asian`** CSS property controls the use of alternate glyphs for East Asian scripts, like Japanese and Chinese. - * - * **Initial value**: `normal` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | **63** | **34** | No | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/font-variant-east-asian - */ - fontVariantEastAsian: FontVariantEastAsianProperty - /** - * The **`font-variant-ligatures`** CSS property controls which ligatures and contextual forms are used in textual content of the elements it applies to. This leads to more harmonized forms in the resulting text. - * - * **Initial value**: `normal` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :------: | :-----: | :-----: | :--: | :-: | - * | **34** | **34** | **9.1** | No | No | - * | 31 _-x-_ | | 7 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/font-variant-ligatures - */ - fontVariantLigatures: FontVariantLigaturesProperty - /** - * The **`font-variant-numeric`** CSS property controls the usage of alternate glyphs for numbers, fractions, and ordinal markers. - * - * **Initial value**: `normal` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :-----: | :--: | :-: | - * | **52** | **34** | **9.1** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/font-variant-numeric - */ - fontVariantNumeric: FontVariantNumericProperty - /** - * The **`font-variant-position`** CSS property controls the use of alternate, smaller glyphs that are positioned as superscript or subscript. - * - * **Initial value**: `normal` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | No | **34** | No | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/font-variant-position - */ - fontVariantPosition: FontVariantPositionProperty - /** - * The **`font-variation-settings`** CSS property provides low-level control over variable font characteristics, by specifying the four letter axis names of the characteristics you want to vary, along with their values. - * - * **Initial value**: `normal` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :-: | - * | **62** | **62** | **11** | **17** | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/font-variation-settings - */ - fontVariationSettings: FontVariationSettingsProperty - /** - * The **`font-weight`** CSS property specifies the weight (or boldness) of the font. The font weights available to you will depend on the `font-family` you are using. Some fonts are only available in `normal` and `bold`. - * - * **Initial value**: `normal` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **2** | **1** | **1** | **12** | **3** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/font-weight - */ - fontWeight: FontWeightProperty - /** - * The **`grid-auto-columns`** CSS property specifies the size of an implicitly-created grid column track. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :---------------------: | :-------------------------: | - * | **57** | **70** | **10.1** | **16** | **10** _(-ms-grid-columns)_ | - * | | | | 12 _(-ms-grid-columns)_ | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/grid-auto-columns - */ - gridAutoColumns: GridAutoColumnsProperty - /** - * The **`grid-auto-flow`** CSS property controls how the auto-placement algorithm works, specifying exactly how auto-placed items get flowed into the grid. - * - * **Initial value**: `row` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :----: | :-: | - * | **57** | **52** | **10.1** | **16** | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/grid-auto-flow - */ - gridAutoFlow: GridAutoFlowProperty - /** - * The **`grid-auto-rows`** CSS property specifies the size of an implicitly-created grid row track. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :------------------: | :----------------------: | - * | **57** | **70** | **10.1** | **16** | **10** _(-ms-grid-rows)_ | - * | | | | 12 _(-ms-grid-rows)_ | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/grid-auto-rows - */ - gridAutoRows: GridAutoRowsProperty - /** - * The **`grid-column-end`** CSS property specifies a grid item’s end position within the grid column by contributing a line, a span, or nothing (automatic) to its grid placement, thereby specifying the block-end edge of its grid area. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :----: | :-: | - * | **57** | **52** | **10.1** | **16** | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/grid-column-end - */ - gridColumnEnd: GridColumnEndProperty - /** - * The **`grid-column-start`** CSS property specifies a grid item’s start position within the grid column by contributing a line, a span, or nothing (automatic) to its grid placement. This start position defines the block-start edge of the grid area. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :----: | :-: | - * | **57** | **52** | **10.1** | **16** | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/grid-column-start - */ - gridColumnStart: GridColumnStartProperty - /** - * The **`grid-row-end`** CSS property specifies a grid item’s end position within the grid row by contributing a line, a span, or nothing (automatic) to its grid placement, thereby specifying the inline-end edge of its grid area. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :----: | :-: | - * | **57** | **52** | **10.1** | **16** | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/grid-row-end - */ - gridRowEnd: GridRowEndProperty - /** - * The **`grid-row-start`** CSS property specifies a grid item’s start position within the grid row by contributing a line, a span, or nothing (automatic) to its grid placement, thereby specifying the inline-start edge of its grid area. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :----: | :-: | - * | **57** | **52** | **10.1** | **16** | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/grid-row-start - */ - gridRowStart: GridRowStartProperty - /** - * The **`grid-template-areas`** CSS property specifies named grid areas. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :----: | :-: | - * | **57** | **52** | **10.1** | **16** | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/grid-template-areas - */ - gridTemplateAreas: GridTemplateAreasProperty - /** - * The **`grid-template-columns`** CSS property defines the line names and track sizing functions of the grid columns. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :----: | :-: | - * | **57** | **52** | **10.1** | **16** | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/grid-template-columns - */ - gridTemplateColumns: GridTemplateColumnsProperty - /** - * The **`grid-template-rows`** CSS property defines the line names and track sizing functions of the grid rows. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :----: | :-: | - * | **57** | **52** | **10.1** | **16** | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/grid-template-rows - */ - gridTemplateRows: GridTemplateRowsProperty - /** - * 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. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | No | No | **10** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/hanging-punctuation - */ - hangingPunctuation: HangingPunctuationProperty - /** - * The **`height`** CSS property specifies the height of an element. By default, the property defines the height of the content area. If `box-sizing` is set to `border-box`, however, it instead determines the height of the border area. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/height - */ - height: HeightProperty - /** - * The **`hyphens`** CSS property specifies how words should be hyphenated when text wraps across multiple lines. You can prevent hyphenation entirely, use hyphenation in manually-specified points within the text, or let the browser automatically insert hyphens where appropriate. - * - * **Initial value**: `manual` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :------: | :-----: | :-----------: | :----------: | :----------: | - * | **55** | **43** | **5.1** _-x-_ | **12** _-x-_ | **10** _-x-_ | - * | 13 _-x-_ | 6 _-x-_ | | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/hyphens - */ - hyphens: HyphensProperty - /** - * The **`image-orientation`** CSS property specifies a layout-independent correction to the orientation of an image. It should _not_ be used for any other orientation adjustments; instead, the `transform` property should be used with the `rotate` ``. - * - * **Initial value**: `0deg` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | No | **26** | No | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/image-orientation - */ - imageOrientation: ImageOrientationProperty - /** - * The **`image-rendering`** CSS property sets an image scaling algorithm. The property applies to an element itself, to any images set in its other properties, and to its descendants. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | **13** | **3.6** | **6** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/image-rendering - */ - imageRendering: ImageRenderingProperty - /** **Initial value**: `1dppx` */ - imageResolution: ImageResolutionProperty - /** - * The `initial-letter` CSS property sets styling for dropped, raised, and sunken initial letters. - * - * **Initial value**: `normal` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | No | No | **9** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/initial-letter - */ - initialLetter: InitialLetterProperty - /** - * The **`inline-size`** CSS property defines the horizontal or vertical size of an element's block, depending on its writing mode. It corresponds to either the `width` or the `height` property, depending on the value of `writing-mode`. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :--: | :-: | - * | **57** | **41** | **12.1** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/inline-size - */ - inlineSize: InlineSizeProperty - /** - * 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`. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | No | **66** | No | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/inset - */ - inset: InsetProperty - /** - * 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`. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | n/a | **63** | No | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/inset-block - */ - insetBlock: InsetBlockProperty - /** - * The **`inset-block-end`** CSS property defines the logical block end offset of an element, which maps to a physical inset depending on the element's writing mode, directionality, and text orientation. It corresponds to the `top`, `right`, `bottom`, or `left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | n/a | **63** | No | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/inset-block-end - */ - insetBlockEnd: InsetBlockEndProperty - /** - * The **`inset-block-start`** CSS property defines the logical block start offset of an element, which maps to a physical inset depending on the element's writing mode, directionality, and text orientation. It corresponds to the `top`, `right`, `bottom`, or `left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | n/a | **63** | No | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/inset-block-start - */ - insetBlockStart: InsetBlockStartProperty - /** - * 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`. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | n/a | **63** | No | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/inset-inline - */ - insetInline: InsetInlineProperty - /** - * 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`. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | n/a | **63** | No | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/inset-inline-end - */ - insetInlineEnd: InsetInlineEndProperty - /** - * 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`. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | n/a | **63** | No | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/inset-inline-start - */ - insetInlineStart: InsetInlineStartProperty - /** - * The **`isolation`** CSS property determines whether an element must create a new stacking context. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | **41** | **36** | **8** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/isolation - */ - isolation: IsolationProperty - /** - * The CSS **`justify-content`** property defines how the browser distributes space between and around content items along the main-axis of a flex container, and the inline axis of a grid container. - * - * **Initial value**: `normal` - * - * --- - * - * _Supported in Flex Layout_ - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :------: | :-----: | :-------: | :----: | :----: | - * | **52** | **20** | **9** | **12** | **11** | - * | 21 _-x-_ | | 6.1 _-x-_ | | | - * - * --- - * - * _Supported in Grid Layout_ - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :----: | :-: | - * | **57** | **52** | **10.1** | **16** | No | - * - * --- - * - * @see https://developer.mozilla.org/docs/Web/CSS/justify-content - */ - justifyContent: JustifyContentProperty - /** - * The CSS **`justify-items`** property defines the default `justify-self` for all items of the box, giving them all a default way of justifying each box along the appropriate axis. - * - * **Initial value**: `legacy` - * - * --- - * - * _Supported in Flex Layout_ - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :----: | - * | **52** | **20** | **9** | **12** | **11** | - * - * --- - * - * _Supported in Grid Layout_ - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :----: | :-: | - * | **57** | **45** | **10.1** | **16** | No | - * - * --- - * - * @see https://developer.mozilla.org/docs/Web/CSS/justify-items - */ - justifyItems: JustifyItemsProperty - /** - * The CSS **`justify-self`** property set the way a box is justified inside its alignment container along the appropriate axis. - * - * **Initial value**: `auto` - * - * --- - * - * _Supported in Flex Layout_ - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :----: | :-: | - * | **57** | **45** | **10.1** | **16** | No | - * - * --- - * - * _Supported in Grid Layout_ - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :----: | :-: | - * | **57** | **45** | **10.1** | **16** | No | - * - * --- - * - * @see https://developer.mozilla.org/docs/Web/CSS/justify-self - */ - justifySelf: JustifySelfProperty - /** - * The **`left`** CSS property participates in specifying the horizontal position of a _positioned element_. It has no effect on non-positioned elements. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :-----: | - * | **1** | **1** | **1** | **12** | **5.5** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/left - */ - left: LeftProperty - /** - * The **`letter-spacing`** CSS property sets the spacing behavior between text characters. - * - * **Initial value**: `normal` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/letter-spacing - */ - letterSpacing: LetterSpacingProperty - /** - * The **`line-break`** CSS property sets how to break lines of Chinese, Japanese, or Korean (CJK) text when working with punctuation and symbols. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :-----: | :-----: | :---------: | :----: | :-----: | - * | **58** | **69** | **3** _-x-_ | **14** | **5.5** | - * | 1 _-x-_ | | | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/line-break - */ - lineBreak: LineBreakProperty - /** - * The **`line-height`** CSS property sets the amount of space used for lines, such as in text. On block-level elements, it specifies the minimum height of line boxes within the element. On non-replaced inline elements, it specifies the height that is used to calculate line box height. - * - * **Initial value**: `normal` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/line-height - */ - lineHeight: LineHeightProperty - /** - * The **`line-height-step`** CSS property sets the step unit for line box heights. When the property is set, line box heights are rounded up to the closest multiple of the unit. - * - * **Initial value**: `0` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | n/a | No | No | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/line-height-step - */ - lineHeightStep: LineHeightStepProperty - /** - * The **`list-style-image`** CSS property sets an image to be used as the list item marker. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/list-style-image - */ - listStyleImage: ListStyleImageProperty - /** - * The **`list-style-position`** CSS property sets the position of the `::marker` relative to a list item. - * - * **Initial value**: `outside` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/list-style-position - */ - listStylePosition: ListStylePositionProperty - /** - * The **`list-style-type`** CSS property sets the marker (such as a disc, character, or custom counter style) of a list item element. - * - * **Initial value**: `disc` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/list-style-type - */ - listStyleType: ListStyleTypeProperty - /** - * 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. - * - * **Initial value**: `0` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | **69** | **66** | No | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/margin-block - */ - marginBlock: MarginBlockProperty - /** - * The **`margin-block-end`** CSS property defines the logical block end margin of an element, which maps to a physical margin depending on the element's writing mode, directionality, and text orientation. - * - * **Initial value**: `0` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :--: | :-: | - * | **69** | **41** | **12.1** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/margin-block-end - */ - marginBlockEnd: MarginBlockEndProperty - /** - * The **`margin-block-start`** CSS property defines the logical block start margin of an element, which maps to a physical margin depending on the element's writing mode, directionality, and text orientation. - * - * **Initial value**: `0` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :--: | :-: | - * | **69** | **41** | **12.1** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/margin-block-start - */ - marginBlockStart: MarginBlockStartProperty - /** - * The **`margin-bottom`** CSS property sets the margin area on the bottom of an element. A positive value places it farther from its neighbors, while a negative value places it closer. - * - * **Initial value**: `0` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **3** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/margin-bottom - */ - marginBottom: MarginBottomProperty - /** - * 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. - * - * **Initial value**: `0` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | **69** | **66** | No | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/margin-inline - */ - marginInline: MarginInlineProperty - /** - * The **`margin-inline-end`** CSS property defines the logical inline end margin of an element, which maps to a physical margin depending on the element's writing mode, directionality, and text orientation. In other words, it corresponds to the `margin-top`, `margin-right`, `margin-bottom` or `margin-left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`. - * - * **Initial value**: `0` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----------------------: | :-------------------: | :----------------------: | :--: | :-: | - * | **69** | **41** | **12.1** | No | No | - * | 2 _(-webkit-margin-end)_ | 3 _(-moz-margin-end)_ | 3 _(-webkit-margin-end)_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/margin-inline-end - */ - marginInlineEnd: MarginInlineEndProperty - /** - * The **`margin-inline-start`** CSS property defines the logical inline start margin of an element, which maps to a physical margin depending on the element's writing mode, directionality, and text orientation. It corresponds to the `margin-top`, `margin-right`, `margin-bottom`, or `margin-left` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`. - * - * **Initial value**: `0` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :------------------------: | :---------------------: | :------------------------: | :--: | :-: | - * | **69** | **41** | **12.1** | No | No | - * | 2 _(-webkit-margin-start)_ | 3 _(-moz-margin-start)_ | 3 _(-webkit-margin-start)_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/margin-inline-start - */ - marginInlineStart: MarginInlineStartProperty - /** - * The **`margin-left`** CSS property sets the margin area on the left side of an element. A positive value places it farther from its neighbors, while a negative value places it closer. - * - * **Initial value**: `0` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **3** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/margin-left - */ - marginLeft: MarginLeftProperty - /** - * The **`margin-right`** CSS property sets the margin area on the right side of an element. A positive value places it farther from its neighbors, while a negative value places it closer. - * - * **Initial value**: `0` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **3** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/margin-right - */ - marginRight: MarginRightProperty - /** - * The **`margin-top`** CSS property sets the margin area on the top of an element. A positive value places it farther from its neighbors, while a negative value places it closer. - * - * **Initial value**: `0` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **3** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/margin-top - */ - marginTop: MarginTopProperty - /** - * The **`mask-border-mode`** CSS property specifies the blending mode used in a mask border. - * - * **Initial value**: `alpha` - */ - maskBorderMode: MaskBorderModeProperty - /** - * The **`mask-border-outset`** CSS property specifies the distance by which an element's mask border is set out from its border box. - * - * **Initial value**: `0` - */ - maskBorderOutset: MaskBorderOutsetProperty - /** - * The **`mask-border-repeat`** CSS property sets how the edge regions of a source image are adjusted to fit the dimensions of an element's mask border. - * - * **Initial value**: `stretch` - */ - maskBorderRepeat: MaskBorderRepeatProperty - /** - * The **`mask-border-slice`** CSS property divides the image set by `mask-border-source` into regions. These regions are used to form the components of an element's mask border. - * - * **Initial value**: `0` - */ - maskBorderSlice: MaskBorderSliceProperty - /** - * The **`mask-border-source`** CSS property sets the source image used to create an element's mask border. - * - * **Initial value**: `none` - */ - maskBorderSource: MaskBorderSourceProperty - /** - * The **`mask-border-width`** CSS property sets the width of an element's mask border. - * - * **Initial value**: `auto` - */ - maskBorderWidth: MaskBorderWidthProperty - /** - * 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. - * - * **Initial value**: `border-box` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :---------: | :-----: | :---------: | :--: | :-: | - * | **1** _-x-_ | **53** | **4** _-x-_ | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/mask-clip - */ - maskClip: MaskClipProperty - /** - * The **`mask-composite`** CSS property represents a compositing operation used on the current mask layer with the mask layers below it. - * - * **Initial value**: `add` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :-: | - * | No | **53** | No | **18** | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/mask-composite - */ - maskComposite: MaskCompositeProperty - /** - * The **`mask-image`** CSS property sets the image that is used as mask layer for an element. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :---------: | :-----: | :---------: | :----: | :-: | - * | **1** _-x-_ | **53** | **4** _-x-_ | **16** | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/mask-image - */ - maskImage: MaskImageProperty - /** - * The **`mask-mode`** CSS property sets whether the mask reference defined by `mask-image` is treated as a luminance or alpha mask. - * - * **Initial value**: `match-source` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | No | **53** | No | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/mask-mode - */ - maskMode: MaskModeProperty - /** - * The **`mask-origin`** CSS property sets the origin of a mask. - * - * **Initial value**: `border-box` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :---------: | :-----: | :---------: | :--: | :-: | - * | **1** _-x-_ | **53** | **4** _-x-_ | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/mask-origin - */ - maskOrigin: MaskOriginProperty - /** - * The **`mask-position`** CSS property sets the initial position, relative to the mask position layer set by `mask-origin`, for each defined mask image. - * - * **Initial value**: `center` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :---------: | :-----: | :-----------: | :----: | :-: | - * | **1** _-x-_ | **53** | **3.2** _-x-_ | **18** | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/mask-position - */ - maskPosition: MaskPositionProperty - /** - * The **`mask-repeat`** CSS property sets how mask images are repeated. A mask image can be repeated along the horizontal axis, the vertical axis, both axes, or not repeated at all. - * - * **Initial value**: `no-repeat` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :---------: | :-----: | :-----------: | :----: | :-: | - * | **1** _-x-_ | **53** | **3.2** _-x-_ | **18** | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/mask-repeat - */ - maskRepeat: MaskRepeatProperty - /** - * The **`mask-size`** CSS property specifies the sizes of the mask images. The size of the image can be fully or partially constrained in order to preserve its intrinsic ratio. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :---------: | :-----: | :---------: | :----: | :-: | - * | **4** _-x-_ | **53** | **4** _-x-_ | **18** | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/mask-size - */ - maskSize: MaskSizeProperty - /** - * The **`mask-type`** CSS property sets whether an SVG `` element is used as a _luminance_ or an _alpha_ mask. It applies to the `` element itself. - * - * **Initial value**: `luminance` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :-----: | :--: | :-: | - * | **24** | **35** | **6.1** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/mask-type - */ - maskType: MaskTypeProperty - /** - * The `**max-block-size**` CSS property specifies the maximum size of an element in the direction opposite that of the writing direction as specified by `writing-mode`. That is, if the writing direction is horizontal, then `max-block-size` is equivalent to `max-height`; if the writing direction is vertical, `max-block-size` is the same as `max-width`. - * - * **Initial value**: `0` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :--: | :-: | - * | **57** | **41** | **12.1** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/max-block-size - */ - maxBlockSize: MaxBlockSizeProperty - /** - * The **`max-height`** CSS property sets the maximum height of an element. It prevents the used value of the `height` property from becoming larger than the value specified for `max-height`. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :-----: | :----: | :---: | - * | **18** | **1** | **1.3** | **12** | **7** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/max-height - */ - maxHeight: MaxHeightProperty - /** - * The **`max-inline-size`** CSS property defines the horizontal or vertical maximum size of an element's block depending on its writing mode. It corresponds to the `max-width` or the `max-height` property depending on the value defined for `writing-mode`. If the writing mode is vertically oriented, the value of `max-inline-size` relates to the maximal height of the element, otherwise it relates to the maximal width of the element. It relates to `max-block-size`, which defines the other dimension of the element. - * - * **Initial value**: `0` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :--------: | :--: | :-: | - * | **57** | **41** | **12.1** | No | No | - * | | | 10.1 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/max-inline-size - */ - maxInlineSize: MaxInlineSizeProperty - /** **Initial value**: `none` */ - maxLines: MaxLinesProperty - /** - * The **`max-width`** CSS property sets the maximum width of an element. It prevents the used value of the `width` property from becoming larger than the value specified by `max-width`. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **7** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/max-width - */ - maxWidth: MaxWidthProperty - /** - * The **`min-block-size`** CSS property defines the minimum horizontal or vertical size of an element's block, depending on its writing mode. It corresponds to either the `min-width` or the `min-height` property, depending on the value of `writing-mode`. - * - * **Initial value**: `0` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :--: | :-: | - * | **57** | **41** | **12.1** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/min-block-size - */ - minBlockSize: MinBlockSizeProperty - /** - * The **`min-height`** CSS property sets the minimum height of an element. It prevents the used value of the `height` property from becoming smaller than the value specified for `min-height`. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :-----: | :----: | :---: | - * | **1** | **3** | **1.3** | **12** | **7** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/min-height - */ - minHeight: MinHeightProperty - /** - * The **`min-inline-size`** CSS property defines the horizontal or vertical minimal size of an element's block, depending on its writing mode. It corresponds to either the `min-width` or the `min-height` property, depending on the value of `writing-mode`. - * - * **Initial value**: `0` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :--: | :-: | - * | **57** | **41** | **12.1** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/min-inline-size - */ - minInlineSize: MinInlineSizeProperty - /** - * The **`min-width`** CSS property sets the minimum width of an element. It prevents the used value of the `width` property from becoming smaller than the value specified for `min-width`. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **7** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/min-width - */ - minWidth: MinWidthProperty - /** - * The **`mix-blend-mode`** CSS property sets how an element's content should blend with the content of the element's parent and the element's background. - * - * **Initial value**: `normal` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | **41** | **32** | **8** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/mix-blend-mode - */ - mixBlendMode: MixBlendModeProperty - /** - * The **`offset-distance`** CSS property specifies a position along an `offset-path`. - * - * **Initial value**: `0` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :--------------------: | :-----: | :----: | :--: | :-: | - * | **55** | n/a | No | No | No | - * | 46 _(motion-distance)_ | | | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/offset-distance - */ - motionDistance: OffsetDistanceProperty - /** - * The **`offset-path`** CSS property specifies a motion path for an element to follow and defines the element's positioning within the parent container or SVG coordinate system. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----------------: | :-----: | :----: | :--: | :-: | - * | **55** | n/a | No | No | No | - * | 46 _(motion-path)_ | | | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/offset-path - */ - motionPath: OffsetPathProperty - /** - * The **`offset-rotate`** CSS property defines the direction of the element while positioning along the offset path. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :--------------------: | :-----: | :----: | :--: | :-: | - * | **56** | n/a | No | No | No | - * | 46 _(motion-rotation)_ | | | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/offset-rotate - */ - motionRotation: OffsetRotateProperty - /** - * The **`object-fit`** CSS property sets how the content of a replaced element, such as an `` or `
` cells, rows, and columns. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **14** | **1** | **1** | **12** | **5** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/table-layout - */ - tableLayout: TableLayoutProperty - /** - * The **`text-align`** CSS property sets the horizontal alignment of an inline or table-cell box. This means it works like `vertical-align` but in the horizontal direction. - * - * **Initial value**: `start`, or a nameless value that acts as `left` if _direction_ is `ltr`, `right` if _direction_ is `rtl` if `start` is not supported by the browser. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **3** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/text-align - */ - textAlign: TextAlignProperty - /** - * The **`text-align-last`** CSS property sets how the last line of a block or a line, right before a forced line break, is aligned. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :-----: | - * | **47** | **49** | No | **12** | **5.5** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/text-align-last - */ - textAlignLast: TextAlignLastProperty - /** - * The **`text-combine-upright`** CSS property sets the combination of characters into the space of a single character. If the combined text is wider than 1em, the user agent must fit the contents within 1em. The resulting composition is treated as a single upright glyph for layout and decoration. This property only has an effect in vertical writing modes. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :------------------------: | :-----: | :------------------------------: | :------------------------------------: | :------------------------------------: | - * | **48** | **48** | **5.1** _(-webkit-text-combine)_ | **12** _(-ms-text-combine-horizontal)_ | **11** _(-ms-text-combine-horizontal)_ | - * | 9 _(-webkit-text-combine)_ | | | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/text-combine-upright - */ - textCombineUpright: TextCombineUprightProperty - /** - * The **`text-decoration-color`** CSS property sets the color of decorations added to text by `text-decoration-line`. - * - * **Initial value**: `currentcolor` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :--: | :-: | - * | **57** | **36** | **12.1** | No | No | - * | | | 8 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/text-decoration-color - */ - textDecorationColor: TextDecorationColorProperty - /** - * The **`text-decoration-line`** CSS property sets the kind of decoration that is used on text in an element, such as an underline or overline. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :--: | :-: | - * | **57** | **36** | **12.1** | No | No | - * | | | 8 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/text-decoration-line - */ - textDecorationLine: TextDecorationLineProperty - /** - * The **`text-decoration-skip`** CSS property sets what parts of an element’s content any text decoration affecting the element must skip over. It controls all text decoration lines drawn by the element and also any text decoration lines drawn by its ancestors. - * - * **Initial value**: `objects` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :--: | :-: | - * | 57-64 | No | **12.1** | No | No | - * | | | 8 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/text-decoration-skip - */ - textDecorationSkip: TextDecorationSkipProperty - /** - * The **`text-decoration-skip-ink`** CSS property specifies how overlines and underlines are drawn when they pass over glyph ascenders and descenders. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | **64** | **70** | No | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/text-decoration-skip-ink - */ - textDecorationSkipInk: TextDecorationSkipInkProperty - /** - * The **`text-decoration-style`** CSS property sets the style of the lines specified by `text-decoration-line`. The style applies to all lines that are set with `text-decoration-line`. - * - * **Initial value**: `solid` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :--: | :-: | - * | **57** | **36** | **12.1** | No | No | - * | | | 8 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/text-decoration-style - */ - textDecorationStyle: TextDecorationStyleProperty - /** - * 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. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :--: | :-: | - * | No | **70** | **12.1** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/text-decoration-thickness - */ - textDecorationThickness: TextDecorationThicknessProperty - /** - * 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. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :--: | :-: | - * | No | **70** | **12.1** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/text-decoration-thickness - */ - textDecorationWidth: TextDecorationThicknessProperty - /** - * The **`text-emphasis-color`** CSS property sets the color of emphasis marks. This value can also be set using the `text-emphasis` shorthand. - * - * **Initial value**: `currentcolor` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :-----: | :--: | :-: | - * | **25** | **46** | **6.1** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/text-emphasis-color - */ - textEmphasisColor: TextEmphasisColorProperty - /** - * The **`text-emphasis-position`** CSS property sets where emphasis marks are drawn. Like ruby text, if there isn't enough room for emphasis marks, the line height is increased. - * - * **Initial value**: `over right` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :-----: | :--: | :-: | - * | **25** | **46** | **6.1** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/text-emphasis-position - */ - textEmphasisPosition: GlobalsString - /** - * The **`text-emphasis-style`** CSS property sets the appearance of emphasis marks. It can also be set, and reset, using the `text-emphasis` shorthand. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :-----: | :--: | :-: | - * | **25** | **46** | **6.1** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/text-emphasis-style - */ - textEmphasisStyle: TextEmphasisStyleProperty - /** - * The **`text-indent`** CSS property sets the length of empty space (indentation) that is put before lines of text in a block. - * - * **Initial value**: `0` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **3** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/text-indent - */ - textIndent: TextIndentProperty - /** - * The **`text-justify`** CSS property sets what type of justification should be applied to text when `text-align``: justify;` is set on an element. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :----: | - * | n/a | **55** | No | **12** | **11** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/text-justify - */ - textJustify: TextJustifyProperty - /** - * The **`text-orientation`** CSS property sets the orientation of the text characters in a line. It only affects text in vertical mode (when `writing-mode` is not `horizontal-tb`). It is useful for controlling the display of languages that use vertical script, and also for making vertical table headers. - * - * **Initial value**: `mixed` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :------: | :-----: | :-----------: | :--: | :-: | - * | **48** | **41** | **5.1** _-x-_ | No | No | - * | 11 _-x-_ | | | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/text-orientation - */ - textOrientation: TextOrientationProperty - /** - * The **`text-overflow`** CSS property sets how hidden overflow content is signaled to users. It can be clipped, display an ellipsis ('`…`'), or display a custom string. - * - * **Initial value**: `clip` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :-----: | :----: | :---: | - * | **1** | **7** | **1.3** | **12** | **6** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/text-overflow - */ - textOverflow: TextOverflowProperty - /** - * The **`text-rendering`** CSS property provides information to the rendering engine about what to optimize for when rendering text. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | **4** | **1** | **5** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/text-rendering - */ - textRendering: TextRenderingProperty - /** - * The **`text-shadow`** CSS property adds shadows to text. It accepts a comma-separated list of shadows to be applied to the text and any of its `decorations`. Each shadow is described by some combination of X and Y offsets from the element, blur radius, and color. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :-----: | :----: | :----: | - * | **2** | **3.5** | **1.1** | **12** | **10** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/text-shadow - */ - textShadow: TextShadowProperty - /** - * The **`text-size-adjust`** CSS property controls the text inflation algorithm used on some smartphones and tablets. Other browsers will ignore this property. - * - * **Initial value**: `auto` for smartphone browsers supporting inflation, `none` in other cases (and then not modifiable). - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----------: | :-: | - * | **54** | No | No | **12** _-x-_ | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/text-size-adjust - */ - textSizeAdjust: TextSizeAdjustProperty - /** - * The **`text-transform`** CSS property specifies how to capitalize an element's text. It can be used to make text appear in all-uppercase or all-lowercase, or with each word capitalized. It also can help improve legibility for ruby - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/text-transform - */ - textTransform: TextTransformProperty - /** - * The **`text-underline-offset`** CSS property sets the offset distance of an underline text decoration line (applied using `text-decoration`) from its original position. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :--: | :-: | - * | No | **70** | **12.1** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/text-underline-offset - */ - textUnderlineOffset: TextUnderlineOffsetProperty - /** - * The **`text-underline-position`** CSS property specifies the position of the underline which is set using the `text-decoration` property's `underline` value. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **33** | No | No | **12** | **6** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/text-underline-position - */ - textUnderlinePosition: TextUnderlinePositionProperty - /** - * The **`top`** CSS property participates in specifying the vertical position of a _positioned element_. It has no effect on non-positioned elements. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **5** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/top - */ - top: TopProperty - /** - * The **`touch-action`** CSS property sets how a region can be manipulated by a touchscreen user (for example, by zooming features built into the browser). - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :------: | - * | **36** | **52** | **13** | **12** | **11** | - * | | | | | 10 _-x-_ | - * - * @see https://developer.mozilla.org/docs/Web/CSS/touch-action - */ - touchAction: TouchActionProperty - /** - * The **`transform`** CSS property lets you rotate, scale, skew, or translate an element. It modifies the coordinate space of the CSS visual formatting model. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :-----: | :-----: | :-------: | :----: | :-----: | - * | **36** | **16** | **9** | **12** | **10** | - * | 1 _-x-_ | | 3.1 _-x-_ | | 9 _-x-_ | - * - * @see https://developer.mozilla.org/docs/Web/CSS/transform - */ - transform: TransformProperty - /** - * The **`transform-box`** CSS property defines the layout box to which the `transform` and `transform-origin` properties relate. - * - * **Initial value**: `border-box ` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | **64** | **55** | **11** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/transform-box - */ - transformBox: TransformBoxProperty - /** - * The **`transform-origin`** CSS property sets the origin for an element's transformations. - * - * **Initial value**: `50% 50% 0` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :-----: | :-------: | :-----: | :----: | :-----: | - * | **36** | **16** | **9** | **12** | **10** | - * | 1 _-x-_ | 3.5 _-x-_ | 2 _-x-_ | | 9 _-x-_ | - * - * @see https://developer.mozilla.org/docs/Web/CSS/transform-origin - */ - transformOrigin: TransformOriginProperty - /** - * The **`transform-style`** CSS property sets whether children of an element are positioned in the 3D space or are flattened in the plane of the element. - * - * **Initial value**: `flat` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :------: | :------: | :-----: | :----: | :-: | - * | **36** | **16** | **9** | **12** | No | - * | 12 _-x-_ | 10 _-x-_ | 4 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/transform-style - */ - transformStyle: TransformStyleProperty - /** - * The **`transition-delay`** CSS property specifies the duration to wait before starting a property's transition effect when its value changes. - * - * **Initial value**: `0s` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :-----: | :-----: | :-----: | :----: | :----: | - * | **26** | **16** | **9** | **12** | **10** | - * | 1 _-x-_ | 4 _-x-_ | 4 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/transition-delay - */ - transitionDelay: GlobalsString - /** - * The **`transition-duration`** CSS property sets the length of time a transition animation should take to complete. By default, the value is `0s`, meaning that no animation will occur. - * - * **Initial value**: `0s` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :-----: | :-----: | :-------: | :----: | :----: | - * | **26** | **16** | **9** | **12** | **10** | - * | 1 _-x-_ | 4 _-x-_ | 3.1 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/transition-duration - */ - transitionDuration: GlobalsString - /** - * The **`transition-property`** CSS property sets the CSS properties to which a transition effect should be applied. - * - * **Initial value**: all - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :-----: | :-----: | :-------: | :----: | :----: | - * | **26** | **16** | **9** | **12** | **10** | - * | 1 _-x-_ | 4 _-x-_ | 3.1 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/transition-property - */ - transitionProperty: TransitionPropertyProperty - /** - * The **`transition-timing-function`** CSS property sets how intermediate values are calculated for CSS properties being affected by a transition effect. - * - * **Initial value**: `ease` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :-----: | :-----: | :-------: | :----: | :----: | - * | **26** | **16** | **9** | **12** | **10** | - * | 1 _-x-_ | 4 _-x-_ | 3.1 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/transition-timing-function - */ - transitionTimingFunction: TransitionTimingFunctionProperty - /** - * The **`translate`** CSS property allows you to specify translation transforms individually and independantly of the `transform` property. This maps better to typical user interface usage, and saves having to remember the exact order of transform functions to specify in the `transform` value. - * - * **Initial value**: `none` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | No | n/a | No | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/translate - */ - translate: TranslateProperty - /** - * The **`unicode-bidi`** CSS property, together with the `direction` property, determines how bidirectional text in a document is handled. For example, if a block of content contains both left-to-right and right-to-left text, the user-agent uses a complex Unicode algorithm to decide how to display the text. The `unicode-bidi` property overrides this algorithm and allows the developer to control the text embedding. - * - * **Initial value**: `normal` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :-----: | :----: | :-----: | - * | **2** | **1** | **1.3** | **12** | **5.5** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/unicode-bidi - */ - unicodeBidi: UnicodeBidiProperty - /** - * The `**user-select**` CSS property controls whether the user can select text. This doesn't have any effect on content loaded as chrome, except in textboxes. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :-----: | :-----: | :---------: | :----------: | :----------: | - * | **54** | **69** | **3** _-x-_ | **12** _-x-_ | **10** _-x-_ | - * | 1 _-x-_ | 1 _-x-_ | | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/user-select - */ - userSelect: UserSelectProperty - /** - * The **`vertical-align`** CSS property sets vertical alignment of an inline or table-cell box. - * - * **Initial value**: `baseline` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/vertical-align - */ - verticalAlign: VerticalAlignProperty - /** - * The **`visibility`** CSS property shows or hides an element without changing the layout of a document. The property can also hide rows or columns in a `
`. - * - * **Initial value**: `visible` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/visibility - */ - visibility: VisibilityProperty - /** - * The **`white-space`** CSS property sets how white space inside an element is handled. - * - * **Initial value**: `normal` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :-----: | - * | **1** | **1** | **1** | **12** | **5.5** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/white-space - */ - whiteSpace: WhiteSpaceProperty - /** - * The **`widows`** CSS property sets the minimum number of lines in a block container that must be shown at the _top_ of a page, region, or column. - * - * **Initial value**: `2` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :-----: | :----: | :---: | - * | **25** | No | **1.3** | **12** | **8** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/widows - */ - widows: GlobalsNumber - /** - * The **`width`** CSS property sets an element's width. By default it sets the width of the content area, but if `box-sizing` is set to `border-box`, it sets the width of the border area. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/width - */ - width: WidthProperty - /** - * The **`will-change`** CSS property hints to browsers how an element is expected to change. Browsers may set up optimizations before an element is actually changed. These kinds of optimizations can increase the responsiveness of a page by doing potentially expensive work before they are actually required. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :-----: | :--: | :-: | - * | **36** | **36** | **9.1** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/will-change - */ - willChange: WillChangeProperty - /** - * The **`word-break`** CSS property sets whether line breaks appear wherever the text would otherwise overflow its content box. - * - * **Initial value**: `normal` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :-----: | - * | **1** | **15** | **3** | **12** | **5.5** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/word-break - */ - wordBreak: WordBreakProperty - /** - * The **`word-spacing`** CSS property sets the length of space between words and between tags. - * - * **Initial value**: `normal` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **6** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/word-spacing - */ - wordSpacing: WordSpacingProperty - /** - * The `**overflow-wrap**` CSS property sets whether the browser should insert line breaks within words to prevent text from overflowing its content box. - * - * **Initial value**: `normal` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :-----: | - * | **1** | **3.5** | **2** | **12** | **5.5** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/overflow-wrap - */ - wordWrap: WordWrapProperty - /** - * The **`writing-mode`** CSS property sets whether lines of text are laid out horizontally or vertically, as well as the direction in which blocks progress. - * - * **Initial value**: `horizontal-tb` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :-----: | :-----: | :-------: | :----: | :---------: | - * | **48** | **41** | **10.1** | **12** | **9** _-x-_ | - * | 8 _-x-_ | | 5.1 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/writing-mode - */ - writingMode: WritingModeProperty - /** - * The **`z-index`** CSS property sets the z-order of a positioned element and its descendants or flex items. Overlapping elements with a larger z-index cover those with a smaller one. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/z-index - */ - zIndex: ZIndexProperty - /** - * The non-standard **`zoom`** CSS property can be used to control the magnification level of an element. `transform: scale()` should be used instead of this property, if possible. However, unlike CSS Transforms, `zoom` affects the layout size of the element. - * - * **Initial value**: `normal` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :-----: | :----: | :-----: | - * | **1** | No | **3.1** | **12** | **5.5** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/zoom - */ - zoom: ZoomProperty -} - -export interface StandardShorthandProperties { - /** - * The `**all**` CSS shorthand property sets all of an element's properties (other than `unicode-bidi` and `direction`) to their initial or inherited values, or to the values specified in another stylesheet origin. - * - * **Initial value**: There is no practical initial value for it. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :-----: | :--: | :-: | - * | **37** | **27** | **9.1** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/all - */ - all: Globals - /** - * The **`animation`** shorthand CSS property sets an animated transition between styles. It is a shorthand for `animation-name`, `animation-duration`, `animation-timing-function`, `animation-delay`, `animation-iteration-count`, `animation-direction`, `animation-fill-mode`, and `animation-play-state`. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :-----: | :-----: | :-----: | :----: | :----: | - * | **43** | **16** | **9** | **12** | **10** | - * | 3 _-x-_ | 5 _-x-_ | 4 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/animation - */ - animation: AnimationProperty - /** - * The **`background`** shorthand CSS property sets all background style properties at once, such as color, image, origin and size, or repeat method. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/background - */ - background: BackgroundProperty - /** - * The **`border`** CSS property sets an element's border. It's a shorthand for `border-width`, `border-style`, and `border-color`. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border - */ - border: BorderProperty - /** - * 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. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | **69** | **66** | No | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-block - */ - borderBlock: BorderBlockProperty - /** - * The **`border-block-end`** CSS property is a shorthand property for setting the individual logical block-end border property values in a single place in the style sheet. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :--: | :-: | - * | **69** | **41** | **12.1** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-block-end - */ - borderBlockEnd: BorderBlockEndProperty - /** - * The **`border-block-start`** CSS property is a shorthand property for setting the individual logical block-start border property values in a single place in the style sheet. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :--: | :-: | - * | **69** | **41** | **12.1** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-block-start - */ - borderBlockStart: BorderBlockStartProperty - /** - * The **`border-bottom`** CSS property is a shorthand that sets the values of `border-bottom-width`, `border-bottom-style` and `border-bottom-color`. These properties set an element's bottom border. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-bottom - */ - borderBottom: BorderBottomProperty - /** - * The **`border-color`** shorthand CSS property sets the color of all sides of an element's border. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-color - */ - borderColor: BorderColorProperty - /** - * The **`border-image`** CSS property draws an image in place of an element's `border-style`. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :-----: | :-------: | :-----: | :----: | :----: | - * | **16** | **15** | **6** | **12** | **11** | - * | 7 _-x-_ | 3.5 _-x-_ | 3 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-image - */ - borderImage: BorderImageProperty - /** - * 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. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | **69** | **66** | No | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-inline - */ - borderInline: BorderInlineProperty - /** - * The **`border-inline-end`** CSS property is a shorthand property for setting the individual logical inline-end border property values in a single place in the style sheet. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :--: | :-: | - * | **69** | **41** | **12.1** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-end - */ - borderInlineEnd: BorderInlineEndProperty - /** - * The **`border-inline-start`** CSS property is a shorthand property for setting the individual logical inline-start border property values in a single place in the style sheet. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :--: | :-: | - * | **69** | **41** | **12.1** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-start - */ - borderInlineStart: BorderInlineStartProperty - /** - * The **`border-left`** CSS property is a shorthand that sets the values of `border-left-width`, `border-left-style` and `border-left-color`. These properties set an element's left border. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-left - */ - borderLeft: BorderLeftProperty - /** - * The **`border-radius`** CSS property rounds the corners of an element's outer border edge. You can set a single radius to make circular corners, or two radii to make elliptical corners. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :-----: | :-----: | :-----: | :----: | :---: | - * | **4** | **4** | **5** | **12** | **9** | - * | 1 _-x-_ | | 3 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-radius - */ - borderRadius: BorderRadiusProperty - /** - * The **`border-right`** CSS property is a shorthand that sets the values of `border-right-width`, `border-right-style` and `border-right-color`. These properties set an element's right border. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :-----: | - * | **1** | **1** | **1** | **12** | **5.5** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-right - */ - borderRight: BorderRightProperty - /** - * The **`border-style`** CSS property is a shorthand property that sets the line style for all four sides of an element's border. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-style - */ - borderStyle: BorderStyleProperty - /** - * The **`border-top`** CSS property is a shorthand that sets the values of `border-top-width`, `border-top-style` and `border-top-color`. These properties set an element's top border. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-top - */ - borderTop: BorderTopProperty - /** - * The **`border-width`** shorthand CSS property sets the widths of all four sides of an element's border. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/border-width - */ - borderWidth: BorderWidthProperty - /** - * The **`column-rule`** CSS property sets the width, style, and color of the rule (line) drawn between columns in a multi-column layout. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :-----: | :-------: | :-----: | :----: | :----: | - * | **50** | **52** | **9** | **12** | **10** | - * | 1 _-x-_ | 3.5 _-x-_ | 3 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/column-rule - */ - columnRule: ColumnRuleProperty - /** - * The **`columns`** CSS property sets the column width and column count of an element. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :-----: | :----: | :----: | - * | **50** | **52** | **9** | **12** | **10** | - * | | 9 _-x-_ | 3 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/columns - */ - columns: ColumnsProperty - /** - * The **`flex`** CSS property sets how a flex item will grow or shrink to fit the space available in its flex container. It is a shorthand for `flex-grow`, `flex-shrink`, and `flex-basis`. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :------: | :-----: | :-------: | :----: | :------: | - * | **29** | **20** | **9** | **12** | **11** | - * | 21 _-x-_ | | 6.1 _-x-_ | | 10 _-x-_ | - * - * @see https://developer.mozilla.org/docs/Web/CSS/flex - */ - flex: FlexProperty - /** - * The **`flex-flow`** CSS property is a shorthand property for `flex-direction` and `flex-wrap` properties. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :------: | :-----: | :-------: | :----: | :----: | - * | **29** | **28** | **9** | **12** | **11** | - * | 21 _-x-_ | | 6.1 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/flex-flow - */ - flexFlow: FlexFlowProperty - /** - * The **`font`** CSS property is a shorthand for `font-style`, `font-variant`, `font-weight`, `font-size`, `line-height`, and `font-family`. Alternatively, it sets an element's font to a system font. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **3** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/font - */ - font: FontProperty - /** - * The **`gap`** CSS property sets the gaps (gutters) between rows and columns. It is a shorthand for `row-gap` and `column-gap`. - * - * --- - * - * _Supported in Flex Layout_ - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | 84 | 63 | No | 84 | No | - * - * --- - * - * _Supported in Grid Layout_ - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | 66 | 61 | 10.1 | 16 | No | - * - * --- - * - * _Supported in Multi-column Layout_ - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :-: | - * | 66 | 61 | No | 16 | No | - * - * --- - * - * @see https://developer.mozilla.org/docs/Web/CSS/gap - */ - gap: GapProperty - /** - * 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. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :----: | :-: | - * | **57** | **52** | **10.1** | **16** | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/grid - */ - grid: GridProperty - /** - * The **`grid-area`** CSS property is a shorthand property for `grid-row-start`, `grid-column-start`, `grid-row-end` and `grid-column-end`, specifying a grid item’s size and location within the grid row by contributing a line, a span, or nothing (automatic) to its grid placement, thereby specifying the edges of its grid area. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :----: | :-: | - * | **57** | **52** | **10.1** | **16** | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/grid-area - */ - gridArea: GridAreaProperty - /** - * The **`grid-column`** CSS property is a shorthand property for `grid-column-start` and `grid-column-end` specifying a grid item's size and location within the grid column by contributing a line, a span, or nothing (automatic) to its grid placement, thereby specifying the inline-start and inline-end edge of its grid area. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :----: | :-: | - * | **57** | **52** | **10.1** | **16** | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/grid-column - */ - gridColumn: GridColumnProperty - /** - * The **`grid-column-gap`** CSS property is a _legacy_ property that sets the size of the gap (gutter) between an element's grid columns. - * - * **Initial value**: `normal` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :----: | :-: | - * | **57** | **52** | **10.1** | **16** | No | - * - * --- - * - * @see https://developer.mozilla.org/docs/Web/CSS/row-gap - */ - gridColumnGap: ColumnGapProperty - /** - * The **`grid-row`** CSS property is a shorthand property for `grid-row-start` and `grid-row-end` specifying a grid item’s size and location within the grid row by contributing a line, a span, or nothing (automatic) to its grid placement, thereby specifying the inline-start and inline-end edge of its grid area. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :----: | :-: | - * | **57** | **52** | **10.1** | **16** | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/grid-row - */ - gridRow: GridRowProperty - /** - * The **`grid-row-gap`** CSS property is a _legacy_ property that sets the size of the gap (gutter) between an element's grid rows. - * - * **Initial value**: `normal` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :----: | :-: | - * | **57** | **52** | **10.1** | **16** | No | - * - * --- - * - * @see https://developer.mozilla.org/docs/Web/CSS/row-gap - */ - gridRowGap: RowGapProperty - /** - * The **`grid-template`** CSS property is a shorthand property for defining grid columns, rows, and areas. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :------: | :----: | :-: | - * | **57** | **52** | **10.1** | **16** | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/grid-template - */ - gridTemplate: GridTemplateProperty - /** **Initial value**: `none` */ - lineClamp: LineClampProperty - /** - * The **`list-style`** CSS property is a shorthand to set list style properties `list-style-type`, `list-style-image`, and `list-style-position`. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/list-style - */ - listStyle: ListStyleProperty - /** - * The **`margin`** CSS property sets the margin area on all four sides of an element. It is a shorthand for `margin-top`, `margin-right`, `margin-bottom`, and `margin-left`. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **3** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/margin - */ - margin: MarginProperty - /** - * The **`mask`** CSS property hides an element (partially or fully) by masking or clipping the image at specific points. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :-----: | :----: | :-: | - * | **1** | **2** | **3.2** | **12** | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/mask - */ - mask: MaskProperty - /** The **`mask-border`** CSS property lets you create a mask along the edge of an element's border. */ - maskBorder: MaskBorderProperty - /** - * The **`offset`** CSS property is a shorthand property for animating an element along a defined path. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :-----------: | :-----: | :----: | :--: | :-: | - * | **55** | No | No | No | No | - * | 46 _(motion)_ | | | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/offset - */ - motion: OffsetProperty - /** - * The **`offset`** CSS property is a shorthand property for animating an element along a defined path. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :-----------: | :-----: | :----: | :--: | :-: | - * | **55** | No | No | No | No | - * | 46 _(motion)_ | | | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/offset - */ - offset: OffsetProperty - /** - * The **`outline`** CSS property is a shorthand to set various outline properties in a single declaration: `outline-style`, `outline-width`, and `outline-color`. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :-----: | :----: | :---: | - * | **1** | **1.5** | **1.2** | **12** | **8** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/outline - */ - outline: OutlineProperty - /** - * The **`padding`** CSS property sets the padding area on all four sides of an element. It is a shorthand for `padding-top`, `padding-right`, `padding-bottom`, and `padding-left`. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **4** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/padding - */ - padding: PaddingProperty - /** - * The CSS **`place-items`** shorthand property sets the `align-items` and `justify-items` properties, respectively. If the second value is not set, the first value is also used for it. - * - * --- - * - * _Supported in Flex Layout_ - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | **59** | **45** | **11** | No | No | - * - * --- - * - * _Supported in Grid Layout_ - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | **59** | **45** | **11** | No | No | - * - * --- - * - * @see https://developer.mozilla.org/docs/Web/CSS/place-items - */ - placeItems: PlaceItemsProperty - /** - * 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. - * - * --- - * - * _Supported in Flex Layout_ - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | **59** | **45** | No | No | No | - * - * --- - * - * _Supported in Grid Layout_ - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :--: | :-: | - * | **59** | **45** | No | No | No | - * - * --- - * - * @see https://developer.mozilla.org/docs/Web/CSS/place-self - */ - placeSelf: PlaceSelfProperty - /** - * The **`text-decoration`** CSS property sets the appearance of decorative lines on text. It is a shorthand for `text-decoration-line`, `text-decoration-color`, and `text-decoration-style`. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :----: | :----: | :---: | - * | **1** | **1** | **1** | **12** | **3** | - * - * @see https://developer.mozilla.org/docs/Web/CSS/text-decoration - */ - textDecoration: TextDecorationProperty - /** - * The **`text-emphasis`** CSS property applies emphasis marks to text (except spaces and control characters). It is a shorthand for `text-emphasis-style` and `text-emphasis-color`. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :----: | :-----: | :-----: | :--: | :-: | - * | **25** | **46** | **6.1** | No | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/text-emphasis - */ - textEmphasis: TextEmphasisProperty - /** - * The **`transition`** CSS property is a shorthand property for `transition-property`, `transition-duration`, `transition-timing-function`, and `transition-delay`. - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :-----: | :-----: | :-------: | :----: | :----: | - * | **26** | **16** | **9** | **12** | **10** | - * | 1 _-x-_ | 4 _-x-_ | 3.1 _-x-_ | | | - * - * @see https://developer.mozilla.org/docs/Web/CSS/transition - */ - transition: TransitionProperty -} - -export interface StandardProperties extends StandardLonghandProperties, StandardShorthandProperties {} - -export interface VendorLonghandProperties { - /** - * The non-standard **`-moz-float-edge`** CSS property specifies whether the height and width properties of the element include the margin, border, or padding thickness. - * - * **Initial value**: `content-box` - */ - MozFloatEdge: MozFloatEdgeProperty - /** - * The **`font-language-override`** CSS property controls the use of language-specific glyphs in a typeface. - * - * **Initial value**: `normal` - */ - MozFontLanguageOverride: FontLanguageOverrideProperty - /** - * The **`-moz-orient`** CSS property specifies the orientation of the element to which it's applied. - * - * **Initial value**: `inline` - */ - MozOrient: MozOrientProperty - /** - * In Mozilla applications, the **`-moz-outline-radius-bottomleft`** CSS property can be used to round the bottom-left corner of an element's `outline`. - * - * **Initial value**: `0` - */ - MozOutlineRadiusBottomleft: MozOutlineRadiusBottomleftProperty - /** - * In Mozilla applications, the **`-moz-outline-radius-bottomright`** CSS property can be used to round the bottom-right corner of an element's `outline`. - * - * **Initial value**: `0` - */ - MozOutlineRadiusBottomright: MozOutlineRadiusBottomrightProperty - /** - * In Mozilla applications, the **`-moz-outline-radius-topleft`** CSS property can be used to round the top-left corner of an element's `outline`. - * - * **Initial value**: `0` - */ - MozOutlineRadiusTopleft: MozOutlineRadiusTopleftProperty - /** - * In Mozilla applications, the **`-moz-outline-radius-topright`** CSS property can be used to round the top-right corner of an element's `outline`. - * - * **Initial value**: `0` - */ - MozOutlineRadiusTopright: MozOutlineRadiusToprightProperty - /** - * The **`tab-size`** CSS property is used to customize the width of a tab (`U+0009`) character. - * - * **Initial value**: `8` - */ - MozTabSize: TabSizeProperty - /** - * The **`-moz-user-focus`** CSS property is used to indicate whether an element can have the focus. - * - * **Initial value**: `none` - */ - MozUserFocus: MozUserFocusProperty - /** - * The **`user-modify`** property has no effect in Firefox. It was originally planned to determine whether or not the content of an element can be edited by a user. - * - * **Initial value**: `read-only` - */ - MozUserModify: MozUserModifyProperty - /** - * The **`appearance`** CSS property is used in Gecko (Firefox) to display an element using platform-native styling based on the operating system's theme. - * - * **Initial value**: `auto` - * - * | Chrome | Firefox | Safari | Edge | IE | - * | :---------: | :---------: | :---------: | :----------: | :-: | - * | **1** _-x-_ | **1** _-x-_ | **3** _-x-_ | **12** _-x-_ | No | - * - * @see https://developer.mozilla.org/docs/Web/CSS/appearance - */ - WebkitAppearance: WebkitAppearanceProperty - /** - * 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. - * - * **Initial value**: `none` - */ - WebkitBackdropFilter: BackdropFilterProperty - /** - * The **`backface-visibility`** CSS property sets whether the back face of an element is visible when turned towards the user. - * - * **Initial value**: `visible` - */ - WebkitBackfaceVisibility: BackfaceVisibilityProperty - /** - * The **`background-clip`** CSS property sets whether an element's background `` or `` extends underneath its border. - * - * **Initial value**: `border-box` - */ - WebkitBackgroundClip: BackgroundClipProperty - /** - * The **`box-decoration-break`** CSS property specifies how an element's fragments should be rendered when broken across multiple lines, columns, or pages. - * - * **Initial value**: `slice` - */ - WebkitBoxDecorationBreak: BoxDecorationBreakProperty - /** - * The **`-webkit-box-reflect`** CSS property lets you reflect the content of an element in one specific direction. - * - * **Initial value**: `none` - */ - WebkitBoxReflect: WebkitBoxReflectProperty - /** - * The `**clip-path**` CSS property creates a clipping region that sets what part of an element should be shown. Parts that are inside the region are shown, while those outside are hidden. - * - * **Initial value**: `none` - */ - WebkitClipPath: ClipPathProperty - /** - * The **`color-adjust`** CSS property sets what, if anything, the user agent may do to optimize the appearance of the element on the output device. By default, the browser is allowed to make any adjustments to the element's appearance it determines to be necessary and prudent given the type and capabilities of the output device. - * - * **Initial value**: `economy` - */ - WebkitColorAdjust: ColorAdjustProperty - /** - * The **`font-kerning`** CSS property sets the use of the kerning information stored in a font. - * - * **Initial value**: `auto` - */ - WebkitFontKerning: FontKerningProperty - /** - * The **`hyphens`** CSS property specifies how words should be hyphenated when text wraps across multiple lines. You can prevent hyphenation entirely, use hyphenation in manually-specified points within the text, or let the browser automatically insert hyphens where appropriate. - * - * **Initial value**: `manual` - */ - WebkitHyphens: HyphensProperty - /** - * The **`-webkit-line-clamp`** CSS property allows limiting of the contents of a block container to the specified number of lines. - * - * **Initial value**: `none` - */ - WebkitLineClamp: WebkitLineClampProperty - /** - * If a `-webkit-mask-image` is specified, `-webkit-mask-attachment` determines whether the mask image's position is fixed within the viewport, or scrolls along with its containing block. - * - * **Initial value**: `scroll` - */ - WebkitMaskAttachment: WebkitMaskAttachmentProperty - /** - * 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. - * - * **Initial value**: `border` - */ - WebkitMaskClip: WebkitMaskClipProperty - /** - * The **`-webkit-mask-composite`** property specifies the manner in which multiple mask images applied to the same element are composited with one another. Mask images are composited in the opposite order that they are declared with the `-webkit-mask-image` property. - * - * **Initial value**: `source-over` - */ - WebkitMaskComposite: WebkitMaskCompositeProperty - /** - * The **`mask-image`** CSS property sets the image that is used as mask layer for an element. - * - * **Initial value**: `none` - */ - WebkitMaskImage: WebkitMaskImageProperty - /** - * The **`mask-origin`** CSS property sets the origin of a mask. - * - * **Initial value**: `padding` - */ - WebkitMaskOrigin: WebkitMaskOriginProperty - /** - * The **`mask-position`** CSS property sets the initial position, relative to the mask position layer set by `mask-origin`, for each defined mask image. - * - * **Initial value**: `0% 0%` - */ - WebkitMaskPosition: WebkitMaskPositionProperty - /** - * The `-webkit-mask-position-x` CSS property sets the initial horizontal position of a mask image. - * - * **Initial value**: `0%` - */ - WebkitMaskPositionX: WebkitMaskPositionXProperty - /** - * The `-webkit-mask-position-y` CSS property sets the initial vertical position of a mask image. - * - * **Initial value**: `0%` - */ - WebkitMaskPositionY: WebkitMaskPositionYProperty - /** - * The **`mask-repeat`** CSS property sets how mask images are repeated. A mask image can be repeated along the horizontal axis, the vertical axis, both axes, or not repeated at all. - * - * **Initial value**: `repeat` - */ - WebkitMaskRepeat: WebkitMaskRepeatProperty - /** - * The `-webkit-mask-repeat-x` property specifies whether and how a mask image is repeated (tiled) horizontally. - * - * **Initial value**: `repeat` - */ - WebkitMaskRepeatX: WebkitMaskRepeatXProperty - /** - * The `-webkit-mask-repeat-y` property sets whether and how a mask image is repeated (tiled) vertically. - * - * **Initial value**: `repeat` - */ - WebkitMaskRepeatY: WebkitMaskRepeatYProperty - /** - * The **`mask-size`** CSS property specifies the sizes of the mask images. The size of the image can be fully or partially constrained in order to preserve its intrinsic ratio. - * - * **Initial value**: `auto auto` - */ - WebkitMaskSize: WebkitMaskSizeProperty - /** - * The `-webkit-overflow-scrolling` CSS property controls whether or not touch devices use momentum-based scrolling for a given element. - * - * **Initial value**: `auto` - */ - WebkitOverflowScrolling: WebkitOverflowScrollingProperty - /** - * **`-webkit-tap-highlight-color`** is a non-standard CSS property that sets the color of the highlight that appears over a link while it's being tapped. The highlighting indicates to the user that their tap is being successfully recognized, and indicates which element they're tapping on. - * - * **Initial value**: `black` - */ - WebkitTapHighlightColor: WebkitTapHighlightColorProperty - /** - * The **`text-combine-upright`** CSS property sets the combination of characters into the space of a single character. If the combined text is wider than 1em, the user agent must fit the contents within 1em. The resulting composition is treated as a single upright glyph for layout and decoration. This property only has an effect in vertical writing modes. - * - * **Initial value**: `none` - */ - WebkitTextCombine: TextCombineUprightProperty - /** - * The **`text-decoration-color`** CSS property sets the color of decorations added to text by `text-decoration-line`. - * - * **Initial value**: `currentcolor` - */ - WebkitTextDecorationColor: TextDecorationColorProperty - /** - * The **`text-decoration-line`** CSS property sets the kind of decoration that is used on text in an element, such as an underline or overline. - * - * **Initial value**: `none` - */ - WebkitTextDecorationLine: TextDecorationLineProperty - /** - * The **`text-decoration-skip`** CSS property sets what parts of an element’s content any text decoration affecting the element must skip over. It controls all text decoration lines drawn by the element and also any text decoration lines drawn by its ancestors. - * - * **Initial value**: `objects` - */ - WebkitTextDecorationSkip: TextDecorationSkipProperty - /** - * The **`text-decoration-style`** CSS property sets the style of the lines specified by `text-decoration-line`. The style applies to all lines that are set with `text-decoration-line`. - * - * **Initial value**: `solid` - */ - WebkitTextDecorationStyle: TextDecorationStyleProperty - /** - * The **`text-emphasis-color`** CSS property sets the color of emphasis marks. This value can also be set using the `text-emphasis` shorthand. - * - * **Initial value**: `currentcolor` - */ - WebkitTextEmphasisColor: TextEmphasisColorProperty - /** - * The **`text-emphasis-position`** CSS property sets where emphasis marks are drawn. Like ruby text, if there isn't enough room for emphasis marks, the line height is increased. - * - * **Initial value**: `over right` - */ - WebkitTextEmphasisPosition: GlobalsString - /** - * The **`text-emphasis-style`** CSS property sets the appearance of emphasis marks. It can also be set, and reset, using the `text-emphasis` shorthand. - * - * **Initial value**: `none` - */ - WebkitTextEmphasisStyle: TextEmphasisStyleProperty - /** - * The **`-webkit-text-fill-color`** CSS property specifies the fill color of characters of text. If this property is not set, the value of the `color` property is used. - * - * **Initial value**: `currentcolor` - */ - WebkitTextFillColor: WebkitTextFillColorProperty - /** - * The **`text-orientation`** CSS property sets the orientation of the text characters in a line. It only affects text in vertical mode (when `writing-mode` is not `horizontal-tb`). It is useful for controlling the display of languages that use vertical script, and also for making vertical table headers. - * - * **Initial value**: `mixed` - */ - WebkitTextOrientation: TextOrientationProperty - /** - * The **`text-size-adjust`** CSS property controls the text inflation algorithm used on some smartphones and tablets. Other browsers will ignore this property. - * - * **Initial value**: `auto` for smartphone browsers supporting inflation, `none` in other cases (and then not modifiable). - */ - WebkitTextSizeAdjust: TextSizeAdjustProperty - /** - * The **`-webkit-text-stroke-color`** CSS property specifies the stroke color of characters of text. If this property is not set, the value of the `color` property is used. - * - * **Initial value**: `currentcolor` - */ - WebkitTextStrokeColor: WebkitTextStrokeColorProperty - /** - * The **`-webkit-text-stroke-width`** CSS property specifies the width of the stroke for text. - * - * **Initial value**: `0` - */ - WebkitTextStrokeWidth: WebkitTextStrokeWidthProperty - /** - * The `-webkit-touch-callout` CSS property controls the display of the default callout shown when you touch and hold a touch target. - * - * **Initial value**: `default` - */ - WebkitTouchCallout: WebkitTouchCalloutProperty - /** **Initial value**: `read-only` */ - WebkitUserModify: WebkitUserModifyProperty - /** - * The `**user-select**` CSS property controls whether the user can select text. This doesn't have any effect on content loaded as chrome, except in textboxes. - * - * **Initial value**: `auto` - */ - WebkitUserSelect: UserSelectProperty -} - -export interface VendorShorthandProperties { - /** The **`mask`** CSS property hides an element (partially or fully) by masking or clipping the image at specific points. */ - WebkitMask: WebkitMaskProperty - /** The **`text-emphasis`** CSS property applies emphasis marks to text (except spaces and control characters). It is a shorthand for `text-emphasis-style` and `text-emphasis-color`. */ - WebkitTextEmphasis: TextEmphasisProperty - /** The **`-webkit-text-stroke`** CSS property specifies the width and color of strokes for text characters. This is a shorthand property for the longhand properties `-webkit-text-stroke-width` and `-webkit-text-stroke-color`. */ - WebkitTextStroke: WebkitTextStrokeProperty -} - -export interface VendorProperties extends VendorLonghandProperties, VendorShorthandProperties {} - -export interface SvgProperties { - alignmentBaseline: AlignmentBaselineProperty - baselineShift: BaselineShiftProperty - clip: ClipProperty - clipPath: ClipPathProperty - clipRule: ClipRuleProperty - color: ColorProperty - colorInterpolation: ColorInterpolationProperty - colorRendering: ColorRenderingProperty - cursor: CursorProperty - direction: DirectionProperty - display: DisplayProperty - dominantBaseline: DominantBaselineProperty - fill: FillProperty - fillOpacity: GlobalsNumber - fillRule: FillRuleProperty - filter: FilterProperty - floodColor: FloodColorProperty - floodOpacity: GlobalsNumber - font: FontProperty - fontFamily: FontFamilyProperty - fontSize: FontSizeProperty - fontSizeAdjust: FontSizeAdjustProperty - fontStretch: FontStretchProperty - fontStyle: FontStyleProperty - fontVariant: FontVariantProperty - fontWeight: FontWeightProperty - glyphOrientationVertical: GlyphOrientationVerticalProperty - imageRendering: ImageRenderingProperty - letterSpacing: LetterSpacingProperty - lightingColor: LightingColorProperty - lineHeight: LineHeightProperty - marker: MarkerProperty - markerEnd: MarkerEndProperty - markerMid: MarkerMidProperty - markerStart: MarkerStartProperty - mask: MaskProperty - opacity: OpacityProperty - overflow: OverflowProperty - paintOrder: PaintOrderProperty - pointerEvents: PointerEventsProperty - shapeRendering: ShapeRenderingProperty - stopColor: StopColorProperty - stopOpacity: GlobalsNumber - stroke: StrokeProperty - strokeDasharray: StrokeDasharrayProperty - strokeDashoffset: StrokeDashoffsetProperty - strokeLinecap: StrokeLinecapProperty - strokeLinejoin: StrokeLinejoinProperty - strokeMiterlimit: GlobalsNumber - strokeOpacity: GlobalsNumber - strokeWidth: StrokeWidthProperty - textAnchor: TextAnchorProperty - textDecoration: TextDecorationProperty - textRendering: TextRenderingProperty - unicodeBidi: UnicodeBidiProperty - vectorEffect: VectorEffectProperty - visibility: VisibilityProperty - whiteSpace: WhiteSpaceProperty - wordSpacing: WordSpacingProperty - writingMode: WritingModeProperty -} - -type FontFaceSrcValues = `url(FontFamily.woff2)` | `url(FontFamily.woff2) format("woff2")` | `url(FontFamily.woff) format("woff")` | (string & {}) - -export interface FontFaceProperties { - /** - * The **`font-display`** CSS property defines how a font face is displayed based on whether and when it is downloaded and ready to use. - * - * @see https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display - */ - fontDisplay?: FontFaceFontDisplayProperty - - /** - * The **`font-family`** CSS property specifies a name identifying the font name. - * - * @see https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-family - */ - fontFamily?: string - - /** - * The **`font-stretch`** CSS property defines the weight of a font face. - * - * @see https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-stretch - */ - fontStretch?: FontFaceFontStretchProperty - - /** - * The **`font-style`** CSS property defines the slant of a font face. - * - * @see https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-style - */ - fontStyle?: FontFaceFontStyleProperty - - /** - * The **`font-weight`** CSS property defines the weight of a font face. - * - * @see https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-weight - */ - fontWeight?: FontWeightProperty - - /** - * The **`font-variant`** CSS property defines the variants of a font face. - * A font-variant value. - * - * @see https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-variant - */ - fontVariant?: FontFaceFontVariantProperty - - /** - * The **`font-feature-settings`** CSS property defines the allowed control over advanced typographic features in OpenType fonts. - * - * @see https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-feature-settings - */ - fontFeatureSettings?: FontFaceFontFeatureSettingsProperty - - /** - * The **`font-variation-settings`** CSS property defines the allowed control over OpenType or TrueType font variations, by specifying the four letter axis names of the features to vary, along with their variation values. - * - * @see https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-variation-settings - */ - fontVariationSettings?: FontFaceFontVariationSettingsProperty - - /** - * The **`src`** CSS property defines the resource containing the font data of a font face. This can be one or more URLs to a remote font file location or names of fonts on the user's computer. - * - * @see https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/src - */ - src?: FontFaceSrcValues | FontFaceSrcValues[] - - /** - * The **`unicode-range`** CSS property determines the unicode code points to be used from the font. - * - * @see https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/unicode-range - */ - unicodeRange?: string | string[] -} - -export interface DeclarationListWithRootAtRules { - /** - * The **`@font-face`** CSS at-rule imports custom fonts used to display text. - * - * @see https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face - */ - '@font-face'?: FontFaceProperties | FontFaceProperties[] - - /** - * The **`@import`** CSS at-rule imports style rules from other style sheets. - * - * @see https://developer.mozilla.org/en-US/docs/Web/CSS/@import - */ - '@import'?: `"style.css"` | `url("style.css")` | (string & {}) | (`"style.css"` | `url("style.css")` | (string & {}))[] -} - -export interface Properties extends StandardProperties, VendorProperties, SvgProperties {} - -export interface FontFace { - fontDisplay: FontFaceFontDisplayProperty - fontFamily: string - fontFeatureSettings: FontFaceFontFeatureSettingsProperty - fontStretch: FontFaceFontStretchProperty - fontStyle: FontFaceFontStyleProperty - fontVariant: FontFaceFontVariantProperty - fontVariationSettings: FontFaceFontVariationSettingsProperty - fontWeight: FontFaceFontWeightProperty - src: string - unicodeRange: string -} - -export interface FontFaceFallback { - fontDisplay: FontFaceFontDisplayProperty | FontFaceFontDisplayProperty[] - fontFamily: string | string[] - fontFeatureSettings: FontFaceFontFeatureSettingsProperty | FontFaceFontFeatureSettingsProperty[] - fontStretch: FontFaceFontStretchProperty | FontFaceFontStretchProperty[] - fontStyle: FontFaceFontStyleProperty | FontFaceFontStyleProperty[] - fontVariant: FontFaceFontVariantProperty | FontFaceFontVariantProperty[] - fontVariationSettings: FontFaceFontVariationSettingsProperty | FontFaceFontVariationSettingsProperty[] - fontWeight: FontFaceFontWeightProperty | FontFaceFontWeightProperty[] - src: string | string[] - unicodeRange: string | string[] -} - -export interface Viewport { - msHeight: ViewportHeightProperty - msMaxHeight: ViewportMaxHeightProperty - msMaxWidth: ViewportMaxWidthProperty - msMaxZoom: ViewportMaxZoomProperty - msMinHeight: ViewportMinHeightProperty - msMinWidth: ViewportMinWidthProperty - msMinZoom: ViewportMinZoomProperty - msOrientation: ViewportOrientationProperty - msUserZoom: ViewportUserZoomProperty - msWidth: ViewportWidthProperty - msZoom: ViewportZoomProperty - OOrientation: ViewportOrientationProperty - height: ViewportHeightProperty - maxHeight: ViewportMaxHeightProperty - maxWidth: ViewportMaxWidthProperty - maxZoom: ViewportMaxZoomProperty - minHeight: ViewportMinHeightProperty - minWidth: ViewportMinWidthProperty - minZoom: ViewportMinZoomProperty - orientation: ViewportOrientationProperty - userZoom: ViewportUserZoomProperty - width: ViewportWidthProperty - zoom: ViewportZoomProperty -} - -export interface ViewportFallback { - msHeight: ViewportHeightProperty | ViewportHeightProperty[] - msMaxHeight: ViewportMaxHeightProperty | ViewportMaxHeightProperty[] - msMaxWidth: ViewportMaxWidthProperty | ViewportMaxWidthProperty[] - msMaxZoom: ViewportMaxZoomProperty | ViewportMaxZoomProperty[] - msMinHeight: ViewportMinHeightProperty | ViewportMinHeightProperty[] - msMinWidth: ViewportMinWidthProperty | ViewportMinWidthProperty[] - msMinZoom: ViewportMinZoomProperty | ViewportMinZoomProperty[] - msOrientation: ViewportOrientationProperty | ViewportOrientationProperty[] - msUserZoom: ViewportUserZoomProperty | ViewportUserZoomProperty[] - msWidth: ViewportWidthProperty | ViewportWidthProperty[] - msZoom: ViewportZoomProperty | ViewportZoomProperty[] - OOrientation: ViewportOrientationProperty | ViewportOrientationProperty[] - height: ViewportHeightProperty | ViewportHeightProperty[] - maxHeight: ViewportMaxHeightProperty | ViewportMaxHeightProperty[] - maxWidth: ViewportMaxWidthProperty | ViewportMaxWidthProperty[] - maxZoom: ViewportMaxZoomProperty | ViewportMaxZoomProperty[] - minHeight: ViewportMinHeightProperty | ViewportMinHeightProperty[] - minWidth: ViewportMinWidthProperty | ViewportMinWidthProperty[] - minZoom: ViewportMinZoomProperty | ViewportMinZoomProperty[] - orientation: ViewportOrientationProperty | ViewportOrientationProperty[] - userZoom: ViewportUserZoomProperty | ViewportUserZoomProperty[] - width: ViewportWidthProperty | ViewportWidthProperty[] - zoom: ViewportZoomProperty | ViewportZoomProperty[] -} - -export type Globals = 'inherit' | 'initial' | 'revert' | 'unset' - -type GlobalsString = Globals | (string & {}) - -type GlobalsNumber = Globals | number - -export type AlignContentProperty = Globals | ContentDistribution | ContentPosition | 'baseline' | 'normal' | (string & {}) - -export type AlignItemsProperty = Globals | SelfPosition | 'baseline' | 'normal' | 'stretch' | (string & {}) - -export type AlignSelfProperty = Globals | SelfPosition | 'auto' | 'baseline' | 'normal' | 'stretch' | (string & {}) - -export type AnimationProperty = Globals | SingleAnimation | (string & {}) - -export type AnimationDirectionProperty = Globals | SingleAnimationDirection | (string & {}) - -export type AnimationFillModeProperty = Globals | SingleAnimationFillMode | (string & {}) - -export type AnimationIterationCountProperty = Globals | 'infinite' | (string & {}) | number - -export type AnimationNameProperty = Globals | 'none' | (string & {}) - -export type AnimationPlayStateProperty = Globals | 'paused' | 'running' | (string & {}) - -export type AnimationTimingFunctionProperty = Globals | TimingFunction | (string & {}) - -export type AppearanceProperty = Globals | Compat | 'button' | 'none' | 'textfield' - -export type BackdropFilterProperty = Globals | 'none' | (string & {}) - -export type BackfaceVisibilityProperty = Globals | 'hidden' | 'visible' - -export type BackgroundProperty = Globals | FinalBgLayer | (string & {}) - -export type BackgroundAttachmentProperty = Globals | Attachment | (string & {}) - -export type BackgroundBlendModeProperty = Globals | BlendMode | (string & {}) - -export type BackgroundClipProperty = Globals | Box | (string & {}) - -export type BackgroundColorProperty = Globals | Color - -export type BackgroundImageProperty = Globals | 'none' | (string & {}) - -export type BackgroundOriginProperty = Globals | Box | (string & {}) - -export type BackgroundPositionProperty = Globals | BgPosition | (string & {}) - -export type BackgroundPositionXProperty = Globals | TLength | 'center' | 'left' | 'right' | 'x-end' | 'x-start' | (string & {}) - -export type BackgroundPositionYProperty = Globals | TLength | 'bottom' | 'center' | 'top' | 'y-end' | 'y-start' | (string & {}) - -export type BackgroundRepeatProperty = Globals | RepeatStyle | (string & {}) - -export type BackgroundSizeProperty = Globals | BgSize | (string & {}) - -export type BlockOverflowProperty = Globals | 'clip' | 'ellipsis' | (string & {}) - -export type BlockSizeProperty = Globals | TLength | '-moz-fit-content' | '-webkit-fill-available' | 'auto' | 'available' | 'fit-content' | 'max-content' | 'min-content' | (string & {}) - -export type BorderProperty = Globals | LineWidth | LineStyle | Color | (string & {}) | [LineWidth, LineStyle, Color] - -export type BorderBlockProperty = Globals | LineWidth | LineStyle | Color | (string & {}) - -export type BorderBlockColorProperty = Globals | Color | (string & {}) - -export type BorderBlockEndProperty = Globals | LineWidth | LineStyle | Color | (string & {}) - -export type BorderBlockEndColorProperty = Globals | Color - -export type BorderBlockEndStyleProperty = Globals | LineStyle - -export type BorderBlockEndWidthProperty = Globals | LineWidth | number | (string & {}) - -export type BorderBlockStartProperty = Globals | LineWidth | LineStyle | Color | (string & {}) - -export type BorderBlockStartColorProperty = Globals | Color - -export type BorderBlockStartStyleProperty = Globals | LineStyle - -export type BorderBlockStartWidthProperty = Globals | LineWidth | number | (string & {}) - -export type BorderBlockStyleProperty = Globals | LineStyle - -export type BorderBlockWidthProperty = Globals | LineWidth | number | (string & {}) - -export type BorderBottomProperty = Globals | LineWidth | LineStyle | Color | (string & {}) - -export type BorderBottomColorProperty = Globals | Color - -export type BorderBottomLeftRadiusProperty = Globals | TLength | number | (string & {}) - -export type BorderBottomRightRadiusProperty = Globals | TLength | number | (string & {}) - -export type BorderBottomStyleProperty = Globals | LineStyle - -export type BorderBottomWidthProperty = Globals | LineWidth | number | (string & {}) - -export type BorderCollapseProperty = Globals | 'collapse' | 'separate' - -export type BorderColorProperty = Globals | Color | (string & {}) - -export type BorderEndEndRadiusProperty = Globals | TLength | number | (string & {}) - -export type BorderEndStartRadiusProperty = Globals | TLength | number | (string & {}) - -export type BorderImageProperty = Globals | 'none' | 'repeat' | 'round' | 'space' | 'stretch' | number | (string & {}) - -export type BorderImageOutsetProperty = Globals | TLength | number | (string & {}) - -export type BorderImageRepeatProperty = Globals | 'repeat' | 'round' | 'space' | 'stretch' | (string & {}) - -export type BorderImageSliceProperty = Globals | number | (string & {}) - -export type BorderImageSourceProperty = Globals | 'none' | (string & {}) - -export type BorderImageWidthProperty = Globals | TLength | 'auto' | number | (string & {}) - -export type BorderInlineProperty = Globals | LineWidth | LineStyle | Color | (string & {}) - -export type BorderInlineColorProperty = Globals | Color | (string & {}) - -export type BorderInlineEndProperty = Globals | LineWidth | LineStyle | Color | number | (string & {}) - -export type BorderInlineEndColorProperty = Globals | Color - -export type BorderInlineEndStyleProperty = Globals | LineStyle - -export type BorderInlineEndWidthProperty = Globals | LineWidth | number | (string & {}) - -export type BorderInlineStartProperty = Globals | LineWidth | LineStyle | Color | number | (string & {}) - -export type BorderInlineStartColorProperty = Globals | Color - -export type BorderInlineStartStyleProperty = Globals | LineStyle - -export type BorderInlineStartWidthProperty = Globals | LineWidth | number | (string & {}) - -export type BorderInlineStyleProperty = Globals | LineStyle - -export type BorderInlineWidthProperty = Globals | LineWidth | number | (string & {}) - -export type BorderLeftProperty = Globals | LineWidth | LineStyle | Color | (string & {}) - -export type BorderLeftColorProperty = Globals | Color - -export type BorderLeftStyleProperty = Globals | LineStyle - -export type BorderLeftWidthProperty = Globals | LineWidth | number | (string & {}) - -export type BorderRadiusProperty = Globals | TLength | number | (string & {}) - -export type BorderRightProperty = Globals | LineWidth | LineStyle | Color | number | (string & {}) - -export type BorderRightColorProperty = Globals | Color - -export type BorderRightStyleProperty = Globals | LineStyle - -export type BorderRightWidthProperty = Globals | LineWidth | number | (string & {}) - -export type BorderSpacingProperty = Globals | TLength | number | (string & {}) - -export type BorderStartEndRadiusProperty = Globals | TLength | number | (string & {}) - -export type BorderStartStartRadiusProperty = Globals | TLength | number | (string & {}) - -export type BorderStyleProperty = Globals | LineStyle | (string & {}) - -export type BorderTopProperty = Globals | LineWidth | LineStyle | Color | number | (string & {}) - -export type BorderTopColorProperty = Globals | Color - -export type BorderTopLeftRadiusProperty = Globals | TLength | number | (string & {}) - -export type BorderTopRightRadiusProperty = Globals | TLength | number | (string & {}) - -export type BorderTopStyleProperty = Globals | LineStyle - -export type BorderTopWidthProperty = Globals | LineWidth | number | (string & {}) - -export type BorderWidthProperty = Globals | LineWidth | number | (string & {}) - -export type BottomProperty = Globals | TLength | 'auto' | number | (string & {}) - -export type BoxAlignProperty = Globals | 'baseline' | 'center' | 'end' | 'start' | 'stretch' - -export type BoxDecorationBreakProperty = Globals | 'clone' | 'slice' - -export type BoxDirectionProperty = Globals | 'inherit' | 'normal' | 'reverse' - -export type BoxLinesProperty = Globals | 'multiple' | 'single' - -export type BoxOrientProperty = Globals | 'block-axis' | 'horizontal' | 'inherit' | 'inline-axis' | 'vertical' - -export type BoxPackProperty = Globals | 'center' | 'end' | 'justify' | 'start' - -export type BoxShadowProperty = Globals | 'none' | (string & {}) - -export type BoxSizingProperty = Globals | 'border-box' | 'content-box' - -export type BreakAfterProperty = Globals | 'all' | 'always' | 'auto' | 'avoid' | 'avoid-column' | 'avoid-page' | 'avoid-region' | 'column' | 'left' | 'page' | 'recto' | 'region' | 'right' | 'verso' - -export type BreakBeforeProperty = Globals | 'all' | 'always' | 'auto' | 'avoid' | 'avoid-column' | 'avoid-page' | 'avoid-region' | 'column' | 'left' | 'page' | 'recto' | 'region' | 'right' | 'verso' - -export type BreakInsideProperty = Globals | 'auto' | 'avoid' | 'avoid-column' | 'avoid-page' | 'avoid-region' - -export type CaptionSideProperty = Globals | 'block-end' | 'block-start' | 'bottom' | 'inline-end' | 'inline-start' | 'top' - -export type CaretColorProperty = Globals | Color | 'auto' - -export type ClearProperty = Globals | 'both' | 'inline-end' | 'inline-start' | 'left' | 'none' | 'right' - -export type ClipProperty = Globals | 'auto' | (string & {}) - -export type ClipPathProperty = Globals | GeometryBox | 'none' | (string & {}) - -export type ColorProperty = Globals | Color - -export type ColorAdjustProperty = Globals | 'economy' | 'exact' - -export type ColumnCountProperty = Globals | 'auto' | number - -export type ColumnFillProperty = Globals | 'auto' | 'balance' | 'balance-all' - -export type ColumnGapProperty = Globals | TLength | 'normal' | (string & {}) - -export type ColumnRuleProperty = Globals | LineWidth | LineStyle | Color | (string & {}) - -export type ColumnRuleColorProperty = Globals | Color - -export type ColumnRuleStyleProperty = Globals | LineStyle | (string & {}) - -export type ColumnRuleWidthProperty = Globals | LineWidth | (string & {}) - -export type ColumnSpanProperty = Globals | 'all' | 'none' - -export type ColumnWidthProperty = Globals | TLength | 'auto' - -export type ColumnsProperty = Globals | TLength | 'auto' | (string & {}) | number - -export type ContainProperty = Globals | 'content' | 'layout' | 'none' | 'paint' | 'size' | 'strict' | 'style' | (string & {}) - -export type ContentProperty = Globals | ContentList | `""` | 'none' | 'normal' | (string & {}) - -export type CounterIncrementProperty = Globals | 'none' | (string & {}) - -export type CounterResetProperty = Globals | 'none' | (string & {}) - -export type CounterSetProperty = Globals | 'none' | (string & {}) - -export type CursorProperty = - | Globals - | 'alias' - | 'all-scroll' - | 'auto' - | 'cell' - | 'col-resize' - | 'context-menu' - | 'copy' - | 'crosshair' - | 'default' - | 'e-resize' - | 'ew-resize' - | 'grab' - | 'grabbing' - | 'help' - | 'move' - | 'n-resize' - | 'ne-resize' - | 'nesw-resize' - | 'no-drop' - | 'none' - | 'not-allowed' - | 'ns-resize' - | 'nw-resize' - | 'nwse-resize' - | 'pointer' - | 'progress' - | 'row-resize' - | 's-resize' - | 'se-resize' - | 'sw-resize' - | 'text' - | 'vertical-text' - | 'w-resize' - | 'wait' - | 'zoom-in' - | 'zoom-out' - | (string & {}) - -export type DirectionProperty = Globals | 'ltr' | 'rtl' - -export type DisplayProperty = Globals | DisplayOutside | DisplayInside | DisplayInternal | DisplayLegacy | 'contents' | 'list-item' | 'none' | (string & {}) - -export type EmptyCellsProperty = Globals | 'hide' | 'show' - -export type FilterProperty = Globals | 'none' | (string & {}) - -export type FlexProperty = Globals | TLength | 'auto' | 'available' | 'content' | 'fit-content' | 'max-content' | 'min-content' | 'none' | (string & {}) | number | [number, number | (string & {})] | [number, number, string & {}] - -export type FlexBasisProperty = Globals | TLength | 'auto' | 'available' | 'content' | 'fit-content' | 'max-content' | 'min-content' | number | (string & {}) - -export type FlexDirectionProperty = Globals | 'column' | 'column-reverse' | 'row' | 'row-reverse' - -export type FlexFlowProperty = Globals | 'column' | 'column-reverse' | 'nowrap' | 'row' | 'row-reverse' | 'wrap' | 'wrap-reverse' | (string & {}) - -export type FlexWrapProperty = Globals | 'nowrap' | 'wrap' | 'wrap-reverse' - -export type FloatProperty = Globals | 'inline-end' | 'inline-start' | 'left' | 'none' | 'right' - -export type FontProperty = Globals | 'caption' | 'icon' | 'menu' | 'message-box' | 'small-caption' | 'status-bar' | (string & {}) - -export type FontFamilyProperty = Globals | GenericFamily | (string & {}) - -export type FontFeatureSettingsProperty = Globals | 'normal' | (string & {}) - -export type FontKerningProperty = Globals | 'auto' | 'none' | 'normal' - -export type FontLanguageOverrideProperty = Globals | 'normal' | (string & {}) - -export type FontOpticalSizingProperty = Globals | 'auto' | 'none' - -export type FontSizeProperty = Globals | AbsoluteSize | TLength | 'larger' | 'smaller' | number | (string & {}) - -export type FontSizeAdjustProperty = Globals | 'none' | number - -export type FontStretchProperty = Globals | FontStretchAbsolute - -export type FontStyleProperty = Globals | 'italic' | 'normal' | 'oblique' | (string & {}) - -export type FontSynthesisProperty = Globals | 'none' | 'style' | 'weight' | (string & {}) - -export type FontVariantProperty = - | Globals - | EastAsianVariantValues - | 'all-petite-caps' - | 'all-small-caps' - | 'common-ligatures' - | 'contextual' - | 'diagonal-fractions' - | 'discretionary-ligatures' - | 'full-width' - | 'historical-forms' - | 'historical-ligatures' - | 'lining-nums' - | 'no-common-ligatures' - | 'no-contextual' - | 'no-discretionary-ligatures' - | 'no-historical-ligatures' - | 'none' - | 'normal' - | 'oldstyle-nums' - | 'ordinal' - | 'petite-caps' - | 'proportional-nums' - | 'proportional-width' - | 'ruby' - | 'slashed-zero' - | 'small-caps' - | 'stacked-fractions' - | 'tabular-nums' - | 'titling-caps' - | 'unicase' - | (string & {}) - -export type FontVariantAlternatesProperty = Globals | 'historical-forms' | 'normal' | (string & {}) - -export type FontVariantCapsProperty = Globals | 'all-petite-caps' | 'all-small-caps' | 'normal' | 'petite-caps' | 'small-caps' | 'titling-caps' | 'unicase' - -export type FontVariantEastAsianProperty = Globals | EastAsianVariantValues | 'full-width' | 'normal' | 'proportional-width' | 'ruby' | (string & {}) - -export type FontVariantLigaturesProperty = - | Globals - | 'common-ligatures' - | 'contextual' - | 'discretionary-ligatures' - | 'historical-ligatures' - | 'no-common-ligatures' - | 'no-contextual' - | 'no-discretionary-ligatures' - | 'no-historical-ligatures' - | 'none' - | 'normal' - | (string & {}) - -export type FontVariantNumericProperty = Globals | 'diagonal-fractions' | 'lining-nums' | 'normal' | 'oldstyle-nums' | 'ordinal' | 'proportional-nums' | 'slashed-zero' | 'stacked-fractions' | 'tabular-nums' | (string & {}) - -export type FontVariantPositionProperty = Globals | 'normal' | 'sub' | 'super' - -export type FontVariationSettingsProperty = Globals | 'normal' | (string & {}) - -export type FontWeightProperty = Globals | FontWeightAbsolute | 'bolder' | 'lighter' | (string & {}) - -export type GapProperty = Globals | TLength | 'normal' | number | (string & {}) - -export type GridProperty = Globals | 'none' | (string & {}) - -export type GridAreaProperty = Globals | GridLine | (string & {}) - -export type GridAutoColumnsProperty = Globals | TrackBreadth | (string & {}) - -export type GridAutoFlowProperty = Globals | 'column' | 'dense' | 'row' | (string & {}) - -export type GridAutoRowsProperty = Globals | TrackBreadth | (string & {}) - -export type GridColumnProperty = Globals | GridLine | (string & {}) - -export type GridColumnEndProperty = Globals | GridLine - -export type GridColumnGapProperty = Globals | TLength | number | (string & {}) - -export type GridColumnStartProperty = Globals | GridLine - -export type GridGapProperty = Globals | TLength | number | (string & {}) - -export type GridRowProperty = Globals | GridLine | (string & {}) - -export type GridRowEndProperty = Globals | GridLine - -export type GridRowGapProperty = Globals | TLength | number | (string & {}) - -export type GridRowStartProperty = Globals | GridLine - -export type GridTemplateProperty = Globals | 'none' | (string & {}) - -export type GridTemplateAreasProperty = Globals | 'none' | (string & {}) - -export type GridTemplateColumnsProperty = Globals | TrackBreadth | 'none' | 'subgrid' | (string & {}) - -export type GridTemplateRowsProperty = Globals | TrackBreadth | 'none' | 'subgrid' | (string & {}) - -export type HangingPunctuationProperty = Globals | 'allow-end' | 'first' | 'force-end' | 'last' | 'none' | (string & {}) - -export type HeightProperty = Globals | TLength | 'auto' | 'available' | 'fit-content' | 'max-content' | 'min-content' | number | (string & {}) - -export type HyphensProperty = Globals | 'auto' | 'manual' | 'none' - -export type ImageOrientationProperty = Globals | 'flip' | 'from-image' | (string & {}) - -export type ImageRenderingProperty = Globals | '-moz-crisp-edges' | '-webkit-optimize-contrast' | 'auto' | 'crisp-edges' | 'pixelated' - -export type ImageResolutionProperty = Globals | 'from-image' | (string & {}) - -export type ImeModeProperty = Globals | 'active' | 'auto' | 'disabled' | 'inactive' | 'normal' - -export type InitialLetterProperty = Globals | 'normal' | (string & {}) | number - -export type InlineSizeProperty = Globals | TLength | '-moz-fit-content' | '-webkit-fill-available' | 'auto' | 'available' | 'fit-content' | 'max-content' | 'min-content' | (string & {}) - -export type InsetProperty = Globals | TLength | 'auto' | (string & {}) - -export type InsetBlockProperty = Globals | TLength | 'auto' | (string & {}) - -export type InsetBlockEndProperty = Globals | TLength | 'auto' | (string & {}) - -export type InsetBlockStartProperty = Globals | TLength | 'auto' | (string & {}) - -export type InsetInlineProperty = Globals | TLength | 'auto' | (string & {}) - -export type InsetInlineEndProperty = Globals | TLength | 'auto' | (string & {}) - -export type InsetInlineStartProperty = Globals | TLength | 'auto' | (string & {}) - -export type IsolationProperty = Globals | 'auto' | 'isolate' - -export type JustifyContentProperty = Globals | ContentDistribution | ContentPosition | 'left' | 'normal' | 'right' | (string & {}) - -export type JustifyItemsProperty = Globals | SelfPosition | 'baseline' | 'left' | 'legacy' | 'normal' | 'right' | 'stretch' | (string & {}) - -export type JustifySelfProperty = Globals | SelfPosition | 'auto' | 'baseline' | 'left' | 'normal' | 'right' | 'stretch' | (string & {}) - -export type LeftProperty = Globals | TLength | 'auto' | number | (string & {}) - -export type LetterSpacingProperty = Globals | TLength | 'normal' | number | (string & {}) - -export type LineBreakProperty = Globals | 'anywhere' | 'auto' | 'loose' | 'normal' | 'strict' - -export type LineClampProperty = Globals | 'none' | number | (string & {}) - -export type LineHeightProperty = Globals | TLength | 'normal' | number | (string & {}) - -export type LineHeightStepProperty = Globals | TLength - -export type ListStyleProperty = Globals | 'inside' | 'none' | 'outside' | (string & {}) - -export type ListStyleImageProperty = Globals | 'none' | (string & {}) - -export type ListStylePositionProperty = Globals | 'inside' | 'outside' - -export type ListStyleTypeProperty = Globals | 'none' | (string & {}) - -export type MarginProperty = - | Globals - | TLength - | 'auto' - | number - | (string & {}) - | [Globals | TLength | 'auto' | number | (string & {}), Globals | TLength | 'auto' | number | (string & {})] - | [Globals | TLength | 'auto' | number | (string & {}), Globals | TLength | 'auto' | number | (string & {}), Globals | TLength | 'auto' | number | (string & {})] - | [Globals | TLength | 'auto' | number | (string & {}), Globals | TLength | 'auto' | number | (string & {}), Globals | TLength | 'auto' | number | (string & {}), Globals | TLength | 'auto' | number | (string & {})] - -export type MarginBlockProperty = Globals | TLength | 'auto' | number | (string & {}) - -export type MarginBlockEndProperty = Globals | TLength | 'auto' | number | (string & {}) - -export type MarginBlockStartProperty = Globals | TLength | 'auto' | number | (string & {}) - -export type MarginBottomProperty = Globals | TLength | 'auto' | number | (string & {}) - -export type MarginInlineProperty = Globals | TLength | 'auto' | number | (string & {}) - -export type MarginInlineEndProperty = Globals | TLength | 'auto' | number | (string & {}) - -export type MarginInlineStartProperty = Globals | TLength | 'auto' | number | (string & {}) - -export type MarginLeftProperty = Globals | TLength | 'auto' | number | (string & {}) - -export type MarginRightProperty = Globals | TLength | 'auto' | number | (string & {}) - -export type MarginTopProperty = Globals | TLength | 'auto' | number | (string & {}) - -export type MaskProperty = Globals | MaskLayer | (string & {}) - -export type MaskBorderProperty = Globals | 'alpha' | 'luminance' | 'none' | 'repeat' | 'round' | 'space' | 'stretch' | (string & {}) | number - -export type MaskBorderModeProperty = Globals | 'alpha' | 'luminance' - -export type MaskBorderOutsetProperty = Globals | TLength | (string & {}) | number - -export type MaskBorderRepeatProperty = Globals | 'repeat' | 'round' | 'space' | 'stretch' | (string & {}) - -export type MaskBorderSliceProperty = Globals | (string & {}) | number - -export type MaskBorderSourceProperty = Globals | 'none' | (string & {}) - -export type MaskBorderWidthProperty = Globals | TLength | 'auto' | (string & {}) | number - -export type MaskClipProperty = Globals | GeometryBox | 'no-clip' | (string & {}) - -export type MaskCompositeProperty = Globals | CompositingOperator | (string & {}) - -export type MaskImageProperty = Globals | 'none' | (string & {}) - -export type MaskModeProperty = Globals | MaskingMode | (string & {}) - -export type MaskOriginProperty = Globals | Box | 'margin-box' | (string & {}) - -export type MaskPositionProperty = Globals | Position | (string & {}) - -export type MaskRepeatProperty = Globals | RepeatStyle | (string & {}) - -export type MaskSizeProperty = Globals | BgSize | (string & {}) - -export type MaskTypeProperty = Globals | 'alpha' | 'luminance' - -export type MaxBlockSizeProperty = Globals | TLength | '-moz-fit-content' | '-webkit-fill-available' | 'fill-available' | 'fit-content' | 'max-content' | 'min-content' | 'none' | number | (string & {}) - -export type MaxHeightProperty = Globals | TLength | '-moz-fit-content' | '-webkit-fill-available' | 'fill-available' | 'fit-content' | 'intrinsic' | 'max-content' | 'min-content' | 'none' | number | (string & {}) - -export type MaxInlineSizeProperty = Globals | TLength | '-moz-fit-content' | '-webkit-fill-available' | 'fill-available' | 'fit-content' | 'max-content' | 'min-content' | 'none' | number | (string & {}) - -export type MaxLinesProperty = Globals | 'none' | number - -export type MaxWidthProperty = Globals | TLength | '-moz-fit-content' | '-webkit-fill-available' | 'fill-available' | 'fit-content' | 'intrinsic' | 'max-content' | 'min-content' | 'none' | number | (string & {}) - -export type MinBlockSizeProperty = Globals | TLength | '-moz-fit-content' | '-webkit-fill-available' | 'auto' | 'fill-available' | 'fit-content' | 'max-content' | 'min-content' | number | (string & {}) - -export type MinHeightProperty = Globals | TLength | '-moz-fit-content' | '-webkit-fill-available' | 'auto' | 'fill-available' | 'fit-content' | 'intrinsic' | 'max-content' | 'min-content' | number | (string & {}) - -export type MinInlineSizeProperty = Globals | TLength | '-moz-fit-content' | '-webkit-fill-available' | 'auto' | 'fill-available' | 'fit-content' | 'max-content' | 'min-content' | number | (string & {}) - -export type MinWidthProperty = Globals | TLength | '-moz-fit-content' | '-webkit-fill-available' | 'auto' | 'fill-available' | 'fit-content' | 'intrinsic' | 'max-content' | 'min-content' | 'min-intrinsic' | number | (string & {}) - -export type MixBlendModeProperty = Globals | BlendMode - -export type OffsetProperty = Globals | Position | GeometryBox | 'auto' | 'none' | number | (string & {}) - -export type OffsetDistanceProperty = Globals | TLength | number | (string & {}) - -export type OffsetPathProperty = Globals | GeometryBox | 'none' | (string & {}) - -export type OffsetRotateProperty = Globals | 'auto' | 'reverse' | (string & {}) - -export type ObjectFitProperty = Globals | 'contain' | 'cover' | 'fill' | 'none' | 'scale-down' - -export type ObjectPositionProperty = Globals | Position - -export type OffsetAnchorProperty = Globals | Position | 'auto' - -export type OffsetPositionProperty = Globals | Position | 'auto' - -export type OpacityProperty = Globals | (string & {}) | number - -export type OutlineProperty = Globals | Color | LineStyle | LineWidth | 'auto' | 'invert' | (string & {}) - -export type OutlineColorProperty = Globals | Color | 'invert' - -export type OutlineOffsetProperty = Globals | TLength - -export type OutlineStyleProperty = Globals | LineStyle | 'auto' | (string & {}) - -export type OutlineWidthProperty = Globals | LineWidth - -export type OverflowProperty = Globals | 'auto' | 'clip' | 'hidden' | 'scroll' | 'visible' | (string & {}) - -export type OverflowAnchorProperty = Globals | 'auto' | 'none' - -export type OverflowBlockProperty = Globals | 'auto' | 'clip' | 'hidden' | 'scroll' | 'visible' - -export type OverflowClipBoxProperty = Globals | 'content-box' | 'padding-box' - -export type OverflowInlineProperty = Globals | 'auto' | 'clip' | 'hidden' | 'scroll' | 'visible' - -export type OverflowWrapProperty = Globals | 'anywhere' | 'break-word' | 'normal' - -export type OverflowXProperty = Globals | 'auto' | 'clip' | 'hidden' | 'scroll' | 'visible' - -export type OverflowYProperty = Globals | 'auto' | 'clip' | 'hidden' | 'scroll' | 'visible' - -export type OverscrollBehaviorProperty = Globals | 'auto' | 'contain' | 'none' | (string & {}) - -export type OverscrollBehaviorXProperty = Globals | 'auto' | 'contain' | 'none' - -export type OverscrollBehaviorYProperty = Globals | 'auto' | 'contain' | 'none' - -export type PaddingProperty = - | Globals - | TLength - | number - | (string & {}) - | [Globals | TLength | number | (string & {}), Globals | TLength | number | (string & {})] - | [Globals | TLength | number | (string & {}), Globals | TLength | number | (string & {}), Globals | TLength | number | (string & {})] - | [Globals | TLength | number | (string & {}), Globals | TLength | number | (string & {}), Globals | TLength | number | (string & {}), Globals | TLength | number | (string & {})] - -export type PaddingBlockProperty = Globals | TLength | number | (string & {}) - -export type PaddingBlockEndProperty = Globals | TLength | number | (string & {}) - -export type PaddingBlockStartProperty = Globals | TLength | number | (string & {}) - -export type PaddingBottomProperty = Globals | TLength | number | (string & {}) - -export type PaddingInlineProperty = Globals | TLength | number | (string & {}) - -export type PaddingInlineEndProperty = Globals | TLength | number | (string & {}) - -export type PaddingInlineStartProperty = Globals | TLength | number | (string & {}) - -export type PaddingLeftProperty = Globals | TLength | number | (string & {}) - -export type PaddingRightProperty = Globals | TLength | number | (string & {}) - -export type PaddingTopProperty = Globals | TLength | number | (string & {}) - -export type PageBreakAfterProperty = Globals | 'always' | 'auto' | 'avoid' | 'left' | 'recto' | 'right' | 'verso' - -export type PageBreakBeforeProperty = Globals | 'always' | 'auto' | 'avoid' | 'left' | 'recto' | 'right' | 'verso' - -export type PageBreakInsideProperty = Globals | 'auto' | 'avoid' - -export type PaintOrderProperty = Globals | 'fill' | 'markers' | 'normal' | 'stroke' | (string & {}) - -export type PerspectiveProperty = Globals | TLength | 'none' - -export type PerspectiveOriginProperty = Globals | Position - -export type PlaceContentProperty = Globals | ContentDistribution | ContentPosition | 'baseline' | 'normal' | (string & {}) - -export type PlaceItemsProperty = Globals | SelfPosition | 'baseline' | 'normal' | 'stretch' | (string & {}) - -export type PlaceSelfProperty = Globals | SelfPosition | 'auto' | 'baseline' | 'normal' | 'stretch' | (string & {}) - -export type PointerEventsProperty = Globals | 'all' | 'auto' | 'fill' | 'inherit' | 'none' | 'painted' | 'stroke' | 'visible' | 'visibleFill' | 'visiblePainted' | 'visibleStroke' - -export type PositionProperty = Globals | 'absolute' | 'fixed' | 'relative' | 'static' | 'sticky' - -export type QuotesProperty = Globals | 'auto' | 'none' | (string & {}) - -export type ResizeProperty = Globals | 'block' | 'both' | 'horizontal' | 'inline' | 'none' | 'vertical' - -export type RightProperty = Globals | TLength | 'auto' | number | (string & {}) - -export type RotateProperty = Globals | 'none' | (string & {}) - -export type RowGapProperty = Globals | TLength | 'normal' | (string & {}) - -export type RubyAlignProperty = Globals | 'center' | 'space-around' | 'space-between' | 'start' - -export type RubyMergeProperty = Globals | 'auto' | 'collapse' | 'separate' - -export type RubyPositionProperty = Globals | 'over' | 'under' - -export type ScaleProperty = Globals | 'none' | (string & {}) | number - -export type ScrollBehaviorProperty = Globals | 'auto' | 'smooth' - -export type ScrollMarginProperty = Globals | TLength | (string & {}) - -export type ScrollMarginBlockProperty = Globals | TLength | (string & {}) - -export type ScrollMarginBlockEndProperty = Globals | TLength - -export type ScrollMarginBlockStartProperty = Globals | TLength - -export type ScrollMarginBottomProperty = Globals | TLength - -export type ScrollMarginInlineProperty = Globals | TLength | (string & {}) - -export type ScrollMarginInlineEndProperty = Globals | TLength - -export type ScrollMarginInlineStartProperty = Globals | TLength - -export type ScrollMarginLeftProperty = Globals | TLength - -export type ScrollMarginRightProperty = Globals | TLength - -export type ScrollMarginTopProperty = Globals | TLength - -export type ScrollPaddingProperty = Globals | TLength | 'auto' | (string & {}) - -export type ScrollPaddingBlockProperty = Globals | TLength | 'auto' | (string & {}) - -export type ScrollPaddingBlockEndProperty = Globals | TLength | 'auto' | (string & {}) - -export type ScrollPaddingBlockStartProperty = Globals | TLength | 'auto' | (string & {}) - -export type ScrollPaddingBottomProperty = Globals | TLength | 'auto' | (string & {}) - -export type ScrollPaddingInlineProperty = Globals | TLength | 'auto' | (string & {}) - -export type ScrollPaddingInlineEndProperty = Globals | TLength | 'auto' | (string & {}) - -export type ScrollPaddingInlineStartProperty = Globals | TLength | 'auto' | (string & {}) - -export type ScrollPaddingLeftProperty = Globals | TLength | 'auto' | (string & {}) - -export type ScrollPaddingRightProperty = Globals | TLength | 'auto' | (string & {}) - -export type ScrollPaddingTopProperty = Globals | TLength | 'auto' | (string & {}) - -export type ScrollSnapAlignProperty = Globals | 'center' | 'end' | 'none' | 'start' | (string & {}) - -export type ScrollSnapCoordinateProperty = Globals | Position | 'none' | (string & {}) - -export type ScrollSnapDestinationProperty = Globals | Position - -export type ScrollSnapPointsXProperty = Globals | 'none' | (string & {}) - -export type ScrollSnapPointsYProperty = Globals | 'none' | (string & {}) - -export type ScrollSnapStopProperty = Globals | 'always' | 'normal' - -export type ScrollSnapTypeProperty = Globals | 'block' | 'both' | 'inline' | 'none' | 'x' | 'y' | (string & {}) - -export type ScrollSnapTypeXProperty = Globals | 'mandatory' | 'none' | 'proximity' - -export type ScrollSnapTypeYProperty = Globals | 'mandatory' | 'none' | 'proximity' - -export type ScrollbarColorProperty = Globals | Color | 'auto' | 'dark' | 'light' - -export type ScrollbarWidthProperty = Globals | 'auto' | 'none' | 'thin' - -export type ShapeImageThresholdProperty = Globals | (string & {}) | number - -export type ShapeMarginProperty = Globals | TLength | (string & {}) - -export type ShapeOutsideProperty = Globals | Box | 'margin-box' | 'none' | (string & {}) - -export type TabSizeProperty = Globals | TLength | number - -export type TableLayoutProperty = Globals | 'auto' | 'fixed' - -export type TextAlignProperty = Globals | 'center' | 'end' | 'justify' | 'left' | 'match-parent' | 'right' | 'start' - -export type TextAlignLastProperty = Globals | 'auto' | 'center' | 'end' | 'justify' | 'left' | 'right' | 'start' - -export type TextCombineUprightProperty = Globals | 'all' | 'digits' | 'none' | (string & {}) - -export type TextDecorationProperty = - | Globals - | Color - | TLength - | 'auto' - | 'blink' - | 'dashed' - | 'dotted' - | 'double' - | 'from-font' - | 'grammar-error' - | 'line-through' - | 'none' - | 'overline' - | 'solid' - | 'spelling-error' - | 'underline' - | 'wavy' - | (string & {}) - -export type TextDecorationColorProperty = Globals | Color - -export type TextDecorationLineProperty = Globals | 'blink' | 'grammar-error' | 'line-through' | 'none' | 'overline' | 'spelling-error' | 'underline' | (string & {}) - -export type TextDecorationSkipProperty = Globals | 'box-decoration' | 'edges' | 'leading-spaces' | 'none' | 'objects' | 'spaces' | 'trailing-spaces' | (string & {}) - -export type TextDecorationSkipInkProperty = Globals | 'auto' | 'none' - -export type TextDecorationStyleProperty = Globals | 'dashed' | 'dotted' | 'double' | 'solid' | 'wavy' - -export type TextDecorationThicknessProperty = Globals | TLength | 'auto' | 'from-font' - -export type TextEmphasisProperty = Globals | Color | 'circle' | 'dot' | 'double-circle' | 'filled' | 'none' | 'open' | 'sesame' | 'triangle' | (string & {}) - -export type TextEmphasisColorProperty = Globals | Color - -export type TextEmphasisStyleProperty = Globals | 'circle' | 'dot' | 'double-circle' | 'filled' | 'none' | 'open' | 'sesame' | 'triangle' | (string & {}) - -export type TextIndentProperty = Globals | TLength | number | (string & {}) - -export type TextJustifyProperty = Globals | 'auto' | 'inter-character' | 'inter-word' | 'none' - -export type TextOrientationProperty = Globals | 'mixed' | 'sideways' | 'upright' - -export type TextOverflowProperty = Globals | 'clip' | 'ellipsis' | (string & {}) - -export type TextRenderingProperty = Globals | 'auto' | 'geometricPrecision' | 'optimizeLegibility' | 'optimizeSpeed' - -export type TextShadowProperty = Globals | 'none' | (string & {}) - -export type TextSizeAdjustProperty = Globals | 'auto' | 'none' | (string & {}) - -export type TextTransformProperty = Globals | 'capitalize' | 'full-size-kana' | 'full-width' | 'lowercase' | 'none' | 'uppercase' - -export type TextUnderlineOffsetProperty = Globals | TLength | 'auto' | 'from-font' - -export type TextUnderlinePositionProperty = Globals | 'auto' | 'left' | 'right' | 'under' | (string & {}) - -export type TopProperty = Globals | TLength | 'auto' | number | (string & {}) - -export type TouchActionProperty = Globals | '-ms-manipulation' | '-ms-none' | '-ms-pinch-zoom' | 'auto' | 'manipulation' | 'none' | 'pan-down' | 'pan-left' | 'pan-right' | 'pan-up' | 'pan-x' | 'pan-y' | 'pinch-zoom' | (string & {}) - -export type TransformProperty = Globals | 'none' | (string & {}) - -export type TransformBoxProperty = Globals | 'border-box' | 'fill-box' | 'view-box' - -export type TransformOriginProperty = Globals | TLength | 'bottom' | 'center' | 'left' | 'right' | 'top' | (string & {}) - -export type TransformStyleProperty = Globals | 'flat' | 'preserve-3d' - -export type TransitionProperty = Globals | SingleTransition | (string & {}) - -export type TransitionPropertyProperty = Globals | 'all' | 'none' | (string & {}) - -export type TransitionTimingFunctionProperty = Globals | TimingFunction | (string & {}) - -export type TranslateProperty = Globals | TLength | 'none' | (string & {}) - -export type UnicodeBidiProperty = Globals | '-moz-isolate' | '-moz-isolate-override' | '-moz-plaintext' | '-webkit-isolate' | 'bidi-override' | 'embed' | 'isolate' | 'isolate-override' | 'normal' | 'plaintext' - -export type UserSelectProperty = Globals | 'all' | 'auto' | 'contain' | 'element' | 'none' | 'text' - -export type VerticalAlignProperty = Globals | TLength | 'baseline' | 'bottom' | 'middle' | 'sub' | 'super' | 'text-bottom' | 'text-top' | 'top' | (string & {}) - -export type VisibilityProperty = Globals | 'collapse' | 'hidden' | 'visible' - -export type WhiteSpaceProperty = Globals | 'break-spaces' | 'normal' | 'nowrap' | 'pre' | 'pre-line' | 'pre-wrap' - -export type WidthProperty = Globals | TLength | '-moz-fit-content' | '-webkit-fill-available' | 'auto' | 'available' | 'fit-content' | 'intrinsic' | 'max-content' | 'min-content' | 'min-intrinsic' | number | (string & {}) - -export type WillChangeProperty = Globals | AnimateableFeature | 'auto' | (string & {}) - -export type WordBreakProperty = Globals | 'break-all' | 'break-word' | 'keep-all' | 'normal' - -export type WordSpacingProperty = Globals | TLength | 'normal' | (string & {}) - -export type WordWrapProperty = Globals | 'break-word' | 'normal' - -export type WritingModeProperty = Globals | 'horizontal-tb' | 'sideways-lr' | 'sideways-rl' | 'vertical-lr' | 'vertical-rl' - -export type ZIndexProperty = Globals | 'auto' | number | (string & {}) - -export type ZoomProperty = Globals | 'normal' | 'reset' | (string & {}) | number - -export type MozFloatEdgeProperty = Globals | 'border-box' | 'content-box' | 'margin-box' | 'padding-box' - -export type MozOrientProperty = Globals | 'block' | 'horizontal' | 'inline' | 'vertical' - -export type MozOutlineRadiusBottomleftProperty = Globals | TLength | (string & {}) - -export type MozOutlineRadiusBottomrightProperty = Globals | TLength | (string & {}) - -export type MozOutlineRadiusTopleftProperty = Globals | TLength | (string & {}) - -export type MozOutlineRadiusToprightProperty = Globals | TLength | (string & {}) - -export type MozUserFocusProperty = Globals | 'ignore' | 'none' | 'normal' | 'select-after' | 'select-all' | 'select-before' | 'select-menu' | 'select-same' - -export type MozUserModifyProperty = Globals | 'read-only' | 'read-write' | 'write-only' - -export type WebkitAppearanceProperty = - | Globals - | 'button' - | 'button-bevel' - | 'caret' - | 'checkbox' - | 'default-button' - | 'inner-spin-button' - | 'listbox' - | 'listitem' - | 'media-controls-background' - | 'media-controls-fullscreen-background' - | 'media-current-time-display' - | 'media-enter-fullscreen-button' - | 'media-exit-fullscreen-button' - | 'media-fullscreen-button' - | 'media-mute-button' - | 'media-overlay-play-button' - | 'media-play-button' - | 'media-seek-back-button' - | 'media-seek-forward-button' - | 'media-slider' - | 'media-sliderthumb' - | 'media-time-remaining-display' - | 'media-toggle-closed-captions-button' - | 'media-volume-slider' - | 'media-volume-slider-container' - | 'media-volume-sliderthumb' - | 'menulist' - | 'menulist-button' - | 'menulist-text' - | 'menulist-textfield' - | 'meter' - | 'none' - | 'progress-bar' - | 'progress-bar-value' - | 'push-button' - | 'radio' - | 'searchfield' - | 'searchfield-cancel-button' - | 'searchfield-decoration' - | 'searchfield-results-button' - | 'searchfield-results-decoration' - | 'slider-horizontal' - | 'slider-vertical' - | 'sliderthumb-horizontal' - | 'sliderthumb-vertical' - | 'square-button' - | 'textarea' - | 'textfield' - -export type WebkitBoxReflectProperty = Globals | TLength | 'above' | 'below' | 'left' | 'right' | (string & {}) - -export type WebkitLineClampProperty = Globals | 'none' | number | (string & {}) - -export type WebkitMaskProperty = Globals | Position | RepeatStyle | Box | 'border' | 'content' | 'none' | 'padding' | 'text' | (string & {}) - -export type WebkitMaskAttachmentProperty = Globals | Attachment | (string & {}) - -export type WebkitMaskClipProperty = Globals | Box | 'border' | 'content' | 'padding' | 'text' | (string & {}) - -export type WebkitMaskCompositeProperty = Globals | CompositeStyle | (string & {}) - -export type WebkitMaskImageProperty = Globals | 'none' | (string & {}) - -export type WebkitMaskOriginProperty = Globals | Box | 'border' | 'content' | 'padding' | (string & {}) - -export type WebkitMaskPositionProperty = Globals | Position | (string & {}) - -export type WebkitMaskPositionXProperty = Globals | TLength | 'center' | 'left' | 'right' | (string & {}) - -export type WebkitMaskPositionYProperty = Globals | TLength | 'bottom' | 'center' | 'top' | (string & {}) - -export type WebkitMaskRepeatProperty = Globals | RepeatStyle | (string & {}) - -export type WebkitMaskRepeatXProperty = Globals | 'no-repeat' | 'repeat' | 'round' | 'space' - -export type WebkitMaskRepeatYProperty = Globals | 'no-repeat' | 'repeat' | 'round' | 'space' - -export type WebkitMaskSizeProperty = Globals | BgSize | (string & {}) - -export type WebkitOverflowScrollingProperty = Globals | 'auto' | 'touch' - -export type WebkitTapHighlightColorProperty = Globals | Color - -export type WebkitTextFillColorProperty = Globals | Color - -export type WebkitTextStrokeProperty = Globals | Color | TLength | (string & {}) - -export type WebkitTextStrokeColorProperty = Globals | Color - -export type WebkitTextStrokeWidthProperty = Globals | TLength - -export type WebkitTouchCalloutProperty = Globals | 'default' | 'none' - -export type WebkitUserModifyProperty = Globals | 'read-only' | 'read-write' | 'read-write-plaintext-only' - -export type AlignmentBaselineProperty = Globals | 'after-edge' | 'alphabetic' | 'auto' | 'baseline' | 'before-edge' | 'central' | 'hanging' | 'ideographic' | 'mathematical' | 'middle' | 'text-after-edge' | 'text-before-edge' - -export type BaselineShiftProperty = Globals | TLength | 'baseline' | 'sub' | 'super' | (string & {}) - -export type ClipRuleProperty = Globals | 'evenodd' | 'nonzero' - -export type ColorInterpolationProperty = Globals | 'auto' | 'linearRGB' | 'sRGB' - -export type ColorRenderingProperty = Globals | 'auto' | 'optimizeQuality' | 'optimizeSpeed' - -export type DominantBaselineProperty = Globals | 'alphabetic' | 'auto' | 'central' | 'hanging' | 'ideographic' | 'mathematical' | 'middle' | 'no-change' | 'reset-size' | 'text-after-edge' | 'text-before-edge' | 'use-script' - -export type FillProperty = Globals | Paint - -export type FillRuleProperty = Globals | 'evenodd' | 'nonzero' - -export type FloodColorProperty = Globals | Color | 'currentColor' - -export type GlyphOrientationVerticalProperty = Globals | 'auto' | (string & {}) | number - -export type LightingColorProperty = Globals | Color | 'currentColor' - -export type MarkerProperty = Globals | 'none' | (string & {}) - -export type MarkerEndProperty = Globals | 'none' | (string & {}) - -export type MarkerMidProperty = Globals | 'none' | (string & {}) - -export type MarkerStartProperty = Globals | 'none' | (string & {}) - -export type ShapeRenderingProperty = Globals | 'auto' | 'crispEdges' | 'geometricPrecision' | 'optimizeSpeed' - -export type StopColorProperty = Globals | Color | 'currentColor' - -export type StrokeProperty = Globals | Paint - -export type StrokeDasharrayProperty = Globals | Dasharray | 'none' - -export type StrokeDashoffsetProperty = Globals | TLength | (string & {}) - -export type StrokeLinecapProperty = Globals | 'butt' | 'round' | 'square' - -export type StrokeLinejoinProperty = Globals | 'bevel' | 'miter' | 'round' - -export type StrokeWidthProperty = Globals | TLength | (string & {}) - -export type TextAnchorProperty = Globals | 'end' | 'middle' | 'start' - -export type VectorEffectProperty = Globals | 'non-scaling-stroke' | 'none' - -type FontFaceFontFeatureSettingsProperty = 'normal' | (string & {}) - -type FontFaceFontDisplayProperty = 'auto' | 'block' | 'fallback' | 'optional' | 'swap' - -type FontFaceFontStretchProperty = FontStretchAbsolute | (string & {}) - -type FontFaceFontStyleProperty = 'italic' | 'normal' | 'oblique' | 'oblique 30deg' | 'oblique 30deg 50deg' | (string & {}) - -type FontFaceFontVariantProperty = - | EastAsianVariantValues - | 'all-petite-caps' - | 'all-small-caps' - | 'common-ligatures' - | 'contextual' - | 'diagonal-fractions' - | 'discretionary-ligatures' - | 'full-width' - | 'historical-forms' - | 'historical-ligatures' - | 'lining-nums' - | 'no-common-ligatures' - | 'no-contextual' - | 'no-discretionary-ligatures' - | 'no-historical-ligatures' - | 'none' - | 'normal' - | 'oldstyle-nums' - | 'ordinal' - | 'petite-caps' - | 'proportional-nums' - | 'proportional-width' - | 'ruby' - | 'slashed-zero' - | 'small-caps' - | 'stacked-fractions' - | 'tabular-nums' - | 'titling-caps' - | 'unicase' - | (string & {}) - -type FontFaceFontVariationSettingsProperty = 'normal' | (string & {}) - -type FontFaceFontWeightProperty = FontWeightAbsolute | (string & {}) - -type ViewportHeightProperty = ViewportLength | (string & {}) - -type ViewportMaxHeightProperty = ViewportLength - -type ViewportMaxWidthProperty = ViewportLength - -type ViewportMaxZoomProperty = 'auto' | (string & {}) | number - -type ViewportMinHeightProperty = ViewportLength - -type ViewportMinWidthProperty = ViewportLength - -type ViewportMinZoomProperty = 'auto' | (string & {}) | number - -type ViewportOrientationProperty = 'auto' | 'landscape' | 'portrait' - -type ViewportUserZoomProperty = '-ms-zoom' | 'fixed' | 'zoom' - -type ViewportWidthProperty = ViewportLength | (string & {}) - -type ViewportZoomProperty = 'auto' | (string & {}) | number - -type AbsoluteSize = 'large' | 'medium' | 'small' | 'x-large' | 'x-small' | 'xx-large' | 'xx-small' - -type AnimateableFeature = 'contents' | 'scroll-position' | (string & {}) - -type Attachment = 'fixed' | 'local' | 'scroll' - -type BgPosition = TLength | 'bottom' | 'center' | 'left' | 'right' | 'top' | (string & {}) - -type BgSize = TLength | 'auto' | 'contain' | 'cover' | (string & {}) - -type BlendMode = 'color' | 'color-burn' | 'color-dodge' | 'darken' | 'difference' | 'exclusion' | 'hard-light' | 'hue' | 'lighten' | 'luminosity' | 'multiply' | 'normal' | 'overlay' | 'saturation' | 'screen' | 'soft-light' - -type Box = 'border-box' | 'content-box' | 'padding-box' - -export type Color = NamedColor | DeprecatedSystemColor | 'currentcolor' | (string & {}) - -type Compat = 'button-bevel' | 'checkbox' | 'listbox' | 'menulist' | 'menulist-button' | 'meter' | 'progress-bar' | 'push-button' | 'radio' | 'searchfield' | 'slider-horizontal' | 'square-button' | 'textarea' - -type CompositeStyle = 'clear' | 'copy' | 'destination-atop' | 'destination-in' | 'destination-out' | 'destination-over' | 'source-atop' | 'source-in' | 'source-out' | 'source-over' | 'xor' - -type CompositingOperator = 'add' | 'exclude' | 'intersect' | 'subtract' - -type ContentDistribution = 'space-around' | 'space-between' | 'space-evenly' | 'stretch' - -type ContentList = Quote | 'contents' | (string & {}) - -type ContentPosition = 'center' | 'end' | 'flex-end' | 'flex-start' | 'start' - -type CubicBezierTimingFunction = 'ease' | 'ease-in' | 'ease-in-out' | 'ease-out' | (string & {}) - -type Dasharray = TLength | (string & {}) | number - -type DeprecatedSystemColor = - | 'ActiveBorder' - | 'ActiveCaption' - | 'AppWorkspace' - | 'Background' - | 'ButtonFace' - | 'ButtonHighlight' - | 'ButtonShadow' - | 'ButtonText' - | 'CaptionText' - | 'GrayText' - | 'Highlight' - | 'HighlightText' - | 'InactiveBorder' - | 'InactiveCaption' - | 'InactiveCaptionText' - | 'InfoBackground' - | 'InfoText' - | 'Menu' - | 'MenuText' - | 'Scrollbar' - | 'ThreeDDarkShadow' - | 'ThreeDFace' - | 'ThreeDHighlight' - | 'ThreeDLightShadow' - | 'ThreeDShadow' - | 'Window' - | 'WindowFrame' - | 'WindowText' - -type DisplayInside = 'flex' | 'flow' | 'flow-root' | 'grid' | 'ruby' | 'table' - -type DisplayInternal = - | 'ruby-base' - | 'ruby-base-container' - | 'ruby-text' - | 'ruby-text-container' - | 'table-caption' - | 'table-cell' - | 'table-column' - | 'table-column-group' - | 'table-footer-group' - | 'table-header-group' - | 'table-row' - | 'table-row-group' - -type DisplayLegacy = 'inline-block' | 'inline-flex' | 'inline-grid' | 'inline-list-item' | 'inline-table' - -type DisplayOutside = 'block' | 'inline' | 'run-in' - -type EastAsianVariantValues = 'jis04' | 'jis78' | 'jis83' | 'jis90' | 'simplified' | 'traditional' - -type FinalBgLayer = Color | BgPosition | RepeatStyle | Attachment | Box | 'none' | (string & {}) - -type FontStretchAbsolute = 'condensed' | 'expanded' | 'extra-condensed' | 'extra-expanded' | 'normal' | 'semi-condensed' | 'semi-expanded' | 'ultra-condensed' | 'ultra-expanded' | (string & {}) - -type FontWeightAbsolute = 'bold' | 'normal' | number - -type GenericFamily = 'cursive' | 'fantasy' | 'monospace' | 'sans-serif' | 'serif' - -type GeometryBox = Box | 'fill-box' | 'margin-box' | 'stroke-box' | 'view-box' - -type GridLine = 'auto' | (string & {}) | number - -export type LineStyle = 'dashed' | 'dotted' | 'double' | 'groove' | 'hidden' | 'inset' | 'none' | 'outset' | 'ridge' | 'solid' - -export type LineWidth = TLength | 'medium' | 'thick' | 'thin' - -type MaskLayer = Position | RepeatStyle | GeometryBox | CompositingOperator | MaskingMode | 'no-clip' | 'none' | (string & {}) - -type MaskingMode = 'alpha' | 'luminance' | 'match-source' - -type NamedColor = - | 'aliceblue' - | 'antiquewhite' - | 'aqua' - | 'aquamarine' - | 'azure' - | 'beige' - | 'bisque' - | 'black' - | 'blanchedalmond' - | 'blue' - | 'blueviolet' - | 'brown' - | 'burlywood' - | 'cadetblue' - | 'chartreuse' - | 'chocolate' - | 'coral' - | 'cornflowerblue' - | 'cornsilk' - | 'crimson' - | 'cyan' - | 'darkblue' - | 'darkcyan' - | 'darkgoldenrod' - | 'darkgray' - | 'darkgreen' - | 'darkgrey' - | 'darkkhaki' - | 'darkmagenta' - | 'darkolivegreen' - | 'darkorange' - | 'darkorchid' - | 'darkred' - | 'darksalmon' - | 'darkseagreen' - | 'darkslateblue' - | 'darkslategray' - | 'darkslategrey' - | 'darkturquoise' - | 'darkviolet' - | 'deeppink' - | 'deepskyblue' - | 'dimgray' - | 'dimgrey' - | 'dodgerblue' - | 'firebrick' - | 'floralwhite' - | 'forestgreen' - | 'fuchsia' - | 'gainsboro' - | 'ghostwhite' - | 'gold' - | 'goldenrod' - | 'gray' - | 'green' - | 'greenyellow' - | 'grey' - | 'honeydew' - | 'hotpink' - | 'indianred' - | 'indigo' - | 'ivory' - | 'khaki' - | 'lavender' - | 'lavenderblush' - | 'lawngreen' - | 'lemonchiffon' - | 'lightblue' - | 'lightcoral' - | 'lightcyan' - | 'lightgoldenrodyellow' - | 'lightgray' - | 'lightgreen' - | 'lightgrey' - | 'lightpink' - | 'lightsalmon' - | 'lightseagreen' - | 'lightskyblue' - | 'lightslategray' - | 'lightslategrey' - | 'lightsteelblue' - | 'lightyellow' - | 'lime' - | 'limegreen' - | 'linen' - | 'magenta' - | 'maroon' - | 'mediumaquamarine' - | 'mediumblue' - | 'mediumorchid' - | 'mediumpurple' - | 'mediumseagreen' - | 'mediumslateblue' - | 'mediumspringgreen' - | 'mediumturquoise' - | 'mediumvioletred' - | 'midnightblue' - | 'mintcream' - | 'mistyrose' - | 'moccasin' - | 'navajowhite' - | 'navy' - | 'oldlace' - | 'olive' - | 'olivedrab' - | 'orange' - | 'orangered' - | 'orchid' - | 'palegoldenrod' - | 'palegreen' - | 'paleturquoise' - | 'palevioletred' - | 'papayawhip' - | 'peachpuff' - | 'peru' - | 'pink' - | 'plum' - | 'powderblue' - | 'purple' - | 'rebeccapurple' - | 'red' - | 'rosybrown' - | 'royalblue' - | 'saddlebrown' - | 'salmon' - | 'sandybrown' - | 'seagreen' - | 'seashell' - | 'sienna' - | 'silver' - | 'skyblue' - | 'slateblue' - | 'slategray' - | 'slategrey' - | 'snow' - | 'springgreen' - | 'steelblue' - | 'tan' - | 'teal' - | 'thistle' - | 'tomato' - | 'transparent' - | 'turquoise' - | 'violet' - | 'wheat' - | 'white' - | 'whitesmoke' - | 'yellow' - | 'yellowgreen' - -type Paint = Color | 'child' | 'context-fill' | 'context-stroke' | 'none' | (string & {}) - -type Position = TLength | 'bottom' | 'center' | 'left' | 'right' | 'top' | (string & {}) - -type Quote = 'close-quote' | 'no-close-quote' | 'no-open-quote' | 'open-quote' - -type RepeatStyle = 'no-repeat' | 'repeat' | 'repeat-x' | 'repeat-y' | 'round' | 'space' | (string & {}) - -type SelfPosition = 'center' | 'end' | 'flex-end' | 'flex-start' | 'self-end' | 'self-start' | 'start' - -type SingleAnimation = TimingFunction | SingleAnimationDirection | SingleAnimationFillMode | 'infinite' | 'none' | 'paused' | 'running' | (string & {}) | number - -type SingleAnimationDirection = 'alternate' | 'alternate-reverse' | 'normal' | 'reverse' - -type SingleAnimationFillMode = 'backwards' | 'both' | 'forwards' | 'none' - -type SingleTransition = TimingFunction | 'all' | 'none' | (string & {}) - -type StepTimingFunction = 'step-end' | 'step-start' | (string & {}) - -type TimingFunction = CubicBezierTimingFunction | StepTimingFunction | 'linear' - -type TrackBreadth = TLength | 'auto' | 'max-content' | 'min-content' | (string & {}) - -type ViewportLength = TLength | 'auto' | (string & {}) diff --git a/tsconfig.json b/tsconfig.json index f45d1877..6139f328 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,25 +1,13 @@ { "compilerOptions": { - "target": "esnext", - "module": "esnext", "lib": [ "dom", "es2020" ], - "jsx": "preserve", - "preserveSymlinks": true, "moduleResolution": "node", - "importHelpers": true, - "declaration": true, - "pretty": true, - "sourceMap": true, - "inlineSources": true, - "resolveJsonModule": true, "strict": true, - "skipLibCheck": true - }, - "exclude": [ - "node_modules", - "dist" - ] + "strictNullChecks": true, + "strictFunctionTypes": true, + "strictPropertyInitialization": true, + } }