UNPKG

78.6 kBSource Map (JSON)View Raw
1{"version":3,"file":"IRawStyleBase.js","sourceRoot":"../src/","sources":["IRawStyleBase.ts"],"names":[],"mappings":"","sourcesContent":["// See CSS 3 CSS-wide keywords https://www.w3.org/TR/css3-values/#common-keywords\n// See CSS 3 Explicit Defaulting https://www.w3.org/TR/css-cascade-3/#defaulting-keywords\n// \"all CSS properties can accept these values\"\nexport type ICSSRule = 'initial' | 'inherit' | 'unset';\n\n// See CSS 3 <percentage> type https://drafts.csswg.org/css-values-3/#percentages\nexport type ICSSPercentageRule = string;\n\n// See CSS 3 <length> type https://drafts.csswg.org/css-values-3/#lengths\nexport type ICSSPixelUnitRule = string | number;\n\n// See CSS <baseline-position> type https://www.w3.org/TR/css-align-3/#typedef-baseline-position\nexport type ICSSBaselinePositionRule = 'baseline' | 'last baseline' | 'first baseline';\n\n// See CSS <overflow-position> type https://www.w3.org/TR/css-align-3/#typedef-overflow-position\n// See CSS <self-position> type https://www.w3.org/TR/css-align-3/#typedef-self-position\nexport type ICSSOverflowAndSelfPositionRule =\n // <self-position>\n | 'center'\n | 'start'\n | 'end'\n | 'self-start'\n | 'self-end'\n | 'flex-start'\n | 'flex-end'\n // <self-position> prefixed with <overflow-position> value 'safe'\n | 'safe center'\n | 'safe start'\n | 'safe end'\n | 'safe self-start'\n | 'safe self-end'\n | 'safe flex-start'\n | 'safe flex-end'\n // <self-position> prefixed with <overflow-position> value 'unsafe'\n | 'unsafe center'\n | 'unsafe start'\n | 'unsafe end'\n | 'unsafe self-start'\n | 'unsafe self-end'\n | 'unsafe flex-start'\n | 'unsafe flex-end';\n\n// See CSS Box Layout Modes: the 'display' property https://www.w3.org/TR/css-display-3/#the-display-properties\nexport type ICSSDisplayRule =\n // <display-outside> values\n | 'block'\n | 'inline'\n | 'run-in'\n // <display-inside> values\n | 'flow'\n | 'flow-root'\n | 'table'\n | 'flex'\n | 'grid'\n | 'ruby'\n // <display-outside> plus <display-inside> values\n | 'block flow'\n | 'inline table'\n | 'flex run-in'\n // <display-listitem> values\n | 'list-item'\n | 'list-item block'\n | 'list-item inline'\n | 'list-item flow'\n | 'list-item flow-root'\n | 'list-item block flow'\n | 'list-item block flow-root'\n | 'flow list-item block'\n // <display-internal> values\n | 'table-row-group'\n | 'table-header-group'\n | 'table-footer-group'\n | 'table-row'\n | 'table-cell'\n | 'table-column-group'\n | 'table-column'\n | 'table-caption'\n | 'ruby-base'\n | 'ruby-text'\n | 'ruby-base-container'\n | 'ruby-text-container'\n // <display-box> values\n | 'contents'\n | 'none'\n // <display-legacy> values\n | 'inline-block'\n | 'inline-table'\n | 'inline-flex'\n | 'inline-grid';\n\nexport type IFontWeight =\n | ICSSRule\n | 'normal'\n | 'bold'\n | 'bolder'\n | 'lighter'\n | '100'\n | 100\n | '200'\n | 200\n | '300'\n | 300\n | '400'\n | 400\n | '500'\n | 500\n | '600'\n | 600\n | '700'\n | 700\n | '800'\n | 800\n | '900'\n | 900;\n\nexport type IMixBlendModes =\n | ICSSRule\n | 'normal'\n | 'multiply'\n | 'screen'\n | 'overlay'\n | 'darken'\n | 'lighten'\n | 'color-dodge'\n | 'color-burn'\n | 'hard-light'\n | 'soft-light'\n | 'difference'\n | 'exclusion'\n | 'hue'\n | 'saturation'\n | 'color'\n | 'luminosity';\n\n/**\n * The base font style.\n * {@docCategory IRawFontStyle}\n */\nexport interface IRawFontStyle {\n /**\n * The font property is shorthand that allows you to do one of two things: you can\n * either set up six of the most mature font properties in one line, or you can set\n * one of a choice of keywords to adopt a system font setting.\n */\n font?: ICSSRule | string;\n\n /**\n * The font-family property allows one or more font family names and/or generic family\n * names to be specified for usage on the selected element(s)' text. The browser then\n * goes through the list; for each character in the selection it applies the first\n * font family that has an available glyph for that character.\n */\n fontFamily?: ICSSRule | string;\n\n /**\n * The font-kerning property allows contextual adjustment of inter-glyph spacing, i.e.\n * the spaces between the characters in text. This property controls <bold>metric\n * kerning</bold> - that utilizes adjustment data contained in the font. Optical\n * Kerning is not supported as yet.\n */\n fontKerning?: ICSSRule | string;\n\n /**\n * Specifies the size of the font. Used to compute em and ex units.\n * See CSS 3 font-size property https://www.w3.org/TR/css-fonts-3/#propdef-font-size\n */\n fontSize?:\n | ICSSRule\n | 'xx-small'\n | 'x-small'\n | 'small'\n | 'medium'\n | 'large'\n | 'x-large'\n | 'xx-large'\n | 'larger'\n | 'smaller'\n | ICSSPixelUnitRule\n | ICSSPercentageRule;\n\n /**\n * The font-size-adjust property adjusts the font-size of the fallback fonts defined\n * with font-family, so that the x-height is the same no matter what font is used.\n * This preserves the readability of the text when fallback happens.\n * See CSS 3 font-size-adjust property\n * https://www.w3.org/TR/css-fonts-3/#propdef-font-size-adjust\n */\n fontSizeAdjust?: ICSSRule | 'none' | number | string;\n\n /**\n * Allows you to expand or condense the widths for a normal, condensed, or expanded\n * font face.\n * See CSS 3 font-stretch property\n * https://drafts.csswg.org/css-fonts-3/#propdef-font-stretch\n */\n fontStretch?:\n | ICSSRule\n | 'normal'\n | 'ultra-condensed'\n | 'extra-condensed'\n | 'condensed'\n | 'semi-condensed'\n | 'semi-expanded'\n | 'expanded'\n | 'extra-expanded'\n | 'ultra-expanded'\n | string;\n\n /**\n * The font-style property allows normal, italic, or oblique faces to be selected.\n * Italic forms are generally cursive in nature while oblique faces are typically\n * sloped versions of the regular face. Oblique faces can be simulated by artificially\n * sloping the glyphs of the regular face.\n * See CSS 3 font-style property https://www.w3.org/TR/css-fonts-3/#propdef-font-style\n */\n fontStyle?: ICSSRule | 'normal' | 'italic' | 'oblique' | string;\n\n /**\n * This value specifies whether the user agent is allowed to synthesize bold or\n * oblique font faces when a font family lacks bold or italic faces.\n */\n fontSynthesis?: ICSSRule | string;\n\n /**\n * The font-variant property enables you to select the small-caps font within a font\n * family.\n */\n fontVariant?: ICSSRule | string;\n\n /**\n * Fonts can provide alternate glyphs in addition to default glyph for a character.\n * This property provides control over the selection of these alternate glyphs.\n */\n fontVariantAlternates?: ICSSRule | string;\n\n /**\n * Specifies the weight or boldness of the font.\n * See CSS 3 'font-weight' property https://www.w3.org/TR/css-fonts-3/#propdef-font-weight\n */\n fontWeight?: IFontWeight | string;\n}\n\n/**\n * Font face definition.\n *\n * @public\n * {@docCategory IFontFace}\n */\nexport interface IFontFace extends IRawFontStyle {\n /**\n * Specifies the src of the font.\n */\n src?: string;\n\n /**\n * unicode-range allows you to set a specific range of characters to be downloaded\n * from a font (embedded using \\@font-face) and made available for use on the current\n * page.\n */\n unicodeRange?: ICSSRule | string;\n\n /**\n * Determines how a font face is displayed based on whether and when it is downloaded\n * and ready to use.\n */\n fontDisplay?: 'auto' | 'block' | 'swap' | 'fallback' | 'optional';\n\n /**\n * Feature settings for the font.\n */\n fontFeatureSettings?: string;\n}\n\n/**\n * All raw style properties.\n *\n * @public\n * {@docCategory IRawStyleBase}\n */\nexport interface IRawStyleBase extends IRawFontStyle {\n /**\n * (Ms specific) constrast adjust rule.\n */\n MsHighContrastAdjust?: ICSSRule | string;\n\n /**\n * (Ms specific) scrollbar behavior adjust rule.\n */\n MsOverflowStyle?: 'auto' | 'none' | 'scrollbar' | '-ms-autohiding-scrollbar' | string;\n\n /**\n * (Moz specific) font smoothing directive.\n */\n MozOsxFontSmoothing?: 'none' | 'antialiased' | 'grayscale' | 'subpixel-antialiased' | string;\n\n /**\n * (Webkit specific) font smoothing directive.\n */\n WebkitFontSmoothing?: 'none' | 'antialiased' | 'grayscale' | 'subpixel-antialiased' | string;\n\n /**\n * (Webkit specific) momentum scrolling on iOS devices\n */\n WebkitOverflowScrolling?: 'auto' | 'touch' | string;\n\n /**\n * (Webkit specific) color of the highlight that appears overa link while it's being tapped\n */\n WebkitTapHighlightColor?: string;\n\n /**\n * (Webkit specific) controls the text inflation algorithm used on some smartphones and tablets.\n * Other browsers will ignore this property.\n */\n WebkitTextSizeAdjust?: 'none' | 'auto' | ICSSPercentageRule | ICSSRule | string;\n\n /**\n * Aligns a flex container's lines within the flex container when there is extra space\n * in the cross-axis, similar to how justify-content aligns individual items within the main-axis.\n */\n alignContent?:\n | ICSSRule\n | 'flex-start'\n | 'flex-end'\n | 'center'\n | 'space-between'\n | 'space-around'\n | 'stretch'\n | string;\n\n /**\n * Sets the default alignment in the cross axis for all of the flex container's items,\n * including anonymous flex items, similarly to how justify-content aligns items along the main axis.\n */\n alignItems?: ICSSRule | 'flex-start' | 'flex-end' | 'center' | 'baseline' | 'stretch' | string;\n\n /**\n * Aligns the box (as the alignment subject) within its containing block (as the alignment container)\n * along the block/column/cross axis of the alignment container.\n *\n * See CSS align-self property\n * https://www.w3.org/TR/css-align-3/#propdef-align-self\n */\n alignSelf?:\n | ICSSRule\n | 'auto'\n | 'normal'\n | 'stretch'\n | ICSSBaselinePositionRule\n | ICSSOverflowAndSelfPositionRule\n | string;\n\n /**\n * This property allows precise alignment of elements, such as graphics, that do not\n * have a baseline-table or lack the desired baseline in their baseline-table. With the\n * alignment-adjust property, the position of the baseline identified by the\n * alignment-baseline can be explicitly determined. It also determines precisely\n * the alignment point for each glyph within a textual element.\n */\n alignmentAdjust?: ICSSRule | string;\n\n /**\n * Specifies how an object is aligned with respect to its parent. This property specifies\n * which baseline of this element is to be aligned with the corresponding baseline of the\n * parent. For example, this allows alphabetic baselines in Roman text to stay aligned\n * across font size changes. It defaults to the baseline with the same name as the computed\n * value of the alignment-baseline property.\n */\n alignmentBaseline?: ICSSRule | string;\n\n /**\n * The animation CSS property is a shorthand property for the various animation properties:\n * `animation-name`, `animation-duration`, `animation-timing-function`, `animation-delay`,\n * `animation-iteration-count`, `animation-direction`, `animation-fill-mode`, and\n * `animation-play-state`.\n */\n animation?: ICSSRule | string;\n\n /**\n * Defines a length of time to elapse before an animation starts, allowing an animation to begin execution\n * some time after it is applied.\n */\n animationDelay?: ICSSRule | string;\n\n /**\n * Defines whether an animation should run in reverse on some or all cycles.\n */\n animationDirection?: ICSSRule | string;\n\n /**\n * Specifies the length an animation takes to finish. Default value is 0, meaning\n * there will be no animation.\n */\n animationDuration?: ICSSRule | string;\n\n /**\n * The animation-fill-mode CSS property specifies how a CSS animation should apply\n * styles to its target before and after its execution.\n */\n animationFillMode?: ICSSRule | 'none' | 'forwards' | 'backwards' | 'both' | string;\n\n /**\n * Specifies how many times an animation cycle should play.\n */\n animationIterationCount?: ICSSRule | string;\n\n /**\n * Defines the list of animations that apply to the element.\n */\n animationName?: ICSSRule | string;\n\n /**\n * Defines whether an animation is running or paused.\n */\n animationPlayState?: ICSSRule | string;\n\n /**\n * The animation-timing-function specifies the speed curve of an animation.\n */\n animationTimingFunction?: ICSSRule | string;\n\n /**\n * Allows changing the style of any element to platform-based interface elements or\n * vice versa.\n */\n appearance?: ICSSRule | string;\n\n /**\n * Lets you apply graphical effects such as blurring or color shifting to the area\n * behind an element. Because it applies to everything behind the element, to see\n * the effect you must make the element or its background at least partially transparent.\n */\n backdropFilter?: ICSSRule | string;\n\n /**\n * Edge requires the -webkit prefix backdrop-filter.\n */\n WebkitBackdropFilter?: ICSSRule | string;\n\n /**\n * Determines whether or not the “back” side of a transformed element is visible when\n * facing the viewer.\n */\n backfaceVisibility?: ICSSRule | string;\n\n /**\n * Shorthand property to set the values for one or more of:\n * background-clip, background-color, background-image,\n * background-origin, background-position, background-repeat,\n * background-size, and background-attachment.\n */\n background?: ICSSRule | string;\n\n /**\n * If a background-image is specified, this property determines\n * whether that image's position is fixed within the viewport,\n * or scrolls along with its containing block.\n * See CSS 3 background-attachment property https://drafts.csswg.org/css-backgrounds-3/#the-background-attachment\n */\n backgroundAttachment?: ICSSRule | 'scroll' | 'fixed' | 'local' | string;\n\n /**\n * This property describes how the element's background images should blend with each\n * other and the element's background color. The value is a list of blend modes that\n * corresponds to each background image. Each element in the list will apply to the\n * corresponding element of background-image. If a property doesn’t have enough\n * comma-separated values to match the number of layers, the UA must calculate its\n * used value by repeating the list of values until there are enough.\n */\n backgroundBlendMode?: ICSSRule | string;\n\n /**\n * The background-clip CSS property specifies if an element's background, whether a\n * `<color>` or an `<image>`, extends underneath its border.\n *\n * \\* Does not work in IE\n *\n * \\* The `text` value is experimental and should not be used in production code.\n */\n backgroundClip?: ICSSRule | 'border-box' | 'padding-box' | 'content-box' | 'text' | string;\n\n /**\n * Sets the background color of an element.\n */\n backgroundColor?: ICSSRule | string;\n\n /**\n * Sets a compositing style for background images and colors.\n */\n backgroundComposite?: ICSSRule | string;\n\n /**\n * Applies one or more background images to an element. These can be any valid CSS\n * image, including url() paths to image files or CSS gradients.\n */\n backgroundImage?: ICSSRule | string;\n\n /**\n * Specifies what the background-position property is relative to.\n */\n backgroundOrigin?: ICSSRule | string;\n\n /**\n * Sets the position of a background image.\n */\n backgroundPosition?: ICSSRule | string;\n\n /**\n * Background-repeat defines if and how background images will be repeated after they\n * have been sized and positioned\n */\n backgroundRepeat?: ICSSRule | string;\n\n /**\n * Sets the size of background images\n */\n backgroundSize?: ICSSRule | string;\n\n /**\n * Shorthand property that defines the different properties of all four sides of an\n * element's border in a single declaration. It can be used to set border-width,\n * border-style and border-color, or a subset of these.\n */\n border?: ICSSRule | 0 | string;\n\n /**\n * Shorthand that sets the values of border-bottom-color,\n * border-bottom-style, and border-bottom-width.\n */\n borderBottom?: ICSSRule | ICSSPixelUnitRule;\n\n /**\n * Sets the color of the bottom border of an element.\n */\n borderBottomColor?: ICSSRule | string;\n\n /**\n * Defines the shape of the border of the bottom-left corner.\n */\n borderBottomLeftRadius?: ICSSRule | ICSSPixelUnitRule;\n\n /**\n * Defines the shape of the border of the bottom-right corner.\n */\n borderBottomRightRadius?: ICSSRule | ICSSPixelUnitRule;\n\n /**\n * Sets the line style of the bottom border of a box.\n */\n borderBottomStyle?: ICSSRule | string;\n\n /**\n * Sets the width of an element's bottom border. To set all four borders, use the\n * border-width shorthand property which sets the values simultaneously for\n * border-top-width, border-right-width, border-bottom-width, and border-left-width.\n */\n borderBottomWidth?: ICSSRule | ICSSPixelUnitRule;\n\n /**\n * Border-collapse can be used for collapsing the borders between table cells\n */\n borderCollapse?: ICSSRule | string;\n\n /**\n * The CSS border-color property sets the color of an element's four borders. This\n * property can have from one to four values, made up of the elementary properties:\n * • border-top-color\n * • border-right-color\n * • border-bottom-color\n * • border-left-color The default color is the currentColor of each of\n * these values.\n * If you provide one value, it sets the color for the element. Two values set the\n * horizontal and vertical values, respectively. Providing three values sets the top,\n * vertical, and bottom values, in that order. Four values set all for sides: top,\n * right, bottom, and left, in that order.\n */\n borderColor?: ICSSRule | string;\n\n /**\n * Specifies different corner clipping effects, such as scoop (inner curves), bevel\n * (straight cuts) or notch (cut-off rectangles). Works along with border-radius to\n * specify the size of each corner effect.\n */\n borderCornerShape?: ICSSRule | string;\n\n /**\n * The property border-image-source is used to set the image to be used instead of\n * the border style. If this is set to none the border-style is used instead.\n */\n borderImageSource?: ICSSRule | string;\n\n /**\n * The border-image-width CSS property defines the offset to use for dividing the\n * border image in nine parts, the top-left corner, central top edge, top-right-corner,\n * central right edge, bottom-right corner, central bottom edge, bottom-left corner,\n * and central right edge. They represent inward distance from the top, right, bottom,\n * and left edges.\n */\n borderImageWidth?: ICSSRule | ICSSPixelUnitRule;\n\n /**\n * Shorthand property that defines the border-width, border-style and border-color of\n * an element's left border in a single declaration. Note that you can use the\n * corresponding longhand properties to set specific individual properties of the left\n * border — border-left-width, border-left-style and border-left-color.\n */\n borderLeft?: ICSSRule | ICSSPixelUnitRule;\n\n /**\n * The CSS border-left-color property sets the color of an element's left border. This\n * page explains the border-left-color value, but often you will find it more\n * convenient to fix the border's left color as part of a shorthand set, either\n * border-left or border-color. Colors can be defined several ways. For more\n * information, see Usage.\n */\n borderLeftColor?: ICSSRule | string;\n\n /**\n * Sets the style of an element's left border. To set all four borders, use the\n * shorthand property, border-style. Otherwise, you can set the borders individually\n * with border-top-style, border-right-style, border-bottom-style, border-left-style.\n */\n borderLeftStyle?: ICSSRule | string;\n\n /**\n * Sets the width of an element's left border. To set all four borders, use the\n * border-width shorthand property which sets the values simultaneously for\n * border-top-width, border-right-width, border-bottom-width, and border-left-width.\n */\n borderLeftWidth?: ICSSRule | ICSSPixelUnitRule;\n\n /**\n * Defines how round the border's corners are.\n */\n borderRadius?: ICSSRule | ICSSPixelUnitRule;\n\n /**\n * Shorthand property that defines the border-width, border-style and border-color of\n * an element's right border in a single declaration. Note that you can use the\n * corresponding longhand properties to set specific individual properties of the\n * right border — border-right-width, border-right-style and border-right-color.\n */\n borderRight?: ICSSRule | ICSSPixelUnitRule;\n\n /**\n * Sets the color of an element's right border. This page explains the\n * border-right-color value, but often you will find it more convenient to fix the\n * border's right color as part of a shorthand set, either border-right or border-color.\n * Colors can be defined several ways. For more information, see Usage.\n */\n borderRightColor?: ICSSRule | string;\n\n /**\n * Sets the style of an element's right border. To set all four borders, use the\n * shorthand property, border-style. Otherwise, you can set the borders individually\n * with border-top-style, border-right-style, border-bottom-style, border-left-style.\n */\n borderRightStyle?: ICSSRule | string;\n\n /**\n * Sets the width of an element's right border. To set all four borders, use the\n * border-width shorthand property which sets the values simultaneously for\n * border-top-width, border-right-width, border-bottom-width, and border-left-width.\n */\n borderRightWidth?: ICSSRule | ICSSPixelUnitRule;\n\n /**\n * Specifies the distance between the borders of adjacent cells.\n */\n borderSpacing?: ICSSRule | string;\n\n /**\n * Sets the style of an element's four borders. This property can have from one to\n * four values. With only one value, the value will be applied to all four borders;\n * otherwise, this works as a shorthand property for each of border-top-style,\n * border-right-style, border-bottom-style, border-left-style, where each border\n * style may be assigned a separate value.\n */\n borderStyle?: ICSSRule | string;\n\n /**\n * Shorthand property that defines the border-width, border-style and border-color of\n * an element's top border in a single declaration. Note that you can use the\n * corresponding longhand properties to set specific individual properties of the top\n * border — border-top-width, border-top-style and border-top-color.\n */\n borderTop?: ICSSRule | ICSSPixelUnitRule;\n\n /**\n * Sets the color of an element's top border. This page explains the border-top-color\n * value, but often you will find it more convenient to fix the border's top color as\n * part of a shorthand set, either border-top or border-color.\n * Colors can be defined several ways. For more information, see Usage.\n */\n borderTopColor?: ICSSRule | string;\n\n /**\n * Sets the rounding of the top-left corner of the element.\n */\n borderTopLeftRadius?: ICSSRule | ICSSPixelUnitRule;\n\n /**\n * Sets the rounding of the top-right corner of the element.\n */\n borderTopRightRadius?: ICSSRule | ICSSPixelUnitRule;\n\n /**\n * Sets the style of an element's top border. To set all four borders, use the\n * shorthand property, border-style. Otherwise, you can set the borders individually\n * with border-top-style, border-right-style, border-bottom-style, border-left-style.\n */\n borderTopStyle?: ICSSRule | string;\n\n /**\n * Sets the width of an element's top border. To set all four borders, use the\n * border-width shorthand property which sets the values simultaneously for\n * border-top-width, border-right-width, border-bottom-width, and border-left-width.\n */\n borderTopWidth?: ICSSRule | ICSSPixelUnitRule;\n\n /**\n * Sets the width of an element's four borders. This property can have from one to\n * four values. This is a shorthand property for setting values simultaneously for\n * border-top-width, border-right-width, border-bottom-width, and border-left-width.\n */\n borderWidth?: ICSSRule | ICSSPixelUnitRule;\n\n /**\n * This property specifies how far an absolutely positioned box's bottom margin edge\n * is offset above the bottom edge of the box's containing block. For relatively\n * positioned boxes, the offset is with respect to the bottom edges of the box itself\n * (i.e., the box is given a position in the normal flow, then offset from that\n * position according to these properties).\n */\n bottom?: ICSSRule | ICSSPixelUnitRule;\n\n /**\n * Breaks a box into fragments creating new borders, padding and repeating backgrounds\n * or lets it stay as a continuous box on a page break, column break, or, for inline\n * elements, at a line break.\n */\n boxDecorationBreak?: ICSSRule | string;\n\n /**\n * Cast a drop shadow from the frame of almost any element.\n * MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/box-shadow\n */\n boxShadow?: ICSSRule | string;\n\n /**\n * The CSS box-sizing property is used to alter the default CSS box model used to\n * calculate width and height of the elements.\n */\n boxSizing?: ICSSRule | 'border-box' | 'content-box' | string;\n\n /**\n * The CSS break-after property allows you to force a break on multi-column layouts.\n * More specifically, it allows you to force a break after an element. It allows you\n * to determine if a break should occur, and what type of break it should be. The\n * break-after CSS property describes how the page, column or region break behaves\n * after the generated box. If there is no generated box, the property is ignored.\n */\n breakAfter?: ICSSRule | string;\n\n /**\n * Control page/column/region breaks that fall above a block of content\n */\n breakBefore?: ICSSRule | string;\n\n /**\n * Control page/column/region breaks that fall within a block of content\n */\n breakInside?: ICSSRule | string;\n\n /**\n * The clear CSS property specifies if an element can be positioned next to or must be\n * positioned below the floating elements that precede it in the markup.\n */\n clear?: ICSSRule | string;\n\n /**\n * Clipping crops an graphic, so that only a portion of the graphic is rendered, or\n * filled. This clip-rule property, when used with the clip-path property, defines\n * which clip rule, or algorithm, to use when filling the different parts of a graphics.\n */\n clipRule?: ICSSRule | string;\n\n /**\n * The color property sets the color of an element's foreground content (usually text),\n * accepting any standard CSS color from keywords and hex values to RGB(a) and HSL(a).\n */\n color?: ICSSRule | string;\n\n /**\n * Describes the number of columns of the element.\n * See CSS 3 column-count property https://www.w3.org/TR/css3-multicol/#cc\n */\n columnCount?: ICSSRule | number | 'auto' | string;\n\n /**\n * Specifies how to fill columns (balanced or sequential).\n */\n columnFill?: ICSSRule | string;\n\n /**\n * The column-gap property controls the width of the gap between columns in multi-column\n * elements.\n */\n columnGap?: ICSSRule | string;\n\n /**\n * Sets the width, style, and color of the rule between columns.\n */\n columnRule?: ICSSRule | string;\n\n /**\n * Specifies the color of the rule between columns.\n */\n columnRuleColor?: ICSSRule | string;\n\n /**\n * Specifies the width of the rule between columns.\n */\n columnRuleWidth?: ICSSRule | ICSSPixelUnitRule;\n\n /**\n * The column-span CSS property makes it possible for an element to span across all\n * columns when its value is set to all. An element that spans more than one column\n * is called a spanning element.\n */\n columnSpan?: ICSSRule | string;\n\n /**\n * Specifies the width of columns in multi-column elements.\n */\n columnWidth?: ICSSRule | ICSSPixelUnitRule;\n\n /**\n * This property is a shorthand property for setting column-width and/or column-count.\n */\n columns?: ICSSRule | string;\n\n /**\n * Content for pseudo selectors.\n */\n content?: string;\n\n /**\n * The counter-increment property accepts one or more names of counters (identifiers),\n * each one optionally followed by an integer which specifies the value by which the\n * counter should be incremented (e.g. if the value is 2, the counter increases by 2\n * each time it is invoked).\n */\n counterIncrement?: ICSSRule | string;\n\n /**\n * The counter-reset property contains a list of one or more names of counters, each\n * one optionally followed by an integer (otherwise, the integer defaults to 0.) Each\n * time the given element is invoked, the counters specified by the property are set to the given integer.\n */\n counterReset?: ICSSRule | string;\n\n /**\n * The cue property specifies sound files (known as an \"auditory icon\") to be played by\n * speech media agents before and after presenting an element's content; if only one\n * file is specified, it is played both before and after. The volume at which the\n * file(s) should be played, relative to the volume of the main element, may also be\n * specified. The icon files may also be set separately with the cue-before and\n * cue-after properties.\n */\n cue?: ICSSRule | string;\n\n /**\n * The cue-after property specifies a sound file (known as an \"auditory icon\") to be\n * played by speech media agents after presenting an element's content; the volume at\n * which the file should be played may also be specified. The shorthand property cue\n * sets cue sounds for both before and after the element is presented.\n */\n cueAfter?: ICSSRule | string;\n\n /**\n * Specifies the mouse cursor displayed when the mouse pointer is over an element.\n */\n cursor?: ICSSRule | string;\n\n /**\n * The direction CSS property specifies the text direction/writing direction. The rtl\n * is used for Hebrew or Arabic text, the ltr is for other languages.\n */\n direction?: ICSSRule | string;\n\n /**\n * This property specifies the type of rendering box used for an element. It is a\n * shorthand property for many other display properties.\n * W3: https://www.w3.org/TR/css-display-3/#the-display-properties\n * MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/display\n */\n display?: ICSSRule | ICSSDisplayRule | string;\n\n /**\n * The ‘fill’ property paints the interior of the given graphical element. The area to\n * be painted consists of any areas inside the outline of the shape. To determine the\n * inside of the shape, all subpaths are considered, and the interior is determined\n * according to the rules associated with the current value of the ‘fill-rule’\n * property. The zero-width geometric outline of a shape is included in the area to be\n * painted.\n */\n fill?: ICSSRule | string;\n\n /**\n * SVG: Specifies the opacity of the color or the content the current object is filled\n * with.\n * See SVG 1.1 https://www.w3.org/TR/SVG/painting.html#FillOpacityProperty\n */\n fillOpacity?: ICSSRule | number;\n\n /**\n * The ‘fill-rule’ property indicates the algorithm which is to be used to determine\n * what parts of the canvas are included inside the shape. For a simple,\n * non-intersecting path, it is intuitively clear what region lies \"inside\"; however,\n * for a more complex path, such as a path that intersects itself or where one subpath\n * encloses another, the interpretation of \"inside\" is not so obvious.\n * The ‘fill-rule’ property provides two options for how the inside of a shape is\n * determined:\n */\n fillRule?: ICSSRule | string;\n\n /**\n * Applies various image processing effects. This property is largely unsupported. See\n * Compatibility section for more information.\n */\n filter?: ICSSRule | string;\n\n /**\n * Shorthand for `flex-grow`, `flex-shrink`, and `flex-basis`.\n */\n flex?: ICSSRule | string | number;\n\n /**\n * The flex-basis CSS property describes the initial main size of the flex item before\n * any free space is distributed according to the flex factors described in the flex\n * property (flex-grow and flex-shrink).\n */\n flexBasis?: ICSSRule | string | number;\n\n /**\n * The flex-direction CSS property describes how flex items are placed in the flex\n * container, by setting the direction of the flex container's main axis.\n */\n flexDirection?: ICSSRule | 'row' | 'row-reverse' | 'column' | 'column-reverse' | string;\n\n /**\n * The flex-flow CSS property defines the flex container's main and cross axis. It is\n * a shorthand property for the flex-direction and flex-wrap properties.\n */\n flexFlow?: ICSSRule | string;\n\n /**\n * Specifies the flex grow factor of a flex item.\n * See CSS flex-grow property https://drafts.csswg.org/css-flexbox-1/#flex-grow-property\n */\n flexGrow?: ICSSRule | number | string;\n\n /**\n * Specifies the flex shrink factor of a flex item.\n * See CSS flex-shrink property https://drafts.csswg.org/css-flexbox-1/#flex-shrink-property\n */\n flexShrink?: ICSSRule | number | string;\n\n /**\n * Specifies whether flex items are forced into a single line or can be wrapped onto\n * multiple lines. If wrapping is allowed, this property also enables you to control\n * the direction in which lines are stacked.\n * See CSS flex-wrap property https://drafts.csswg.org/css-flexbox-1/#flex-wrap-property\n */\n flexWrap?: ICSSRule | 'nowrap' | 'wrap' | 'wrap-reverse' | string;\n\n /**\n * Elements which have the style float are floated horizontally. These elements can\n * move as far to the left or right of the containing element. All elements after\n * the floating element will flow around it, but elements before the floating element\n * are not impacted. If several floating elements are placed after each other, they\n * will float next to each other as long as there is room.\n */\n float?: ICSSRule | string;\n\n /**\n * Flows content from a named flow (specified by a corresponding flow-into) through\n * selected elements to form a dynamic chain of layout regions.\n */\n flowFrom?: ICSSRule | string;\n\n /**\n * The property which allows authors to opt particular elements out of forced colors mode,\n * restoring full control over the colors to CSS. Currently it's only supported in Edge Chromium.\n */\n forcedColorAdjust?: 'auto' | 'none' | string;\n\n /**\n * Lays out one or more grid items bound by 4 grid lines. Shorthand for setting\n * grid-column-start, grid-column-end, grid-row-start, and grid-row-end in a single\n * declaration.\n */\n gridArea?: ICSSRule | string;\n\n /**\n * Specifies the size of an implicitly-created grid column track\n */\n gridAutoColumns?: ICSSRule | string;\n\n /**\n * Controls how the auto-placement algorithm works,\n * specifying exactly how auto-placed items get flowed into the grid.\n */\n gridAutoFlow?: ICSSRule | string;\n\n /**\n * Specifies the size of an implicitly-created grid column track\n */\n gridAutoRows?: ICSSRule | string;\n\n /**\n * Controls a grid item's placement in a grid area, particularly grid position and a\n * grid span. Shorthand for setting grid-column-start and grid-column-end in a single\n * declaration.\n */\n gridColumn?: ICSSRule | string;\n\n /**\n * Controls a grid item's placement in a grid area as well as grid position and a\n * grid span. The grid-column-end property (with grid-row-start, grid-row-end, and\n * grid-column-start) determines a grid item's placement by specifying the grid lines\n * of a grid item's grid area.\n */\n gridColumnEnd?: ICSSRule | string;\n\n /**\n * Sets the size of the gap (gutter) between an element's columns\n */\n gridColumnGap?: ICSSRule | string;\n\n /**\n * Determines a grid item's placement by specifying the starting grid lines of a grid\n * item's grid area . A grid item's placement in a grid area consists of a grid\n * position and a grid span. See also ( grid-row-start, grid-row-end, and\n * grid-column-end)\n */\n gridColumnStart?: ICSSRule | string;\n\n /**\n * Specifies the gaps (gutters) between grid rows and columns. It is a shorthand\n * for grid-row-gap and grid-column-gap.\n */\n gridGap?: ICSSRule | string;\n\n /**\n * Gets or sets a value that indicates which row an element within a Grid should\n * appear in. Shorthand for setting grid-row-start and grid-row-end in a single\n * declaration.\n */\n gridRow?: ICSSRule | string;\n\n /**\n * Determines a grid item’s placement by specifying the block-end. A grid item's\n * placement in a grid area consists of a grid position and a grid span. The\n * grid-row-end property (with grid-row-start, grid-column-start, and grid-column-end)\n * determines a grid item's placement by specifying the grid lines of a grid item's\n * grid area.\n */\n gridRowEnd?: ICSSRule | string;\n\n /**\n * Sets the size of the gap (gutter) between an element's grid rows\n */\n gridRowGap?: ICSSRule | string;\n\n /**\n * Specifies a grid item’s start position within the grid row by contributing a line,\n * a span, or nothing (automatic) to its grid placement, thereby specifying the\n * inline-start edge of its grid area\n */\n gridRowStart?: ICSSRule | string;\n\n /**\n * Specifies a row position based upon an integer location, string value, or desired\n * row size.\n * css/properties/grid-row is used as short-hand for grid-row-position and\n * grid-row-position\n */\n gridRowPosition?: ICSSRule | string;\n\n /**\n * Specifies named grid areas which are not associated with any particular grid item,\n * but can be referenced from the grid-placement properties. The syntax of the\n * grid-template-areas property also provides a visualization of the structure of the\n * grid, making the overall layout of the grid container easier to understand.\n */\n gridTemplate?: ICSSRule | string;\n\n /**\n * Specifies named grid areas\n */\n gridTemplateAreas?: ICSSRule | string;\n\n /**\n * Specifies (with grid-template-rows) the line names and track sizing functions of\n * the grid. Each sizing function can be specified as a length, a percentage of the\n * grid container’s size, a measurement of the contents occupying the column or row,\n * or a fraction of the free space in the grid.\n */\n gridTemplateColumns?: ICSSRule | string;\n\n /**\n * Specifies (with grid-template-columns) the line names and track sizing functions of\n * the grid. Each sizing function can be specified as a length, a percentage of the\n * grid container’s size, a measurement of the contents occupying the column or row,\n * or a fraction of the free space in the grid.\n */\n gridTemplateRows?: ICSSRule | string;\n\n /**\n * Sets the height of an element. The content area of the element height does not\n * include the padding, border, and margin of the element.\n */\n height?: ICSSRule | ICSSPixelUnitRule;\n\n /**\n * Specifies the minimum number of characters in a hyphenated word\n */\n hyphenateLimitChars?: ICSSRule | string;\n\n /**\n * Indicates the maximum number of successive hyphenated lines in an element. The\n * ‘no-limit’ value means that there is no limit.\n */\n hyphenateLimitLines?: ICSSRule | string;\n\n /**\n * Specifies the maximum amount of trailing whitespace (before justification) that may\n * be left in a line before hyphenation is triggered to pull part of a word from the\n * next line back up into the current one.\n */\n hyphenateLimitZone?: ICSSRule | string;\n\n /**\n * Specifies whether or not words in a sentence can be split by the use of a manual or\n * automatic hyphenation mechanism.\n */\n hyphens?: ICSSRule | string;\n\n /**\n * Defines how the browser distributes space between and around flex items\n * along the main-axis of their container.\n * See CSS justify-content property\n * https://www.w3.org/TR/css-flexbox-1/#justify-content-property\n */\n justifyContent?:\n | ICSSRule\n | 'flex-start'\n | 'flex-end'\n | 'center'\n | 'space-between'\n | 'space-around'\n | 'space-evenly'\n | 'stretch'\n | string;\n\n /**\n * Justifies the box (as the alignment subject) within its containing block (as the alignment container)\n * along the inline/row/main axis of the alignment container.\n *\n * See CSS jusitfy-self property\n * https://www.w3.org/TR/css-align-3/#propdef-justify-self\n */\n justifySelf?:\n | ICSSRule\n | 'auto'\n | 'normal'\n | 'stretch'\n | ICSSBaselinePositionRule\n | ICSSOverflowAndSelfPositionRule\n | 'left'\n | 'right'\n // prefixed with <overflow-position> value 'safe'\n | 'safe left'\n | 'safe right'\n // prefixed with <overflow-position> value 'unsafe'\n | 'unsafe left'\n | 'unsafe right'\n | string;\n\n /**\n * Sets the left position of an element relative to the nearest ancestor that is set\n * to position absolute, relative, or fixed.\n */\n left?: ICSSRule | ICSSPixelUnitRule;\n\n /**\n * The letter-spacing CSS property specifies the spacing behavior between text\n * characters.\n */\n letterSpacing?: ICSSRule | string;\n\n /**\n * Specifies the height of an inline block level element.\n * See CSS 2.1 line-height property https://www.w3.org/TR/CSS21/visudet.html#propdef-line-height\n */\n lineHeight?: ICSSRule | 'normal' | ICSSPixelUnitRule | ICSSPercentageRule;\n\n /**\n * Shorthand property that sets the list-style-type, list-style-position and\n * list-style-image properties in one declaration.\n */\n listStyle?: ICSSRule | string;\n\n /**\n * This property sets the image that will be used as the list item marker. When the\n * image is available, it will replace the marker set with the 'list-style-type'\n * marker. That also means that if the image is not available, it will show the style\n * specified by list-style-property\n */\n listStyleImage?: ICSSRule | string;\n\n /**\n * Specifies if the list-item markers should appear inside or outside the content flow.\n */\n listStylePosition?: ICSSRule | string;\n\n /**\n * Specifies the type of list-item marker in a list.\n */\n listStyleType?: ICSSRule | string;\n\n /**\n * The margin property is shorthand to allow you to set all four margins of an element\n * at once. Its equivalent longhand properties are margin-top, margin-right,\n * margin-bottom and margin-left. Negative values are also allowed.\n */\n margin?: ICSSRule | ICSSPixelUnitRule;\n\n /**\n * margin-bottom sets the bottom margin of an element.\n */\n marginBottom?: ICSSRule | ICSSPixelUnitRule;\n\n /**\n * margin-left sets the left margin of an element.\n */\n marginLeft?: ICSSRule | ICSSPixelUnitRule;\n\n /**\n * margin-right sets the right margin of an element.\n */\n marginRight?: ICSSRule | ICSSPixelUnitRule;\n\n /**\n * margin-top sets the top margin of an element.\n */\n marginTop?: ICSSRule | ICSSPixelUnitRule;\n\n /**\n * The marquee-direction determines the initial direction in which the marquee content moves.\n */\n marqueeDirection?: ICSSRule | string;\n\n /**\n * The 'marquee-style' property determines a marquee's scrolling behavior.\n */\n marqueeStyle?: ICSSRule | string;\n\n /**\n * This property is shorthand for setting mask-image, mask-mode, mask-repeat,\n * mask-position, mask-clip, mask-origin, mask-composite and mask-size. Omitted\n * values are set to their original properties' initial values.\n */\n mask?: ICSSRule | string;\n\n /**\n * This property is shorthand for setting mask-border-source, mask-border-slice,\n * mask-border-width, mask-border-outset, and mask-border-repeat. Omitted values\n * are set to their original properties' initial values.\n */\n maskBorder?: ICSSRule | string;\n\n /**\n * This property specifies how the images for the sides and the middle part of the\n * mask image are scaled and tiled. The first keyword applies to the horizontal\n * sides, the second one applies to the vertical ones. If the second keyword is\n * absent, it is assumed to be the same as the first, similar to the CSS\n * border-image-repeat property.\n */\n maskBorderRepeat?: ICSSRule | string;\n\n /**\n * This property specifies inward offsets from the top, right, bottom, and left\n * edges of the mask image, dividing it into nine regions: four corners, four\n * edges, and a middle. The middle image part is discarded and treated as fully\n * transparent black unless the fill keyword is present. The four values set the\n * top, right, bottom and left offsets in that order, similar to the CSS\n * border-image-slice property.\n */\n maskBorderSlice?: ICSSRule | string;\n\n /**\n * Specifies an image to be used as a mask. An image that is empty, fails to\n * download, is non-existent, or cannot be displayed is ignored and does not mask\n * the element.\n */\n maskBorderSource?: ICSSRule | string;\n\n /**\n * This property sets the width of the mask box image, similar to the CSS\n * border-image-width property.\n */\n maskBorderWidth?: ICSSRule | ICSSPixelUnitRule;\n\n /**\n * Determines the mask painting area, which defines the area that is affected by\n * the mask. The painted content of an element may be restricted to this area.\n */\n maskClip?: ICSSRule | string;\n\n /**\n * For elements rendered as a single box, specifies the mask positioning area. For\n * elements rendered as multiple boxes (e.g., inline boxes on several lines, boxes\n * on several pages) specifies which boxes box-decoration-break operates on to\n * determine the mask positioning area(s).\n */\n maskOrigin?: ICSSRule | string;\n\n /**\n * This property must not be used. It is no longer included in any standard or\n * standard track specification, nor is it implemented in any browser. It is only\n * used when the text-align-last property is set to size. It controls allowed\n * adjustments of font-size to fit line content.\n */\n maxFontSize?: ICSSRule | ICSSPixelUnitRule;\n\n /**\n * Sets the maximum height for an element. It prevents the height of the element to\n * exceed the specified value. If min-height is specified and is greater than\n * max-height, max-height is overridden.\n */\n maxHeight?: ICSSRule | ICSSPixelUnitRule;\n\n /**\n * Sets the maximum width for an element. It limits the width property to be larger\n * than the value specified in max-width.\n */\n maxWidth?: ICSSRule | ICSSPixelUnitRule;\n\n /**\n * Sets the minimum height for an element. It prevents the height of the element to\n * be smaller than the specified value. The value of min-height overrides both\n * max-height and height.\n */\n minHeight?: ICSSRule | ICSSPixelUnitRule;\n\n /**\n * Sets the minimum width of an element. It limits the width property to be not\n * smaller than the value specified in min-width.\n */\n minWidth?: ICSSRule | ICSSPixelUnitRule;\n\n /**\n * The mix-blend-mode CSS property describes how an element's content should blend\n * with the content of the element's direct parent and the element's background.\n */\n mixBlendMode?: ICSSRule | IMixBlendModes | string;\n\n /**\n * The ‘object-fit’ property specifies how the contents of a replaced element should\n * be fitted to the box established by its used height and width.\n * See CSS 3 object-fit property https://www.w3.org/TR/css3-images/#the-object-fit\n */\n objectFit?: ICSSRule | 'cover' | 'contain' | 'fill' | 'none' | string;\n\n /**\n * Specifies the transparency of an element.\n * See CSS 3 opacity property https://drafts.csswg.org/css-color-3/#opacity\n */\n opacity?: ICSSRule | number | string;\n\n /**\n * Specifies the order used to lay out flex items in their flex container.\n * Elements are laid out in the ascending order of the order value.\n * See CSS order property https://drafts.csswg.org/css-flexbox-1/#order-property\n */\n order?: ICSSRule | number | string;\n\n /**\n * In paged media, this property defines the minimum number of lines in\n * a block container that must be left at the bottom of the page.\n * See CSS 3 orphans, widows properties https://drafts.csswg.org/css-break-3/#widows-orphans\n */\n orphans?: ICSSRule | number | string;\n\n /**\n * The CSS outline property is a shorthand property for setting one or more of the\n * individual outline properties outline-style, outline-width and outline-color in a\n * single rule. In most cases the use of this shortcut is preferable and more\n * convenient.\n * Outlines differ from borders in the following ways:\n * • Outlines do not take up space, they are drawn above the content.\n * • Outlines may be non-rectangular. They are rectangular in\n * Gecko/Firefox. Internet Explorer attempts to place the smallest contiguous outline\n * around all elements or shapes that are indicated to have an outline. Opera draws a\n * non-rectangular shape around a construct.\n */\n outline?: ICSSRule | 0 | string;\n\n /**\n * The outline-color property sets the color of the outline of an element. An\n * outline is a line that is drawn around elements, outside the border edge, to make\n * the element stand out.\n */\n outlineColor?: ICSSRule | string;\n\n /**\n * The outline-offset property offsets the outline and draw it beyond the border edge.\n */\n outlineOffset?: ICSSRule | string;\n\n /**\n * The overflow property controls how extra content exceeding the bounding box of an\n * element is rendered. It can be used in conjunction with an element that has a\n * fixed width and height, to eliminate text-induced page distortion.\n */\n overflow?: ICSSRule | 'auto' | 'hidden' | 'scroll' | 'visible';\n\n /**\n * Specifies the preferred scrolling methods for elements that overflow.\n */\n overflowStyle?: ICSSRule | string;\n\n /**\n * Specifies whether or not the browser should insert line breaks within words to\n * prevent text from overflowing its content box. In contrast to word-break,\n * overflow-wrap will only create a break if an entire word cannot be placed on its\n * own line without overflowing.\n */\n overflowWrap?: ICSSRule | 'normal' | 'break-word' | string;\n\n /**\n * Controls how extra content exceeding the x-axis of the bounding box of an element\n * is rendered.\n */\n overflowX?: ICSSRule | 'auto' | 'hidden' | 'scroll' | 'visible' | string;\n\n /**\n * Controls how extra content exceeding the y-axis of the bounding box of an element\n * is rendered.\n */\n overflowY?: ICSSRule | 'auto' | 'hidden' | 'scroll' | 'visible' | string;\n\n /**\n * The padding optional CSS property sets the required padding space on one to four\n * sides of an element. The padding area is the space between an element and its\n * border. Negative values are not allowed but decimal values are permitted. The\n * element size is treated as fixed, and the content of the element shifts toward the\n * center as padding is increased. The padding property is a shorthand to avoid\n * setting each side separately (padding-top, padding-right, padding-bottom,\n * padding-left).\n */\n padding?: ICSSRule | ICSSPixelUnitRule;\n\n /**\n * The padding-block-end CSS property defines the logical block end padding\n * of an element, which maps to a physical padding depending on the element's\n * writing mode, directionality, and text orientation. It corresponds to the\n * padding-top, padding-right, padding-bottom, or padding-left property\n * depending on the values defined for writing-mode, direction, and text-orientation.\n */\n paddingBlockEnd?: ICSSRule | ICSSPixelUnitRule;\n\n /**\n * The padding-block-start CSS property defines the logical block start padding\n * of an element, which maps to a physical padding depending on the element's\n * writing mode, directionality, and text orientation. It corresponds to the\n * padding-top, padding-right, padding-bottom, or padding-left property depending\n * on the values defined for writing-mode, direction, and text-orientation.\n */\n paddingBlockStart?: ICSSRule | ICSSPixelUnitRule;\n\n /**\n * The padding-left CSS property of an element sets the padding space required on the\n * left side of an element. The padding area is the space between the content of the\n * element and its border. Contrary to margin-left values, negative values of\n * padding-left are invalid.\n */\n paddingLeft?: ICSSRule | ICSSPixelUnitRule;\n\n /**\n * The padding-bottom CSS property of an element sets the padding space required on\n * the bottom of an element. The padding area is the space between the content of the\n * element and its border. Contrary to margin-bottom values, negative values of\n * padding-bottom are invalid.\n */\n paddingBottom?: ICSSRule | ICSSPixelUnitRule;\n\n /**\n * The padding-inline-end CSS property defines the logical inline end padding of an element,\n * which maps to a physical padding depending on the element's writing mode, directionality,\n * and text orientation. It corresponds to the padding-top, padding-right, padding-bottom,\n * or padding-left property depending on the values defined for writing-mode, direction,\n * and text-orientation.\n */\n paddingInlineEnd?: ICSSRule | ICSSPixelUnitRule;\n\n /**\n * The padding-inline-start CSS property defines the logical inline start padding of\n * an element, which maps to a physical padding depending on the element's writing mode,\n * directionality, and text orientation. It corresponds to the padding-top, padding-right,\n * padding-bottom, or padding-left property depending on the values defined for writing-mode,\n * direction, and text-orientation.\n */\n paddingInlineStart?: ICSSRule | ICSSPixelUnitRule;\n\n /**\n * The padding-right CSS property of an element sets the padding space required on the\n * right side of an element. The padding area is the space between the content of the\n * element and its border. Contrary to margin-right values, negative values of\n * padding-right are invalid.\n */\n paddingRight?: ICSSRule | ICSSPixelUnitRule;\n\n /**\n * The padding-top CSS property of an element sets the padding space required on the\n * top of an element. The padding area is the space between the content of the element\n * and its border. Contrary to margin-top values, negative values of padding-top are\n * invalid.\n */\n paddingTop?: ICSSRule | ICSSPixelUnitRule;\n\n /**\n * The page-break-after property is supported in all major browsers. With CSS3,\n * page-break-* properties are only aliases of the break-* properties. The CSS3\n * Fragmentation spec defines breaks for all CSS box fragmentation.\n */\n pageBreakAfter?: ICSSRule | string;\n\n /**\n * The page-break-before property sets the page-breaking behavior before an element.\n * With CSS3, page-break-* properties are only aliases of the break-* properties. The\n * CSS3 Fragmentation spec defines breaks for all CSS box fragmentation.\n */\n pageBreakBefore?: ICSSRule | string;\n\n /**\n * Sets the page-breaking behavior inside an element. With CSS3, page-break-*\n * properties are only aliases of the break-* properties. The CSS3 Fragmentation spec\n * defines breaks for all CSS box fragmentation.\n */\n pageBreakInside?: ICSSRule | string;\n\n /**\n * The pause property determines how long a speech media agent should pause before and\n * after presenting an element. It is a shorthand for the pause-before and pause-after\n * properties.\n */\n pause?: ICSSRule | string;\n\n /**\n * The pause-after property determines how long a speech media agent should pause after\n * presenting an element. It may be replaced by the shorthand property pause, which\n * sets pause time before and after.\n */\n pauseAfter?: ICSSRule | string;\n\n /**\n * The pause-before property determines how long a speech media agent should pause\n * before presenting an element. It may be replaced by the shorthand property pause,\n * which sets pause time before and after.\n */\n pauseBefore?: ICSSRule | string;\n\n /**\n * The perspective property defines how far an element is placed from the view on the\n * z-axis, from the screen to the viewer. Perspective defines how an object is viewed.\n * In graphic arts, perspective is the representation on a flat surface of what the\n * viewer's eye would see in a 3D space. (See Wikipedia for more information about\n * graphical perspective and for related illustrations.)\n * The illusion of perspective on a flat surface, such as a computer screen, is created\n * by projecting points on the flat surface as they would appear if the flat surface\n * were a window through which the viewer was looking at the object. In discussion of\n * virtual environments, this flat surface is called a projection plane.\n */\n perspective?: ICSSRule | string;\n\n /**\n * The perspective-origin property establishes the origin for the perspective property.\n * It effectively sets the X and Y position at which the viewer appears to be looking\n * at the children of the element.\n * When used with perspective, perspective-origin changes the appearance of an object,\n * as if a viewer were looking at it from a different origin. An object appears\n * differently if a viewer is looking directly at it versus looking at it from below,\n * above, or from the side. Thus, the perspective-origin is like a vanishing point.\n * The default value of perspective-origin is 50% 50%. This displays an object as if\n * the viewer's eye were positioned directly at the center of the screen, both\n * top-to-bottom and left-to-right. A value of 0% 0% changes the object as if the\n * viewer was looking toward the top left angle. A value of 100% 100% changes the\n * appearance as if viewed toward the bottom right angle.\n */\n perspectiveOrigin?: ICSSRule | string;\n\n /**\n * The pointer-events property allows you to control whether an element can be the\n * target for the pointing device (e.g, mouse, pen) events.\n */\n pointerEvents?: ICSSRule | string;\n\n /**\n * The position property controls the type of positioning used by an element within\n * its parent elements. The effect of the position property depends on a lot of\n * factors, for example the position property of parent elements.\n */\n position?: ICSSRule | 'static' | 'relative' | 'absolute' | 'fixed' | 'sticky';\n\n /**\n * Sets the type of quotation marks for embedded quotations.\n */\n quotes?: ICSSRule | string;\n\n /**\n * Controls whether the last region in a chain displays additional 'overset' content\n * according its default overflow property, or if it displays a fragment of content\n * as if it were flowing into a subsequent region.\n */\n regionFragment?: ICSSRule | string;\n\n /**\n * The resize CSS sets whether an element is resizable, and if so, in which direction(s).\n */\n\n resize?: ICSSRule | 'none' | 'both' | 'horizontal' | 'vertical' | 'block' | 'inline' | string;\n\n /**\n * The rest-after property determines how long a speech media agent should pause after\n * presenting an element's main content, before presenting that element's exit cue\n * sound. It may be replaced by the shorthand property rest, which sets rest time\n * before and after.\n */\n restAfter?: ICSSRule | string;\n\n /**\n * The rest-before property determines how long a speech media agent should pause after\n * presenting an intro cue sound for an element, before presenting that element's main\n * content. It may be replaced by the shorthand property rest, which sets rest time\n * before and after.\n */\n restBefore?: ICSSRule | string;\n\n /**\n * Specifies the position an element in relation to the right side of the containing\n * element.\n */\n right?: ICSSRule | ICSSPixelUnitRule;\n\n /**\n * Defines the alpha channel threshold used to extract a shape from an image. Can be\n * thought of as a \"minimum opacity\" threshold; that is, a value of 0.5 means that the\n * shape will enclose all the pixels that are more than 50% opaque.\n */\n shapeImageThreshold?: ICSSRule | string;\n\n /**\n * A future level of CSS Shapes will define a shape-inside property, which will define\n * a shape to wrap content within the element. See Editor's Draft\n * http://dev.w3.org/csswg/css-shapes and CSSWG wiki page on next-level plans\n * http://wiki.csswg.org/spec/css-shapes\n */\n shapeInside?: ICSSRule | string;\n\n /**\n * Adds a margin to a shape-outside. In effect, defines a new shape that is the\n * smallest contour around all the points that are the shape-margin distance outward\n * perpendicular to each point on the underlying shape. For points where a\n * perpendicular direction is not defined (e.g., a triangle corner), takes all\n * points on a circle centered at the point and with a radius of the shape-margin\n * distance. This property accepts only non-negative values.\n */\n shapeMargin?: ICSSRule | string;\n\n /**\n * Declares a shape around which text should be wrapped, with possible modifications\n * from the shape-margin property. The shape defined by shape-outside and shape-margin\n * changes the geometry of a float element's float area.\n */\n shapeOutside?: ICSSRule | string;\n\n /**\n * The speak property determines whether or not a speech synthesizer will read aloud\n * the contents of an element.\n */\n speak?: ICSSRule | string;\n\n /**\n * The speak-as property determines how the speech synthesizer interprets the content:\n * words as whole words or as a sequence of letters, numbers as a numerical value or a\n * sequence of digits, punctuation as pauses in speech or named punctuation characters.\n */\n speakAs?: ICSSRule | string;\n\n /**\n * The stroke property in CSS is for adding a border to SVG shapes.\n * See SVG 1.1 https://www.w3.org/TR/SVG/painting.html#Stroke\n */\n stroke?: ICSSRule | string;\n\n /**\n * SVG: The stroke-linecap attribute defines the shape to be used at the end of open subpaths when they are stroked.\n * See SVG 1.1 https://www.w3.org/TR/SVG/painting.html#LineCaps\n */\n strokeLinecap?: ICSSRule | 'butt' | 'round' | 'square' | string;\n\n /**\n * SVG: Specifies the opacity of the outline on the current object.\n * See SVG 1.1 https://www.w3.org/TR/SVG/painting.html#StrokeOpacityProperty\n */\n strokeOpacity?: ICSSRule | number | string;\n\n /**\n * SVG: Specifies the width of the outline on the current object.\n * See SVG 1.1 https://www.w3.org/TR/SVG/painting.html#StrokeWidthProperty\n */\n strokeWidth?: ICSSRule | ICSSPixelUnitRule;\n\n /**\n * The tab-size CSS property is used to customise the width of a tab (U+0009) character.\n */\n tabSize?: ICSSRule | string;\n\n /**\n * The 'table-layout' property controls the algorithm used to lay out the table cells, rows, and columns.\n */\n tableLayout?: ICSSRule | string;\n\n /**\n * The text-align CSS property describes how inline content like text is aligned in its\n * parent block element. text-align does not control the alignment of block elements\n * itself, only their inline content.\n */\n textAlign?: ICSSRule | string;\n\n /**\n * The text-align-last CSS property describes how the last line of a block element or\n * a line before line break is aligned in its parent block element.\n */\n textAlignLast?: ICSSRule | string;\n\n /**\n * The text-decoration CSS property is used to set the text formatting to underline,\n * overline, line-through or blink. underline and overline decorations are positioned\n * under the text, line-through over it.\n */\n textDecoration?: ICSSRule | string;\n\n /**\n * Sets the color of any text decoration, such as underlines, overlines, and strike\n * throughs.\n */\n textDecorationColor?: ICSSRule | string;\n\n /**\n * Sets what kind of line decorations are added to an element, such as underlines,\n * overlines, etc.\n */\n textDecorationLine?: ICSSRule | string;\n\n /**\n * Specifies what parts of an element’s content are skipped over when applying any\n * text decoration.\n */\n textDecorationSkip?: ICSSRule | string;\n\n /**\n * This property specifies the style of the text decoration line drawn on the\n * specified element. The intended meaning for the values are the same as those of\n * the border-style-properties.\n */\n textDecorationStyle?: ICSSRule | string;\n\n /**\n * The text-emphasis property will apply special emphasis marks to the elements text.\n * Slightly similar to the text-decoration property only that this property can have\n * affect on the line-height. It also is noted that this is shorthand for\n * text-emphasis-style and for text-emphasis-color.\n */\n textEmphasis?: ICSSRule | string;\n\n /**\n * The text-emphasis-color property specifies the foreground color of the emphasis\n * marks.\n */\n textEmphasisColor?: ICSSRule | string;\n\n /**\n * The text-emphasis-style property applies special emphasis marks to an element's\n * text.\n */\n textEmphasisStyle?: ICSSRule | string;\n\n /**\n * This property helps determine an inline box's block-progression dimension, derived\n * from the text-height and font-size properties for non-replaced elements, the height\n * or the width for replaced elements, and the stacked block-progression dimension for\n * inline-block elements. The block-progression dimension determines the position of\n * the padding, border and margin for the element.\n */\n textHeight?: ICSSRule | string;\n\n /**\n * Specifies the amount of space horizontally that should be left on the first line of\n * the text of an element. This horizontal spacing is at the beginning of the first\n * line and is in respect to the left edge of the containing block box.\n */\n textIndent?: ICSSRule | string;\n\n /**\n * The text-overflow shorthand CSS property determines how overflowed content that is\n * not displayed is signaled to the users. It can be clipped, display an ellipsis\n * ('…', U+2026 HORIZONTAL ELLIPSIS) or a Web author-defined string. It covers the\n * two long-hand properties text-overflow-mode and text-overflow-ellipsis\n */\n textOverflow?: ICSSRule | string;\n\n /**\n * The text-overline property is the shorthand for the text-overline-style,\n * text-overline-width, text-overline-color, and text-overline-mode properties.\n */\n textOverline?: ICSSRule | string;\n\n /**\n * Specifies the line color for the overline text decoration.\n */\n textOverlineColor?: ICSSRule | string;\n\n /**\n * Sets the mode for the overline text decoration, determining whether the text\n * decoration affects the space characters or not.\n */\n textOverlineMode?: ICSSRule | string;\n\n /**\n * Specifies the line style for overline text decoration.\n */\n textOverlineStyle?: ICSSRule | string;\n\n /**\n * Specifies the line width for the overline text decoration.\n */\n textOverlineWidth?: ICSSRule | ICSSPixelUnitRule;\n\n /**\n * The text-rendering CSS property provides information to the browser about how to\n * optimize when rendering text. Options are: legibility, speed or geometric precision.\n */\n textRendering?: ICSSRule | string;\n\n /**\n * The CSS text-shadow property applies one or more drop shadows to the text and\n * `<text-decorations>` of an element. Each shadow is specified as an offset from the\n * text, along with optional color and blur radius values.\n */\n textShadow?: ICSSRule | string;\n\n /**\n * The text-size-adjust CSS property controls the text inflation algorithm used\n * on some smartphones and tablets. Other browsers will ignore this property.\n */\n textSizeAdjust?: 'none' | 'auto' | ICSSPercentageRule | ICSSRule;\n\n /**\n * This property transforms text for styling purposes. (It has no effect on the\n * underlying content.)\n */\n textTransform?: ICSSRule | string;\n\n /**\n * Unsupported.\n * This property will add a underline position value to the element that has an\n * underline defined.\n */\n textUnderlinePosition?: ICSSRule | string;\n\n /**\n * After review this should be replaced by text-decoration should it not?\n * This property will set the underline style for text with a line value for\n * underline, overline, and line-through.\n */\n textUnderlineStyle?: ICSSRule | string;\n\n /**\n * This property specifies how far an absolutely positioned box's top margin edge is\n * offset below the top edge of the box's containing block. For relatively positioned\n * boxes, the offset is with respect to the top edges of the box itself (i.e., the box\n * is given a position in the normal flow, then offset from that position according to\n * these properties).\n */\n top?: ICSSRule | ICSSPixelUnitRule;\n\n /**\n * Determines whether touch input may trigger default behavior supplied by the user\n * agent, such as panning or zooming.\n */\n touchAction?: ICSSRule | string;\n\n /**\n * CSS transforms allow elements styled with CSS to be transformed in two-dimensional\n * or three-dimensional space. Using this property, elements can be translated,\n * rotated, scaled, and skewed. The value list may consist of 2D and/or 3D transform\n * values.\n */\n transform?: ICSSRule | string;\n\n /**\n * This property defines the origin of the transformation axes relative to the element\n * to which the transformation is applied.\n */\n transformOrigin?: ICSSRule | string;\n\n /**\n * This property allows you to define the relative position of the origin of the\n * transformation grid along the z-axis.\n */\n transformOriginZ?: ICSSRule | string;\n\n /**\n * This property specifies how nested elements are rendered in 3D space relative to their parent.\n */\n transformStyle?: ICSSRule | string;\n\n /**\n * The transition CSS property is a shorthand property for transition-property,\n * transition-duration, transition-timing-function, and transition-delay. It allows to\n * define the transition between two states of an element.\n */\n transition?: ICSSRule | string;\n\n /**\n * Defines when the transition will start. A value of ‘0s’ means the transition will\n * execute as soon as the property is changed. Otherwise, the value specifies an\n * offset from the moment the property is changed, and the transition will delay\n * execution by that offset.\n */\n transitionDelay?: ICSSRule | string;\n\n /**\n * The 'transition-duration' property specifies the length of time a transition\n * animation takes to complete.\n */\n transitionDuration?: ICSSRule | string;\n\n /**\n * The 'transition-property' property specifies the name of the CSS property to which\n * the transition is applied.\n */\n transitionProperty?: ICSSRule | string;\n\n /**\n * Sets the pace of action within a transition\n */\n transitionTimingFunction?: ICSSRule | string;\n\n /**\n * The unicode-bidi CSS property specifies the level of embedding with respect to the bidirectional algorithm.\n */\n unicodeBidi?: ICSSRule | string;\n\n /**\n * This is for all the high level UX stuff.\n */\n userFocus?: ICSSRule | string;\n\n /**\n * For inputting user content\n */\n userInput?: ICSSRule | string;\n\n /**\n * Defines the text selection behavior.\n */\n userSelect?: ICSSRule | 'none' | 'auto' | 'text' | 'all' | 'contain' | string;\n\n /**\n * The vertical-align property controls how inline elements or text are vertically\n * aligned compared to the baseline. If this property is used on table-cells it\n * controls the vertical alignment of content of the table cell.\n */\n verticalAlign?: ICSSRule | string;\n\n /**\n * The visibility property specifies whether the boxes generated by an element are rendered.\n */\n visibility?: ICSSRule | string;\n\n /**\n * The voice-balance property sets the apparent position (in stereo sound) of the synthesized voice for spoken media.\n */\n voiceBalance?: ICSSRule | string;\n\n /**\n * The voice-duration property allows the author to explicitly set the amount of time\n * it should take a speech synthesizer to read an element's content, for example to\n * allow the speech to be synchronized with other media. With a value of auto (the\n * default) the length of time it takes to read the content is determined by the\n * content itself and the voice-rate property.\n */\n voiceDuration?: ICSSRule | string;\n\n /**\n * The voice-family property sets the speaker's voice used by a speech media agent to\n * read an element. The speaker may be specified as a named character (to match a\n * voice option in the speech reading software) or as a generic description of the\n * age and gender of the voice. Similar to the font-family property for visual media,\n * a comma-separated list of fallback options may be given in case the speech reader\n * does not recognize the character name or cannot synthesize the requested combination\n * of generic properties.\n */\n voiceFamily?: ICSSRule | string;\n\n /**\n * The voice-pitch property sets pitch or tone (high or low) for the synthesized speech\n * when reading an element; the pitch may be specified absolutely or relative to the\n * normal pitch for the voice-family used to read the text.\n */\n voicePitch?: ICSSRule | string;\n\n /**\n * The voice-range property determines how much variation in pitch or tone will be\n * created by the speech synthesize when reading an element. Emphasized text,\n * grammatical structures and punctuation may all be rendered as changes in pitch,\n * this property determines how strong or obvious those changes are; large ranges are\n * associated with enthusiastic or emotional speech, while small ranges are associated\n * with flat or mechanical speech.\n */\n voiceRange?: ICSSRule | string;\n\n /**\n * The voice-rate property sets the speed at which the voice synthesized by a speech\n * media agent will read content.\n */\n voiceRate?: ICSSRule | string;\n\n /**\n * The voice-stress property sets the level of vocal emphasis to be used for\n * synthesized speech reading the element.\n */\n voiceStress?: ICSSRule | string;\n\n /**\n * The voice-volume property sets the volume for spoken content in speech media. It\n * replaces the deprecated volume property.\n */\n voiceVolume?: ICSSRule | string;\n\n /**\n * The white-space property controls whether and how white space inside the element is\n * collapsed, and whether lines may wrap at unforced \"soft wrap\" opportunities.\n */\n whiteSpace?: ICSSRule | string;\n\n /**\n * In paged media, this property defines the mimimum number of lines that must be left\n * at the top of the second page.\n * See CSS 3 orphans, widows properties\n * https://drafts.csswg.org/css-break-3/#widows-orphans\n */\n widows?: ICSSRule | number | string;\n\n /**\n * Specifies the width of the content area of an element. The content area of the element\n * width does not include the padding, border, and margin of the element.\n */\n width?: ICSSRule | ICSSPixelUnitRule;\n\n /**\n * The word-break property is often used when there is long generated content that is\n * strung together without and spaces or hyphens to beak apart. A common case of this\n * is when there is a long URL that does not have any hyphens. This case could\n * potentially cause the breaking of the layout as it could extend past the parent\n * element.\n */\n wordBreak?: ICSSRule | string;\n\n /**\n * The word-spacing CSS property specifies the spacing behavior between \"words\".\n */\n wordSpacing?: ICSSRule | string;\n\n /**\n * An alias of css/properties/overflow-wrap, word-wrap defines whether to break\n * words when the content exceeds the boundaries of its container.\n */\n wordWrap?: ICSSRule | string;\n\n /**\n * Specifies how exclusions affect inline content within block-level elements. Elements\n * lay out their inline content in their content area but wrap around exclusion areas.\n */\n wrapFlow?: ICSSRule | string;\n\n /**\n * Set the value that is used to offset the inner wrap shape from other shapes. Inline\n * content that intersects a shape with this property will be pushed by this shape's\n * margin.\n */\n wrapMargin?: ICSSRule | string;\n\n /**\n * writing-mode specifies if lines of text are laid out horizontally or vertically,\n * and the direction which lines of text and blocks progress.\n */\n writingMode?: ICSSRule | string;\n\n /**\n * The z-index property specifies the z-order of an element and its descendants.\n * When elements overlap, z-order determines which one covers the other.\n * See CSS 2 z-index property https://www.w3.org/TR/CSS2/visuren.html#z-index\n */\n zIndex?: ICSSRule | 'auto' | number | string;\n\n /**\n * Sets the initial zoom factor of a document defined by `@viewport`.\n * See CSS zoom descriptor https://drafts.csswg.org/css-device-adapt/#zoom-desc\n */\n zoom?: ICSSRule | 'auto' | number | ICSSPercentageRule;\n}\n"]}
\No newline at end of file