diff options
Diffstat (limited to 'vanilla/node_modules/cssstyle/lib/generated')
4 files changed, 21789 insertions, 0 deletions
diff --git a/vanilla/node_modules/cssstyle/lib/generated/allProperties.js b/vanilla/node_modules/cssstyle/lib/generated/allProperties.js new file mode 100644 index 0000000..a7a8c6c --- /dev/null +++ b/vanilla/node_modules/cssstyle/lib/generated/allProperties.js @@ -0,0 +1,653 @@ +"use strict"; +// autogenerated - 2025-08-02 +// https://www.w3.org/Style/CSS/all-properties.en.html + +module.exports = new Set([ + "-webkit-line-clamp", + "accent-color", + "align-content", + "align-items", + "align-self", + "alignment-baseline", + "all", + "anchor-name", + "anchor-scope", + "animation", + "animation-composition", + "animation-delay", + "animation-direction", + "animation-duration", + "animation-fill-mode", + "animation-iteration-count", + "animation-name", + "animation-play-state", + "animation-range", + "animation-range-end", + "animation-range-start", + "animation-timeline", + "animation-timing-function", + "appearance", + "aspect-ratio", + "azimuth", + "backface-visibility", + "background", + "background-attachment", + "background-blend-mode", + "background-clip", + "background-color", + "background-image", + "background-origin", + "background-position", + "background-repeat", + "background-size", + "baseline-shift", + "baseline-source", + "block-ellipsis", + "block-size", + "block-step", + "block-step-align", + "block-step-insert", + "block-step-round", + "block-step-size", + "bookmark-label", + "bookmark-level", + "bookmark-state", + "border", + "border-block", + "border-block-color", + "border-block-end", + "border-block-end-color", + "border-block-end-radius", + "border-block-end-style", + "border-block-end-width", + "border-block-start", + "border-block-start-color", + "border-block-start-radius", + "border-block-start-style", + "border-block-start-width", + "border-block-style", + "border-block-width", + "border-bottom", + "border-bottom-color", + "border-bottom-left-radius", + "border-bottom-radius", + "border-bottom-right-radius", + "border-bottom-style", + "border-bottom-width", + "border-boundary", + "border-clip", + "border-clip-bottom", + "border-clip-left", + "border-clip-right", + "border-clip-top", + "border-collapse", + "border-color", + "border-end-end-radius", + "border-end-start-radius", + "border-image", + "border-image-outset", + "border-image-repeat", + "border-image-slice", + "border-image-source", + "border-image-width", + "border-inline", + "border-inline-color", + "border-inline-end", + "border-inline-end-color", + "border-inline-end-radius", + "border-inline-end-style", + "border-inline-end-width", + "border-inline-start", + "border-inline-start-color", + "border-inline-start-radius", + "border-inline-start-style", + "border-inline-start-width", + "border-inline-style", + "border-inline-width", + "border-left", + "border-left-color", + "border-left-radius", + "border-left-style", + "border-left-width", + "border-limit", + "border-radius", + "border-right", + "border-right-color", + "border-right-radius", + "border-right-style", + "border-right-width", + "border-shape", + "border-spacing", + "border-start-end-radius", + "border-start-start-radius", + "border-style", + "border-top", + "border-top-color", + "border-top-left-radius", + "border-top-radius", + "border-top-right-radius", + "border-top-style", + "border-top-width", + "border-width", + "bottom", + "box-decoration-break", + "box-shadow", + "box-shadow-blur", + "box-shadow-color", + "box-shadow-offset", + "box-shadow-position", + "box-shadow-spread", + "box-sizing", + "box-snap", + "break-after", + "break-before", + "break-inside", + "caption-side", + "caret", + "caret-color", + "caret-shape", + "clear", + "clip", + "clip-path", + "clip-rule", + "color", + "color-adjust", + "color-interpolation-filters", + "color-scheme", + "column-count", + "column-fill", + "column-gap", + "column-rule", + "column-rule-break", + "column-rule-color", + "column-rule-outset", + "column-rule-style", + "column-rule-width", + "column-span", + "column-width", + "columns", + "contain", + "contain-intrinsic-block-size", + "contain-intrinsic-height", + "contain-intrinsic-inline-size", + "contain-intrinsic-size", + "contain-intrinsic-width", + "container", + "container-name", + "container-type", + "content", + "content-visibility", + "continue", + "corner-block-end-shape", + "corner-block-start-shape", + "corner-bottom-left-shape", + "corner-bottom-right-shape", + "corner-bottom-shape", + "corner-end-end-shape", + "corner-end-start-shape", + "corner-inline-end-shape", + "corner-inline-start-shape", + "corner-left-shape", + "corner-right-shape", + "corner-shape", + "corner-start-end-shape", + "corner-start-start-shape", + "corner-top-left-shape", + "corner-top-right-shape", + "corner-top-shape", + "counter-increment", + "counter-reset", + "counter-set", + "cue", + "cue-after", + "cue-before", + "cursor", + "direction", + "display", + "dominant-baseline", + "dynamic-range-limit", + "elevation", + "empty-cells", + "fill", + "fill-break", + "fill-color", + "fill-image", + "fill-opacity", + "fill-origin", + "fill-position", + "fill-repeat", + "fill-rule", + "fill-size", + "filter", + "flex", + "flex-basis", + "flex-direction", + "flex-flow", + "flex-grow", + "flex-shrink", + "flex-wrap", + "float", + "float-defer", + "float-offset", + "float-reference", + "flood-color", + "flood-opacity", + "flow-from", + "flow-into", + "font", + "font-family", + "font-feature-settings", + "font-kerning", + "font-language-override", + "font-optical-sizing", + "font-palette", + "font-size", + "font-size-adjust", + "font-stretch", + "font-style", + "font-synthesis", + "font-synthesis-position", + "font-synthesis-small-caps", + "font-synthesis-style", + "font-synthesis-weight", + "font-variant", + "font-variant-alternates", + "font-variant-caps", + "font-variant-east-asian", + "font-variant-emoji", + "font-variant-ligatures", + "font-variant-numeric", + "font-variant-position", + "font-variation-settings", + "font-weight", + "font-width", + "footnote-display", + "footnote-policy", + "forced-color-adjust", + "gap", + "glyph-orientation-vertical", + "grid", + "grid-area", + "grid-auto-columns", + "grid-auto-flow", + "grid-auto-rows", + "grid-column", + "grid-column-end", + "grid-column-start", + "grid-row", + "grid-row-end", + "grid-row-start", + "grid-template", + "grid-template-areas", + "grid-template-columns", + "grid-template-rows", + "hanging-punctuation", + "height", + "hyphenate-character", + "hyphenate-limit-chars", + "hyphenate-limit-last", + "hyphenate-limit-lines", + "hyphenate-limit-zone", + "hyphens", + "image-orientation", + "image-rendering", + "image-resolution", + "initial-letter", + "initial-letter-align", + "initial-letter-wrap", + "inline-size", + "inline-sizing", + "inset", + "inset-block", + "inset-block-end", + "inset-block-start", + "inset-inline", + "inset-inline-end", + "inset-inline-start", + "interpolate-size", + "isolation", + "item-cross", + "item-direction", + "item-flow", + "item-pack", + "item-slack", + "item-track", + "item-wrap", + "justify-content", + "justify-items", + "justify-self", + "left", + "letter-spacing", + "lighting-color", + "line-break", + "line-clamp", + "line-fit-edge", + "line-grid", + "line-height", + "line-height-step", + "line-padding", + "line-snap", + "list-style", + "list-style-image", + "list-style-position", + "list-style-type", + "margin", + "margin-block", + "margin-block-end", + "margin-block-start", + "margin-bottom", + "margin-break", + "margin-inline", + "margin-inline-end", + "margin-inline-start", + "margin-left", + "margin-right", + "margin-top", + "margin-trim", + "marker", + "marker-end", + "marker-knockout-left", + "marker-knockout-right", + "marker-mid", + "marker-pattern", + "marker-segment", + "marker-side", + "marker-start", + "mask", + "mask-border", + "mask-border-mode", + "mask-border-outset", + "mask-border-repeat", + "mask-border-slice", + "mask-border-source", + "mask-border-width", + "mask-clip", + "mask-composite", + "mask-image", + "mask-mode", + "mask-origin", + "mask-position", + "mask-repeat", + "mask-size", + "mask-type", + "max-block-size", + "max-height", + "max-inline-size", + "max-lines", + "max-width", + "min-block-size", + "min-height", + "min-inline-size", + "min-intrinsic-sizing", + "min-width", + "mix-blend-mode", + "nav-down", + "nav-left", + "nav-right", + "nav-up", + "object-fit", + "object-position", + "offset", + "offset-anchor", + "offset-distance", + "offset-path", + "offset-position", + "offset-rotate", + "opacity", + "order", + "orphans", + "outline", + "outline-color", + "outline-offset", + "outline-style", + "outline-width", + "overflow", + "overflow-anchor", + "overflow-block", + "overflow-clip-margin", + "overflow-clip-margin-block", + "overflow-clip-margin-block-end", + "overflow-clip-margin-block-start", + "overflow-clip-margin-bottom", + "overflow-clip-margin-inline", + "overflow-clip-margin-inline-end", + "overflow-clip-margin-inline-start", + "overflow-clip-margin-left", + "overflow-clip-margin-right", + "overflow-clip-margin-top", + "overflow-inline", + "overflow-wrap", + "overflow-x", + "overflow-y", + "overlay", + "overscroll-behavior", + "overscroll-behavior-block", + "overscroll-behavior-inline", + "overscroll-behavior-x", + "overscroll-behavior-y", + "padding", + "padding-block", + "padding-block-end", + "padding-block-start", + "padding-bottom", + "padding-inline", + "padding-inline-end", + "padding-inline-start", + "padding-left", + "padding-right", + "padding-top", + "page", + "page-break-after", + "page-break-before", + "page-break-inside", + "pause", + "pause-after", + "pause-before", + "perspective", + "perspective-origin", + "pitch", + "pitch-range", + "place-content", + "place-items", + "place-self", + "play-during", + "position", + "position-anchor", + "position-area", + "position-try", + "position-try-fallbacks", + "position-try-order", + "position-visibility", + "print-color-adjust", + "quotes", + "reading-flow", + "region-fragment", + "resize", + "rest", + "rest-after", + "rest-before", + "richness", + "right", + "rotate", + "row-gap", + "row-rule", + "row-rule-break", + "row-rule-color", + "row-rule-outset", + "row-rule-style", + "row-rule-width", + "ruby-align", + "ruby-merge", + "ruby-overhang", + "ruby-position", + "rule", + "rule-break", + "rule-color", + "rule-outset", + "rule-paint-order", + "rule-style", + "rule-width", + "running", + "scale", + "scroll-behavior", + "scroll-margin", + "scroll-margin-block", + "scroll-margin-block-end", + "scroll-margin-block-start", + "scroll-margin-bottom", + "scroll-margin-inline", + "scroll-margin-inline-end", + "scroll-margin-inline-start", + "scroll-margin-left", + "scroll-margin-right", + "scroll-margin-top", + "scroll-marker-group", + "scroll-padding", + "scroll-padding-block", + "scroll-padding-block-end", + "scroll-padding-block-start", + "scroll-padding-bottom", + "scroll-padding-inline", + "scroll-padding-inline-end", + "scroll-padding-inline-start", + "scroll-padding-left", + "scroll-padding-right", + "scroll-padding-top", + "scroll-snap-align", + "scroll-snap-stop", + "scroll-snap-type", + "scroll-start-target", + "scroll-timeline", + "scroll-timeline-axis", + "scroll-timeline-name", + "scrollbar-color", + "scrollbar-gutter", + "scrollbar-width", + "shape-image-threshold", + "shape-inside", + "shape-margin", + "shape-outside", + "slider-orientation", + "spatial-navigation-action", + "spatial-navigation-contain", + "spatial-navigation-function", + "speak", + "speak-as", + "speak-header", + "speak-numeral", + "speak-punctuation", + "speech-rate", + "stress", + "string-set", + "stroke", + "stroke-align", + "stroke-alignment", + "stroke-break", + "stroke-color", + "stroke-dash-corner", + "stroke-dash-justify", + "stroke-dashadjust", + "stroke-dasharray", + "stroke-dashcorner", + "stroke-dashoffset", + "stroke-image", + "stroke-linecap", + "stroke-linejoin", + "stroke-miterlimit", + "stroke-opacity", + "stroke-origin", + "stroke-position", + "stroke-repeat", + "stroke-size", + "stroke-width", + "tab-size", + "table-layout", + "text-align", + "text-align-all", + "text-align-last", + "text-autospace", + "text-box", + "text-box-edge", + "text-box-trim", + "text-combine-upright", + "text-decoration", + "text-decoration-color", + "text-decoration-line", + "text-decoration-skip", + "text-decoration-skip-box", + "text-decoration-skip-ink", + "text-decoration-skip-inset", + "text-decoration-skip-self", + "text-decoration-skip-spaces", + "text-decoration-style", + "text-decoration-thickness", + "text-emphasis", + "text-emphasis-color", + "text-emphasis-position", + "text-emphasis-skip", + "text-emphasis-style", + "text-group-align", + "text-indent", + "text-justify", + "text-orientation", + "text-overflow", + "text-shadow", + "text-spacing", + "text-spacing-trim", + "text-transform", + "text-underline-offset", + "text-underline-position", + "text-wrap", + "text-wrap-mode", + "text-wrap-style", + "timeline-scope", + "top", + "transform", + "transform-box", + "transform-origin", + "transform-style", + "transition", + "transition-behavior", + "transition-delay", + "transition-duration", + "transition-property", + "transition-timing-function", + "translate", + "unicode-bidi", + "user-select", + "vertical-align", + "view-timeline", + "view-timeline-axis", + "view-timeline-inset", + "view-timeline-name", + "view-transition-class", + "view-transition-group", + "view-transition-name", + "visibility", + "voice-balance", + "voice-duration", + "voice-family", + "voice-pitch", + "voice-range", + "voice-rate", + "voice-stress", + "voice-volume", + "volume", + "white-space", + "white-space-collapse", + "white-space-trim", + "widows", + "width", + "will-change", + "word-break", + "word-space-transform", + "word-spacing", + "word-wrap", + "wrap-after", + "wrap-before", + "wrap-flow", + "wrap-inside", + "wrap-through", + "writing-mode", + "z-index" +]); diff --git a/vanilla/node_modules/cssstyle/lib/generated/implementedProperties.js b/vanilla/node_modules/cssstyle/lib/generated/implementedProperties.js new file mode 100644 index 0000000..4d81c34 --- /dev/null +++ b/vanilla/node_modules/cssstyle/lib/generated/implementedProperties.js @@ -0,0 +1,1466 @@ +"use strict"; +// autogenerated - 2026-01-06 + +module.exports = new Map([ + [ + "-webkit-border-after-color", + null + ], + [ + "-webkit-border-before-color", + null + ], + [ + "-webkit-border-end-color", + null + ], + [ + "-webkit-border-start-color", + null + ], + [ + "-webkit-column-rule-color", + null + ], + [ + "-webkit-tap-highlight-color", + null + ], + [ + "-webkit-text-emphasis-color", + null + ], + [ + "-webkit-text-fill-color", + { + "name": "-webkit-text-fill-color", + "href": "https://compat.spec.whatwg.org/#propdef--webkit-text-fill-color", + "initial": "currentcolor", + "appliesTo": "all elements", + "inherited": "yes", + "percentages": "N/A", + "computedValue": "an RGBA color", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "media": "visual", + "styleDeclaration": [ + "-webkit-text-fill-color", + "WebkitTextFillColor", + "webkitTextFillColor" + ], + "syntax": "<color>", + "extended": [] + } + ], + [ + "-webkit-text-stroke-color", + { + "name": "-webkit-text-stroke-color", + "href": "https://compat.spec.whatwg.org/#propdef--webkit-text-stroke-color", + "initial": "currentcolor", + "appliesTo": "all elements", + "inherited": "yes", + "percentages": "N/A", + "computedValue": "an RGBA color", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "media": "visual", + "styleDeclaration": [ + "-webkit-text-stroke-color", + "WebkitTextStrokeColor", + "webkitTextStrokeColor" + ], + "syntax": "<color>", + "extended": [] + } + ], + [ + "background", + { + "name": "background", + "href": "https://drafts.csswg.org/css-backgrounds-4/#propdef-background", + "initial": "see individual properties", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "see individual properties", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "background" + ], + "syntax": "<bg-layer>#? , <final-bg-layer>", + "extended": [] + } + ], + [ + "background-attachment", + { + "name": "background-attachment", + "href": "https://drafts.csswg.org/css-backgrounds-4/#propdef-background-attachment", + "initial": "scroll", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "list, each item the keyword as specified", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "background-attachment", + "backgroundAttachment" + ], + "syntax": "<attachment>#", + "extended": [] + } + ], + [ + "background-clip", + { + "name": "background-clip", + "href": "https://drafts.csswg.org/css-backgrounds-4/#propdef-background-clip", + "initial": "border-box", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "n/a", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "repeatable list", + "styleDeclaration": [ + "background-clip", + "backgroundClip" + ], + "syntax": "<bg-clip>#", + "extended": [] + } + ], + [ + "background-color", + { + "name": "background-color", + "href": "https://drafts.csswg.org/css-backgrounds-4/#propdef-background-color", + "initial": "transparent", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "computed color", + "canonicalOrder": "per grammar", + "animationType": "by computed value", + "styleDeclaration": [ + "background-color", + "backgroundColor" + ], + "syntax": "<color>", + "extended": [] + } + ], + [ + "background-image", + { + "name": "background-image", + "href": "https://drafts.csswg.org/css-backgrounds-4/#propdef-background-image", + "initial": "none", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "list, each item either an <image> or the keyword none", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "background-image", + "backgroundImage" + ], + "syntax": "<bg-image>#", + "extended": [] + } + ], + [ + "background-origin", + { + "name": "background-origin", + "href": "https://drafts.csswg.org/css-backgrounds-4/#propdef-background-origin", + "initial": "padding-box", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "list, each item a keyword as specified", + "canonicalOrder": "per grammar", + "animationType": "repeatable list", + "styleDeclaration": [ + "background-origin", + "backgroundOrigin" + ], + "syntax": "<visual-box>#", + "extended": [] + } + ], + [ + "background-position", + { + "name": "background-position", + "href": "https://drafts.csswg.org/css-backgrounds-4/#propdef-background-position", + "initial": "0% 0%", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "refer to size of background positioning area minus size of background image; see text", + "computedValue": "a list, each item a pair of offsets (horizontal and vertical) from the top left origin, each offset given as a computed <length-percentage> value", + "canonicalOrder": "per grammar", + "animationType": "repeatable list", + "styleDeclaration": [ + "background-position", + "backgroundPosition" + ], + "syntax": "<bg-position>#", + "extended": [] + } + ], + [ + "background-repeat", + { + "name": "background-repeat", + "href": "https://drafts.csswg.org/css-backgrounds-4/#propdef-background-repeat", + "initial": "repeat", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "list, each item a pair of keywords, one per dimension", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "background-repeat", + "backgroundRepeat" + ], + "syntax": "<repeat-style>#", + "extended": [] + } + ], + [ + "background-size", + { + "name": "background-size", + "href": "https://drafts.csswg.org/css-backgrounds-4/#propdef-background-size", + "initial": "auto", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "see text", + "computedValue": "list, each item a pair of sizes (one per axis) each represented as either a keyword or a computed <length-percentage> value", + "canonicalOrder": "per grammar", + "animationType": "repeatable list", + "styleDeclaration": [ + "background-size", + "backgroundSize" + ], + "syntax": "<bg-size>#", + "extended": [] + } + ], + [ + "border", + { + "name": "border", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border", + "initial": "see individual properties", + "appliesTo": "see individual properties", + "inherited": "see individual properties", + "percentages": "see individual properties", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "border" + ], + "syntax": "<line-width> || <line-style> || <color>", + "extended": [] + } + ], + [ + "border-bottom", + { + "name": "border-bottom", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-bottom", + "initial": "See individual properties", + "appliesTo": "all elements except ruby base containers and ruby annotation containers", + "inherited": "no", + "percentages": "N/A", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "border-bottom", + "borderBottom" + ], + "syntax": "<line-width> || <line-style> || <color>", + "extended": [] + } + ], + [ + "border-bottom-color", + { + "name": "border-bottom-color", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-bottom-color", + "initial": "currentcolor", + "appliesTo": "all elements except ruby base containers and ruby annotation containers", + "inherited": "no", + "percentages": "N/A", + "computedValue": "the computed color and/or a one-dimensional image function", + "canonicalOrder": "per grammar", + "animationType": "see prose", + "logicalPropertyGroup": "border-color", + "styleDeclaration": [ + "border-bottom-color", + "borderBottomColor" + ], + "syntax": "<color> | <image-1D>", + "extended": [] + } + ], + [ + "border-bottom-style", + { + "name": "border-bottom-style", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-bottom-style", + "initial": "none", + "appliesTo": "all elements except ruby base containers and ruby annotation containers", + "inherited": "no", + "percentages": "N/A", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "logicalPropertyGroup": "border-style", + "styleDeclaration": [ + "border-bottom-style", + "borderBottomStyle" + ], + "syntax": "<line-style>", + "extended": [] + } + ], + [ + "border-bottom-width", + { + "name": "border-bottom-width", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-bottom-width", + "initial": "medium", + "appliesTo": "all elements except ruby base containers and ruby annotation containers", + "inherited": "no", + "percentages": "N/A", + "computedValue": "absolute length, snapped as a border width; zero if the border style is none or hidden", + "canonicalOrder": "per grammar", + "animationType": "by computed value", + "logicalPropertyGroup": "border-width", + "styleDeclaration": [ + "border-bottom-width", + "borderBottomWidth" + ], + "syntax": "<line-width>", + "extended": [] + } + ], + [ + "border-collapse", + { + "name": "border-collapse", + "href": "https://drafts.csswg.org/css-tables-3/#propdef-border-collapse", + "initial": "separate", + "appliesTo": "table grid boxes", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "border-collapse", + "borderCollapse" + ], + "syntax": "separate | collapse", + "extended": [] + } + ], + [ + "border-color", + { + "name": "border-color", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-color", + "initial": "see individual properties", + "appliesTo": "see individual properties", + "inherited": "see individual properties", + "percentages": "see individual properties", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "border-color", + "borderColor" + ], + "syntax": "[ <color> | <image-1D> ]{1,4}", + "extended": [] + } + ], + [ + "border-left", + { + "name": "border-left", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-left", + "initial": "See individual properties", + "appliesTo": "all elements except ruby base containers and ruby annotation containers", + "inherited": "no", + "percentages": "N/A", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "border-left", + "borderLeft" + ], + "syntax": "<line-width> || <line-style> || <color>", + "extended": [] + } + ], + [ + "border-left-color", + { + "name": "border-left-color", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-left-color", + "initial": "currentcolor", + "appliesTo": "all elements except ruby base containers and ruby annotation containers", + "inherited": "no", + "percentages": "N/A", + "computedValue": "the computed color and/or a one-dimensional image function", + "canonicalOrder": "per grammar", + "animationType": "see prose", + "logicalPropertyGroup": "border-color", + "styleDeclaration": [ + "border-left-color", + "borderLeftColor" + ], + "syntax": "<color> | <image-1D>", + "extended": [] + } + ], + [ + "border-left-style", + { + "name": "border-left-style", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-left-style", + "initial": "none", + "appliesTo": "all elements except ruby base containers and ruby annotation containers", + "inherited": "no", + "percentages": "N/A", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "logicalPropertyGroup": "border-style", + "styleDeclaration": [ + "border-left-style", + "borderLeftStyle" + ], + "syntax": "<line-style>", + "extended": [] + } + ], + [ + "border-left-width", + { + "name": "border-left-width", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-left-width", + "initial": "medium", + "appliesTo": "all elements except ruby base containers and ruby annotation containers", + "inherited": "no", + "percentages": "N/A", + "computedValue": "absolute length, snapped as a border width; zero if the border style is none or hidden", + "canonicalOrder": "per grammar", + "animationType": "by computed value", + "logicalPropertyGroup": "border-width", + "styleDeclaration": [ + "border-left-width", + "borderLeftWidth" + ], + "syntax": "<line-width>", + "extended": [] + } + ], + [ + "border-right", + { + "name": "border-right", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-right", + "initial": "See individual properties", + "appliesTo": "all elements except ruby base containers and ruby annotation containers", + "inherited": "no", + "percentages": "N/A", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "border-right", + "borderRight" + ], + "syntax": "<line-width> || <line-style> || <color>", + "extended": [] + } + ], + [ + "border-right-color", + { + "name": "border-right-color", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-right-color", + "initial": "currentcolor", + "appliesTo": "all elements except ruby base containers and ruby annotation containers", + "inherited": "no", + "percentages": "N/A", + "computedValue": "the computed color and/or a one-dimensional image function", + "canonicalOrder": "per grammar", + "animationType": "see prose", + "logicalPropertyGroup": "border-color", + "styleDeclaration": [ + "border-right-color", + "borderRightColor" + ], + "syntax": "<color> | <image-1D>", + "extended": [] + } + ], + [ + "border-right-style", + { + "name": "border-right-style", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-right-style", + "initial": "none", + "appliesTo": "all elements except ruby base containers and ruby annotation containers", + "inherited": "no", + "percentages": "N/A", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "logicalPropertyGroup": "border-style", + "styleDeclaration": [ + "border-right-style", + "borderRightStyle" + ], + "syntax": "<line-style>", + "extended": [] + } + ], + [ + "border-right-width", + { + "name": "border-right-width", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-right-width", + "initial": "medium", + "appliesTo": "all elements except ruby base containers and ruby annotation containers", + "inherited": "no", + "percentages": "N/A", + "computedValue": "absolute length, snapped as a border width; zero if the border style is none or hidden", + "canonicalOrder": "per grammar", + "animationType": "by computed value", + "logicalPropertyGroup": "border-width", + "styleDeclaration": [ + "border-right-width", + "borderRightWidth" + ], + "syntax": "<line-width>", + "extended": [] + } + ], + [ + "border-spacing", + { + "name": "border-spacing", + "href": "https://drafts.csswg.org/css-tables-3/#propdef-border-spacing", + "initial": "0px 0px", + "appliesTo": "table grid boxes when border-collapse is separate", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "two absolute lengths", + "canonicalOrder": "per grammar", + "animationType": "by computed value", + "styleDeclaration": [ + "border-spacing", + "borderSpacing" + ], + "syntax": "<length>{1,2}", + "extended": [] + } + ], + [ + "border-style", + { + "name": "border-style", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-style", + "initial": "see individual properties", + "appliesTo": "see individual properties", + "inherited": "see individual properties", + "percentages": "see individual properties", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "border-style", + "borderStyle" + ], + "syntax": "<'border-top-style'>{1,4}", + "extended": [] + } + ], + [ + "border-top", + { + "name": "border-top", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-top", + "initial": "See individual properties", + "appliesTo": "all elements except ruby base containers and ruby annotation containers", + "inherited": "no", + "percentages": "N/A", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "border-top", + "borderTop" + ], + "syntax": "<line-width> || <line-style> || <color>", + "extended": [] + } + ], + [ + "border-top-color", + { + "name": "border-top-color", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-top-color", + "initial": "currentcolor", + "appliesTo": "all elements except ruby base containers and ruby annotation containers", + "inherited": "no", + "percentages": "N/A", + "computedValue": "the computed color and/or a one-dimensional image function", + "canonicalOrder": "per grammar", + "animationType": "see prose", + "logicalPropertyGroup": "border-color", + "styleDeclaration": [ + "border-top-color", + "borderTopColor" + ], + "syntax": "<color> | <image-1D>", + "extended": [] + } + ], + [ + "border-top-style", + { + "name": "border-top-style", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-top-style", + "initial": "none", + "appliesTo": "all elements except ruby base containers and ruby annotation containers", + "inherited": "no", + "percentages": "N/A", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "logicalPropertyGroup": "border-style", + "styleDeclaration": [ + "border-top-style", + "borderTopStyle" + ], + "syntax": "<line-style>", + "extended": [] + } + ], + [ + "border-top-width", + { + "name": "border-top-width", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-top-width", + "initial": "medium", + "appliesTo": "all elements except ruby base containers and ruby annotation containers", + "inherited": "no", + "percentages": "N/A", + "computedValue": "absolute length, snapped as a border width; zero if the border style is none or hidden", + "canonicalOrder": "per grammar", + "animationType": "by computed value", + "logicalPropertyGroup": "border-width", + "styleDeclaration": [ + "border-top-width", + "borderTopWidth" + ], + "syntax": "<line-width>", + "extended": [] + } + ], + [ + "border-width", + { + "name": "border-width", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-width", + "initial": "see individual properties", + "appliesTo": "see individual properties", + "inherited": "see individual properties", + "percentages": "see individual properties", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "border-width", + "borderWidth" + ], + "syntax": "<'border-top-width'>{1,4}", + "extended": [] + } + ], + [ + "bottom", + { + "name": "bottom", + "href": "https://drafts.csswg.org/css-position-3/#propdef-bottom", + "initial": "auto", + "appliesTo": "positioned elements", + "inherited": "no", + "percentages": "refer to size of containing block; see prose", + "computedValue": "the keyword auto or a computed <length-percentage> value", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "logicalPropertyGroup": "inset", + "styleDeclaration": [ + "bottom" + ], + "syntax": "auto | <length-percentage> | <anchor()> | <anchor-size()>", + "extended": [ + "https://drafts.csswg.org/css-anchor-position-1/" + ] + } + ], + [ + "clear", + { + "name": "clear", + "href": "https://drafts.csswg.org/css-page-floats-3/#propdef-clear", + "initial": "none", + "appliesTo": "block-level elements, floats, regions, pages", + "inherited": "no", + "percentages": "N/A", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "clear" + ], + "syntax": "inline-start | inline-end | block-start | block-end | left | right | top | bottom | both-inline | both-block | both | none", + "extended": [] + } + ], + [ + "clip", + { + "name": "clip", + "href": "https://drafts.fxtf.org/css-masking-1/#propdef-clip", + "initial": "auto", + "appliesTo": "Absolutely positioned elements. In SVG, it applies to elements which establish a new viewport, pattern elements and mask elements.", + "inherited": "no", + "percentages": "n/a", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "by computed value", + "media": "visual", + "styleDeclaration": [ + "clip" + ], + "syntax": "<rect()> | auto", + "extended": [] + } + ], + [ + "color", + { + "name": "color", + "href": "https://drafts.csswg.org/css-color-4/#propdef-color", + "initial": "CanvasText", + "appliesTo": "all elements and text", + "inherited": "yes", + "percentages": "N/A", + "computedValue": "computed color, see resolving color values", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "styleDeclaration": [ + "color" + ], + "syntax": "<color>", + "extended": [] + } + ], + [ + "display", + { + "name": "display", + "href": "https://drafts.csswg.org/css-display-4/#propdef-display", + "initial": "inline", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "n/a", + "computedValue": "a pair of keywords representing the inner and outer display types plus optional list-item flag, or a <display-internal> or <display-box> keyword; see prose in a variety of specs for computation rules", + "canonicalOrder": "per grammar", + "animationType": "see § 2.9 Animating and Interpolating display", + "styleDeclaration": [ + "display" + ], + "syntax": "[ <display-outside> || <display-inside> ] | <display-listitem> | <display-internal> | <display-box> | <display-legacy> | <display-outside> || [ <display-inside> | math ]", + "extended": [ + "https://w3c.github.io/mathml-core/" + ] + } + ], + [ + "flex", + { + "name": "flex", + "href": "https://drafts.csswg.org/css-flexbox-1/#propdef-flex", + "initial": "0 1 auto", + "appliesTo": "flex items", + "inherited": "no", + "percentages": "see individual properties", + "computedValue": "see individual properties", + "animationType": "by computed value type", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "flex" + ], + "syntax": "none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]", + "extended": [] + } + ], + [ + "flex-basis", + { + "name": "flex-basis", + "href": "https://drafts.csswg.org/css-flexbox-1/#propdef-flex-basis", + "initial": "auto", + "appliesTo": "flex items", + "inherited": "no", + "percentages": "relative to the flex container’s inner main size", + "computedValue": "specified keyword or a computed <length-percentage> value", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "styleDeclaration": [ + "flex-basis", + "flexBasis" + ], + "syntax": "content | <'width'>", + "extended": [] + } + ], + [ + "flex-grow", + { + "name": "flex-grow", + "href": "https://drafts.csswg.org/css-flexbox-1/#propdef-flex-grow", + "initial": "0", + "appliesTo": "flex items", + "inherited": "no", + "percentages": "n/a", + "computedValue": "specified number", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "styleDeclaration": [ + "flex-grow", + "flexGrow" + ], + "syntax": "<number [0,∞]>", + "extended": [] + } + ], + [ + "flex-shrink", + { + "name": "flex-shrink", + "href": "https://drafts.csswg.org/css-flexbox-1/#propdef-flex-shrink", + "initial": "1", + "appliesTo": "flex items", + "inherited": "no", + "percentages": "n/a", + "computedValue": "specified value", + "canonicalOrder": "per grammar", + "animationType": "number", + "styleDeclaration": [ + "flex-shrink", + "flexShrink" + ], + "syntax": "<number [0,∞]>", + "extended": [] + } + ], + [ + "float", + { + "name": "float", + "href": "https://drafts.csswg.org/css-page-floats-3/#propdef-float", + "initial": "none", + "appliesTo": "all elements.", + "inherited": "no", + "percentages": "N/A", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "styleDeclaration": [ + "float" + ], + "syntax": "block-start | block-end | inline-start | inline-end | snap-block | <snap-block()> | snap-inline | <snap-inline()> | left | right | top | bottom | none | footnote", + "extended": [ + "https://drafts.csswg.org/css-gcpm-3/" + ] + } + ], + [ + "flood-color", + { + "name": "flood-color", + "href": "https://drafts.fxtf.org/filter-effects-1/#propdef-flood-color", + "initial": "black", + "appliesTo": "feFlood and feDropShadow elements", + "inherited": "no", + "percentages": "n/a", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "by computed value", + "media": "visual", + "styleDeclaration": [ + "flood-color", + "floodColor" + ], + "syntax": "<color>", + "extended": [] + } + ], + [ + "font", + { + "name": "font", + "href": "https://drafts.csswg.org/css-fonts-4/#propdef-font", + "initial": "see individual properties", + "appliesTo": "all elements and text", + "inherited": "yes", + "percentages": "see individual properties", + "computedValue": "see individual properties", + "canonicalOrder": "per grammar", + "animationType": "see individual properties", + "styleDeclaration": [ + "font" + ], + "syntax": "[ [ <'font-style'> || <font-variant-css2> || <'font-weight'> || <font-width-css3> ]? <'font-size'> [ / <'line-height'> ]? <'font-family'># ] | <system-family-name>", + "extended": [] + } + ], + [ + "font-family", + { + "name": "font-family", + "href": "https://drafts.csswg.org/css-fonts-4/#propdef-font-family", + "initial": "depends on user agent", + "appliesTo": "all elements and text", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "list, each item a string and/or <generic-family> keywords", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "font-family", + "fontFamily" + ], + "syntax": "[ <family-name> | <generic-family> ]#", + "extended": [] + } + ], + [ + "font-size", + { + "name": "font-size", + "href": "https://drafts.csswg.org/css-fonts-4/#propdef-font-size", + "initial": "medium", + "appliesTo": "all elements and text", + "inherited": "yes", + "percentages": "refer to parent element’s font size", + "computedValue": "an absolute length", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "styleDeclaration": [ + "font-size", + "fontSize" + ], + "syntax": "<absolute-size> | <relative-size> | <length-percentage [0,∞]> | math", + "extended": [] + } + ], + [ + "font-style", + { + "name": "font-style", + "href": "https://drafts.csswg.org/css-fonts-4/#propdef-font-style", + "initial": "normal", + "appliesTo": "all elements and text", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "the keyword specified, plus angle in degrees if specified", + "canonicalOrder": "per grammar", + "animationType": "by computed value type;normal animates as oblique 0deg", + "styleDeclaration": [ + "font-style", + "fontStyle" + ], + "syntax": "normal | italic | left | right | oblique <angle [-90deg,90deg]>?", + "extended": [] + } + ], + [ + "font-variant", + { + "name": "font-variant", + "href": "https://drafts.csswg.org/css-fonts-4/#propdef-font-variant", + "initial": "normal", + "appliesTo": "all elements and text", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "font-variant", + "fontVariant" + ], + "syntax": "normal | none | [ [ <common-lig-values> || <discretionary-lig-values> || <historical-lig-values> || <contextual-alt-values> ] || [ small-caps | all-small-caps | petite-caps | all-petite-caps | unicase | titling-caps ] || [ stylistic(<feature-value-name>) || historical-forms || styleset(<feature-value-name>#) || character-variant(<feature-value-name>#) || swash(<feature-value-name>) || ornaments(<feature-value-name>) || annotation(<feature-value-name>) ] || [ <numeric-figure-values> || <numeric-spacing-values> || <numeric-fraction-values> || ordinal || slashed-zero ] || [ <east-asian-variant-values> || <east-asian-width-values> || ruby ] || [ sub | super ] || [ text | emoji | unicode ] ]", + "extended": [] + } + ], + [ + "font-weight", + { + "name": "font-weight", + "href": "https://drafts.csswg.org/css-fonts-4/#propdef-font-weight", + "initial": "normal", + "appliesTo": "all elements and text", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "a number, see below", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "styleDeclaration": [ + "font-weight", + "fontWeight" + ], + "syntax": "<font-weight-absolute> | bolder | lighter", + "extended": [] + } + ], + [ + "height", + { + "name": "height", + "href": "https://drafts.csswg.org/css-sizing-3/#propdef-height", + "initial": "auto", + "appliesTo": "all elements except non-replaced inlines", + "inherited": "no", + "percentages": "relative to width/height of containing block", + "computedValue": "as specified, with <length-percentage> values computed", + "canonicalOrder": "per grammar", + "animationType": "by computed value type, recursing into fit-content()", + "logicalPropertyGroup": "size", + "styleDeclaration": [ + "height" + ], + "syntax": "auto | <length-percentage [0,∞]> | min-content | max-content | fit-content(<length-percentage [0,∞]>) | <calc-size()> | <anchor-size()> | stretch | fit-content | contain", + "extended": [ + "https://drafts.csswg.org/css-anchor-position-1/", + "https://drafts.csswg.org/css-sizing-4/" + ] + } + ], + [ + "left", + { + "name": "left", + "href": "https://drafts.csswg.org/css-position-3/#propdef-left", + "initial": "auto", + "appliesTo": "positioned elements", + "inherited": "no", + "percentages": "refer to size of containing block; see prose", + "computedValue": "the keyword auto or a computed <length-percentage> value", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "logicalPropertyGroup": "inset", + "styleDeclaration": [ + "left" + ], + "syntax": "auto | <length-percentage> | <anchor()> | <anchor-size()>", + "extended": [ + "https://drafts.csswg.org/css-anchor-position-1/" + ] + } + ], + [ + "lighting-color", + { + "name": "lighting-color", + "href": "https://drafts.fxtf.org/filter-effects-1/#propdef-lighting-color", + "initial": "white", + "appliesTo": "feDiffuseLighting and feSpecularLighting elements", + "inherited": "no", + "percentages": "n/a", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "by computed value", + "media": "visual", + "styleDeclaration": [ + "lighting-color", + "lightingColor" + ], + "syntax": "<color>", + "extended": [] + } + ], + [ + "line-height", + { + "name": "line-height", + "href": "https://drafts.csswg.org/css-inline-3/#propdef-line-height", + "initial": "normal", + "appliesTo": "non-replaced inline boxes and SVG text content elements", + "inherited": "yes", + "percentages": "computed relative to 1em", + "computedValue": "the specified keyword, a number, or a computed <length> value", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "styleDeclaration": [ + "line-height", + "lineHeight" + ], + "syntax": "normal | <number [0,∞]> | <length-percentage [0,∞]>", + "extended": [] + } + ], + [ + "margin", + { + "name": "margin", + "href": "https://drafts.csswg.org/css-box-4/#propdef-margin", + "initial": "0", + "appliesTo": "all elements except internal table elements, ruby base containers, and ruby annotation containers", + "inherited": "no", + "percentages": "refer to logical width of containing block", + "computedValue": "see individual properties", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "styleDeclaration": [ + "margin" + ], + "syntax": "<'margin-top'>{1,4}", + "extended": [] + } + ], + [ + "margin-bottom", + { + "name": "margin-bottom", + "href": "https://drafts.csswg.org/css-box-4/#propdef-margin-bottom", + "initial": "0", + "appliesTo": "all elements except internal table elements, ruby base containers, and ruby annotation containers", + "inherited": "no", + "percentages": "refer to logical width of containing block", + "computedValue": "the keyword auto or a computed <length-percentage> value", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "logicalPropertyGroup": "margin", + "styleDeclaration": [ + "margin-bottom", + "marginBottom" + ], + "syntax": "<length-percentage> | auto | <anchor-size()>", + "extended": [ + "https://drafts.csswg.org/css-anchor-position-1/" + ] + } + ], + [ + "margin-left", + { + "name": "margin-left", + "href": "https://drafts.csswg.org/css-box-4/#propdef-margin-left", + "initial": "0", + "appliesTo": "all elements except internal table elements, ruby base containers, and ruby annotation containers", + "inherited": "no", + "percentages": "refer to logical width of containing block", + "computedValue": "the keyword auto or a computed <length-percentage> value", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "logicalPropertyGroup": "margin", + "styleDeclaration": [ + "margin-left", + "marginLeft" + ], + "syntax": "<length-percentage> | auto | <anchor-size()>", + "extended": [ + "https://drafts.csswg.org/css-anchor-position-1/" + ] + } + ], + [ + "margin-right", + { + "name": "margin-right", + "href": "https://drafts.csswg.org/css-box-4/#propdef-margin-right", + "initial": "0", + "appliesTo": "all elements except internal table elements, ruby base containers, and ruby annotation containers", + "inherited": "no", + "percentages": "refer to logical width of containing block", + "computedValue": "the keyword auto or a computed <length-percentage> value", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "logicalPropertyGroup": "margin", + "styleDeclaration": [ + "margin-right", + "marginRight" + ], + "syntax": "<length-percentage> | auto | <anchor-size()>", + "extended": [ + "https://drafts.csswg.org/css-anchor-position-1/" + ] + } + ], + [ + "margin-top", + { + "name": "margin-top", + "href": "https://drafts.csswg.org/css-box-4/#propdef-margin-top", + "initial": "0", + "appliesTo": "all elements except internal table elements, ruby base containers, and ruby annotation containers", + "inherited": "no", + "percentages": "refer to logical width of containing block", + "computedValue": "the keyword auto or a computed <length-percentage> value", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "logicalPropertyGroup": "margin", + "styleDeclaration": [ + "margin-top", + "marginTop" + ], + "syntax": "<length-percentage> | auto | <anchor-size()>", + "extended": [ + "https://drafts.csswg.org/css-anchor-position-1/" + ] + } + ], + [ + "opacity", + { + "name": "opacity", + "href": "https://drafts.csswg.org/css-color-4/#propdef-opacity", + "initial": "1", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "map to the range [0,1]", + "computedValue": "specified number, clamped to the range [0,1]", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "styleDeclaration": [ + "opacity" + ], + "syntax": "<opacity-value>", + "extended": [] + } + ], + [ + "outline-color", + { + "name": "outline-color", + "href": "https://drafts.csswg.org/css-ui-4/#propdef-outline-color", + "initial": "auto", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "see below", + "canonicalOrder": "per grammar", + "animationType": "by computed value", + "styleDeclaration": [ + "outline-color", + "outlineColor" + ], + "syntax": "auto | <'border-top-color'>", + "extended": [] + } + ], + [ + "padding", + { + "name": "padding", + "href": "https://drafts.csswg.org/css-box-4/#propdef-padding", + "initial": "0", + "appliesTo": "all elements except: internal table elements other than table cells, ruby base containers, and ruby annotation containers", + "inherited": "no", + "percentages": "refer to logical width of containing block", + "computedValue": "see individual properties", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "styleDeclaration": [ + "padding" + ], + "syntax": "<'padding-top'>{1,4}", + "extended": [] + } + ], + [ + "padding-bottom", + { + "name": "padding-bottom", + "href": "https://drafts.csswg.org/css-box-4/#propdef-padding-bottom", + "initial": "0", + "appliesTo": "all elements except: internal table elements other than table cells, ruby base containers, and ruby annotation containers", + "inherited": "no", + "percentages": "refer to logical width of containing block", + "computedValue": "a computed <length-percentage> value", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "logicalPropertyGroup": "padding", + "styleDeclaration": [ + "padding-bottom", + "paddingBottom" + ], + "syntax": "<length-percentage [0,∞]>", + "extended": [] + } + ], + [ + "padding-left", + { + "name": "padding-left", + "href": "https://drafts.csswg.org/css-box-4/#propdef-padding-left", + "initial": "0", + "appliesTo": "all elements except: internal table elements other than table cells, ruby base containers, and ruby annotation containers", + "inherited": "no", + "percentages": "refer to logical width of containing block", + "computedValue": "a computed <length-percentage> value", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "logicalPropertyGroup": "padding", + "styleDeclaration": [ + "padding-left", + "paddingLeft" + ], + "syntax": "<length-percentage [0,∞]>", + "extended": [] + } + ], + [ + "padding-right", + { + "name": "padding-right", + "href": "https://drafts.csswg.org/css-box-4/#propdef-padding-right", + "initial": "0", + "appliesTo": "all elements except: internal table elements other than table cells, ruby base containers, and ruby annotation containers", + "inherited": "no", + "percentages": "refer to logical width of containing block", + "computedValue": "a computed <length-percentage> value", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "logicalPropertyGroup": "padding", + "styleDeclaration": [ + "padding-right", + "paddingRight" + ], + "syntax": "<length-percentage [0,∞]>", + "extended": [] + } + ], + [ + "padding-top", + { + "name": "padding-top", + "href": "https://drafts.csswg.org/css-box-4/#propdef-padding-top", + "initial": "0", + "appliesTo": "all elements except: internal table elements other than table cells, ruby base containers, and ruby annotation containers", + "inherited": "no", + "percentages": "refer to logical width of containing block", + "computedValue": "a computed <length-percentage> value", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "logicalPropertyGroup": "padding", + "styleDeclaration": [ + "padding-top", + "paddingTop" + ], + "syntax": "<length-percentage [0,∞]>", + "extended": [] + } + ], + [ + "right", + { + "name": "right", + "href": "https://drafts.csswg.org/css-position-3/#propdef-right", + "initial": "auto", + "appliesTo": "positioned elements", + "inherited": "no", + "percentages": "refer to size of containing block; see prose", + "computedValue": "the keyword auto or a computed <length-percentage> value", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "logicalPropertyGroup": "inset", + "styleDeclaration": [ + "right" + ], + "syntax": "auto | <length-percentage> | <anchor()> | <anchor-size()>", + "extended": [ + "https://drafts.csswg.org/css-anchor-position-1/" + ] + } + ], + [ + "stop-color", + { + "name": "stop-color", + "href": "https://svgwg.org/svg2-draft/pservers.html#StopColorProperty", + "styleDeclaration": [ + "stop-color", + "stopColor" + ], + "extended": [] + } + ], + [ + "top", + { + "name": "top", + "href": "https://drafts.csswg.org/css-position-3/#propdef-top", + "initial": "auto", + "appliesTo": "positioned elements", + "inherited": "no", + "percentages": "refer to size of containing block; see prose", + "computedValue": "the keyword auto or a computed <length-percentage> value", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "logicalPropertyGroup": "inset", + "styleDeclaration": [ + "top" + ], + "syntax": "auto | <length-percentage> | <anchor()> | <anchor-size()>", + "extended": [ + "https://drafts.csswg.org/css-anchor-position-1/" + ] + } + ], + [ + "width", + { + "name": "width", + "href": "https://drafts.csswg.org/css-sizing-3/#propdef-width", + "initial": "auto", + "appliesTo": "all elements except non-replaced inlines", + "inherited": "no", + "percentages": "relative to width/height of containing block", + "computedValue": "as specified, with <length-percentage> values computed", + "canonicalOrder": "per grammar", + "animationType": "by computed value type, recursing into fit-content()", + "logicalPropertyGroup": "size", + "styleDeclaration": [ + "width" + ], + "syntax": "auto | <length-percentage [0,∞]> | min-content | max-content | fit-content(<length-percentage [0,∞]>) | <calc-size()> | <anchor-size()> | stretch | fit-content | contain", + "extended": [ + "https://drafts.csswg.org/css-anchor-position-1/", + "https://drafts.csswg.org/css-sizing-4/" + ] + } + ] +]); diff --git a/vanilla/node_modules/cssstyle/lib/generated/properties.js b/vanilla/node_modules/cssstyle/lib/generated/properties.js new file mode 100644 index 0000000..8399ea6 --- /dev/null +++ b/vanilla/node_modules/cssstyle/lib/generated/properties.js @@ -0,0 +1,6637 @@ +"use strict"; +// autogenerated - 2026-01-06 +// https://www.w3.org/Style/CSS/all-properties.en.html + +var external_dependency_parsers_0 = require("../parsers.js"); +var backgroundImage_export_parse, backgroundImage_export_definition, backgroundImage_export_property; +const backgroundImage_local_var_property = "background-image"; +const backgroundImage_local_var_shorthand = "background"; +backgroundImage_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "") { + return v; + } + const values = external_dependency_parsers_0.splitValue(v, { + delimiter: "," + }); + const parsedValues = []; + for (const val of values) { + const value = external_dependency_parsers_0.parsePropertyValue(backgroundImage_local_var_property, val, { + globalObject, + inArray: true + }); + if (Array.isArray(value) && value.length === 1) { + const parsedValue = external_dependency_parsers_0.resolveGradientUrlValue(value); + if (!parsedValue) { + return; + } + parsedValues.push(parsedValue); + } else if (typeof value === "string") { + parsedValues.push(value); + } else { + return; + } + } + if (parsedValues.length) { + return parsedValues.join(", "); + } +}; +backgroundImage_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (external_dependency_parsers_0.hasVarFunc(v)) { + this._setProperty(backgroundImage_local_var_shorthand, ""); + this._setProperty(backgroundImage_local_var_property, v); + } else { + const val = backgroundImage_export_parse(v, { + globalObject: this._global + }); + if (typeof val === "string") { + const priority = !this._priorities.get(backgroundImage_local_var_shorthand) && this._priorities.has(backgroundImage_local_var_property) ? this._priorities.get(backgroundImage_local_var_property) : ""; + this._setProperty(backgroundImage_local_var_property, val, priority); + } + } + }, + get() { + return this.getPropertyValue(backgroundImage_local_var_property); + }, + enumerable: true, + configurable: true +}; +backgroundImage_export_property = backgroundImage_local_var_property; +var backgroundPosition_export_parse, backgroundPosition_export_definition, backgroundPosition_export_property; +const backgroundPosition_local_var_property = "background-position"; +const backgroundPosition_local_var_shorthand = "background"; +const backgroundPosition_local_var_keyX = ["left", "right"]; +const backgroundPosition_local_var_keyY = ["top", "bottom"]; +const backgroundPosition_local_var_keywordsX = ["center", ...backgroundPosition_local_var_keyX]; +const backgroundPosition_local_var_keywordsY = ["center", ...backgroundPosition_local_var_keyY]; +const backgroundPosition_local_var_keywords = ["center", ...backgroundPosition_local_var_keyX, ...backgroundPosition_local_var_keyY]; +backgroundPosition_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "") { + return v; + } + const { + AST_TYPES + } = external_dependency_parsers_0; + const values = external_dependency_parsers_0.splitValue(v, { + delimiter: "," + }); + const parsedValues = []; + for (const val of values) { + const value = external_dependency_parsers_0.parsePropertyValue(backgroundPosition_local_var_property, val, { + globalObject, + inArray: true + }); + if (Array.isArray(value) && value.length) { + const [part1, part2, part3, part4] = value; + let parsedValue = ""; + switch (value.length) { + case 1: + { + const val1 = part1.type === AST_TYPES.IDENTIFIER ? part1.name : external_dependency_parsers_0.resolveNumericValue([part1], { + type: "length" + }); + if (val1) { + if (val1 === "center") { + parsedValue = `${val1} ${val1}`; + } else if (val1 === "top" || val1 === "bottom") { + parsedValue = `center ${val1}`; + } else { + parsedValue = `${val1} center`; + } + } + break; + } + case 2: + { + const val1 = part1.type === AST_TYPES.IDENTIFIER ? part1.name : external_dependency_parsers_0.resolveNumericValue([part1], { + type: "length" + }); + const val2 = part2.type === AST_TYPES.IDENTIFIER ? part2.name : external_dependency_parsers_0.resolveNumericValue([part2], { + type: "length" + }); + if (val1 && val2) { + if (backgroundPosition_local_var_keywordsX.includes(val1) && backgroundPosition_local_var_keywordsY.includes(val2)) { + parsedValue = `${val1} ${val2}`; + } else if (backgroundPosition_local_var_keywordsY.includes(val1) && backgroundPosition_local_var_keywordsX.includes(val2)) { + parsedValue = `${val2} ${val1}`; + } else if (backgroundPosition_local_var_keywordsX.includes(val1)) { + if (val2 === "center" || !backgroundPosition_local_var_keywordsX.includes(val2)) { + parsedValue = `${val1} ${val2}`; + } + } else if (backgroundPosition_local_var_keywordsY.includes(val2)) { + if (!backgroundPosition_local_var_keywordsY.includes(val1)) { + parsedValue = `${val1} ${val2}`; + } + } else if (!backgroundPosition_local_var_keywordsY.includes(val1) && !backgroundPosition_local_var_keywordsX.includes(val2)) { + parsedValue = `${val1} ${val2}`; + } + } + break; + } + case 3: + { + const val1 = part1.type === AST_TYPES.IDENTIFIER && part1.name; + const val2 = part2.type === AST_TYPES.IDENTIFIER ? part2.name : external_dependency_parsers_0.resolveNumericValue([part2], { + type: "length" + }); + const val3 = part3.type === AST_TYPES.IDENTIFIER ? part3.name : external_dependency_parsers_0.resolveNumericValue([part3], { + type: "length" + }); + if (val1 && val2 && val3) { + let posX = ""; + let offX = ""; + let posY = ""; + let offY = ""; + if (backgroundPosition_local_var_keywordsX.includes(val1)) { + if (backgroundPosition_local_var_keyY.includes(val2)) { + if (!backgroundPosition_local_var_keywords.includes(val3)) { + posX = val1; + posY = val2; + offY = val3; + } + } else if (backgroundPosition_local_var_keyY.includes(val3)) { + if (!backgroundPosition_local_var_keywords.includes(val2)) { + posX = val1; + offX = val2; + posY = val3; + } + } + } else if (backgroundPosition_local_var_keywordsY.includes(val1)) { + if (backgroundPosition_local_var_keyX.includes(val2)) { + if (!backgroundPosition_local_var_keywords.includes(val3)) { + posX = val2; + offX = val3; + posY = val1; + } + } else if (backgroundPosition_local_var_keyX.includes(val3)) { + if (!backgroundPosition_local_var_keywords.includes(val2)) { + posX = val3; + posY = val1; + offY = val2; + } + } + } + if (posX && posY) { + if (offX) { + parsedValue = `${posX} ${offX} ${posY}`; + } else if (offY) { + parsedValue = `${posX} ${posY} ${offY}`; + } + } + } + break; + } + case 4: + { + const val1 = part1.type === AST_TYPES.IDENTIFIER && part1.name; + const val2 = external_dependency_parsers_0.resolveNumericValue([part2], { + type: "length" + }); + const val3 = part3.type === AST_TYPES.IDENTIFIER && part3.name; + const val4 = external_dependency_parsers_0.resolveNumericValue([part4], { + type: "length" + }); + if (val1 && val2 && val3 && val4) { + let posX = ""; + let offX = ""; + let posY = ""; + let offY = ""; + if (backgroundPosition_local_var_keywordsX.includes(val1) && backgroundPosition_local_var_keyY.includes(val3)) { + posX = val1; + offX = val2; + posY = val3; + offY = val4; + } else if (backgroundPosition_local_var_keyX.includes(val1) && backgroundPosition_local_var_keywordsY.includes(val3)) { + posX = val1; + offX = val2; + posY = val3; + offY = val4; + } else if (backgroundPosition_local_var_keyY.includes(val1) && backgroundPosition_local_var_keywordsX.includes(val3)) { + posX = val3; + offX = val4; + posY = val1; + offY = val2; + } + if (posX && offX && posY && offY) { + parsedValue = `${posX} ${offX} ${posY} ${offY}`; + } + } + break; + } + default: + } + if (parsedValue) { + parsedValues.push(parsedValue); + } else { + return; + } + } else if (typeof value === "string") { + parsedValues.push(value); + } + } + if (parsedValues.length) { + return parsedValues.join(", "); + } +}; +backgroundPosition_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (external_dependency_parsers_0.hasVarFunc(v)) { + this._setProperty(backgroundPosition_local_var_shorthand, ""); + this._setProperty(backgroundPosition_local_var_property, v); + } else { + const val = backgroundPosition_export_parse(v, { + globalObject: this._global + }); + if (typeof val === "string") { + const priority = !this._priorities.get(backgroundPosition_local_var_shorthand) && this._priorities.has(backgroundPosition_local_var_property) ? this._priorities.get(backgroundPosition_local_var_property) : ""; + this._setProperty(backgroundPosition_local_var_property, val, priority); + } + } + }, + get() { + return this.getPropertyValue(backgroundPosition_local_var_property); + }, + enumerable: true, + configurable: true +}; +backgroundPosition_export_property = backgroundPosition_local_var_property; +var backgroundSize_export_parse, backgroundSize_export_definition, backgroundSize_export_property; +const backgroundSize_local_var_property = "background-size"; +const backgroundSize_local_var_shorthand = "background"; +backgroundSize_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "") { + return v; + } + const { + AST_TYPES + } = external_dependency_parsers_0; + const values = external_dependency_parsers_0.splitValue(v, { + delimiter: "," + }); + const parsedValues = []; + for (const val of values) { + const value = external_dependency_parsers_0.parsePropertyValue(backgroundSize_local_var_property, val, { + globalObject, + inArray: true + }); + if (Array.isArray(value) && value.length) { + if (value.length === 1) { + const [{ + isNumber, + name, + type, + value: itemValue + }] = value; + switch (type) { + case AST_TYPES.CALC: + { + if (isNumber) { + return; + } + parsedValues.push(`${name}(${itemValue})`); + break; + } + case AST_TYPES.GLOBAL_KEYWORD: + case AST_TYPES.IDENTIFIER: + { + parsedValues.push(name); + break; + } + default: + { + const parsedValue = external_dependency_parsers_0.resolveNumericValue(value, { + type: "length" + }); + if (!parsedValue) { + return; + } + parsedValues.push(parsedValue); + } + } + } else { + const [val1, val2] = value; + const parts = []; + if (val1.type === AST_TYPES.CALC && !val1.isNumber) { + parts.push(`${val1.name}(${val1.value})`); + } else if (val1.type === AST_TYPES.IDENTIFIER) { + parts.push(val1.name); + } else if (val1.type === AST_TYPES.DIMENSION) { + parts.push(`${val1.value}${val1.unit}`); + } else if (val1.type === AST_TYPES.PERCENTAGE) { + parts.push(`${val1.value}%`); + } else { + return; + } + switch (val2.type) { + case AST_TYPES.CALC: + { + if (val2.isNumber) { + return; + } + parts.push(`${val2.name}(${val2.value})`); + break; + } + case AST_TYPES.DIMENSION: + { + parts.push(`${val2.value}${val2.unit}`); + break; + } + case AST_TYPES.IDENTIFIER: + { + if (val2.name !== "auto") { + parts.push(val2.name); + } + break; + } + case AST_TYPES.PERCENTAGE: + { + parts.push(`${val2.value}%`); + break; + } + default: + { + return; + } + } + parsedValues.push(parts.join(" ")); + } + } else if (typeof value === "string") { + parsedValues.push(value); + } + } + if (parsedValues.length) { + return parsedValues.join(", "); + } +}; +backgroundSize_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (external_dependency_parsers_0.hasVarFunc(v)) { + this._setProperty(backgroundSize_local_var_shorthand, ""); + this._setProperty(backgroundSize_local_var_property, v); + } else { + const val = backgroundSize_export_parse(v, { + globalObject: this._global + }); + if (typeof val === "string") { + const priority = !this._priorities.get(backgroundSize_local_var_shorthand) && this._priorities.has(backgroundSize_local_var_property) ? this._priorities.get(backgroundSize_local_var_property) : ""; + this._setProperty(backgroundSize_local_var_property, val, priority); + } + } + }, + get() { + return this.getPropertyValue(backgroundSize_local_var_property); + }, + enumerable: true, + configurable: true +}; +backgroundSize_export_property = backgroundSize_local_var_property; +var backgroundRepeat_export_parse, backgroundRepeat_export_definition, backgroundRepeat_export_property; +const backgroundRepeat_local_var_property = "background-repeat"; +const backgroundRepeat_local_var_shorthand = "background"; +backgroundRepeat_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "") { + return v; + } + const { + AST_TYPES + } = external_dependency_parsers_0; + const values = external_dependency_parsers_0.splitValue(v, { + delimiter: "," + }); + const parsedValues = []; + for (const val of values) { + const value = external_dependency_parsers_0.parsePropertyValue(backgroundRepeat_local_var_property, val, { + globalObject, + inArray: true + }); + if (Array.isArray(value) && value.length) { + let parsedValue = ""; + switch (value.length) { + case 1: + { + const [part1] = value; + const val1 = part1.type === AST_TYPES.IDENTIFIER && part1.name; + if (val1) { + parsedValue = val1; + } + break; + } + case 2: + { + const [part1, part2] = value; + const val1 = part1.type === AST_TYPES.IDENTIFIER && part1.name; + const val2 = part2.type === AST_TYPES.IDENTIFIER && part2.name; + if (val1 && val2) { + if (val1 === "repeat" && val2 === "no-repeat") { + parsedValue = "repeat-x"; + } else if (val1 === "no-repeat" && val2 === "repeat") { + parsedValue = "repeat-y"; + } else if (val1 === val2) { + parsedValue = val1; + } else { + parsedValue = `${val1} ${val2}`; + } + } + break; + } + default: + } + if (parsedValue) { + parsedValues.push(parsedValue); + } else { + return; + } + } else if (typeof value === "string") { + parsedValues.push(value); + } + } + if (parsedValues.length) { + return parsedValues.join(", "); + } +}; +backgroundRepeat_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (external_dependency_parsers_0.hasVarFunc(v)) { + this._setProperty(backgroundRepeat_local_var_shorthand, ""); + this._setProperty(backgroundRepeat_local_var_property, v); + } else { + const val = backgroundRepeat_export_parse(v, { + globalObject: this._global + }); + if (typeof val === "string") { + const priority = !this._priorities.get(backgroundRepeat_local_var_shorthand) && this._priorities.has(backgroundRepeat_local_var_property) ? this._priorities.get(backgroundRepeat_local_var_property) : ""; + this._setProperty(backgroundRepeat_local_var_property, val, priority); + } + } + }, + get() { + return this.getPropertyValue(backgroundRepeat_local_var_property); + }, + enumerable: true, + configurable: true +}; +backgroundRepeat_export_property = backgroundRepeat_local_var_property; +var backgroundOrigin_export_parse, backgroundOrigin_export_definition, backgroundOrigin_export_property; +const backgroundOrigin_local_var_property = "background-origin"; +const backgroundOrigin_local_var_shorthand = "background"; +backgroundOrigin_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "") { + return v; + } + const values = external_dependency_parsers_0.splitValue(v, { + delimiter: "," + }); + const parsedValues = []; + for (const val of values) { + const value = external_dependency_parsers_0.parsePropertyValue(backgroundOrigin_local_var_property, val, { + globalObject, + inArray: true + }); + if (Array.isArray(value) && value.length === 1) { + const parsedValue = external_dependency_parsers_0.resolveKeywordValue(value); + if (!parsedValue) { + return; + } + parsedValues.push(parsedValue); + } else if (typeof value === "string") { + parsedValues.push(value); + } + } + if (parsedValues.length) { + return parsedValues.join(", "); + } +}; +backgroundOrigin_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (external_dependency_parsers_0.hasVarFunc(v)) { + this._setProperty(backgroundOrigin_local_var_shorthand, ""); + this._setProperty(backgroundOrigin_local_var_property, v); + } else { + const val = backgroundOrigin_export_parse(v, { + globalObject: this._global + }); + if (typeof val === "string") { + const priority = !this._priorities.get(backgroundOrigin_local_var_shorthand) && this._priorities.has(backgroundOrigin_local_var_property) ? this._priorities.get(backgroundOrigin_local_var_property) : ""; + this._setProperty(backgroundOrigin_local_var_property, val, priority); + } + } + }, + get() { + return this.getPropertyValue(backgroundOrigin_local_var_property); + }, + enumerable: true, + configurable: true +}; +backgroundOrigin_export_property = backgroundOrigin_local_var_property; +var backgroundClip_export_parse, backgroundClip_export_definition, backgroundClip_export_property; +const backgroundClip_local_var_property = "background-clip"; +const backgroundClip_local_var_shorthand = "background"; +backgroundClip_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "") { + return v; + } + const values = external_dependency_parsers_0.splitValue(v, { + delimiter: "," + }); + const parsedValues = []; + for (const val of values) { + const value = external_dependency_parsers_0.parsePropertyValue(backgroundClip_local_var_property, val, { + globalObject, + inArray: true + }); + if (Array.isArray(value) && value.length === 1) { + const parsedValue = external_dependency_parsers_0.resolveKeywordValue(value); + if (!parsedValue) { + return; + } + parsedValues.push(parsedValue); + } else if (typeof value === "string") { + parsedValues.push(value); + } + } + if (parsedValues.length) { + return parsedValues.join(", "); + } +}; +backgroundClip_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (external_dependency_parsers_0.hasVarFunc(v)) { + this._setProperty(backgroundClip_local_var_shorthand, ""); + this._setProperty(backgroundClip_local_var_property, v); + } else { + const val = backgroundClip_export_parse(v, { + globalObject: this._global + }); + if (typeof val === "string") { + const priority = !this._priorities.get(backgroundClip_local_var_shorthand) && this._priorities.has(backgroundClip_local_var_property) ? this._priorities.get(backgroundClip_local_var_property) : ""; + this._setProperty(backgroundClip_local_var_property, val, priority); + } + } + }, + get() { + return this.getPropertyValue(backgroundClip_local_var_property); + }, + enumerable: true, + configurable: true +}; +backgroundClip_export_property = backgroundClip_local_var_property; +var backgroundAttachment_export_parse, backgroundAttachment_export_definition, backgroundAttachment_export_property; +const backgroundAttachment_local_var_property = "background-attachment"; +const backgroundAttachment_local_var_shorthand = "background"; +backgroundAttachment_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "") { + return v; + } + const values = external_dependency_parsers_0.splitValue(v, { + delimiter: "," + }); + const parsedValues = []; + for (const val of values) { + const value = external_dependency_parsers_0.parsePropertyValue(backgroundAttachment_local_var_property, val, { + globalObject, + inArray: true + }); + if (Array.isArray(value) && value.length === 1) { + const parsedValue = external_dependency_parsers_0.resolveKeywordValue(value); + if (!parsedValue) { + return; + } + parsedValues.push(parsedValue); + } else if (typeof value === "string") { + parsedValues.push(value); + } + } + if (parsedValues.length) { + return parsedValues.join(", "); + } +}; +backgroundAttachment_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (external_dependency_parsers_0.hasVarFunc(v)) { + this._setProperty(backgroundAttachment_local_var_shorthand, ""); + this._setProperty(backgroundAttachment_local_var_property, v); + } else { + const val = backgroundAttachment_export_parse(v, { + globalObject: this._global + }); + if (typeof val === "string") { + const priority = !this._priorities.get(backgroundAttachment_local_var_shorthand) && this._priorities.has(backgroundAttachment_local_var_property) ? this._priorities.get(backgroundAttachment_local_var_property) : ""; + this._setProperty(backgroundAttachment_local_var_property, val, priority); + } + } + }, + get() { + return this.getPropertyValue(backgroundAttachment_local_var_property); + }, + enumerable: true, + configurable: true +}; +backgroundAttachment_export_property = backgroundAttachment_local_var_property; +var backgroundColor_export_parse, backgroundColor_export_definition, backgroundColor_export_property; +const backgroundColor_local_var_property = "background-color"; +const backgroundColor_local_var_shorthand = "background"; +backgroundColor_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "") { + return v; + } + const value = external_dependency_parsers_0.parsePropertyValue(backgroundColor_local_var_property, v, { + globalObject, + inArray: true + }); + if (Array.isArray(value) && value.length === 1) { + return external_dependency_parsers_0.resolveColorValue(value); + } else if (typeof value === "string") { + return value; + } +}; +backgroundColor_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (external_dependency_parsers_0.hasVarFunc(v)) { + this._setProperty(backgroundColor_local_var_shorthand, ""); + this._setProperty(backgroundColor_local_var_property, v); + } else { + const val = backgroundColor_export_parse(v, { + globalObject: this._global + }); + if (typeof val === "string") { + const priority = !this._priorities.get(backgroundColor_local_var_shorthand) && this._priorities.has(backgroundColor_local_var_property) ? this._priorities.get(backgroundColor_local_var_property) : ""; + this._setProperty(backgroundColor_local_var_property, val, priority); + } + } + }, + get() { + return this.getPropertyValue(backgroundColor_local_var_property); + }, + enumerable: true, + configurable: true +}; +backgroundColor_export_property = backgroundColor_local_var_property; +var background_export_initialValues, background_export_shorthandFor, background_export_parse, background_export_definition, background_export_property; +const background_local_var_property = "background"; +background_export_initialValues = new Map([[{ + parse: backgroundImage_export_parse, + definition: backgroundImage_export_definition, + property: backgroundImage_export_property +}.property, "none"], [{ + parse: backgroundPosition_export_parse, + definition: backgroundPosition_export_definition, + property: backgroundPosition_export_property +}.property, "0% 0%"], [{ + parse: backgroundSize_export_parse, + definition: backgroundSize_export_definition, + property: backgroundSize_export_property +}.property, "auto"], [{ + parse: backgroundRepeat_export_parse, + definition: backgroundRepeat_export_definition, + property: backgroundRepeat_export_property +}.property, "repeat"], [{ + parse: backgroundOrigin_export_parse, + definition: backgroundOrigin_export_definition, + property: backgroundOrigin_export_property +}.property, "padding-box"], [{ + parse: backgroundClip_export_parse, + definition: backgroundClip_export_definition, + property: backgroundClip_export_property +}.property, "border-box"], [{ + parse: backgroundAttachment_export_parse, + definition: backgroundAttachment_export_definition, + property: backgroundAttachment_export_property +}.property, "scroll"], [{ + parse: backgroundColor_export_parse, + definition: backgroundColor_export_definition, + property: backgroundColor_export_property +}.property, "transparent"]]); +background_export_shorthandFor = new Map([[{ + parse: backgroundImage_export_parse, + definition: backgroundImage_export_definition, + property: backgroundImage_export_property +}.property, { + parse: backgroundImage_export_parse, + definition: backgroundImage_export_definition, + property: backgroundImage_export_property +}], [{ + parse: backgroundPosition_export_parse, + definition: backgroundPosition_export_definition, + property: backgroundPosition_export_property +}.property, { + parse: backgroundPosition_export_parse, + definition: backgroundPosition_export_definition, + property: backgroundPosition_export_property +}], [{ + parse: backgroundSize_export_parse, + definition: backgroundSize_export_definition, + property: backgroundSize_export_property +}.property, { + parse: backgroundSize_export_parse, + definition: backgroundSize_export_definition, + property: backgroundSize_export_property +}], [{ + parse: backgroundRepeat_export_parse, + definition: backgroundRepeat_export_definition, + property: backgroundRepeat_export_property +}.property, { + parse: backgroundRepeat_export_parse, + definition: backgroundRepeat_export_definition, + property: backgroundRepeat_export_property +}], [{ + parse: backgroundOrigin_export_parse, + definition: backgroundOrigin_export_definition, + property: backgroundOrigin_export_property +}.property, { + parse: backgroundOrigin_export_parse, + definition: backgroundOrigin_export_definition, + property: backgroundOrigin_export_property +}], [{ + parse: backgroundClip_export_parse, + definition: backgroundClip_export_definition, + property: backgroundClip_export_property +}.property, { + parse: backgroundClip_export_parse, + definition: backgroundClip_export_definition, + property: backgroundClip_export_property +}], [{ + parse: backgroundAttachment_export_parse, + definition: backgroundAttachment_export_definition, + property: backgroundAttachment_export_property +}.property, { + parse: backgroundAttachment_export_parse, + definition: backgroundAttachment_export_definition, + property: backgroundAttachment_export_property +}], [{ + parse: backgroundColor_export_parse, + definition: backgroundColor_export_definition, + property: backgroundColor_export_property +}.property, { + parse: backgroundColor_export_parse, + definition: backgroundColor_export_definition, + property: backgroundColor_export_property +}]]); +background_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "") { + return v; + } else if (external_dependency_parsers_0.hasCalcFunc(v)) { + v = external_dependency_parsers_0.resolveCalc(v); + } + if (!external_dependency_parsers_0.isValidPropertyValue(background_local_var_property, v)) { + return; + } + const values = external_dependency_parsers_0.splitValue(v, { + delimiter: "," + }); + const bgValues = []; + const l = values.length; + for (let i = 0; i < l; i++) { + let bg = { + [{ + parse: backgroundImage_export_parse, + definition: backgroundImage_export_definition, + property: backgroundImage_export_property + }.property]: background_export_initialValues.get({ + parse: backgroundImage_export_parse, + definition: backgroundImage_export_definition, + property: backgroundImage_export_property + }.property), + [{ + parse: backgroundPosition_export_parse, + definition: backgroundPosition_export_definition, + property: backgroundPosition_export_property + }.property]: background_export_initialValues.get({ + parse: backgroundPosition_export_parse, + definition: backgroundPosition_export_definition, + property: backgroundPosition_export_property + }.property), + [{ + parse: backgroundSize_export_parse, + definition: backgroundSize_export_definition, + property: backgroundSize_export_property + }.property]: background_export_initialValues.get({ + parse: backgroundSize_export_parse, + definition: backgroundSize_export_definition, + property: backgroundSize_export_property + }.property), + [{ + parse: backgroundRepeat_export_parse, + definition: backgroundRepeat_export_definition, + property: backgroundRepeat_export_property + }.property]: background_export_initialValues.get({ + parse: backgroundRepeat_export_parse, + definition: backgroundRepeat_export_definition, + property: backgroundRepeat_export_property + }.property), + [{ + parse: backgroundOrigin_export_parse, + definition: backgroundOrigin_export_definition, + property: backgroundOrigin_export_property + }.property]: background_export_initialValues.get({ + parse: backgroundOrigin_export_parse, + definition: backgroundOrigin_export_definition, + property: backgroundOrigin_export_property + }.property), + [{ + parse: backgroundClip_export_parse, + definition: backgroundClip_export_definition, + property: backgroundClip_export_property + }.property]: background_export_initialValues.get({ + parse: backgroundClip_export_parse, + definition: backgroundClip_export_definition, + property: backgroundClip_export_property + }.property), + [{ + parse: backgroundAttachment_export_parse, + definition: backgroundAttachment_export_definition, + property: backgroundAttachment_export_property + }.property]: background_export_initialValues.get({ + parse: backgroundAttachment_export_parse, + definition: backgroundAttachment_export_definition, + property: backgroundAttachment_export_property + }.property), + [{ + parse: backgroundColor_export_parse, + definition: backgroundColor_export_definition, + property: backgroundColor_export_property + }.property]: background_export_initialValues.get({ + parse: backgroundColor_export_parse, + definition: backgroundColor_export_definition, + property: backgroundColor_export_property + }.property) + }; + if (l > 1 && i !== l - 1) { + bg = { + [{ + parse: backgroundImage_export_parse, + definition: backgroundImage_export_definition, + property: backgroundImage_export_property + }.property]: background_export_initialValues.get({ + parse: backgroundImage_export_parse, + definition: backgroundImage_export_definition, + property: backgroundImage_export_property + }.property), + [{ + parse: backgroundPosition_export_parse, + definition: backgroundPosition_export_definition, + property: backgroundPosition_export_property + }.property]: background_export_initialValues.get({ + parse: backgroundPosition_export_parse, + definition: backgroundPosition_export_definition, + property: backgroundPosition_export_property + }.property), + [{ + parse: backgroundSize_export_parse, + definition: backgroundSize_export_definition, + property: backgroundSize_export_property + }.property]: background_export_initialValues.get({ + parse: backgroundSize_export_parse, + definition: backgroundSize_export_definition, + property: backgroundSize_export_property + }.property), + [{ + parse: backgroundRepeat_export_parse, + definition: backgroundRepeat_export_definition, + property: backgroundRepeat_export_property + }.property]: background_export_initialValues.get({ + parse: backgroundRepeat_export_parse, + definition: backgroundRepeat_export_definition, + property: backgroundRepeat_export_property + }.property), + [{ + parse: backgroundOrigin_export_parse, + definition: backgroundOrigin_export_definition, + property: backgroundOrigin_export_property + }.property]: background_export_initialValues.get({ + parse: backgroundOrigin_export_parse, + definition: backgroundOrigin_export_definition, + property: backgroundOrigin_export_property + }.property), + [{ + parse: backgroundClip_export_parse, + definition: backgroundClip_export_definition, + property: backgroundClip_export_property + }.property]: background_export_initialValues.get({ + parse: backgroundClip_export_parse, + definition: backgroundClip_export_definition, + property: backgroundClip_export_property + }.property), + [{ + parse: backgroundAttachment_export_parse, + definition: backgroundAttachment_export_definition, + property: backgroundAttachment_export_property + }.property]: background_export_initialValues.get({ + parse: backgroundAttachment_export_parse, + definition: backgroundAttachment_export_definition, + property: backgroundAttachment_export_property + }.property) + }; + } + const bgPosition = []; + const bgSize = []; + const bgRepeat = []; + const bgBox = []; + const bgParts = external_dependency_parsers_0.splitValue(values[i], { + delimiter: "/" + }); + if (!bgParts.length || bgParts.length > 2) { + return; + } + const [bgPart1, bgPart2 = ""] = bgParts; + const parts1 = external_dependency_parsers_0.splitValue(bgPart1); + for (const part of parts1) { + let partValid = false; + for (const [longhand, value] of background_export_shorthandFor) { + if (external_dependency_parsers_0.isValidPropertyValue(longhand, part)) { + partValid = true; + switch (longhand) { + case { + parse: backgroundClip_export_parse, + definition: backgroundClip_export_definition, + property: backgroundClip_export_property + }.property: + case { + parse: backgroundOrigin_export_parse, + definition: backgroundOrigin_export_definition, + property: backgroundOrigin_export_property + }.property: + { + const parsedValue = value.parse(part, { + globalObject + }); + if (parsedValue) { + bgBox.push(parsedValue); + } + break; + } + case { + parse: backgroundColor_export_parse, + definition: backgroundColor_export_definition, + property: backgroundColor_export_property + }.property: + { + if (i !== values.length - 1) { + return; + } + const parsedValue = value.parse(part, { + globalObject + }); + if (parsedValue) { + bg[longhand] = parsedValue; + } + break; + } + case { + parse: backgroundPosition_export_parse, + definition: backgroundPosition_export_definition, + property: backgroundPosition_export_property + }.property: + { + const parsedValue = value.parse(part, { + globalObject + }); + if (parsedValue) { + bgPosition.push(parsedValue); + } + break; + } + case { + parse: backgroundRepeat_export_parse, + definition: backgroundRepeat_export_definition, + property: backgroundRepeat_export_property + }.property: + { + const parsedValue = value.parse(part, { + globalObject + }); + if (parsedValue) { + bgRepeat.push(parsedValue); + } + break; + } + case { + parse: backgroundSize_export_parse, + definition: backgroundSize_export_definition, + property: backgroundSize_export_property + }.property: + { + break; + } + default: + { + const parsedValue = value.parse(part, { + globalObject + }); + if (parsedValue) { + bg[longhand] = parsedValue; + } + } + } + } + } + if (!partValid) { + return; + } + } + if (bgPart2) { + const parts2 = external_dependency_parsers_0.splitValue(bgPart2); + for (const part of parts2) { + let partValid = false; + for (const [longhand, value] of background_export_shorthandFor) { + if (external_dependency_parsers_0.isValidPropertyValue(longhand, part)) { + partValid = true; + switch (longhand) { + case { + parse: backgroundClip_export_parse, + definition: backgroundClip_export_definition, + property: backgroundClip_export_property + }.property: + case { + parse: backgroundOrigin_export_parse, + definition: backgroundOrigin_export_definition, + property: backgroundOrigin_export_property + }.property: + { + const parsedValue = value.parse(part, { + globalObject + }); + if (parsedValue) { + bgBox.push(parsedValue); + } + break; + } + case { + parse: backgroundColor_export_parse, + definition: backgroundColor_export_definition, + property: backgroundColor_export_property + }.property: + { + if (i !== l - 1) { + return; + } + const parsedValue = value.parse(part, { + globalObject + }); + if (parsedValue) { + bg[longhand] = parsedValue; + } + break; + } + case { + parse: backgroundPosition_export_parse, + definition: backgroundPosition_export_definition, + property: backgroundPosition_export_property + }.property: + { + break; + } + case { + parse: backgroundRepeat_export_parse, + definition: backgroundRepeat_export_definition, + property: backgroundRepeat_export_property + }.property: + { + const parsedValue = value.parse(part, { + globalObject + }); + if (parsedValue) { + bgRepeat.push(parsedValue); + } + break; + } + case { + parse: backgroundSize_export_parse, + definition: backgroundSize_export_definition, + property: backgroundSize_export_property + }.property: + { + const parsedValue = value.parse(part, { + globalObject + }); + if (parsedValue) { + bgSize.push(parsedValue); + } + break; + } + default: + { + const parsedValue = value.parse(part, { + globalObject + }); + if (parsedValue) { + bg[longhand] = parsedValue; + } + } + } + } + } + if (!partValid) { + return; + } + } + } + if (bgPosition.length) { + const { + parse: parser + } = background_export_shorthandFor.get({ + parse: backgroundPosition_export_parse, + definition: backgroundPosition_export_definition, + property: backgroundPosition_export_property + }.property); + const value = parser(bgPosition.join(" "), { + globalObject + }); + if (value) { + bg[{ + parse: backgroundPosition_export_parse, + definition: backgroundPosition_export_definition, + property: backgroundPosition_export_property + }.property] = value; + } + } + if (bgSize.length) { + const { + parse: parser + } = background_export_shorthandFor.get({ + parse: backgroundSize_export_parse, + definition: backgroundSize_export_definition, + property: backgroundSize_export_property + }.property); + const value = parser(bgSize.join(" "), { + globalObject + }); + if (value) { + bg[{ + parse: backgroundSize_export_parse, + definition: backgroundSize_export_definition, + property: backgroundSize_export_property + }.property] = value; + } + } + if (bgRepeat.length) { + const { + parse: parser + } = background_export_shorthandFor.get({ + parse: backgroundRepeat_export_parse, + definition: backgroundRepeat_export_definition, + property: backgroundRepeat_export_property + }.property); + const value = parser(bgRepeat.join(" "), { + globalObject + }); + if (value) { + bg[{ + parse: backgroundRepeat_export_parse, + definition: backgroundRepeat_export_definition, + property: backgroundRepeat_export_property + }.property] = value; + } + } + if (bgBox.length) { + switch (bgBox.length) { + case 1: + { + const [value] = bgBox; + bg[{ + parse: backgroundOrigin_export_parse, + definition: backgroundOrigin_export_definition, + property: backgroundOrigin_export_property + }.property] = value; + bg[{ + parse: backgroundClip_export_parse, + definition: backgroundClip_export_definition, + property: backgroundClip_export_property + }.property] = value; + break; + } + case 2: + { + const [value1, value2] = bgBox; + bg[{ + parse: backgroundOrigin_export_parse, + definition: backgroundOrigin_export_definition, + property: backgroundOrigin_export_property + }.property] = value1; + bg[{ + parse: backgroundClip_export_parse, + definition: backgroundClip_export_definition, + property: backgroundClip_export_property + }.property] = value2; + break; + } + default: + { + return; + } + } + } + bgValues.push(bg); + } + return bgValues; +}; +background_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (v === "" || external_dependency_parsers_0.hasVarFunc(v)) { + for (const [key] of background_export_shorthandFor) { + this._setProperty(key, ""); + } + this._setProperty(background_local_var_property, v); + } else { + const bgValues = background_export_parse(v, { + globalObject: this._global + }); + if (!Array.isArray(bgValues)) { + return; + } + const bgMap = new Map([[{ + parse: backgroundImage_export_parse, + definition: backgroundImage_export_definition, + property: backgroundImage_export_property + }.property, []], [{ + parse: backgroundPosition_export_parse, + definition: backgroundPosition_export_definition, + property: backgroundPosition_export_property + }.property, []], [{ + parse: backgroundSize_export_parse, + definition: backgroundSize_export_definition, + property: backgroundSize_export_property + }.property, []], [{ + parse: backgroundRepeat_export_parse, + definition: backgroundRepeat_export_definition, + property: backgroundRepeat_export_property + }.property, []], [{ + parse: backgroundOrigin_export_parse, + definition: backgroundOrigin_export_definition, + property: backgroundOrigin_export_property + }.property, []], [{ + parse: backgroundClip_export_parse, + definition: backgroundClip_export_definition, + property: backgroundClip_export_property + }.property, []], [{ + parse: backgroundAttachment_export_parse, + definition: backgroundAttachment_export_definition, + property: backgroundAttachment_export_property + }.property, []], [{ + parse: backgroundColor_export_parse, + definition: backgroundColor_export_definition, + property: backgroundColor_export_property + }.property, []]]); + const backgrounds = []; + for (const bgValue of bgValues) { + const bg = []; + for (const [longhand, value] of Object.entries(bgValue)) { + if (value) { + const arr = bgMap.get(longhand); + arr.push(value); + bgMap.set(longhand, arr); + if (value !== background_export_initialValues.get(longhand)) { + if (longhand === { + parse: backgroundSize_export_parse, + definition: backgroundSize_export_definition, + property: backgroundSize_export_property + }.property) { + bg.push(`/ ${value}`); + } else { + bg.push(value); + } + } else if (longhand === { + parse: backgroundImage_export_parse, + definition: backgroundImage_export_definition, + property: backgroundImage_export_property + }.property) { + if (v === "none") { + bg.push(value); + } + } else if (longhand === { + parse: backgroundColor_export_parse, + definition: backgroundColor_export_definition, + property: backgroundColor_export_property + }.property) { + if (v === "transparent") { + bg.push(value); + } + } + } + } + backgrounds.push(bg.join(" ")); + } + const priority = this._priorities.get(background_local_var_property) ?? ""; + for (const [longhand, value] of bgMap) { + this._setProperty(longhand, value.join(", "), priority); + } + this._setProperty(background_local_var_property, backgrounds.join(", "), priority); + } + }, + get() { + const v = this.getPropertyValue(background_local_var_property); + if (external_dependency_parsers_0.hasVarFunc(v)) { + return v; + } + const bgMap = new Map(); + let l = 0; + for (const [longhand] of background_export_shorthandFor) { + const val = this.getPropertyValue(longhand); + if (longhand === { + parse: backgroundImage_export_parse, + definition: backgroundImage_export_definition, + property: backgroundImage_export_property + }.property) { + if (val === "none" && v === "none" && this.getPropertyValue({ + parse: backgroundColor_export_parse, + definition: backgroundColor_export_definition, + property: backgroundColor_export_property + }.property) === "transparent") { + return val; + } + if (val !== background_export_initialValues.get(longhand)) { + const imgValues = external_dependency_parsers_0.splitValue(val, { + delimiter: "," + }); + l = imgValues.length; + bgMap.set(longhand, imgValues); + } + } else if (longhand === { + parse: backgroundColor_export_parse, + definition: backgroundColor_export_definition, + property: backgroundColor_export_property + }.property) { + if (val !== background_export_initialValues.get(longhand) || v.includes(val)) { + bgMap.set(longhand, [val]); + } + } else if (val !== background_export_initialValues.get(longhand)) { + bgMap.set(longhand, external_dependency_parsers_0.splitValue(val, { + delimiter: "," + })); + } + } + if (l === 0) { + const bgColArr = bgMap.get({ + parse: backgroundColor_export_parse, + definition: backgroundColor_export_definition, + property: backgroundColor_export_property + }.property); + const background = bgColArr ? bgColArr[0] : null; + if (background) { + return background; + } + return ""; + } + const bgValues = []; + for (let i = 0; i < l; i++) { + bgValues[i] = []; + } + for (const [longhand, values] of bgMap) { + for (let i = 0; i < l; i++) { + switch (longhand) { + case { + parse: backgroundColor_export_parse, + definition: backgroundColor_export_definition, + property: backgroundColor_export_property + }.property: + { + if (i === l - 1) { + const value = values[0]; + if (external_dependency_parsers_0.hasVarFunc(value)) { + return ""; + } + if (value && value !== background_export_initialValues.get(longhand)) { + const bgValue = bgValues[i]; + bgValue.push(value); + } + } + break; + } + case { + parse: backgroundSize_export_parse, + definition: backgroundSize_export_definition, + property: backgroundSize_export_property + }.property: + { + const value = values[i]; + if (external_dependency_parsers_0.hasVarFunc(value)) { + return ""; + } + if (value && value !== background_export_initialValues.get(longhand)) { + const bgValue = bgValues[i]; + bgValue.push(`/ ${value}`); + } + break; + } + default: + { + const value = values[i]; + if (external_dependency_parsers_0.hasVarFunc(value)) { + return ""; + } + if (value && value !== background_export_initialValues.get(longhand)) { + const bgValue = bgValues[i]; + bgValue.push(value); + } + } + } + } + } + const backgrounds = []; + for (const bgValue of bgValues) { + backgrounds.push(bgValue.join(" ")); + } + return backgrounds.join(", "); + }, + enumerable: true, + configurable: true +}; +background_export_property = background_local_var_property; +var borderTopWidth_export_parse, borderTopWidth_export_definition, borderTopWidth_export_property; +const borderTopWidth_local_var_property = "border-top-width"; +const borderTopWidth_local_var_lineShorthand = "border-width"; +const borderTopWidth_local_var_positionShorthand = "border-top"; +const borderTopWidth_local_var_shorthand = "border"; +borderTopWidth_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "") { + return v; + } + const value = external_dependency_parsers_0.parsePropertyValue(borderTopWidth_local_var_property, v, { + globalObject, + inArray: true + }); + if (Array.isArray(value) && value.length === 1) { + return external_dependency_parsers_0.resolveNumericValue(value, { + min: 0, + type: "length" + }); + } else if (typeof value === "string") { + return value; + } +}; +borderTopWidth_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (external_dependency_parsers_0.hasVarFunc(v)) { + this._borderSetter(borderTopWidth_local_var_property, v, ""); + } else { + const val = borderTopWidth_export_parse(v, { + globalObject: this._global + }); + if (typeof val === "string") { + const shorthandPriority = this._priorities.get(borderTopWidth_local_var_shorthand); + const linePriority = this._priorities.get(borderTopWidth_local_var_lineShorthand); + const positionPriority = this._priorities.get(borderTopWidth_local_var_positionShorthand); + const priority = !(shorthandPriority || linePriority || positionPriority) && this._priorities.has(borderTopWidth_local_var_property) ? this._priorities.get(borderTopWidth_local_var_property) : ""; + this._borderSetter(borderTopWidth_local_var_property, val, priority); + } + } + }, + get() { + return this.getPropertyValue(borderTopWidth_local_var_property); + }, + enumerable: true, + configurable: true +}; +borderTopWidth_export_property = borderTopWidth_local_var_property; +var borderRightWidth_export_parse, borderRightWidth_export_definition, borderRightWidth_export_property; +const borderRightWidth_local_var_property = "border-right-width"; +const borderRightWidth_local_var_lineShorthand = "border-width"; +const borderRightWidth_local_var_positionShorthand = "border-right"; +const borderRightWidth_local_var_shorthand = "border"; +borderRightWidth_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "") { + return v; + } + const value = external_dependency_parsers_0.parsePropertyValue(borderRightWidth_local_var_property, v, { + globalObject, + inArray: true + }); + if (Array.isArray(value) && value.length === 1) { + return external_dependency_parsers_0.resolveNumericValue(value, { + min: 0, + type: "length" + }); + } else if (typeof value === "string") { + return value; + } +}; +borderRightWidth_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (external_dependency_parsers_0.hasVarFunc(v)) { + this._borderSetter(borderRightWidth_local_var_property, v, ""); + } else { + const val = borderRightWidth_export_parse(v, { + globalObject: this._global + }); + if (typeof val === "string") { + const shorthandPriority = this._priorities.get(borderRightWidth_local_var_shorthand); + const linePriority = this._priorities.get(borderRightWidth_local_var_lineShorthand); + const positionPriority = this._priorities.get(borderRightWidth_local_var_positionShorthand); + const priority = !(shorthandPriority || linePriority || positionPriority) && this._priorities.has(borderRightWidth_local_var_property) ? this._priorities.get(borderRightWidth_local_var_property) : ""; + this._borderSetter(borderRightWidth_local_var_property, val, priority); + } + } + }, + get() { + return this.getPropertyValue(borderRightWidth_local_var_property); + }, + enumerable: true, + configurable: true +}; +borderRightWidth_export_property = borderRightWidth_local_var_property; +var borderBottomWidth_export_parse, borderBottomWidth_export_definition, borderBottomWidth_export_property; +const borderBottomWidth_local_var_property = "border-bottom-width"; +const borderBottomWidth_local_var_lineShorthand = "border-width"; +const borderBottomWidth_local_var_positionShorthand = "border-bottom"; +const borderBottomWidth_local_var_shorthand = "border"; +borderBottomWidth_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "") { + return v; + } + const value = external_dependency_parsers_0.parsePropertyValue(borderBottomWidth_local_var_property, v, { + globalObject, + inArray: true + }); + if (Array.isArray(value) && value.length === 1) { + return external_dependency_parsers_0.resolveNumericValue(value, { + min: 0, + type: "length" + }); + } else if (typeof value === "string") { + return value; + } +}; +borderBottomWidth_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (external_dependency_parsers_0.hasVarFunc(v)) { + this._borderSetter(borderBottomWidth_local_var_property, v, ""); + } else { + const val = borderBottomWidth_export_parse(v, { + globalObject: this._global + }); + if (typeof val === "string") { + const shorthandPriority = this._priorities.get(borderBottomWidth_local_var_shorthand); + const linePriority = this._priorities.get(borderBottomWidth_local_var_lineShorthand); + const positionPriority = this._priorities.get(borderBottomWidth_local_var_positionShorthand); + const priority = !(shorthandPriority || linePriority || positionPriority) && this._priorities.has(borderBottomWidth_local_var_property) ? this._priorities.get(borderBottomWidth_local_var_property) : ""; + this._borderSetter(borderBottomWidth_local_var_property, val, priority); + } + } + }, + get() { + return this.getPropertyValue(borderBottomWidth_local_var_property); + }, + enumerable: true, + configurable: true +}; +borderBottomWidth_export_property = borderBottomWidth_local_var_property; +var borderLeftWidth_export_parse, borderLeftWidth_export_definition, borderLeftWidth_export_property; +const borderLeftWidth_local_var_property = "border-left-width"; +const borderLeftWidth_local_var_lineShorthand = "border-width"; +const borderLeftWidth_local_var_positionShorthand = "border-left"; +const borderLeftWidth_local_var_shorthand = "border"; +borderLeftWidth_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "") { + return v; + } + const value = external_dependency_parsers_0.parsePropertyValue(borderLeftWidth_local_var_property, v, { + globalObject, + inArray: true + }); + if (Array.isArray(value) && value.length === 1) { + return external_dependency_parsers_0.resolveNumericValue(value, { + min: 0, + type: "length" + }); + } else if (typeof value === "string") { + return value; + } +}; +borderLeftWidth_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (external_dependency_parsers_0.hasVarFunc(v)) { + this._borderSetter(borderLeftWidth_local_var_property, v, ""); + } else { + const val = borderLeftWidth_export_parse(v, { + globalObject: this._global + }); + if (typeof val === "string") { + const shorthandPriority = this._priorities.get(borderLeftWidth_local_var_shorthand); + const linePriority = this._priorities.get(borderLeftWidth_local_var_lineShorthand); + const positionPriority = this._priorities.get(borderLeftWidth_local_var_positionShorthand); + const priority = !(shorthandPriority || linePriority || positionPriority) && this._priorities.has(borderLeftWidth_local_var_property) ? this._priorities.get(borderLeftWidth_local_var_property) : ""; + this._borderSetter(borderLeftWidth_local_var_property, val, priority); + } + } + }, + get() { + return this.getPropertyValue(borderLeftWidth_local_var_property); + }, + enumerable: true, + configurable: true +}; +borderLeftWidth_export_property = borderLeftWidth_local_var_property; +var borderWidth_export_shorthandFor, borderWidth_export_parse, borderWidth_export_definition, borderWidth_export_property; +const borderWidth_local_var_property = "border-width"; +const borderWidth_local_var_shorthand = "border"; +borderWidth_export_shorthandFor = new Map([[{ + parse: borderTopWidth_export_parse, + definition: borderTopWidth_export_definition, + property: borderTopWidth_export_property +}.property, { + parse: borderTopWidth_export_parse, + definition: borderTopWidth_export_definition, + property: borderTopWidth_export_property +}], [{ + parse: borderRightWidth_export_parse, + definition: borderRightWidth_export_definition, + property: borderRightWidth_export_property +}.property, { + parse: borderRightWidth_export_parse, + definition: borderRightWidth_export_definition, + property: borderRightWidth_export_property +}], [{ + parse: borderBottomWidth_export_parse, + definition: borderBottomWidth_export_definition, + property: borderBottomWidth_export_property +}.property, { + parse: borderBottomWidth_export_parse, + definition: borderBottomWidth_export_definition, + property: borderBottomWidth_export_property +}], [{ + parse: borderLeftWidth_export_parse, + definition: borderLeftWidth_export_definition, + property: borderLeftWidth_export_property +}.property, { + parse: borderLeftWidth_export_parse, + definition: borderLeftWidth_export_definition, + property: borderLeftWidth_export_property +}]]); +borderWidth_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "") { + return v; + } + const values = external_dependency_parsers_0.parsePropertyValue(borderWidth_local_var_property, v, { + globalObject, + inArray: true + }); + const parsedValues = []; + if (Array.isArray(values) && values.length) { + if (values.length > 4) { + return; + } + for (const value of values) { + const parsedValue = external_dependency_parsers_0.resolveNumericValue([value], { + length: values.length, + type: "length" + }); + if (!parsedValue) { + return; + } + parsedValues.push(parsedValue); + } + } else if (typeof values === "string") { + parsedValues.push(values); + } + if (parsedValues.length) { + switch (parsedValues.length) { + case 1: + { + return parsedValues; + } + case 2: + { + const [val1, val2] = parsedValues; + if (val1 === val2) { + return [val1]; + } + return parsedValues; + } + case 3: + { + const [val1, val2, val3] = parsedValues; + if (val1 === val3) { + if (val1 === val2) { + return [val1]; + } + return [val1, val2]; + } + return parsedValues; + } + case 4: + { + const [val1, val2, val3, val4] = parsedValues; + if (val2 === val4) { + if (val1 === val3) { + if (val1 === val2) { + return [val1]; + } + return [val1, val2]; + } + return [val1, val2, val3]; + } + return parsedValues; + } + default: + } + } +}; +borderWidth_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (external_dependency_parsers_0.hasVarFunc(v)) { + this._borderSetter(borderWidth_local_var_property, v, ""); + } else { + const val = borderWidth_export_parse(v, { + globalObject: this._global + }); + if (Array.isArray(val) || typeof val === "string") { + const priority = !this._priorities.get(borderWidth_local_var_shorthand) && this._priorities.has(borderWidth_local_var_property) ? this._priorities.get(borderWidth_local_var_property) : ""; + this._borderSetter(borderWidth_local_var_property, val, priority); + } + } + }, + get() { + return this.getPropertyValue(borderWidth_local_var_property); + }, + enumerable: true, + configurable: true +}; +borderWidth_export_property = borderWidth_local_var_property; +var borderTopStyle_export_parse, borderTopStyle_export_definition, borderTopStyle_export_property; +const borderTopStyle_local_var_property = "border-top-style"; +const borderTopStyle_local_var_lineShorthand = "border-style"; +const borderTopStyle_local_var_positionShorthand = "border-top"; +const borderTopStyle_local_var_shorthand = "border"; +borderTopStyle_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "") { + return v; + } + const value = external_dependency_parsers_0.parsePropertyValue(borderTopStyle_local_var_property, v, { + globalObject, + inArray: true + }); + if (Array.isArray(value) && value.length === 1) { + return external_dependency_parsers_0.resolveKeywordValue(value); + } else if (typeof value === "string") { + return value; + } +}; +borderTopStyle_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (external_dependency_parsers_0.hasVarFunc(v)) { + this._borderSetter(borderTopStyle_local_var_property, v, ""); + } else { + const val = borderTopStyle_export_parse(v, { + globalObject: this._global + }); + if (typeof val === "string") { + const shorthandPriority = this._priorities.get(borderTopStyle_local_var_shorthand); + const linePriority = this._priorities.get(borderTopStyle_local_var_lineShorthand); + const positionPriority = this._priorities.get(borderTopStyle_local_var_positionShorthand); + const priority = !(shorthandPriority || linePriority || positionPriority) && this._priorities.has(borderTopStyle_local_var_property) ? this._priorities.get(borderTopStyle_local_var_property) : ""; + this._borderSetter(borderTopStyle_local_var_property, val, priority); + } + } + }, + get() { + return this.getPropertyValue(borderTopStyle_local_var_property); + }, + enumerable: true, + configurable: true +}; +borderTopStyle_export_property = borderTopStyle_local_var_property; +var borderRightStyle_export_parse, borderRightStyle_export_definition, borderRightStyle_export_property; +const borderRightStyle_local_var_property = "border-right-style"; +const borderRightStyle_local_var_lineShorthand = "border-style"; +const borderRightStyle_local_var_positionShorthand = "border-right"; +const borderRightStyle_local_var_shorthand = "border"; +borderRightStyle_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "") { + return v; + } + const value = external_dependency_parsers_0.parsePropertyValue(borderRightStyle_local_var_property, v, { + globalObject, + inArray: true + }); + if (Array.isArray(value) && value.length === 1) { + return external_dependency_parsers_0.resolveKeywordValue(value); + } else if (typeof value === "string") { + return value; + } +}; +borderRightStyle_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (external_dependency_parsers_0.hasVarFunc(v)) { + this._borderSetter(borderRightStyle_local_var_property, v, ""); + } else { + const val = borderRightStyle_export_parse(v, { + globalObject: this._global + }); + if (typeof val === "string") { + const shorthandPriority = this._priorities.get(borderRightStyle_local_var_shorthand); + const linePriority = this._priorities.get(borderRightStyle_local_var_lineShorthand); + const positionPriority = this._priorities.get(borderRightStyle_local_var_positionShorthand); + const priority = !(shorthandPriority || linePriority || positionPriority) && this._priorities.has(borderRightStyle_local_var_property) ? this._priorities.get(borderRightStyle_local_var_property) : ""; + this._borderSetter(borderRightStyle_local_var_property, val, priority); + } + } + }, + get() { + return this.getPropertyValue(borderRightStyle_local_var_property); + }, + enumerable: true, + configurable: true +}; +borderRightStyle_export_property = borderRightStyle_local_var_property; +var borderBottomStyle_export_parse, borderBottomStyle_export_definition, borderBottomStyle_export_property; +const borderBottomStyle_local_var_property = "border-bottom-style"; +const borderBottomStyle_local_var_lineShorthand = "border-style"; +const borderBottomStyle_local_var_positionShorthand = "border-bottom"; +const borderBottomStyle_local_var_shorthand = "border"; +borderBottomStyle_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "") { + return v; + } + const value = external_dependency_parsers_0.parsePropertyValue(borderBottomStyle_local_var_property, v, { + globalObject, + inArray: true + }); + if (Array.isArray(value) && value.length === 1) { + return external_dependency_parsers_0.resolveKeywordValue(value); + } else if (typeof value === "string") { + return value; + } +}; +borderBottomStyle_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (external_dependency_parsers_0.hasVarFunc(v)) { + this._borderSetter(borderBottomStyle_local_var_property, v, ""); + } else { + const val = borderBottomStyle_export_parse(v, { + globalObject: this._global + }); + if (typeof val === "string") { + const shorthandPriority = this._priorities.get(borderBottomStyle_local_var_shorthand); + const linePriority = this._priorities.get(borderBottomStyle_local_var_lineShorthand); + const positionPriority = this._priorities.get(borderBottomStyle_local_var_positionShorthand); + const priority = !(shorthandPriority || linePriority || positionPriority) && this._priorities.has(borderBottomStyle_local_var_property) ? this._priorities.get(borderBottomStyle_local_var_property) : ""; + this._borderSetter(borderBottomStyle_local_var_property, val, priority); + } + } + }, + get() { + return this.getPropertyValue(borderBottomStyle_local_var_property); + }, + enumerable: true, + configurable: true +}; +borderBottomStyle_export_property = borderBottomStyle_local_var_property; +var borderLeftStyle_export_parse, borderLeftStyle_export_definition, borderLeftStyle_export_property; +const borderLeftStyle_local_var_property = "border-left-style"; +const borderLeftStyle_local_var_lineShorthand = "border-style"; +const borderLeftStyle_local_var_positionShorthand = "border-left"; +const borderLeftStyle_local_var_shorthand = "border"; +borderLeftStyle_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "") { + return v; + } + const value = external_dependency_parsers_0.parsePropertyValue(borderLeftStyle_local_var_property, v, { + globalObject, + inArray: true + }); + if (Array.isArray(value) && value.length === 1) { + return external_dependency_parsers_0.resolveKeywordValue(value); + } else if (typeof value === "string") { + return value; + } +}; +borderLeftStyle_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (external_dependency_parsers_0.hasVarFunc(v)) { + this._borderSetter(borderLeftStyle_local_var_property, v, ""); + } else { + const val = borderLeftStyle_export_parse(v, { + globalObject: this._global + }); + if (typeof val === "string") { + const shorthandPriority = this._priorities.get(borderLeftStyle_local_var_shorthand); + const linePriority = this._priorities.get(borderLeftStyle_local_var_lineShorthand); + const positionPriority = this._priorities.get(borderLeftStyle_local_var_positionShorthand); + const priority = !(shorthandPriority || linePriority || positionPriority) && this._priorities.has(borderLeftStyle_local_var_property) ? this._priorities.get(borderLeftStyle_local_var_property) : ""; + this._borderSetter(borderLeftStyle_local_var_property, val, priority); + } + } + }, + get() { + return this.getPropertyValue(borderLeftStyle_local_var_property); + }, + enumerable: true, + configurable: true +}; +borderLeftStyle_export_property = borderLeftStyle_local_var_property; +var borderStyle_export_shorthandFor, borderStyle_export_parse, borderStyle_export_definition, borderStyle_export_property; +const borderStyle_local_var_property = "border-style"; +const borderStyle_local_var_shorthand = "border"; +borderStyle_export_shorthandFor = new Map([[{ + parse: borderTopStyle_export_parse, + definition: borderTopStyle_export_definition, + property: borderTopStyle_export_property +}.property, { + parse: borderTopStyle_export_parse, + definition: borderTopStyle_export_definition, + property: borderTopStyle_export_property +}], [{ + parse: borderRightStyle_export_parse, + definition: borderRightStyle_export_definition, + property: borderRightStyle_export_property +}.property, { + parse: borderRightStyle_export_parse, + definition: borderRightStyle_export_definition, + property: borderRightStyle_export_property +}], [{ + parse: borderBottomStyle_export_parse, + definition: borderBottomStyle_export_definition, + property: borderBottomStyle_export_property +}.property, { + parse: borderBottomStyle_export_parse, + definition: borderBottomStyle_export_definition, + property: borderBottomStyle_export_property +}], [{ + parse: borderLeftStyle_export_parse, + definition: borderLeftStyle_export_definition, + property: borderLeftStyle_export_property +}.property, { + parse: borderLeftStyle_export_parse, + definition: borderLeftStyle_export_definition, + property: borderLeftStyle_export_property +}]]); +borderStyle_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "") { + return v; + } + const values = external_dependency_parsers_0.parsePropertyValue(borderStyle_local_var_property, v, { + globalObject, + inArray: true + }); + const parsedValues = []; + if (Array.isArray(values) && values.length) { + if (values.length > 4) { + return; + } + for (const value of values) { + const parsedValue = external_dependency_parsers_0.resolveKeywordValue([value], { + length: values.length + }); + if (!parsedValue) { + return; + } + parsedValues.push(parsedValue); + } + } else if (typeof values === "string") { + parsedValues.push(values); + } + if (parsedValues.length) { + switch (parsedValues.length) { + case 1: + { + return parsedValues; + } + case 2: + { + const [val1, val2] = parsedValues; + if (val1 === val2) { + return [val1]; + } + return parsedValues; + } + case 3: + { + const [val1, val2, val3] = parsedValues; + if (val1 === val3) { + if (val1 === val2) { + return [val1]; + } + return [val1, val2]; + } + return parsedValues; + } + case 4: + { + const [val1, val2, val3, val4] = parsedValues; + if (val2 === val4) { + if (val1 === val3) { + if (val1 === val2) { + return [val1]; + } + return [val1, val2]; + } + return [val1, val2, val3]; + } + return parsedValues; + } + default: + } + } +}; +borderStyle_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (external_dependency_parsers_0.hasVarFunc(v)) { + this._borderSetter(borderStyle_local_var_property, v, ""); + } else { + const val = borderStyle_export_parse(v, { + globalObject: this._global + }); + if (Array.isArray(val) || typeof val === "string") { + const priority = !this._priorities.get(borderStyle_local_var_shorthand) && this._priorities.has(borderStyle_local_var_property) ? this._priorities.get(borderStyle_local_var_property) : ""; + this._borderSetter(borderStyle_local_var_property, val, priority); + } + } + }, + get() { + return this.getPropertyValue(borderStyle_local_var_property); + }, + enumerable: true, + configurable: true +}; +borderStyle_export_property = borderStyle_local_var_property; +var borderTopColor_export_parse, borderTopColor_export_definition, borderTopColor_export_property; +const borderTopColor_local_var_property = "border-top-color"; +const borderTopColor_local_var_lineShorthand = "border-color"; +const borderTopColor_local_var_positionShorthand = "border-top"; +const borderTopColor_local_var_shorthand = "border"; +borderTopColor_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "") { + return v; + } + const value = external_dependency_parsers_0.parsePropertyValue(borderTopColor_local_var_property, v, { + globalObject, + inArray: true + }); + if (Array.isArray(value) && value.length === 1) { + return external_dependency_parsers_0.resolveColorValue(value); + } else if (typeof value === "string") { + return value; + } +}; +borderTopColor_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (external_dependency_parsers_0.hasVarFunc(v)) { + this._borderSetter(borderTopColor_local_var_property, v, ""); + } else { + const val = borderTopColor_export_parse(v, { + globalObject: this._global + }); + if (typeof val === "string") { + const shorthandPriority = this._priorities.get(borderTopColor_local_var_shorthand); + const linePriority = this._priorities.get(borderTopColor_local_var_lineShorthand); + const positionPriority = this._priorities.get(borderTopColor_local_var_positionShorthand); + const priority = !(shorthandPriority || linePriority || positionPriority) && this._priorities.has(borderTopColor_local_var_property) ? this._priorities.get(borderTopColor_local_var_property) : ""; + this._borderSetter(borderTopColor_local_var_property, val, priority); + } + } + }, + get() { + return this.getPropertyValue(borderTopColor_local_var_property); + }, + enumerable: true, + configurable: true +}; +borderTopColor_export_property = borderTopColor_local_var_property; +var borderRightColor_export_parse, borderRightColor_export_definition, borderRightColor_export_property; +const borderRightColor_local_var_property = "border-right-color"; +const borderRightColor_local_var_lineShorthand = "border-color"; +const borderRightColor_local_var_positionShorthand = "border-right"; +const borderRightColor_local_var_shorthand = "border"; +borderRightColor_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "") { + return v; + } + const value = external_dependency_parsers_0.parsePropertyValue(borderRightColor_local_var_property, v, { + globalObject, + inArray: true + }); + if (Array.isArray(value) && value.length === 1) { + return external_dependency_parsers_0.resolveColorValue(value); + } else if (typeof value === "string") { + return value; + } +}; +borderRightColor_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (external_dependency_parsers_0.hasVarFunc(v)) { + this._borderSetter(borderRightColor_local_var_property, v, ""); + } else { + const val = borderRightColor_export_parse(v, { + globalObject: this._global + }); + if (typeof val === "string") { + const shorthandPriority = this._priorities.get(borderRightColor_local_var_shorthand); + const linePriority = this._priorities.get(borderRightColor_local_var_lineShorthand); + const positionPriority = this._priorities.get(borderRightColor_local_var_positionShorthand); + const priority = !(shorthandPriority || linePriority || positionPriority) && this._priorities.has(borderRightColor_local_var_property) ? this._priorities.get(borderRightColor_local_var_property) : ""; + this._borderSetter(borderRightColor_local_var_property, val, priority); + } + } + }, + get() { + return this.getPropertyValue(borderRightColor_local_var_property); + }, + enumerable: true, + configurable: true +}; +borderRightColor_export_property = borderRightColor_local_var_property; +var borderBottomColor_export_parse, borderBottomColor_export_definition, borderBottomColor_export_property; +const borderBottomColor_local_var_property = "border-bottom-color"; +const borderBottomColor_local_var_lineShorthand = "border-color"; +const borderBottomColor_local_var_positionShorthand = "border-bottom"; +const borderBottomColor_local_var_shorthand = "border"; +borderBottomColor_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "") { + return v; + } + const value = external_dependency_parsers_0.parsePropertyValue(borderBottomColor_local_var_property, v, { + globalObject, + inArray: true + }); + if (Array.isArray(value) && value.length === 1) { + return external_dependency_parsers_0.resolveColorValue(value); + } else if (typeof value === "string") { + return value; + } +}; +borderBottomColor_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (external_dependency_parsers_0.hasVarFunc(v)) { + this._borderSetter(borderBottomColor_local_var_property, v, ""); + } else { + const val = borderBottomColor_export_parse(v, { + globalObject: this._global + }); + if (typeof val === "string") { + const shorthandPriority = this._priorities.get(borderBottomColor_local_var_shorthand); + const linePriority = this._priorities.get(borderBottomColor_local_var_lineShorthand); + const positionPriority = this._priorities.get(borderBottomColor_local_var_positionShorthand); + const priority = !(shorthandPriority || linePriority || positionPriority) && this._priorities.has(borderBottomColor_local_var_property) ? this._priorities.get(borderBottomColor_local_var_property) : ""; + this._borderSetter(borderBottomColor_local_var_property, val, priority); + } + } + }, + get() { + return this.getPropertyValue(borderBottomColor_local_var_property); + }, + enumerable: true, + configurable: true +}; +borderBottomColor_export_property = borderBottomColor_local_var_property; +var borderLeftColor_export_parse, borderLeftColor_export_definition, borderLeftColor_export_property; +const borderLeftColor_local_var_property = "border-left-color"; +const borderLeftColor_local_var_lineShorthand = "border-color"; +const borderLeftColor_local_var_positionShorthand = "border-left"; +const borderLeftColor_local_var_shorthand = "border"; +borderLeftColor_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "") { + return v; + } + const value = external_dependency_parsers_0.parsePropertyValue(borderLeftColor_local_var_property, v, { + globalObject, + inArray: true + }); + if (Array.isArray(value) && value.length === 1) { + return external_dependency_parsers_0.resolveColorValue(value); + } else if (typeof value === "string") { + return value; + } +}; +borderLeftColor_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (external_dependency_parsers_0.hasVarFunc(v)) { + this._borderSetter(borderLeftColor_local_var_property, v, ""); + } else { + const val = borderLeftColor_export_parse(v, { + globalObject: this._global + }); + if (typeof val === "string") { + const shorthandPriority = this._priorities.get(borderLeftColor_local_var_shorthand); + const linePriority = this._priorities.get(borderLeftColor_local_var_lineShorthand); + const positionPriority = this._priorities.get(borderLeftColor_local_var_positionShorthand); + const priority = !(shorthandPriority || linePriority || positionPriority) && this._priorities.has(borderLeftColor_local_var_property) ? this._priorities.get(borderLeftColor_local_var_property) : ""; + this._borderSetter(borderLeftColor_local_var_property, val, priority); + } + } + }, + get() { + return this.getPropertyValue(borderLeftColor_local_var_property); + }, + enumerable: true, + configurable: true +}; +borderLeftColor_export_property = borderLeftColor_local_var_property; +var borderColor_export_shorthandFor, borderColor_export_parse, borderColor_export_definition, borderColor_export_property; +const borderColor_local_var_property = "border-color"; +const borderColor_local_var_shorthand = "border"; +borderColor_export_shorthandFor = new Map([[{ + parse: borderTopColor_export_parse, + definition: borderTopColor_export_definition, + property: borderTopColor_export_property +}.property, { + parse: borderTopColor_export_parse, + definition: borderTopColor_export_definition, + property: borderTopColor_export_property +}], [{ + parse: borderRightColor_export_parse, + definition: borderRightColor_export_definition, + property: borderRightColor_export_property +}.property, { + parse: borderRightColor_export_parse, + definition: borderRightColor_export_definition, + property: borderRightColor_export_property +}], [{ + parse: borderBottomColor_export_parse, + definition: borderBottomColor_export_definition, + property: borderBottomColor_export_property +}.property, { + parse: borderBottomColor_export_parse, + definition: borderBottomColor_export_definition, + property: borderBottomColor_export_property +}], [{ + parse: borderLeftColor_export_parse, + definition: borderLeftColor_export_definition, + property: borderLeftColor_export_property +}.property, { + parse: borderLeftColor_export_parse, + definition: borderLeftColor_export_definition, + property: borderLeftColor_export_property +}]]); +borderColor_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "") { + return v; + } + const values = external_dependency_parsers_0.parsePropertyValue(borderColor_local_var_property, v, { + globalObject, + inArray: true + }); + const parsedValues = []; + if (Array.isArray(values) && values.length) { + if (values.length > 4) { + return; + } + for (const value of values) { + const parsedValue = external_dependency_parsers_0.resolveColorValue([value], { + length: values.length + }); + if (!parsedValue) { + return; + } + parsedValues.push(parsedValue); + } + } else if (typeof values === "string") { + parsedValues.push(values); + } + if (parsedValues.length) { + switch (parsedValues.length) { + case 1: + { + return parsedValues; + } + case 2: + { + const [val1, val2] = parsedValues; + if (val1 === val2) { + return [val1]; + } + return parsedValues; + } + case 3: + { + const [val1, val2, val3] = parsedValues; + if (val1 === val3) { + if (val1 === val2) { + return [val1]; + } + return [val1, val2]; + } + return parsedValues; + } + case 4: + { + const [val1, val2, val3, val4] = parsedValues; + if (val2 === val4) { + if (val1 === val3) { + if (val1 === val2) { + return [val1]; + } + return [val1, val2]; + } + return [val1, val2, val3]; + } + return parsedValues; + } + default: + } + } +}; +borderColor_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (external_dependency_parsers_0.hasVarFunc(v)) { + this._borderSetter(borderColor_local_var_property, v, ""); + } else { + const val = borderColor_export_parse(v, { + globalObject: this._global + }); + if (Array.isArray(val) || typeof val === "string") { + const priority = !this._priorities.get(borderColor_local_var_shorthand) && this._priorities.has(borderColor_local_var_property) ? this._priorities.get(borderColor_local_var_property) : ""; + this._borderSetter(borderColor_local_var_property, val, priority); + } + } + }, + get() { + return this.getPropertyValue(borderColor_local_var_property); + }, + enumerable: true, + configurable: true +}; +borderColor_export_property = borderColor_local_var_property; +var borderTop_export_initialValues, borderTop_export_shorthandFor, borderTop_export_parse, borderTop_export_definition, borderTop_export_property; +const borderTop_local_var_property = "border-top"; +const borderTop_local_var_shorthand = "border"; +const borderTop_local_var_subProps = { + width: { + parse: borderTopWidth_export_parse, + definition: borderTopWidth_export_definition, + property: borderTopWidth_export_property + }.property, + style: { + parse: borderTopStyle_export_parse, + definition: borderTopStyle_export_definition, + property: borderTopStyle_export_property + }.property, + color: { + parse: borderTopColor_export_parse, + definition: borderTopColor_export_definition, + property: borderTopColor_export_property + }.property +}; +borderTop_export_initialValues = new Map([[{ + parse: borderTopWidth_export_parse, + definition: borderTopWidth_export_definition, + property: borderTopWidth_export_property +}.property, "medium"], [{ + parse: borderTopStyle_export_parse, + definition: borderTopStyle_export_definition, + property: borderTopStyle_export_property +}.property, "none"], [{ + parse: borderTopColor_export_parse, + definition: borderTopColor_export_definition, + property: borderTopColor_export_property +}.property, "currentcolor"]]); +borderTop_export_shorthandFor = new Map([[{ + parse: borderTopWidth_export_parse, + definition: borderTopWidth_export_definition, + property: borderTopWidth_export_property +}.property, { + parse: borderTopWidth_export_parse, + definition: borderTopWidth_export_definition, + property: borderTopWidth_export_property +}], [{ + parse: borderTopStyle_export_parse, + definition: borderTopStyle_export_definition, + property: borderTopStyle_export_property +}.property, { + parse: borderTopStyle_export_parse, + definition: borderTopStyle_export_definition, + property: borderTopStyle_export_property +}], [{ + parse: borderTopColor_export_parse, + definition: borderTopColor_export_definition, + property: borderTopColor_export_property +}.property, { + parse: borderTopColor_export_parse, + definition: borderTopColor_export_definition, + property: borderTopColor_export_property +}]]); +borderTop_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "") { + return v; + } + const values = external_dependency_parsers_0.splitValue(v); + const parsedValues = new Map(); + for (const val of values) { + const value = external_dependency_parsers_0.parsePropertyValue(borderTop_local_var_property, val, { + globalObject, + inArray: true + }); + if (Array.isArray(value) && value.length === 1) { + const parsedValue = external_dependency_parsers_0.resolveBorderShorthandValue(value, borderTop_local_var_subProps, parsedValues); + if (typeof parsedValue === "string") { + return parsedValue; + } else if (Array.isArray(parsedValue)) { + const [key, resolvedVal] = parsedValue; + parsedValues.set(key, resolvedVal); + } else { + return; + } + } else { + return; + } + } + if (parsedValues.size) { + const keys = borderTop_export_shorthandFor.keys(); + const obj = { + [{ + parse: borderTopWidth_export_parse, + definition: borderTopWidth_export_definition, + property: borderTopWidth_export_property + }.property]: "medium" + }; + for (const key of keys) { + if (parsedValues.has(key)) { + const parsedValue = parsedValues.get(key); + if (parsedValue !== borderTop_export_initialValues.get(key)) { + obj[key] = parsedValues.get(key); + if (obj[{ + parse: borderTopWidth_export_parse, + definition: borderTopWidth_export_definition, + property: borderTopWidth_export_property + }.property] && obj[{ + parse: borderTopWidth_export_parse, + definition: borderTopWidth_export_definition, + property: borderTopWidth_export_property + }.property] === "medium") { + delete obj[{ + parse: borderTopWidth_export_parse, + definition: borderTopWidth_export_definition, + property: borderTopWidth_export_property + }.property]; + } + } + } + } + return obj; + } +}; +borderTop_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (external_dependency_parsers_0.hasVarFunc(v)) { + this._borderSetter(borderTop_local_var_property, v, ""); + } else { + const val = borderTop_export_parse(v, { + globalObject: this._global + }); + if (val || typeof val === "string") { + const priority = !this._priorities.get(borderTop_local_var_shorthand) && this._priorities.has(borderTop_local_var_property) ? this._priorities.get(borderTop_local_var_property) : ""; + this._borderSetter(borderTop_local_var_property, val, priority); + } + } + }, + get() { + return this.getPropertyValue(borderTop_local_var_property); + }, + enumerable: true, + configurable: true +}; +borderTop_export_property = borderTop_local_var_property; +var borderRight_export_initialValues, borderRight_export_shorthandFor, borderRight_export_parse, borderRight_export_definition, borderRight_export_property; +const borderRight_local_var_property = "border-right"; +const borderRight_local_var_shorthand = "border"; +const borderRight_local_var_subProps = { + width: { + parse: borderRightWidth_export_parse, + definition: borderRightWidth_export_definition, + property: borderRightWidth_export_property + }.property, + style: { + parse: borderRightStyle_export_parse, + definition: borderRightStyle_export_definition, + property: borderRightStyle_export_property + }.property, + color: { + parse: borderRightColor_export_parse, + definition: borderRightColor_export_definition, + property: borderRightColor_export_property + }.property +}; +borderRight_export_initialValues = new Map([[{ + parse: borderRightWidth_export_parse, + definition: borderRightWidth_export_definition, + property: borderRightWidth_export_property +}.property, "medium"], [{ + parse: borderRightStyle_export_parse, + definition: borderRightStyle_export_definition, + property: borderRightStyle_export_property +}.property, "none"], [{ + parse: borderRightColor_export_parse, + definition: borderRightColor_export_definition, + property: borderRightColor_export_property +}.property, "currentcolor"]]); +borderRight_export_shorthandFor = new Map([[{ + parse: borderRightWidth_export_parse, + definition: borderRightWidth_export_definition, + property: borderRightWidth_export_property +}.property, { + parse: borderRightWidth_export_parse, + definition: borderRightWidth_export_definition, + property: borderRightWidth_export_property +}], [{ + parse: borderRightStyle_export_parse, + definition: borderRightStyle_export_definition, + property: borderRightStyle_export_property +}.property, { + parse: borderRightStyle_export_parse, + definition: borderRightStyle_export_definition, + property: borderRightStyle_export_property +}], [{ + parse: borderRightColor_export_parse, + definition: borderRightColor_export_definition, + property: borderRightColor_export_property +}.property, { + parse: borderRightColor_export_parse, + definition: borderRightColor_export_definition, + property: borderRightColor_export_property +}]]); +borderRight_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "") { + return v; + } + const values = external_dependency_parsers_0.splitValue(v); + const parsedValues = new Map(); + for (const val of values) { + const value = external_dependency_parsers_0.parsePropertyValue(borderRight_local_var_property, val, { + globalObject, + inArray: true + }); + if (Array.isArray(value) && value.length === 1) { + const parsedValue = external_dependency_parsers_0.resolveBorderShorthandValue(value, borderRight_local_var_subProps, parsedValues); + if (typeof parsedValue === "string") { + return parsedValue; + } else if (Array.isArray(parsedValue)) { + const [key, resolvedVal] = parsedValue; + parsedValues.set(key, resolvedVal); + } else { + return; + } + } else { + return; + } + } + if (parsedValues.size) { + const keys = borderRight_export_shorthandFor.keys(); + const obj = { + [{ + parse: borderRightWidth_export_parse, + definition: borderRightWidth_export_definition, + property: borderRightWidth_export_property + }.property]: "medium" + }; + for (const key of keys) { + if (parsedValues.has(key)) { + const parsedValue = parsedValues.get(key); + if (parsedValue !== borderRight_export_initialValues.get(key)) { + obj[key] = parsedValues.get(key); + if (obj[{ + parse: borderRightWidth_export_parse, + definition: borderRightWidth_export_definition, + property: borderRightWidth_export_property + }.property] && obj[{ + parse: borderRightWidth_export_parse, + definition: borderRightWidth_export_definition, + property: borderRightWidth_export_property + }.property] === "medium") { + delete obj[{ + parse: borderRightWidth_export_parse, + definition: borderRightWidth_export_definition, + property: borderRightWidth_export_property + }.property]; + } + } + } + } + return obj; + } +}; +borderRight_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (external_dependency_parsers_0.hasVarFunc(v)) { + this._borderSetter(borderRight_local_var_property, v, ""); + } else { + const val = borderRight_export_parse(v, { + globalObject: this._global + }); + if (val || typeof val === "string") { + const priority = !this._priorities.get(borderRight_local_var_shorthand) && this._priorities.has(borderRight_local_var_property) ? this._priorities.get(borderRight_local_var_property) : ""; + this._borderSetter(borderRight_local_var_property, val, priority); + } + } + }, + get() { + return this.getPropertyValue(borderRight_local_var_property); + }, + enumerable: true, + configurable: true +}; +borderRight_export_property = borderRight_local_var_property; +var borderBottom_export_initialValues, borderBottom_export_shorthandFor, borderBottom_export_parse, borderBottom_export_definition, borderBottom_export_property; +const borderBottom_local_var_property = "border-bottom"; +const borderBottom_local_var_shorthand = "border"; +const borderBottom_local_var_subProps = { + width: { + parse: borderBottomWidth_export_parse, + definition: borderBottomWidth_export_definition, + property: borderBottomWidth_export_property + }.property, + style: { + parse: borderBottomStyle_export_parse, + definition: borderBottomStyle_export_definition, + property: borderBottomStyle_export_property + }.property, + color: { + parse: borderBottomColor_export_parse, + definition: borderBottomColor_export_definition, + property: borderBottomColor_export_property + }.property +}; +borderBottom_export_initialValues = new Map([[{ + parse: borderBottomWidth_export_parse, + definition: borderBottomWidth_export_definition, + property: borderBottomWidth_export_property +}.property, "medium"], [{ + parse: borderBottomStyle_export_parse, + definition: borderBottomStyle_export_definition, + property: borderBottomStyle_export_property +}.property, "none"], [{ + parse: borderBottomColor_export_parse, + definition: borderBottomColor_export_definition, + property: borderBottomColor_export_property +}.property, "currentcolor"]]); +borderBottom_export_shorthandFor = new Map([[{ + parse: borderBottomWidth_export_parse, + definition: borderBottomWidth_export_definition, + property: borderBottomWidth_export_property +}.property, { + parse: borderBottomWidth_export_parse, + definition: borderBottomWidth_export_definition, + property: borderBottomWidth_export_property +}], [{ + parse: borderBottomStyle_export_parse, + definition: borderBottomStyle_export_definition, + property: borderBottomStyle_export_property +}.property, { + parse: borderBottomStyle_export_parse, + definition: borderBottomStyle_export_definition, + property: borderBottomStyle_export_property +}], [{ + parse: borderBottomColor_export_parse, + definition: borderBottomColor_export_definition, + property: borderBottomColor_export_property +}.property, { + parse: borderBottomColor_export_parse, + definition: borderBottomColor_export_definition, + property: borderBottomColor_export_property +}]]); +borderBottom_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "") { + return v; + } + const values = external_dependency_parsers_0.splitValue(v); + const parsedValues = new Map(); + for (const val of values) { + const value = external_dependency_parsers_0.parsePropertyValue(borderBottom_local_var_property, val, { + globalObject, + inArray: true + }); + if (Array.isArray(value) && value.length === 1) { + const parsedValue = external_dependency_parsers_0.resolveBorderShorthandValue(value, borderBottom_local_var_subProps, parsedValues); + if (typeof parsedValue === "string") { + return parsedValue; + } else if (Array.isArray(parsedValue)) { + const [key, resolvedVal] = parsedValue; + parsedValues.set(key, resolvedVal); + } else { + return; + } + } else { + return; + } + } + if (parsedValues.size) { + const keys = borderBottom_export_shorthandFor.keys(); + const obj = { + [{ + parse: borderBottomWidth_export_parse, + definition: borderBottomWidth_export_definition, + property: borderBottomWidth_export_property + }.property]: "medium" + }; + for (const key of keys) { + if (parsedValues.has(key)) { + const parsedValue = parsedValues.get(key); + if (parsedValue !== borderBottom_export_initialValues.get(key)) { + obj[key] = parsedValues.get(key); + if (obj[{ + parse: borderBottomWidth_export_parse, + definition: borderBottomWidth_export_definition, + property: borderBottomWidth_export_property + }.property] && obj[{ + parse: borderBottomWidth_export_parse, + definition: borderBottomWidth_export_definition, + property: borderBottomWidth_export_property + }.property] === "medium") { + delete obj[{ + parse: borderBottomWidth_export_parse, + definition: borderBottomWidth_export_definition, + property: borderBottomWidth_export_property + }.property]; + } + } + } + } + return obj; + } +}; +borderBottom_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (external_dependency_parsers_0.hasVarFunc(v)) { + this._borderSetter(borderBottom_local_var_property, v, ""); + } else { + const val = borderBottom_export_parse(v, { + globalObject: this._global + }); + if (val || typeof val === "string") { + const priority = !this._priorities.get(borderBottom_local_var_shorthand) && this._priorities.has(borderBottom_local_var_property) ? this._priorities.get(borderBottom_local_var_property) : ""; + this._borderSetter(borderBottom_local_var_property, val, priority); + } + } + }, + get() { + return this.getPropertyValue(borderBottom_local_var_property); + }, + enumerable: true, + configurable: true +}; +borderBottom_export_property = borderBottom_local_var_property; +var borderLeft_export_initialValues, borderLeft_export_shorthandFor, borderLeft_export_parse, borderLeft_export_definition, borderLeft_export_property; +const borderLeft_local_var_property = "border-left"; +const borderLeft_local_var_shorthand = "border"; +const borderLeft_local_var_subProps = { + width: { + parse: borderLeftWidth_export_parse, + definition: borderLeftWidth_export_definition, + property: borderLeftWidth_export_property + }.property, + style: { + parse: borderLeftStyle_export_parse, + definition: borderLeftStyle_export_definition, + property: borderLeftStyle_export_property + }.property, + color: { + parse: borderLeftColor_export_parse, + definition: borderLeftColor_export_definition, + property: borderLeftColor_export_property + }.property +}; +borderLeft_export_initialValues = new Map([[{ + parse: borderLeftWidth_export_parse, + definition: borderLeftWidth_export_definition, + property: borderLeftWidth_export_property +}.property, "medium"], [{ + parse: borderLeftStyle_export_parse, + definition: borderLeftStyle_export_definition, + property: borderLeftStyle_export_property +}.property, "none"], [{ + parse: borderLeftColor_export_parse, + definition: borderLeftColor_export_definition, + property: borderLeftColor_export_property +}.property, "currentcolor"]]); +borderLeft_export_shorthandFor = new Map([[{ + parse: borderLeftWidth_export_parse, + definition: borderLeftWidth_export_definition, + property: borderLeftWidth_export_property +}.property, { + parse: borderLeftWidth_export_parse, + definition: borderLeftWidth_export_definition, + property: borderLeftWidth_export_property +}], [{ + parse: borderLeftStyle_export_parse, + definition: borderLeftStyle_export_definition, + property: borderLeftStyle_export_property +}.property, { + parse: borderLeftStyle_export_parse, + definition: borderLeftStyle_export_definition, + property: borderLeftStyle_export_property +}], [{ + parse: borderLeftColor_export_parse, + definition: borderLeftColor_export_definition, + property: borderLeftColor_export_property +}.property, { + parse: borderLeftColor_export_parse, + definition: borderLeftColor_export_definition, + property: borderLeftColor_export_property +}]]); +borderLeft_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "") { + return v; + } + const values = external_dependency_parsers_0.splitValue(v); + const parsedValues = new Map(); + for (const val of values) { + const value = external_dependency_parsers_0.parsePropertyValue(borderLeft_local_var_property, val, { + globalObject, + inArray: true + }); + if (Array.isArray(value) && value.length === 1) { + const parsedValue = external_dependency_parsers_0.resolveBorderShorthandValue(value, borderLeft_local_var_subProps, parsedValues); + if (typeof parsedValue === "string") { + return parsedValue; + } else if (Array.isArray(parsedValue)) { + const [key, resolvedVal] = parsedValue; + parsedValues.set(key, resolvedVal); + } else { + return; + } + } else { + return; + } + } + if (parsedValues.size) { + const keys = borderLeft_export_shorthandFor.keys(); + const obj = { + [{ + parse: borderLeftWidth_export_parse, + definition: borderLeftWidth_export_definition, + property: borderLeftWidth_export_property + }.property]: "medium" + }; + for (const key of keys) { + if (parsedValues.has(key)) { + const parsedValue = parsedValues.get(key); + if (parsedValue !== borderLeft_export_initialValues.get(key)) { + obj[key] = parsedValues.get(key); + if (obj[{ + parse: borderLeftWidth_export_parse, + definition: borderLeftWidth_export_definition, + property: borderLeftWidth_export_property + }.property] && obj[{ + parse: borderLeftWidth_export_parse, + definition: borderLeftWidth_export_definition, + property: borderLeftWidth_export_property + }.property] === "medium") { + delete obj[{ + parse: borderLeftWidth_export_parse, + definition: borderLeftWidth_export_definition, + property: borderLeftWidth_export_property + }.property]; + } + } + } + } + return obj; + } +}; +borderLeft_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (external_dependency_parsers_0.hasVarFunc(v)) { + this._borderSetter(borderLeft_local_var_property, v, ""); + } else { + const val = borderLeft_export_parse(v, { + globalObject: this._global + }); + if (val || typeof val === "string") { + const priority = !this._priorities.get(borderLeft_local_var_shorthand) && this._priorities.has(borderLeft_local_var_property) ? this._priorities.get(borderLeft_local_var_property) : ""; + this._borderSetter(borderLeft_local_var_property, val, priority); + } + } + }, + get() { + return this.getPropertyValue(borderLeft_local_var_property); + }, + enumerable: true, + configurable: true +}; +borderLeft_export_property = borderLeft_local_var_property; +var border_export_initialValues, border_export_shorthandFor, border_export_positionShorthandFor, border_export_parse, border_export_definition, border_export_property; +const border_local_var_property = "border"; +const border_local_var_subProps = { + width: { + shorthandFor: borderWidth_export_shorthandFor, + parse: borderWidth_export_parse, + definition: borderWidth_export_definition, + property: borderWidth_export_property + }.property, + style: { + shorthandFor: borderStyle_export_shorthandFor, + parse: borderStyle_export_parse, + definition: borderStyle_export_definition, + property: borderStyle_export_property + }.property, + color: { + shorthandFor: borderColor_export_shorthandFor, + parse: borderColor_export_parse, + definition: borderColor_export_definition, + property: borderColor_export_property + }.property +}; +border_export_initialValues = new Map([[{ + shorthandFor: borderWidth_export_shorthandFor, + parse: borderWidth_export_parse, + definition: borderWidth_export_definition, + property: borderWidth_export_property +}.property, "medium"], [{ + shorthandFor: borderStyle_export_shorthandFor, + parse: borderStyle_export_parse, + definition: borderStyle_export_definition, + property: borderStyle_export_property +}.property, "none"], [{ + shorthandFor: borderColor_export_shorthandFor, + parse: borderColor_export_parse, + definition: borderColor_export_definition, + property: borderColor_export_property +}.property, "currentcolor"]]); +border_export_shorthandFor = new Map([[{ + shorthandFor: borderWidth_export_shorthandFor, + parse: borderWidth_export_parse, + definition: borderWidth_export_definition, + property: borderWidth_export_property +}.property, { + shorthandFor: borderWidth_export_shorthandFor, + parse: borderWidth_export_parse, + definition: borderWidth_export_definition, + property: borderWidth_export_property +}], [{ + shorthandFor: borderStyle_export_shorthandFor, + parse: borderStyle_export_parse, + definition: borderStyle_export_definition, + property: borderStyle_export_property +}.property, { + shorthandFor: borderStyle_export_shorthandFor, + parse: borderStyle_export_parse, + definition: borderStyle_export_definition, + property: borderStyle_export_property +}], [{ + shorthandFor: borderColor_export_shorthandFor, + parse: borderColor_export_parse, + definition: borderColor_export_definition, + property: borderColor_export_property +}.property, { + shorthandFor: borderColor_export_shorthandFor, + parse: borderColor_export_parse, + definition: borderColor_export_definition, + property: borderColor_export_property +}]]); +border_export_positionShorthandFor = new Map([[{ + initialValues: borderTop_export_initialValues, + shorthandFor: borderTop_export_shorthandFor, + parse: borderTop_export_parse, + definition: borderTop_export_definition, + property: borderTop_export_property +}.property, { + initialValues: borderTop_export_initialValues, + shorthandFor: borderTop_export_shorthandFor, + parse: borderTop_export_parse, + definition: borderTop_export_definition, + property: borderTop_export_property +}], [{ + initialValues: borderRight_export_initialValues, + shorthandFor: borderRight_export_shorthandFor, + parse: borderRight_export_parse, + definition: borderRight_export_definition, + property: borderRight_export_property +}.property, { + initialValues: borderRight_export_initialValues, + shorthandFor: borderRight_export_shorthandFor, + parse: borderRight_export_parse, + definition: borderRight_export_definition, + property: borderRight_export_property +}], [{ + initialValues: borderBottom_export_initialValues, + shorthandFor: borderBottom_export_shorthandFor, + parse: borderBottom_export_parse, + definition: borderBottom_export_definition, + property: borderBottom_export_property +}.property, { + initialValues: borderBottom_export_initialValues, + shorthandFor: borderBottom_export_shorthandFor, + parse: borderBottom_export_parse, + definition: borderBottom_export_definition, + property: borderBottom_export_property +}], [{ + initialValues: borderLeft_export_initialValues, + shorthandFor: borderLeft_export_shorthandFor, + parse: borderLeft_export_parse, + definition: borderLeft_export_definition, + property: borderLeft_export_property +}.property, { + initialValues: borderLeft_export_initialValues, + shorthandFor: borderLeft_export_shorthandFor, + parse: borderLeft_export_parse, + definition: borderLeft_export_definition, + property: borderLeft_export_property +}]]); +border_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "" || external_dependency_parsers_0.hasVarFunc(v)) { + return v; + } + const values = external_dependency_parsers_0.splitValue(v); + const parsedValues = new Map(); + for (const val of values) { + const value = external_dependency_parsers_0.parsePropertyValue(border_local_var_property, val, { + globalObject, + inArray: true + }); + if (Array.isArray(value) && value.length === 1) { + const parsedValue = external_dependency_parsers_0.resolveBorderShorthandValue(value, border_local_var_subProps, parsedValues); + if (typeof parsedValue === "string") { + return parsedValue; + } else if (Array.isArray(parsedValue)) { + const [key, resolvedVal] = parsedValue; + parsedValues.set(key, resolvedVal); + } else { + return; + } + } else { + return; + } + } + if (parsedValues.size) { + const keys = border_export_shorthandFor.keys(); + const obj = { + [{ + shorthandFor: borderWidth_export_shorthandFor, + parse: borderWidth_export_parse, + definition: borderWidth_export_definition, + property: borderWidth_export_property + }.property]: "medium" + }; + for (const key of keys) { + if (parsedValues.has(key)) { + const parsedValue = parsedValues.get(key); + if (parsedValue !== border_export_initialValues.get(key)) { + obj[key] = parsedValues.get(key); + if (obj[{ + shorthandFor: borderWidth_export_shorthandFor, + parse: borderWidth_export_parse, + definition: borderWidth_export_definition, + property: borderWidth_export_property + }.property] && obj[{ + shorthandFor: borderWidth_export_shorthandFor, + parse: borderWidth_export_parse, + definition: borderWidth_export_definition, + property: borderWidth_export_property + }.property] === "medium") { + delete obj[{ + shorthandFor: borderWidth_export_shorthandFor, + parse: borderWidth_export_parse, + definition: borderWidth_export_definition, + property: borderWidth_export_property + }.property]; + } + } + } + } + return obj; + } +}; +border_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (external_dependency_parsers_0.hasVarFunc(v)) { + this._borderSetter(border_local_var_property, v, ""); + } else { + const val = border_export_parse(v, { + globalObject: this._global + }); + if (val || typeof val === "string") { + const priority = this._priorities.get(border_local_var_property) ?? ""; + this._borderSetter(border_local_var_property, val, priority); + } + } + }, + get() { + return this.getPropertyValue(border_local_var_property); + }, + enumerable: true, + configurable: true +}; +border_export_property = border_local_var_property; +var borderCollapse_export_parse, borderCollapse_export_definition, borderCollapse_export_property; +const borderCollapse_local_var_property = "border-collapse"; +borderCollapse_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "") { + return v; + } + const value = external_dependency_parsers_0.parsePropertyValue(borderCollapse_local_var_property, v, { + globalObject, + inArray: true + }); + if (Array.isArray(value) && value.length === 1) { + return external_dependency_parsers_0.resolveKeywordValue(value); + } else if (typeof value === "string") { + return value; + } +}; +borderCollapse_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (external_dependency_parsers_0.hasVarFunc(v)) { + this._setProperty(borderCollapse_local_var_property, v); + } else { + const val = borderCollapse_export_parse(v, { + globalObject: this._global + }); + if (typeof val === "string") { + const priority = this._priorities.get(borderCollapse_local_var_property) ?? ""; + this._setProperty(borderCollapse_local_var_property, val, priority); + } + } + }, + get() { + return this.getPropertyValue(borderCollapse_local_var_property); + }, + enumerable: true, + configurable: true +}; +borderCollapse_export_property = borderCollapse_local_var_property; +var borderSpacing_export_parse, borderSpacing_export_definition, borderSpacing_export_property; +const borderSpacing_local_var_property = "border-spacing"; +borderSpacing_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "") { + return v; + } + const value = external_dependency_parsers_0.parsePropertyValue(borderSpacing_local_var_property, v, { + globalObject, + inArray: true + }); + if (Array.isArray(value) && value.length) { + switch (value.length) { + case 1: + { + return external_dependency_parsers_0.resolveNumericValue(value, { + type: "length" + }); + } + case 2: + { + const [part1, part2] = value; + const val1 = external_dependency_parsers_0.resolveNumericValue([part1], { + type: "length" + }); + const val2 = external_dependency_parsers_0.resolveNumericValue([part2], { + type: "length" + }); + if (val1 && val2) { + return `${val1} ${val2}`; + } + break; + } + default: + } + } else if (typeof value === "string") { + return value; + } +}; +borderSpacing_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (external_dependency_parsers_0.hasVarFunc(v)) { + this._setProperty(borderSpacing_local_var_property, v); + } else { + const val = borderSpacing_export_parse(v, { + globalObject: this._global + }); + if (typeof val === "string") { + const priority = this._priorities.get(borderSpacing_local_var_property) ?? ""; + this._setProperty(borderSpacing_local_var_property, val, priority); + } + } + }, + get() { + return this.getPropertyValue(borderSpacing_local_var_property); + }, + enumerable: true, + configurable: true +}; +borderSpacing_export_property = borderSpacing_local_var_property; +var bottom_export_parse, bottom_export_definition, bottom_export_property; +const bottom_local_var_property = "bottom"; +bottom_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "") { + return v; + } + const value = external_dependency_parsers_0.parsePropertyValue(bottom_local_var_property, v, { + globalObject, + inArray: true + }); + if (Array.isArray(value) && value.length === 1) { + return external_dependency_parsers_0.resolveNumericValue(value, { + type: "length" + }); + } else if (typeof value === "string") { + return value; + } +}; +bottom_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (external_dependency_parsers_0.hasVarFunc(v)) { + this._setProperty(bottom_local_var_property, v); + } else { + const val = bottom_export_parse(v, { + globalObject: this._global + }); + if (typeof val === "string") { + const priority = this._priorities.get(bottom_local_var_property) ?? ""; + this._setProperty(bottom_local_var_property, val, priority); + } + } + }, + get() { + return this.getPropertyValue(bottom_local_var_property); + }, + enumerable: true, + configurable: true +}; +bottom_export_property = bottom_local_var_property; +var clear_export_parse, clear_export_definition, clear_export_property; +const clear_local_var_property = "clear"; +clear_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "") { + return v; + } + const value = external_dependency_parsers_0.parsePropertyValue(clear_local_var_property, v, { + globalObject, + inArray: true + }); + if (Array.isArray(value) && value.length === 1) { + return external_dependency_parsers_0.resolveKeywordValue(value); + } else if (typeof value === "string") { + return value; + } +}; +clear_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (external_dependency_parsers_0.hasVarFunc(v)) { + this._setProperty(clear_local_var_property, v); + } else { + const val = clear_export_parse(v, { + globalObject: this._global + }); + if (typeof val === "string") { + const priority = this._priorities.get(clear_local_var_property) ?? ""; + this._setProperty(clear_local_var_property, val, priority); + } + } + }, + get() { + return this.getPropertyValue(clear_local_var_property); + }, + enumerable: true, + configurable: true +}; +clear_export_property = clear_local_var_property; +var clip_export_parse, clip_export_definition, clip_export_property; +// deprecated +// @see https://drafts.csswg.org/css-masking-1/#clip-property + +const clip_local_var_property = "clip"; +clip_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "") { + return v; + } + const { + AST_TYPES + } = external_dependency_parsers_0; + const value = external_dependency_parsers_0.parsePropertyValue(clip_local_var_property, v, { + globalObject, + inArray: true + }); + if (Array.isArray(value) && value.length === 1) { + const [{ + name, + type, + value: itemValue + }] = value; + switch (type) { + case AST_TYPES.FUNCTION: + { + const values = external_dependency_parsers_0.splitValue(itemValue, { + delimiter: "," + }); + const parsedValues = []; + for (const item of values) { + const parsedValue = external_dependency_parsers_0.parseCSS(item, { + context: "value" + }, true); + const val = external_dependency_parsers_0.resolveNumericValue(parsedValue.children, { + type: "length" + }); + if (val) { + parsedValues.push(val); + } else { + return; + } + } + return `${name}(${parsedValues.join(", ")})`; + } + case AST_TYPES.GLOBAL_KEYWORD: + case AST_TYPES.IDENTIFIER: + { + return name; + } + default: + } + } else if (typeof value === "string") { + return value; + } +}; +clip_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (external_dependency_parsers_0.hasVarFunc(v)) { + this._setProperty(clip_local_var_property, v); + } else { + const val = clip_export_parse(v, { + globalObject: this._global + }); + if (typeof val === "string") { + const priority = this._priorities.get(clip_local_var_property) ?? ""; + this._setProperty(clip_local_var_property, val, priority); + } + } + }, + get() { + return this.getPropertyValue(clip_local_var_property); + }, + enumerable: true, + configurable: true +}; +clip_export_property = clip_local_var_property; +var color_export_parse, color_export_definition, color_export_property; +const color_local_var_property = "color"; +color_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "") { + return v; + } + const value = external_dependency_parsers_0.parsePropertyValue(color_local_var_property, v, { + globalObject, + inArray: true + }); + if (Array.isArray(value) && value.length === 1) { + return external_dependency_parsers_0.resolveColorValue(value); + } else if (typeof value === "string") { + return value; + } +}; +color_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (external_dependency_parsers_0.hasVarFunc(v)) { + this._setProperty(color_local_var_property, v); + } else { + const val = color_export_parse(v, { + globalObject: this._global + }); + if (typeof val === "string") { + const priority = this._priorities.get(color_local_var_property) ?? ""; + this._setProperty(color_local_var_property, val, priority); + } + } + }, + get() { + return this.getPropertyValue(color_local_var_property); + }, + enumerable: true, + configurable: true +}; +color_export_property = color_local_var_property; +var display_export_parse, display_export_definition, display_export_property; +const display_local_var_property = "display"; + +/* keywords */ +const display_local_var_displayOutside = ["block", "inline", "run-in"]; +const display_local_var_displayFlow = ["flow", "flow-root"]; +display_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "") { + return v; + } + const { + AST_TYPES + } = external_dependency_parsers_0; + const value = external_dependency_parsers_0.parsePropertyValue(display_local_var_property, v, { + globalObject, + inArray: true + }); + if (Array.isArray(value) && value.length) { + switch (value.length) { + case 1: + { + const [{ + name, + type + }] = value; + switch (type) { + case AST_TYPES.GLOBAL_KEYWORD: + { + return name; + } + case AST_TYPES.IDENTIFIER: + { + if (name === "flow") { + return "block"; + } + return name; + } + default: + } + break; + } + case 2: + { + const [part1, part2] = value; + const val1 = part1.type === AST_TYPES.IDENTIFIER && part1.name; + const val2 = part2.type === AST_TYPES.IDENTIFIER && part2.name; + if (val1 && val2) { + let outerValue = ""; + let innerValue = ""; + if (val1 === "list-item") { + outerValue = val2; + innerValue = val1; + } else if (val2 === "list-item") { + outerValue = val1; + innerValue = val2; + } else if (display_local_var_displayOutside.includes(val1)) { + outerValue = val1; + innerValue = val2; + } else if (display_local_var_displayOutside.includes(val2)) { + outerValue = val2; + innerValue = val1; + } + if (innerValue === "list-item") { + switch (outerValue) { + case "block": + case "flow": + { + return innerValue; + } + case "flow-root": + case "inline": + case "run-in": + { + return `${outerValue} ${innerValue}`; + } + default: + } + } else if (outerValue === "block") { + switch (innerValue) { + case "flow": + { + return outerValue; + } + case "flow-root": + case "flex": + case "grid": + case "table": + { + return innerValue; + } + case "ruby": + { + return `${outerValue} ${innerValue}`; + } + default: + } + } else if (outerValue === "inline") { + switch (innerValue) { + case "flow": + { + return outerValue; + } + case "flow-root": + { + return `${outerValue}-block`; + } + case "flex": + case "grid": + case "table": + { + return `${outerValue}-${innerValue}`; + } + case "ruby": + { + return innerValue; + } + default: + } + } else if (outerValue === "run-in") { + switch (innerValue) { + case "flow": + { + return outerValue; + } + case "flow-root": + case "flex": + case "grid": + case "table": + case "ruby": + { + return `${outerValue} ${innerValue}`; + } + default: + } + } + } + break; + } + case 3: + { + const [part1, part2, part3] = value; + const val1 = part1.type === AST_TYPES.IDENTIFIER && part1.name; + const val2 = part2.type === AST_TYPES.IDENTIFIER && part2.name; + const val3 = part3.type === AST_TYPES.IDENTIFIER && part3.name; + if (val1 && val2 && part3) { + let outerValue = ""; + let flowValue = ""; + let listItemValue = ""; + if (val1 === "list-item") { + listItemValue = val1; + if (display_local_var_displayFlow.includes(val2)) { + flowValue = val2; + outerValue = val3; + } else if (display_local_var_displayFlow.includes(val3)) { + flowValue = val3; + outerValue = val2; + } + } else if (val2 === "list-item") { + listItemValue = val2; + if (display_local_var_displayFlow.includes(val1)) { + flowValue = val1; + outerValue = val3; + } else if (display_local_var_displayFlow.includes(val3)) { + flowValue = val3; + outerValue = val1; + } + } else if (val3 === "list-item") { + listItemValue = val3; + if (display_local_var_displayFlow.includes(val1)) { + flowValue = val1; + outerValue = val2; + } else if (display_local_var_displayFlow.includes(val2)) { + flowValue = val2; + outerValue = val1; + } + } + if (outerValue && flowValue && listItemValue) { + switch (outerValue) { + case "block": + { + if (flowValue === "flow") { + return listItemValue; + } + return `${flowValue} ${listItemValue}`; + } + case "inline": + case "run-in": + { + if (flowValue === "flow") { + return `${outerValue} ${listItemValue}`; + } + return `${outerValue} ${flowValue} ${listItemValue}`; + } + } + } + } + break; + } + default: + } + } else if (typeof value === "string") { + return value; + } +}; +display_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (external_dependency_parsers_0.hasVarFunc(v)) { + this._setProperty(display_local_var_property, v); + } else { + const val = display_export_parse(v, { + globalObject: this._global + }); + if (typeof val === "string") { + const priority = this._priorities.get(display_local_var_property) ?? ""; + this._setProperty(display_local_var_property, val, priority); + } + } + }, + get() { + return this.getPropertyValue(display_local_var_property); + }, + enumerable: true, + configurable: true +}; +display_export_property = display_local_var_property; +var flexGrow_export_parse, flexGrow_export_definition, flexGrow_export_property; +const flexGrow_local_var_property = "flex-grow"; +const flexGrow_local_var_shorthand = "flex"; +flexGrow_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "") { + return v; + } + const value = external_dependency_parsers_0.parsePropertyValue("flex-grow", v, { + globalObject, + inArray: true + }); + if (Array.isArray(value) && value.length === 1) { + return external_dependency_parsers_0.resolveNumericValue(value, { + min: 0 + }); + } else if (typeof value === "string") { + return value; + } +}; +flexGrow_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (external_dependency_parsers_0.hasVarFunc(v)) { + this._setProperty(flexGrow_local_var_shorthand, ""); + this._setProperty(flexGrow_local_var_property, v); + } else { + const val = flexGrow_export_parse(v, { + globalObject: this._global + }); + if (typeof val === "string") { + const priority = !this._priorities.get(flexGrow_local_var_shorthand) && this._priorities.has(flexGrow_local_var_property) ? this._priorities.get(flexGrow_local_var_property) : ""; + this._flexBoxSetter(flexGrow_local_var_property, val, priority, flexGrow_local_var_shorthand); + } + } + }, + get() { + return this.getPropertyValue(flexGrow_local_var_property); + }, + enumerable: true, + configurable: true +}; +flexGrow_export_property = flexGrow_local_var_property; +var flexShrink_export_parse, flexShrink_export_definition, flexShrink_export_property; +const flexShrink_local_var_property = "flex-shrink"; +const flexShrink_local_var_shorthand = "flex"; +flexShrink_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "") { + return v; + } + const value = external_dependency_parsers_0.parsePropertyValue(flexShrink_local_var_property, v, { + globalObject, + inArray: true + }); + if (Array.isArray(value) && value.length === 1) { + return external_dependency_parsers_0.resolveNumericValue(value, { + min: 0 + }); + } else if (typeof value === "string") { + return value; + } +}; +flexShrink_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (external_dependency_parsers_0.hasVarFunc(v)) { + this._setProperty(flexShrink_local_var_shorthand, ""); + this._setProperty(flexShrink_local_var_property, v); + } else { + const val = flexShrink_export_parse(v, { + globalObject: this._global + }); + if (typeof val === "string") { + const priority = !this._priorities.get(flexShrink_local_var_shorthand) && this._priorities.has(flexShrink_local_var_property) ? this._priorities.get(flexShrink_local_var_property) : ""; + this._flexBoxSetter(flexShrink_local_var_property, val, priority, flexShrink_local_var_shorthand); + } + } + }, + get() { + return this.getPropertyValue(flexShrink_local_var_property); + }, + enumerable: true, + configurable: true +}; +flexShrink_export_property = flexShrink_local_var_property; +var flexBasis_export_parse, flexBasis_export_definition, flexBasis_export_property; +const flexBasis_local_var_property = "flex-basis"; +const flexBasis_local_var_shorthand = "flex"; +flexBasis_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "") { + return v; + } + const value = external_dependency_parsers_0.parsePropertyValue(flexBasis_local_var_property, v, { + globalObject, + inArray: true + }); + if (Array.isArray(value) && value.length === 1) { + return external_dependency_parsers_0.resolveNumericValue(value, { + type: "length" + }); + } else if (typeof value === "string") { + return value; + } +}; +flexBasis_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (external_dependency_parsers_0.hasVarFunc(v)) { + this._setProperty(flexBasis_local_var_shorthand, ""); + this._setProperty(flexBasis_local_var_property, v); + } else { + const val = flexBasis_export_parse(v, { + globalObject: this._global + }); + if (typeof val === "string") { + const priority = !this._priorities.get(flexBasis_local_var_shorthand) && this._priorities.has(flexBasis_local_var_property) ? this._priorities.get(flexBasis_local_var_property) : ""; + this._flexBoxSetter(flexBasis_local_var_property, val, priority, flexBasis_local_var_shorthand); + } + } + }, + get() { + return this.getPropertyValue(flexBasis_local_var_property); + }, + enumerable: true, + configurable: true +}; +flexBasis_export_property = flexBasis_local_var_property; +var flex_export_initialValues, flex_export_shorthandFor, flex_export_parse, flex_export_definition, flex_export_property; +const flex_local_var_property = "flex"; +flex_export_initialValues = new Map([[{ + parse: flexGrow_export_parse, + definition: flexGrow_export_definition, + property: flexGrow_export_property +}.property, "0"], [{ + parse: flexShrink_export_parse, + definition: flexShrink_export_definition, + property: flexShrink_export_property +}.property, "1"], [{ + parse: flexBasis_export_parse, + definition: flexBasis_export_definition, + property: flexBasis_export_property +}.property, "auto"]]); +flex_export_shorthandFor = new Map([[{ + parse: flexGrow_export_parse, + definition: flexGrow_export_definition, + property: flexGrow_export_property +}.property, { + parse: flexGrow_export_parse, + definition: flexGrow_export_definition, + property: flexGrow_export_property +}], [{ + parse: flexShrink_export_parse, + definition: flexShrink_export_definition, + property: flexShrink_export_property +}.property, { + parse: flexShrink_export_parse, + definition: flexShrink_export_definition, + property: flexShrink_export_property +}], [{ + parse: flexBasis_export_parse, + definition: flexBasis_export_definition, + property: flexBasis_export_property +}.property, { + parse: flexBasis_export_parse, + definition: flexBasis_export_definition, + property: flexBasis_export_property +}]]); +flex_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "") { + return v; + } + const { + AST_TYPES + } = external_dependency_parsers_0; + const value = external_dependency_parsers_0.parsePropertyValue(flex_local_var_property, v, { + globalObject, + inArray: true + }); + if (Array.isArray(value) && value.length) { + const flex = { + [{ + parse: flexGrow_export_parse, + definition: flexGrow_export_definition, + property: flexGrow_export_property + }.property]: "1", + [{ + parse: flexShrink_export_parse, + definition: flexShrink_export_definition, + property: flexShrink_export_property + }.property]: "1", + [{ + parse: flexBasis_export_parse, + definition: flexBasis_export_definition, + property: flexBasis_export_property + }.property]: "0%" + }; + if (value.length === 1) { + const [{ + isNumber, + name, + type, + unit, + value: itemValue + }] = value; + switch (type) { + case AST_TYPES.CALC: + { + if (isNumber) { + flex[{ + parse: flexGrow_export_parse, + definition: flexGrow_export_definition, + property: flexGrow_export_property + }.property] = `${name}(${itemValue})`; + return flex; + } + flex[{ + parse: flexBasis_export_parse, + definition: flexBasis_export_definition, + property: flexBasis_export_property + }.property] = `${name}(${itemValue})`; + return flex; + } + case AST_TYPES.DIMENSION: + { + flex[{ + parse: flexBasis_export_parse, + definition: flexBasis_export_definition, + property: flexBasis_export_property + }.property] = `${itemValue}${unit}`; + return flex; + } + case AST_TYPES.GLOBAL_KEYWORD: + { + return name; + } + case AST_TYPES.IDENTIFIER: + { + if (name === "none") { + return { + [{ + parse: flexGrow_export_parse, + definition: flexGrow_export_definition, + property: flexGrow_export_property + }.property]: "0", + [{ + parse: flexShrink_export_parse, + definition: flexShrink_export_definition, + property: flexShrink_export_property + }.property]: "0", + [{ + parse: flexBasis_export_parse, + definition: flexBasis_export_definition, + property: flexBasis_export_property + }.property]: "auto" + }; + } + flex[{ + parse: flexBasis_export_parse, + definition: flexBasis_export_definition, + property: flexBasis_export_property + }.property] = name; + return flex; + } + case AST_TYPES.NUMBER: + { + flex[{ + parse: flexGrow_export_parse, + definition: flexGrow_export_definition, + property: flexGrow_export_property + }.property] = itemValue; + return flex; + } + case AST_TYPES.PERCENTAGE: + { + flex[{ + parse: flexBasis_export_parse, + definition: flexBasis_export_definition, + property: flexBasis_export_property + }.property] = `${itemValue}%`; + return flex; + } + default: + } + } else { + const [val1, val2, val3] = value; + if (val1.type === AST_TYPES.CALC && val1.isNumber) { + flex[{ + parse: flexGrow_export_parse, + definition: flexGrow_export_definition, + property: flexGrow_export_property + }.property] = `${val1.name}(${val1.value})`; + } else if (val1.type === AST_TYPES.NUMBER) { + flex[{ + parse: flexGrow_export_parse, + definition: flexGrow_export_definition, + property: flexGrow_export_property + }.property] = val1.value; + } else { + return; + } + if (val3) { + if (val2.type === AST_TYPES.CALC && val2.isNumber) { + flex[{ + parse: flexShrink_export_parse, + definition: flexShrink_export_definition, + property: flexShrink_export_property + }.property] = `${val2.name}(${val2.value})`; + } else if (val2.type === AST_TYPES.NUMBER) { + flex[{ + parse: flexShrink_export_parse, + definition: flexShrink_export_definition, + property: flexShrink_export_property + }.property] = val2.value; + } else { + return; + } + if (val3.type === AST_TYPES.GLOBAL_KEYWORD || val3.type === AST_TYPES.IDENTIFIER) { + flex[{ + parse: flexBasis_export_parse, + definition: flexBasis_export_definition, + property: flexBasis_export_property + }.property] = val3.name; + } else if (val3.type === AST_TYPES.CALC && !val3.isNumber) { + flex[{ + parse: flexBasis_export_parse, + definition: flexBasis_export_definition, + property: flexBasis_export_property + }.property] = `${val3.name}(${val3.value})`; + } else if (val3.type === AST_TYPES.DIMENSION) { + flex[{ + parse: flexBasis_export_parse, + definition: flexBasis_export_definition, + property: flexBasis_export_property + }.property] = `${val3.value}${val3.unit}`; + } else if (val3.type === AST_TYPES.PERCENTAGE) { + flex[{ + parse: flexBasis_export_parse, + definition: flexBasis_export_definition, + property: flexBasis_export_property + }.property] = `${val3.value}%`; + } else { + return; + } + } else { + switch (val2.type) { + case AST_TYPES.CALC: + { + if (val2.isNumber) { + flex[{ + parse: flexShrink_export_parse, + definition: flexShrink_export_definition, + property: flexShrink_export_property + }.property] = `${val2.name}(${val2.value})`; + } else { + flex[{ + parse: flexBasis_export_parse, + definition: flexBasis_export_definition, + property: flexBasis_export_property + }.property] = `${val2.name}(${val2.value})`; + } + break; + } + case AST_TYPES.DIMENSION: + { + flex[{ + parse: flexBasis_export_parse, + definition: flexBasis_export_definition, + property: flexBasis_export_property + }.property] = `${val2.value}${val2.unit}`; + break; + } + case AST_TYPES.NUMBER: + { + flex[{ + parse: flexShrink_export_parse, + definition: flexShrink_export_definition, + property: flexShrink_export_property + }.property] = val2.value; + break; + } + case AST_TYPES.PERCENTAGE: + { + flex[{ + parse: flexBasis_export_parse, + definition: flexBasis_export_definition, + property: flexBasis_export_property + }.property] = `${val2.value}%`; + break; + } + case AST_TYPES.IDENTIFIER: + { + flex[{ + parse: flexBasis_export_parse, + definition: flexBasis_export_definition, + property: flexBasis_export_property + }.property] = val2.name; + break; + } + default: + { + return; + } + } + } + return flex; + } + } else if (typeof value === "string") { + return value; + } +}; +flex_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (external_dependency_parsers_0.hasVarFunc(v)) { + for (const [longhand] of flex_export_shorthandFor) { + this._setProperty(longhand, ""); + } + this._setProperty(flex_local_var_property, v); + } else { + const val = flex_export_parse(v, { + globalObject: this._global + }); + const priority = this._priorities.get(flex_local_var_property) ?? ""; + if (typeof val === "string") { + for (const [longhand] of flex_export_shorthandFor) { + this._setProperty(longhand, val, priority); + } + this._setProperty(flex_local_var_property, val, priority); + } else if (val) { + const values = []; + for (const [longhand, value] of Object.entries(val)) { + values.push(value); + this._setProperty(longhand, value, priority); + } + this._setProperty(flex_local_var_property, values.join(" "), priority); + } + } + }, + get() { + return this.getPropertyValue(flex_local_var_property); + }, + enumerable: true, + configurable: true +}; +flex_export_property = flex_local_var_property; +var float_export_parse, float_export_definition, float_export_property; +const float_local_var_property = "float"; +float_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "") { + return v; + } + const value = external_dependency_parsers_0.parsePropertyValue(float_local_var_property, v, { + globalObject, + inArray: true + }); + if (Array.isArray(value) && value.length === 1) { + return external_dependency_parsers_0.resolveKeywordValue(value); + } else if (typeof value === "string") { + return value; + } +}; +float_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (external_dependency_parsers_0.hasVarFunc(v)) { + this._setProperty(float_local_var_property, v); + } else { + const val = float_export_parse(v, { + globalObject: this._global + }); + if (typeof val === "string") { + const priority = this._priorities.get(float_local_var_property) ?? ""; + this._setProperty(float_local_var_property, val, priority); + } + } + }, + get() { + return this.getPropertyValue(float_local_var_property); + }, + enumerable: true, + configurable: true +}; +float_export_property = float_local_var_property; +var floodColor_export_parse, floodColor_export_definition, floodColor_export_property; +const floodColor_local_var_property = "flood-color"; +floodColor_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "") { + return v; + } + const value = external_dependency_parsers_0.parsePropertyValue(floodColor_local_var_property, v, { + globalObject, + inArray: true + }); + if (Array.isArray(value) && value.length === 1) { + return external_dependency_parsers_0.resolveColorValue(value); + } else if (typeof value === "string") { + return value; + } +}; +floodColor_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (external_dependency_parsers_0.hasVarFunc(v)) { + this._setProperty(floodColor_local_var_property, v); + } else { + const val = floodColor_export_parse(v, { + globalObject: this._global + }); + if (typeof val === "string") { + const priority = this._priorities.get(floodColor_local_var_property) ?? ""; + this._setProperty(floodColor_local_var_property, val, priority); + } + } + }, + get() { + return this.getPropertyValue(floodColor_local_var_property); + }, + enumerable: true, + configurable: true +}; +floodColor_export_property = floodColor_local_var_property; +var fontStyle_export_parse, fontStyle_export_definition, fontStyle_export_property; +const fontStyle_local_var_property = "font-style"; +const fontStyle_local_var_shorthand = "font"; +fontStyle_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "") { + return v; + } + const { + AST_TYPES + } = external_dependency_parsers_0; + const value = external_dependency_parsers_0.parsePropertyValue(fontStyle_local_var_property, v, { + globalObject, + inArray: true + }); + if (Array.isArray(value) && value.length) { + if (value.length === 1) { + const [{ + name, + type + }] = value; + switch (type) { + case AST_TYPES.GLOBAL_KEYWORD: + case AST_TYPES.IDENTIFIER: + { + return name; + } + default: + } + } else if (value.length === 2) { + const [part1, part2] = value; + const val1 = part1.type === AST_TYPES.IDENTIFIER && part1.name; + const val2 = external_dependency_parsers_0.resolveNumericValue([part2], { + type: "angle" + }); + if (val1 && val1 === "oblique" && val2) { + return `${val1} ${val2}`; + } + } + } else if (typeof value === "string") { + return value; + } +}; +fontStyle_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (external_dependency_parsers_0.hasVarFunc(v)) { + this._setProperty(fontStyle_local_var_shorthand, ""); + this._setProperty(fontStyle_local_var_property, v); + } else { + const val = fontStyle_export_parse(v, { + globalObject: this._global + }); + if (typeof val === "string") { + const priority = !this._priorities.get(fontStyle_local_var_shorthand) && this._priorities.has(fontStyle_local_var_property) ? this._priorities.get(fontStyle_local_var_property) : ""; + this._setProperty(fontStyle_local_var_property, val, priority); + } + } + }, + get() { + return this.getPropertyValue(fontStyle_local_var_property); + }, + enumerable: true, + configurable: true +}; +fontStyle_export_property = fontStyle_local_var_property; +var fontVariant_export_parse, fontVariant_export_definition, fontVariant_export_property; +const fontVariant_local_var_property = "font-variant"; +const fontVariant_local_var_shorthand = "font"; +fontVariant_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "") { + return v; + } + const values = external_dependency_parsers_0.splitValue(v); + const parsedValues = []; + for (const val of values) { + const value = external_dependency_parsers_0.parsePropertyValue(fontVariant_local_var_property, val, { + globalObject, + inArray: true + }); + if (Array.isArray(value) && value.length === 1) { + const parsedValue = external_dependency_parsers_0.resolveFunctionValue(value); + if (!parsedValue) { + return; + } + parsedValues.push(parsedValue); + } else if (typeof value === "string") { + parsedValues.push(value); + } + } + if (parsedValues.length) { + if (parsedValues.length > 1) { + if (parsedValues.includes("normal") || parsedValues.includes("none")) { + return; + } + } + return parsedValues.join(" "); + } +}; +fontVariant_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (external_dependency_parsers_0.hasVarFunc(v)) { + this._setProperty(fontVariant_local_var_shorthand, ""); + this._setProperty(fontVariant_local_var_property, v); + } else { + const val = fontVariant_export_parse(v, { + globalObject: this._global + }); + if (typeof val === "string") { + const priority = !this._priorities.get(fontVariant_local_var_shorthand) && this._priorities.has(fontVariant_local_var_property) ? this._priorities.get(fontVariant_local_var_property) : ""; + this._setProperty(fontVariant_local_var_property, val, priority); + } + } + }, + get() { + return this.getPropertyValue(fontVariant_local_var_property); + }, + enumerable: true, + configurable: true +}; +fontVariant_export_property = fontVariant_local_var_property; +var fontWeight_export_parse, fontWeight_export_definition, fontWeight_export_property; +const fontWeight_local_var_property = "font-weight"; +const fontWeight_local_var_shorthand = "font"; +fontWeight_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "") { + return v; + } + const value = external_dependency_parsers_0.parsePropertyValue(fontWeight_local_var_property, v, { + globalObject, + inArray: true + }); + if (Array.isArray(value) && value.length === 1) { + const parsedValue = external_dependency_parsers_0.resolveNumericValue(value, { + min: 1, + max: 1000 + }); + if (!parsedValue) { + return; + } + return parsedValue; + } else if (typeof value === "string") { + return value; + } +}; +fontWeight_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (external_dependency_parsers_0.hasVarFunc(v)) { + this._setProperty(fontWeight_local_var_shorthand, ""); + this._setProperty(fontWeight_local_var_property, v); + } else { + const val = fontWeight_export_parse(v, { + globalObject: this._global + }); + if (typeof val === "string") { + const priority = !this._priorities.get(fontWeight_local_var_shorthand) && this._priorities.has(fontWeight_local_var_property) ? this._priorities.get(fontWeight_local_var_property) : ""; + this._setProperty(fontWeight_local_var_property, val, priority); + } + } + }, + get() { + return this.getPropertyValue(fontWeight_local_var_property); + }, + enumerable: true, + configurable: true +}; +fontWeight_export_property = fontWeight_local_var_property; +var fontSize_export_parse, fontSize_export_definition, fontSize_export_property; +const fontSize_local_var_property = "font-size"; +const fontSize_local_var_shorthand = "font"; +fontSize_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "") { + return v; + } + const value = external_dependency_parsers_0.parsePropertyValue(fontSize_local_var_property, v, { + globalObject, + inArray: true + }); + if (Array.isArray(value) && value.length === 1) { + return external_dependency_parsers_0.resolveNumericValue(value, { + min: 0, + type: "length" + }); + } else if (typeof value === "string") { + return value; + } +}; +fontSize_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (external_dependency_parsers_0.hasVarFunc(v)) { + this._setProperty(fontSize_local_var_shorthand, ""); + this._setProperty(fontSize_local_var_property, v); + } else { + const val = fontSize_export_parse(v, { + globalObject: this._global + }); + if (typeof val === "string") { + const priority = !this._priorities.get(fontSize_local_var_shorthand) && this._priorities.has(fontSize_local_var_property) ? this._priorities.get(fontSize_local_var_property) : ""; + this._setProperty(fontSize_local_var_property, val, priority); + } + } + }, + get() { + return this.getPropertyValue(fontSize_local_var_property); + }, + enumerable: true, + configurable: true +}; +fontSize_export_property = fontSize_local_var_property; +var lineHeight_export_parse, lineHeight_export_definition, lineHeight_export_property; +const lineHeight_local_var_property = "line-height"; +const lineHeight_local_var_shorthand = "font"; +lineHeight_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "") { + return v; + } + const value = external_dependency_parsers_0.parsePropertyValue(lineHeight_local_var_property, v, { + globalObject, + inArray: true + }); + if (Array.isArray(value) && value.length === 1) { + return external_dependency_parsers_0.resolveNumericValue(value, { + min: 0 + }); + } else if (typeof value === "string") { + return value; + } +}; +lineHeight_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (external_dependency_parsers_0.hasVarFunc(v)) { + this._setProperty(lineHeight_local_var_shorthand, ""); + this._setProperty(lineHeight_local_var_property, v); + } else { + const val = lineHeight_export_parse(v, { + globalObject: this._global + }); + if (typeof val === "string") { + const priority = !this._priorities.get(lineHeight_local_var_shorthand) && this._priorities.has(lineHeight_local_var_property) ? this._priorities.get(lineHeight_local_var_property) : ""; + this._setProperty(lineHeight_local_var_property, val, priority); + } + } + }, + get() { + return this.getPropertyValue(lineHeight_local_var_property); + }, + enumerable: true, + configurable: true +}; +lineHeight_export_property = lineHeight_local_var_property; +var fontFamily_export_parse, fontFamily_export_definition, fontFamily_export_property; +const fontFamily_local_var_property = "font-family"; +const fontFamily_local_var_shorthand = "font"; +fontFamily_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "") { + return v; + } + const { + AST_TYPES + } = external_dependency_parsers_0; + const values = external_dependency_parsers_0.splitValue(v, { + delimiter: "," + }); + const parsedValues = []; + for (const val of values) { + const value = external_dependency_parsers_0.parsePropertyValue(fontFamily_local_var_property, val, { + globalObject, + caseSensitive: true, + inArray: true + }); + if (Array.isArray(value) && value.length) { + if (value.length === 1) { + const [{ + name, + type, + value: itemValue + }] = value; + switch (type) { + case AST_TYPES.FUNCTION: + { + parsedValues.push(`${name}(${itemValue})`); + break; + } + case AST_TYPES.GLOBAL_KEYWORD: + case AST_TYPES.IDENTIFIER: + { + if (name === "undefined") { + return; + } + parsedValues.push(name); + break; + } + case "String": + { + const parsedValue = itemValue.replaceAll("\\", "").replaceAll('"', '\\"'); + parsedValues.push(`"${parsedValue}"`); + break; + } + default: + { + return; + } + } + } else { + const parts = []; + for (const item of value) { + const { + name, + type + } = item; + if (type !== AST_TYPES.IDENTIFIER) { + return; + } + parts.push(name); + } + const parsedValue = parts.join(" ").replaceAll("\\", "").replaceAll('"', '\\"'); + parsedValues.push(`"${parsedValue}"`); + } + } else if (typeof value === "string") { + parsedValues.push(value); + } else { + return; + } + } + if (parsedValues.length) { + return parsedValues.join(", "); + } +}; +fontFamily_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (external_dependency_parsers_0.hasVarFunc(v)) { + this._setProperty(fontFamily_local_var_shorthand, ""); + this._setProperty(fontFamily_local_var_property, v); + } else { + const val = fontFamily_export_parse(v, { + globalObject: this._global + }); + if (typeof val === "string") { + const priority = !this._priorities.get(fontFamily_local_var_shorthand) && this._priorities.has(fontFamily_local_var_property) ? this._priorities.get(fontFamily_local_var_property) : ""; + this._setProperty(fontFamily_local_var_property, val, priority); + } + } + }, + get() { + return this.getPropertyValue(fontFamily_local_var_property); + }, + enumerable: true, + configurable: true +}; +fontFamily_export_property = fontFamily_local_var_property; +var font_export_shorthandFor, font_export_parse, font_export_definition, font_export_property; +const font_local_var_property = "font"; +font_export_shorthandFor = new Map([[{ + parse: fontStyle_export_parse, + definition: fontStyle_export_definition, + property: fontStyle_export_property +}.property, { + parse: fontStyle_export_parse, + definition: fontStyle_export_definition, + property: fontStyle_export_property +}], [{ + parse: fontVariant_export_parse, + definition: fontVariant_export_definition, + property: fontVariant_export_property +}.property, { + parse: fontVariant_export_parse, + definition: fontVariant_export_definition, + property: fontVariant_export_property +}], [{ + parse: fontWeight_export_parse, + definition: fontWeight_export_definition, + property: fontWeight_export_property +}.property, { + parse: fontWeight_export_parse, + definition: fontWeight_export_definition, + property: fontWeight_export_property +}], [{ + parse: fontSize_export_parse, + definition: fontSize_export_definition, + property: fontSize_export_property +}.property, { + parse: fontSize_export_parse, + definition: fontSize_export_definition, + property: fontSize_export_property +}], [{ + parse: lineHeight_export_parse, + definition: lineHeight_export_definition, + property: lineHeight_export_property +}.property, { + parse: lineHeight_export_parse, + definition: lineHeight_export_definition, + property: lineHeight_export_property +}], [{ + parse: fontFamily_export_parse, + definition: fontFamily_export_definition, + property: fontFamily_export_property +}.property, { + parse: fontFamily_export_parse, + definition: fontFamily_export_definition, + property: fontFamily_export_property +}]]); +font_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "") { + return v; + } else if (external_dependency_parsers_0.hasCalcFunc(v)) { + v = external_dependency_parsers_0.resolveCalc(v); + } + if (!external_dependency_parsers_0.isValidPropertyValue(font_local_var_property, v)) { + return; + } + const { + AST_TYPES + } = external_dependency_parsers_0; + const [fontBlock, ...families] = external_dependency_parsers_0.splitValue(v, { + delimiter: "," + }); + const [fontBlockA, fontBlockB] = external_dependency_parsers_0.splitValue(fontBlock, { + delimiter: "/" + }); + const font = { + [{ + parse: fontStyle_export_parse, + definition: fontStyle_export_definition, + property: fontStyle_export_property + }.property]: "normal", + [{ + parse: fontVariant_export_parse, + definition: fontVariant_export_definition, + property: fontVariant_export_property + }.property]: "normal", + [{ + parse: fontWeight_export_parse, + definition: fontWeight_export_definition, + property: fontWeight_export_property + }.property]: "normal" + }; + const fontFamilies = new Set(); + if (fontBlockB) { + const [lineB, ...familiesB] = fontBlockB.trim().split(" "); + if (!lineB || !familiesB.length) { + return; + } + const lineHeightB = { + parse: lineHeight_export_parse, + definition: lineHeight_export_definition, + property: lineHeight_export_property + }.parse(lineB, { + global + }); + if (typeof lineHeightB !== "string") { + return; + } + const familyB = { + parse: fontFamily_export_parse, + definition: fontFamily_export_definition, + property: fontFamily_export_property + }.parse(familiesB.join(" "), { + globalObject, + caseSensitive: true + }); + if (typeof familyB === "string") { + fontFamilies.add(familyB); + } else { + return; + } + const parts = external_dependency_parsers_0.splitValue(fontBlockA.trim()); + const properties = [{ + parse: fontStyle_export_parse, + definition: fontStyle_export_definition, + property: fontStyle_export_property + }.property, { + parse: fontVariant_export_parse, + definition: fontVariant_export_definition, + property: fontVariant_export_property + }.property, { + parse: fontWeight_export_parse, + definition: fontWeight_export_definition, + property: fontWeight_export_property + }.property, { + parse: fontSize_export_parse, + definition: fontSize_export_definition, + property: fontSize_export_property + }.property]; + for (const part of parts) { + if (part === "normal") { + continue; + } else { + for (const longhand of properties) { + switch (longhand) { + case { + parse: fontSize_export_parse, + definition: fontSize_export_definition, + property: fontSize_export_property + }.property: + { + const parsedValue = { + parse: fontSize_export_parse, + definition: fontSize_export_definition, + property: fontSize_export_property + }.parse(part, { + globalObject + }); + if (typeof parsedValue === "string") { + font[longhand] = parsedValue; + } + break; + } + case { + parse: fontStyle_export_parse, + definition: fontStyle_export_definition, + property: fontStyle_export_property + }.property: + case { + parse: fontWeight_export_parse, + definition: fontWeight_export_definition, + property: fontWeight_export_property + }.property: + { + if (font[longhand] === "normal") { + const longhandItem = font_export_shorthandFor.get(longhand); + const parsedValue = longhandItem.parse(part, { + globalObject + }); + if (typeof parsedValue === "string") { + font[longhand] = parsedValue; + } + } + break; + } + case { + parse: fontVariant_export_parse, + definition: fontVariant_export_definition, + property: fontVariant_export_property + }.property: + { + if (font[longhand] === "normal") { + const parsedValue = { + parse: fontVariant_export_parse, + definition: fontVariant_export_definition, + property: fontVariant_export_property + }.parse(part, { + globalObject + }); + if (typeof parsedValue === "string") { + if (parsedValue === "small-cap") { + font[longhand] = parsedValue; + } else if (parsedValue !== "normal") { + return; + } + } + } + break; + } + default: + } + } + } + } + if (Object.hasOwn(font, { + parse: fontSize_export_parse, + definition: fontSize_export_definition, + property: fontSize_export_property + }.property)) { + font[{ + parse: lineHeight_export_parse, + definition: lineHeight_export_definition, + property: lineHeight_export_property + }.property] = lineHeightB; + } else { + return; + } + } else { + const revParts = external_dependency_parsers_0.splitValue(fontBlockA.trim()).toReversed(); + if (revParts.length === 1) { + const [part] = revParts; + const value = external_dependency_parsers_0.parsePropertyValue(font_local_var_property, part, { + globalObject, + inArray: true + }); + if (Array.isArray(value) && value.length === 1) { + const [{ + name, + type + }] = value; + if (type === AST_TYPES.GLOBAL_KEYWORD) { + return { + [{ + parse: fontStyle_export_parse, + definition: fontStyle_export_definition, + property: fontStyle_export_property + }.property]: name, + [{ + parse: fontVariant_export_parse, + definition: fontVariant_export_definition, + property: fontVariant_export_property + }.property]: name, + [{ + parse: fontWeight_export_parse, + definition: fontWeight_export_definition, + property: fontWeight_export_property + }.property]: name, + [{ + parse: fontSize_export_parse, + definition: fontSize_export_definition, + property: fontSize_export_property + }.property]: name, + [{ + parse: lineHeight_export_parse, + definition: lineHeight_export_definition, + property: lineHeight_export_property + }.property]: name, + [{ + parse: fontFamily_export_parse, + definition: fontFamily_export_definition, + property: fontFamily_export_property + }.property]: name + }; + } + } + return; + } + const properties = [{ + parse: fontStyle_export_parse, + definition: fontStyle_export_definition, + property: fontStyle_export_property + }.property, { + parse: fontVariant_export_parse, + definition: fontVariant_export_definition, + property: fontVariant_export_property + }.property, { + parse: fontWeight_export_parse, + definition: fontWeight_export_definition, + property: fontWeight_export_property + }.property, { + parse: lineHeight_export_parse, + definition: lineHeight_export_definition, + property: lineHeight_export_property + }.property]; + for (const longhand of properties) { + font[longhand] = "normal"; + } + const revFontFamily = []; + let fontSizeA; + for (const part of revParts) { + if (fontSizeA) { + if (/^normal$/i.test(part)) { + continue; + } else { + for (const longhand of properties) { + switch (longhand) { + case { + parse: fontStyle_export_parse, + definition: fontStyle_export_definition, + property: fontStyle_export_property + }.property: + case { + parse: fontWeight_export_parse, + definition: fontWeight_export_definition, + property: fontWeight_export_property + }.property: + case { + parse: lineHeight_export_parse, + definition: lineHeight_export_definition, + property: lineHeight_export_property + }.property: + { + if (font[longhand] === "normal") { + const longhandItem = font_export_shorthandFor.get(longhand); + const parsedValue = longhandItem.parse(part, { + globalObject + }); + if (typeof parsedValue === "string") { + font[longhand] = parsedValue; + } + } + break; + } + case { + parse: fontVariant_export_parse, + definition: fontVariant_export_definition, + property: fontVariant_export_property + }.property: + { + if (font[longhand] === "normal") { + const parsedValue = { + parse: fontVariant_export_parse, + definition: fontVariant_export_definition, + property: fontVariant_export_property + }.parse(part, { + globalObject + }); + if (typeof parsedValue === "string") { + if (parsedValue === "small-cap") { + font[longhand] = parsedValue; + } else if (parsedValue !== "normal") { + return; + } + } + } + break; + } + default: + } + } + } + } else { + const parsedFontSize = { + parse: fontSize_export_parse, + definition: fontSize_export_definition, + property: fontSize_export_property + }.parse(part, { + globalObject + }); + if (typeof parsedFontSize === "string") { + fontSizeA = parsedFontSize; + } else { + const parsedFontFamily = { + parse: fontFamily_export_parse, + definition: fontFamily_export_definition, + property: fontFamily_export_property + }.parse(part, { + globalObject, + caseSensitive: true + }); + if (typeof parsedFontFamily === "string") { + revFontFamily.push(parsedFontFamily); + } else { + return; + } + } + } + } + const family = { + parse: fontFamily_export_parse, + definition: fontFamily_export_definition, + property: fontFamily_export_property + }.parse(revFontFamily.toReversed().join(" "), { + globalObject, + caseSensitive: true + }); + if (fontSizeA && family) { + font[{ + parse: fontSize_export_parse, + definition: fontSize_export_definition, + property: fontSize_export_property + }.property] = fontSizeA; + fontFamilies.add({ + parse: fontFamily_export_parse, + definition: fontFamily_export_definition, + property: fontFamily_export_property + }.parse(family)); + } else { + return; + } + } + for (const family of families) { + const parsedFontFamily = { + parse: fontFamily_export_parse, + definition: fontFamily_export_definition, + property: fontFamily_export_property + }.parse(family, { + globalObject, + caseSensitive: true + }); + if (parsedFontFamily) { + fontFamilies.add(parsedFontFamily); + } else { + return; + } + } + font[{ + parse: fontFamily_export_parse, + definition: fontFamily_export_definition, + property: fontFamily_export_property + }.property] = [...fontFamilies].join(", "); + return font; +}; +font_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (v === "" || external_dependency_parsers_0.hasVarFunc(v)) { + for (const [key] of font_export_shorthandFor) { + this._setProperty(key, ""); + } + this._setProperty(font_local_var_property, v); + } else { + const obj = font_export_parse(v, { + globalObject: this._global + }); + if (!obj) { + return; + } + const priority = this._priorities.get(font_local_var_property) ?? ""; + const str = new Set(); + for (const [key] of font_export_shorthandFor) { + const val = obj[key]; + if (typeof val === "string") { + this._setProperty(key, val, priority); + if (val && val !== "normal" && !str.has(val)) { + if (key === { + parse: lineHeight_export_parse, + definition: lineHeight_export_definition, + property: lineHeight_export_property + }.property) { + str.add(`/ ${val}`); + } else { + str.add(val); + } + } + } + } + this._setProperty(font_local_var_property, [...str].join(" "), priority); + } + }, + get() { + const val = this.getPropertyValue(font_local_var_property); + if (external_dependency_parsers_0.hasVarFunc(val)) { + return val; + } + const str = new Set(); + for (const [key] of font_export_shorthandFor) { + const v = this.getPropertyValue(key); + if (external_dependency_parsers_0.hasVarFunc(v)) { + return ""; + } + if (v && v !== "normal" && !str.has(v)) { + if (key === { + parse: lineHeight_export_parse, + definition: lineHeight_export_definition, + property: lineHeight_export_property + }.property) { + str.add(`/ ${v}`); + } else { + str.add(`${v}`); + } + } + } + return [...str].join(" "); + }, + enumerable: true, + configurable: true +}; +font_export_property = font_local_var_property; +var height_export_parse, height_export_definition, height_export_property; +const height_local_var_property = "height"; +height_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "") { + return v; + } + const value = external_dependency_parsers_0.parsePropertyValue(height_local_var_property, v, { + globalObject, + inArray: true + }); + if (Array.isArray(value) && value.length === 1) { + return external_dependency_parsers_0.resolveNumericValue(value, { + min: 0, + type: "length" + }); + } else if (typeof value === "string") { + return value; + } +}; +height_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (external_dependency_parsers_0.hasVarFunc(v)) { + this._setProperty(height_local_var_property, v); + } else { + const val = height_export_parse(v, { + globalObject: this._global + }); + if (typeof val === "string") { + const priority = this._priorities.get(height_local_var_property) ?? ""; + this._setProperty(height_local_var_property, val, priority); + } + } + }, + get() { + return this.getPropertyValue(height_local_var_property); + }, + enumerable: true, + configurable: true +}; +height_export_property = height_local_var_property; +var left_export_parse, left_export_definition, left_export_property; +const left_local_var_property = "left"; +left_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "") { + return v; + } + const value = external_dependency_parsers_0.parsePropertyValue(left_local_var_property, v, { + globalObject, + inArray: true + }); + if (Array.isArray(value) && value.length === 1) { + return external_dependency_parsers_0.resolveNumericValue(value, { + type: "length" + }); + } else if (typeof value === "string") { + return value; + } +}; +left_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (external_dependency_parsers_0.hasVarFunc(v)) { + this._setProperty(left_local_var_property, v); + } else { + const val = left_export_parse(v, { + globalObject: this._global + }); + if (typeof val === "string") { + const priority = this._priorities.get(left_local_var_property) ?? ""; + this._setProperty(left_local_var_property, val, priority); + } + } + }, + get() { + return this.getPropertyValue(left_local_var_property); + }, + enumerable: true, + configurable: true +}; +left_export_property = left_local_var_property; +var lightingColor_export_parse, lightingColor_export_definition, lightingColor_export_property; +const lightingColor_local_var_property = "lighting-color"; +lightingColor_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "") { + return v; + } + const value = external_dependency_parsers_0.parsePropertyValue(lightingColor_local_var_property, v, { + globalObject, + inArray: true + }); + if (Array.isArray(value) && value.length === 1) { + return external_dependency_parsers_0.resolveColorValue(value); + } else if (typeof value === "string") { + return value; + } +}; +lightingColor_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (external_dependency_parsers_0.hasVarFunc(v)) { + this._setProperty(lightingColor_local_var_property, v); + } else { + const val = lightingColor_export_parse(v, { + globalObject: this._global + }); + if (typeof val === "string") { + const priority = this._priorities.get(lightingColor_local_var_property) ?? ""; + this._setProperty(lightingColor_local_var_property, val, priority); + } + } + }, + get() { + return this.getPropertyValue(lightingColor_local_var_property); + }, + enumerable: true, + configurable: true +}; +lightingColor_export_property = lightingColor_local_var_property; +var marginTop_export_position, marginTop_export_parse, marginTop_export_definition, marginTop_export_property; +const marginTop_local_var_property = "margin-top"; +const marginTop_local_var_shorthand = "margin"; +marginTop_export_position = "top"; +marginTop_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "") { + return v; + } + const value = external_dependency_parsers_0.parsePropertyValue(marginTop_local_var_property, v, { + globalObject, + inArray: true + }); + if (Array.isArray(value) && value.length === 1) { + return external_dependency_parsers_0.resolveNumericValue(value, { + type: "length" + }); + } else if (typeof value === "string") { + return value; + } +}; +marginTop_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (external_dependency_parsers_0.hasVarFunc(v)) { + this._setProperty(marginTop_local_var_shorthand, ""); + this._setProperty(marginTop_local_var_property, v); + } else { + const val = marginTop_export_parse(v, { + globalObject: this._global + }); + if (typeof val === "string") { + const priority = !this._priorities.get(marginTop_local_var_shorthand) && this._priorities.has(marginTop_local_var_property) ? this._priorities.get(marginTop_local_var_property) : ""; + this._positionLonghandSetter(marginTop_local_var_property, val, priority, marginTop_local_var_shorthand); + } + } + }, + get() { + return this.getPropertyValue(marginTop_local_var_property); + }, + enumerable: true, + configurable: true +}; +marginTop_export_property = marginTop_local_var_property; +var marginRight_export_position, marginRight_export_parse, marginRight_export_definition, marginRight_export_property; +const marginRight_local_var_property = "margin-right"; +const marginRight_local_var_shorthand = "margin"; +marginRight_export_position = "right"; +marginRight_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "") { + return v; + } + const value = external_dependency_parsers_0.parsePropertyValue(marginRight_local_var_property, v, { + globalObject, + inArray: true + }); + if (Array.isArray(value) && value.length === 1) { + return external_dependency_parsers_0.resolveNumericValue(value, { + type: "length" + }); + } else if (typeof value === "string") { + return value; + } +}; +marginRight_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (external_dependency_parsers_0.hasVarFunc(v)) { + this._setProperty(marginRight_local_var_shorthand, ""); + this._setProperty(marginRight_local_var_property, v); + } else { + const val = marginRight_export_parse(v, { + globalObject: this._global + }); + if (typeof val === "string") { + const priority = !this._priorities.get(marginRight_local_var_shorthand) && this._priorities.has(marginRight_local_var_property) ? this._priorities.get(marginRight_local_var_property) : ""; + this._positionLonghandSetter(marginRight_local_var_property, val, priority, marginRight_local_var_shorthand); + } + } + }, + get() { + return this.getPropertyValue(marginRight_local_var_property); + }, + enumerable: true, + configurable: true +}; +marginRight_export_property = marginRight_local_var_property; +var marginBottom_export_position, marginBottom_export_parse, marginBottom_export_definition, marginBottom_export_property; +const marginBottom_local_var_property = "margin-bottom"; +const marginBottom_local_var_shorthand = "margin"; +marginBottom_export_position = "bottom"; +marginBottom_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "") { + return v; + } + const value = external_dependency_parsers_0.parsePropertyValue(marginBottom_local_var_property, v, { + globalObject, + inArray: true + }); + if (Array.isArray(value) && value.length === 1) { + return external_dependency_parsers_0.resolveNumericValue(value, { + type: "length" + }); + } else if (typeof value === "string") { + return value; + } +}; +marginBottom_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (external_dependency_parsers_0.hasVarFunc(v)) { + this._setProperty(marginBottom_local_var_shorthand, ""); + this._setProperty(marginBottom_local_var_property, v); + } else { + const val = marginBottom_export_parse(v, { + globalObject: this._global + }); + if (typeof val === "string") { + const priority = !this._priorities.get(marginBottom_local_var_shorthand) && this._priorities.has(marginBottom_local_var_property) ? this._priorities.get(marginBottom_local_var_property) : ""; + this._positionLonghandSetter(marginBottom_local_var_property, val, priority, marginBottom_local_var_shorthand); + } + } + }, + get() { + return this.getPropertyValue(marginBottom_local_var_property); + }, + enumerable: true, + configurable: true +}; +marginBottom_export_property = marginBottom_local_var_property; +var marginLeft_export_position, marginLeft_export_parse, marginLeft_export_definition, marginLeft_export_property; +const marginLeft_local_var_property = "margin-left"; +const marginLeft_local_var_shorthand = "margin"; +marginLeft_export_position = "left"; +marginLeft_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "") { + return v; + } + const value = external_dependency_parsers_0.parsePropertyValue(marginLeft_local_var_property, v, { + globalObject, + inArray: true + }); + if (Array.isArray(value) && value.length === 1) { + return external_dependency_parsers_0.resolveNumericValue(value, { + type: "length" + }); + } else if (typeof value === "string") { + return value; + } +}; +marginLeft_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (external_dependency_parsers_0.hasVarFunc(v)) { + this._setProperty(marginLeft_local_var_shorthand, ""); + this._setProperty(marginLeft_local_var_property, v); + } else { + const val = marginLeft_export_parse(v, { + globalObject: this._global + }); + if (typeof val === "string") { + const priority = !this._priorities.get(marginLeft_local_var_shorthand) && this._priorities.has(marginLeft_local_var_property) ? this._priorities.get(marginLeft_local_var_property) : ""; + this._positionLonghandSetter(marginLeft_local_var_property, val, priority, marginLeft_local_var_shorthand); + } + } + }, + get() { + return this.getPropertyValue(marginLeft_local_var_property); + }, + enumerable: true, + configurable: true +}; +marginLeft_export_property = marginLeft_local_var_property; +var margin_export_position, margin_export_shorthandFor, margin_export_parse, margin_export_definition, margin_export_property; +const margin_local_var_property = "margin"; +margin_export_position = "edges"; +margin_export_shorthandFor = new Map([[{ + position: marginTop_export_position, + parse: marginTop_export_parse, + definition: marginTop_export_definition, + property: marginTop_export_property +}.property, { + position: marginTop_export_position, + parse: marginTop_export_parse, + definition: marginTop_export_definition, + property: marginTop_export_property +}], [{ + position: marginRight_export_position, + parse: marginRight_export_parse, + definition: marginRight_export_definition, + property: marginRight_export_property +}.property, { + position: marginRight_export_position, + parse: marginRight_export_parse, + definition: marginRight_export_definition, + property: marginRight_export_property +}], [{ + position: marginBottom_export_position, + parse: marginBottom_export_parse, + definition: marginBottom_export_definition, + property: marginBottom_export_property +}.property, { + position: marginBottom_export_position, + parse: marginBottom_export_parse, + definition: marginBottom_export_definition, + property: marginBottom_export_property +}], [{ + position: marginLeft_export_position, + parse: marginLeft_export_parse, + definition: marginLeft_export_definition, + property: marginLeft_export_property +}.property, { + position: marginLeft_export_position, + parse: marginLeft_export_parse, + definition: marginLeft_export_definition, + property: marginLeft_export_property +}]]); +margin_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "") { + return v; + } + const values = external_dependency_parsers_0.parsePropertyValue(margin_local_var_property, v, { + globalObject, + inArray: true + }); + const parsedValues = []; + if (Array.isArray(values) && values.length) { + if (values.length > 4) { + return; + } + for (const value of values) { + const parsedValue = external_dependency_parsers_0.resolveNumericValue([value], { + length: values.length, + type: "length" + }); + if (!parsedValue) { + return; + } + parsedValues.push(parsedValue); + } + } else if (typeof values === "string") { + parsedValues.push(values); + } + if (parsedValues.length) { + return parsedValues; + } +}; +margin_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (external_dependency_parsers_0.hasVarFunc(v)) { + for (const [longhand] of margin_export_shorthandFor) { + this._setProperty(longhand, ""); + } + this._setProperty(margin_local_var_property, v); + } else { + const val = margin_export_parse(v, { + globalObject: this._global + }); + if (Array.isArray(val) || typeof val === "string") { + const priority = this._priorities.get(margin_local_var_property) ?? ""; + this._positionShorthandSetter(margin_local_var_property, val, priority); + } + } + }, + get() { + return this.getPropertyValue(margin_local_var_property); + }, + enumerable: true, + configurable: true +}; +margin_export_property = margin_local_var_property; +var opacity_export_parse, opacity_export_definition, opacity_export_property; +const opacity_local_var_property = "opacity"; +opacity_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "") { + return v; + } + const value = external_dependency_parsers_0.parsePropertyValue(opacity_local_var_property, v, { + globalObject, + inArray: true + }); + if (Array.isArray(value) && value.length === 1) { + return external_dependency_parsers_0.resolveNumericValue(value, { + clamp: true + }); + } else if (typeof value === "string") { + return value; + } +}; +opacity_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (external_dependency_parsers_0.hasVarFunc(v)) { + this._setProperty(opacity_local_var_property, v); + } else { + const val = opacity_export_parse(v, { + globalObject: this._global + }); + if (typeof val === "string") { + const priority = this._priorities.get(opacity_local_var_property) ?? ""; + this._setProperty(opacity_local_var_property, val, priority); + } + } + }, + get() { + return this.getPropertyValue(opacity_local_var_property); + }, + enumerable: true, + configurable: true +}; +opacity_export_property = opacity_local_var_property; +var outlineColor_export_parse, outlineColor_export_definition, outlineColor_export_property; +const outlineColor_local_var_property = "outline-color"; +outlineColor_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "") { + return v; + } + const value = external_dependency_parsers_0.parsePropertyValue(outlineColor_local_var_property, v, { + globalObject, + inArray: true + }); + if (Array.isArray(value) && value.length === 1) { + return external_dependency_parsers_0.resolveColorValue(value); + } else if (typeof value === "string") { + return value; + } +}; +outlineColor_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (external_dependency_parsers_0.hasVarFunc(v)) { + this._setProperty(outlineColor_local_var_property, v); + } else { + const val = outlineColor_export_parse(v, { + globalObject: this._global + }); + if (typeof val === "string") { + const priority = this._priorities.get(outlineColor_local_var_property) ?? ""; + this._setProperty(outlineColor_local_var_property, val, priority); + } + } + }, + get() { + return this.getPropertyValue(outlineColor_local_var_property); + }, + enumerable: true, + configurable: true +}; +outlineColor_export_property = outlineColor_local_var_property; +var paddingTop_export_position, paddingTop_export_parse, paddingTop_export_definition, paddingTop_export_property; +const paddingTop_local_var_property = "padding-top"; +const paddingTop_local_var_shorthand = "padding"; +paddingTop_export_position = "top"; +paddingTop_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "") { + return v; + } + const value = external_dependency_parsers_0.parsePropertyValue(paddingTop_local_var_property, v, { + globalObject, + inArray: true + }); + if (Array.isArray(value) && value.length === 1) { + return external_dependency_parsers_0.resolveNumericValue(value, { + min: 0, + type: "length" + }); + } else if (typeof value === "string") { + return value; + } +}; +paddingTop_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (external_dependency_parsers_0.hasVarFunc(v)) { + this._setProperty(paddingTop_local_var_shorthand, ""); + this._setProperty(paddingTop_local_var_property, v); + } else { + const val = paddingTop_export_parse(v, { + globalObject: this._global + }); + if (typeof val === "string") { + const priority = !this._priorities.get(paddingTop_local_var_shorthand) && this._priorities.has(paddingTop_local_var_property) ? this._priorities.get(paddingTop_local_var_property) : ""; + this._positionLonghandSetter(paddingTop_local_var_property, val, priority, paddingTop_local_var_shorthand); + } + } + }, + get() { + return this.getPropertyValue(paddingTop_local_var_property); + }, + enumerable: true, + configurable: true +}; +paddingTop_export_property = paddingTop_local_var_property; +var paddingRight_export_position, paddingRight_export_parse, paddingRight_export_definition, paddingRight_export_property; +const paddingRight_local_var_property = "padding-right"; +const paddingRight_local_var_shorthand = "padding"; +paddingRight_export_position = "right"; +paddingRight_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "") { + return v; + } + const value = external_dependency_parsers_0.parsePropertyValue(paddingRight_local_var_property, v, { + globalObject, + inArray: true + }); + if (Array.isArray(value) && value.length === 1) { + return external_dependency_parsers_0.resolveNumericValue(value, { + min: 0, + type: "length" + }); + } else if (typeof value === "string") { + return value; + } +}; +paddingRight_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (external_dependency_parsers_0.hasVarFunc(v)) { + this._setProperty(paddingRight_local_var_shorthand, ""); + this._setProperty(paddingRight_local_var_property, v); + } else { + const val = paddingRight_export_parse(v, { + globalObject: this._global + }); + if (typeof val === "string") { + const priority = !this._priorities.get(paddingRight_local_var_shorthand) && this._priorities.has(paddingRight_local_var_property) ? this._priorities.get(paddingRight_local_var_property) : ""; + this._positionLonghandSetter(paddingRight_local_var_property, val, priority, paddingRight_local_var_shorthand); + } + } + }, + get() { + return this.getPropertyValue(paddingRight_local_var_property); + }, + enumerable: true, + configurable: true +}; +paddingRight_export_property = paddingRight_local_var_property; +var paddingBottom_export_position, paddingBottom_export_parse, paddingBottom_export_definition, paddingBottom_export_property; +const paddingBottom_local_var_property = "padding-bottom"; +const paddingBottom_local_var_shorthand = "padding"; +paddingBottom_export_position = "bottom"; +paddingBottom_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "") { + return v; + } + const value = external_dependency_parsers_0.parsePropertyValue(paddingBottom_local_var_property, v, { + globalObject, + inArray: true + }); + if (Array.isArray(value) && value.length === 1) { + return external_dependency_parsers_0.resolveNumericValue(value, { + min: 0, + type: "length" + }); + } else if (typeof value === "string") { + return value; + } +}; +paddingBottom_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (external_dependency_parsers_0.hasVarFunc(v)) { + this._setProperty(paddingBottom_local_var_shorthand, ""); + this._setProperty(paddingBottom_local_var_property, v); + } else { + const val = paddingBottom_export_parse(v, { + globalObject: this._global + }); + if (typeof val === "string") { + const priority = !this._priorities.get(paddingBottom_local_var_shorthand) && this._priorities.has(paddingBottom_local_var_property) ? this._priorities.get(paddingBottom_local_var_property) : ""; + this._positionLonghandSetter(paddingBottom_local_var_property, val, priority, paddingBottom_local_var_shorthand); + } + } + }, + get() { + return this.getPropertyValue(paddingBottom_local_var_property); + }, + enumerable: true, + configurable: true +}; +paddingBottom_export_property = paddingBottom_local_var_property; +var paddingLeft_export_position, paddingLeft_export_parse, paddingLeft_export_definition, paddingLeft_export_property; +const paddingLeft_local_var_property = "padding-left"; +const paddingLeft_local_var_shorthand = "padding"; +paddingLeft_export_position = "left"; +paddingLeft_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "") { + return v; + } + const value = external_dependency_parsers_0.parsePropertyValue(paddingLeft_local_var_property, v, { + globalObject, + inArray: true + }); + if (Array.isArray(value) && value.length === 1) { + return external_dependency_parsers_0.resolveNumericValue(value, { + min: 0, + type: "length" + }); + } else if (typeof value === "string") { + return value; + } +}; +paddingLeft_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (external_dependency_parsers_0.hasVarFunc(v)) { + this._setProperty(paddingLeft_local_var_shorthand, ""); + this._setProperty(paddingLeft_local_var_property, v); + } else { + const val = paddingLeft_export_parse(v, { + globalObject: this._global + }); + if (typeof val === "string") { + const priority = !this._priorities.get(paddingLeft_local_var_shorthand) && this._priorities.has(paddingLeft_local_var_property) ? this._priorities.get(paddingLeft_local_var_property) : ""; + this._positionLonghandSetter(paddingLeft_local_var_property, val, priority, paddingLeft_local_var_shorthand); + } + } + }, + get() { + return this.getPropertyValue(paddingLeft_local_var_property); + }, + enumerable: true, + configurable: true +}; +paddingLeft_export_property = paddingLeft_local_var_property; +var padding_export_position, padding_export_shorthandFor, padding_export_parse, padding_export_definition, padding_export_property; +const padding_local_var_property = "padding"; +padding_export_position = "edges"; +padding_export_shorthandFor = new Map([[{ + position: paddingTop_export_position, + parse: paddingTop_export_parse, + definition: paddingTop_export_definition, + property: paddingTop_export_property +}.property, { + position: paddingTop_export_position, + parse: paddingTop_export_parse, + definition: paddingTop_export_definition, + property: paddingTop_export_property +}], [{ + position: paddingRight_export_position, + parse: paddingRight_export_parse, + definition: paddingRight_export_definition, + property: paddingRight_export_property +}.property, { + position: paddingRight_export_position, + parse: paddingRight_export_parse, + definition: paddingRight_export_definition, + property: paddingRight_export_property +}], [{ + position: paddingBottom_export_position, + parse: paddingBottom_export_parse, + definition: paddingBottom_export_definition, + property: paddingBottom_export_property +}.property, { + position: paddingBottom_export_position, + parse: paddingBottom_export_parse, + definition: paddingBottom_export_definition, + property: paddingBottom_export_property +}], [{ + position: paddingLeft_export_position, + parse: paddingLeft_export_parse, + definition: paddingLeft_export_definition, + property: paddingLeft_export_property +}.property, { + position: paddingLeft_export_position, + parse: paddingLeft_export_parse, + definition: paddingLeft_export_definition, + property: paddingLeft_export_property +}]]); +padding_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "") { + return v; + } + const values = external_dependency_parsers_0.parsePropertyValue(padding_local_var_property, v, { + globalObject, + inArray: true + }); + const parsedValues = []; + if (Array.isArray(values) && values.length) { + if (values.length > 4) { + return; + } + for (const value of values) { + const parsedValue = external_dependency_parsers_0.resolveNumericValue([value], { + length: values.length, + min: 0, + type: "length" + }); + if (!parsedValue) { + return; + } + parsedValues.push(parsedValue); + } + } else if (typeof values === "string") { + parsedValues.push(values); + } + if (parsedValues.length) { + return parsedValues; + } +}; +padding_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (external_dependency_parsers_0.hasVarFunc(v)) { + for (const [longhand] of padding_export_shorthandFor) { + this._setProperty(longhand, ""); + } + this._setProperty(padding_local_var_property, v); + } else { + const val = padding_export_parse(v, { + globalObject: this._global + }); + if (Array.isArray(val) || typeof val === "string") { + const priority = this._priorities.get(padding_local_var_property) ?? ""; + this._positionShorthandSetter(padding_local_var_property, val, priority); + } + } + }, + get() { + return this.getPropertyValue(padding_local_var_property); + }, + enumerable: true, + configurable: true +}; +padding_export_property = padding_local_var_property; +var right_export_parse, right_export_definition, right_export_property; +const right_local_var_property = "right"; +right_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "") { + return v; + } + const value = external_dependency_parsers_0.parsePropertyValue(right_local_var_property, v, { + globalObject, + inArray: true + }); + if (Array.isArray(value) && value.length === 1) { + return external_dependency_parsers_0.resolveNumericValue(value, { + type: "length" + }); + } else if (typeof value === "string") { + return value; + } +}; +right_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (external_dependency_parsers_0.hasVarFunc(v)) { + this._setProperty(right_local_var_property, v); + } else { + const val = right_export_parse(v, { + globalObject: this._global + }); + if (typeof val === "string") { + const priority = this._priorities.get(right_local_var_property) ?? ""; + this._setProperty(right_local_var_property, val, priority); + } + } + }, + get() { + return this.getPropertyValue(right_local_var_property); + }, + enumerable: true, + configurable: true +}; +right_export_property = right_local_var_property; +var stopColor_export_parse, stopColor_export_definition, stopColor_export_property; +const stopColor_local_var_property = "stop-color"; +stopColor_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "") { + return v; + } + const value = external_dependency_parsers_0.parsePropertyValue(stopColor_local_var_property, v, { + globalObject, + inArray: true + }); + if (Array.isArray(value) && value.length === 1) { + return external_dependency_parsers_0.resolveColorValue(value); + } else if (typeof value === "string") { + return value; + } +}; +stopColor_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (external_dependency_parsers_0.hasVarFunc(v)) { + this._setProperty(stopColor_local_var_property, v); + } else { + const val = stopColor_export_parse(v, { + globalObject: this._global + }); + if (typeof val === "string") { + const priority = this._priorities.get(stopColor_local_var_property) ?? ""; + this._setProperty(stopColor_local_var_property, val, priority); + } + } + }, + get() { + return this.getPropertyValue(stopColor_local_var_property); + }, + enumerable: true, + configurable: true +}; +stopColor_export_property = stopColor_local_var_property; +var top_export_parse, top_export_definition, top_export_property; +const top_local_var_property = "top"; +top_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "") { + return v; + } + const value = external_dependency_parsers_0.parsePropertyValue(top_local_var_property, v, { + globalObject, + inArray: true + }); + if (Array.isArray(value) && value.length === 1) { + return external_dependency_parsers_0.resolveNumericValue(value, { + type: "length" + }); + } else if (typeof value === "string") { + return value; + } +}; +top_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (external_dependency_parsers_0.hasVarFunc(v)) { + this._setProperty(top_local_var_property, v); + } else { + const val = top_export_parse(v, { + globalObject: this._global + }); + if (typeof val === "string") { + const priority = this._priorities.get(top_local_var_property) ?? ""; + this._setProperty(top_local_var_property, val, priority); + } + } + }, + get() { + return this.getPropertyValue(top_local_var_property); + }, + enumerable: true, + configurable: true +}; +top_export_property = top_local_var_property; +var webkitBorderAfterColor_export_parse, webkitBorderAfterColor_export_definition, webkitBorderAfterColor_export_property; +const webkitBorderAfterColor_local_var_property = "-webkit-border-after-color"; +webkitBorderAfterColor_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "") { + return v; + } + const value = external_dependency_parsers_0.parsePropertyValue(webkitBorderAfterColor_local_var_property, v, { + globalObject, + inArray: true + }); + if (Array.isArray(value) && value.length === 1) { + return external_dependency_parsers_0.resolveColorValue(value); + } else if (typeof value === "string") { + return value; + } +}; +webkitBorderAfterColor_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (external_dependency_parsers_0.hasVarFunc(v)) { + this._setProperty(webkitBorderAfterColor_local_var_property, v); + } else { + const val = webkitBorderAfterColor_export_parse(v, { + globalObject: this._global + }); + if (typeof val === "string") { + const priority = this._priorities.get(webkitBorderAfterColor_local_var_property) ?? ""; + this._setProperty(webkitBorderAfterColor_local_var_property, val, priority); + } + } + }, + get() { + return this.getPropertyValue(webkitBorderAfterColor_local_var_property); + }, + enumerable: true, + configurable: true +}; +webkitBorderAfterColor_export_property = webkitBorderAfterColor_local_var_property; +var webkitBorderBeforeColor_export_parse, webkitBorderBeforeColor_export_definition, webkitBorderBeforeColor_export_property; +const webkitBorderBeforeColor_local_var_property = "-webkit-border-before-color"; +webkitBorderBeforeColor_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "") { + return v; + } + const value = external_dependency_parsers_0.parsePropertyValue(webkitBorderBeforeColor_local_var_property, v, { + globalObject, + inArray: true + }); + if (Array.isArray(value) && value.length === 1) { + return external_dependency_parsers_0.resolveColorValue(value); + } else if (typeof value === "string") { + return value; + } +}; +webkitBorderBeforeColor_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (external_dependency_parsers_0.hasVarFunc(v)) { + this._setProperty(webkitBorderBeforeColor_local_var_property, v); + } else { + const val = webkitBorderBeforeColor_export_parse(v, { + globalObject: this._global + }); + if (typeof val === "string") { + const priority = this._priorities.get(webkitBorderBeforeColor_local_var_property) ?? ""; + this._setProperty(webkitBorderBeforeColor_local_var_property, val, priority); + } + } + }, + get() { + return this.getPropertyValue(webkitBorderBeforeColor_local_var_property); + }, + enumerable: true, + configurable: true +}; +webkitBorderBeforeColor_export_property = webkitBorderBeforeColor_local_var_property; +var webkitBorderEndColor_export_parse, webkitBorderEndColor_export_definition, webkitBorderEndColor_export_property; +const webkitBorderEndColor_local_var_property = "-webkit-border-end-color"; +webkitBorderEndColor_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "") { + return v; + } + const value = external_dependency_parsers_0.parsePropertyValue(webkitBorderEndColor_local_var_property, v, { + globalObject, + inArray: true + }); + if (Array.isArray(value) && value.length === 1) { + return external_dependency_parsers_0.resolveColorValue(value); + } else if (typeof value === "string") { + return value; + } +}; +webkitBorderEndColor_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (external_dependency_parsers_0.hasVarFunc(v)) { + this._setProperty(webkitBorderEndColor_local_var_property, v); + } else { + const val = webkitBorderEndColor_export_parse(v, { + globalObject: this._global + }); + if (typeof val === "string") { + const priority = this._priorities.get(webkitBorderEndColor_local_var_property) ?? ""; + this._setProperty(webkitBorderEndColor_local_var_property, val, priority); + } + } + }, + get() { + return this.getPropertyValue(webkitBorderEndColor_local_var_property); + }, + enumerable: true, + configurable: true +}; +webkitBorderEndColor_export_property = webkitBorderEndColor_local_var_property; +var webkitBorderStartColor_export_parse, webkitBorderStartColor_export_definition, webkitBorderStartColor_export_property; +const webkitBorderStartColor_local_var_property = "-webkit-border-start-color"; +webkitBorderStartColor_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "") { + return v; + } + const value = external_dependency_parsers_0.parsePropertyValue(webkitBorderStartColor_local_var_property, v, { + globalObject, + inArray: true + }); + if (Array.isArray(value) && value.length === 1) { + return external_dependency_parsers_0.resolveColorValue(value); + } else if (typeof value === "string") { + return value; + } +}; +webkitBorderStartColor_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (external_dependency_parsers_0.hasVarFunc(v)) { + this._setProperty(webkitBorderStartColor_local_var_property, v); + } else { + const val = webkitBorderStartColor_export_parse(v, { + globalObject: this._global + }); + if (typeof val === "string") { + const priority = this._priorities.get(webkitBorderStartColor_local_var_property) ?? ""; + this._setProperty(webkitBorderStartColor_local_var_property, val, priority); + } + } + }, + get() { + return this.getPropertyValue(webkitBorderStartColor_local_var_property); + }, + enumerable: true, + configurable: true +}; +webkitBorderStartColor_export_property = webkitBorderStartColor_local_var_property; +var webkitColumnRuleColor_export_parse, webkitColumnRuleColor_export_definition, webkitColumnRuleColor_export_property; +const webkitColumnRuleColor_local_var_property = "-webkit-column-rule-color"; +webkitColumnRuleColor_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "") { + return v; + } + const value = external_dependency_parsers_0.parsePropertyValue(webkitColumnRuleColor_local_var_property, v, { + globalObject, + inArray: true + }); + if (Array.isArray(value) && value.length === 1) { + return external_dependency_parsers_0.resolveColorValue(value); + } else if (typeof value === "string") { + return value; + } +}; +webkitColumnRuleColor_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (external_dependency_parsers_0.hasVarFunc(v)) { + this._setProperty(webkitColumnRuleColor_local_var_property, v); + } else { + const val = webkitColumnRuleColor_export_parse(v, { + globalObject: this._global + }); + if (typeof val === "string") { + const priority = this._priorities.get(webkitColumnRuleColor_local_var_property) ?? ""; + this._setProperty(webkitColumnRuleColor_local_var_property, val, priority); + } + } + }, + get() { + return this.getPropertyValue(webkitColumnRuleColor_local_var_property); + }, + enumerable: true, + configurable: true +}; +webkitColumnRuleColor_export_property = webkitColumnRuleColor_local_var_property; +var webkitTapHighlightColor_export_parse, webkitTapHighlightColor_export_definition, webkitTapHighlightColor_export_property; +const webkitTapHighlightColor_local_var_property = "-webkit-tap-highlight-color"; +webkitTapHighlightColor_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "") { + return v; + } + const value = external_dependency_parsers_0.parsePropertyValue(webkitTapHighlightColor_local_var_property, v, { + globalObject, + inArray: true + }); + if (Array.isArray(value) && value.length === 1) { + return external_dependency_parsers_0.resolveColorValue(value); + } else if (typeof value === "string") { + return value; + } +}; +webkitTapHighlightColor_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (external_dependency_parsers_0.hasVarFunc(v)) { + this._setProperty(webkitTapHighlightColor_local_var_property, v); + } else { + const val = webkitTapHighlightColor_export_parse(v, { + globalObject: this._global + }); + if (typeof val === "string") { + const priority = this._priorities.get(webkitTapHighlightColor_local_var_property) ?? ""; + this._setProperty(webkitTapHighlightColor_local_var_property, val, priority); + } + } + }, + get() { + return this.getPropertyValue(webkitTapHighlightColor_local_var_property); + }, + enumerable: true, + configurable: true +}; +webkitTapHighlightColor_export_property = webkitTapHighlightColor_local_var_property; +var webkitTextEmphasisColor_export_parse, webkitTextEmphasisColor_export_definition, webkitTextEmphasisColor_export_property; +const webkitTextEmphasisColor_local_var_property = "-webkit-text-emphasis-color"; +webkitTextEmphasisColor_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "") { + return v; + } + const value = external_dependency_parsers_0.parsePropertyValue(webkitTextEmphasisColor_local_var_property, v, { + globalObject, + inArray: true + }); + if (Array.isArray(value) && value.length === 1) { + return external_dependency_parsers_0.resolveColorValue(value); + } else if (typeof value === "string") { + return value; + } +}; +webkitTextEmphasisColor_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (external_dependency_parsers_0.hasVarFunc(v)) { + this._setProperty(webkitTextEmphasisColor_local_var_property, v); + } else { + const val = webkitTextEmphasisColor_export_parse(v, { + globalObject: this._global + }); + if (typeof val === "string") { + const priority = this._priorities.get(webkitTextEmphasisColor_local_var_property) ?? ""; + this._setProperty(webkitTextEmphasisColor_local_var_property, val, priority); + } + } + }, + get() { + return this.getPropertyValue(webkitTextEmphasisColor_local_var_property); + }, + enumerable: true, + configurable: true +}; +webkitTextEmphasisColor_export_property = webkitTextEmphasisColor_local_var_property; +var webkitTextFillColor_export_parse, webkitTextFillColor_export_definition, webkitTextFillColor_export_property; +const webkitTextFillColor_local_var_property = "-webkit-text-fill-color"; +webkitTextFillColor_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "") { + return v; + } + const value = external_dependency_parsers_0.parsePropertyValue(webkitTextFillColor_local_var_property, v, { + globalObject, + inArray: true + }); + if (Array.isArray(value) && value.length === 1) { + return external_dependency_parsers_0.resolveColorValue(value); + } else if (typeof value === "string") { + return value; + } +}; +webkitTextFillColor_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (external_dependency_parsers_0.hasVarFunc(v)) { + this._setProperty(webkitTextFillColor_local_var_property, v); + } else { + const val = webkitTextFillColor_export_parse(v, { + globalObject: this._global + }); + if (typeof val === "string") { + const priority = this._priorities.get(webkitTextFillColor_local_var_property) ?? ""; + this._setProperty(webkitTextFillColor_local_var_property, val, priority); + } + } + }, + get() { + return this.getPropertyValue(webkitTextFillColor_local_var_property); + }, + enumerable: true, + configurable: true +}; +webkitTextFillColor_export_property = webkitTextFillColor_local_var_property; +var webkitTextStrokeColor_export_parse, webkitTextStrokeColor_export_definition, webkitTextStrokeColor_export_property; +const webkitTextStrokeColor_local_var_property = "-webkit-text-stroke-color"; +webkitTextStrokeColor_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "") { + return v; + } + const value = external_dependency_parsers_0.parsePropertyValue(webkitTextStrokeColor_local_var_property, v, { + globalObject, + inArray: true + }); + if (Array.isArray(value) && value.length === 1) { + return external_dependency_parsers_0.resolveColorValue(value); + } else if (typeof value === "string") { + return value; + } +}; +webkitTextStrokeColor_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (external_dependency_parsers_0.hasVarFunc(v)) { + this._setProperty(webkitTextStrokeColor_local_var_property, v); + } else { + const val = webkitTextStrokeColor_export_parse(v, { + globalObject: this._global + }); + if (typeof val === "string") { + const priority = this._priorities.get(webkitTextStrokeColor_local_var_property) ?? ""; + this._setProperty(webkitTextStrokeColor_local_var_property, val, priority); + } + } + }, + get() { + return this.getPropertyValue(webkitTextStrokeColor_local_var_property); + }, + enumerable: true, + configurable: true +}; +webkitTextStrokeColor_export_property = webkitTextStrokeColor_local_var_property; +var width_export_parse, width_export_definition, width_export_property; +const width_local_var_property = "width"; +width_export_parse = (v, opt = {}) => { + const { + globalObject + } = opt; + if (v === "") { + return v; + } + const value = external_dependency_parsers_0.parsePropertyValue(width_local_var_property, v, { + globalObject, + inArray: true + }); + if (Array.isArray(value) && value.length === 1) { + return external_dependency_parsers_0.resolveNumericValue(value, { + min: 0, + type: "length" + }); + } else if (typeof value === "string") { + return value; + } +}; +width_export_definition = { + set(v) { + v = external_dependency_parsers_0.prepareValue(v); + if (external_dependency_parsers_0.hasVarFunc(v)) { + this._setProperty(width_local_var_property, v); + } else { + const val = width_export_parse(v, { + globalObject: this._global + }); + if (typeof val === "string") { + const priority = this._priorities.get(width_local_var_property) ?? ""; + this._setProperty(width_local_var_property, val, priority); + } + } + }, + get() { + return this.getPropertyValue(width_local_var_property); + }, + enumerable: true, + configurable: true +}; +width_export_property = width_local_var_property; +module.exports = { + backgroundImage: backgroundImage_export_definition, + "background-image": backgroundImage_export_definition, + backgroundPosition: backgroundPosition_export_definition, + "background-position": backgroundPosition_export_definition, + backgroundSize: backgroundSize_export_definition, + "background-size": backgroundSize_export_definition, + backgroundRepeat: backgroundRepeat_export_definition, + "background-repeat": backgroundRepeat_export_definition, + backgroundOrigin: backgroundOrigin_export_definition, + "background-origin": backgroundOrigin_export_definition, + backgroundClip: backgroundClip_export_definition, + "background-clip": backgroundClip_export_definition, + backgroundAttachment: backgroundAttachment_export_definition, + "background-attachment": backgroundAttachment_export_definition, + backgroundColor: backgroundColor_export_definition, + "background-color": backgroundColor_export_definition, + background: background_export_definition, + borderTopWidth: borderTopWidth_export_definition, + "border-top-width": borderTopWidth_export_definition, + borderRightWidth: borderRightWidth_export_definition, + "border-right-width": borderRightWidth_export_definition, + borderBottomWidth: borderBottomWidth_export_definition, + "border-bottom-width": borderBottomWidth_export_definition, + borderLeftWidth: borderLeftWidth_export_definition, + "border-left-width": borderLeftWidth_export_definition, + borderWidth: borderWidth_export_definition, + "border-width": borderWidth_export_definition, + borderTopStyle: borderTopStyle_export_definition, + "border-top-style": borderTopStyle_export_definition, + borderRightStyle: borderRightStyle_export_definition, + "border-right-style": borderRightStyle_export_definition, + borderBottomStyle: borderBottomStyle_export_definition, + "border-bottom-style": borderBottomStyle_export_definition, + borderLeftStyle: borderLeftStyle_export_definition, + "border-left-style": borderLeftStyle_export_definition, + borderStyle: borderStyle_export_definition, + "border-style": borderStyle_export_definition, + borderTopColor: borderTopColor_export_definition, + "border-top-color": borderTopColor_export_definition, + borderRightColor: borderRightColor_export_definition, + "border-right-color": borderRightColor_export_definition, + borderBottomColor: borderBottomColor_export_definition, + "border-bottom-color": borderBottomColor_export_definition, + borderLeftColor: borderLeftColor_export_definition, + "border-left-color": borderLeftColor_export_definition, + borderColor: borderColor_export_definition, + "border-color": borderColor_export_definition, + borderTop: borderTop_export_definition, + "border-top": borderTop_export_definition, + borderRight: borderRight_export_definition, + "border-right": borderRight_export_definition, + borderBottom: borderBottom_export_definition, + "border-bottom": borderBottom_export_definition, + borderLeft: borderLeft_export_definition, + "border-left": borderLeft_export_definition, + border: border_export_definition, + borderCollapse: borderCollapse_export_definition, + "border-collapse": borderCollapse_export_definition, + borderSpacing: borderSpacing_export_definition, + "border-spacing": borderSpacing_export_definition, + bottom: bottom_export_definition, + clear: clear_export_definition, + clip: clip_export_definition, + color: color_export_definition, + display: display_export_definition, + flexGrow: flexGrow_export_definition, + "flex-grow": flexGrow_export_definition, + flexShrink: flexShrink_export_definition, + "flex-shrink": flexShrink_export_definition, + flexBasis: flexBasis_export_definition, + "flex-basis": flexBasis_export_definition, + flex: flex_export_definition, + float: float_export_definition, + floodColor: floodColor_export_definition, + "flood-color": floodColor_export_definition, + fontStyle: fontStyle_export_definition, + "font-style": fontStyle_export_definition, + fontVariant: fontVariant_export_definition, + "font-variant": fontVariant_export_definition, + fontWeight: fontWeight_export_definition, + "font-weight": fontWeight_export_definition, + fontSize: fontSize_export_definition, + "font-size": fontSize_export_definition, + lineHeight: lineHeight_export_definition, + "line-height": lineHeight_export_definition, + fontFamily: fontFamily_export_definition, + "font-family": fontFamily_export_definition, + font: font_export_definition, + height: height_export_definition, + left: left_export_definition, + lightingColor: lightingColor_export_definition, + "lighting-color": lightingColor_export_definition, + marginTop: marginTop_export_definition, + "margin-top": marginTop_export_definition, + marginRight: marginRight_export_definition, + "margin-right": marginRight_export_definition, + marginBottom: marginBottom_export_definition, + "margin-bottom": marginBottom_export_definition, + marginLeft: marginLeft_export_definition, + "margin-left": marginLeft_export_definition, + margin: margin_export_definition, + opacity: opacity_export_definition, + outlineColor: outlineColor_export_definition, + "outline-color": outlineColor_export_definition, + paddingTop: paddingTop_export_definition, + "padding-top": paddingTop_export_definition, + paddingRight: paddingRight_export_definition, + "padding-right": paddingRight_export_definition, + paddingBottom: paddingBottom_export_definition, + "padding-bottom": paddingBottom_export_definition, + paddingLeft: paddingLeft_export_definition, + "padding-left": paddingLeft_export_definition, + padding: padding_export_definition, + right: right_export_definition, + stopColor: stopColor_export_definition, + "stop-color": stopColor_export_definition, + top: top_export_definition, + webkitBorderAfterColor: webkitBorderAfterColor_export_definition, + "-webkit-border-after-color": webkitBorderAfterColor_export_definition, + "WebkitBorderAfterColor": webkitBorderAfterColor_export_definition, + webkitBorderBeforeColor: webkitBorderBeforeColor_export_definition, + "-webkit-border-before-color": webkitBorderBeforeColor_export_definition, + "WebkitBorderBeforeColor": webkitBorderBeforeColor_export_definition, + webkitBorderEndColor: webkitBorderEndColor_export_definition, + "-webkit-border-end-color": webkitBorderEndColor_export_definition, + "WebkitBorderEndColor": webkitBorderEndColor_export_definition, + webkitBorderStartColor: webkitBorderStartColor_export_definition, + "-webkit-border-start-color": webkitBorderStartColor_export_definition, + "WebkitBorderStartColor": webkitBorderStartColor_export_definition, + webkitColumnRuleColor: webkitColumnRuleColor_export_definition, + "-webkit-column-rule-color": webkitColumnRuleColor_export_definition, + "WebkitColumnRuleColor": webkitColumnRuleColor_export_definition, + webkitTapHighlightColor: webkitTapHighlightColor_export_definition, + "-webkit-tap-highlight-color": webkitTapHighlightColor_export_definition, + "WebkitTapHighlightColor": webkitTapHighlightColor_export_definition, + webkitTextEmphasisColor: webkitTextEmphasisColor_export_definition, + "-webkit-text-emphasis-color": webkitTextEmphasisColor_export_definition, + "WebkitTextEmphasisColor": webkitTextEmphasisColor_export_definition, + webkitTextFillColor: webkitTextFillColor_export_definition, + "-webkit-text-fill-color": webkitTextFillColor_export_definition, + "WebkitTextFillColor": webkitTextFillColor_export_definition, + webkitTextStrokeColor: webkitTextStrokeColor_export_definition, + "-webkit-text-stroke-color": webkitTextStrokeColor_export_definition, + "WebkitTextStrokeColor": webkitTextStrokeColor_export_definition, + width: width_export_definition +}; diff --git a/vanilla/node_modules/cssstyle/lib/generated/propertyDefinitions.js b/vanilla/node_modules/cssstyle/lib/generated/propertyDefinitions.js new file mode 100644 index 0000000..c55da00 --- /dev/null +++ b/vanilla/node_modules/cssstyle/lib/generated/propertyDefinitions.js @@ -0,0 +1,13033 @@ +"use strict"; +// autogenerated - 2026-01-06 + +module.exports = new Map([ + [ + "-webkit-flex-wrap", + { + "name": "-webkit-flex-wrap", + "href": "https://compat.spec.whatwg.org/#propdef--webkit-flex-wrap", + "legacyAliasOf": "flex-wrap", + "styleDeclaration": [ + "-webkit-flex-wrap", + "WebkitFlexWrap", + "webkitFlexWrap" + ], + "extended": [], + "syntax": "nowrap | wrap | wrap-reverse" + } + ], + [ + "-webkit-line-clamp", + { + "name": "-webkit-line-clamp", + "href": "https://drafts.csswg.org/css-overflow-4/#propdef--webkit-line-clamp", + "initial": "none", + "appliesTo": "see individual properties", + "inherited": "see individual properties", + "percentages": "N/A", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "-webkit-line-clamp", + "WebkitLineClamp", + "webkitLineClamp" + ], + "syntax": "none | <integer [1,∞]>", + "extended": [] + } + ], + [ + "-webkit-mask-box-image-outset", + { + "name": "-webkit-mask-box-image-outset", + "href": "https://compat.spec.whatwg.org/#propdef--webkit-mask-box-image-outset", + "legacyAliasOf": "mask-border-outset", + "styleDeclaration": [ + "-webkit-mask-box-image-outset", + "WebkitMaskBoxImageOutset", + "webkitMaskBoxImageOutset" + ], + "extended": [], + "syntax": "[ <length> | <number> ]{1,4}" + } + ], + [ + "-webkit-mask-box-image-repeat", + { + "name": "-webkit-mask-box-image-repeat", + "href": "https://compat.spec.whatwg.org/#propdef--webkit-mask-box-image-repeat", + "legacyAliasOf": "mask-border-repeat", + "styleDeclaration": [ + "-webkit-mask-box-image-repeat", + "WebkitMaskBoxImageRepeat", + "webkitMaskBoxImageRepeat" + ], + "extended": [], + "syntax": "[ stretch | repeat | round | space ]{1,2}" + } + ], + [ + "-webkit-mask-box-image-slice", + { + "name": "-webkit-mask-box-image-slice", + "href": "https://compat.spec.whatwg.org/#propdef--webkit-mask-box-image-slice", + "legacyAliasOf": "mask-border-slice", + "styleDeclaration": [ + "-webkit-mask-box-image-slice", + "WebkitMaskBoxImageSlice", + "webkitMaskBoxImageSlice" + ], + "extended": [], + "syntax": "[ <number> | <percentage> ]{1,4} fill?" + } + ], + [ + "-webkit-mask-box-image-source", + { + "name": "-webkit-mask-box-image-source", + "href": "https://compat.spec.whatwg.org/#propdef--webkit-mask-box-image-source", + "legacyAliasOf": "mask-border-source", + "styleDeclaration": [ + "-webkit-mask-box-image-source", + "WebkitMaskBoxImageSource", + "webkitMaskBoxImageSource" + ], + "extended": [], + "syntax": "none | <image>" + } + ], + [ + "-webkit-mask-box-image-width", + { + "name": "-webkit-mask-box-image-width", + "href": "https://compat.spec.whatwg.org/#propdef--webkit-mask-box-image-width", + "legacyAliasOf": "mask-border-width", + "styleDeclaration": [ + "-webkit-mask-box-image-width", + "WebkitMaskBoxImageWidth", + "webkitMaskBoxImageWidth" + ], + "extended": [], + "syntax": "[ <length-percentage> | <number> | auto ]{1,4}" + } + ], + [ + "-webkit-text-fill-color", + { + "name": "-webkit-text-fill-color", + "href": "https://compat.spec.whatwg.org/#propdef--webkit-text-fill-color", + "initial": "currentcolor", + "appliesTo": "all elements", + "inherited": "yes", + "percentages": "N/A", + "computedValue": "an RGBA color", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "media": "visual", + "styleDeclaration": [ + "-webkit-text-fill-color", + "WebkitTextFillColor", + "webkitTextFillColor" + ], + "syntax": "<color>", + "extended": [] + } + ], + [ + "-webkit-text-size-adjust", + { + "name": "-webkit-text-size-adjust", + "href": "https://compat.spec.whatwg.org/#propdef--webkit-text-size-adjust", + "legacyAliasOf": "text-size-adjust", + "styleDeclaration": [ + "-webkit-text-size-adjust", + "WebkitTextSizeAdjust", + "webkitTextSizeAdjust" + ], + "extended": [], + "syntax": "auto | none | <percentage [0,∞]>" + } + ], + [ + "-webkit-text-stroke", + { + "name": "-webkit-text-stroke", + "href": "https://compat.spec.whatwg.org/#propdef--webkit-text-stroke", + "initial": "See individual properties", + "appliesTo": "See individual properties", + "inherited": "yes", + "percentages": "N/A", + "computedValue": "See individual properties", + "canonicalOrder": "per grammar", + "animationType": "See individual properties", + "media": "visual", + "styleDeclaration": [ + "-webkit-text-stroke", + "WebkitTextStroke", + "webkitTextStroke" + ], + "syntax": "<line-width> || <color>", + "extended": [] + } + ], + [ + "-webkit-text-stroke-color", + { + "name": "-webkit-text-stroke-color", + "href": "https://compat.spec.whatwg.org/#propdef--webkit-text-stroke-color", + "initial": "currentcolor", + "appliesTo": "all elements", + "inherited": "yes", + "percentages": "N/A", + "computedValue": "an RGBA color", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "media": "visual", + "styleDeclaration": [ + "-webkit-text-stroke-color", + "WebkitTextStrokeColor", + "webkitTextStrokeColor" + ], + "syntax": "<color>", + "extended": [] + } + ], + [ + "-webkit-text-stroke-width", + { + "name": "-webkit-text-stroke-width", + "href": "https://compat.spec.whatwg.org/#propdef--webkit-text-stroke-width", + "initial": "0", + "appliesTo": "all elements", + "inherited": "yes", + "percentages": "N/A", + "computedValue": "absolute length", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "media": "visual", + "styleDeclaration": [ + "-webkit-text-stroke-width", + "WebkitTextStrokeWidth", + "webkitTextStrokeWidth" + ], + "syntax": "<line-width>", + "extended": [] + } + ], + [ + "-webkit-transform", + { + "name": "-webkit-transform", + "href": "https://compat.spec.whatwg.org/#propdef--webkit-transform", + "legacyAliasOf": "transform", + "styleDeclaration": [ + "-webkit-transform", + "WebkitTransform", + "webkitTransform" + ], + "extended": [], + "syntax": "none | <transform-list>" + } + ], + [ + "accent-color", + { + "name": "accent-color", + "href": "https://drafts.csswg.org/css-ui-4/#propdef-accent-color", + "initial": "auto", + "appliesTo": "all elements", + "inherited": "yes", + "percentages": "N/A", + "computedValue": "the keyword auto or a computed color", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "styleDeclaration": [ + "accent-color", + "accentColor" + ], + "syntax": "auto | <color>", + "extended": [] + } + ], + [ + "align-content", + { + "name": "align-content", + "href": "https://drafts.csswg.org/css-align-3/#propdef-align-content", + "initial": "normal", + "appliesTo": "block containers, multicol containers, flex containers, and grid containers", + "inherited": "no", + "percentages": "n/a", + "computedValue": "specified keyword(s)", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "align-content", + "alignContent" + ], + "syntax": "normal | <baseline-position> | <content-distribution> | <overflow-position>? <content-position>", + "extended": [] + } + ], + [ + "align-items", + { + "name": "align-items", + "href": "https://drafts.csswg.org/css-align-3/#propdef-align-items", + "initial": "normal", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "n/a", + "computedValue": "specified keyword(s)", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "align-items", + "alignItems" + ], + "syntax": "normal | stretch | <baseline-position> | <overflow-position>? <self-position> | anchor-center", + "extended": [ + "https://drafts.csswg.org/css-anchor-position-1/" + ] + } + ], + [ + "align-self", + { + "name": "align-self", + "href": "https://drafts.csswg.org/css-align-3/#propdef-align-self", + "initial": "auto", + "appliesTo": "flex items, grid items, and absolutely-positioned boxes", + "inherited": "no", + "percentages": "n/a", + "computedValue": "specified keyword(s)", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "align-self", + "alignSelf" + ], + "syntax": "auto | normal | stretch | <baseline-position> | <overflow-position>? <self-position> | anchor-center", + "extended": [ + "https://drafts.csswg.org/css-anchor-position-1/" + ] + } + ], + [ + "alignment-baseline", + { + "name": "alignment-baseline", + "href": "https://drafts.csswg.org/css-inline-3/#propdef-alignment-baseline", + "initial": "baseline", + "appliesTo": "inline-level boxes, flex items, grid items, table cells, and SVG text content elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "alignment-baseline", + "alignmentBaseline" + ], + "syntax": "baseline | text-bottom | alphabetic | ideographic | middle | central | mathematical | text-top", + "extended": [] + } + ], + [ + "all", + { + "name": "all", + "href": "https://drafts.csswg.org/css-cascade-5/#propdef-all", + "initial": "see individual properties", + "appliesTo": "see individual properties", + "inherited": "see individual properties", + "percentages": "see individual properties", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "all" + ], + "syntax": "initial | inherit | unset | revert | revert-layer | revert-rule", + "extended": [] + } + ], + [ + "anchor-name", + { + "name": "anchor-name", + "href": "https://drafts.csswg.org/css-anchor-position-1/#propdef-anchor-name", + "initial": "none", + "appliesTo": "all elements that generate a principal box", + "inherited": "no", + "percentages": "n/a", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "anchor-name", + "anchorName" + ], + "syntax": "none | <dashed-ident>#", + "extended": [] + } + ], + [ + "anchor-scope", + { + "name": "anchor-scope", + "href": "https://drafts.csswg.org/css-anchor-position-1/#propdef-anchor-scope", + "initial": "none", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "n/a", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "anchor-scope", + "anchorScope" + ], + "syntax": "none | all | <dashed-ident>#", + "extended": [] + } + ], + [ + "animation", + { + "name": "animation", + "href": "https://drafts.csswg.org/css-animations-1/#propdef-animation", + "initial": "see individual properties", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "see individual properties", + "canonicalOrder": "per grammar", + "animationType": "not animatable", + "styleDeclaration": [ + "animation" + ], + "syntax": "<single-animation>#", + "extended": [] + } + ], + [ + "animation-composition", + { + "name": "animation-composition", + "href": "https://drafts.csswg.org/css-animations-2/#propdef-animation-composition", + "initial": "replace", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "list, each item a keyword as specified", + "canonicalOrder": "per grammar", + "animationType": "not animatable", + "styleDeclaration": [ + "animation-composition", + "animationComposition" + ], + "syntax": "<single-animation-composition>#", + "extended": [] + } + ], + [ + "animation-delay", + { + "name": "animation-delay", + "href": "https://drafts.csswg.org/css-animations-1/#propdef-animation-delay", + "initial": "0s", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "list, each item a duration", + "canonicalOrder": "per grammar", + "animationType": "not animatable", + "styleDeclaration": [ + "animation-delay", + "animationDelay" + ], + "syntax": "<time>#", + "extended": [] + } + ], + [ + "animation-direction", + { + "name": "animation-direction", + "href": "https://drafts.csswg.org/css-animations-1/#propdef-animation-direction", + "initial": "normal", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "list, each item a keyword as specified", + "canonicalOrder": "per grammar", + "animationType": "not animatable", + "styleDeclaration": [ + "animation-direction", + "animationDirection" + ], + "syntax": "<single-animation-direction>#", + "extended": [] + } + ], + [ + "animation-duration", + { + "name": "animation-duration", + "href": "https://drafts.csswg.org/css-animations-2/#propdef-animation-duration", + "initial": "auto", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "list, each item either a time or the keyword auto", + "canonicalOrder": "per grammar", + "animationType": "not animatable", + "styleDeclaration": [ + "animation-duration", + "animationDuration" + ], + "syntax": "[ auto | <time [0s,∞]> ]#", + "extended": [] + } + ], + [ + "animation-fill-mode", + { + "name": "animation-fill-mode", + "href": "https://drafts.csswg.org/css-animations-1/#propdef-animation-fill-mode", + "initial": "none", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "list, each item a keyword as specified", + "canonicalOrder": "per grammar", + "animationType": "not animatable", + "styleDeclaration": [ + "animation-fill-mode", + "animationFillMode" + ], + "syntax": "<single-animation-fill-mode>#", + "extended": [] + } + ], + [ + "animation-iteration-count", + { + "name": "animation-iteration-count", + "href": "https://drafts.csswg.org/css-animations-1/#propdef-animation-iteration-count", + "initial": "1", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "list, each item either a number or the keyword infinite", + "canonicalOrder": "per grammar", + "animationType": "not animatable", + "styleDeclaration": [ + "animation-iteration-count", + "animationIterationCount" + ], + "syntax": "<single-animation-iteration-count>#", + "extended": [] + } + ], + [ + "animation-name", + { + "name": "animation-name", + "href": "https://drafts.csswg.org/css-animations-1/#propdef-animation-name", + "initial": "none", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "list, each item either a case-sensitive css identifier or the keyword none", + "canonicalOrder": "per grammar", + "animationType": "not animatable", + "styleDeclaration": [ + "animation-name", + "animationName" + ], + "syntax": "[ none | <keyframes-name> ]#", + "extended": [] + } + ], + [ + "animation-play-state", + { + "name": "animation-play-state", + "href": "https://drafts.csswg.org/css-animations-1/#propdef-animation-play-state", + "initial": "running", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "list, each item a keyword as specified", + "canonicalOrder": "per grammar", + "animationType": "not animatable", + "styleDeclaration": [ + "animation-play-state", + "animationPlayState" + ], + "syntax": "<single-animation-play-state>#", + "extended": [] + } + ], + [ + "animation-range", + { + "name": "animation-range", + "href": "https://drafts.csswg.org/scroll-animations-1/#propdef-animation-range", + "initial": "see individual properties", + "appliesTo": "see individual properties", + "inherited": "see individual properties", + "percentages": "see individual properties", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "animation-range", + "animationRange" + ], + "syntax": "[ <'animation-range-start'> <'animation-range-end'>? ]#", + "extended": [] + } + ], + [ + "animation-range-end", + { + "name": "animation-range-end", + "href": "https://drafts.csswg.org/scroll-animations-1/#propdef-animation-range-end", + "initial": "normal", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "relative to the specified named timeline range if one was specified, else to the entire timeline", + "computedValue": "list, each item either the keyword normal or a timeline range and progress percentage", + "canonicalOrder": "per grammar", + "animationType": "not animatable", + "styleDeclaration": [ + "animation-range-end", + "animationRangeEnd" + ], + "syntax": "[ normal | <length-percentage> | <timeline-range-name> <length-percentage>? ]#", + "extended": [] + } + ], + [ + "animation-range-start", + { + "name": "animation-range-start", + "href": "https://drafts.csswg.org/scroll-animations-1/#propdef-animation-range-start", + "initial": "normal", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "relative to the specified named timeline range if one was specified, else to the entire timeline", + "computedValue": "list, each item either the keyword normal or a timeline range and progress percentage", + "canonicalOrder": "per grammar", + "animationType": "not animatable", + "styleDeclaration": [ + "animation-range-start", + "animationRangeStart" + ], + "syntax": "[ normal | <length-percentage> | <timeline-range-name> <length-percentage>? ]#", + "extended": [] + } + ], + [ + "animation-timeline", + { + "name": "animation-timeline", + "href": "https://drafts.csswg.org/css-animations-2/#propdef-animation-timeline", + "initial": "auto", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "list, each item either the keyword none, the keyword auto, a case-sensitive css identifier, a computed scroll() function, or a computed view() function", + "canonicalOrder": "per grammar", + "animationType": "not animatable", + "styleDeclaration": [ + "animation-timeline", + "animationTimeline" + ], + "syntax": "<single-animation-timeline>#", + "extended": [] + } + ], + [ + "animation-timing-function", + { + "name": "animation-timing-function", + "href": "https://drafts.csswg.org/css-animations-1/#propdef-animation-timing-function", + "initial": "ease", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "list, each item a computed <easing-function>", + "canonicalOrder": "per grammar", + "animationType": "not animatable", + "styleDeclaration": [ + "animation-timing-function", + "animationTimingFunction" + ], + "syntax": "<easing-function>#", + "extended": [] + } + ], + [ + "appearance", + { + "name": "appearance", + "href": "https://drafts.csswg.org/css-ui-4/#propdef-appearance", + "initial": "none", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "n/a", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "appearance" + ], + "syntax": "none | auto | base | base-select | <compat-auto> | <compat-special> | base", + "extended": [ + "https://drafts.csswg.org/css-forms-1/" + ] + } + ], + [ + "aspect-ratio", + { + "name": "aspect-ratio", + "href": "https://drafts.csswg.org/css-sizing-4/#propdef-aspect-ratio", + "initial": "auto", + "appliesTo": "all elements except inline boxes and internal ruby or table boxes", + "inherited": "no", + "percentages": "n/a", + "computedValue": "specified keyword or a pair of numbers", + "canonicalOrder": "per grammar", + "animationType": "by computed value", + "styleDeclaration": [ + "aspect-ratio", + "aspectRatio" + ], + "syntax": "auto || <ratio>", + "extended": [] + } + ], + [ + "backface-visibility", + { + "name": "backface-visibility", + "href": "https://drafts.csswg.org/css-transforms-2/#propdef-backface-visibility", + "initial": "visible", + "appliesTo": "transformable elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "backface-visibility", + "backfaceVisibility" + ], + "syntax": "visible | hidden", + "extended": [] + } + ], + [ + "background", + { + "name": "background", + "href": "https://drafts.csswg.org/css-backgrounds-4/#propdef-background", + "initial": "see individual properties", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "see individual properties", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "background" + ], + "syntax": "<bg-layer>#? , <final-bg-layer>", + "extended": [] + } + ], + [ + "background-attachment", + { + "name": "background-attachment", + "href": "https://drafts.csswg.org/css-backgrounds-4/#propdef-background-attachment", + "initial": "scroll", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "list, each item the keyword as specified", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "background-attachment", + "backgroundAttachment" + ], + "syntax": "<attachment>#", + "extended": [] + } + ], + [ + "background-blend-mode", + { + "name": "background-blend-mode", + "href": "https://drafts.fxtf.org/compositing-2/#propdef-background-blend-mode", + "initial": "normal", + "appliesTo": "All HTML elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "media": "visual", + "animatable": "no", + "styleDeclaration": [ + "background-blend-mode", + "backgroundBlendMode" + ], + "syntax": "<mix-blend-mode>#", + "extended": [] + } + ], + [ + "background-clip", + { + "name": "background-clip", + "href": "https://drafts.csswg.org/css-backgrounds-4/#propdef-background-clip", + "initial": "border-box", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "n/a", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "repeatable list", + "styleDeclaration": [ + "background-clip", + "backgroundClip" + ], + "syntax": "<bg-clip>#", + "extended": [] + } + ], + [ + "background-color", + { + "name": "background-color", + "href": "https://drafts.csswg.org/css-backgrounds-4/#propdef-background-color", + "initial": "transparent", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "computed color", + "canonicalOrder": "per grammar", + "animationType": "by computed value", + "styleDeclaration": [ + "background-color", + "backgroundColor" + ], + "syntax": "<color>", + "extended": [] + } + ], + [ + "background-image", + { + "name": "background-image", + "href": "https://drafts.csswg.org/css-backgrounds-4/#propdef-background-image", + "initial": "none", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "list, each item either an <image> or the keyword none", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "background-image", + "backgroundImage" + ], + "syntax": "<bg-image>#", + "extended": [] + } + ], + [ + "background-origin", + { + "name": "background-origin", + "href": "https://drafts.csswg.org/css-backgrounds-4/#propdef-background-origin", + "initial": "padding-box", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "list, each item a keyword as specified", + "canonicalOrder": "per grammar", + "animationType": "repeatable list", + "styleDeclaration": [ + "background-origin", + "backgroundOrigin" + ], + "syntax": "<visual-box>#", + "extended": [] + } + ], + [ + "background-position", + { + "name": "background-position", + "href": "https://drafts.csswg.org/css-backgrounds-4/#propdef-background-position", + "initial": "0% 0%", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "refer to size of background positioning area minus size of background image; see text", + "computedValue": "a list, each item a pair of offsets (horizontal and vertical) from the top left origin, each offset given as a computed <length-percentage> value", + "canonicalOrder": "per grammar", + "animationType": "repeatable list", + "styleDeclaration": [ + "background-position", + "backgroundPosition" + ], + "syntax": "<bg-position>#", + "extended": [] + } + ], + [ + "background-position-x", + { + "name": "background-position-x", + "href": "https://drafts.csswg.org/css-backgrounds-4/#propdef-background-position-x", + "initial": "0%", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "refer to width of background positioning area minus width of background image", + "computedValue": "A list, each item consisting of: an offset given as a computed <length-percentage> value, plus an origin keyword", + "canonicalOrder": "per grammar", + "animationType": "repeatable list", + "logicalPropertyGroup": "background-position", + "styleDeclaration": [ + "background-position-x", + "backgroundPositionX" + ], + "syntax": "[ center | [ [ left | right | x-start | x-end ]? <length-percentage>? ]! ]#", + "extended": [] + } + ], + [ + "background-position-y", + { + "name": "background-position-y", + "href": "https://drafts.csswg.org/css-backgrounds-4/#propdef-background-position-y", + "initial": "0%", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "refer to height of background positioning area minus height of background image", + "computedValue": "A list, each item consisting of: an offset given as a computed <length-percentage> value, plus an origin keyword", + "canonicalOrder": "per grammar", + "animationType": "repeatable list", + "logicalPropertyGroup": "background-position", + "styleDeclaration": [ + "background-position-y", + "backgroundPositionY" + ], + "syntax": "[ center | [ [ top | bottom | y-start | y-end ]? <length-percentage>? ]! ]#", + "extended": [] + } + ], + [ + "background-repeat", + { + "name": "background-repeat", + "href": "https://drafts.csswg.org/css-backgrounds-4/#propdef-background-repeat", + "initial": "repeat", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "list, each item a pair of keywords, one per dimension", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "background-repeat", + "backgroundRepeat" + ], + "syntax": "<repeat-style>#", + "extended": [] + } + ], + [ + "background-repeat-x", + { + "name": "background-repeat-x", + "href": "https://drafts.csswg.org/css-backgrounds-4/#propdef-background-repeat-x", + "initial": "repeat", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "logicalPropertyGroup": "background-repeat", + "styleDeclaration": [ + "background-repeat-x", + "backgroundRepeatX" + ], + "syntax": "<repetition>#", + "extended": [] + } + ], + [ + "background-repeat-y", + { + "name": "background-repeat-y", + "href": "https://drafts.csswg.org/css-backgrounds-4/#propdef-background-repeat-y", + "initial": "repeat", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "logicalPropertyGroup": "background-repeat", + "styleDeclaration": [ + "background-repeat-y", + "backgroundRepeatY" + ], + "syntax": "<repetition>#", + "extended": [] + } + ], + [ + "background-size", + { + "name": "background-size", + "href": "https://drafts.csswg.org/css-backgrounds-4/#propdef-background-size", + "initial": "auto", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "see text", + "computedValue": "list, each item a pair of sizes (one per axis) each represented as either a keyword or a computed <length-percentage> value", + "canonicalOrder": "per grammar", + "animationType": "repeatable list", + "styleDeclaration": [ + "background-size", + "backgroundSize" + ], + "syntax": "<bg-size>#", + "extended": [] + } + ], + [ + "baseline-shift", + { + "name": "baseline-shift", + "href": "https://drafts.csswg.org/css-inline-3/#propdef-baseline-shift", + "initial": "0", + "appliesTo": "inline-level boxes and SVG text content elements", + "inherited": "no", + "percentages": "refer to the used value of line-height", + "computedValue": "the specified keyword or a computed <length-percentage> value", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "styleDeclaration": [ + "baseline-shift", + "baselineShift" + ], + "syntax": "<length-percentage> | sub | super | top | center | bottom", + "extended": [] + } + ], + [ + "baseline-source", + { + "name": "baseline-source", + "href": "https://drafts.csswg.org/css-inline-3/#propdef-baseline-source", + "initial": "auto", + "appliesTo": "inline-level boxes", + "inherited": "no", + "percentages": "N/A", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "baseline-source", + "baselineSource" + ], + "syntax": "auto | first | last", + "extended": [] + } + ], + [ + "block-ellipsis", + { + "name": "block-ellipsis", + "href": "https://drafts.csswg.org/css-overflow-4/#propdef-block-ellipsis", + "initial": "no-ellipsis", + "appliesTo": "block containers", + "inherited": "yes", + "percentages": "N/A", + "computedValue": "specified value", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "block-ellipsis", + "blockEllipsis" + ], + "syntax": "no-ellipsis | auto | <string>", + "extended": [] + } + ], + [ + "block-size", + { + "name": "block-size", + "href": "https://drafts.csswg.org/css-logical-1/#propdef-block-size", + "initial": "auto", + "appliesTo": "Same as height and width", + "inherited": "no", + "percentages": "As for the corresponding physical property", + "computedValue": "Same as height, width", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "logicalPropertyGroup": "size", + "styleDeclaration": [ + "block-size", + "blockSize" + ], + "syntax": "<'width'>", + "extended": [] + } + ], + [ + "block-step", + { + "name": "block-step", + "href": "https://drafts.csswg.org/css-rhythm-1/#propdef-block-step", + "initial": "see individual properties", + "appliesTo": "block-level boxes", + "inherited": "no", + "percentages": "N/A", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "block-step", + "blockStep" + ], + "syntax": "<'block-step-size'> || <'block-step-insert'> || <'block-step-align'> || <'block-step-round'>", + "extended": [] + } + ], + [ + "block-step-align", + { + "name": "block-step-align", + "href": "https://drafts.csswg.org/css-rhythm-1/#propdef-block-step-align", + "initial": "auto", + "appliesTo": "block-level boxes", + "inherited": "no", + "percentages": "N/A", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "block-step-align", + "blockStepAlign" + ], + "syntax": "auto | center | start | end", + "extended": [] + } + ], + [ + "block-step-insert", + { + "name": "block-step-insert", + "href": "https://drafts.csswg.org/css-rhythm-1/#propdef-block-step-insert", + "initial": "margin-box", + "appliesTo": "block-level boxes", + "inherited": "no", + "percentages": "N/A", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "block-step-insert", + "blockStepInsert" + ], + "syntax": "margin-box | padding-box | content-box", + "extended": [] + } + ], + [ + "block-step-round", + { + "name": "block-step-round", + "href": "https://drafts.csswg.org/css-rhythm-1/#propdef-block-step-round", + "initial": "up", + "appliesTo": "block-level boxes", + "inherited": "no", + "percentages": "N/A", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "block-step-round", + "blockStepRound" + ], + "syntax": "up | down | nearest", + "extended": [] + } + ], + [ + "block-step-size", + { + "name": "block-step-size", + "href": "https://drafts.csswg.org/css-rhythm-1/#propdef-block-step-size", + "initial": "none", + "appliesTo": "block-level boxes", + "inherited": "no", + "percentages": "N/A", + "computedValue": "specified keyword or absolute length", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "styleDeclaration": [ + "block-step-size", + "blockStepSize" + ], + "syntax": "none | <length [0,∞]>", + "extended": [] + } + ], + [ + "bookmark-label", + { + "name": "bookmark-label", + "href": "https://drafts.csswg.org/css-content-3/#propdef-bookmark-label", + "initial": "content(text)", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "specified value", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "bookmark-label", + "bookmarkLabel" + ], + "syntax": "<content-list>", + "extended": [] + } + ], + [ + "bookmark-level", + { + "name": "bookmark-level", + "href": "https://drafts.csswg.org/css-content-3/#propdef-bookmark-level", + "initial": "none", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "the keyword none or the specified integer", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "styleDeclaration": [ + "bookmark-level", + "bookmarkLevel" + ], + "syntax": "none | <integer [1,∞]>", + "extended": [] + } + ], + [ + "bookmark-state", + { + "name": "bookmark-state", + "href": "https://drafts.csswg.org/css-content-3/#propdef-bookmark-state", + "initial": "open", + "appliesTo": "block-level elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "bookmark-state", + "bookmarkState" + ], + "syntax": "open | closed", + "extended": [] + } + ], + [ + "border", + { + "name": "border", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border", + "initial": "see individual properties", + "appliesTo": "see individual properties", + "inherited": "see individual properties", + "percentages": "see individual properties", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "border" + ], + "syntax": "<line-width> || <line-style> || <color>", + "extended": [] + } + ], + [ + "border-block", + { + "name": "border-block", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-block", + "initial": "see individual properties", + "appliesTo": "see individual properties", + "inherited": "see individual properties", + "percentages": "see individual properties", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "border-block", + "borderBlock" + ], + "syntax": "<'border-block-start'>", + "extended": [] + } + ], + [ + "border-block-color", + { + "name": "border-block-color", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-block-color", + "initial": "see individual properties", + "appliesTo": "see individual properties", + "inherited": "see individual properties", + "percentages": "see individual properties", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "border-block-color", + "borderBlockColor" + ], + "syntax": "<'border-top-color'>{1,2}", + "extended": [] + } + ], + [ + "border-block-end", + { + "name": "border-block-end", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-block-end", + "initial": "See individual properties", + "appliesTo": "all elements except ruby base containers and ruby annotation containers", + "inherited": "no", + "percentages": "N/A", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "border-block-end", + "borderBlockEnd" + ], + "syntax": "<line-width> || <line-style> || <color>", + "extended": [] + } + ], + [ + "border-block-end-color", + { + "name": "border-block-end-color", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-block-end-color", + "initial": "currentcolor", + "appliesTo": "all elements except ruby base containers and ruby annotation containers", + "inherited": "no", + "percentages": "N/A", + "computedValue": "the computed color and/or a one-dimensional image function", + "canonicalOrder": "per grammar", + "animationType": "see prose", + "logicalPropertyGroup": "border-color", + "styleDeclaration": [ + "border-block-end-color", + "borderBlockEndColor" + ], + "syntax": "<color> | <image-1D>", + "extended": [] + } + ], + [ + "border-block-end-radius", + { + "name": "border-block-end-radius", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-block-end-radius", + "initial": "0", + "appliesTo": "all elements (but see prose)", + "inherited": "no", + "percentages": "Refer to corresponding dimension of the border box.", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "border-block-end-radius", + "borderBlockEndRadius" + ], + "syntax": "<length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]?", + "extended": [] + } + ], + [ + "border-block-end-style", + { + "name": "border-block-end-style", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-block-end-style", + "initial": "none", + "appliesTo": "all elements except ruby base containers and ruby annotation containers", + "inherited": "no", + "percentages": "N/A", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "logicalPropertyGroup": "border-style", + "styleDeclaration": [ + "border-block-end-style", + "borderBlockEndStyle" + ], + "syntax": "<line-style>", + "extended": [] + } + ], + [ + "border-block-end-width", + { + "name": "border-block-end-width", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-block-end-width", + "initial": "medium", + "appliesTo": "all elements except ruby base containers and ruby annotation containers", + "inherited": "no", + "percentages": "N/A", + "computedValue": "absolute length, snapped as a border width; zero if the border style is none or hidden", + "canonicalOrder": "per grammar", + "animationType": "by computed value", + "logicalPropertyGroup": "border-width", + "styleDeclaration": [ + "border-block-end-width", + "borderBlockEndWidth" + ], + "syntax": "<line-width>", + "extended": [] + } + ], + [ + "border-block-start", + { + "name": "border-block-start", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-block-start", + "initial": "See individual properties", + "appliesTo": "all elements except ruby base containers and ruby annotation containers", + "inherited": "no", + "percentages": "N/A", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "border-block-start", + "borderBlockStart" + ], + "syntax": "<line-width> || <line-style> || <color>", + "extended": [] + } + ], + [ + "border-block-start-color", + { + "name": "border-block-start-color", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-block-start-color", + "initial": "currentcolor", + "appliesTo": "all elements except ruby base containers and ruby annotation containers", + "inherited": "no", + "percentages": "N/A", + "computedValue": "the computed color and/or a one-dimensional image function", + "canonicalOrder": "per grammar", + "animationType": "see prose", + "logicalPropertyGroup": "border-color", + "styleDeclaration": [ + "border-block-start-color", + "borderBlockStartColor" + ], + "syntax": "<color> | <image-1D>", + "extended": [] + } + ], + [ + "border-block-start-radius", + { + "name": "border-block-start-radius", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-block-start-radius", + "initial": "0", + "appliesTo": "all elements (but see prose)", + "inherited": "no", + "percentages": "Refer to corresponding dimension of the border box.", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "border-block-start-radius", + "borderBlockStartRadius" + ], + "syntax": "<length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]?", + "extended": [] + } + ], + [ + "border-block-start-style", + { + "name": "border-block-start-style", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-block-start-style", + "initial": "none", + "appliesTo": "all elements except ruby base containers and ruby annotation containers", + "inherited": "no", + "percentages": "N/A", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "logicalPropertyGroup": "border-style", + "styleDeclaration": [ + "border-block-start-style", + "borderBlockStartStyle" + ], + "syntax": "<line-style>", + "extended": [] + } + ], + [ + "border-block-start-width", + { + "name": "border-block-start-width", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-block-start-width", + "initial": "medium", + "appliesTo": "all elements except ruby base containers and ruby annotation containers", + "inherited": "no", + "percentages": "N/A", + "computedValue": "absolute length, snapped as a border width; zero if the border style is none or hidden", + "canonicalOrder": "per grammar", + "animationType": "by computed value", + "logicalPropertyGroup": "border-width", + "styleDeclaration": [ + "border-block-start-width", + "borderBlockStartWidth" + ], + "syntax": "<line-width>", + "extended": [] + } + ], + [ + "border-block-style", + { + "name": "border-block-style", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-block-style", + "initial": "see individual properties", + "appliesTo": "see individual properties", + "inherited": "see individual properties", + "percentages": "see individual properties", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "border-block-style", + "borderBlockStyle" + ], + "syntax": "<'border-top-style'>{1,2}", + "extended": [] + } + ], + [ + "border-block-width", + { + "name": "border-block-width", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-block-width", + "initial": "see individual properties", + "appliesTo": "see individual properties", + "inherited": "see individual properties", + "percentages": "see individual properties", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "border-block-width", + "borderBlockWidth" + ], + "syntax": "<'border-top-width'>{1,2}", + "extended": [] + } + ], + [ + "border-bottom", + { + "name": "border-bottom", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-bottom", + "initial": "See individual properties", + "appliesTo": "all elements except ruby base containers and ruby annotation containers", + "inherited": "no", + "percentages": "N/A", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "border-bottom", + "borderBottom" + ], + "syntax": "<line-width> || <line-style> || <color>", + "extended": [] + } + ], + [ + "border-bottom-color", + { + "name": "border-bottom-color", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-bottom-color", + "initial": "currentcolor", + "appliesTo": "all elements except ruby base containers and ruby annotation containers", + "inherited": "no", + "percentages": "N/A", + "computedValue": "the computed color and/or a one-dimensional image function", + "canonicalOrder": "per grammar", + "animationType": "see prose", + "logicalPropertyGroup": "border-color", + "styleDeclaration": [ + "border-bottom-color", + "borderBottomColor" + ], + "syntax": "<color> | <image-1D>", + "extended": [] + } + ], + [ + "border-bottom-left-radius", + { + "name": "border-bottom-left-radius", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-bottom-left-radius", + "initial": "0", + "appliesTo": "all elements (but see prose)", + "inherited": "no", + "percentages": "Refer to corresponding dimension of the border box.", + "computedValue": "pair of computed <length-percentage> values", + "canonicalOrder": "per grammar", + "animationType": "by computed value", + "logicalPropertyGroup": "border-radius", + "styleDeclaration": [ + "border-bottom-left-radius", + "borderBottomLeftRadius" + ], + "syntax": "<border-radius>", + "extended": [] + } + ], + [ + "border-bottom-radius", + { + "name": "border-bottom-radius", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-bottom-radius", + "initial": "0", + "appliesTo": "all elements (but see prose)", + "inherited": "no", + "percentages": "Refer to corresponding dimension of the border box.", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "border-bottom-radius", + "borderBottomRadius" + ], + "syntax": "<length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]?", + "extended": [] + } + ], + [ + "border-bottom-right-radius", + { + "name": "border-bottom-right-radius", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-bottom-right-radius", + "initial": "0", + "appliesTo": "all elements (but see prose)", + "inherited": "no", + "percentages": "Refer to corresponding dimension of the border box.", + "computedValue": "pair of computed <length-percentage> values", + "canonicalOrder": "per grammar", + "animationType": "by computed value", + "logicalPropertyGroup": "border-radius", + "styleDeclaration": [ + "border-bottom-right-radius", + "borderBottomRightRadius" + ], + "syntax": "<border-radius>", + "extended": [] + } + ], + [ + "border-bottom-style", + { + "name": "border-bottom-style", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-bottom-style", + "initial": "none", + "appliesTo": "all elements except ruby base containers and ruby annotation containers", + "inherited": "no", + "percentages": "N/A", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "logicalPropertyGroup": "border-style", + "styleDeclaration": [ + "border-bottom-style", + "borderBottomStyle" + ], + "syntax": "<line-style>", + "extended": [] + } + ], + [ + "border-bottom-width", + { + "name": "border-bottom-width", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-bottom-width", + "initial": "medium", + "appliesTo": "all elements except ruby base containers and ruby annotation containers", + "inherited": "no", + "percentages": "N/A", + "computedValue": "absolute length, snapped as a border width; zero if the border style is none or hidden", + "canonicalOrder": "per grammar", + "animationType": "by computed value", + "logicalPropertyGroup": "border-width", + "styleDeclaration": [ + "border-bottom-width", + "borderBottomWidth" + ], + "syntax": "<line-width>", + "extended": [] + } + ], + [ + "border-boundary", + { + "name": "border-boundary", + "href": "https://drafts.csswg.org/css-round-display-1/#propdef-border-boundary", + "initial": "none", + "appliesTo": "all elements", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "border-boundary", + "borderBoundary" + ], + "syntax": "none | parent | display", + "extended": [] + } + ], + [ + "border-clip", + { + "name": "border-clip", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-clip", + "initial": "see individual properties", + "appliesTo": "see individual properties", + "inherited": "see individual properties", + "percentages": "see individual properties", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "border-clip", + "borderClip" + ], + "syntax": "<'border-top-clip'>", + "extended": [] + } + ], + [ + "border-collapse", + { + "name": "border-collapse", + "href": "https://drafts.csswg.org/css-tables-3/#propdef-border-collapse", + "initial": "separate", + "appliesTo": "table grid boxes", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "border-collapse", + "borderCollapse" + ], + "syntax": "separate | collapse", + "extended": [] + } + ], + [ + "border-color", + { + "name": "border-color", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-color", + "initial": "see individual properties", + "appliesTo": "see individual properties", + "inherited": "see individual properties", + "percentages": "see individual properties", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "border-color", + "borderColor" + ], + "syntax": "[ <color> | <image-1D> ]{1,4}", + "extended": [] + } + ], + [ + "border-end-end-radius", + { + "name": "border-end-end-radius", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-end-end-radius", + "initial": "0", + "appliesTo": "all elements (but see prose)", + "inherited": "no", + "percentages": "Refer to corresponding dimension of the border box.", + "computedValue": "pair of computed <length-percentage> values", + "canonicalOrder": "per grammar", + "animationType": "by computed value", + "logicalPropertyGroup": "border-radius", + "styleDeclaration": [ + "border-end-end-radius", + "borderEndEndRadius" + ], + "syntax": "<border-radius>", + "extended": [] + } + ], + [ + "border-end-start-radius", + { + "name": "border-end-start-radius", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-end-start-radius", + "initial": "0", + "appliesTo": "all elements (but see prose)", + "inherited": "no", + "percentages": "Refer to corresponding dimension of the border box.", + "computedValue": "pair of computed <length-percentage> values", + "canonicalOrder": "per grammar", + "animationType": "by computed value", + "logicalPropertyGroup": "border-radius", + "styleDeclaration": [ + "border-end-start-radius", + "borderEndStartRadius" + ], + "syntax": "<border-radius>", + "extended": [] + } + ], + [ + "border-image", + { + "name": "border-image", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-image", + "initial": "See individual properties", + "appliesTo": "See individual properties", + "inherited": "no", + "percentages": "N/A", + "computedValue": "See individual properties", + "canonicalOrder": "per grammar", + "animationType": "See individual properties", + "styleDeclaration": [ + "border-image", + "borderImage" + ], + "syntax": "<'border-image-source'> || <'border-image-slice'> [ / <'border-image-width'> | / <'border-image-width'>? / <'border-image-outset'> ]? || <'border-image-repeat'>", + "extended": [] + } + ], + [ + "border-image-outset", + { + "name": "border-image-outset", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-image-outset", + "initial": "0", + "appliesTo": "All elements, except internal table elements when border-collapse is collapse", + "inherited": "no", + "percentages": "N/A", + "computedValue": "four values, each a number or absolute length", + "canonicalOrder": "per grammar", + "animationType": "by computed value", + "styleDeclaration": [ + "border-image-outset", + "borderImageOutset" + ], + "syntax": "[ <length [0,∞]> | <number [0,∞]> ]{1,4}", + "extended": [] + } + ], + [ + "border-image-repeat", + { + "name": "border-image-repeat", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-image-repeat", + "initial": "stretch", + "appliesTo": "All elements, except internal table elements when border-collapse is collapse", + "inherited": "no", + "percentages": "N/A", + "computedValue": "two keywords, one per axis", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "border-image-repeat", + "borderImageRepeat" + ], + "syntax": "[ stretch | repeat | round | space ]{1,2}", + "extended": [] + } + ], + [ + "border-image-slice", + { + "name": "border-image-slice", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-image-slice", + "initial": "100%", + "appliesTo": "All elements, except internal table elements when border-collapse is collapse", + "inherited": "no", + "percentages": "refer to size of the border image", + "computedValue": "four values, each either a number or percentage; plus a fill keyword if specified", + "canonicalOrder": "per grammar", + "animationType": "by computed value", + "styleDeclaration": [ + "border-image-slice", + "borderImageSlice" + ], + "syntax": "[<number [0,∞]> | <percentage [0,∞]>]{1,4} && fill?", + "extended": [] + } + ], + [ + "border-image-source", + { + "name": "border-image-source", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-image-source", + "initial": "none", + "appliesTo": "All elements, except internal table elements when border-collapse is collapse", + "inherited": "no", + "percentages": "N/A", + "computedValue": "the keyword none or the computed <image>", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "border-image-source", + "borderImageSource" + ], + "syntax": "none | <image>", + "extended": [] + } + ], + [ + "border-image-width", + { + "name": "border-image-width", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-image-width", + "initial": "1", + "appliesTo": "All elements, except internal table elements when border-collapse is collapse", + "inherited": "no", + "percentages": "Relative to width/height of the border image area", + "computedValue": "four values, each either a number, the keyword auto, or a computed <length-percentage> value", + "canonicalOrder": "per grammar", + "animationType": "by computed value", + "styleDeclaration": [ + "border-image-width", + "borderImageWidth" + ], + "syntax": "[ <length-percentage [0,∞]> | <number [0,∞]> | auto ]{1,4}", + "extended": [] + } + ], + [ + "border-inline", + { + "name": "border-inline", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-inline", + "initial": "see individual properties", + "appliesTo": "see individual properties", + "inherited": "see individual properties", + "percentages": "see individual properties", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "border-inline", + "borderInline" + ], + "syntax": "<'border-block-start'>", + "extended": [] + } + ], + [ + "border-inline-color", + { + "name": "border-inline-color", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-inline-color", + "initial": "see individual properties", + "appliesTo": "see individual properties", + "inherited": "see individual properties", + "percentages": "see individual properties", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "border-inline-color", + "borderInlineColor" + ], + "syntax": "<'border-top-color'>{1,2}", + "extended": [] + } + ], + [ + "border-inline-end", + { + "name": "border-inline-end", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-inline-end", + "initial": "See individual properties", + "appliesTo": "all elements except ruby base containers and ruby annotation containers", + "inherited": "no", + "percentages": "N/A", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "border-inline-end", + "borderInlineEnd" + ], + "syntax": "<line-width> || <line-style> || <color>", + "extended": [] + } + ], + [ + "border-inline-end-color", + { + "name": "border-inline-end-color", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-inline-end-color", + "initial": "currentcolor", + "appliesTo": "all elements except ruby base containers and ruby annotation containers", + "inherited": "no", + "percentages": "N/A", + "computedValue": "the computed color and/or a one-dimensional image function", + "canonicalOrder": "per grammar", + "animationType": "see prose", + "logicalPropertyGroup": "border-color", + "styleDeclaration": [ + "border-inline-end-color", + "borderInlineEndColor" + ], + "syntax": "<color> | <image-1D>", + "extended": [] + } + ], + [ + "border-inline-end-radius", + { + "name": "border-inline-end-radius", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-inline-end-radius", + "initial": "0", + "appliesTo": "all elements (but see prose)", + "inherited": "no", + "percentages": "Refer to corresponding dimension of the border box.", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "border-inline-end-radius", + "borderInlineEndRadius" + ], + "syntax": "<length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]?", + "extended": [] + } + ], + [ + "border-inline-end-style", + { + "name": "border-inline-end-style", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-inline-end-style", + "initial": "none", + "appliesTo": "all elements except ruby base containers and ruby annotation containers", + "inherited": "no", + "percentages": "N/A", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "logicalPropertyGroup": "border-style", + "styleDeclaration": [ + "border-inline-end-style", + "borderInlineEndStyle" + ], + "syntax": "<line-style>", + "extended": [] + } + ], + [ + "border-inline-end-width", + { + "name": "border-inline-end-width", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-inline-end-width", + "initial": "medium", + "appliesTo": "all elements except ruby base containers and ruby annotation containers", + "inherited": "no", + "percentages": "N/A", + "computedValue": "absolute length, snapped as a border width; zero if the border style is none or hidden", + "canonicalOrder": "per grammar", + "animationType": "by computed value", + "logicalPropertyGroup": "border-width", + "styleDeclaration": [ + "border-inline-end-width", + "borderInlineEndWidth" + ], + "syntax": "<line-width>", + "extended": [] + } + ], + [ + "border-inline-start", + { + "name": "border-inline-start", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-inline-start", + "initial": "See individual properties", + "appliesTo": "all elements except ruby base containers and ruby annotation containers", + "inherited": "no", + "percentages": "N/A", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "border-inline-start", + "borderInlineStart" + ], + "syntax": "<line-width> || <line-style> || <color>", + "extended": [] + } + ], + [ + "border-inline-start-color", + { + "name": "border-inline-start-color", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-inline-start-color", + "initial": "currentcolor", + "appliesTo": "all elements except ruby base containers and ruby annotation containers", + "inherited": "no", + "percentages": "N/A", + "computedValue": "the computed color and/or a one-dimensional image function", + "canonicalOrder": "per grammar", + "animationType": "see prose", + "logicalPropertyGroup": "border-color", + "styleDeclaration": [ + "border-inline-start-color", + "borderInlineStartColor" + ], + "syntax": "<color> | <image-1D>", + "extended": [] + } + ], + [ + "border-inline-start-radius", + { + "name": "border-inline-start-radius", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-inline-start-radius", + "initial": "0", + "appliesTo": "all elements (but see prose)", + "inherited": "no", + "percentages": "Refer to corresponding dimension of the border box.", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "border-inline-start-radius", + "borderInlineStartRadius" + ], + "syntax": "<length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]?", + "extended": [] + } + ], + [ + "border-inline-start-style", + { + "name": "border-inline-start-style", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-inline-start-style", + "initial": "none", + "appliesTo": "all elements except ruby base containers and ruby annotation containers", + "inherited": "no", + "percentages": "N/A", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "logicalPropertyGroup": "border-style", + "styleDeclaration": [ + "border-inline-start-style", + "borderInlineStartStyle" + ], + "syntax": "<line-style>", + "extended": [] + } + ], + [ + "border-inline-start-width", + { + "name": "border-inline-start-width", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-inline-start-width", + "initial": "medium", + "appliesTo": "all elements except ruby base containers and ruby annotation containers", + "inherited": "no", + "percentages": "N/A", + "computedValue": "absolute length, snapped as a border width; zero if the border style is none or hidden", + "canonicalOrder": "per grammar", + "animationType": "by computed value", + "logicalPropertyGroup": "border-width", + "styleDeclaration": [ + "border-inline-start-width", + "borderInlineStartWidth" + ], + "syntax": "<line-width>", + "extended": [] + } + ], + [ + "border-inline-style", + { + "name": "border-inline-style", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-inline-style", + "initial": "see individual properties", + "appliesTo": "see individual properties", + "inherited": "see individual properties", + "percentages": "see individual properties", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "border-inline-style", + "borderInlineStyle" + ], + "syntax": "<'border-top-style'>{1,2}", + "extended": [] + } + ], + [ + "border-inline-width", + { + "name": "border-inline-width", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-inline-width", + "initial": "see individual properties", + "appliesTo": "see individual properties", + "inherited": "see individual properties", + "percentages": "see individual properties", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "border-inline-width", + "borderInlineWidth" + ], + "syntax": "<'border-top-width'>{1,2}", + "extended": [] + } + ], + [ + "border-left", + { + "name": "border-left", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-left", + "initial": "See individual properties", + "appliesTo": "all elements except ruby base containers and ruby annotation containers", + "inherited": "no", + "percentages": "N/A", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "border-left", + "borderLeft" + ], + "syntax": "<line-width> || <line-style> || <color>", + "extended": [] + } + ], + [ + "border-left-color", + { + "name": "border-left-color", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-left-color", + "initial": "currentcolor", + "appliesTo": "all elements except ruby base containers and ruby annotation containers", + "inherited": "no", + "percentages": "N/A", + "computedValue": "the computed color and/or a one-dimensional image function", + "canonicalOrder": "per grammar", + "animationType": "see prose", + "logicalPropertyGroup": "border-color", + "styleDeclaration": [ + "border-left-color", + "borderLeftColor" + ], + "syntax": "<color> | <image-1D>", + "extended": [] + } + ], + [ + "border-left-radius", + { + "name": "border-left-radius", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-left-radius", + "initial": "0", + "appliesTo": "all elements (but see prose)", + "inherited": "no", + "percentages": "Refer to corresponding dimension of the border box.", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "border-left-radius", + "borderLeftRadius" + ], + "syntax": "<length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]?", + "extended": [] + } + ], + [ + "border-left-style", + { + "name": "border-left-style", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-left-style", + "initial": "none", + "appliesTo": "all elements except ruby base containers and ruby annotation containers", + "inherited": "no", + "percentages": "N/A", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "logicalPropertyGroup": "border-style", + "styleDeclaration": [ + "border-left-style", + "borderLeftStyle" + ], + "syntax": "<line-style>", + "extended": [] + } + ], + [ + "border-left-width", + { + "name": "border-left-width", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-left-width", + "initial": "medium", + "appliesTo": "all elements except ruby base containers and ruby annotation containers", + "inherited": "no", + "percentages": "N/A", + "computedValue": "absolute length, snapped as a border width; zero if the border style is none or hidden", + "canonicalOrder": "per grammar", + "animationType": "by computed value", + "logicalPropertyGroup": "border-width", + "styleDeclaration": [ + "border-left-width", + "borderLeftWidth" + ], + "syntax": "<line-width>", + "extended": [] + } + ], + [ + "border-limit", + { + "name": "border-limit", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-limit", + "initial": "all", + "appliesTo": "all elements, except table element when border-collapse is collapse", + "inherited": "no", + "percentages": "relative to border-box", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "border-limit", + "borderLimit" + ], + "syntax": "all | [ sides | corners ] <length-percentage [0,∞]>? | [ top | right | bottom | left ] <length-percentage [0,∞]>", + "extended": [] + } + ], + [ + "border-radius", + { + "name": "border-radius", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-radius", + "initial": "see individual properties", + "appliesTo": "see individual properties", + "inherited": "see individual properties", + "percentages": "see individual properties", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "border-radius", + "borderRadius" + ], + "syntax": "<length-percentage [0,∞]>{1,4} [ / <length-percentage [0,∞]>{1,4} ]?", + "extended": [] + } + ], + [ + "border-right", + { + "name": "border-right", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-right", + "initial": "See individual properties", + "appliesTo": "all elements except ruby base containers and ruby annotation containers", + "inherited": "no", + "percentages": "N/A", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "border-right", + "borderRight" + ], + "syntax": "<line-width> || <line-style> || <color>", + "extended": [] + } + ], + [ + "border-right-color", + { + "name": "border-right-color", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-right-color", + "initial": "currentcolor", + "appliesTo": "all elements except ruby base containers and ruby annotation containers", + "inherited": "no", + "percentages": "N/A", + "computedValue": "the computed color and/or a one-dimensional image function", + "canonicalOrder": "per grammar", + "animationType": "see prose", + "logicalPropertyGroup": "border-color", + "styleDeclaration": [ + "border-right-color", + "borderRightColor" + ], + "syntax": "<color> | <image-1D>", + "extended": [] + } + ], + [ + "border-right-radius", + { + "name": "border-right-radius", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-right-radius", + "initial": "0", + "appliesTo": "all elements (but see prose)", + "inherited": "no", + "percentages": "Refer to corresponding dimension of the border box.", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "border-right-radius", + "borderRightRadius" + ], + "syntax": "<length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]?", + "extended": [] + } + ], + [ + "border-right-style", + { + "name": "border-right-style", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-right-style", + "initial": "none", + "appliesTo": "all elements except ruby base containers and ruby annotation containers", + "inherited": "no", + "percentages": "N/A", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "logicalPropertyGroup": "border-style", + "styleDeclaration": [ + "border-right-style", + "borderRightStyle" + ], + "syntax": "<line-style>", + "extended": [] + } + ], + [ + "border-right-width", + { + "name": "border-right-width", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-right-width", + "initial": "medium", + "appliesTo": "all elements except ruby base containers and ruby annotation containers", + "inherited": "no", + "percentages": "N/A", + "computedValue": "absolute length, snapped as a border width; zero if the border style is none or hidden", + "canonicalOrder": "per grammar", + "animationType": "by computed value", + "logicalPropertyGroup": "border-width", + "styleDeclaration": [ + "border-right-width", + "borderRightWidth" + ], + "syntax": "<line-width>", + "extended": [] + } + ], + [ + "border-shape", + { + "name": "border-shape", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-shape", + "initial": "none", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "see prose", + "computedValue": "list, each item a computed color", + "canonicalOrder": "per grammar", + "animationType": "by computed value", + "styleDeclaration": [ + "border-shape", + "borderShape" + ], + "syntax": "none | [ <basic-shape> <geometry-box>?]{1,2}", + "extended": [] + } + ], + [ + "border-spacing", + { + "name": "border-spacing", + "href": "https://drafts.csswg.org/css-tables-3/#propdef-border-spacing", + "initial": "0px 0px", + "appliesTo": "table grid boxes when border-collapse is separate", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "two absolute lengths", + "canonicalOrder": "per grammar", + "animationType": "by computed value", + "styleDeclaration": [ + "border-spacing", + "borderSpacing" + ], + "syntax": "<length>{1,2}", + "extended": [] + } + ], + [ + "border-start-end-radius", + { + "name": "border-start-end-radius", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-start-end-radius", + "initial": "0", + "appliesTo": "all elements (but see prose)", + "inherited": "no", + "percentages": "Refer to corresponding dimension of the border box.", + "computedValue": "pair of computed <length-percentage> values", + "canonicalOrder": "per grammar", + "animationType": "by computed value", + "logicalPropertyGroup": "border-radius", + "styleDeclaration": [ + "border-start-end-radius", + "borderStartEndRadius" + ], + "syntax": "<border-radius>", + "extended": [] + } + ], + [ + "border-start-start-radius", + { + "name": "border-start-start-radius", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-start-start-radius", + "initial": "0", + "appliesTo": "all elements (but see prose)", + "inherited": "no", + "percentages": "Refer to corresponding dimension of the border box.", + "computedValue": "pair of computed <length-percentage> values", + "canonicalOrder": "per grammar", + "animationType": "by computed value", + "logicalPropertyGroup": "border-radius", + "styleDeclaration": [ + "border-start-start-radius", + "borderStartStartRadius" + ], + "syntax": "<border-radius>", + "extended": [] + } + ], + [ + "border-style", + { + "name": "border-style", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-style", + "initial": "see individual properties", + "appliesTo": "see individual properties", + "inherited": "see individual properties", + "percentages": "see individual properties", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "border-style", + "borderStyle" + ], + "syntax": "<'border-top-style'>{1,4}", + "extended": [] + } + ], + [ + "border-top", + { + "name": "border-top", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-top", + "initial": "See individual properties", + "appliesTo": "all elements except ruby base containers and ruby annotation containers", + "inherited": "no", + "percentages": "N/A", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "border-top", + "borderTop" + ], + "syntax": "<line-width> || <line-style> || <color>", + "extended": [] + } + ], + [ + "border-top-color", + { + "name": "border-top-color", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-top-color", + "initial": "currentcolor", + "appliesTo": "all elements except ruby base containers and ruby annotation containers", + "inherited": "no", + "percentages": "N/A", + "computedValue": "the computed color and/or a one-dimensional image function", + "canonicalOrder": "per grammar", + "animationType": "see prose", + "logicalPropertyGroup": "border-color", + "styleDeclaration": [ + "border-top-color", + "borderTopColor" + ], + "syntax": "<color> | <image-1D>", + "extended": [] + } + ], + [ + "border-top-left-radius", + { + "name": "border-top-left-radius", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-top-left-radius", + "initial": "0", + "appliesTo": "all elements (but see prose)", + "inherited": "no", + "percentages": "Refer to corresponding dimension of the border box.", + "computedValue": "pair of computed <length-percentage> values", + "canonicalOrder": "per grammar", + "animationType": "by computed value", + "logicalPropertyGroup": "border-radius", + "styleDeclaration": [ + "border-top-left-radius", + "borderTopLeftRadius" + ], + "syntax": "<border-radius>", + "extended": [] + } + ], + [ + "border-top-radius", + { + "name": "border-top-radius", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-top-radius", + "initial": "0", + "appliesTo": "all elements (but see prose)", + "inherited": "no", + "percentages": "Refer to corresponding dimension of the border box.", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "border-top-radius", + "borderTopRadius" + ], + "syntax": "<length-percentage [0,∞]>{1,2} [ / <length-percentage [0,∞]>{1,2} ]?", + "extended": [] + } + ], + [ + "border-top-right-radius", + { + "name": "border-top-right-radius", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-top-right-radius", + "initial": "0", + "appliesTo": "all elements (but see prose)", + "inherited": "no", + "percentages": "Refer to corresponding dimension of the border box.", + "computedValue": "pair of computed <length-percentage> values", + "canonicalOrder": "per grammar", + "animationType": "by computed value", + "logicalPropertyGroup": "border-radius", + "styleDeclaration": [ + "border-top-right-radius", + "borderTopRightRadius" + ], + "syntax": "<border-radius>", + "extended": [] + } + ], + [ + "border-top-style", + { + "name": "border-top-style", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-top-style", + "initial": "none", + "appliesTo": "all elements except ruby base containers and ruby annotation containers", + "inherited": "no", + "percentages": "N/A", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "logicalPropertyGroup": "border-style", + "styleDeclaration": [ + "border-top-style", + "borderTopStyle" + ], + "syntax": "<line-style>", + "extended": [] + } + ], + [ + "border-top-width", + { + "name": "border-top-width", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-top-width", + "initial": "medium", + "appliesTo": "all elements except ruby base containers and ruby annotation containers", + "inherited": "no", + "percentages": "N/A", + "computedValue": "absolute length, snapped as a border width; zero if the border style is none or hidden", + "canonicalOrder": "per grammar", + "animationType": "by computed value", + "logicalPropertyGroup": "border-width", + "styleDeclaration": [ + "border-top-width", + "borderTopWidth" + ], + "syntax": "<line-width>", + "extended": [] + } + ], + [ + "border-width", + { + "name": "border-width", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-border-width", + "initial": "see individual properties", + "appliesTo": "see individual properties", + "inherited": "see individual properties", + "percentages": "see individual properties", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "border-width", + "borderWidth" + ], + "syntax": "<'border-top-width'>{1,4}", + "extended": [] + } + ], + [ + "bottom", + { + "name": "bottom", + "href": "https://drafts.csswg.org/css-position-3/#propdef-bottom", + "initial": "auto", + "appliesTo": "positioned elements", + "inherited": "no", + "percentages": "refer to size of containing block; see prose", + "computedValue": "the keyword auto or a computed <length-percentage> value", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "logicalPropertyGroup": "inset", + "styleDeclaration": [ + "bottom" + ], + "syntax": "auto | <length-percentage> | <anchor()> | <anchor-size()>", + "extended": [ + "https://drafts.csswg.org/css-anchor-position-1/" + ] + } + ], + [ + "box-decoration-break", + { + "name": "box-decoration-break", + "href": "https://drafts.csswg.org/css-break-4/#propdef-box-decoration-break", + "initial": "slice", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "n/a", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "box-decoration-break", + "boxDecorationBreak" + ], + "syntax": "slice | clone", + "extended": [] + } + ], + [ + "box-shadow", + { + "name": "box-shadow", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-box-shadow", + "initial": "none", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "see individual properties", + "canonicalOrder": "per grammar", + "animationType": "see individual properties", + "styleDeclaration": [ + "box-shadow", + "boxShadow" + ], + "syntax": "<spread-shadow>#", + "extended": [] + } + ], + [ + "box-shadow-blur", + { + "name": "box-shadow-blur", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-box-shadow-blur", + "initial": "0", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "list, each item a <length>", + "canonicalOrder": "per grammar", + "animationType": "by computed value", + "styleDeclaration": [ + "box-shadow-blur", + "boxShadowBlur" + ], + "syntax": "<length [0,∞]>#", + "extended": [] + } + ], + [ + "box-shadow-color", + { + "name": "box-shadow-color", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-box-shadow-color", + "initial": "currentcolor", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "list, each item a computed color", + "canonicalOrder": "per grammar", + "animationType": "by computed value", + "styleDeclaration": [ + "box-shadow-color", + "boxShadowColor" + ], + "syntax": "<color>#", + "extended": [] + } + ], + [ + "box-shadow-offset", + { + "name": "box-shadow-offset", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-box-shadow-offset", + "initial": "none", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "list, each item either none or a pair of offsets (horizontal and vertical) from the element‘s box", + "canonicalOrder": "per grammar", + "animationType": "by computed value, treating none as 0 0 when interpolated with non-none values.", + "styleDeclaration": [ + "box-shadow-offset", + "boxShadowOffset" + ], + "syntax": "[ none | <length>{1,2} ]#", + "extended": [] + } + ], + [ + "box-shadow-position", + { + "name": "box-shadow-position", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-box-shadow-position", + "initial": "outset", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "list, each item one of the keywords", + "canonicalOrder": "per grammar", + "animationType": "by computed value", + "styleDeclaration": [ + "box-shadow-position", + "boxShadowPosition" + ], + "syntax": "[ outset | inset ]#", + "extended": [] + } + ], + [ + "box-shadow-spread", + { + "name": "box-shadow-spread", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-box-shadow-spread", + "initial": "0", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "list, each item a <length>", + "canonicalOrder": "per grammar", + "animationType": "by computed value", + "styleDeclaration": [ + "box-shadow-spread", + "boxShadowSpread" + ], + "syntax": "<length>#", + "extended": [] + } + ], + [ + "box-sizing", + { + "name": "box-sizing", + "href": "https://drafts.csswg.org/css-sizing-3/#propdef-box-sizing", + "initial": "content-box", + "appliesTo": "all elements that accept width or height", + "inherited": "no", + "percentages": "N/A", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "box-sizing", + "boxSizing" + ], + "syntax": "content-box | border-box", + "extended": [] + } + ], + [ + "box-snap", + { + "name": "box-snap", + "href": "https://drafts.csswg.org/css-line-grid-1/#propdef-box-snap", + "initial": "none", + "appliesTo": "block-level boxes and internal table elements except table cells", + "inherited": "yes", + "percentages": "N/A", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "box-snap", + "boxSnap" + ], + "syntax": "none | block-start | block-end | center | baseline | last-baseline", + "extended": [] + } + ], + [ + "break-after", + { + "name": "break-after", + "href": "https://drafts.csswg.org/css-break-4/#propdef-break-after", + "initial": "auto", + "appliesTo": "block-level boxes, grid items, flex items, table row groups, table rows (but see prose)", + "inherited": "no", + "percentages": "n/a", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "break-after", + "breakAfter" + ], + "syntax": "auto | avoid | always | all | avoid-page | page | left | right | recto | verso | avoid-column | column | avoid-region | region", + "extended": [] + } + ], + [ + "break-before", + { + "name": "break-before", + "href": "https://drafts.csswg.org/css-break-4/#propdef-break-before", + "initial": "auto", + "appliesTo": "block-level boxes, grid items, flex items, table row groups, table rows (but see prose)", + "inherited": "no", + "percentages": "n/a", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "break-before", + "breakBefore" + ], + "syntax": "auto | avoid | always | all | avoid-page | page | left | right | recto | verso | avoid-column | column | avoid-region | region", + "extended": [] + } + ], + [ + "break-inside", + { + "name": "break-inside", + "href": "https://drafts.csswg.org/css-break-4/#propdef-break-inside", + "initial": "auto", + "appliesTo": "all elements except inline-level boxes, internal ruby boxes, table column boxes, table column group boxes, absolutely-positioned boxes", + "inherited": "no", + "percentages": "n/a", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "break-inside", + "breakInside" + ], + "syntax": "auto | avoid | avoid-page | avoid-column | avoid-region", + "extended": [] + } + ], + [ + "caption-side", + { + "name": "caption-side", + "href": "https://drafts.csswg.org/css-tables-3/#propdef-caption-side", + "initial": "top", + "appliesTo": "table-caption boxes", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "caption-side", + "captionSide" + ], + "syntax": "top | bottom", + "extended": [] + } + ], + [ + "caret", + { + "name": "caret", + "href": "https://drafts.csswg.org/css-ui-4/#propdef-caret", + "initial": "auto", + "appliesTo": "text or elements that accept text input", + "inherited": "yes", + "percentages": "N/A", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "caret" + ], + "syntax": "<'caret-color'> || <'caret-animation'> || <'caret-shape'>", + "extended": [] + } + ], + [ + "caret-color", + { + "name": "caret-color", + "href": "https://drafts.csswg.org/css-ui-4/#propdef-caret-color", + "initial": "auto", + "appliesTo": "text or elements that accept text input", + "inherited": "yes", + "percentages": "N/A", + "computedValue": "The computed value for auto is auto. For <color> values, see CSS Color 4 § 14. Resolving <color> Values.", + "canonicalOrder": "per grammar", + "animationType": "by computed value", + "styleDeclaration": [ + "caret-color", + "caretColor" + ], + "syntax": "auto | <color>", + "extended": [] + } + ], + [ + "caret-shape", + { + "name": "caret-shape", + "href": "https://drafts.csswg.org/css-ui-4/#propdef-caret-shape", + "initial": "auto", + "appliesTo": "text or elements that accept text input", + "inherited": "yes", + "percentages": "N/A", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "by computed value", + "styleDeclaration": [ + "caret-shape", + "caretShape" + ], + "syntax": "auto | bar | block | underscore", + "extended": [] + } + ], + [ + "clear", + { + "name": "clear", + "href": "https://drafts.csswg.org/css-page-floats-3/#propdef-clear", + "initial": "none", + "appliesTo": "block-level elements, floats, regions, pages", + "inherited": "no", + "percentages": "N/A", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "clear" + ], + "syntax": "inline-start | inline-end | block-start | block-end | left | right | top | bottom | both-inline | both-block | both | none", + "extended": [] + } + ], + [ + "clip", + { + "name": "clip", + "href": "https://drafts.fxtf.org/css-masking-1/#propdef-clip", + "initial": "auto", + "appliesTo": "Absolutely positioned elements. In SVG, it applies to elements which establish a new viewport, pattern elements and mask elements.", + "inherited": "no", + "percentages": "n/a", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "by computed value", + "media": "visual", + "styleDeclaration": [ + "clip" + ], + "syntax": "<rect()> | auto", + "extended": [] + } + ], + [ + "clip-path", + { + "name": "clip-path", + "href": "https://drafts.fxtf.org/css-masking-1/#propdef-clip-path", + "initial": "none", + "appliesTo": "All elements. In SVG, it applies to container elements excluding the defs element, all graphics elements and the use element", + "inherited": "no", + "percentages": "n/a", + "computedValue": "as specified, but with <url> values made absolute", + "canonicalOrder": "per grammar", + "animationType": "by computed value", + "media": "visual", + "styleDeclaration": [ + "clip-path", + "clipPath" + ], + "syntax": "<clip-source> | [ <basic-shape> || <geometry-box> ] | none", + "extended": [] + } + ], + [ + "clip-rule", + { + "name": "clip-rule", + "href": "https://drafts.fxtf.org/css-masking-1/#propdef-clip-rule", + "initial": "nonzero", + "appliesTo": "Applies to SVG graphics elements", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "media": "visual", + "styleDeclaration": [ + "clip-rule", + "clipRule" + ], + "syntax": "nonzero | evenodd", + "extended": [] + } + ], + [ + "color", + { + "name": "color", + "href": "https://drafts.csswg.org/css-color-4/#propdef-color", + "initial": "CanvasText", + "appliesTo": "all elements and text", + "inherited": "yes", + "percentages": "N/A", + "computedValue": "computed color, see resolving color values", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "styleDeclaration": [ + "color" + ], + "syntax": "<color>", + "extended": [] + } + ], + [ + "color-adjust", + { + "name": "color-adjust", + "href": "https://drafts.csswg.org/css-color-adjust-1/#propdef-color-adjust", + "initial": "see individual properties", + "appliesTo": "see individual properties", + "inherited": "see individual properties", + "percentages": "see individual properties", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "color-adjust", + "colorAdjust" + ], + "syntax": "<'print-color-adjust'>", + "extended": [] + } + ], + [ + "color-interpolation", + { + "name": "color-interpolation", + "href": "https://svgwg.org/svg2-draft/painting.html#ColorInterpolationProperty", + "initial": "sRGB", + "appliesTo": "container elements, graphics elements, gradient elements, ‘use’ and ‘animate’", + "inherited": "yes", + "percentages": "N/A", + "media": "visual", + "computedValue": "as specified", + "animationType": "discrete", + "styleDeclaration": [ + "color-interpolation", + "colorInterpolation" + ], + "syntax": "auto | sRGB | linearRGB", + "extended": [] + } + ], + [ + "color-interpolation-filters", + { + "name": "color-interpolation-filters", + "href": "https://drafts.fxtf.org/filter-effects-1/#propdef-color-interpolation-filters", + "initial": "linearRGB", + "appliesTo": "All filter primitives", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "media": "visual", + "styleDeclaration": [ + "color-interpolation-filters", + "colorInterpolationFilters" + ], + "syntax": "auto | sRGB | linearRGB", + "extended": [] + } + ], + [ + "color-scheme", + { + "name": "color-scheme", + "href": "https://drafts.csswg.org/css-color-adjust-1/#propdef-color-scheme", + "initial": "normal", + "appliesTo": "all elements and text", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "the keyword normal, or an ordered list of specified color scheme keywords", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "color-scheme", + "colorScheme" + ], + "syntax": "normal | [ light | dark | <custom-ident> ]+ && only?", + "extended": [] + } + ], + [ + "column-count", + { + "name": "column-count", + "href": "https://drafts.csswg.org/css-multicol-2/#propdef-column-count", + "initial": "auto", + "appliesTo": "block containers except table wrapper boxes", + "inherited": "no", + "percentages": "N/A", + "computedValue": "specified value", + "canonicalOrder": "per grammar", + "animationType": "by computed value", + "styleDeclaration": [ + "column-count", + "columnCount" + ], + "syntax": "auto | <integer [1,∞]>", + "extended": [] + } + ], + [ + "column-fill", + { + "name": "column-fill", + "href": "https://drafts.csswg.org/css-multicol-2/#propdef-column-fill", + "initial": "balance", + "appliesTo": "multicol containers", + "inherited": "no", + "percentages": "N/A", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "column-fill", + "columnFill" + ], + "syntax": "auto | balance | balance-all", + "extended": [] + } + ], + [ + "column-gap", + { + "name": "column-gap", + "href": "https://drafts.csswg.org/css-align-3/#propdef-column-gap", + "initial": "normal", + "appliesTo": "multi-column containers, flex containers, grid containers", + "inherited": "no", + "percentages": "see § 8.3 Percentages In gap Properties", + "computedValue": "specified keyword, else a computed <length-percentage> value", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "styleDeclaration": [ + "column-gap", + "columnGap" + ], + "syntax": "normal | <length-percentage [0,∞]>", + "extended": [] + } + ], + [ + "column-rule", + { + "name": "column-rule", + "href": "https://drafts.csswg.org/css-gaps-1/#propdef-column-rule", + "initial": "see individual properties", + "appliesTo": "see individual properties", + "inherited": "see individual properties", + "percentages": "see individual properties", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "column-rule", + "columnRule" + ], + "syntax": "<gap-rule-list> | <gap-auto-rule-list>", + "extended": [] + } + ], + [ + "column-rule-break", + { + "name": "column-rule-break", + "href": "https://drafts.csswg.org/css-gaps-1/#propdef-column-rule-break", + "initial": "spanning-item", + "appliesTo": "grid containers, flex containers, multicol containers, and masonry containers", + "inherited": "no", + "percentages": "n/a", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "column-rule-break", + "columnRuleBreak" + ], + "syntax": "none | spanning-item | intersection", + "extended": [] + } + ], + [ + "column-rule-color", + { + "name": "column-rule-color", + "href": "https://drafts.csswg.org/css-gaps-1/#propdef-column-rule-color", + "initial": "currentcolor", + "appliesTo": "grid containers, flex containers, multicol containers, and masonry containers", + "inherited": "no", + "percentages": "n/a", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "repeatable list, see § 3.4.1 Interpolation behavior.", + "styleDeclaration": [ + "column-rule-color", + "columnRuleColor" + ], + "syntax": "<line-color-list> | <auto-line-color-list>", + "extended": [] + } + ], + [ + "column-rule-outset", + { + "name": "column-rule-outset", + "href": "https://drafts.csswg.org/css-gaps-1/#propdef-column-rule-outset", + "initial": "50%", + "appliesTo": "grid containers, flex containers, multicol containers, and masonry containers", + "inherited": "no", + "percentages": "refer to the crossing gap width", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "styleDeclaration": [ + "column-rule-outset", + "columnRuleOutset" + ], + "syntax": "<length-percentage>", + "extended": [] + } + ], + [ + "column-rule-style", + { + "name": "column-rule-style", + "href": "https://drafts.csswg.org/css-gaps-1/#propdef-column-rule-style", + "initial": "none", + "appliesTo": "grid containers, flex containers, multicol containers, and masonry containers", + "inherited": "no", + "percentages": "n/a", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "column-rule-style", + "columnRuleStyle" + ], + "syntax": "<line-style-list> | <auto-line-style-list>", + "extended": [] + } + ], + [ + "column-rule-width", + { + "name": "column-rule-width", + "href": "https://drafts.csswg.org/css-gaps-1/#propdef-column-rule-width", + "initial": "medium", + "appliesTo": "grid containers, flex containers, multicol containers, and masonry containers", + "inherited": "no", + "percentages": "n/a", + "computedValue": "list of absolute lengths, snapped as a border width", + "canonicalOrder": "per grammar", + "animationType": "repeatable list, see § 3.4.1 Interpolation behavior.", + "styleDeclaration": [ + "column-rule-width", + "columnRuleWidth" + ], + "syntax": "<line-width-list> | <auto-line-width-list>", + "extended": [] + } + ], + [ + "column-span", + { + "name": "column-span", + "href": "https://drafts.csswg.org/css-multicol-2/#propdef-column-span", + "initial": "none", + "appliesTo": "in-flow block-level elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "specified value", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "column-span", + "columnSpan" + ], + "syntax": "none | <integer [1,∞]> | all | auto", + "extended": [] + } + ], + [ + "column-width", + { + "name": "column-width", + "href": "https://drafts.csswg.org/css-multicol-2/#propdef-column-width", + "initial": "auto", + "appliesTo": "block containers except table wrapper boxes", + "inherited": "no", + "percentages": "N/A", + "computedValue": "the keyword auto or an absolute length", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "styleDeclaration": [ + "column-width", + "columnWidth" + ], + "syntax": "auto | <length [0,∞]> | min-content | max-content | fit-content(<length-percentage>)", + "extended": [ + "https://drafts.csswg.org/css-sizing-3/" + ] + } + ], + [ + "columns", + { + "name": "columns", + "href": "https://drafts.csswg.org/css-multicol-2/#propdef-columns", + "initial": "see individual properties", + "appliesTo": "see individual properties", + "inherited": "see individual properties", + "percentages": "see individual properties", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "columns" + ], + "syntax": "[ <'column-width'> || <'column-count'> ] [ / <'column-height'> ]?", + "extended": [] + } + ], + [ + "contain", + { + "name": "contain", + "href": "https://drafts.csswg.org/css-contain-2/#propdef-contain", + "initial": "none", + "appliesTo": "See below", + "inherited": "no", + "percentages": "n/a", + "computedValue": "the keyword none or one or more of size, layout, paint", + "canonicalOrder": "per grammar", + "animationType": "not animatable", + "styleDeclaration": [ + "contain" + ], + "syntax": "none | strict | content | [ [size | inline-size] || layout || style || paint ] | view-transition", + "extended": [ + "https://drafts.csswg.org/css-view-transitions-2/" + ] + } + ], + [ + "contain-intrinsic-block-size", + { + "name": "contain-intrinsic-block-size", + "href": "https://drafts.csswg.org/css-sizing-4/#propdef-contain-intrinsic-block-size", + "initial": "none", + "appliesTo": "elements with size containment", + "inherited": "no", + "percentages": "n/a", + "computedValue": "as specified, with <length> values computed", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "logicalPropertyGroup": "contain-intrinsic-size", + "styleDeclaration": [ + "contain-intrinsic-block-size", + "containIntrinsicBlockSize" + ], + "syntax": "[ auto | from-element ]? [ none | <length [0,∞]> ]", + "extended": [] + } + ], + [ + "contain-intrinsic-height", + { + "name": "contain-intrinsic-height", + "href": "https://drafts.csswg.org/css-sizing-4/#propdef-contain-intrinsic-height", + "initial": "none", + "appliesTo": "elements with size containment", + "inherited": "no", + "percentages": "n/a", + "computedValue": "as specified, with <length> values computed", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "logicalPropertyGroup": "contain-intrinsic-size", + "styleDeclaration": [ + "contain-intrinsic-height", + "containIntrinsicHeight" + ], + "syntax": "[ auto | from-element ]? [ none | <length [0,∞]> ]", + "extended": [] + } + ], + [ + "contain-intrinsic-inline-size", + { + "name": "contain-intrinsic-inline-size", + "href": "https://drafts.csswg.org/css-sizing-4/#propdef-contain-intrinsic-inline-size", + "initial": "none", + "appliesTo": "elements with size containment", + "inherited": "no", + "percentages": "n/a", + "computedValue": "as specified, with <length> values computed", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "logicalPropertyGroup": "contain-intrinsic-size", + "styleDeclaration": [ + "contain-intrinsic-inline-size", + "containIntrinsicInlineSize" + ], + "syntax": "[ auto | from-element ]? [ none | <length [0,∞]> ]", + "extended": [] + } + ], + [ + "contain-intrinsic-size", + { + "name": "contain-intrinsic-size", + "href": "https://drafts.csswg.org/css-sizing-4/#propdef-contain-intrinsic-size", + "initial": "see individual properties", + "appliesTo": "see individual properties", + "inherited": "see individual properties", + "percentages": "see individual properties", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "contain-intrinsic-size", + "containIntrinsicSize" + ], + "syntax": "[ [ auto | from-element ]? [ none | <length [0,∞]> ] ]{1,2}", + "extended": [] + } + ], + [ + "contain-intrinsic-width", + { + "name": "contain-intrinsic-width", + "href": "https://drafts.csswg.org/css-sizing-4/#propdef-contain-intrinsic-width", + "initial": "none", + "appliesTo": "elements with size containment", + "inherited": "no", + "percentages": "n/a", + "computedValue": "as specified, with <length> values computed", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "logicalPropertyGroup": "contain-intrinsic-size", + "styleDeclaration": [ + "contain-intrinsic-width", + "containIntrinsicWidth" + ], + "syntax": "[ auto | from-element ]? [ none | <length [0,∞]> ]", + "extended": [] + } + ], + [ + "container", + { + "name": "container", + "href": "https://drafts.csswg.org/css-conditional-5/#propdef-container", + "initial": "see individual properties", + "appliesTo": "see individual properties", + "inherited": "see individual properties", + "percentages": "see individual properties", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "container" + ], + "syntax": "<'container-name'> [ / <'container-type'> ]?", + "extended": [] + } + ], + [ + "container-name", + { + "name": "container-name", + "href": "https://drafts.csswg.org/css-conditional-5/#propdef-container-name", + "initial": "none", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "n/a", + "computedValue": "the keyword none, or an ordered list of identifiers", + "canonicalOrder": "per grammar", + "animationType": "not animatable", + "styleDeclaration": [ + "container-name", + "containerName" + ], + "syntax": "none | <custom-ident>+", + "extended": [] + } + ], + [ + "container-type", + { + "name": "container-type", + "href": "https://drafts.csswg.org/css-conditional-5/#propdef-container-type", + "initial": "normal", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "n/a", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "not animatable", + "styleDeclaration": [ + "container-type", + "containerType" + ], + "syntax": "normal | [ [ size | inline-size ] || scroll-state ]", + "extended": [] + } + ], + [ + "content", + { + "name": "content", + "href": "https://drafts.csswg.org/css-content-3/#propdef-content", + "initial": "normal", + "appliesTo": "all elements, tree-abiding pseudo-elements, and page margin boxes", + "inherited": "no", + "percentages": "n/a", + "computedValue": "See prose below", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "content" + ], + "syntax": "normal | none | [ <content-replacement> | <content-list> ] [/ [ <string> | <counter> | <attr()> ]+ ]? | <element()>", + "extended": [ + "https://drafts.csswg.org/css-gcpm-3/" + ] + } + ], + [ + "content-visibility", + { + "name": "content-visibility", + "href": "https://drafts.csswg.org/css-contain-2/#propdef-content-visibility", + "initial": "visible", + "appliesTo": "elements for which size containment can apply", + "inherited": "no", + "percentages": "n/a", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "see § 4.1 Animating and Interpolating content-visibility", + "styleDeclaration": [ + "content-visibility", + "contentVisibility" + ], + "syntax": "visible | auto | hidden", + "extended": [] + } + ], + [ + "continue", + { + "name": "continue", + "href": "https://drafts.csswg.org/css-overflow-4/#propdef-continue", + "initial": "auto", + "appliesTo": "block containers and multicol containers", + "inherited": "no", + "percentages": "N/A", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "continue" + ], + "syntax": "auto | discard | collapse | -webkit-legacy | overflow | paginate | fragments", + "extended": [ + "https://drafts.csswg.org/css-overflow-5/" + ] + } + ], + [ + "corner-block-end-shape", + { + "name": "corner-block-end-shape", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-corner-block-end-shape", + "initial": "see individual properties", + "appliesTo": "see individual properties", + "inherited": "see individual properties", + "percentages": "see individual properties", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "corner-block-end-shape", + "cornerBlockEndShape" + ], + "syntax": "<'corner-top-left-shape'>{1,2}", + "extended": [] + } + ], + [ + "corner-block-start-shape", + { + "name": "corner-block-start-shape", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-corner-block-start-shape", + "initial": "see individual properties", + "appliesTo": "see individual properties", + "inherited": "see individual properties", + "percentages": "see individual properties", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "corner-block-start-shape", + "cornerBlockStartShape" + ], + "syntax": "<'corner-top-left-shape'>{1,2}", + "extended": [] + } + ], + [ + "corner-bottom-left-shape", + { + "name": "corner-bottom-left-shape", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-corner-bottom-left-shape", + "initial": "round", + "appliesTo": "all elements where border-radius can apply", + "inherited": "no", + "percentages": "n/a", + "computedValue": "the corresponding superellipse() value", + "canonicalOrder": "per grammar", + "animationType": "see superellipse interpolation", + "logicalPropertyGroup": "corner-shape", + "styleDeclaration": [ + "corner-bottom-left-shape", + "cornerBottomLeftShape" + ], + "syntax": "<corner-shape-value>", + "extended": [] + } + ], + [ + "corner-bottom-right-shape", + { + "name": "corner-bottom-right-shape", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-corner-bottom-right-shape", + "initial": "round", + "appliesTo": "all elements where border-radius can apply", + "inherited": "no", + "percentages": "n/a", + "computedValue": "the corresponding superellipse() value", + "canonicalOrder": "per grammar", + "animationType": "see superellipse interpolation", + "logicalPropertyGroup": "corner-shape", + "styleDeclaration": [ + "corner-bottom-right-shape", + "cornerBottomRightShape" + ], + "syntax": "<corner-shape-value>", + "extended": [] + } + ], + [ + "corner-bottom-shape", + { + "name": "corner-bottom-shape", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-corner-bottom-shape", + "initial": "see individual properties", + "appliesTo": "see individual properties", + "inherited": "see individual properties", + "percentages": "see individual properties", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "corner-bottom-shape", + "cornerBottomShape" + ], + "syntax": "<'corner-top-left-shape'>{1,2}", + "extended": [] + } + ], + [ + "corner-end-end-shape", + { + "name": "corner-end-end-shape", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-corner-end-end-shape", + "initial": "round", + "appliesTo": "all elements where border-radius can apply", + "inherited": "no", + "percentages": "n/a", + "computedValue": "the corresponding superellipse() value", + "canonicalOrder": "per grammar", + "animationType": "see superellipse interpolation", + "logicalPropertyGroup": "corner-shape", + "styleDeclaration": [ + "corner-end-end-shape", + "cornerEndEndShape" + ], + "syntax": "<corner-shape-value>", + "extended": [] + } + ], + [ + "corner-end-start-shape", + { + "name": "corner-end-start-shape", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-corner-end-start-shape", + "initial": "round", + "appliesTo": "all elements where border-radius can apply", + "inherited": "no", + "percentages": "n/a", + "computedValue": "the corresponding superellipse() value", + "canonicalOrder": "per grammar", + "animationType": "see superellipse interpolation", + "logicalPropertyGroup": "corner-shape", + "styleDeclaration": [ + "corner-end-start-shape", + "cornerEndStartShape" + ], + "syntax": "<corner-shape-value>", + "extended": [] + } + ], + [ + "corner-inline-end-shape", + { + "name": "corner-inline-end-shape", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-corner-inline-end-shape", + "initial": "see individual properties", + "appliesTo": "see individual properties", + "inherited": "see individual properties", + "percentages": "see individual properties", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "corner-inline-end-shape", + "cornerInlineEndShape" + ], + "syntax": "<'corner-top-left-shape'>{1,2}", + "extended": [] + } + ], + [ + "corner-inline-start-shape", + { + "name": "corner-inline-start-shape", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-corner-inline-start-shape", + "initial": "see individual properties", + "appliesTo": "see individual properties", + "inherited": "see individual properties", + "percentages": "see individual properties", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "corner-inline-start-shape", + "cornerInlineStartShape" + ], + "syntax": "<'corner-top-left-shape'>{1,2}", + "extended": [] + } + ], + [ + "corner-left-shape", + { + "name": "corner-left-shape", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-corner-left-shape", + "initial": "see individual properties", + "appliesTo": "see individual properties", + "inherited": "see individual properties", + "percentages": "see individual properties", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "corner-left-shape", + "cornerLeftShape" + ], + "syntax": "<'corner-top-left-shape'>{1,2}", + "extended": [] + } + ], + [ + "corner-right-shape", + { + "name": "corner-right-shape", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-corner-right-shape", + "initial": "see individual properties", + "appliesTo": "see individual properties", + "inherited": "see individual properties", + "percentages": "see individual properties", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "corner-right-shape", + "cornerRightShape" + ], + "syntax": "<'corner-top-left-shape'>{1,2}", + "extended": [] + } + ], + [ + "corner-shape", + { + "name": "corner-shape", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-corner-shape", + "initial": "round", + "appliesTo": "all elements where border-radius can apply", + "inherited": "no", + "percentages": "see individual properties", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "corner-shape", + "cornerShape" + ], + "syntax": "<'corner-top-left-shape'>{1,4}", + "extended": [] + } + ], + [ + "corner-start-end-shape", + { + "name": "corner-start-end-shape", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-corner-start-end-shape", + "initial": "round", + "appliesTo": "all elements where border-radius can apply", + "inherited": "no", + "percentages": "n/a", + "computedValue": "the corresponding superellipse() value", + "canonicalOrder": "per grammar", + "animationType": "see superellipse interpolation", + "logicalPropertyGroup": "corner-shape", + "styleDeclaration": [ + "corner-start-end-shape", + "cornerStartEndShape" + ], + "syntax": "<corner-shape-value>", + "extended": [] + } + ], + [ + "corner-start-start-shape", + { + "name": "corner-start-start-shape", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-corner-start-start-shape", + "initial": "round", + "appliesTo": "all elements where border-radius can apply", + "inherited": "no", + "percentages": "n/a", + "computedValue": "the corresponding superellipse() value", + "canonicalOrder": "per grammar", + "animationType": "see superellipse interpolation", + "logicalPropertyGroup": "corner-shape", + "styleDeclaration": [ + "corner-start-start-shape", + "cornerStartStartShape" + ], + "syntax": "<corner-shape-value>", + "extended": [] + } + ], + [ + "corner-top-left-shape", + { + "name": "corner-top-left-shape", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-corner-top-left-shape", + "initial": "round", + "appliesTo": "all elements where border-radius can apply", + "inherited": "no", + "percentages": "n/a", + "computedValue": "the corresponding superellipse() value", + "canonicalOrder": "per grammar", + "animationType": "see superellipse interpolation", + "logicalPropertyGroup": "corner-shape", + "styleDeclaration": [ + "corner-top-left-shape", + "cornerTopLeftShape" + ], + "syntax": "<corner-shape-value>", + "extended": [] + } + ], + [ + "corner-top-right-shape", + { + "name": "corner-top-right-shape", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-corner-top-right-shape", + "initial": "round", + "appliesTo": "all elements where border-radius can apply", + "inherited": "no", + "percentages": "n/a", + "computedValue": "the corresponding superellipse() value", + "canonicalOrder": "per grammar", + "animationType": "see superellipse interpolation", + "logicalPropertyGroup": "corner-shape", + "styleDeclaration": [ + "corner-top-right-shape", + "cornerTopRightShape" + ], + "syntax": "<corner-shape-value>", + "extended": [] + } + ], + [ + "corner-top-shape", + { + "name": "corner-top-shape", + "href": "https://drafts.csswg.org/css-borders-4/#propdef-corner-top-shape", + "initial": "see individual properties", + "appliesTo": "see individual properties", + "inherited": "see individual properties", + "percentages": "see individual properties", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "corner-top-shape", + "cornerTopShape" + ], + "syntax": "<'corner-top-left-shape'>{1,2}", + "extended": [] + } + ], + [ + "counter-increment", + { + "name": "counter-increment", + "href": "https://drafts.csswg.org/css-lists-3/#propdef-counter-increment", + "initial": "none", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "n/a", + "computedValue": "the keyword none or a list, each item an identifier paired with an integer", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "styleDeclaration": [ + "counter-increment", + "counterIncrement" + ], + "syntax": "[ <counter-name> <integer>? ]+ | none", + "extended": [] + } + ], + [ + "counter-reset", + { + "name": "counter-reset", + "href": "https://drafts.csswg.org/css-lists-3/#propdef-counter-reset", + "initial": "none", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "n/a", + "computedValue": "the keyword none or a list, each item an identifier or a reversed() function paired with an integer", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "styleDeclaration": [ + "counter-reset", + "counterReset" + ], + "syntax": "[ <counter-name> <integer>? | <reversed-counter-name> <integer>? ]+ | none", + "extended": [] + } + ], + [ + "counter-set", + { + "name": "counter-set", + "href": "https://drafts.csswg.org/css-lists-3/#propdef-counter-set", + "initial": "none", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "n/a", + "computedValue": "the keyword none or a list, each item an identifier paired with an integer", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "styleDeclaration": [ + "counter-set", + "counterSet" + ], + "syntax": "[ <counter-name> <integer>? ]+ | none", + "extended": [] + } + ], + [ + "cue", + { + "name": "cue", + "href": "https://drafts.csswg.org/css-speech-1/#propdef-cue", + "initial": "see individual properties", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "cue" + ], + "syntax": "<'cue-before'> <'cue-after'>?", + "extended": [] + } + ], + [ + "cue-after", + { + "name": "cue-after", + "href": "https://drafts.csswg.org/css-speech-1/#propdef-cue-after", + "initial": "none", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "specified value", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "cue-after", + "cueAfter" + ], + "syntax": "<uri> <decibel>? | none", + "extended": [] + } + ], + [ + "cue-before", + { + "name": "cue-before", + "href": "https://drafts.csswg.org/css-speech-1/#propdef-cue-before", + "initial": "none", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "specified value", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "cue-before", + "cueBefore" + ], + "syntax": "<uri> <decibel>? | none", + "extended": [] + } + ], + [ + "cursor", + { + "name": "cursor", + "href": "https://drafts.csswg.org/css-ui-4/#propdef-cursor", + "initial": "auto", + "appliesTo": "all elements", + "inherited": "yes", + "percentages": "N/A", + "computedValue": "as specified, except with any relative URLs converted to absolute", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "cursor" + ], + "syntax": "[<cursor-image>,]* <cursor-predefined>", + "extended": [] + } + ], + [ + "direction", + { + "name": "direction", + "href": "https://drafts.csswg.org/css-writing-modes-4/#propdef-direction", + "initial": "ltr", + "appliesTo": "all elements", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "specified value", + "canonicalOrder": "n/a", + "animationType": "not animatable", + "styleDeclaration": [ + "direction" + ], + "syntax": "ltr | rtl", + "extended": [] + } + ], + [ + "display", + { + "name": "display", + "href": "https://drafts.csswg.org/css-display-4/#propdef-display", + "initial": "inline", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "n/a", + "computedValue": "a pair of keywords representing the inner and outer display types plus optional list-item flag, or a <display-internal> or <display-box> keyword; see prose in a variety of specs for computation rules", + "canonicalOrder": "per grammar", + "animationType": "see § 2.9 Animating and Interpolating display", + "styleDeclaration": [ + "display" + ], + "syntax": "[ <display-outside> || <display-inside> ] | <display-listitem> | <display-internal> | <display-box> | <display-legacy> | <display-outside> || [ <display-inside> | math ]", + "extended": [ + "https://w3c.github.io/mathml-core/" + ] + } + ], + [ + "dominant-baseline", + { + "name": "dominant-baseline", + "href": "https://drafts.csswg.org/css-inline-3/#propdef-dominant-baseline", + "initial": "auto", + "appliesTo": "block containers, inline boxes, table rows, grid containers, flex containers, and SVG text content elements", + "inherited": "yes", + "percentages": "N/A", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "dominant-baseline", + "dominantBaseline" + ], + "syntax": "auto | text-bottom | alphabetic | ideographic | middle | central | mathematical | hanging | text-top", + "extended": [] + } + ], + [ + "dynamic-range-limit", + { + "name": "dynamic-range-limit", + "href": "https://drafts.csswg.org/css-color-hdr-1/#propdef-dynamic-range-limit", + "initial": "no-limit", + "appliesTo": "all elements", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "see Computed Value for dynamic-range-limit", + "canonicalOrder": "per grammar", + "animationType": "by dynamic-range-limit-mix()", + "styleDeclaration": [ + "dynamic-range-limit", + "dynamicRangeLimit" + ], + "syntax": "standard | no-limit | constrained | <dynamic-range-limit-mix()>", + "extended": [] + } + ], + [ + "empty-cells", + { + "name": "empty-cells", + "href": "https://drafts.csswg.org/css-tables-3/#propdef-empty-cells", + "initial": "show", + "appliesTo": "table-cell boxes", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "empty-cells", + "emptyCells" + ], + "syntax": "show | hide", + "extended": [] + } + ], + [ + "fill", + { + "name": "fill", + "href": "https://svgwg.org/svg2-draft/painting.html#FillProperty", + "initial": "black", + "appliesTo": "shapes and text content elements", + "inherited": "yes", + "percentages": "N/A", + "media": "visual", + "computedValue": "as specified, but with <color> values computed and <url> values made absolute", + "animationType": "by computed value", + "styleDeclaration": [ + "fill" + ], + "syntax": "<paint>", + "extended": [] + } + ], + [ + "fill-break", + { + "name": "fill-break", + "href": "https://drafts.fxtf.org/fill-stroke-3/#propdef-fill-break", + "initial": "bounding-box", + "appliesTo": "all elements", + "inherited": "yes?", + "percentages": "N/A", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "media": "visual", + "styleDeclaration": [ + "fill-break", + "fillBreak" + ], + "syntax": "bounding-box | slice | clone", + "extended": [] + } + ], + [ + "fill-color", + { + "name": "fill-color", + "href": "https://drafts.fxtf.org/fill-stroke-3/#propdef-fill-color", + "initial": "currentcolor", + "appliesTo": "text and SVG shapes", + "inherited": "yes", + "percentages": "N/A", + "computedValue": "the computed color", + "canonicalOrder": "per grammar", + "animationType": "by computed value", + "media": "visual", + "styleDeclaration": [ + "fill-color", + "fillColor" + ], + "syntax": "<color>", + "extended": [] + } + ], + [ + "fill-image", + { + "name": "fill-image", + "href": "https://drafts.fxtf.org/fill-stroke-3/#propdef-fill-image", + "initial": "none", + "appliesTo": "text and SVG shapes", + "inherited": "yes", + "percentages": "N/A", + "computedValue": "as specified, with any <image> computed", + "canonicalOrder": "per grammar", + "animationType": "repeatable list", + "media": "visual", + "styleDeclaration": [ + "fill-image", + "fillImage" + ], + "syntax": "<paint>#", + "extended": [] + } + ], + [ + "fill-opacity", + { + "name": "fill-opacity", + "href": "https://drafts.fxtf.org/fill-stroke-3/#propdef-fill-opacity", + "initial": "1", + "appliesTo": "text and SVG shapes", + "inherited": "yes", + "percentages": "N/A", + "computedValue": "the specified value converted to a <number>, clamped to the range [0,1]", + "canonicalOrder": "per grammar", + "animationType": "by computed value", + "media": "visual", + "styleDeclaration": [ + "fill-opacity", + "fillOpacity" + ], + "syntax": "<'opacity'>", + "extended": [] + } + ], + [ + "fill-origin", + { + "name": "fill-origin", + "href": "https://drafts.fxtf.org/fill-stroke-3/#propdef-fill-origin", + "initial": "match-parent", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "media": "visual", + "styleDeclaration": [ + "fill-origin", + "fillOrigin" + ], + "syntax": "match-parent | fill-box | stroke-box | content-box | padding-box | border-box", + "extended": [] + } + ], + [ + "fill-position", + { + "name": "fill-position", + "href": "https://drafts.fxtf.org/fill-stroke-3/#propdef-fill-position", + "initial": "0% 0%", + "appliesTo": "text and SVG shapes", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "A list, each item consisting of: a pair of offsets (horizontal and vertical) from the top left origin each given as a combination of an absolute length and a percentage", + "canonicalOrder": "per grammar", + "animationType": "repeatable list", + "media": "visual", + "styleDeclaration": [ + "fill-position", + "fillPosition" + ], + "syntax": "<position>#", + "extended": [] + } + ], + [ + "fill-repeat", + { + "name": "fill-repeat", + "href": "https://drafts.fxtf.org/fill-stroke-3/#propdef-fill-repeat", + "initial": "repeat", + "appliesTo": "text and SVG shapes", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "A list, each item consisting of: two keywords, one per dimension", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "media": "visual", + "styleDeclaration": [ + "fill-repeat", + "fillRepeat" + ], + "syntax": "<repeat-style>#", + "extended": [] + } + ], + [ + "fill-rule", + { + "name": "fill-rule", + "href": "https://drafts.fxtf.org/fill-stroke-3/#propdef-fill-rule", + "initial": "nonzero", + "appliesTo": "SVG shapes", + "inherited": "yes", + "percentages": "N/A", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "media": "visual", + "styleDeclaration": [ + "fill-rule", + "fillRule" + ], + "syntax": "nonzero | evenodd", + "extended": [] + } + ], + [ + "fill-size", + { + "name": "fill-size", + "href": "https://drafts.fxtf.org/fill-stroke-3/#propdef-fill-size", + "initial": "auto", + "appliesTo": "text and SVG shapes", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "as specified, but with lengths made absolute and omitted auto keywords filled in", + "canonicalOrder": "per grammar", + "animationType": "repeatable list", + "media": "visual", + "styleDeclaration": [ + "fill-size", + "fillSize" + ], + "syntax": "<bg-size>#", + "extended": [] + } + ], + [ + "filter", + { + "name": "filter", + "href": "https://drafts.fxtf.org/filter-effects-1/#propdef-filter", + "initial": "none", + "appliesTo": "All elements. In SVG, it applies to container elements without the defs element, all graphics elements and the use element.", + "inherited": "no", + "percentages": "n/a", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "See prose in Animation of Filters.", + "media": "visual", + "styleDeclaration": [ + "filter" + ], + "syntax": "none | <filter-value-list>", + "extended": [] + } + ], + [ + "flex", + { + "name": "flex", + "href": "https://drafts.csswg.org/css-flexbox-1/#propdef-flex", + "initial": "0 1 auto", + "appliesTo": "flex items", + "inherited": "no", + "percentages": "see individual properties", + "computedValue": "see individual properties", + "animationType": "by computed value type", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "flex" + ], + "syntax": "none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]", + "extended": [] + } + ], + [ + "flex-basis", + { + "name": "flex-basis", + "href": "https://drafts.csswg.org/css-flexbox-1/#propdef-flex-basis", + "initial": "auto", + "appliesTo": "flex items", + "inherited": "no", + "percentages": "relative to the flex container’s inner main size", + "computedValue": "specified keyword or a computed <length-percentage> value", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "styleDeclaration": [ + "flex-basis", + "flexBasis" + ], + "syntax": "content | <'width'>", + "extended": [] + } + ], + [ + "flex-direction", + { + "name": "flex-direction", + "href": "https://drafts.csswg.org/css-flexbox-1/#propdef-flex-direction", + "initial": "row", + "appliesTo": "flex containers", + "inherited": "no", + "percentages": "n/a", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "flex-direction", + "flexDirection" + ], + "syntax": "row | row-reverse | column | column-reverse", + "extended": [] + } + ], + [ + "flex-flow", + { + "name": "flex-flow", + "href": "https://drafts.csswg.org/css-flexbox-1/#propdef-flex-flow", + "initial": "see individual properties", + "appliesTo": "see individual properties", + "inherited": "see individual properties", + "percentages": "see individual properties", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "flex-flow", + "flexFlow" + ], + "syntax": "<'flex-direction'> || <'flex-wrap'>", + "extended": [] + } + ], + [ + "flex-grow", + { + "name": "flex-grow", + "href": "https://drafts.csswg.org/css-flexbox-1/#propdef-flex-grow", + "initial": "0", + "appliesTo": "flex items", + "inherited": "no", + "percentages": "n/a", + "computedValue": "specified number", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "styleDeclaration": [ + "flex-grow", + "flexGrow" + ], + "syntax": "<number [0,∞]>", + "extended": [] + } + ], + [ + "flex-shrink", + { + "name": "flex-shrink", + "href": "https://drafts.csswg.org/css-flexbox-1/#propdef-flex-shrink", + "initial": "1", + "appliesTo": "flex items", + "inherited": "no", + "percentages": "n/a", + "computedValue": "specified value", + "canonicalOrder": "per grammar", + "animationType": "number", + "styleDeclaration": [ + "flex-shrink", + "flexShrink" + ], + "syntax": "<number [0,∞]>", + "extended": [] + } + ], + [ + "flex-wrap", + { + "name": "flex-wrap", + "href": "https://drafts.csswg.org/css-flexbox-1/#propdef-flex-wrap", + "initial": "nowrap", + "appliesTo": "flex containers", + "inherited": "no", + "percentages": "n/a", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "flex-wrap", + "flexWrap" + ], + "syntax": "nowrap | wrap | wrap-reverse", + "extended": [] + } + ], + [ + "float", + { + "name": "float", + "href": "https://drafts.csswg.org/css-page-floats-3/#propdef-float", + "initial": "none", + "appliesTo": "all elements.", + "inherited": "no", + "percentages": "N/A", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "styleDeclaration": [ + "float" + ], + "syntax": "block-start | block-end | inline-start | inline-end | snap-block | <snap-block()> | snap-inline | <snap-inline()> | left | right | top | bottom | none | footnote", + "extended": [ + "https://drafts.csswg.org/css-gcpm-3/" + ] + } + ], + [ + "float-defer", + { + "name": "float-defer", + "href": "https://drafts.csswg.org/css-page-floats-3/#propdef-float-defer", + "initial": "none", + "appliesTo": "floats", + "inherited": "no", + "percentages": "N/A", + "computedValue": "specified keyword or integer", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "float-defer", + "floatDefer" + ], + "syntax": "<integer> | last | none", + "extended": [] + } + ], + [ + "float-offset", + { + "name": "float-offset", + "href": "https://drafts.csswg.org/css-page-floats-3/#propdef-float-offset", + "initial": "0", + "appliesTo": "floats", + "inherited": "no", + "percentages": "see prose", + "computedValue": "computed <length-percentage> value", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "styleDeclaration": [ + "float-offset", + "floatOffset" + ], + "syntax": "<length-percentage>", + "extended": [] + } + ], + [ + "float-reference", + { + "name": "float-reference", + "href": "https://drafts.csswg.org/css-page-floats-3/#propdef-float-reference", + "initial": "inline", + "appliesTo": "all elements.", + "inherited": "no", + "percentages": "N/A", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "float-reference", + "floatReference" + ], + "syntax": "inline | column | region | page", + "extended": [] + } + ], + [ + "flood-color", + { + "name": "flood-color", + "href": "https://drafts.fxtf.org/filter-effects-1/#propdef-flood-color", + "initial": "black", + "appliesTo": "feFlood and feDropShadow elements", + "inherited": "no", + "percentages": "n/a", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "by computed value", + "media": "visual", + "styleDeclaration": [ + "flood-color", + "floodColor" + ], + "syntax": "<color>", + "extended": [] + } + ], + [ + "flood-opacity", + { + "name": "flood-opacity", + "href": "https://drafts.fxtf.org/filter-effects-1/#propdef-flood-opacity", + "initial": "1", + "appliesTo": "feFlood and feDropShadow elements", + "inherited": "no", + "percentages": "n/a", + "computedValue": "the specified value converted to a number, clamped to the range [0,1]", + "canonicalOrder": "per grammar", + "animationType": "by computed value", + "media": "visual", + "styleDeclaration": [ + "flood-opacity", + "floodOpacity" + ], + "syntax": "<'opacity'>", + "extended": [] + } + ], + [ + "flow-from", + { + "name": "flow-from", + "href": "https://drafts.csswg.org/css-regions-1/#propdef-flow-from", + "initial": "none", + "appliesTo": "Non-replaced block containers. This might be expanded in future versions of the specification to allow other types of containers to receive flow content.", + "inherited": "no", + "percentages": "n/a", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "not animatable", + "styleDeclaration": [ + "flow-from", + "flowFrom" + ], + "syntax": "<custom-ident> | none", + "extended": [] + } + ], + [ + "flow-into", + { + "name": "flow-into", + "href": "https://drafts.csswg.org/css-regions-1/#propdef-flow-into", + "initial": "none", + "appliesTo": "All elements, but not pseudo-elements such as ::first-line, ::first-letter, ::before or ::after.", + "inherited": "no", + "percentages": "n/a", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "not animatable", + "styleDeclaration": [ + "flow-into", + "flowInto" + ], + "syntax": "none | <custom-ident> [element | content]?", + "extended": [] + } + ], + [ + "font", + { + "name": "font", + "href": "https://drafts.csswg.org/css-fonts-4/#propdef-font", + "initial": "see individual properties", + "appliesTo": "all elements and text", + "inherited": "yes", + "percentages": "see individual properties", + "computedValue": "see individual properties", + "canonicalOrder": "per grammar", + "animationType": "see individual properties", + "styleDeclaration": [ + "font" + ], + "syntax": "[ [ <'font-style'> || <font-variant-css2> || <'font-weight'> || <font-width-css3> ]? <'font-size'> [ / <'line-height'> ]? <'font-family'># ] | <system-family-name>", + "extended": [] + } + ], + [ + "font-family", + { + "name": "font-family", + "href": "https://drafts.csswg.org/css-fonts-4/#propdef-font-family", + "initial": "depends on user agent", + "appliesTo": "all elements and text", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "list, each item a string and/or <generic-family> keywords", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "font-family", + "fontFamily" + ], + "syntax": "[ <family-name> | <generic-family> ]#", + "extended": [] + } + ], + [ + "font-feature-settings", + { + "name": "font-feature-settings", + "href": "https://drafts.csswg.org/css-fonts-4/#propdef-font-feature-settings", + "initial": "normal", + "appliesTo": "all elements and text", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "font-feature-settings", + "fontFeatureSettings" + ], + "syntax": "normal | <feature-tag-value>#", + "extended": [] + } + ], + [ + "font-kerning", + { + "name": "font-kerning", + "href": "https://drafts.csswg.org/css-fonts-4/#propdef-font-kerning", + "initial": "auto", + "appliesTo": "all elements and text", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "font-kerning", + "fontKerning" + ], + "syntax": "auto | normal | none", + "extended": [] + } + ], + [ + "font-language-override", + { + "name": "font-language-override", + "href": "https://drafts.csswg.org/css-fonts-4/#propdef-font-language-override", + "initial": "normal", + "appliesTo": "all elements and text", + "inherited": "yes", + "percentages": "N/A", + "computedValue": "specified string or the keyword none", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "font-language-override", + "fontLanguageOverride" + ], + "syntax": "normal | <string>", + "extended": [] + } + ], + [ + "font-optical-sizing", + { + "name": "font-optical-sizing", + "href": "https://drafts.csswg.org/css-fonts-4/#propdef-font-optical-sizing", + "initial": "auto", + "appliesTo": "all elements and text", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "font-optical-sizing", + "fontOpticalSizing" + ], + "syntax": "auto | none", + "extended": [] + } + ], + [ + "font-palette", + { + "name": "font-palette", + "href": "https://drafts.csswg.org/css-fonts-4/#propdef-font-palette", + "initial": "normal", + "appliesTo": "all elements and text", + "inherited": "yes", + "percentages": "N/a", + "computedValue": "specified keyword, identifier or <palette-mix()> function. <palette-mix()> must be simplified to a single keyword or identifier if resulting palette is equivalent.", + "canonicalOrder": "per grammar", + "animationType": "by computed value", + "styleDeclaration": [ + "font-palette", + "fontPalette" + ], + "syntax": "normal | light | dark | <palette-identifier> | <palette-mix()>", + "extended": [] + } + ], + [ + "font-size", + { + "name": "font-size", + "href": "https://drafts.csswg.org/css-fonts-4/#propdef-font-size", + "initial": "medium", + "appliesTo": "all elements and text", + "inherited": "yes", + "percentages": "refer to parent element’s font size", + "computedValue": "an absolute length", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "styleDeclaration": [ + "font-size", + "fontSize" + ], + "syntax": "<absolute-size> | <relative-size> | <length-percentage [0,∞]> | math", + "extended": [] + } + ], + [ + "font-size-adjust", + { + "name": "font-size-adjust", + "href": "https://drafts.csswg.org/css-fonts-5/#propdef-font-size-adjust", + "initial": "none", + "appliesTo": "all elements and text", + "inherited": "yes", + "percentages": "N/A", + "computedValue": "the keyword none, or a pair of a metric keyword and a <number>", + "canonicalOrder": "per grammar", + "animationType": "discrete if the keywords differ, otherwise by computed value type", + "styleDeclaration": [ + "font-size-adjust", + "fontSizeAdjust" + ], + "syntax": "none | [ ex-height | cap-height | ch-width | ic-width | ic-height ]? [ from-font | <number [0,∞]> ]", + "extended": [] + } + ], + [ + "font-stretch", + { + "name": "font-stretch", + "href": "https://drafts.csswg.org/css-fonts-4/#propdef-font-stretch", + "legacyAliasOf": "font-width", + "styleDeclaration": [ + "font-stretch", + "fontStretch" + ], + "extended": [], + "syntax": "normal | <percentage [0,∞]> | ultra-condensed | extra-condensed | condensed | semi-condensed | semi-expanded | expanded | extra-expanded | ultra-expanded" + } + ], + [ + "font-style", + { + "name": "font-style", + "href": "https://drafts.csswg.org/css-fonts-4/#propdef-font-style", + "initial": "normal", + "appliesTo": "all elements and text", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "the keyword specified, plus angle in degrees if specified", + "canonicalOrder": "per grammar", + "animationType": "by computed value type;normal animates as oblique 0deg", + "styleDeclaration": [ + "font-style", + "fontStyle" + ], + "syntax": "normal | italic | left | right | oblique <angle [-90deg,90deg]>?", + "extended": [] + } + ], + [ + "font-synthesis", + { + "name": "font-synthesis", + "href": "https://drafts.csswg.org/css-fonts-4/#propdef-font-synthesis", + "initial": "weight style small-caps position", + "appliesTo": "all elements and text", + "inherited": "yes", + "percentages": "N/A", + "computedValue": "specified keyword(s)", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "font-synthesis", + "fontSynthesis" + ], + "syntax": "none | [ weight || style || small-caps || position]", + "extended": [] + } + ], + [ + "font-synthesis-position", + { + "name": "font-synthesis-position", + "href": "https://drafts.csswg.org/css-fonts-4/#propdef-font-synthesis-position", + "initial": "auto", + "appliesTo": "all elements and text", + "inherited": "yes", + "percentages": "N/A", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "font-synthesis-position", + "fontSynthesisPosition" + ], + "syntax": "auto | none", + "extended": [] + } + ], + [ + "font-synthesis-small-caps", + { + "name": "font-synthesis-small-caps", + "href": "https://drafts.csswg.org/css-fonts-4/#propdef-font-synthesis-small-caps", + "initial": "auto", + "appliesTo": "all elements and text", + "inherited": "yes", + "percentages": "N/A", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "font-synthesis-small-caps", + "fontSynthesisSmallCaps" + ], + "syntax": "auto | none", + "extended": [] + } + ], + [ + "font-synthesis-style", + { + "name": "font-synthesis-style", + "href": "https://drafts.csswg.org/css-fonts-4/#propdef-font-synthesis-style", + "initial": "auto", + "appliesTo": "all elements and text", + "inherited": "yes", + "percentages": "N/A", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "media": "visual", + "styleDeclaration": [ + "font-synthesis-style", + "fontSynthesisStyle" + ], + "syntax": "auto | none | oblique-only", + "extended": [] + } + ], + [ + "font-synthesis-weight", + { + "name": "font-synthesis-weight", + "href": "https://drafts.csswg.org/css-fonts-4/#propdef-font-synthesis-weight", + "initial": "auto", + "appliesTo": "all elements and text", + "inherited": "yes", + "percentages": "N/A", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "media": "visual", + "styleDeclaration": [ + "font-synthesis-weight", + "fontSynthesisWeight" + ], + "syntax": "auto | none", + "extended": [] + } + ], + [ + "font-variant", + { + "name": "font-variant", + "href": "https://drafts.csswg.org/css-fonts-4/#propdef-font-variant", + "initial": "normal", + "appliesTo": "all elements and text", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "font-variant", + "fontVariant" + ], + "syntax": "normal | none | [ [ <common-lig-values> || <discretionary-lig-values> || <historical-lig-values> || <contextual-alt-values> ] || [ small-caps | all-small-caps | petite-caps | all-petite-caps | unicase | titling-caps ] || [ stylistic(<feature-value-name>) || historical-forms || styleset(<feature-value-name>#) || character-variant(<feature-value-name>#) || swash(<feature-value-name>) || ornaments(<feature-value-name>) || annotation(<feature-value-name>) ] || [ <numeric-figure-values> || <numeric-spacing-values> || <numeric-fraction-values> || ordinal || slashed-zero ] || [ <east-asian-variant-values> || <east-asian-width-values> || ruby ] || [ sub | super ] || [ text | emoji | unicode ] ]", + "extended": [] + } + ], + [ + "font-variant-alternates", + { + "name": "font-variant-alternates", + "href": "https://drafts.csswg.org/css-fonts-4/#propdef-font-variant-alternates", + "initial": "normal", + "appliesTo": "all elements and text", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "font-variant-alternates", + "fontVariantAlternates" + ], + "syntax": "normal | [ stylistic(<feature-value-name>) || historical-forms || styleset(<feature-value-name>#) || character-variant(<feature-value-name>#) || swash(<feature-value-name>) || ornaments(<feature-value-name>) || annotation(<feature-value-name>) ]", + "extended": [] + } + ], + [ + "font-variant-caps", + { + "name": "font-variant-caps", + "href": "https://drafts.csswg.org/css-fonts-4/#propdef-font-variant-caps", + "initial": "normal", + "appliesTo": "all elements and text", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "font-variant-caps", + "fontVariantCaps" + ], + "syntax": "normal | small-caps | all-small-caps | petite-caps | all-petite-caps | unicase | titling-caps", + "extended": [] + } + ], + [ + "font-variant-east-asian", + { + "name": "font-variant-east-asian", + "href": "https://drafts.csswg.org/css-fonts-4/#propdef-font-variant-east-asian", + "initial": "normal", + "appliesTo": "all elements and text", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "font-variant-east-asian", + "fontVariantEastAsian" + ], + "syntax": "normal | [ <east-asian-variant-values> || <east-asian-width-values> || ruby ]", + "extended": [] + } + ], + [ + "font-variant-emoji", + { + "name": "font-variant-emoji", + "href": "https://drafts.csswg.org/css-fonts-4/#propdef-font-variant-emoji", + "initial": "normal", + "appliesTo": "all elements and text", + "inherited": "yes", + "percentages": "N/a", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "font-variant-emoji", + "fontVariantEmoji" + ], + "syntax": "normal | text | emoji | unicode", + "extended": [] + } + ], + [ + "font-variant-ligatures", + { + "name": "font-variant-ligatures", + "href": "https://drafts.csswg.org/css-fonts-4/#propdef-font-variant-ligatures", + "initial": "normal", + "appliesTo": "all elements and text", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "font-variant-ligatures", + "fontVariantLigatures" + ], + "syntax": "normal | none | [ <common-lig-values> || <discretionary-lig-values> || <historical-lig-values> || <contextual-alt-values> ]", + "extended": [] + } + ], + [ + "font-variant-numeric", + { + "name": "font-variant-numeric", + "href": "https://drafts.csswg.org/css-fonts-4/#propdef-font-variant-numeric", + "initial": "normal", + "appliesTo": "all elements and text", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "font-variant-numeric", + "fontVariantNumeric" + ], + "syntax": "normal | [ <numeric-figure-values> || <numeric-spacing-values> || <numeric-fraction-values> || ordinal || slashed-zero ]", + "extended": [] + } + ], + [ + "font-variant-position", + { + "name": "font-variant-position", + "href": "https://drafts.csswg.org/css-fonts-4/#propdef-font-variant-position", + "initial": "normal", + "appliesTo": "all elements and text", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "font-variant-position", + "fontVariantPosition" + ], + "syntax": "normal | sub | super", + "extended": [] + } + ], + [ + "font-variation-settings", + { + "name": "font-variation-settings", + "href": "https://drafts.csswg.org/css-fonts-4/#propdef-font-variation-settings", + "initial": "normal", + "appliesTo": "all elements and text", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "the keyword normal or a list, each item a string paired with a number", + "canonicalOrder": "per grammar", + "animationType": "see prose", + "styleDeclaration": [ + "font-variation-settings", + "fontVariationSettings" + ], + "syntax": "normal | [ <opentype-tag> <number> ]#", + "extended": [] + } + ], + [ + "font-weight", + { + "name": "font-weight", + "href": "https://drafts.csswg.org/css-fonts-4/#propdef-font-weight", + "initial": "normal", + "appliesTo": "all elements and text", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "a number, see below", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "styleDeclaration": [ + "font-weight", + "fontWeight" + ], + "syntax": "<font-weight-absolute> | bolder | lighter", + "extended": [] + } + ], + [ + "font-width", + { + "name": "font-width", + "href": "https://drafts.csswg.org/css-fonts-4/#propdef-font-width", + "initial": "normal", + "appliesTo": "all elements and text", + "inherited": "yes", + "percentages": "Not resolved", + "computedValue": "a percentage, see below", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "styleDeclaration": [ + "font-width", + "fontWidth" + ], + "syntax": "normal | <percentage [0,∞]> | ultra-condensed | extra-condensed | condensed | semi-condensed | semi-expanded | expanded | extra-expanded | ultra-expanded", + "extended": [] + } + ], + [ + "footnote-display", + { + "name": "footnote-display", + "href": "https://drafts.csswg.org/css-gcpm-3/#propdef-footnote-display", + "initial": "block", + "appliesTo": "elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "specified value", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "footnote-display", + "footnoteDisplay" + ], + "syntax": "block | inline | compact", + "extended": [] + } + ], + [ + "footnote-policy", + { + "name": "footnote-policy", + "href": "https://drafts.csswg.org/css-gcpm-3/#propdef-footnote-policy", + "initial": "auto", + "appliesTo": "elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "specified value", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "footnote-policy", + "footnotePolicy" + ], + "syntax": "auto | line | block", + "extended": [] + } + ], + [ + "forced-color-adjust", + { + "name": "forced-color-adjust", + "href": "https://drafts.csswg.org/css-color-adjust-1/#propdef-forced-color-adjust", + "initial": "auto", + "appliesTo": "all elements and text", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "not animatable", + "styleDeclaration": [ + "forced-color-adjust", + "forcedColorAdjust" + ], + "syntax": "auto | none | preserve-parent-color", + "extended": [] + } + ], + [ + "gap", + { + "name": "gap", + "href": "https://drafts.csswg.org/css-align-3/#propdef-gap", + "initial": "see individual properties", + "appliesTo": "multi-column containers, flex containers, grid containers", + "inherited": "no", + "percentages": "refer to corresponding dimension of the content area", + "computedValue": "see individual properties", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "styleDeclaration": [ + "gap" + ], + "syntax": "<'row-gap'> <'column-gap'>?", + "extended": [] + } + ], + [ + "glyph-orientation-vertical", + { + "name": "glyph-orientation-vertical", + "href": "https://drafts.csswg.org/css-writing-modes-4/#propdef-glyph-orientation-vertical", + "initial": "n/a", + "appliesTo": "n/a", + "inherited": "n/a", + "percentages": "n/a", + "computedValue": "n/a", + "canonicalOrder": "n/a", + "animationType": "n/a", + "styleDeclaration": [ + "glyph-orientation-vertical", + "glyphOrientationVertical" + ], + "syntax": "auto | 0deg | 90deg | 0 | 90", + "extended": [] + } + ], + [ + "grid", + { + "name": "grid", + "href": "https://drafts.csswg.org/css-grid-2/#propdef-grid", + "initial": "none", + "appliesTo": "grid containers", + "inherited": "see individual properties", + "percentages": "see individual properties", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "grid" + ], + "syntax": "<'grid-template'> | <'grid-template-rows'> / [ auto-flow && dense? ] <'grid-auto-columns'>? | [ auto-flow && dense? ] <'grid-auto-rows'>? / <'grid-template-columns'>", + "extended": [] + } + ], + [ + "grid-area", + { + "name": "grid-area", + "href": "https://drafts.csswg.org/css-grid-2/#propdef-grid-area", + "initial": "auto", + "appliesTo": "grid items and absolutely-positioned boxes whose containing block is a grid container", + "inherited": "no", + "percentages": "N/A", + "computedValue": "see individual properties", + "animationType": "discrete", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "grid-area", + "gridArea" + ], + "syntax": "<grid-line> [ / <grid-line> ]{0,3}", + "extended": [] + } + ], + [ + "grid-auto-columns", + { + "name": "grid-auto-columns", + "href": "https://drafts.csswg.org/css-grid-2/#propdef-grid-auto-columns", + "initial": "auto", + "appliesTo": "grid containers", + "inherited": "no", + "percentages": "see Track Sizing", + "computedValue": "see Track Sizing", + "canonicalOrder": "per grammar", + "animationType": "if the list lengths match, by computed value type per item; discrete otherwise", + "styleDeclaration": [ + "grid-auto-columns", + "gridAutoColumns" + ], + "syntax": "<track-size>+", + "extended": [] + } + ], + [ + "grid-auto-flow", + { + "name": "grid-auto-flow", + "href": "https://drafts.csswg.org/css-grid-2/#propdef-grid-auto-flow", + "initial": "row", + "appliesTo": "grid containers", + "inherited": "no", + "percentages": "n/a", + "computedValue": "specified keyword(s)", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "grid-auto-flow", + "gridAutoFlow" + ], + "syntax": "[ row | column ] || dense", + "extended": [] + } + ], + [ + "grid-auto-rows", + { + "name": "grid-auto-rows", + "href": "https://drafts.csswg.org/css-grid-2/#propdef-grid-auto-rows", + "initial": "auto", + "appliesTo": "grid containers", + "inherited": "no", + "percentages": "see Track Sizing", + "computedValue": "see Track Sizing", + "canonicalOrder": "per grammar", + "animationType": "if the list lengths match, by computed value type per item; discrete otherwise", + "styleDeclaration": [ + "grid-auto-rows", + "gridAutoRows" + ], + "syntax": "<track-size>+", + "extended": [] + } + ], + [ + "grid-column", + { + "name": "grid-column", + "href": "https://drafts.csswg.org/css-grid-2/#propdef-grid-column", + "initial": "auto", + "appliesTo": "grid items and absolutely-positioned boxes whose containing block is a grid container", + "inherited": "no", + "percentages": "N/A", + "computedValue": "see individual properties", + "animationType": "discrete", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "grid-column", + "gridColumn" + ], + "syntax": "<grid-line> [ / <grid-line> ]?", + "extended": [] + } + ], + [ + "grid-column-end", + { + "name": "grid-column-end", + "href": "https://drafts.csswg.org/css-grid-2/#propdef-grid-column-end", + "initial": "auto", + "appliesTo": "grid items and absolutely-positioned boxes whose containing block is a grid container", + "inherited": "no", + "percentages": "n/a", + "computedValue": "specified keyword, identifier, and/or integer", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "grid-column-end", + "gridColumnEnd" + ], + "syntax": "<grid-line>", + "extended": [] + } + ], + [ + "grid-column-start", + { + "name": "grid-column-start", + "href": "https://drafts.csswg.org/css-grid-2/#propdef-grid-column-start", + "initial": "auto", + "appliesTo": "grid items and absolutely-positioned boxes whose containing block is a grid container", + "inherited": "no", + "percentages": "n/a", + "computedValue": "specified keyword, identifier, and/or integer", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "grid-column-start", + "gridColumnStart" + ], + "syntax": "<grid-line>", + "extended": [] + } + ], + [ + "grid-row", + { + "name": "grid-row", + "href": "https://drafts.csswg.org/css-grid-2/#propdef-grid-row", + "initial": "auto", + "appliesTo": "grid items and absolutely-positioned boxes whose containing block is a grid container", + "inherited": "no", + "percentages": "N/A", + "computedValue": "see individual properties", + "animationType": "discrete", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "grid-row", + "gridRow" + ], + "syntax": "<grid-line> [ / <grid-line> ]?", + "extended": [] + } + ], + [ + "grid-row-end", + { + "name": "grid-row-end", + "href": "https://drafts.csswg.org/css-grid-2/#propdef-grid-row-end", + "initial": "auto", + "appliesTo": "grid items and absolutely-positioned boxes whose containing block is a grid container", + "inherited": "no", + "percentages": "n/a", + "computedValue": "specified keyword, identifier, and/or integer", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "grid-row-end", + "gridRowEnd" + ], + "syntax": "<grid-line>", + "extended": [] + } + ], + [ + "grid-row-start", + { + "name": "grid-row-start", + "href": "https://drafts.csswg.org/css-grid-2/#propdef-grid-row-start", + "initial": "auto", + "appliesTo": "grid items and absolutely-positioned boxes whose containing block is a grid container", + "inherited": "no", + "percentages": "n/a", + "computedValue": "specified keyword, identifier, and/or integer", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "grid-row-start", + "gridRowStart" + ], + "syntax": "<grid-line>", + "extended": [] + } + ], + [ + "grid-template", + { + "name": "grid-template", + "href": "https://drafts.csswg.org/css-grid-2/#propdef-grid-template", + "initial": "none", + "appliesTo": "grid containers", + "inherited": "see individual properties", + "percentages": "see individual properties", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "grid-template", + "gridTemplate" + ], + "syntax": "none | [ <'grid-template-rows'> / <'grid-template-columns'> ] | [ <line-names>? <string> <track-size>? <line-names>? ]+ [ / <explicit-track-list> ]?", + "extended": [] + } + ], + [ + "grid-template-areas", + { + "name": "grid-template-areas", + "href": "https://drafts.csswg.org/css-grid-2/#propdef-grid-template-areas", + "initial": "none", + "appliesTo": "grid containers", + "inherited": "no", + "percentages": "n/a", + "computedValue": "the keyword none or a list of string values", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "grid-template-areas", + "gridTemplateAreas" + ], + "syntax": "none | <string>+", + "extended": [] + } + ], + [ + "grid-template-columns", + { + "name": "grid-template-columns", + "href": "https://drafts.csswg.org/css-grid-2/#propdef-grid-template-columns", + "initial": "none", + "appliesTo": "grid containers", + "inherited": "no", + "percentages": "refer to corresponding dimension of the content area", + "computedValue": "the keyword none or a computed track list", + "canonicalOrder": "per grammar", + "animationType": "if the list lengths match, by computed value type per item in the computed track list (see § 7.2.5 Computed Value of a Track Listing and § 7.2.3.3 Interpolation/Combination of repeat()); discrete otherwise", + "styleDeclaration": [ + "grid-template-columns", + "gridTemplateColumns" + ], + "syntax": "none | <track-list> | <auto-track-list> | subgrid <line-name-list>?", + "extended": [] + } + ], + [ + "grid-template-rows", + { + "name": "grid-template-rows", + "href": "https://drafts.csswg.org/css-grid-2/#propdef-grid-template-rows", + "initial": "none", + "appliesTo": "grid containers", + "inherited": "no", + "percentages": "refer to corresponding dimension of the content area", + "computedValue": "the keyword none or a computed track list", + "canonicalOrder": "per grammar", + "animationType": "if the list lengths match, by computed value type per item in the computed track list (see § 7.2.5 Computed Value of a Track Listing and § 7.2.3.3 Interpolation/Combination of repeat()); discrete otherwise", + "styleDeclaration": [ + "grid-template-rows", + "gridTemplateRows" + ], + "syntax": "none | <track-list> | <auto-track-list> | subgrid <line-name-list>?", + "extended": [] + } + ], + [ + "hanging-punctuation", + { + "name": "hanging-punctuation", + "href": "https://drafts.csswg.org/css-text-4/#propdef-hanging-punctuation", + "initial": "none", + "appliesTo": "text", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "specified keyword(s)", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "hanging-punctuation", + "hangingPunctuation" + ], + "syntax": "none | [ first || [ force-end | allow-end ] || last ]", + "extended": [] + } + ], + [ + "height", + { + "name": "height", + "href": "https://drafts.csswg.org/css-sizing-3/#propdef-height", + "initial": "auto", + "appliesTo": "all elements except non-replaced inlines", + "inherited": "no", + "percentages": "relative to width/height of containing block", + "computedValue": "as specified, with <length-percentage> values computed", + "canonicalOrder": "per grammar", + "animationType": "by computed value type, recursing into fit-content()", + "logicalPropertyGroup": "size", + "styleDeclaration": [ + "height" + ], + "syntax": "auto | <length-percentage [0,∞]> | min-content | max-content | fit-content(<length-percentage [0,∞]>) | <calc-size()> | <anchor-size()> | stretch | fit-content | contain", + "extended": [ + "https://drafts.csswg.org/css-anchor-position-1/", + "https://drafts.csswg.org/css-sizing-4/" + ] + } + ], + [ + "hyphenate-character", + { + "name": "hyphenate-character", + "href": "https://drafts.csswg.org/css-text-4/#propdef-hyphenate-character", + "initial": "auto", + "appliesTo": "text", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "hyphenate-character", + "hyphenateCharacter" + ], + "syntax": "auto | <string>", + "extended": [] + } + ], + [ + "hyphenate-limit-chars", + { + "name": "hyphenate-limit-chars", + "href": "https://drafts.csswg.org/css-text-4/#propdef-hyphenate-limit-chars", + "initial": "auto", + "appliesTo": "text", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "three values, each either the auto keyword or an integer", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "styleDeclaration": [ + "hyphenate-limit-chars", + "hyphenateLimitChars" + ], + "syntax": "[ auto | <integer> ]{1,3}", + "extended": [] + } + ], + [ + "hyphenate-limit-last", + { + "name": "hyphenate-limit-last", + "href": "https://drafts.csswg.org/css-text-4/#propdef-hyphenate-limit-last", + "initial": "none", + "appliesTo": "block containers", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "hyphenate-limit-last", + "hyphenateLimitLast" + ], + "syntax": "none | always | column | page | spread", + "extended": [] + } + ], + [ + "hyphenate-limit-lines", + { + "name": "hyphenate-limit-lines", + "href": "https://drafts.csswg.org/css-text-4/#propdef-hyphenate-limit-lines", + "initial": "no-limit", + "appliesTo": "block containers", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "specified keyword or integer", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "styleDeclaration": [ + "hyphenate-limit-lines", + "hyphenateLimitLines" + ], + "syntax": "no-limit | <integer>", + "extended": [] + } + ], + [ + "hyphenate-limit-zone", + { + "name": "hyphenate-limit-zone", + "href": "https://drafts.csswg.org/css-text-4/#propdef-hyphenate-limit-zone", + "initial": "0", + "appliesTo": "block containers", + "inherited": "yes", + "percentages": "refers to length of the line box", + "computedValue": "computed <length-percentage> value", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "styleDeclaration": [ + "hyphenate-limit-zone", + "hyphenateLimitZone" + ], + "syntax": "<length-percentage>", + "extended": [] + } + ], + [ + "hyphens", + { + "name": "hyphens", + "href": "https://drafts.csswg.org/css-text-4/#propdef-hyphens", + "initial": "manual", + "appliesTo": "text", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "specified keyword", + "canonicalOrder": "n/a", + "animationType": "discrete", + "styleDeclaration": [ + "hyphens" + ], + "syntax": "none | manual | auto", + "extended": [] + } + ], + [ + "image-orientation", + { + "name": "image-orientation", + "href": "https://drafts.csswg.org/css-images-3/#propdef-image-orientation", + "initial": "from-image", + "appliesTo": "all elements", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "the specified keyword, or an <angle>, rounded and normalized (see text), plus optionally a flip keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "image-orientation", + "imageOrientation" + ], + "syntax": "from-image | none | [ <angle> || flip ]", + "extended": [] + } + ], + [ + "image-rendering", + { + "name": "image-rendering", + "href": "https://drafts.csswg.org/css-images-3/#propdef-image-rendering", + "initial": "auto", + "appliesTo": "all elements", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "image-rendering", + "imageRendering" + ], + "syntax": "auto | smooth | high-quality | pixelated | crisp-edges", + "extended": [] + } + ], + [ + "image-resolution", + { + "name": "image-resolution", + "href": "https://drafts.csswg.org/css-images-4/#propdef-image-resolution", + "initial": "1dppx", + "appliesTo": "all elements", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "specified keyword(s) and/or <resolution> (possibly adjusted for snap, see below)", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "image-resolution", + "imageResolution" + ], + "syntax": "[ from-image || <resolution> ] && snap?", + "extended": [] + } + ], + [ + "initial-letter", + { + "name": "initial-letter", + "href": "https://drafts.csswg.org/css-inline-3/#propdef-initial-letter", + "initial": "normal", + "appliesTo": "certain inline-level boxes and ::first-letter and inside ::marker boxes (see prose)", + "inherited": "no", + "percentages": "N/A", + "computedValue": "the keyword normal or a number paired with an integer", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "styleDeclaration": [ + "initial-letter", + "initialLetter" + ], + "syntax": "normal | <number [1,∞]> <integer [1,∞]> | <number [1,∞]> && [ drop | raise ]?", + "extended": [] + } + ], + [ + "initial-letter-align", + { + "name": "initial-letter-align", + "href": "https://drafts.csswg.org/css-inline-3/#propdef-initial-letter-align", + "initial": "alphabetic", + "appliesTo": "certain inline-level boxes and ::first-letter and inside ::marker boxes (see prose)", + "inherited": "yes", + "percentages": "N/A", + "computedValue": "specified keyword(s)", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "initial-letter-align", + "initialLetterAlign" + ], + "syntax": "[ border-box? [ alphabetic | ideographic | hanging | leading ]? ]!", + "extended": [] + } + ], + [ + "initial-letter-wrap", + { + "name": "initial-letter-wrap", + "href": "https://drafts.csswg.org/css-inline-3/#propdef-initial-letter-wrap", + "initial": "none", + "appliesTo": "certain inline-level boxes and ::first-letter and inside ::marker boxes (see prose)", + "inherited": "yes", + "percentages": "relative to logical width of (last fragment of) initial letter", + "computedValue": "specified keyword or computed <length-percentage> value", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "styleDeclaration": [ + "initial-letter-wrap", + "initialLetterWrap" + ], + "syntax": "none | first | all | grid | <length-percentage>", + "extended": [] + } + ], + [ + "inline-size", + { + "name": "inline-size", + "href": "https://drafts.csswg.org/css-logical-1/#propdef-inline-size", + "initial": "auto", + "appliesTo": "Same as height and width", + "inherited": "no", + "percentages": "As for the corresponding physical property", + "computedValue": "Same as height, width", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "logicalPropertyGroup": "size", + "styleDeclaration": [ + "inline-size", + "inlineSize" + ], + "syntax": "<'width'>", + "extended": [] + } + ], + [ + "inline-sizing", + { + "name": "inline-sizing", + "href": "https://drafts.csswg.org/css-inline-3/#propdef-inline-sizing", + "initial": "normal", + "appliesTo": "inline boxes, but not ruby container boxes nor internal ruby boxes", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "inline-sizing", + "inlineSizing" + ], + "syntax": "normal | stretch", + "extended": [] + } + ], + [ + "inset", + { + "name": "inset", + "href": "https://drafts.csswg.org/css-position-3/#propdef-inset", + "initial": "auto", + "appliesTo": "positioned elements", + "inherited": "no", + "percentages": "see individual properties", + "computedValue": "see individual properties", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "styleDeclaration": [ + "inset" + ], + "syntax": "<'top'>{1,4}", + "extended": [] + } + ], + [ + "inset-block", + { + "name": "inset-block", + "href": "https://drafts.csswg.org/css-position-3/#propdef-inset-block", + "initial": "auto", + "appliesTo": "positioned elements", + "inherited": "no", + "percentages": "see individual properties", + "computedValue": "see individual properties", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "styleDeclaration": [ + "inset-block", + "insetBlock" + ], + "syntax": "<'top'>{1,2}", + "extended": [] + } + ], + [ + "inset-block-end", + { + "name": "inset-block-end", + "href": "https://drafts.csswg.org/css-position-3/#propdef-inset-block-end", + "initial": "auto", + "appliesTo": "positioned elements", + "inherited": "no", + "percentages": "refer to size of containing block; see prose", + "computedValue": "the keyword auto or a computed <length-percentage> value", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "logicalPropertyGroup": "inset", + "styleDeclaration": [ + "inset-block-end", + "insetBlockEnd" + ], + "syntax": "auto | <length-percentage>", + "extended": [] + } + ], + [ + "inset-block-start", + { + "name": "inset-block-start", + "href": "https://drafts.csswg.org/css-position-3/#propdef-inset-block-start", + "initial": "auto", + "appliesTo": "positioned elements", + "inherited": "no", + "percentages": "refer to size of containing block; see prose", + "computedValue": "the keyword auto or a computed <length-percentage> value", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "logicalPropertyGroup": "inset", + "styleDeclaration": [ + "inset-block-start", + "insetBlockStart" + ], + "syntax": "auto | <length-percentage>", + "extended": [] + } + ], + [ + "inset-inline", + { + "name": "inset-inline", + "href": "https://drafts.csswg.org/css-position-3/#propdef-inset-inline", + "initial": "auto", + "appliesTo": "positioned elements", + "inherited": "no", + "percentages": "see individual properties", + "computedValue": "see individual properties", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "styleDeclaration": [ + "inset-inline", + "insetInline" + ], + "syntax": "<'top'>{1,2}", + "extended": [] + } + ], + [ + "inset-inline-end", + { + "name": "inset-inline-end", + "href": "https://drafts.csswg.org/css-position-3/#propdef-inset-inline-end", + "initial": "auto", + "appliesTo": "positioned elements", + "inherited": "no", + "percentages": "refer to size of containing block; see prose", + "computedValue": "the keyword auto or a computed <length-percentage> value", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "logicalPropertyGroup": "inset", + "styleDeclaration": [ + "inset-inline-end", + "insetInlineEnd" + ], + "syntax": "auto | <length-percentage>", + "extended": [] + } + ], + [ + "inset-inline-start", + { + "name": "inset-inline-start", + "href": "https://drafts.csswg.org/css-position-3/#propdef-inset-inline-start", + "initial": "auto", + "appliesTo": "positioned elements", + "inherited": "no", + "percentages": "refer to size of containing block; see prose", + "computedValue": "the keyword auto or a computed <length-percentage> value", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "logicalPropertyGroup": "inset", + "styleDeclaration": [ + "inset-inline-start", + "insetInlineStart" + ], + "syntax": "auto | <length-percentage>", + "extended": [] + } + ], + [ + "interpolate-size", + { + "name": "interpolate-size", + "href": "https://drafts.csswg.org/css-values-5/#propdef-interpolate-size", + "initial": "numeric-only", + "appliesTo": "all elements", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "not animatable", + "styleDeclaration": [ + "interpolate-size", + "interpolateSize" + ], + "syntax": "numeric-only | allow-keywords", + "extended": [] + } + ], + [ + "isolation", + { + "name": "isolation", + "href": "https://drafts.fxtf.org/compositing-2/#propdef-isolation", + "initial": "auto", + "appliesTo": "All elements. In SVG, it applies to container elements, graphics elements and graphics referencing elements. [SVG11]", + "inherited": "no", + "percentages": "N/A", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "media": "visual", + "animatable": "no", + "styleDeclaration": [ + "isolation" + ], + "syntax": "<isolation-mode>", + "extended": [] + } + ], + [ + "item-cross", + { + "name": "item-cross", + "href": "https://drafts.csswg.org/css-grid-3/#propdef-item-cross", + "initial": "auto", + "appliesTo": "flex containers, grid containers, masonry containers", + "inherited": "no", + "percentages": "N/A", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "item-cross", + "itemCross" + ], + "syntax": "[ auto | nowrap | wrap ] || [ normal | reverse ] | wrap-reverse", + "extended": [] + } + ], + [ + "item-direction", + { + "name": "item-direction", + "href": "https://drafts.csswg.org/css-grid-3/#propdef-item-direction", + "initial": "auto", + "appliesTo": "flex containers, grid containers, masonry containers", + "inherited": "no", + "percentages": "N/A", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "item-direction", + "itemDirection" + ], + "syntax": "auto | row | column | row-reverse | column-reverse", + "extended": [] + } + ], + [ + "item-flow", + { + "name": "item-flow", + "href": "https://drafts.csswg.org/css-grid-3/#propdef-item-flow", + "initial": "see individual properties", + "appliesTo": "see individual properties", + "inherited": "see individual properties", + "percentages": "see individual properties", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "item-flow", + "itemFlow" + ], + "syntax": "<'item-direction'> || <'item-wrap'> || <'item-pack'> || <'item-tolerance'>", + "extended": [] + } + ], + [ + "item-pack", + { + "name": "item-pack", + "href": "https://drafts.csswg.org/css-grid-3/#propdef-item-pack", + "initial": "normal", + "appliesTo": "flex containers, grid containers, masonry containers", + "inherited": "no", + "percentages": "N/A", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "item-pack", + "itemPack" + ], + "syntax": "normal | dense || balance", + "extended": [] + } + ], + [ + "item-track", + { + "name": "item-track", + "href": "https://drafts.csswg.org/css-grid-3/#propdef-item-track", + "initial": "auto", + "appliesTo": "flex containers, grid containers, masonry containers", + "inherited": "no", + "percentages": "N/A", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "item-track", + "itemTrack" + ], + "syntax": "auto | row | column | row-reverse | column-reverse", + "extended": [] + } + ], + [ + "item-wrap", + { + "name": "item-wrap", + "href": "https://drafts.csswg.org/css-grid-3/#propdef-item-wrap", + "initial": "auto", + "appliesTo": "flex containers, grid containers, masonry containers", + "inherited": "no", + "percentages": "N/A", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "item-wrap", + "itemWrap" + ], + "syntax": "[ auto | nowrap | wrap ] || [ normal | reverse ] | wrap-reverse", + "extended": [] + } + ], + [ + "justify-content", + { + "name": "justify-content", + "href": "https://drafts.csswg.org/css-align-3/#propdef-justify-content", + "initial": "normal", + "appliesTo": "multicol containers, flex containers, and grid containers", + "inherited": "no", + "percentages": "n/a", + "computedValue": "specified keyword(s)", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "justify-content", + "justifyContent" + ], + "syntax": "normal | <content-distribution> | <overflow-position>? [ <content-position> | left | right ]", + "extended": [] + } + ], + [ + "justify-items", + { + "name": "justify-items", + "href": "https://drafts.csswg.org/css-align-3/#propdef-justify-items", + "initial": "legacy", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "n/a", + "computedValue": "specified keyword(s), except for legacy (see prose)", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "justify-items", + "justifyItems" + ], + "syntax": "normal | stretch | <baseline-position> | <overflow-position>? [ <self-position> | left | right ] | legacy | legacy && [ left | right | center ] | anchor-center", + "extended": [ + "https://drafts.csswg.org/css-anchor-position-1/" + ] + } + ], + [ + "justify-self", + { + "name": "justify-self", + "href": "https://drafts.csswg.org/css-align-3/#propdef-justify-self", + "initial": "auto", + "appliesTo": "block-level boxes, absolutely-positioned boxes, and grid items", + "inherited": "no", + "percentages": "n/a", + "computedValue": "specified keyword(s)", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "justify-self", + "justifySelf" + ], + "syntax": "auto | normal | stretch | <baseline-position> | <overflow-position>? [ <self-position> | left | right ] | anchor-center", + "extended": [ + "https://drafts.csswg.org/css-anchor-position-1/" + ] + } + ], + [ + "left", + { + "name": "left", + "href": "https://drafts.csswg.org/css-position-3/#propdef-left", + "initial": "auto", + "appliesTo": "positioned elements", + "inherited": "no", + "percentages": "refer to size of containing block; see prose", + "computedValue": "the keyword auto or a computed <length-percentage> value", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "logicalPropertyGroup": "inset", + "styleDeclaration": [ + "left" + ], + "syntax": "auto | <length-percentage> | <anchor()> | <anchor-size()>", + "extended": [ + "https://drafts.csswg.org/css-anchor-position-1/" + ] + } + ], + [ + "letter-spacing", + { + "name": "letter-spacing", + "href": "https://drafts.csswg.org/css-text-4/#propdef-letter-spacing", + "initial": "normal", + "appliesTo": "inline boxes and text", + "inherited": "yes", + "percentages": "relative to computed font-size, i.e. 1em", + "computedValue": "an absolute length and/or a percentage", + "canonicalOrder": "n/a", + "animationType": "by computed value type", + "styleDeclaration": [ + "letter-spacing", + "letterSpacing" + ], + "syntax": "normal | <length-percentage>", + "extended": [] + } + ], + [ + "lighting-color", + { + "name": "lighting-color", + "href": "https://drafts.fxtf.org/filter-effects-1/#propdef-lighting-color", + "initial": "white", + "appliesTo": "feDiffuseLighting and feSpecularLighting elements", + "inherited": "no", + "percentages": "n/a", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "by computed value", + "media": "visual", + "styleDeclaration": [ + "lighting-color", + "lightingColor" + ], + "syntax": "<color>", + "extended": [] + } + ], + [ + "line-break", + { + "name": "line-break", + "href": "https://drafts.csswg.org/css-text-4/#propdef-line-break", + "initial": "auto", + "appliesTo": "text", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "specified keyword", + "canonicalOrder": "n/a", + "animationType": "discrete", + "styleDeclaration": [ + "line-break", + "lineBreak" + ], + "syntax": "auto | loose | normal | strict | anywhere", + "extended": [] + } + ], + [ + "line-clamp", + { + "name": "line-clamp", + "href": "https://drafts.csswg.org/css-overflow-4/#propdef-line-clamp", + "initial": "none", + "appliesTo": "see individual properties", + "inherited": "see individual properties", + "percentages": "N/A", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "line-clamp", + "lineClamp" + ], + "syntax": "none | [<integer [1,∞]> || <'block-ellipsis'>] -webkit-legacy?", + "extended": [] + } + ], + [ + "line-fit-edge", + { + "name": "line-fit-edge", + "href": "https://drafts.csswg.org/css-inline-3/#propdef-line-fit-edge", + "initial": "leading", + "appliesTo": "inline boxes", + "inherited": "yes", + "percentages": "N/A", + "computedValue": "the specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "line-fit-edge", + "lineFitEdge" + ], + "syntax": "leading | <text-edge>", + "extended": [] + } + ], + [ + "line-grid", + { + "name": "line-grid", + "href": "https://drafts.csswg.org/css-line-grid-1/#propdef-line-grid", + "initial": "match-parent", + "appliesTo": "block, flex and grid containers", + "inherited": "no", + "percentages": "N/A", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "line-grid", + "lineGrid" + ], + "syntax": "match-parent | create", + "extended": [] + } + ], + [ + "line-height", + { + "name": "line-height", + "href": "https://drafts.csswg.org/css-inline-3/#propdef-line-height", + "initial": "normal", + "appliesTo": "non-replaced inline boxes and SVG text content elements", + "inherited": "yes", + "percentages": "computed relative to 1em", + "computedValue": "the specified keyword, a number, or a computed <length> value", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "styleDeclaration": [ + "line-height", + "lineHeight" + ], + "syntax": "normal | <number [0,∞]> | <length-percentage [0,∞]>", + "extended": [] + } + ], + [ + "line-height-step", + { + "name": "line-height-step", + "href": "https://drafts.csswg.org/css-rhythm-1/#propdef-line-height-step", + "initial": "0", + "appliesTo": "block containers", + "inherited": "yes", + "percentages": "N/A", + "computedValue": "absolute length", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "styleDeclaration": [ + "line-height-step", + "lineHeightStep" + ], + "syntax": "<length [0,∞]>", + "extended": [] + } + ], + [ + "line-padding", + { + "name": "line-padding", + "href": "https://drafts.csswg.org/css-text-4/#propdef-line-padding", + "initial": "0", + "appliesTo": "inline boxes", + "inherited": "yes", + "percentages": "N/A", + "computedValue": "absolute length", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "styleDeclaration": [ + "line-padding", + "linePadding" + ], + "syntax": "<length>", + "extended": [] + } + ], + [ + "line-snap", + { + "name": "line-snap", + "href": "https://drafts.csswg.org/css-line-grid-1/#propdef-line-snap", + "initial": "none", + "appliesTo": "block container elements", + "inherited": "yes", + "percentages": "N/A", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "line-snap", + "lineSnap" + ], + "syntax": "none | baseline | contain", + "extended": [] + } + ], + [ + "list-style", + { + "name": "list-style", + "href": "https://drafts.csswg.org/css-lists-3/#propdef-list-style", + "initial": "see individual properties", + "appliesTo": "list items", + "inherited": "see individual properties", + "percentages": "see individual properties", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "list-style", + "listStyle" + ], + "syntax": "<'list-style-position'> || <'list-style-image'> || <'list-style-type'>", + "extended": [] + } + ], + [ + "list-style-image", + { + "name": "list-style-image", + "href": "https://drafts.csswg.org/css-lists-3/#propdef-list-style-image", + "initial": "none", + "appliesTo": "list items", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "the keyword noneor the computed <image>", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "list-style-image", + "listStyleImage" + ], + "syntax": "<image> | none", + "extended": [] + } + ], + [ + "list-style-position", + { + "name": "list-style-position", + "href": "https://drafts.csswg.org/css-lists-3/#propdef-list-style-position", + "initial": "outside", + "appliesTo": "list items", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "keyword, but see prose", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "list-style-position", + "listStylePosition" + ], + "syntax": "inside | outside", + "extended": [] + } + ], + [ + "list-style-type", + { + "name": "list-style-type", + "href": "https://drafts.csswg.org/css-lists-3/#propdef-list-style-type", + "initial": "disc", + "appliesTo": "list items", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "specified value", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "list-style-type", + "listStyleType" + ], + "syntax": "<counter-style> | <string> | none", + "extended": [] + } + ], + [ + "margin", + { + "name": "margin", + "href": "https://drafts.csswg.org/css-box-4/#propdef-margin", + "initial": "0", + "appliesTo": "all elements except internal table elements, ruby base containers, and ruby annotation containers", + "inherited": "no", + "percentages": "refer to logical width of containing block", + "computedValue": "see individual properties", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "styleDeclaration": [ + "margin" + ], + "syntax": "<'margin-top'>{1,4}", + "extended": [] + } + ], + [ + "margin-block", + { + "name": "margin-block", + "href": "https://drafts.csswg.org/css-logical-1/#propdef-margin-block", + "initial": "see individual properties", + "appliesTo": "see individual properties", + "inherited": "see individual properties", + "percentages": "see individual properties", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "margin-block", + "marginBlock" + ], + "syntax": "<'margin-top'>{1,2}", + "extended": [] + } + ], + [ + "margin-block-end", + { + "name": "margin-block-end", + "href": "https://drafts.csswg.org/css-logical-1/#propdef-margin-block-end", + "initial": "0", + "appliesTo": "Same as margin-top", + "inherited": "no", + "percentages": "As for the corresponding physical property", + "computedValue": "Same as corresponding margin-* properties", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "logicalPropertyGroup": "margin", + "styleDeclaration": [ + "margin-block-end", + "marginBlockEnd" + ], + "syntax": "<'margin-top'>", + "extended": [] + } + ], + [ + "margin-block-start", + { + "name": "margin-block-start", + "href": "https://drafts.csswg.org/css-logical-1/#propdef-margin-block-start", + "initial": "0", + "appliesTo": "Same as margin-top", + "inherited": "no", + "percentages": "As for the corresponding physical property", + "computedValue": "Same as corresponding margin-* properties", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "logicalPropertyGroup": "margin", + "styleDeclaration": [ + "margin-block-start", + "marginBlockStart" + ], + "syntax": "<'margin-top'>", + "extended": [] + } + ], + [ + "margin-bottom", + { + "name": "margin-bottom", + "href": "https://drafts.csswg.org/css-box-4/#propdef-margin-bottom", + "initial": "0", + "appliesTo": "all elements except internal table elements, ruby base containers, and ruby annotation containers", + "inherited": "no", + "percentages": "refer to logical width of containing block", + "computedValue": "the keyword auto or a computed <length-percentage> value", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "logicalPropertyGroup": "margin", + "styleDeclaration": [ + "margin-bottom", + "marginBottom" + ], + "syntax": "<length-percentage> | auto | <anchor-size()>", + "extended": [ + "https://drafts.csswg.org/css-anchor-position-1/" + ] + } + ], + [ + "margin-break", + { + "name": "margin-break", + "href": "https://drafts.csswg.org/css-break-4/#propdef-margin-break", + "initial": "auto", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "n/a", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "margin-break", + "marginBreak" + ], + "syntax": "auto | keep | discard", + "extended": [] + } + ], + [ + "margin-inline", + { + "name": "margin-inline", + "href": "https://drafts.csswg.org/css-logical-1/#propdef-margin-inline", + "initial": "see individual properties", + "appliesTo": "see individual properties", + "inherited": "see individual properties", + "percentages": "see individual properties", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "margin-inline", + "marginInline" + ], + "syntax": "<'margin-top'>{1,2}", + "extended": [] + } + ], + [ + "margin-inline-end", + { + "name": "margin-inline-end", + "href": "https://drafts.csswg.org/css-logical-1/#propdef-margin-inline-end", + "initial": "0", + "appliesTo": "Same as margin-top", + "inherited": "no", + "percentages": "As for the corresponding physical property", + "computedValue": "Same as corresponding margin-* properties", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "logicalPropertyGroup": "margin", + "styleDeclaration": [ + "margin-inline-end", + "marginInlineEnd" + ], + "syntax": "<'margin-top'>", + "extended": [] + } + ], + [ + "margin-inline-start", + { + "name": "margin-inline-start", + "href": "https://drafts.csswg.org/css-logical-1/#propdef-margin-inline-start", + "initial": "0", + "appliesTo": "Same as margin-top", + "inherited": "no", + "percentages": "As for the corresponding physical property", + "computedValue": "Same as corresponding margin-* properties", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "logicalPropertyGroup": "margin", + "styleDeclaration": [ + "margin-inline-start", + "marginInlineStart" + ], + "syntax": "<'margin-top'>", + "extended": [] + } + ], + [ + "margin-left", + { + "name": "margin-left", + "href": "https://drafts.csswg.org/css-box-4/#propdef-margin-left", + "initial": "0", + "appliesTo": "all elements except internal table elements, ruby base containers, and ruby annotation containers", + "inherited": "no", + "percentages": "refer to logical width of containing block", + "computedValue": "the keyword auto or a computed <length-percentage> value", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "logicalPropertyGroup": "margin", + "styleDeclaration": [ + "margin-left", + "marginLeft" + ], + "syntax": "<length-percentage> | auto | <anchor-size()>", + "extended": [ + "https://drafts.csswg.org/css-anchor-position-1/" + ] + } + ], + [ + "margin-right", + { + "name": "margin-right", + "href": "https://drafts.csswg.org/css-box-4/#propdef-margin-right", + "initial": "0", + "appliesTo": "all elements except internal table elements, ruby base containers, and ruby annotation containers", + "inherited": "no", + "percentages": "refer to logical width of containing block", + "computedValue": "the keyword auto or a computed <length-percentage> value", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "logicalPropertyGroup": "margin", + "styleDeclaration": [ + "margin-right", + "marginRight" + ], + "syntax": "<length-percentage> | auto | <anchor-size()>", + "extended": [ + "https://drafts.csswg.org/css-anchor-position-1/" + ] + } + ], + [ + "margin-top", + { + "name": "margin-top", + "href": "https://drafts.csswg.org/css-box-4/#propdef-margin-top", + "initial": "0", + "appliesTo": "all elements except internal table elements, ruby base containers, and ruby annotation containers", + "inherited": "no", + "percentages": "refer to logical width of containing block", + "computedValue": "the keyword auto or a computed <length-percentage> value", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "logicalPropertyGroup": "margin", + "styleDeclaration": [ + "margin-top", + "marginTop" + ], + "syntax": "<length-percentage> | auto | <anchor-size()>", + "extended": [ + "https://drafts.csswg.org/css-anchor-position-1/" + ] + } + ], + [ + "margin-trim", + { + "name": "margin-trim", + "href": "https://drafts.csswg.org/css-box-4/#propdef-margin-trim", + "initial": "none", + "appliesTo": "block containers, multi-column containers, flex containers, grid containers", + "inherited": "no", + "percentages": "N/A", + "computedValue": "a set of zero to four keywords indicating which sides to trim", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "margin-trim", + "marginTrim" + ], + "syntax": "none | [ block || inline ] | [ block-start || inline-start || block-end || inline-end ]", + "extended": [] + } + ], + [ + "marker", + { + "name": "marker", + "href": "https://svgwg.org/svg2-draft/painting.html#MarkerProperty", + "initial": "not defined for shorthand properties", + "appliesTo": "shapes", + "inherited": "yes", + "percentages": "N/A", + "media": "visual", + "computedValue": "see individual properties", + "animationType": "discrete", + "styleDeclaration": [ + "marker" + ], + "syntax": "none | <marker-ref>", + "extended": [] + } + ], + [ + "marker-end", + { + "name": "marker-end", + "href": "https://svgwg.org/svg2-draft/painting.html#MarkerEndProperty", + "initial": "none", + "appliesTo": "shapes", + "inherited": "yes", + "percentages": "N/A", + "media": "visual", + "computedValue": "as specified, but with <url> values (that are part of a <marker-ref>) made absolute", + "animationType": "discrete", + "styleDeclaration": [ + "marker-end", + "markerEnd" + ], + "syntax": "none | <marker-ref>", + "extended": [] + } + ], + [ + "marker-mid", + { + "name": "marker-mid", + "href": "https://svgwg.org/svg2-draft/painting.html#MarkerMidProperty", + "initial": "none", + "appliesTo": "shapes", + "inherited": "yes", + "percentages": "N/A", + "media": "visual", + "computedValue": "as specified, but with <url> values (that are part of a <marker-ref>) made absolute", + "animationType": "discrete", + "styleDeclaration": [ + "marker-mid", + "markerMid" + ], + "syntax": "none | <marker-ref>", + "extended": [] + } + ], + [ + "marker-side", + { + "name": "marker-side", + "href": "https://drafts.csswg.org/css-lists-3/#propdef-marker-side", + "initial": "match-self", + "appliesTo": "list items", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "marker-side", + "markerSide" + ], + "syntax": "match-self | match-parent", + "extended": [] + } + ], + [ + "marker-start", + { + "name": "marker-start", + "href": "https://svgwg.org/svg2-draft/painting.html#MarkerStartProperty", + "initial": "none", + "appliesTo": "shapes", + "inherited": "yes", + "percentages": "N/A", + "media": "visual", + "computedValue": "as specified, but with <url> values (that are part of a <marker-ref>) made absolute", + "animationType": "discrete", + "styleDeclaration": [ + "marker-start", + "markerStart" + ], + "syntax": "none | <marker-ref>", + "extended": [] + } + ], + [ + "mask", + { + "name": "mask", + "href": "https://drafts.fxtf.org/css-masking-1/#propdef-mask", + "initial": "see individual properties", + "appliesTo": "All elements. In SVG, it applies to container elements excluding the defs element, all graphics elements and the use element", + "inherited": "no", + "percentages": "see individual properties", + "computedValue": "see individual properties", + "canonicalOrder": "per grammar", + "animationType": "see individual properties", + "media": "visual", + "styleDeclaration": [ + "mask" + ], + "syntax": "<mask-layer>#", + "extended": [] + } + ], + [ + "mask-border", + { + "name": "mask-border", + "href": "https://drafts.fxtf.org/css-masking-1/#propdef-mask-border", + "initial": "See individual properties", + "appliesTo": "See individual properties", + "inherited": "no", + "percentages": "n/a", + "computedValue": "See individual properties", + "canonicalOrder": "per grammar", + "animationType": "See individual properties", + "media": "visual", + "styleDeclaration": [ + "mask-border", + "maskBorder" + ], + "syntax": "<'mask-border-source'> || <'mask-border-slice'> [ / <'mask-border-width'>? [ / <'mask-border-outset'> ]? ]? || <'mask-border-repeat'> || <'mask-border-mode'>", + "extended": [] + } + ], + [ + "mask-border-mode", + { + "name": "mask-border-mode", + "href": "https://drafts.fxtf.org/css-masking-1/#propdef-mask-border-mode", + "initial": "alpha", + "appliesTo": "All elements. In SVG, it applies to container elements excluding the defs element, all graphics elements and the use element", + "inherited": "no", + "percentages": "n/a", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "media": "visual", + "styleDeclaration": [ + "mask-border-mode", + "maskBorderMode" + ], + "syntax": "luminance | alpha", + "extended": [] + } + ], + [ + "mask-border-outset", + { + "name": "mask-border-outset", + "href": "https://drafts.fxtf.org/css-masking-1/#propdef-mask-border-outset", + "initial": "0", + "appliesTo": "All elements. In SVG, it applies to container elements excluding the defs element, all graphics elements and the use element", + "inherited": "no", + "percentages": "n/a", + "computedValue": "all <length>s made absolute, otherwise as specified", + "canonicalOrder": "per grammar", + "animationType": "by computed value", + "media": "visual", + "styleDeclaration": [ + "mask-border-outset", + "maskBorderOutset" + ], + "syntax": "[ <length> | <number> ]{1,4}", + "extended": [] + } + ], + [ + "mask-border-repeat", + { + "name": "mask-border-repeat", + "href": "https://drafts.fxtf.org/css-masking-1/#propdef-mask-border-repeat", + "initial": "stretch", + "appliesTo": "All elements. In SVG, it applies to container elements excluding the defs element, all graphics elements and the use element", + "inherited": "no", + "percentages": "n/a", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "media": "visual", + "styleDeclaration": [ + "mask-border-repeat", + "maskBorderRepeat" + ], + "syntax": "[ stretch | repeat | round | space ]{1,2}", + "extended": [] + } + ], + [ + "mask-border-slice", + { + "name": "mask-border-slice", + "href": "https://drafts.fxtf.org/css-masking-1/#propdef-mask-border-slice", + "initial": "0", + "appliesTo": "All elements. In SVG, it applies to container elements excluding the defs element, all graphics elements and the use element", + "inherited": "no", + "percentages": "refer to size of the mask border image", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "by computed value", + "media": "visual", + "styleDeclaration": [ + "mask-border-slice", + "maskBorderSlice" + ], + "syntax": "[ <number> | <percentage> ]{1,4} fill?", + "extended": [] + } + ], + [ + "mask-border-source", + { + "name": "mask-border-source", + "href": "https://drafts.fxtf.org/css-masking-1/#propdef-mask-border-source", + "initial": "none", + "appliesTo": "All elements. In SVG, it applies to container elements excluding the defs element, all graphics elements and the use element", + "inherited": "no", + "percentages": "n/a", + "computedValue": "they keyword none or the computed <image>", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "media": "visual", + "styleDeclaration": [ + "mask-border-source", + "maskBorderSource" + ], + "syntax": "none | <image>", + "extended": [] + } + ], + [ + "mask-border-width", + { + "name": "mask-border-width", + "href": "https://drafts.fxtf.org/css-masking-1/#propdef-mask-border-width", + "initial": "auto", + "appliesTo": "All elements. In SVG, it applies to container elements excluding the defs element, all graphics elements and the use element", + "inherited": "no", + "percentages": "relative to width/height of the mask border image area", + "computedValue": "all <length>s made absolute, otherwise as specified", + "canonicalOrder": "per grammar", + "animationType": "by computed value", + "media": "visual", + "styleDeclaration": [ + "mask-border-width", + "maskBorderWidth" + ], + "syntax": "[ <length-percentage> | <number> | auto ]{1,4}", + "extended": [] + } + ], + [ + "mask-clip", + { + "name": "mask-clip", + "href": "https://drafts.fxtf.org/css-masking-1/#propdef-mask-clip", + "initial": "border-box", + "appliesTo": "All elements. In SVG, it applies to container elements excluding the defs element, all graphics elements and the use element", + "inherited": "no", + "percentages": "n/a", + "computedValue": "list, each item the keyword as specified", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "media": "visual", + "styleDeclaration": [ + "mask-clip", + "maskClip" + ], + "syntax": "[ <coord-box> | no-clip ]#", + "extended": [] + } + ], + [ + "mask-composite", + { + "name": "mask-composite", + "href": "https://drafts.fxtf.org/css-masking-1/#propdef-mask-composite", + "initial": "add", + "appliesTo": "All elements. In SVG, it applies to container elements without the defs element and all graphics elements", + "inherited": "no", + "percentages": "n/a", + "computedValue": "list, each item the keyword as specified", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "media": "visual", + "styleDeclaration": [ + "mask-composite", + "maskComposite" + ], + "syntax": "<compositing-operator>#", + "extended": [] + } + ], + [ + "mask-image", + { + "name": "mask-image", + "href": "https://drafts.fxtf.org/css-masking-1/#propdef-mask-image", + "initial": "none", + "appliesTo": "All elements. In SVG, it applies to container elements excluding the defs element, all graphics elements and the use element", + "inherited": "no", + "percentages": "n/a", + "computedValue": "list, each item the keyword none, a computed <image>, or a computed <url>", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "media": "visual", + "styleDeclaration": [ + "mask-image", + "maskImage" + ], + "syntax": "<mask-reference>#", + "extended": [] + } + ], + [ + "mask-mode", + { + "name": "mask-mode", + "href": "https://drafts.fxtf.org/css-masking-1/#propdef-mask-mode", + "initial": "match-source", + "appliesTo": "All elements. In SVG, it applies to container elements excluding the defs element, all graphics elements and the use element", + "inherited": "no", + "percentages": "n/a", + "computedValue": "list, each item the keyword as specified", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "media": "visual", + "styleDeclaration": [ + "mask-mode", + "maskMode" + ], + "syntax": "<masking-mode>#", + "extended": [] + } + ], + [ + "mask-origin", + { + "name": "mask-origin", + "href": "https://drafts.fxtf.org/css-masking-1/#propdef-mask-origin", + "initial": "border-box", + "appliesTo": "All elements. In SVG, it applies to container elements excluding the defs element, all graphics elements and the use element", + "inherited": "no", + "percentages": "n/a", + "computedValue": "list, each item the keyword as specified", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "media": "visual", + "styleDeclaration": [ + "mask-origin", + "maskOrigin" + ], + "syntax": "<coord-box>#", + "extended": [] + } + ], + [ + "mask-position", + { + "name": "mask-position", + "href": "https://drafts.fxtf.org/css-masking-1/#propdef-mask-position", + "initial": "0% 0%", + "appliesTo": "All elements. In SVG, it applies to container elements excluding the defs element, all graphics elements and the use element", + "inherited": "no", + "percentages": "refer to size of mask painting area minus size of mask layer image; see text background-position [CSS3BG]", + "computedValue": "list, each item consists of two keywords representing the origin and two offsets from that origin, each given as an absolute length (if given a <length>), otherwise as a percentage.", + "canonicalOrder": "per grammar", + "animationType": "repeatable list", + "media": "visual", + "styleDeclaration": [ + "mask-position", + "maskPosition" + ], + "syntax": "<position>#", + "extended": [] + } + ], + [ + "mask-repeat", + { + "name": "mask-repeat", + "href": "https://drafts.fxtf.org/css-masking-1/#propdef-mask-repeat", + "initial": "repeat", + "appliesTo": "All elements. In SVG, it applies to container elements excluding the defs element, all graphics elements and the use element", + "inherited": "no", + "percentages": "n/a", + "computedValue": "list, each item a pair of keywords, one per dimension", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "media": "visual", + "styleDeclaration": [ + "mask-repeat", + "maskRepeat" + ], + "syntax": "<repeat-style>#", + "extended": [] + } + ], + [ + "mask-size", + { + "name": "mask-size", + "href": "https://drafts.fxtf.org/css-masking-1/#propdef-mask-size", + "initial": "auto", + "appliesTo": "All elements. In SVG, it applies to container elements excluding the defs element, all graphics elements and the use element", + "inherited": "no", + "percentages": "n/a", + "computedValue": "list, each item as specified, but with lengths made absolute", + "canonicalOrder": "per grammar", + "animationType": "repeatable list", + "media": "visual", + "styleDeclaration": [ + "mask-size", + "maskSize" + ], + "syntax": "<bg-size>#", + "extended": [] + } + ], + [ + "mask-type", + { + "name": "mask-type", + "href": "https://drafts.fxtf.org/css-masking-1/#propdef-mask-type", + "initial": "luminance", + "appliesTo": "mask elements", + "inherited": "no", + "percentages": "n/a", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "media": "visual", + "styleDeclaration": [ + "mask-type", + "maskType" + ], + "syntax": "luminance | alpha", + "extended": [] + } + ], + [ + "max-block-size", + { + "name": "max-block-size", + "href": "https://drafts.csswg.org/css-logical-1/#propdef-max-block-size", + "initial": "none", + "appliesTo": "same as height and width", + "inherited": "no", + "percentages": "As for the corresponding physical property", + "computedValue": "Same as max-height, max-width", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "logicalPropertyGroup": "max-size", + "styleDeclaration": [ + "max-block-size", + "maxBlockSize" + ], + "syntax": "<'max-width'>", + "extended": [] + } + ], + [ + "max-height", + { + "name": "max-height", + "href": "https://drafts.csswg.org/css-sizing-3/#propdef-max-height", + "initial": "none", + "appliesTo": "all elements that accept width or height", + "inherited": "no", + "percentages": "relative to width/height of containing block", + "computedValue": "as specified, with <length-percentage> values computed", + "canonicalOrder": "per grammar", + "animationType": "by computed value, recursing into fit-content()", + "logicalPropertyGroup": "max-size", + "styleDeclaration": [ + "max-height", + "maxHeight" + ], + "syntax": "none | <length-percentage [0,∞]> | min-content | max-content | fit-content(<length-percentage [0,∞]>) | <calc-size()> | <anchor-size()> | stretch | fit-content | contain", + "extended": [ + "https://drafts.csswg.org/css-anchor-position-1/", + "https://drafts.csswg.org/css-sizing-4/" + ] + } + ], + [ + "max-inline-size", + { + "name": "max-inline-size", + "href": "https://drafts.csswg.org/css-logical-1/#propdef-max-inline-size", + "initial": "none", + "appliesTo": "same as height and width", + "inherited": "no", + "percentages": "As for the corresponding physical property", + "computedValue": "Same as max-height, max-width", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "logicalPropertyGroup": "max-size", + "styleDeclaration": [ + "max-inline-size", + "maxInlineSize" + ], + "syntax": "<'max-width'>", + "extended": [] + } + ], + [ + "max-lines", + { + "name": "max-lines", + "href": "https://drafts.csswg.org/css-overflow-4/#propdef-max-lines", + "initial": "none", + "appliesTo": "block containers which are also either line-clamp containers or fragmentation containers that capture region breaks", + "inherited": "no", + "percentages": "N/A", + "computedValue": "the keyword none or an integer", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "styleDeclaration": [ + "max-lines", + "maxLines" + ], + "syntax": "none | <integer [1,∞]>", + "extended": [] + } + ], + [ + "max-width", + { + "name": "max-width", + "href": "https://drafts.csswg.org/css-sizing-3/#propdef-max-width", + "initial": "none", + "appliesTo": "all elements that accept width or height", + "inherited": "no", + "percentages": "relative to width/height of containing block", + "computedValue": "as specified, with <length-percentage> values computed", + "canonicalOrder": "per grammar", + "animationType": "by computed value, recursing into fit-content()", + "logicalPropertyGroup": "max-size", + "styleDeclaration": [ + "max-width", + "maxWidth" + ], + "syntax": "none | <length-percentage [0,∞]> | min-content | max-content | fit-content(<length-percentage [0,∞]>) | <calc-size()> | <anchor-size()> | stretch | fit-content | contain", + "extended": [ + "https://drafts.csswg.org/css-anchor-position-1/", + "https://drafts.csswg.org/css-sizing-4/" + ] + } + ], + [ + "min-block-size", + { + "name": "min-block-size", + "href": "https://drafts.csswg.org/css-logical-1/#propdef-min-block-size", + "initial": "0", + "appliesTo": "same as height and width", + "inherited": "no", + "percentages": "As for the corresponding physical property", + "computedValue": "Same as min-height, min-width", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "logicalPropertyGroup": "min-size", + "styleDeclaration": [ + "min-block-size", + "minBlockSize" + ], + "syntax": "<'min-width'>", + "extended": [] + } + ], + [ + "min-height", + { + "name": "min-height", + "href": "https://drafts.csswg.org/css-sizing-3/#propdef-min-height", + "initial": "auto", + "appliesTo": "all elements that accept width or height", + "inherited": "no", + "percentages": "relative to width/height of containing block", + "computedValue": "as specified, with <length-percentage> values computed", + "canonicalOrder": "per grammar", + "animationType": "by computed value, recursing into fit-content()", + "logicalPropertyGroup": "min-size", + "styleDeclaration": [ + "min-height", + "minHeight" + ], + "syntax": "auto | <length-percentage [0,∞]> | min-content | max-content | fit-content(<length-percentage [0,∞]>) | <calc-size()> | <anchor-size()> | stretch | fit-content | contain", + "extended": [ + "https://drafts.csswg.org/css-anchor-position-1/", + "https://drafts.csswg.org/css-sizing-4/" + ] + } + ], + [ + "min-inline-size", + { + "name": "min-inline-size", + "href": "https://drafts.csswg.org/css-logical-1/#propdef-min-inline-size", + "initial": "0", + "appliesTo": "same as height and width", + "inherited": "no", + "percentages": "As for the corresponding physical property", + "computedValue": "Same as min-height, min-width", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "logicalPropertyGroup": "min-size", + "styleDeclaration": [ + "min-inline-size", + "minInlineSize" + ], + "syntax": "<'min-width'>", + "extended": [] + } + ], + [ + "min-intrinsic-sizing", + { + "name": "min-intrinsic-sizing", + "href": "https://drafts.csswg.org/css-sizing-4/#propdef-min-intrinsic-sizing", + "initial": "legacy", + "appliesTo": "all elements except inline boxes", + "inherited": "no", + "percentages": "n/a", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "min-intrinsic-sizing", + "minIntrinsicSizing" + ], + "syntax": "legacy | zero-if-scroll || zero-if-extrinsic", + "extended": [] + } + ], + [ + "min-width", + { + "name": "min-width", + "href": "https://drafts.csswg.org/css-sizing-3/#propdef-min-width", + "initial": "auto", + "appliesTo": "all elements that accept width or height", + "inherited": "no", + "percentages": "relative to width/height of containing block", + "computedValue": "as specified, with <length-percentage> values computed", + "canonicalOrder": "per grammar", + "animationType": "by computed value, recursing into fit-content()", + "logicalPropertyGroup": "min-size", + "styleDeclaration": [ + "min-width", + "minWidth" + ], + "syntax": "auto | <length-percentage [0,∞]> | min-content | max-content | fit-content(<length-percentage [0,∞]>) | <calc-size()> | <anchor-size()> | stretch | fit-content | contain", + "extended": [ + "https://drafts.csswg.org/css-anchor-position-1/", + "https://drafts.csswg.org/css-sizing-4/" + ] + } + ], + [ + "mix-blend-mode", + { + "name": "mix-blend-mode", + "href": "https://drafts.fxtf.org/compositing-2/#propdef-mix-blend-mode", + "initial": "normal", + "appliesTo": "All elements. In SVG, it applies to container elements, graphics elements and graphics referencing elements. [SVG11]", + "inherited": "no", + "percentages": "N/A", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "media": "visual", + "animatable": "no", + "styleDeclaration": [ + "mix-blend-mode", + "mixBlendMode" + ], + "syntax": "<blend-mode> | plus-darker | plus-lighter", + "extended": [] + } + ], + [ + "nav-down", + { + "name": "nav-down", + "href": "https://drafts.csswg.org/css-ui-4/#propdef-nav-down", + "initial": "auto", + "appliesTo": "all enabled elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "nav-down", + "navDown" + ], + "syntax": "auto | <id> [ current | root | <target-name> ]?", + "extended": [] + } + ], + [ + "nav-left", + { + "name": "nav-left", + "href": "https://drafts.csswg.org/css-ui-4/#propdef-nav-left", + "initial": "auto", + "appliesTo": "all enabled elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "nav-left", + "navLeft" + ], + "syntax": "auto | <id> [ current | root | <target-name> ]?", + "extended": [] + } + ], + [ + "nav-right", + { + "name": "nav-right", + "href": "https://drafts.csswg.org/css-ui-4/#propdef-nav-right", + "initial": "auto", + "appliesTo": "all enabled elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "nav-right", + "navRight" + ], + "syntax": "auto | <id> [ current | root | <target-name> ]?", + "extended": [] + } + ], + [ + "nav-up", + { + "name": "nav-up", + "href": "https://drafts.csswg.org/css-ui-4/#propdef-nav-up", + "initial": "auto", + "appliesTo": "all enabled elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "nav-up", + "navUp" + ], + "syntax": "auto | <id> [ current | root | <target-name> ]?", + "extended": [] + } + ], + [ + "object-fit", + { + "name": "object-fit", + "href": "https://drafts.csswg.org/css-images-4/#propdef-object-fit", + "initial": "fill", + "appliesTo": "replaced elements", + "inherited": "no", + "percentages": "n/a", + "computedValue": "specified keyword(s)", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "object-fit", + "objectFit" + ], + "syntax": "fill | none | [contain | cover] || scale-down", + "extended": [] + } + ], + [ + "object-position", + { + "name": "object-position", + "href": "https://drafts.csswg.org/css-images-3/#propdef-object-position", + "initial": "50% 50%", + "appliesTo": "replaced elements", + "inherited": "no", + "percentages": "refer to width and height of element itself", + "computedValue": "as for background-position", + "canonicalOrder": "the horizontal component of the <position>, followed by the vertical component", + "animationType": "as for background-position", + "styleDeclaration": [ + "object-position", + "objectPosition" + ], + "syntax": "<position>", + "extended": [] + } + ], + [ + "offset", + { + "name": "offset", + "href": "https://drafts.fxtf.org/motion-1/#propdef-offset", + "initial": "see individual properties", + "appliesTo": "transformable elements", + "inherited": "see individual properties", + "percentages": "see individual properties", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "offset" + ], + "syntax": "[ <'offset-position'>? [ <'offset-path'> [ <'offset-distance'> || <'offset-rotate'> ]? ]? ]! [ / <'offset-anchor'> ]?", + "extended": [] + } + ], + [ + "offset-anchor", + { + "name": "offset-anchor", + "href": "https://drafts.fxtf.org/motion-1/#propdef-offset-anchor", + "initial": "auto", + "appliesTo": "transformable elements", + "inherited": "no", + "percentages": "relative to the width and the height of the element’s reference box", + "computedValue": "the auto keyword or a computed <position>", + "canonicalOrder": "per grammar", + "animationType": "by computed value", + "media": "visual", + "styleDeclaration": [ + "offset-anchor", + "offsetAnchor" + ], + "syntax": "auto | <position>", + "extended": [] + } + ], + [ + "offset-distance", + { + "name": "offset-distance", + "href": "https://drafts.fxtf.org/motion-1/#propdef-offset-distance", + "initial": "0", + "appliesTo": "transformable elements", + "inherited": "no", + "percentages": "relative to the offset path length", + "computedValue": "a computed <length-percentage> value", + "canonicalOrder": "per grammar", + "animationType": "by computed value", + "media": "visual", + "styleDeclaration": [ + "offset-distance", + "offsetDistance" + ], + "syntax": "<length-percentage>", + "extended": [] + } + ], + [ + "offset-path", + { + "name": "offset-path", + "href": "https://drafts.fxtf.org/motion-1/#propdef-offset-path", + "initial": "none", + "appliesTo": "transformable elements", + "inherited": "no", + "percentages": "n/a", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "by computed value", + "media": "visual", + "styleDeclaration": [ + "offset-path", + "offsetPath" + ], + "syntax": "none | <offset-path> || <coord-box>", + "extended": [] + } + ], + [ + "offset-position", + { + "name": "offset-position", + "href": "https://drafts.fxtf.org/motion-1/#propdef-offset-position", + "initial": "normal", + "appliesTo": "transformable elements", + "inherited": "no", + "percentages": "Refer to the size of containing block", + "computedValue": "The normal or auto keywords, or a computed <position>", + "canonicalOrder": "per grammar", + "animationType": "by computed value", + "media": "visual", + "styleDeclaration": [ + "offset-position", + "offsetPosition" + ], + "syntax": "normal | auto | <position>", + "extended": [] + } + ], + [ + "offset-rotate", + { + "name": "offset-rotate", + "href": "https://drafts.fxtf.org/motion-1/#propdef-offset-rotate", + "initial": "auto", + "appliesTo": "transformable elements", + "inherited": "no", + "percentages": "n/a", + "computedValue": "computed <angle> value, optionally preceded by auto", + "canonicalOrder": "per grammar", + "animationType": "by computed value", + "media": "visual", + "styleDeclaration": [ + "offset-rotate", + "offsetRotate" + ], + "syntax": "[ auto | reverse ] || <angle>", + "extended": [] + } + ], + [ + "opacity", + { + "name": "opacity", + "href": "https://drafts.csswg.org/css-color-4/#propdef-opacity", + "initial": "1", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "map to the range [0,1]", + "computedValue": "specified number, clamped to the range [0,1]", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "styleDeclaration": [ + "opacity" + ], + "syntax": "<opacity-value>", + "extended": [] + } + ], + [ + "order", + { + "name": "order", + "href": "https://drafts.csswg.org/css-display-4/#propdef-order", + "initial": "0", + "appliesTo": "flex items and grid items", + "inherited": "no", + "percentages": "n/a", + "computedValue": "specified integer", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "styleDeclaration": [ + "order" + ], + "syntax": "<integer>", + "extended": [] + } + ], + [ + "orphans", + { + "name": "orphans", + "href": "https://drafts.csswg.org/css-break-4/#propdef-orphans", + "initial": "2", + "appliesTo": "block containers that establish an inline formatting context", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "specified integer", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "styleDeclaration": [ + "orphans" + ], + "syntax": "<integer [1,∞]>", + "extended": [] + } + ], + [ + "outline", + { + "name": "outline", + "href": "https://drafts.csswg.org/css-ui-4/#propdef-outline", + "initial": "see individual properties", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "outline" + ], + "syntax": "<'outline-width'> || <'outline-style'> || <'outline-color'>", + "extended": [] + } + ], + [ + "outline-color", + { + "name": "outline-color", + "href": "https://drafts.csswg.org/css-ui-4/#propdef-outline-color", + "initial": "auto", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "see below", + "canonicalOrder": "per grammar", + "animationType": "by computed value", + "styleDeclaration": [ + "outline-color", + "outlineColor" + ], + "syntax": "auto | <'border-top-color'>", + "extended": [] + } + ], + [ + "outline-offset", + { + "name": "outline-offset", + "href": "https://drafts.csswg.org/css-ui-4/#propdef-outline-offset", + "initial": "0", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "absolute length", + "canonicalOrder": "per grammar", + "animationType": "by computed value", + "styleDeclaration": [ + "outline-offset", + "outlineOffset" + ], + "syntax": "<length>", + "extended": [] + } + ], + [ + "outline-style", + { + "name": "outline-style", + "href": "https://drafts.csswg.org/css-ui-4/#propdef-outline-style", + "initial": "none", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "by computed value", + "styleDeclaration": [ + "outline-style", + "outlineStyle" + ], + "syntax": "auto | <outline-line-style>", + "extended": [] + } + ], + [ + "outline-width", + { + "name": "outline-width", + "href": "https://drafts.csswg.org/css-ui-4/#propdef-outline-width", + "initial": "medium", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "absolute length, snapped as a border width", + "canonicalOrder": "per grammar", + "animationType": "by computed value", + "styleDeclaration": [ + "outline-width", + "outlineWidth" + ], + "syntax": "<line-width>", + "extended": [] + } + ], + [ + "overflow", + { + "name": "overflow", + "href": "https://drafts.csswg.org/css-overflow-3/#propdef-overflow", + "initial": "visible", + "appliesTo": "block containers [CSS2], flex containers [CSS3-FLEXBOX], and grid containers [CSS3-GRID-LAYOUT]", + "inherited": "no", + "percentages": "N/A", + "computedValue": "see individual properties", + "animationType": "discrete", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "overflow" + ], + "syntax": "<'overflow-block'>{1,2}", + "extended": [] + } + ], + [ + "overflow-anchor", + { + "name": "overflow-anchor", + "href": "https://drafts.csswg.org/css-scroll-anchoring-1/#propdef-overflow-anchor", + "initial": "auto", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "n/a", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "overflow-anchor", + "overflowAnchor" + ], + "syntax": "auto | none", + "extended": [] + } + ], + [ + "overflow-block", + { + "name": "overflow-block", + "href": "https://drafts.csswg.org/css-overflow-3/#propdef-overflow-block", + "initial": "visible", + "appliesTo": "block containers [CSS2], flex containers [CSS3-FLEXBOX], grid containers [CSS3-GRID-LAYOUT]", + "inherited": "no", + "percentages": "N/A", + "computedValue": "usually specified value, but see text", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "logicalPropertyGroup": "overflow", + "styleDeclaration": [ + "overflow-block", + "overflowBlock" + ], + "syntax": "visible | hidden | clip | scroll | auto", + "extended": [] + } + ], + [ + "overflow-clip-margin", + { + "name": "overflow-clip-margin", + "href": "https://drafts.csswg.org/css-overflow-4/#propdef-overflow-clip-margin", + "initial": "0px", + "appliesTo": "boxes to which overflow applies", + "inherited": "no", + "percentages": "see individual properties", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "overflow-clip-margin", + "overflowClipMargin" + ], + "syntax": "<visual-box> || <length [0,∞]>", + "extended": [] + } + ], + [ + "overflow-clip-margin-block", + { + "name": "overflow-clip-margin-block", + "href": "https://drafts.csswg.org/css-overflow-4/#propdef-overflow-clip-margin-block", + "initial": "0px", + "appliesTo": "boxes to which overflow applies", + "inherited": "no", + "percentages": "see individual properties", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "overflow-clip-margin-block", + "overflowClipMarginBlock" + ], + "syntax": "<visual-box> || <length [0,∞]>", + "extended": [] + } + ], + [ + "overflow-clip-margin-block-end", + { + "name": "overflow-clip-margin-block-end", + "href": "https://drafts.csswg.org/css-overflow-4/#propdef-overflow-clip-margin-block-end", + "initial": "0px", + "appliesTo": "boxes to which overflow applies", + "inherited": "no", + "percentages": "see individual properties", + "computedValue": "the computed <length> and a <visual-box> keyword", + "animationType": "per computed value if the <visual-box> values match; otherwise discrete", + "canonicalOrder": "per grammar", + "logicalPropertyGroup": "overflow-clip-margin", + "styleDeclaration": [ + "overflow-clip-margin-block-end", + "overflowClipMarginBlockEnd" + ], + "syntax": "<visual-box> || <length [0,∞]>", + "extended": [] + } + ], + [ + "overflow-clip-margin-block-start", + { + "name": "overflow-clip-margin-block-start", + "href": "https://drafts.csswg.org/css-overflow-4/#propdef-overflow-clip-margin-block-start", + "initial": "0px", + "appliesTo": "boxes to which overflow applies", + "inherited": "no", + "percentages": "see individual properties", + "computedValue": "the computed <length> and a <visual-box> keyword", + "animationType": "per computed value if the <visual-box> values match; otherwise discrete", + "canonicalOrder": "per grammar", + "logicalPropertyGroup": "overflow-clip-margin", + "styleDeclaration": [ + "overflow-clip-margin-block-start", + "overflowClipMarginBlockStart" + ], + "syntax": "<visual-box> || <length [0,∞]>", + "extended": [] + } + ], + [ + "overflow-clip-margin-bottom", + { + "name": "overflow-clip-margin-bottom", + "href": "https://drafts.csswg.org/css-overflow-4/#propdef-overflow-clip-margin-bottom", + "initial": "0px", + "appliesTo": "boxes to which overflow applies", + "inherited": "no", + "percentages": "see individual properties", + "computedValue": "the computed <length> and a <visual-box> keyword", + "animationType": "per computed value if the <visual-box> values match; otherwise discrete", + "canonicalOrder": "per grammar", + "logicalPropertyGroup": "overflow-clip-margin", + "styleDeclaration": [ + "overflow-clip-margin-bottom", + "overflowClipMarginBottom" + ], + "syntax": "<visual-box> || <length [0,∞]>", + "extended": [] + } + ], + [ + "overflow-clip-margin-inline", + { + "name": "overflow-clip-margin-inline", + "href": "https://drafts.csswg.org/css-overflow-4/#propdef-overflow-clip-margin-inline", + "initial": "0px", + "appliesTo": "boxes to which overflow applies", + "inherited": "no", + "percentages": "see individual properties", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "overflow-clip-margin-inline", + "overflowClipMarginInline" + ], + "syntax": "<visual-box> || <length [0,∞]>", + "extended": [] + } + ], + [ + "overflow-clip-margin-inline-end", + { + "name": "overflow-clip-margin-inline-end", + "href": "https://drafts.csswg.org/css-overflow-4/#propdef-overflow-clip-margin-inline-end", + "initial": "0px", + "appliesTo": "boxes to which overflow applies", + "inherited": "no", + "percentages": "see individual properties", + "computedValue": "the computed <length> and a <visual-box> keyword", + "animationType": "per computed value if the <visual-box> values match; otherwise discrete", + "canonicalOrder": "per grammar", + "logicalPropertyGroup": "overflow-clip-margin", + "styleDeclaration": [ + "overflow-clip-margin-inline-end", + "overflowClipMarginInlineEnd" + ], + "syntax": "<visual-box> || <length [0,∞]>", + "extended": [] + } + ], + [ + "overflow-clip-margin-inline-start", + { + "name": "overflow-clip-margin-inline-start", + "href": "https://drafts.csswg.org/css-overflow-4/#propdef-overflow-clip-margin-inline-start", + "initial": "0px", + "appliesTo": "boxes to which overflow applies", + "inherited": "no", + "percentages": "see individual properties", + "computedValue": "the computed <length> and a <visual-box> keyword", + "animationType": "per computed value if the <visual-box> values match; otherwise discrete", + "canonicalOrder": "per grammar", + "logicalPropertyGroup": "overflow-clip-margin", + "styleDeclaration": [ + "overflow-clip-margin-inline-start", + "overflowClipMarginInlineStart" + ], + "syntax": "<visual-box> || <length [0,∞]>", + "extended": [] + } + ], + [ + "overflow-clip-margin-left", + { + "name": "overflow-clip-margin-left", + "href": "https://drafts.csswg.org/css-overflow-4/#propdef-overflow-clip-margin-left", + "initial": "0px", + "appliesTo": "boxes to which overflow applies", + "inherited": "no", + "percentages": "see individual properties", + "computedValue": "the computed <length> and a <visual-box> keyword", + "animationType": "per computed value if the <visual-box> values match; otherwise discrete", + "canonicalOrder": "per grammar", + "logicalPropertyGroup": "overflow-clip-margin", + "styleDeclaration": [ + "overflow-clip-margin-left", + "overflowClipMarginLeft" + ], + "syntax": "<visual-box> || <length [0,∞]>", + "extended": [] + } + ], + [ + "overflow-clip-margin-right", + { + "name": "overflow-clip-margin-right", + "href": "https://drafts.csswg.org/css-overflow-4/#propdef-overflow-clip-margin-right", + "initial": "0px", + "appliesTo": "boxes to which overflow applies", + "inherited": "no", + "percentages": "see individual properties", + "computedValue": "the computed <length> and a <visual-box> keyword", + "animationType": "per computed value if the <visual-box> values match; otherwise discrete", + "canonicalOrder": "per grammar", + "logicalPropertyGroup": "overflow-clip-margin", + "styleDeclaration": [ + "overflow-clip-margin-right", + "overflowClipMarginRight" + ], + "syntax": "<visual-box> || <length [0,∞]>", + "extended": [] + } + ], + [ + "overflow-clip-margin-top", + { + "name": "overflow-clip-margin-top", + "href": "https://drafts.csswg.org/css-overflow-4/#propdef-overflow-clip-margin-top", + "initial": "0px", + "appliesTo": "boxes to which overflow applies", + "inherited": "no", + "percentages": "see individual properties", + "computedValue": "the computed <length> and a <visual-box> keyword", + "animationType": "per computed value if the <visual-box> values match; otherwise discrete", + "canonicalOrder": "per grammar", + "logicalPropertyGroup": "overflow-clip-margin", + "styleDeclaration": [ + "overflow-clip-margin-top", + "overflowClipMarginTop" + ], + "syntax": "<visual-box> || <length [0,∞]>", + "extended": [] + } + ], + [ + "overflow-inline", + { + "name": "overflow-inline", + "href": "https://drafts.csswg.org/css-overflow-3/#propdef-overflow-inline", + "initial": "visible", + "appliesTo": "block containers [CSS2], flex containers [CSS3-FLEXBOX], grid containers [CSS3-GRID-LAYOUT]", + "inherited": "no", + "percentages": "N/A", + "computedValue": "usually specified value, but see text", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "logicalPropertyGroup": "overflow", + "styleDeclaration": [ + "overflow-inline", + "overflowInline" + ], + "syntax": "visible | hidden | clip | scroll | auto", + "extended": [] + } + ], + [ + "overflow-wrap", + { + "name": "overflow-wrap", + "href": "https://drafts.csswg.org/css-text-4/#propdef-overflow-wrap", + "initial": "normal", + "appliesTo": "text", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "specified keyword", + "canonicalOrder": "n/a", + "animationType": "discrete", + "styleDeclaration": [ + "overflow-wrap", + "overflowWrap" + ], + "syntax": "normal | break-word | anywhere", + "extended": [] + } + ], + [ + "overflow-x", + { + "name": "overflow-x", + "href": "https://drafts.csswg.org/css-overflow-3/#propdef-overflow-x", + "initial": "visible", + "appliesTo": "block containers [CSS2], flex containers [CSS3-FLEXBOX], grid containers [CSS3-GRID-LAYOUT]", + "inherited": "no", + "percentages": "N/A", + "computedValue": "usually specified value, but see text", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "logicalPropertyGroup": "overflow", + "styleDeclaration": [ + "overflow-x", + "overflowX" + ], + "syntax": "visible | hidden | clip | scroll | auto", + "extended": [] + } + ], + [ + "overflow-y", + { + "name": "overflow-y", + "href": "https://drafts.csswg.org/css-overflow-3/#propdef-overflow-y", + "initial": "visible", + "appliesTo": "block containers [CSS2], flex containers [CSS3-FLEXBOX], grid containers [CSS3-GRID-LAYOUT]", + "inherited": "no", + "percentages": "N/A", + "computedValue": "usually specified value, but see text", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "logicalPropertyGroup": "overflow", + "styleDeclaration": [ + "overflow-y", + "overflowY" + ], + "syntax": "visible | hidden | clip | scroll | auto", + "extended": [] + } + ], + [ + "overlay", + { + "name": "overlay", + "href": "https://drafts.csswg.org/css-position-4/#propdef-overlay", + "initial": "none", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "n/a", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "see prose", + "styleDeclaration": [ + "overlay" + ], + "syntax": "none | auto", + "extended": [] + } + ], + [ + "overscroll-behavior", + { + "name": "overscroll-behavior", + "href": "https://drafts.csswg.org/css-overscroll-1/#propdef-overscroll-behavior", + "initial": "auto auto", + "appliesTo": "scroll container elements", + "inherited": "no", + "percentages": "n/a", + "computedValue": "see individual properties", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "media": "visual", + "styleDeclaration": [ + "overscroll-behavior", + "overscrollBehavior" + ], + "syntax": "[ contain | none | auto ]{1,2}", + "extended": [] + } + ], + [ + "overscroll-behavior-block", + { + "name": "overscroll-behavior-block", + "href": "https://drafts.csswg.org/css-overscroll-1/#propdef-overscroll-behavior-block", + "initial": "auto", + "appliesTo": "scroll container elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "logicalPropertyGroup": "overscroll-behavior", + "media": "visual", + "styleDeclaration": [ + "overscroll-behavior-block", + "overscrollBehaviorBlock" + ], + "syntax": "contain | none | auto", + "extended": [] + } + ], + [ + "overscroll-behavior-inline", + { + "name": "overscroll-behavior-inline", + "href": "https://drafts.csswg.org/css-overscroll-1/#propdef-overscroll-behavior-inline", + "initial": "auto", + "appliesTo": "scroll container elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "logicalPropertyGroup": "overscroll-behavior", + "media": "visual", + "styleDeclaration": [ + "overscroll-behavior-inline", + "overscrollBehaviorInline" + ], + "syntax": "contain | none | auto", + "extended": [] + } + ], + [ + "overscroll-behavior-x", + { + "name": "overscroll-behavior-x", + "href": "https://drafts.csswg.org/css-overscroll-1/#propdef-overscroll-behavior-x", + "initial": "auto", + "appliesTo": "scroll container elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "logicalPropertyGroup": "overscroll-behavior", + "media": "visual", + "styleDeclaration": [ + "overscroll-behavior-x", + "overscrollBehaviorX" + ], + "syntax": "contain | none | auto", + "extended": [] + } + ], + [ + "overscroll-behavior-y", + { + "name": "overscroll-behavior-y", + "href": "https://drafts.csswg.org/css-overscroll-1/#propdef-overscroll-behavior-y", + "initial": "auto", + "appliesTo": "scroll container elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "logicalPropertyGroup": "overscroll-behavior", + "media": "visual", + "styleDeclaration": [ + "overscroll-behavior-y", + "overscrollBehaviorY" + ], + "syntax": "contain | none | auto", + "extended": [] + } + ], + [ + "padding", + { + "name": "padding", + "href": "https://drafts.csswg.org/css-box-4/#propdef-padding", + "initial": "0", + "appliesTo": "all elements except: internal table elements other than table cells, ruby base containers, and ruby annotation containers", + "inherited": "no", + "percentages": "refer to logical width of containing block", + "computedValue": "see individual properties", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "styleDeclaration": [ + "padding" + ], + "syntax": "<'padding-top'>{1,4}", + "extended": [] + } + ], + [ + "padding-block", + { + "name": "padding-block", + "href": "https://drafts.csswg.org/css-logical-1/#propdef-padding-block", + "initial": "see individual properties", + "appliesTo": "see individual properties", + "inherited": "see individual properties", + "percentages": "see individual properties", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "padding-block", + "paddingBlock" + ], + "syntax": "<'padding-top'>{1,2}", + "extended": [] + } + ], + [ + "padding-block-end", + { + "name": "padding-block-end", + "href": "https://drafts.csswg.org/css-logical-1/#propdef-padding-block-end", + "initial": "0", + "appliesTo": "Same as padding-top", + "inherited": "no", + "percentages": "As for the corresponding physical property", + "computedValue": "Same as corresponding padding-* properties", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "logicalPropertyGroup": "padding", + "styleDeclaration": [ + "padding-block-end", + "paddingBlockEnd" + ], + "syntax": "<'padding-top'>", + "extended": [] + } + ], + [ + "padding-block-start", + { + "name": "padding-block-start", + "href": "https://drafts.csswg.org/css-logical-1/#propdef-padding-block-start", + "initial": "0", + "appliesTo": "Same as padding-top", + "inherited": "no", + "percentages": "As for the corresponding physical property", + "computedValue": "Same as corresponding padding-* properties", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "logicalPropertyGroup": "padding", + "styleDeclaration": [ + "padding-block-start", + "paddingBlockStart" + ], + "syntax": "<'padding-top'>", + "extended": [] + } + ], + [ + "padding-bottom", + { + "name": "padding-bottom", + "href": "https://drafts.csswg.org/css-box-4/#propdef-padding-bottom", + "initial": "0", + "appliesTo": "all elements except: internal table elements other than table cells, ruby base containers, and ruby annotation containers", + "inherited": "no", + "percentages": "refer to logical width of containing block", + "computedValue": "a computed <length-percentage> value", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "logicalPropertyGroup": "padding", + "styleDeclaration": [ + "padding-bottom", + "paddingBottom" + ], + "syntax": "<length-percentage [0,∞]>", + "extended": [] + } + ], + [ + "padding-inline", + { + "name": "padding-inline", + "href": "https://drafts.csswg.org/css-logical-1/#propdef-padding-inline", + "initial": "see individual properties", + "appliesTo": "see individual properties", + "inherited": "see individual properties", + "percentages": "see individual properties", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "padding-inline", + "paddingInline" + ], + "syntax": "<'padding-top'>{1,2}", + "extended": [] + } + ], + [ + "padding-inline-end", + { + "name": "padding-inline-end", + "href": "https://drafts.csswg.org/css-logical-1/#propdef-padding-inline-end", + "initial": "0", + "appliesTo": "Same as padding-top", + "inherited": "no", + "percentages": "As for the corresponding physical property", + "computedValue": "Same as corresponding padding-* properties", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "logicalPropertyGroup": "padding", + "styleDeclaration": [ + "padding-inline-end", + "paddingInlineEnd" + ], + "syntax": "<'padding-top'>", + "extended": [] + } + ], + [ + "padding-inline-start", + { + "name": "padding-inline-start", + "href": "https://drafts.csswg.org/css-logical-1/#propdef-padding-inline-start", + "initial": "0", + "appliesTo": "Same as padding-top", + "inherited": "no", + "percentages": "As for the corresponding physical property", + "computedValue": "Same as corresponding padding-* properties", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "logicalPropertyGroup": "padding", + "styleDeclaration": [ + "padding-inline-start", + "paddingInlineStart" + ], + "syntax": "<'padding-top'>", + "extended": [] + } + ], + [ + "padding-left", + { + "name": "padding-left", + "href": "https://drafts.csswg.org/css-box-4/#propdef-padding-left", + "initial": "0", + "appliesTo": "all elements except: internal table elements other than table cells, ruby base containers, and ruby annotation containers", + "inherited": "no", + "percentages": "refer to logical width of containing block", + "computedValue": "a computed <length-percentage> value", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "logicalPropertyGroup": "padding", + "styleDeclaration": [ + "padding-left", + "paddingLeft" + ], + "syntax": "<length-percentage [0,∞]>", + "extended": [] + } + ], + [ + "padding-right", + { + "name": "padding-right", + "href": "https://drafts.csswg.org/css-box-4/#propdef-padding-right", + "initial": "0", + "appliesTo": "all elements except: internal table elements other than table cells, ruby base containers, and ruby annotation containers", + "inherited": "no", + "percentages": "refer to logical width of containing block", + "computedValue": "a computed <length-percentage> value", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "logicalPropertyGroup": "padding", + "styleDeclaration": [ + "padding-right", + "paddingRight" + ], + "syntax": "<length-percentage [0,∞]>", + "extended": [] + } + ], + [ + "padding-top", + { + "name": "padding-top", + "href": "https://drafts.csswg.org/css-box-4/#propdef-padding-top", + "initial": "0", + "appliesTo": "all elements except: internal table elements other than table cells, ruby base containers, and ruby annotation containers", + "inherited": "no", + "percentages": "refer to logical width of containing block", + "computedValue": "a computed <length-percentage> value", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "logicalPropertyGroup": "padding", + "styleDeclaration": [ + "padding-top", + "paddingTop" + ], + "syntax": "<length-percentage [0,∞]>", + "extended": [] + } + ], + [ + "page", + { + "name": "page", + "href": "https://drafts.csswg.org/css-page-3/#propdef-page", + "initial": "auto", + "appliesTo": "boxes that create class A break points", + "inherited": "no (but see prose)", + "percentages": "n/a", + "computedValue": "specified value", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "page" + ], + "syntax": "auto | <custom-ident>", + "extended": [] + } + ], + [ + "page-break-after", + { + "name": "page-break-after", + "href": "https://drafts.csswg.org/css2/#propdef-page-break-after", + "initial": "auto", + "appliesTo": "block-level elements (but see text)", + "inherited": "no", + "percentages": "N/A", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "media": "visual, paged", + "styleDeclaration": [ + "page-break-after", + "pageBreakAfter" + ], + "syntax": "auto | always | avoid | left | right | inherit", + "extended": [] + } + ], + [ + "page-break-before", + { + "name": "page-break-before", + "href": "https://drafts.csswg.org/css2/#propdef-page-break-before", + "initial": "auto", + "appliesTo": "block-level elements (but see text)", + "inherited": "no", + "percentages": "N/A", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "media": "visual, paged", + "styleDeclaration": [ + "page-break-before", + "pageBreakBefore" + ], + "syntax": "auto | always | avoid | left | right | inherit", + "extended": [] + } + ], + [ + "page-break-inside", + { + "name": "page-break-inside", + "href": "https://drafts.csswg.org/css2/#propdef-page-break-inside", + "initial": "auto", + "appliesTo": "block-level elements (but see text)", + "inherited": "no", + "percentages": "N/A", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "media": "visual, paged", + "styleDeclaration": [ + "page-break-inside", + "pageBreakInside" + ], + "syntax": "avoid | auto | inherit", + "extended": [] + } + ], + [ + "pause", + { + "name": "pause", + "href": "https://drafts.csswg.org/css-speech-1/#propdef-pause", + "initial": "see individual properties", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "pause" + ], + "syntax": "<'pause-before'> <'pause-after'>?", + "extended": [] + } + ], + [ + "pause-after", + { + "name": "pause-after", + "href": "https://drafts.csswg.org/css-speech-1/#propdef-pause-after", + "initial": "none", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "specified value", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "pause-after", + "pauseAfter" + ], + "syntax": "<time [0s,∞]> | none | x-weak | weak | medium | strong | x-strong", + "extended": [] + } + ], + [ + "pause-before", + { + "name": "pause-before", + "href": "https://drafts.csswg.org/css-speech-1/#propdef-pause-before", + "initial": "none", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "specified value", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "pause-before", + "pauseBefore" + ], + "syntax": "<time [0s,∞]> | none | x-weak | weak | medium | strong | x-strong", + "extended": [] + } + ], + [ + "perspective", + { + "name": "perspective", + "href": "https://drafts.csswg.org/css-transforms-2/#propdef-perspective", + "initial": "none", + "appliesTo": "transformable elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "the keyword none or an absolute length", + "canonicalOrder": "per grammar", + "animationType": "by computed value", + "styleDeclaration": [ + "perspective" + ], + "syntax": "none | <length [0,∞]>", + "extended": [] + } + ], + [ + "perspective-origin", + { + "name": "perspective-origin", + "href": "https://drafts.csswg.org/css-transforms-2/#propdef-perspective-origin", + "initial": "50% 50%", + "appliesTo": "transformable elements", + "inherited": "no", + "percentages": "refer to the size of the reference box", + "computedValue": "see background-position", + "canonicalOrder": "per grammar", + "animationType": "by computed value", + "styleDeclaration": [ + "perspective-origin", + "perspectiveOrigin" + ], + "syntax": "<position>", + "extended": [] + } + ], + [ + "place-content", + { + "name": "place-content", + "href": "https://drafts.csswg.org/css-align-3/#propdef-place-content", + "initial": "normal", + "appliesTo": "see individual properties", + "inherited": "no", + "percentages": "n/a", + "computedValue": "see individual properties", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "place-content", + "placeContent" + ], + "syntax": "<'align-content'> <'justify-content'>?", + "extended": [] + } + ], + [ + "place-items", + { + "name": "place-items", + "href": "https://drafts.csswg.org/css-align-3/#propdef-place-items", + "initial": "see individual properties", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "n/a", + "computedValue": "see individual properties", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "place-items", + "placeItems" + ], + "syntax": "<'align-items'> <'justify-items'>?", + "extended": [] + } + ], + [ + "place-self", + { + "name": "place-self", + "href": "https://drafts.csswg.org/css-align-3/#propdef-place-self", + "initial": "auto", + "appliesTo": "see individual properties", + "inherited": "no", + "percentages": "n/a", + "computedValue": "see individual properties", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "place-self", + "placeSelf" + ], + "syntax": "<'align-self'> <'justify-self'>?", + "extended": [] + } + ], + [ + "pointer-events", + { + "name": "pointer-events", + "href": "https://svgwg.org/svg2-draft/interact.html#PointerEventsProperty", + "initial": "auto", + "appliesTo": "container elements, graphics elements and ‘use’", + "inherited": "yes", + "percentages": "N/A", + "media": "visual", + "computedValue": "as specified", + "animationType": "discrete", + "styleDeclaration": [ + "pointer-events", + "pointerEvents" + ], + "syntax": "auto | bounding-box | visiblePainted | visibleFill | visibleStroke | visible | painted | fill | stroke | all | none", + "extended": [] + } + ], + [ + "position", + { + "name": "position", + "href": "https://drafts.csswg.org/css-position-3/#propdef-position", + "initial": "static", + "appliesTo": "all elements except table-column-group and table-column", + "inherited": "no", + "percentages": "N/A", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "position" + ], + "syntax": "static | relative | absolute | sticky | fixed | <running()>", + "extended": [ + "https://drafts.csswg.org/css-gcpm-3/" + ] + } + ], + [ + "position-anchor", + { + "name": "position-anchor", + "href": "https://drafts.csswg.org/css-anchor-position-1/#propdef-position-anchor", + "initial": "auto", + "appliesTo": "absolutely positioned boxes", + "inherited": "no", + "percentages": "n/a", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "position-anchor", + "positionAnchor" + ], + "syntax": "auto | <anchor-name>", + "extended": [] + } + ], + [ + "position-area", + { + "name": "position-area", + "href": "https://drafts.csswg.org/css-anchor-position-1/#propdef-position-area", + "initial": "none", + "appliesTo": "positioned boxes with a default anchor box", + "inherited": "no", + "percentages": "n/a", + "computedValue": "the keyword none or a pair of keywords, see § 3.1.3 Computed Value and Serialization of <position-area>", + "canonicalOrder": "per grammar", + "animationType": "TBD", + "styleDeclaration": [ + "position-area", + "positionArea" + ], + "syntax": "none | <position-area>", + "extended": [] + } + ], + [ + "position-try", + { + "name": "position-try", + "href": "https://drafts.csswg.org/css-anchor-position-1/#propdef-position-try", + "initial": "see individual properties", + "appliesTo": "see individual properties", + "inherited": "see individual properties", + "percentages": "see individual properties", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "position-try", + "positionTry" + ], + "syntax": "<'position-try-order'>? <'position-try-fallbacks'>", + "extended": [] + } + ], + [ + "position-try-fallbacks", + { + "name": "position-try-fallbacks", + "href": "https://drafts.csswg.org/css-anchor-position-1/#propdef-position-try-fallbacks", + "initial": "none", + "appliesTo": "absolutely positioned boxes", + "inherited": "no", + "percentages": "n/a", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "position-try-fallbacks", + "positionTryFallbacks" + ], + "syntax": "none | [ [<dashed-ident> || <try-tactic>] | <position-area> ]#", + "extended": [] + } + ], + [ + "position-try-order", + { + "name": "position-try-order", + "href": "https://drafts.csswg.org/css-anchor-position-1/#propdef-position-try-order", + "initial": "normal", + "appliesTo": "absolutely positioned boxes", + "inherited": "no", + "percentages": "n/a", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "position-try-order", + "positionTryOrder" + ], + "syntax": "normal | <try-size>", + "extended": [] + } + ], + [ + "position-visibility", + { + "name": "position-visibility", + "href": "https://drafts.csswg.org/css-anchor-position-1/#propdef-position-visibility", + "initial": "anchors-visible", + "appliesTo": "absolutely positioned boxes", + "inherited": "no", + "percentages": "n/a", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "position-visibility", + "positionVisibility" + ], + "syntax": "always | [ anchors-valid || anchors-visible || no-overflow ]", + "extended": [] + } + ], + [ + "print-color-adjust", + { + "name": "print-color-adjust", + "href": "https://drafts.csswg.org/css-color-adjust-1/#propdef-print-color-adjust", + "initial": "economy", + "appliesTo": "all elements", + "inherited": "yes", + "percentages": "N/A", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "print-color-adjust", + "printColorAdjust" + ], + "syntax": "economy | exact", + "extended": [] + } + ], + [ + "quotes", + { + "name": "quotes", + "href": "https://drafts.csswg.org/css-content-3/#propdef-quotes", + "initial": "auto", + "appliesTo": "all elements", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "the keyword none, the keyword auto or match-parent, or a list, each item a pair of string values", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "quotes" + ], + "syntax": "auto | none | match-parent | [ <string> <string> ]+", + "extended": [] + } + ], + [ + "reading-flow", + { + "name": "reading-flow", + "href": "https://drafts.csswg.org/css-display-4/#propdef-reading-flow", + "initial": "normal", + "appliesTo": "block, flex and grid containers", + "inherited": "no", + "percentages": "n/a", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "not animatable", + "styleDeclaration": [ + "reading-flow", + "readingFlow" + ], + "syntax": "normal | source-order | flex-visual | flex-flow | grid-rows | grid-columns | grid-order", + "extended": [] + } + ], + [ + "region-fragment", + { + "name": "region-fragment", + "href": "https://drafts.csswg.org/css-regions-1/#propdef-region-fragment", + "initial": "auto", + "appliesTo": "CSS Regions", + "inherited": "no", + "percentages": "n/a", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "region-fragment", + "regionFragment" + ], + "syntax": "auto | break", + "extended": [] + } + ], + [ + "resize", + { + "name": "resize", + "href": "https://drafts.csswg.org/css-ui-4/#propdef-resize", + "initial": "none", + "appliesTo": "elements that are scroll containers and optionally replaced elements such as images, videos, and iframes", + "inherited": "no", + "percentages": "N/A", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "resize" + ], + "syntax": "none | both | horizontal | vertical | block | inline", + "extended": [] + } + ], + [ + "rest", + { + "name": "rest", + "href": "https://drafts.csswg.org/css-speech-1/#propdef-rest", + "initial": "see individual properties", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "rest" + ], + "syntax": "<'rest-before'> <'rest-after'>?", + "extended": [] + } + ], + [ + "rest-after", + { + "name": "rest-after", + "href": "https://drafts.csswg.org/css-speech-1/#propdef-rest-after", + "initial": "none", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "specified value", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "rest-after", + "restAfter" + ], + "syntax": "<time [0s,∞]> | none | x-weak | weak | medium | strong | x-strong", + "extended": [] + } + ], + [ + "rest-before", + { + "name": "rest-before", + "href": "https://drafts.csswg.org/css-speech-1/#propdef-rest-before", + "initial": "none", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "specified value", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "rest-before", + "restBefore" + ], + "syntax": "<time [0s,∞]> | none | x-weak | weak | medium | strong | x-strong", + "extended": [] + } + ], + [ + "right", + { + "name": "right", + "href": "https://drafts.csswg.org/css-position-3/#propdef-right", + "initial": "auto", + "appliesTo": "positioned elements", + "inherited": "no", + "percentages": "refer to size of containing block; see prose", + "computedValue": "the keyword auto or a computed <length-percentage> value", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "logicalPropertyGroup": "inset", + "styleDeclaration": [ + "right" + ], + "syntax": "auto | <length-percentage> | <anchor()> | <anchor-size()>", + "extended": [ + "https://drafts.csswg.org/css-anchor-position-1/" + ] + } + ], + [ + "rotate", + { + "name": "rotate", + "href": "https://drafts.csswg.org/css-transforms-2/#propdef-rotate", + "initial": "none", + "appliesTo": "transformable elements", + "inherited": "no", + "percentages": "n/a", + "computedValue": "the keyword none, or an <angle> with an axis consisting of a list of three <number>s", + "canonicalOrder": "per grammar", + "animationType": "as SLERP, but see below for none", + "styleDeclaration": [ + "rotate" + ], + "syntax": "none | <angle> | [ x | y | z | <number>{3} ] && <angle>", + "extended": [] + } + ], + [ + "row-gap", + { + "name": "row-gap", + "href": "https://drafts.csswg.org/css-align-3/#propdef-row-gap", + "initial": "normal", + "appliesTo": "multi-column containers, flex containers, grid containers", + "inherited": "no", + "percentages": "see § 8.3 Percentages In gap Properties", + "computedValue": "specified keyword, else a computed <length-percentage> value", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "styleDeclaration": [ + "row-gap", + "rowGap" + ], + "syntax": "normal | <length-percentage [0,∞]>", + "extended": [] + } + ], + [ + "row-rule", + { + "name": "row-rule", + "href": "https://drafts.csswg.org/css-gaps-1/#propdef-row-rule", + "initial": "see individual properties", + "appliesTo": "see individual properties", + "inherited": "see individual properties", + "percentages": "see individual properties", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "row-rule", + "rowRule" + ], + "syntax": "<gap-rule-list> | <gap-auto-rule-list>", + "extended": [] + } + ], + [ + "row-rule-break", + { + "name": "row-rule-break", + "href": "https://drafts.csswg.org/css-gaps-1/#propdef-row-rule-break", + "initial": "spanning-item", + "appliesTo": "grid containers, flex containers, multicol containers, and masonry containers", + "inherited": "no", + "percentages": "n/a", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "row-rule-break", + "rowRuleBreak" + ], + "syntax": "none | spanning-item | intersection", + "extended": [] + } + ], + [ + "row-rule-color", + { + "name": "row-rule-color", + "href": "https://drafts.csswg.org/css-gaps-1/#propdef-row-rule-color", + "initial": "currentcolor", + "appliesTo": "grid containers, flex containers, multicol containers, and masonry containers", + "inherited": "no", + "percentages": "n/a", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "repeatable list, see § 3.4.1 Interpolation behavior.", + "styleDeclaration": [ + "row-rule-color", + "rowRuleColor" + ], + "syntax": "<line-color-list> | <auto-line-color-list>", + "extended": [] + } + ], + [ + "row-rule-outset", + { + "name": "row-rule-outset", + "href": "https://drafts.csswg.org/css-gaps-1/#propdef-row-rule-outset", + "initial": "50%", + "appliesTo": "grid containers, flex containers, multicol containers, and masonry containers", + "inherited": "no", + "percentages": "refer to the crossing gap width", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "styleDeclaration": [ + "row-rule-outset", + "rowRuleOutset" + ], + "syntax": "<length-percentage>", + "extended": [] + } + ], + [ + "row-rule-style", + { + "name": "row-rule-style", + "href": "https://drafts.csswg.org/css-gaps-1/#propdef-row-rule-style", + "initial": "none", + "appliesTo": "grid containers, flex containers, multicol containers, and masonry containers", + "inherited": "no", + "percentages": "n/a", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "row-rule-style", + "rowRuleStyle" + ], + "syntax": "<line-style-list> | <auto-line-style-list>", + "extended": [] + } + ], + [ + "row-rule-width", + { + "name": "row-rule-width", + "href": "https://drafts.csswg.org/css-gaps-1/#propdef-row-rule-width", + "initial": "medium", + "appliesTo": "grid containers, flex containers, multicol containers, and masonry containers", + "inherited": "no", + "percentages": "n/a", + "computedValue": "list of absolute lengths, snapped as a border width", + "canonicalOrder": "per grammar", + "animationType": "repeatable list, see § 3.4.1 Interpolation behavior.", + "styleDeclaration": [ + "row-rule-width", + "rowRuleWidth" + ], + "syntax": "<line-width-list> | <auto-line-width-list>", + "extended": [] + } + ], + [ + "ruby-align", + { + "name": "ruby-align", + "href": "https://drafts.csswg.org/css-ruby-1/#propdef-ruby-align", + "initial": "space-around", + "appliesTo": "ruby bases, ruby annotations, ruby base containers, ruby annotation containers", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "styleDeclaration": [ + "ruby-align", + "rubyAlign" + ], + "syntax": "start | center | space-between | space-around", + "extended": [] + } + ], + [ + "ruby-merge", + { + "name": "ruby-merge", + "href": "https://drafts.csswg.org/css-ruby-1/#propdef-ruby-merge", + "initial": "separate", + "appliesTo": "interlinear ruby annotation containers", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "styleDeclaration": [ + "ruby-merge", + "rubyMerge" + ], + "syntax": "separate | merge | auto", + "extended": [] + } + ], + [ + "ruby-overhang", + { + "name": "ruby-overhang", + "href": "https://drafts.csswg.org/css-ruby-1/#propdef-ruby-overhang", + "initial": "auto", + "appliesTo": "ruby annotation containers", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "styleDeclaration": [ + "ruby-overhang", + "rubyOverhang" + ], + "syntax": "auto | none", + "extended": [] + } + ], + [ + "ruby-position", + { + "name": "ruby-position", + "href": "https://drafts.csswg.org/css-ruby-1/#propdef-ruby-position", + "initial": "alternate", + "appliesTo": "ruby annotation containers", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "ruby-position", + "rubyPosition" + ], + "syntax": "[ alternate || [ over | under ] ] | inter-character", + "extended": [] + } + ], + [ + "rule", + { + "name": "rule", + "href": "https://drafts.csswg.org/css-gaps-1/#propdef-rule", + "initial": "see individual properties", + "appliesTo": "Same as column-rule and row-rule", + "inherited": "no", + "percentages": "see individual properties", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "rule" + ], + "syntax": "<'column-rule'>", + "extended": [] + } + ], + [ + "rule-break", + { + "name": "rule-break", + "href": "https://drafts.csswg.org/css-gaps-1/#propdef-rule-break", + "initial": "see individual properties", + "appliesTo": "Same as column-rule-break and row-rule-break", + "inherited": "see individual properties", + "percentages": "see individual properties", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "rule-break", + "ruleBreak" + ], + "syntax": "<'column-rule-break'>", + "extended": [] + } + ], + [ + "rule-color", + { + "name": "rule-color", + "href": "https://drafts.csswg.org/css-gaps-1/#propdef-rule-color", + "initial": "see individual properties", + "appliesTo": "Same as column-rule-color and row-rule-color", + "inherited": "no", + "percentages": "see individual properties", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "rule-color", + "ruleColor" + ], + "syntax": "<'column-rule-color'>", + "extended": [] + } + ], + [ + "rule-outset", + { + "name": "rule-outset", + "href": "https://drafts.csswg.org/css-gaps-1/#propdef-rule-outset", + "initial": "see individual properties", + "appliesTo": "Same as column-rule-outset and row-rule-outset", + "inherited": "see individual properties", + "percentages": "see individual properties", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "rule-outset", + "ruleOutset" + ], + "syntax": "<'column-rule-outset'>", + "extended": [] + } + ], + [ + "rule-style", + { + "name": "rule-style", + "href": "https://drafts.csswg.org/css-gaps-1/#propdef-rule-style", + "initial": "see individual properties", + "appliesTo": "Same as column-rule-style and row-rule-style", + "inherited": "no", + "percentages": "see individual properties", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "rule-style", + "ruleStyle" + ], + "syntax": "<'column-rule-style'>", + "extended": [] + } + ], + [ + "rule-width", + { + "name": "rule-width", + "href": "https://drafts.csswg.org/css-gaps-1/#propdef-rule-width", + "initial": "see individual properties", + "appliesTo": "Same as column-rule-width and row-rule-width", + "inherited": "no", + "percentages": "see individual properties", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "rule-width", + "ruleWidth" + ], + "syntax": "<'column-rule-width'>", + "extended": [] + } + ], + [ + "scale", + { + "name": "scale", + "href": "https://drafts.csswg.org/css-transforms-2/#propdef-scale", + "initial": "none", + "appliesTo": "transformable elements", + "inherited": "no", + "percentages": "n/a", + "computedValue": "the keyword none, or a list of 3 <number>s", + "canonicalOrder": "per grammar", + "animationType": "by computed value, but see below for none", + "styleDeclaration": [ + "scale" + ], + "syntax": "none | [ <number> | <percentage> ]{1,3}", + "extended": [] + } + ], + [ + "scroll-behavior", + { + "name": "scroll-behavior", + "href": "https://drafts.csswg.org/css-overflow-3/#propdef-scroll-behavior", + "initial": "auto", + "appliesTo": "scroll containers", + "inherited": "no", + "percentages": "n/a", + "computedValue": "specified value", + "canonicalOrder": "per grammar", + "animationType": "not animatable", + "styleDeclaration": [ + "scroll-behavior", + "scrollBehavior" + ], + "syntax": "auto | smooth", + "extended": [] + } + ], + [ + "scroll-margin", + { + "name": "scroll-margin", + "href": "https://drafts.csswg.org/css-scroll-snap-1/#propdef-scroll-margin", + "initial": "0", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "n/a", + "computedValue": "per side, an absolute length", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "styleDeclaration": [ + "scroll-margin", + "scrollMargin" + ], + "syntax": "<length>{1,4}", + "extended": [] + } + ], + [ + "scroll-margin-block", + { + "name": "scroll-margin-block", + "href": "https://drafts.csswg.org/css-scroll-snap-1/#propdef-scroll-margin-block", + "initial": "0", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "n/a", + "computedValue": "see individual properties", + "animationType": "by computed value type", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "scroll-margin-block", + "scrollMarginBlock" + ], + "syntax": "<length>{1,2}", + "extended": [] + } + ], + [ + "scroll-margin-block-end", + { + "name": "scroll-margin-block-end", + "href": "https://drafts.csswg.org/css-scroll-snap-1/#propdef-scroll-margin-block-end", + "initial": "0", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "n/a", + "computedValue": "absolute length", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "logicalPropertyGroup": "scroll-margin", + "styleDeclaration": [ + "scroll-margin-block-end", + "scrollMarginBlockEnd" + ], + "syntax": "<length>", + "extended": [] + } + ], + [ + "scroll-margin-block-start", + { + "name": "scroll-margin-block-start", + "href": "https://drafts.csswg.org/css-scroll-snap-1/#propdef-scroll-margin-block-start", + "initial": "0", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "n/a", + "computedValue": "absolute length", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "logicalPropertyGroup": "scroll-margin", + "styleDeclaration": [ + "scroll-margin-block-start", + "scrollMarginBlockStart" + ], + "syntax": "<length>", + "extended": [] + } + ], + [ + "scroll-margin-bottom", + { + "name": "scroll-margin-bottom", + "href": "https://drafts.csswg.org/css-scroll-snap-1/#propdef-scroll-margin-bottom", + "initial": "0", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "n/a", + "computedValue": "absolute length", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "logicalPropertyGroup": "scroll-margin", + "styleDeclaration": [ + "scroll-margin-bottom", + "scrollMarginBottom" + ], + "syntax": "<length>", + "extended": [] + } + ], + [ + "scroll-margin-inline", + { + "name": "scroll-margin-inline", + "href": "https://drafts.csswg.org/css-scroll-snap-1/#propdef-scroll-margin-inline", + "initial": "0", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "n/a", + "computedValue": "see individual properties", + "animationType": "by computed value type", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "scroll-margin-inline", + "scrollMarginInline" + ], + "syntax": "<length>{1,2}", + "extended": [] + } + ], + [ + "scroll-margin-inline-end", + { + "name": "scroll-margin-inline-end", + "href": "https://drafts.csswg.org/css-scroll-snap-1/#propdef-scroll-margin-inline-end", + "initial": "0", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "n/a", + "computedValue": "absolute length", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "logicalPropertyGroup": "scroll-margin", + "styleDeclaration": [ + "scroll-margin-inline-end", + "scrollMarginInlineEnd" + ], + "syntax": "<length>", + "extended": [] + } + ], + [ + "scroll-margin-inline-start", + { + "name": "scroll-margin-inline-start", + "href": "https://drafts.csswg.org/css-scroll-snap-1/#propdef-scroll-margin-inline-start", + "initial": "0", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "n/a", + "computedValue": "absolute length", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "logicalPropertyGroup": "scroll-margin", + "styleDeclaration": [ + "scroll-margin-inline-start", + "scrollMarginInlineStart" + ], + "syntax": "<length>", + "extended": [] + } + ], + [ + "scroll-margin-left", + { + "name": "scroll-margin-left", + "href": "https://drafts.csswg.org/css-scroll-snap-1/#propdef-scroll-margin-left", + "initial": "0", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "n/a", + "computedValue": "absolute length", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "logicalPropertyGroup": "scroll-margin", + "styleDeclaration": [ + "scroll-margin-left", + "scrollMarginLeft" + ], + "syntax": "<length>", + "extended": [] + } + ], + [ + "scroll-margin-right", + { + "name": "scroll-margin-right", + "href": "https://drafts.csswg.org/css-scroll-snap-1/#propdef-scroll-margin-right", + "initial": "0", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "n/a", + "computedValue": "absolute length", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "logicalPropertyGroup": "scroll-margin", + "styleDeclaration": [ + "scroll-margin-right", + "scrollMarginRight" + ], + "syntax": "<length>", + "extended": [] + } + ], + [ + "scroll-margin-top", + { + "name": "scroll-margin-top", + "href": "https://drafts.csswg.org/css-scroll-snap-1/#propdef-scroll-margin-top", + "initial": "0", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "n/a", + "computedValue": "absolute length", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "logicalPropertyGroup": "scroll-margin", + "styleDeclaration": [ + "scroll-margin-top", + "scrollMarginTop" + ], + "syntax": "<length>", + "extended": [] + } + ], + [ + "scroll-marker-group", + { + "name": "scroll-marker-group", + "href": "https://drafts.csswg.org/css-overflow-5/#propdef-scroll-marker-group", + "initial": "none", + "appliesTo": "scroll containers", + "inherited": "no", + "percentages": "n/a", + "computedValue": "specified value", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "scroll-marker-group", + "scrollMarkerGroup" + ], + "syntax": "none | before | after", + "extended": [] + } + ], + [ + "scroll-padding", + { + "name": "scroll-padding", + "href": "https://drafts.csswg.org/css-scroll-snap-1/#propdef-scroll-padding", + "initial": "auto", + "appliesTo": "scroll containers", + "inherited": "no", + "percentages": "relative to the corresponding dimension of the scroll container’s scrollport", + "computedValue": "per side, either the keyword auto or a computed <length-percentage> value", + "animationType": "by computed value type", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "scroll-padding", + "scrollPadding" + ], + "syntax": "[ auto | <length-percentage [0,∞]> ]{1,4}", + "extended": [] + } + ], + [ + "scroll-padding-block", + { + "name": "scroll-padding-block", + "href": "https://drafts.csswg.org/css-scroll-snap-1/#propdef-scroll-padding-block", + "initial": "auto", + "appliesTo": "scroll containers", + "inherited": "no", + "percentages": "relative to the scroll container’s scrollport", + "computedValue": "see individual properties", + "animationType": "by computed value", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "scroll-padding-block", + "scrollPaddingBlock" + ], + "syntax": "[ auto | <length-percentage [0,∞]> ]{1,2}", + "extended": [] + } + ], + [ + "scroll-padding-block-end", + { + "name": "scroll-padding-block-end", + "href": "https://drafts.csswg.org/css-scroll-snap-1/#propdef-scroll-padding-block-end", + "initial": "auto", + "appliesTo": "scroll containers", + "inherited": "no", + "percentages": "relative to the scroll container’s scrollport", + "computedValue": "the keyword auto or a computed <length-percentage> value", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "logicalPropertyGroup": "scroll-padding", + "styleDeclaration": [ + "scroll-padding-block-end", + "scrollPaddingBlockEnd" + ], + "syntax": "auto | <length-percentage [0,∞]>", + "extended": [] + } + ], + [ + "scroll-padding-block-start", + { + "name": "scroll-padding-block-start", + "href": "https://drafts.csswg.org/css-scroll-snap-1/#propdef-scroll-padding-block-start", + "initial": "auto", + "appliesTo": "scroll containers", + "inherited": "no", + "percentages": "relative to the scroll container’s scrollport", + "computedValue": "the keyword auto or a computed <length-percentage> value", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "logicalPropertyGroup": "scroll-padding", + "styleDeclaration": [ + "scroll-padding-block-start", + "scrollPaddingBlockStart" + ], + "syntax": "auto | <length-percentage [0,∞]>", + "extended": [] + } + ], + [ + "scroll-padding-bottom", + { + "name": "scroll-padding-bottom", + "href": "https://drafts.csswg.org/css-scroll-snap-1/#propdef-scroll-padding-bottom", + "initial": "auto", + "appliesTo": "scroll containers", + "inherited": "no", + "percentages": "relative to the scroll container’s scrollport", + "computedValue": "the keyword auto or a computed <length-percentage> value", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "logicalPropertyGroup": "scroll-padding", + "styleDeclaration": [ + "scroll-padding-bottom", + "scrollPaddingBottom" + ], + "syntax": "auto | <length-percentage [0,∞]>", + "extended": [] + } + ], + [ + "scroll-padding-inline", + { + "name": "scroll-padding-inline", + "href": "https://drafts.csswg.org/css-scroll-snap-1/#propdef-scroll-padding-inline", + "initial": "auto", + "appliesTo": "scroll containers", + "inherited": "no", + "percentages": "relative to the scroll container’s scrollport", + "computedValue": "see individual properties", + "animationType": "by computed value", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "scroll-padding-inline", + "scrollPaddingInline" + ], + "syntax": "[ auto | <length-percentage [0,∞]> ]{1,2}", + "extended": [] + } + ], + [ + "scroll-padding-inline-end", + { + "name": "scroll-padding-inline-end", + "href": "https://drafts.csswg.org/css-scroll-snap-1/#propdef-scroll-padding-inline-end", + "initial": "auto", + "appliesTo": "scroll containers", + "inherited": "no", + "percentages": "relative to the scroll container’s scrollport", + "computedValue": "the keyword auto or a computed <length-percentage> value", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "logicalPropertyGroup": "scroll-padding", + "styleDeclaration": [ + "scroll-padding-inline-end", + "scrollPaddingInlineEnd" + ], + "syntax": "auto | <length-percentage [0,∞]>", + "extended": [] + } + ], + [ + "scroll-padding-inline-start", + { + "name": "scroll-padding-inline-start", + "href": "https://drafts.csswg.org/css-scroll-snap-1/#propdef-scroll-padding-inline-start", + "initial": "auto", + "appliesTo": "scroll containers", + "inherited": "no", + "percentages": "relative to the scroll container’s scrollport", + "computedValue": "the keyword auto or a computed <length-percentage> value", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "logicalPropertyGroup": "scroll-padding", + "styleDeclaration": [ + "scroll-padding-inline-start", + "scrollPaddingInlineStart" + ], + "syntax": "auto | <length-percentage [0,∞]>", + "extended": [] + } + ], + [ + "scroll-padding-left", + { + "name": "scroll-padding-left", + "href": "https://drafts.csswg.org/css-scroll-snap-1/#propdef-scroll-padding-left", + "initial": "auto", + "appliesTo": "scroll containers", + "inherited": "no", + "percentages": "relative to the scroll container’s scrollport", + "computedValue": "the keyword auto or a computed <length-percentage> value", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "logicalPropertyGroup": "scroll-padding", + "styleDeclaration": [ + "scroll-padding-left", + "scrollPaddingLeft" + ], + "syntax": "auto | <length-percentage [0,∞]>", + "extended": [] + } + ], + [ + "scroll-padding-right", + { + "name": "scroll-padding-right", + "href": "https://drafts.csswg.org/css-scroll-snap-1/#propdef-scroll-padding-right", + "initial": "auto", + "appliesTo": "scroll containers", + "inherited": "no", + "percentages": "relative to the scroll container’s scrollport", + "computedValue": "the keyword auto or a computed <length-percentage> value", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "logicalPropertyGroup": "scroll-padding", + "styleDeclaration": [ + "scroll-padding-right", + "scrollPaddingRight" + ], + "syntax": "auto | <length-percentage [0,∞]>", + "extended": [] + } + ], + [ + "scroll-padding-top", + { + "name": "scroll-padding-top", + "href": "https://drafts.csswg.org/css-scroll-snap-1/#propdef-scroll-padding-top", + "initial": "auto", + "appliesTo": "scroll containers", + "inherited": "no", + "percentages": "relative to the scroll container’s scrollport", + "computedValue": "the keyword auto or a computed <length-percentage> value", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "logicalPropertyGroup": "scroll-padding", + "styleDeclaration": [ + "scroll-padding-top", + "scrollPaddingTop" + ], + "syntax": "auto | <length-percentage [0,∞]>", + "extended": [] + } + ], + [ + "scroll-snap-align", + { + "name": "scroll-snap-align", + "href": "https://drafts.csswg.org/css-scroll-snap-1/#propdef-scroll-snap-align", + "initial": "none", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "n/a", + "computedValue": "two keywords", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "scroll-snap-align", + "scrollSnapAlign" + ], + "syntax": "[ none | start | end | center ]{1,2}", + "extended": [] + } + ], + [ + "scroll-snap-stop", + { + "name": "scroll-snap-stop", + "href": "https://drafts.csswg.org/css-scroll-snap-1/#propdef-scroll-snap-stop", + "initial": "normal", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "n/a", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "scroll-snap-stop", + "scrollSnapStop" + ], + "syntax": "normal | always", + "extended": [] + } + ], + [ + "scroll-snap-type", + { + "name": "scroll-snap-type", + "href": "https://drafts.csswg.org/css-scroll-snap-1/#propdef-scroll-snap-type", + "initial": "none", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "n/a", + "computedValue": "specified keyword(s)", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "scroll-snap-type", + "scrollSnapType" + ], + "syntax": "none | [ x | y | block | inline | both ] [ mandatory | proximity ]?", + "extended": [] + } + ], + [ + "scroll-timeline", + { + "name": "scroll-timeline", + "href": "https://drafts.csswg.org/scroll-animations-1/#propdef-scroll-timeline", + "initial": "see individual properties", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "see individual properties", + "computedValue": "see individual properties", + "animationType": "not animatable", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "scroll-timeline", + "scrollTimeline" + ], + "syntax": "[ <'scroll-timeline-name'> <'scroll-timeline-axis'>? ]#", + "extended": [] + } + ], + [ + "scroll-timeline-axis", + { + "name": "scroll-timeline-axis", + "href": "https://drafts.csswg.org/scroll-animations-1/#propdef-scroll-timeline-axis", + "initial": "block", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "n/a", + "computedValue": "a list of the keywords specified", + "canonicalOrder": "per grammar", + "animationType": "not animatable", + "styleDeclaration": [ + "scroll-timeline-axis", + "scrollTimelineAxis" + ], + "syntax": "[ block | inline | x | y ]#", + "extended": [] + } + ], + [ + "scroll-timeline-name", + { + "name": "scroll-timeline-name", + "href": "https://drafts.csswg.org/scroll-animations-1/#propdef-scroll-timeline-name", + "initial": "none", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "n/a", + "computedValue": "the keyword none or a list of CSS identifiers", + "canonicalOrder": "per grammar", + "animationType": "not animatable", + "styleDeclaration": [ + "scroll-timeline-name", + "scrollTimelineName" + ], + "syntax": "[ none | <dashed-ident> ]#", + "extended": [] + } + ], + [ + "scrollbar-color", + { + "name": "scrollbar-color", + "href": "https://drafts.csswg.org/css-scrollbars-1/#propdef-scrollbar-color", + "initial": "auto", + "appliesTo": "scroll containers", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "specified keyword or two computed colors", + "canonicalOrder": "per grammar", + "animationType": "by computed value", + "styleDeclaration": [ + "scrollbar-color", + "scrollbarColor" + ], + "syntax": "auto | <color>{2}", + "extended": [] + } + ], + [ + "scrollbar-gutter", + { + "name": "scrollbar-gutter", + "href": "https://drafts.csswg.org/css-overflow-3/#propdef-scrollbar-gutter", + "initial": "auto", + "appliesTo": "scroll containers", + "inherited": "no", + "percentages": "n/a", + "computedValue": "specified keyword(s)", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "scrollbar-gutter", + "scrollbarGutter" + ], + "syntax": "auto | stable && both-edges?", + "extended": [] + } + ], + [ + "scrollbar-width", + { + "name": "scrollbar-width", + "href": "https://drafts.csswg.org/css-scrollbars-1/#propdef-scrollbar-width", + "initial": "auto", + "appliesTo": "scroll containers", + "inherited": "no", + "percentages": "n/a", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "scrollbar-width", + "scrollbarWidth" + ], + "syntax": "auto | thin | none", + "extended": [] + } + ], + [ + "shape-image-threshold", + { + "name": "shape-image-threshold", + "href": "https://drafts.csswg.org/css-shapes-1/#propdef-shape-image-threshold", + "initial": "0", + "appliesTo": "floats", + "inherited": "no", + "percentages": "n/a", + "computedValue": "specified number, clamped to the range [0,1]", + "canonicalOrder": "per grammar", + "animationType": "by computed value", + "styleDeclaration": [ + "shape-image-threshold", + "shapeImageThreshold" + ], + "syntax": "<opacity-value>", + "extended": [] + } + ], + [ + "shape-inside", + { + "name": "shape-inside", + "href": "https://drafts.csswg.org/css-shapes-2/#propdef-shape-inside", + "initial": "auto", + "appliesTo": "block-level elements", + "inherited": "no", + "percentages": "n/a", + "computedValue": "computed lengths for <basic-shape>, the absolute URL for <url>, otherwise as specified", + "canonicalOrder": "per grammar", + "animationType": "as defined for <basic-shape>, otherwise discrete", + "styleDeclaration": [ + "shape-inside", + "shapeInside" + ], + "syntax": "auto | outside-shape | [ <basic-shape> || shape-box ] | <image> | display", + "extended": [] + } + ], + [ + "shape-margin", + { + "name": "shape-margin", + "href": "https://drafts.csswg.org/css-shapes-1/#propdef-shape-margin", + "initial": "0", + "appliesTo": "floats and initial letter boxes", + "inherited": "no", + "percentages": "refer to the inline size of the containing block", + "computedValue": "computed <length-percentage> value", + "canonicalOrder": "per grammar", + "animationType": "by computed value", + "styleDeclaration": [ + "shape-margin", + "shapeMargin" + ], + "syntax": "<length-percentage [0,∞]>", + "extended": [] + } + ], + [ + "shape-outside", + { + "name": "shape-outside", + "href": "https://drafts.csswg.org/css-shapes-1/#propdef-shape-outside", + "initial": "none", + "appliesTo": "floats and initial letter boxes", + "inherited": "no", + "percentages": "n/a", + "computedValue": "as defined for <basic-shape> (with <shape-box> following, if supplied); else the computed <image>; else the keyword as specified", + "canonicalOrder": "per grammar", + "animationType": "as defined for <basic-shape>, otherwise discrete", + "styleDeclaration": [ + "shape-outside", + "shapeOutside" + ], + "syntax": "none | [ <basic-shape> || <shape-box> ] | <image>", + "extended": [] + } + ], + [ + "shape-rendering", + { + "name": "shape-rendering", + "href": "https://svgwg.org/svg2-draft/painting.html#ShapeRenderingProperty", + "initial": "auto", + "appliesTo": "shapes", + "inherited": "yes", + "percentages": "N/A", + "media": "visual", + "computedValue": "as specified", + "animationType": "discrete", + "styleDeclaration": [ + "shape-rendering", + "shapeRendering" + ], + "syntax": "auto | optimizeSpeed | crispEdges | geometricPrecision", + "extended": [] + } + ], + [ + "slider-orientation", + { + "name": "slider-orientation", + "href": "https://drafts.csswg.org/css-forms-1/#propdef-slider-orientation", + "initial": "auto", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "n/a", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "slider-orientation", + "sliderOrientation" + ], + "syntax": "auto | left-to-right | right-to-left | top-to-bottom | bottom-to-top", + "extended": [] + } + ], + [ + "spatial-navigation-action", + { + "name": "spatial-navigation-action", + "href": "https://drafts.csswg.org/css-nav-1/#propdef-spatial-navigation-action", + "initial": "auto", + "appliesTo": "scroll containers", + "inherited": "no", + "percentages": "n/a", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "spatial-navigation-action", + "spatialNavigationAction" + ], + "syntax": "auto | focus | scroll", + "extended": [] + } + ], + [ + "spatial-navigation-contain", + { + "name": "spatial-navigation-contain", + "href": "https://drafts.csswg.org/css-nav-1/#propdef-spatial-navigation-contain", + "initial": "auto", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "n/a", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "spatial-navigation-contain", + "spatialNavigationContain" + ], + "syntax": "auto | contain", + "extended": [] + } + ], + [ + "spatial-navigation-function", + { + "name": "spatial-navigation-function", + "href": "https://drafts.csswg.org/css-nav-1/#propdef-spatial-navigation-function", + "initial": "normal", + "appliesTo": "spatial navigation containers", + "inherited": "no", + "percentages": "n/a", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "spatial-navigation-function", + "spatialNavigationFunction" + ], + "syntax": "normal | grid", + "extended": [] + } + ], + [ + "speak", + { + "name": "speak", + "href": "https://drafts.csswg.org/css-speech-1/#propdef-speak", + "initial": "auto", + "appliesTo": "all elements", + "inherited": "yes", + "percentages": "N/A", + "computedValue": "specified value", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "speak" + ], + "syntax": "auto | never | always", + "extended": [] + } + ], + [ + "speak-as", + { + "name": "speak-as", + "href": "https://drafts.csswg.org/css-speech-1/#propdef-speak-as", + "initial": "normal", + "appliesTo": "all elements", + "inherited": "yes", + "percentages": "N/A", + "computedValue": "specified value", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "speak-as", + "speakAs" + ], + "syntax": "normal | spell-out || digits || [ literal-punctuation | no-punctuation ]", + "extended": [] + } + ], + [ + "stop-color", + { + "name": "stop-color", + "href": "https://svgwg.org/svg2-draft/pservers.html#StopColorProperty", + "styleDeclaration": [ + "stop-color", + "stopColor" + ], + "extended": [] + } + ], + [ + "stop-opacity", + { + "name": "stop-opacity", + "href": "https://svgwg.org/svg2-draft/pservers.html#StopOpacityProperty", + "styleDeclaration": [ + "stop-opacity", + "stopOpacity" + ], + "extended": [] + } + ], + [ + "string-set", + { + "name": "string-set", + "href": "https://drafts.csswg.org/css-content-3/#propdef-string-set", + "initial": "none", + "appliesTo": "all elements, but not pseudo-elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "the keyword none or a list, each item an identifier paired with a list of string values", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "string-set", + "stringSet" + ], + "syntax": "none | [ <custom-ident> <string>+ ]#", + "extended": [] + } + ], + [ + "stroke", + { + "name": "stroke", + "href": "https://svgwg.org/svg2-draft/painting.html#StrokeProperty", + "initial": "none", + "appliesTo": "shapes and text content elements", + "inherited": "yes", + "percentages": "N/A", + "media": "visual", + "computedValue": "as specified, but with <color> values computed and <url> values made absolute", + "animationType": "by computed value", + "styleDeclaration": [ + "stroke" + ], + "syntax": "<paint>", + "extended": [] + } + ], + [ + "stroke-align", + { + "name": "stroke-align", + "href": "https://drafts.fxtf.org/fill-stroke-3/#propdef-stroke-align", + "initial": "center", + "appliesTo": "text and SVG shapes", + "inherited": "yes", + "percentages": "N/A", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "media": "visual", + "styleDeclaration": [ + "stroke-align", + "strokeAlign" + ], + "syntax": "center | inset | outset", + "extended": [] + } + ], + [ + "stroke-alignment", + { + "name": "stroke-alignment", + "href": "https://svgwg.org/specs/strokes/#StrokeAlignmentProperty", + "initial": "center", + "appliesTo": "shapes and text content elements", + "inherited": "yes", + "percentages": "N/A", + "media": "visual", + "computed value": "as specified", + "animatable": "yes", + "styleDeclaration": [ + "stroke-alignment", + "strokeAlignment" + ], + "syntax": "center | inner | outer", + "extended": [] + } + ], + [ + "stroke-break", + { + "name": "stroke-break", + "href": "https://drafts.fxtf.org/fill-stroke-3/#propdef-stroke-break", + "initial": "bounding-box", + "appliesTo": "all elements", + "inherited": "?", + "percentages": "N/A", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "media": "visual", + "styleDeclaration": [ + "stroke-break", + "strokeBreak" + ], + "syntax": "bounding-box | slice | clone", + "extended": [] + } + ], + [ + "stroke-color", + { + "name": "stroke-color", + "href": "https://drafts.fxtf.org/fill-stroke-3/#propdef-stroke-color", + "initial": "transparent", + "appliesTo": "text and SVG shapes", + "inherited": "yes", + "percentages": "N/A", + "computedValue": "the computed color", + "canonicalOrder": "per grammar", + "animationType": "by computed value", + "media": "visual", + "styleDeclaration": [ + "stroke-color", + "strokeColor" + ], + "syntax": "<color>#", + "extended": [] + } + ], + [ + "stroke-dash-corner", + { + "name": "stroke-dash-corner", + "href": "https://drafts.fxtf.org/fill-stroke-3/#propdef-stroke-dash-corner", + "initial": "none", + "appliesTo": "text and SVG shapes", + "inherited": "yes", + "percentages": "N/A", + "computedValue": "specified value, with lengths made absolute", + "canonicalOrder": "per grammar", + "animationType": "by computed value if <length>, otherwise discrete", + "media": "visual", + "styleDeclaration": [ + "stroke-dash-corner", + "strokeDashCorner" + ], + "syntax": "none | <length>", + "extended": [] + } + ], + [ + "stroke-dash-justify", + { + "name": "stroke-dash-justify", + "href": "https://drafts.fxtf.org/fill-stroke-3/#propdef-stroke-dash-justify", + "initial": "none", + "appliesTo": "text and SVG shapes", + "inherited": "yes", + "percentages": "N/A", + "computedValue": "specified value, with lengths made absolute", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "media": "visual", + "styleDeclaration": [ + "stroke-dash-justify", + "strokeDashJustify" + ], + "syntax": "none | [ stretch | compress ] || [ dashes || gaps ]", + "extended": [] + } + ], + [ + "stroke-dashadjust", + { + "name": "stroke-dashadjust", + "href": "https://svgwg.org/specs/strokes/#StrokeDashadjustProperty", + "initial": "none", + "appliesTo": "shapes and text content elements", + "inherited": "yes", + "percentages": "N/A", + "media": "visual", + "computed value": "as specified", + "animatable": "yes", + "styleDeclaration": [ + "stroke-dashadjust", + "strokeDashadjust" + ], + "syntax": "none | [stretch | compress] [dashes | gaps]?", + "extended": [] + } + ], + [ + "stroke-dasharray", + { + "name": "stroke-dasharray", + "href": "https://drafts.fxtf.org/fill-stroke-3/#propdef-stroke-dasharray", + "initial": "none", + "appliesTo": "text and SVG shapes", + "inherited": "yes", + "percentages": "relative to the scaled viewport size", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "repeatable list", + "media": "visual", + "styleDeclaration": [ + "stroke-dasharray", + "strokeDasharray" + ], + "syntax": "none | [<length-percentage> | <number>]+#", + "extended": [] + } + ], + [ + "stroke-dashcorner", + { + "name": "stroke-dashcorner", + "href": "https://svgwg.org/specs/strokes/#StrokeDashcornerProperty", + "initial": "none", + "appliesTo": "shapes and text content elements", + "inherited": "yes", + "percentages": "refer to the size of the current viewport (see Units)", + "media": "visual", + "computed value": "absolute length or keyword specified", + "animatable": "yes", + "styleDeclaration": [ + "stroke-dashcorner", + "strokeDashcorner" + ], + "syntax": "none | <length>", + "extended": [] + } + ], + [ + "stroke-dashoffset", + { + "name": "stroke-dashoffset", + "href": "https://drafts.fxtf.org/fill-stroke-3/#propdef-stroke-dashoffset", + "initial": "0", + "appliesTo": "text and SVG shapes", + "inherited": "yes", + "percentages": "relative to the scaled viewport size", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "repeatable list", + "media": "visual", + "styleDeclaration": [ + "stroke-dashoffset", + "strokeDashoffset" + ], + "syntax": "<length-percentage> | <number>", + "extended": [] + } + ], + [ + "stroke-image", + { + "name": "stroke-image", + "href": "https://drafts.fxtf.org/fill-stroke-3/#propdef-stroke-image", + "initial": "none", + "appliesTo": "text and SVG shapes", + "inherited": "yes", + "percentages": "N/A", + "computedValue": "as specified, with any <image> computed", + "canonicalOrder": "per grammar", + "animationType": "repeatable list", + "media": "visual", + "styleDeclaration": [ + "stroke-image", + "strokeImage" + ], + "syntax": "<paint>#", + "extended": [] + } + ], + [ + "stroke-linecap", + { + "name": "stroke-linecap", + "href": "https://drafts.fxtf.org/fill-stroke-3/#propdef-stroke-linecap", + "initial": "butt", + "appliesTo": "text and SVG shapes", + "inherited": "yes", + "percentages": "N/A", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "media": "visual", + "styleDeclaration": [ + "stroke-linecap", + "strokeLinecap" + ], + "syntax": "butt | round | square", + "extended": [] + } + ], + [ + "stroke-linejoin", + { + "name": "stroke-linejoin", + "href": "https://drafts.fxtf.org/fill-stroke-3/#propdef-stroke-linejoin", + "initial": "miter", + "appliesTo": "text and SVG shapes", + "inherited": "yes", + "percentages": "N/A", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "media": "visual", + "styleDeclaration": [ + "stroke-linejoin", + "strokeLinejoin" + ], + "syntax": "[ crop | arcs | miter ] || [ bevel | round | fallback ]", + "extended": [] + } + ], + [ + "stroke-miterlimit", + { + "name": "stroke-miterlimit", + "href": "https://drafts.fxtf.org/fill-stroke-3/#propdef-stroke-miterlimit", + "initial": "4", + "appliesTo": "text and SVG shapes", + "inherited": "yes", + "percentages": "N/A", + "computedValue": "a number", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "media": "visual", + "styleDeclaration": [ + "stroke-miterlimit", + "strokeMiterlimit" + ], + "syntax": "<number>", + "extended": [] + } + ], + [ + "stroke-opacity", + { + "name": "stroke-opacity", + "href": "https://drafts.fxtf.org/fill-stroke-3/#propdef-stroke-opacity", + "initial": "1", + "appliesTo": "text and SVG shapes", + "inherited": "yes", + "percentages": "N/A", + "computedValue": "the specified value converted to a <number>, clamped to the range [0,1]", + "canonicalOrder": "per grammar", + "animationType": "by computed value", + "media": "visual", + "styleDeclaration": [ + "stroke-opacity", + "strokeOpacity" + ], + "syntax": "<'opacity'>", + "extended": [] + } + ], + [ + "stroke-origin", + { + "name": "stroke-origin", + "href": "https://drafts.fxtf.org/fill-stroke-3/#propdef-stroke-origin", + "initial": "match-parent", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "media": "visual", + "styleDeclaration": [ + "stroke-origin", + "strokeOrigin" + ], + "syntax": "match-parent | fill-box | stroke-box | content-box | padding-box | border-box", + "extended": [] + } + ], + [ + "stroke-position", + { + "name": "stroke-position", + "href": "https://drafts.fxtf.org/fill-stroke-3/#propdef-stroke-position", + "initial": "0% 0%", + "appliesTo": "text and SVG shapes", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "A list, each item consisting of: a pair of offsets (horizontal and vertical) from the top left origin each given as a combination of an absolute length and a percentage", + "canonicalOrder": "per grammar", + "animationType": "repeatable list", + "media": "visual", + "styleDeclaration": [ + "stroke-position", + "strokePosition" + ], + "syntax": "<position>#", + "extended": [] + } + ], + [ + "stroke-repeat", + { + "name": "stroke-repeat", + "href": "https://drafts.fxtf.org/fill-stroke-3/#propdef-stroke-repeat", + "initial": "repeat", + "appliesTo": "text and SVG shapes", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "A list, each item consisting of: two keywords, one per dimension", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "media": "visual", + "styleDeclaration": [ + "stroke-repeat", + "strokeRepeat" + ], + "syntax": "<repeat-style>#", + "extended": [] + } + ], + [ + "stroke-size", + { + "name": "stroke-size", + "href": "https://drafts.fxtf.org/fill-stroke-3/#propdef-stroke-size", + "initial": "auto", + "appliesTo": "text and SVG shapes", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "as specified, but with lengths made absolute and omitted auto keywords filled in", + "canonicalOrder": "per grammar", + "animationType": "repeatable list", + "media": "visual", + "styleDeclaration": [ + "stroke-size", + "strokeSize" + ], + "syntax": "<bg-size>#", + "extended": [] + } + ], + [ + "stroke-width", + { + "name": "stroke-width", + "href": "https://drafts.fxtf.org/fill-stroke-3/#propdef-stroke-width", + "initial": "1px", + "appliesTo": "text and SVG shapes", + "inherited": "yes", + "percentages": "relative to the scaled viewport size", + "computedValue": "the absolute length, or percentage", + "canonicalOrder": "per grammar", + "animationType": "by computed value", + "media": "visual", + "styleDeclaration": [ + "stroke-width", + "strokeWidth" + ], + "syntax": "[<length-percentage> | <number>]#", + "extended": [] + } + ], + [ + "tab-size", + { + "name": "tab-size", + "href": "https://drafts.csswg.org/css-text-4/#propdef-tab-size", + "initial": "8", + "appliesTo": "text", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "the specified number or absolute length", + "canonicalOrder": "n/a", + "animationType": "by computed value type", + "styleDeclaration": [ + "tab-size", + "tabSize" + ], + "syntax": "<number [0,∞]> | <length [0,∞]>", + "extended": [] + } + ], + [ + "table-layout", + { + "name": "table-layout", + "href": "https://drafts.csswg.org/css-tables-3/#propdef-table-layout", + "initial": "auto", + "appliesTo": "table grid boxes", + "inherited": "no", + "percentages": "n/a", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "table-layout", + "tableLayout" + ], + "syntax": "auto | fixed", + "extended": [] + } + ], + [ + "text-align", + { + "name": "text-align", + "href": "https://drafts.csswg.org/css-text-4/#propdef-text-align", + "initial": "start", + "appliesTo": "block containers", + "inherited": "yes", + "percentages": "see individual properties", + "computedValue": "see individual properties", + "animationType": "discrete", + "canonicalOrder": "n/a", + "styleDeclaration": [ + "text-align", + "textAlign" + ], + "syntax": "start | end | left | right | center | <string> | justify | match-parent | justify-all", + "extended": [] + } + ], + [ + "text-align-all", + { + "name": "text-align-all", + "href": "https://drafts.csswg.org/css-text-4/#propdef-text-align-all", + "initial": "start", + "appliesTo": "block containers", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "keyword as specified, except for match-parent which computes as defined above", + "canonicalOrder": "n/a", + "animationType": "discrete", + "styleDeclaration": [ + "text-align-all", + "textAlignAll" + ], + "syntax": "start | end | left | right | center | <string> | justify | match-parent", + "extended": [] + } + ], + [ + "text-align-last", + { + "name": "text-align-last", + "href": "https://drafts.csswg.org/css-text-4/#propdef-text-align-last", + "initial": "auto", + "appliesTo": "block containers", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "keyword as specified, except for match-parent which computes as defined above", + "canonicalOrder": "n/a", + "animationType": "discrete", + "styleDeclaration": [ + "text-align-last", + "textAlignLast" + ], + "syntax": "auto | start | end | left | right | center | justify | match-parent", + "extended": [] + } + ], + [ + "text-anchor", + { + "name": "text-anchor", + "href": "https://svgwg.org/svg2-draft/text.html#TextAnchorProperty", + "initial": "start", + "appliesTo": "text content elements", + "inherited": "yes", + "percentages": "N/A", + "media": "visual", + "computedValue": "as specified", + "animationType": "discrete", + "styleDeclaration": [ + "text-anchor", + "textAnchor" + ], + "syntax": "start | middle | end", + "extended": [] + } + ], + [ + "text-autospace", + { + "name": "text-autospace", + "href": "https://drafts.csswg.org/css-text-4/#propdef-text-autospace", + "initial": "normal", + "appliesTo": "text", + "inherited": "yes", + "percentages": "N/A", + "computedValue": "specified keyword(s)", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "text-autospace", + "textAutospace" + ], + "syntax": "normal | <autospace> | auto", + "extended": [] + } + ], + [ + "text-box", + { + "name": "text-box", + "href": "https://drafts.csswg.org/css-inline-3/#propdef-text-box", + "initial": "normal", + "appliesTo": "block containers, multi-column containers, and inline boxes", + "inherited": "no", + "percentages": "N/A", + "computedValue": "the specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "text-box", + "textBox" + ], + "syntax": "normal | <'text-box-trim'> || <'text-box-edge'>", + "extended": [] + } + ], + [ + "text-box-edge", + { + "name": "text-box-edge", + "href": "https://drafts.csswg.org/css-inline-3/#propdef-text-box-edge", + "initial": "auto", + "appliesTo": "block containers and inline boxes", + "inherited": "yes", + "percentages": "N/A", + "computedValue": "the specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "text-box-edge", + "textBoxEdge" + ], + "syntax": "auto | <text-edge>", + "extended": [] + } + ], + [ + "text-box-trim", + { + "name": "text-box-trim", + "href": "https://drafts.csswg.org/css-inline-3/#propdef-text-box-trim", + "initial": "none", + "appliesTo": "block containers, multi-column containers, and inline boxes", + "inherited": "no", + "percentages": "N/A", + "computedValue": "the specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "text-box-trim", + "textBoxTrim" + ], + "syntax": "none | trim-start | trim-end | trim-both", + "extended": [] + } + ], + [ + "text-combine-upright", + { + "name": "text-combine-upright", + "href": "https://drafts.csswg.org/css-writing-modes-4/#propdef-text-combine-upright", + "initial": "none", + "appliesTo": "inline boxes and text", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "specified keyword, plus integer if digits", + "canonicalOrder": "n/a", + "animationType": "not animatable", + "styleDeclaration": [ + "text-combine-upright", + "textCombineUpright" + ], + "syntax": "none | all | [ digits <integer [2,4]>? ]", + "extended": [] + } + ], + [ + "text-decoration", + { + "name": "text-decoration", + "href": "https://drafts.csswg.org/css-text-decor-4/#propdef-text-decoration", + "initial": "see individual properties", + "appliesTo": "see individual properties", + "inherited": "see individual properties", + "percentages": "see individual properties", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "text-decoration", + "textDecoration" + ], + "syntax": "<'text-decoration-line'> || <'text-decoration-thickness'> || <'text-decoration-style'> || <'text-decoration-color'>", + "extended": [] + } + ], + [ + "text-decoration-color", + { + "name": "text-decoration-color", + "href": "https://drafts.csswg.org/css-text-decor-4/#propdef-text-decoration-color", + "initial": "currentcolor", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "n/a", + "computedValue": "computed color", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "styleDeclaration": [ + "text-decoration-color", + "textDecorationColor" + ], + "syntax": "<color>", + "extended": [] + } + ], + [ + "text-decoration-line", + { + "name": "text-decoration-line", + "href": "https://drafts.csswg.org/css-text-decor-4/#propdef-text-decoration-line", + "initial": "none", + "appliesTo": "all elements", + "inherited": "no (but see prose, above)", + "percentages": "n/a", + "computedValue": "specified keyword(s)", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "text-decoration-line", + "textDecorationLine" + ], + "syntax": "none | [ underline || overline || line-through || blink ] | spelling-error | grammar-error", + "extended": [] + } + ], + [ + "text-decoration-skip", + { + "name": "text-decoration-skip", + "href": "https://drafts.csswg.org/css-text-decor-4/#propdef-text-decoration-skip", + "initial": "See individual properties", + "appliesTo": "all elements", + "inherited": "yes", + "percentages": "N/A", + "computedValue": "See individual properties", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "text-decoration-skip", + "textDecorationSkip" + ], + "syntax": "none | auto", + "extended": [] + } + ], + [ + "text-decoration-skip-box", + { + "name": "text-decoration-skip-box", + "href": "https://drafts.csswg.org/css-text-decor-4/#propdef-text-decoration-skip-box", + "initial": "none", + "appliesTo": "all elements", + "inherited": "yes", + "percentages": "N/A", + "computedValue": "specified keyword(s)", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "text-decoration-skip-box", + "textDecorationSkipBox" + ], + "syntax": "none | all", + "extended": [] + } + ], + [ + "text-decoration-skip-ink", + { + "name": "text-decoration-skip-ink", + "href": "https://drafts.csswg.org/css-text-decor-4/#propdef-text-decoration-skip-ink", + "initial": "auto", + "appliesTo": "all elements", + "inherited": "yes", + "percentages": "N/A", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "text-decoration-skip-ink", + "textDecorationSkipInk" + ], + "syntax": "auto | none | all", + "extended": [] + } + ], + [ + "text-decoration-skip-self", + { + "name": "text-decoration-skip-self", + "href": "https://drafts.csswg.org/css-text-decor-4/#propdef-text-decoration-skip-self", + "initial": "auto", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "specified keyword(s) except for skip-all, see below", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "text-decoration-skip-self", + "textDecorationSkipSelf" + ], + "syntax": "auto | skip-all | [ skip-underline || skip-overline || skip-line-through ] | no-skip", + "extended": [] + } + ], + [ + "text-decoration-skip-spaces", + { + "name": "text-decoration-skip-spaces", + "href": "https://drafts.csswg.org/css-text-decor-4/#propdef-text-decoration-skip-spaces", + "initial": "start end", + "appliesTo": "all elements", + "inherited": "yes", + "percentages": "N/A", + "computedValue": "specified keyword(s)", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "text-decoration-skip-spaces", + "textDecorationSkipSpaces" + ], + "syntax": "none | all | [ start || end ]", + "extended": [] + } + ], + [ + "text-decoration-style", + { + "name": "text-decoration-style", + "href": "https://drafts.csswg.org/css-text-decor-4/#propdef-text-decoration-style", + "initial": "solid", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "n/a", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "text-decoration-style", + "textDecorationStyle" + ], + "syntax": "solid | double | dotted | dashed | wavy", + "extended": [] + } + ], + [ + "text-decoration-thickness", + { + "name": "text-decoration-thickness", + "href": "https://drafts.csswg.org/css-text-decor-4/#propdef-text-decoration-thickness", + "initial": "auto", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "as specified, with <length-percentage> values computed", + "canonicalOrder": "per grammar", + "animationType": "by computed value", + "styleDeclaration": [ + "text-decoration-thickness", + "textDecorationThickness" + ], + "syntax": "auto | from-font | <length-percentage>", + "extended": [] + } + ], + [ + "text-emphasis", + { + "name": "text-emphasis", + "href": "https://drafts.csswg.org/css-text-decor-4/#propdef-text-emphasis", + "initial": "see individual properties", + "appliesTo": "see individual properties", + "inherited": "see individual properties", + "percentages": "see individual properties", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "text-emphasis", + "textEmphasis" + ], + "syntax": "<'text-emphasis-style'> || <'text-emphasis-color'>", + "extended": [] + } + ], + [ + "text-emphasis-color", + { + "name": "text-emphasis-color", + "href": "https://drafts.csswg.org/css-text-decor-4/#propdef-text-emphasis-color", + "initial": "currentcolor", + "appliesTo": "text", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "computed color", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "styleDeclaration": [ + "text-emphasis-color", + "textEmphasisColor" + ], + "syntax": "<color>", + "extended": [] + } + ], + [ + "text-emphasis-position", + { + "name": "text-emphasis-position", + "href": "https://drafts.csswg.org/css-text-decor-4/#propdef-text-emphasis-position", + "initial": "over right", + "appliesTo": "text", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "specified keyword(s)", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "text-emphasis-position", + "textEmphasisPosition" + ], + "syntax": "[ over | under ] && [ right | left ]?", + "extended": [] + } + ], + [ + "text-emphasis-skip", + { + "name": "text-emphasis-skip", + "href": "https://drafts.csswg.org/css-text-decor-4/#propdef-text-emphasis-skip", + "initial": "spaces punctuation", + "appliesTo": "text", + "inherited": "yes", + "percentages": "N/A", + "computedValue": "specified keyword(s)", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "text-emphasis-skip", + "textEmphasisSkip" + ], + "syntax": "spaces || punctuation || symbols || narrow", + "extended": [] + } + ], + [ + "text-emphasis-style", + { + "name": "text-emphasis-style", + "href": "https://drafts.csswg.org/css-text-decor-4/#propdef-text-emphasis-style", + "initial": "none", + "appliesTo": "text", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "the keyword none, a pair of keywords representing the shape and fill, or a string", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "text-emphasis-style", + "textEmphasisStyle" + ], + "syntax": "none | [ [ filled | open ] || [ dot | circle | double-circle | triangle | sesame ] ] | <string>", + "extended": [] + } + ], + [ + "text-group-align", + { + "name": "text-group-align", + "href": "https://drafts.csswg.org/css-text-4/#propdef-text-group-align", + "initial": "none", + "appliesTo": "block containers", + "inherited": "no", + "percentages": "N/A", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "text-group-align", + "textGroupAlign" + ], + "syntax": "none | start | end | left | right | center", + "extended": [] + } + ], + [ + "text-indent", + { + "name": "text-indent", + "href": "https://drafts.csswg.org/css-text-4/#propdef-text-indent", + "initial": "0", + "appliesTo": "block containers", + "inherited": "yes", + "percentages": "refers to block container’s own inline-axis inner size", + "computedValue": "computed <length-percentage> value, plus any specified keywords", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "styleDeclaration": [ + "text-indent", + "textIndent" + ], + "syntax": "[ <length-percentage> ] && hanging? && each-line?", + "extended": [] + } + ], + [ + "text-justify", + { + "name": "text-justify", + "href": "https://drafts.csswg.org/css-text-4/#propdef-text-justify", + "initial": "auto", + "appliesTo": "text", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "specified keyword (except for the distribute legacy value)", + "canonicalOrder": "n/a", + "animationType": "discrete", + "styleDeclaration": [ + "text-justify", + "textJustify" + ], + "syntax": "[ auto | none | inter-word | inter-character | ruby ] || no-compress", + "extended": [] + } + ], + [ + "text-orientation", + { + "name": "text-orientation", + "href": "https://drafts.csswg.org/css-writing-modes-4/#propdef-text-orientation", + "initial": "mixed", + "appliesTo": "all elements except table row groups, rows, column groups, and columns; and text", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "specified value", + "canonicalOrder": "n/a", + "animationType": "not animatable", + "styleDeclaration": [ + "text-orientation", + "textOrientation" + ], + "syntax": "mixed | upright | sideways", + "extended": [] + } + ], + [ + "text-overflow", + { + "name": "text-overflow", + "href": "https://drafts.csswg.org/css-overflow-4/#propdef-text-overflow", + "initial": "clip", + "appliesTo": "block containers", + "inherited": "no", + "percentages": "refer to the width of the line box", + "computedValue": "as specified, with lengths made absolute", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "styleDeclaration": [ + "text-overflow", + "textOverflow" + ], + "syntax": "[ clip | ellipsis | <string> | fade | <fade()> ]{1,2}", + "extended": [] + } + ], + [ + "text-rendering", + { + "name": "text-rendering", + "href": "https://svgwg.org/svg2-draft/painting.html#TextRenderingProperty", + "initial": "auto", + "appliesTo": "‘text’", + "inherited": "yes", + "percentages": "N/A", + "media": "visual", + "computedValue": "as specified", + "animationType": "discrete", + "styleDeclaration": [ + "text-rendering", + "textRendering" + ], + "syntax": "auto | optimizeSpeed | optimizeLegibility | geometricPrecision", + "extended": [] + } + ], + [ + "text-shadow", + { + "name": "text-shadow", + "href": "https://drafts.csswg.org/css-text-decor-4/#propdef-text-shadow", + "initial": "none", + "appliesTo": "text", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "either the keyword none or a list, each item consisting of four absolute lengths plus a computed color and optionally also an inset keyword", + "canonicalOrder": "per grammar", + "animationType": "as shadow list", + "styleDeclaration": [ + "text-shadow", + "textShadow" + ], + "syntax": "none | <shadow>#", + "extended": [] + } + ], + [ + "text-spacing", + { + "name": "text-spacing", + "href": "https://drafts.csswg.org/css-text-4/#propdef-text-spacing", + "initial": "see individual properties", + "appliesTo": "text", + "inherited": "yes", + "percentages": "N/A", + "computedValue": "specified keyword(s)", + "animationType": "discrete", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "text-spacing", + "textSpacing" + ], + "syntax": "none | auto | <spacing-trim> || <autospace>", + "extended": [] + } + ], + [ + "text-spacing-trim", + { + "name": "text-spacing-trim", + "href": "https://drafts.csswg.org/css-text-4/#propdef-text-spacing-trim", + "initial": "normal", + "appliesTo": "text", + "inherited": "yes", + "percentages": "N/A", + "computedValue": "specified keyword(s)", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "text-spacing-trim", + "textSpacingTrim" + ], + "syntax": "<spacing-trim> | auto", + "extended": [] + } + ], + [ + "text-transform", + { + "name": "text-transform", + "href": "https://drafts.csswg.org/css-text-4/#propdef-text-transform", + "initial": "none", + "appliesTo": "text", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "specified keyword", + "canonicalOrder": "n/a", + "animationType": "discrete", + "styleDeclaration": [ + "text-transform", + "textTransform" + ], + "syntax": "none | [capitalize | uppercase | lowercase ] || full-width || full-size-kana | math-auto", + "extended": [] + } + ], + [ + "text-underline-offset", + { + "name": "text-underline-offset", + "href": "https://drafts.csswg.org/css-text-decor-4/#propdef-text-underline-offset", + "initial": "auto", + "appliesTo": "all elements", + "inherited": "yes", + "percentages": "N/A", + "computedValue": "as specified, with <length-percentage> values computed", + "canonicalOrder": "per grammar", + "animationType": "by computed value", + "styleDeclaration": [ + "text-underline-offset", + "textUnderlineOffset" + ], + "syntax": "auto | <length-percentage>", + "extended": [] + } + ], + [ + "text-underline-position", + { + "name": "text-underline-position", + "href": "https://drafts.csswg.org/css-text-decor-4/#propdef-text-underline-position", + "initial": "auto", + "appliesTo": "all elements", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "specified keyword(s)", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "text-underline-position", + "textUnderlinePosition" + ], + "syntax": "auto | [ from-font | under ] || [ left | right ]", + "extended": [] + } + ], + [ + "text-wrap", + { + "name": "text-wrap", + "href": "https://drafts.csswg.org/css-text-4/#propdef-text-wrap", + "initial": "wrap", + "appliesTo": "see individual properties", + "inherited": "see individual properties", + "percentages": "see individual properties", + "computedValue": "see individual properties", + "canonicalOrder": "per grammar", + "animationType": "see individual properties", + "styleDeclaration": [ + "text-wrap", + "textWrap" + ], + "syntax": "<'text-wrap-mode'> || <'text-wrap-style'>", + "extended": [] + } + ], + [ + "text-wrap-mode", + { + "name": "text-wrap-mode", + "href": "https://drafts.csswg.org/css-text-4/#propdef-text-wrap-mode", + "initial": "wrap", + "appliesTo": "text", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "text-wrap-mode", + "textWrapMode" + ], + "syntax": "wrap | nowrap", + "extended": [] + } + ], + [ + "text-wrap-style", + { + "name": "text-wrap-style", + "href": "https://drafts.csswg.org/css-text-4/#propdef-text-wrap-style", + "initial": "auto", + "appliesTo": "block containers hat establish an inline formatting context", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "text-wrap-style", + "textWrapStyle" + ], + "syntax": "auto | balance | stable | pretty | avoid-orphans", + "extended": [] + } + ], + [ + "timeline-scope", + { + "name": "timeline-scope", + "href": "https://drafts.csswg.org/scroll-animations-1/#propdef-timeline-scope", + "initial": "none", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "n/a", + "computedValue": "the keyword none or a list of CSS identifiers", + "canonicalOrder": "per grammar", + "animationType": "not animatable", + "styleDeclaration": [ + "timeline-scope", + "timelineScope" + ], + "syntax": "none | all | <dashed-ident>#", + "extended": [] + } + ], + [ + "top", + { + "name": "top", + "href": "https://drafts.csswg.org/css-position-3/#propdef-top", + "initial": "auto", + "appliesTo": "positioned elements", + "inherited": "no", + "percentages": "refer to size of containing block; see prose", + "computedValue": "the keyword auto or a computed <length-percentage> value", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "logicalPropertyGroup": "inset", + "styleDeclaration": [ + "top" + ], + "syntax": "auto | <length-percentage> | <anchor()> | <anchor-size()>", + "extended": [ + "https://drafts.csswg.org/css-anchor-position-1/" + ] + } + ], + [ + "transform", + { + "name": "transform", + "href": "https://drafts.csswg.org/css-transforms-1/#propdef-transform", + "initial": "none", + "appliesTo": "transformable elements", + "inherited": "no", + "percentages": "refer to the size of reference box", + "computedValue": "as specified, but with lengths made absolute", + "canonicalOrder": "per grammar", + "animationType": "transform list, see interpolation rules", + "styleDeclaration": [ + "transform" + ], + "syntax": "none | <transform-list>", + "extended": [] + } + ], + [ + "transform-box", + { + "name": "transform-box", + "href": "https://drafts.csswg.org/css-transforms-1/#propdef-transform-box", + "initial": "view-box", + "appliesTo": "transformable elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "transform-box", + "transformBox" + ], + "syntax": "content-box | border-box | fill-box | stroke-box | view-box", + "extended": [] + } + ], + [ + "transform-origin", + { + "name": "transform-origin", + "href": "https://drafts.csswg.org/css-transforms-1/#propdef-transform-origin", + "initial": "50% 50%", + "appliesTo": "transformable elements", + "inherited": "no", + "percentages": "refer to the size of reference box", + "computedValue": "see background-position", + "canonicalOrder": "per grammar", + "animationType": "by computed value", + "styleDeclaration": [ + "transform-origin", + "transformOrigin" + ], + "syntax": "[ left | center | right | top | bottom | <length-percentage> ] | [ left | center | right | <length-percentage> ] [ top | center | bottom | <length-percentage> ] <length>? | [ [ center | left | right ] && [ center | top | bottom ] ] <length>?", + "extended": [] + } + ], + [ + "transform-style", + { + "name": "transform-style", + "href": "https://drafts.csswg.org/css-transforms-2/#propdef-transform-style", + "initial": "flat", + "appliesTo": "transformable elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "usedValue": "flat if a grouping property is present, specified keyword otherwise", + "styleDeclaration": [ + "transform-style", + "transformStyle" + ], + "syntax": "flat | preserve-3d", + "extended": [] + } + ], + [ + "transition", + { + "name": "transition", + "href": "https://drafts.csswg.org/css-transitions-1/#propdef-transition", + "initial": "see individual properties", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "see individual properties", + "animationType": "not animatable", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "transition" + ], + "syntax": "<single-transition>#", + "extended": [] + } + ], + [ + "transition-behavior", + { + "name": "transition-behavior", + "href": "https://drafts.csswg.org/css-transitions-2/#propdef-transition-behavior", + "initial": "normal", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "not animatable", + "styleDeclaration": [ + "transition-behavior", + "transitionBehavior" + ], + "syntax": "<transition-behavior-value>#", + "extended": [] + } + ], + [ + "transition-delay", + { + "name": "transition-delay", + "href": "https://drafts.csswg.org/css-transitions-1/#propdef-transition-delay", + "initial": "0s", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "list, each item a duration", + "canonicalOrder": "per grammar", + "animationType": "not animatable", + "styleDeclaration": [ + "transition-delay", + "transitionDelay" + ], + "syntax": "<time>#", + "extended": [] + } + ], + [ + "transition-duration", + { + "name": "transition-duration", + "href": "https://drafts.csswg.org/css-transitions-1/#propdef-transition-duration", + "initial": "0s", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "list, each item a duration", + "canonicalOrder": "per grammar", + "animationType": "not animatable", + "styleDeclaration": [ + "transition-duration", + "transitionDuration" + ], + "syntax": "<time [0s,∞]>#", + "extended": [] + } + ], + [ + "transition-property", + { + "name": "transition-property", + "href": "https://drafts.csswg.org/css-transitions-1/#propdef-transition-property", + "initial": "all", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "the keyword none else a list of identifiers", + "canonicalOrder": "per grammar", + "animationType": "not animatable", + "styleDeclaration": [ + "transition-property", + "transitionProperty" + ], + "syntax": "none | <single-transition-property>#", + "extended": [] + } + ], + [ + "transition-timing-function", + { + "name": "transition-timing-function", + "href": "https://drafts.csswg.org/css-transitions-1/#propdef-transition-timing-function", + "initial": "ease", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "not animatable", + "styleDeclaration": [ + "transition-timing-function", + "transitionTimingFunction" + ], + "syntax": "<easing-function>#", + "extended": [] + } + ], + [ + "translate", + { + "name": "translate", + "href": "https://drafts.csswg.org/css-transforms-2/#propdef-translate", + "initial": "none", + "appliesTo": "transformable elements", + "inherited": "no", + "percentages": "relative to the width of the reference box (for the first value) or the height (for the second value)", + "computedValue": "the keyword none or a pair of computed <length-percentage> values and an absolute length", + "canonicalOrder": "per grammar", + "animationType": "by computed value, but see below for none", + "styleDeclaration": [ + "translate" + ], + "syntax": "none | <length-percentage> [ <length-percentage> <length>? ]?", + "extended": [] + } + ], + [ + "unicode-bidi", + { + "name": "unicode-bidi", + "href": "https://drafts.csswg.org/css-writing-modes-4/#propdef-unicode-bidi", + "initial": "normal", + "appliesTo": "all elements, but see prose", + "inherited": "no", + "percentages": "n/a", + "computedValue": "specified value", + "canonicalOrder": "per grammar", + "animationType": "not animatable", + "styleDeclaration": [ + "unicode-bidi", + "unicodeBidi" + ], + "syntax": "normal | embed | isolate | bidi-override | isolate-override | plaintext", + "extended": [] + } + ], + [ + "user-select", + { + "name": "user-select", + "href": "https://drafts.csswg.org/css-ui-4/#propdef-user-select", + "initial": "auto", + "appliesTo": "all elements, and optionally to the ::before and ::after pseudo-elements", + "inherited": "no", + "percentages": "n/a", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "user-select", + "userSelect" + ], + "syntax": "auto | text | none | contain | all", + "extended": [] + } + ], + [ + "vector-effect", + { + "name": "vector-effect", + "href": "https://svgwg.org/svg2-draft/coords.html#VectorEffectProperty", + "initial": "none", + "appliesTo": "graphics elements and ‘use’", + "inherited": "no", + "percentages": "N/A", + "media": "visual", + "computedValue": "as specified", + "animationType": "discrete", + "styleDeclaration": [ + "vector-effect", + "vectorEffect" + ], + "syntax": "none | non-scaling-stroke | non-scaling-size | non-rotation | fixed-position", + "extended": [] + } + ], + [ + "vertical-align", + { + "name": "vertical-align", + "href": "https://drafts.csswg.org/css-inline-3/#propdef-vertical-align", + "initial": "baseline", + "appliesTo": "see individual properties", + "inherited": "no", + "percentages": "N/A", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "vertical-align", + "verticalAlign" + ], + "syntax": "[ first | last] || <'alignment-baseline'> || <'baseline-shift'>", + "extended": [] + } + ], + [ + "view-timeline", + { + "name": "view-timeline", + "href": "https://drafts.csswg.org/scroll-animations-1/#propdef-view-timeline", + "initial": "see individual properties", + "appliesTo": "all elements", + "inherited": "see individual properties", + "percentages": "see individual properties", + "computedValue": "see individual properties", + "animationType": "see individual properties", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "view-timeline", + "viewTimeline" + ], + "syntax": "[ <'view-timeline-name'> [ <'view-timeline-axis'> || <'view-timeline-inset'> ]? ]#", + "extended": [] + } + ], + [ + "view-timeline-axis", + { + "name": "view-timeline-axis", + "href": "https://drafts.csswg.org/scroll-animations-1/#propdef-view-timeline-axis", + "initial": "block", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "n/a", + "computedValue": "a list of the keywords specified", + "canonicalOrder": "per grammar", + "animationType": "not animatable", + "styleDeclaration": [ + "view-timeline-axis", + "viewTimelineAxis" + ], + "syntax": "[ block | inline | x | y ]#", + "extended": [] + } + ], + [ + "view-timeline-inset", + { + "name": "view-timeline-inset", + "href": "https://drafts.csswg.org/scroll-animations-1/#propdef-view-timeline-inset", + "initial": "auto", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "relative to the corresponding dimension of the relevant scrollport", + "computedValue": "a list consisting of two-value pairs representing the start and end insets each as either the keyword auto or a computed <length-percentage> value", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "styleDeclaration": [ + "view-timeline-inset", + "viewTimelineInset" + ], + "syntax": "[ [ auto | <length-percentage> ]{1,2} ]#", + "extended": [] + } + ], + [ + "view-timeline-name", + { + "name": "view-timeline-name", + "href": "https://drafts.csswg.org/scroll-animations-1/#propdef-view-timeline-name", + "initial": "none", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "n/a", + "computedValue": "the keyword none or a list of CSS identifiers", + "canonicalOrder": "per grammar", + "animationType": "not animatable", + "styleDeclaration": [ + "view-timeline-name", + "viewTimelineName" + ], + "syntax": "[ none | <dashed-ident> ]#", + "extended": [] + } + ], + [ + "view-transition-class", + { + "name": "view-transition-class", + "href": "https://drafts.csswg.org/css-view-transitions-2/#propdef-view-transition-class", + "initial": "none", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "n/a", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "view-transition-class", + "viewTransitionClass" + ], + "syntax": "none | <custom-ident>+", + "extended": [] + } + ], + [ + "view-transition-group", + { + "name": "view-transition-group", + "href": "https://drafts.csswg.org/css-view-transitions-2/#propdef-view-transition-group", + "initial": "normal", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "n/a", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "view-transition-group", + "viewTransitionGroup" + ], + "syntax": "normal | contain | nearest | <custom-ident>", + "extended": [] + } + ], + [ + "view-transition-name", + { + "name": "view-transition-name", + "href": "https://drafts.csswg.org/css-view-transitions-2/#propdef-view-transition-name", + "initial": "none", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "n/a", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "view-transition-name", + "viewTransitionName" + ], + "syntax": "none | <custom-ident>", + "extended": [] + } + ], + [ + "visibility", + { + "name": "visibility", + "href": "https://drafts.csswg.org/css-display-4/#propdef-visibility", + "initial": "visible", + "appliesTo": "all elements", + "inherited": "yes", + "percentages": "N/A", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "media": "visual", + "styleDeclaration": [ + "visibility" + ], + "syntax": "visible | hidden | force-hidden | collapse", + "extended": [] + } + ], + [ + "voice-balance", + { + "name": "voice-balance", + "href": "https://drafts.csswg.org/css-speech-1/#propdef-voice-balance", + "initial": "center", + "appliesTo": "all elements", + "inherited": "yes", + "percentages": "N/A", + "computedValue": "the specified value resolved to a <number> between -100 and 100 (inclusive)", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "voice-balance", + "voiceBalance" + ], + "syntax": "<number> | left | center | right | leftwards | rightwards", + "extended": [] + } + ], + [ + "voice-duration", + { + "name": "voice-duration", + "href": "https://drafts.csswg.org/css-speech-1/#propdef-voice-duration", + "initial": "auto", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "specified value", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "voice-duration", + "voiceDuration" + ], + "syntax": "auto | <time [0s,∞]>", + "extended": [] + } + ], + [ + "voice-family", + { + "name": "voice-family", + "href": "https://drafts.csswg.org/css-speech-1/#propdef-voice-family", + "initial": "implementation-dependent", + "appliesTo": "all elements", + "inherited": "yes", + "percentages": "N/A", + "computedValue": "specified value", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "voice-family", + "voiceFamily" + ], + "syntax": "[[<family-name> | <generic-voice>],]* [<family-name> | <generic-voice>] | preserve", + "extended": [] + } + ], + [ + "voice-pitch", + { + "name": "voice-pitch", + "href": "https://drafts.csswg.org/css-speech-1/#propdef-voice-pitch", + "initial": "medium", + "appliesTo": "all elements", + "inherited": "yes", + "percentages": "refer to inherited value", + "computedValue": "one of the predefined pitch keywords if only the keyword is specified by itself, otherwise an absolute frequency calculated by converting the keyword value (if any) to a fixed frequency based on the current voice-family and by applying the specified relative offset (if any)", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "voice-pitch", + "voicePitch" + ], + "syntax": "<frequency [0Hz,∞]> && absolute | [[x-low | low | medium | high | x-high] || [<frequency> | <semitones> | <percentage>]]", + "extended": [] + } + ], + [ + "voice-range", + { + "name": "voice-range", + "href": "https://drafts.csswg.org/css-speech-1/#propdef-voice-range", + "initial": "medium", + "appliesTo": "all elements", + "inherited": "yes", + "percentages": "refer to inherited value", + "computedValue": "one of the predefined pitch keywords if only the keyword is specified by itself, otherwise an absolute frequency calculated by converting the keyword value (if any) to a fixed frequency based on the current voice-family and by applying the specified relative offset (if any)", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "voice-range", + "voiceRange" + ], + "syntax": "<frequency [0Hz,∞]> && absolute | [[x-low | low | medium | high | x-high] || [<frequency> | <semitones> | <percentage>]]", + "extended": [] + } + ], + [ + "voice-rate", + { + "name": "voice-rate", + "href": "https://drafts.csswg.org/css-speech-1/#propdef-voice-rate", + "initial": "normal", + "appliesTo": "all elements", + "inherited": "yes", + "percentages": "refer to default value", + "computedValue": "a keyword value, and optionally also a percentage relative to the keyword (if not 100%)", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "voice-rate", + "voiceRate" + ], + "syntax": "[normal | x-slow | slow | medium | fast | x-fast] || <percentage [0,∞]>", + "extended": [] + } + ], + [ + "voice-stress", + { + "name": "voice-stress", + "href": "https://drafts.csswg.org/css-speech-1/#propdef-voice-stress", + "initial": "normal", + "appliesTo": "all elements", + "inherited": "yes", + "percentages": "N/A", + "computedValue": "specified value", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "voice-stress", + "voiceStress" + ], + "syntax": "normal | strong | moderate | none | reduced", + "extended": [] + } + ], + [ + "voice-volume", + { + "name": "voice-volume", + "href": "https://drafts.csswg.org/css-speech-1/#propdef-voice-volume", + "initial": "medium", + "appliesTo": "all elements", + "inherited": "yes", + "percentages": "N/A", + "computedValue": "silent, or a keyword value and optionally also a decibel offset (if not zero)", + "canonicalOrder": "per grammar", + "styleDeclaration": [ + "voice-volume", + "voiceVolume" + ], + "syntax": "silent | [[x-soft | soft | medium | loud | x-loud] || <decibel>]", + "extended": [] + } + ], + [ + "white-space", + { + "name": "white-space", + "href": "https://drafts.csswg.org/css-text-4/#propdef-white-space", + "initial": "normal", + "appliesTo": "text", + "inherited": "see individual properties", + "percentages": "n/a", + "computedValue": "specified keyword", + "canonicalOrder": "n/a", + "animationType": "discrete", + "styleDeclaration": [ + "white-space", + "whiteSpace" + ], + "syntax": "normal | pre | pre-wrap | pre-line | <'white-space-collapse'> || <'text-wrap-mode'> || <'white-space-trim'>", + "extended": [] + } + ], + [ + "white-space-collapse", + { + "name": "white-space-collapse", + "href": "https://drafts.csswg.org/css-text-4/#propdef-white-space-collapse", + "initial": "collapse", + "appliesTo": "text", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "white-space-collapse", + "whiteSpaceCollapse" + ], + "syntax": "collapse | discard | preserve | preserve-breaks | preserve-spaces | break-spaces", + "extended": [] + } + ], + [ + "white-space-trim", + { + "name": "white-space-trim", + "href": "https://drafts.csswg.org/css-text-4/#propdef-white-space-trim", + "initial": "none", + "appliesTo": "inline boxes and block containers", + "inherited": "no", + "percentages": "n/a", + "computedValue": "specified keyword(s)", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "white-space-trim", + "whiteSpaceTrim" + ], + "syntax": "none | discard-before || discard-after || discard-inner", + "extended": [] + } + ], + [ + "widows", + { + "name": "widows", + "href": "https://drafts.csswg.org/css-break-4/#propdef-widows", + "initial": "2", + "appliesTo": "block containers that establish an inline formatting context", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "specified integer", + "canonicalOrder": "per grammar", + "animationType": "by computed value type", + "styleDeclaration": [ + "widows" + ], + "syntax": "<integer [1,∞]>", + "extended": [] + } + ], + [ + "width", + { + "name": "width", + "href": "https://drafts.csswg.org/css-sizing-3/#propdef-width", + "initial": "auto", + "appliesTo": "all elements except non-replaced inlines", + "inherited": "no", + "percentages": "relative to width/height of containing block", + "computedValue": "as specified, with <length-percentage> values computed", + "canonicalOrder": "per grammar", + "animationType": "by computed value type, recursing into fit-content()", + "logicalPropertyGroup": "size", + "styleDeclaration": [ + "width" + ], + "syntax": "auto | <length-percentage [0,∞]> | min-content | max-content | fit-content(<length-percentage [0,∞]>) | <calc-size()> | <anchor-size()> | stretch | fit-content | contain", + "extended": [ + "https://drafts.csswg.org/css-anchor-position-1/", + "https://drafts.csswg.org/css-sizing-4/" + ] + } + ], + [ + "will-change", + { + "name": "will-change", + "href": "https://drafts.csswg.org/css-will-change-1/#propdef-will-change", + "initial": "auto", + "appliesTo": "all elements", + "inherited": "no", + "percentages": "n/a", + "computedValue": "specified value", + "canonicalOrder": "per grammar", + "animationType": "not animatable", + "styleDeclaration": [ + "will-change", + "willChange" + ], + "syntax": "auto | <animateable-feature>#", + "extended": [] + } + ], + [ + "word-break", + { + "name": "word-break", + "href": "https://drafts.csswg.org/css-text-4/#propdef-word-break", + "initial": "normal", + "appliesTo": "text", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "specified keyword", + "canonicalOrder": "n/a", + "animationType": "discrete", + "styleDeclaration": [ + "word-break", + "wordBreak" + ], + "syntax": "normal | break-all | keep-all | manual | auto-phrase | break-word", + "extended": [] + } + ], + [ + "word-space-transform", + { + "name": "word-space-transform", + "href": "https://drafts.csswg.org/css-text-4/#propdef-word-space-transform", + "initial": "none", + "appliesTo": "text", + "inherited": "yes", + "percentages": "N/A", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "word-space-transform", + "wordSpaceTransform" + ], + "syntax": "none | [ space | ideographic-space ] && auto-phrase?", + "extended": [] + } + ], + [ + "word-spacing", + { + "name": "word-spacing", + "href": "https://drafts.csswg.org/css-text-4/#propdef-word-spacing", + "initial": "normal", + "appliesTo": "text", + "inherited": "yes", + "percentages": "relative to computed font-size, i.e. 1em", + "computedValue": "an absolute length and/or a percentage", + "canonicalOrder": "n/a", + "animationType": "by computed value type", + "styleDeclaration": [ + "word-spacing", + "wordSpacing" + ], + "syntax": "normal | <length-percentage>", + "extended": [] + } + ], + [ + "word-wrap", + { + "name": "word-wrap", + "href": "https://drafts.csswg.org/css-text-4/#propdef-word-wrap", + "initial": "normal", + "appliesTo": "text", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "specified keyword", + "canonicalOrder": "n/a", + "animationType": "discrete", + "styleDeclaration": [ + "word-wrap", + "wordWrap" + ], + "syntax": "normal | break-word | anywhere", + "extended": [] + } + ], + [ + "wrap-after", + { + "name": "wrap-after", + "href": "https://drafts.csswg.org/css-text-4/#propdef-wrap-after", + "initial": "auto", + "appliesTo": "inline-level boxes and flex items", + "inherited": "no", + "percentages": "n/a", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "wrap-after", + "wrapAfter" + ], + "syntax": "auto | avoid | avoid-line | avoid-flex | line | flex", + "extended": [] + } + ], + [ + "wrap-before", + { + "name": "wrap-before", + "href": "https://drafts.csswg.org/css-text-4/#propdef-wrap-before", + "initial": "auto", + "appliesTo": "inline-level boxes and flex items", + "inherited": "no", + "percentages": "n/a", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "wrap-before", + "wrapBefore" + ], + "syntax": "auto | avoid | avoid-line | avoid-flex | line | flex", + "extended": [] + } + ], + [ + "wrap-flow", + { + "name": "wrap-flow", + "href": "https://drafts.csswg.org/css-exclusions-1/#propdef-wrap-flow", + "initial": "auto", + "appliesTo": "block-level elements.", + "inherited": "no", + "percentages": "N/A", + "computedValue": "as specified except for element’s whose float computed value is not none, in which case the computed value is auto.", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "wrap-flow", + "wrapFlow" + ], + "syntax": "auto | both | start | end | minimum | maximum | clear", + "extended": [] + } + ], + [ + "wrap-inside", + { + "name": "wrap-inside", + "href": "https://drafts.csswg.org/css-text-4/#propdef-wrap-inside", + "initial": "auto", + "appliesTo": "inline boxes", + "inherited": "no", + "percentages": "n/a", + "computedValue": "specified keyword", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "wrap-inside", + "wrapInside" + ], + "syntax": "auto | avoid", + "extended": [] + } + ], + [ + "wrap-through", + { + "name": "wrap-through", + "href": "https://drafts.csswg.org/css-exclusions-1/#propdef-wrap-through", + "initial": "wrap", + "appliesTo": "block-level elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "animationType": "discrete", + "styleDeclaration": [ + "wrap-through", + "wrapThrough" + ], + "syntax": "wrap | none", + "extended": [] + } + ], + [ + "writing-mode", + { + "name": "writing-mode", + "href": "https://drafts.csswg.org/css-writing-modes-4/#propdef-writing-mode", + "initial": "horizontal-tb", + "appliesTo": "All elements except table row groups, table column groups, table rows, table columns, ruby base containers, ruby annotation containers", + "inherited": "yes", + "percentages": "n/a", + "computedValue": "specified value", + "canonicalOrder": "n/a", + "animationType": "not animatable", + "styleDeclaration": [ + "writing-mode", + "writingMode" + ], + "syntax": "horizontal-tb | vertical-rl | vertical-lr | sideways-rl | sideways-lr", + "extended": [] + } + ], + [ + "z-index", + { + "name": "z-index", + "href": "https://drafts.csswg.org/css2/#propdef-z-index", + "initial": "auto", + "appliesTo": "positioned elements", + "inherited": "no", + "percentages": "N/A", + "computedValue": "as specified", + "canonicalOrder": "per grammar", + "media": "visual", + "styleDeclaration": [ + "z-index", + "zIndex" + ], + "syntax": "auto | <integer> | inherit", + "extended": [] + } + ] +]); |
