@cassida/compiler 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/LICENSE +21 -0
  2. package/config.schema.json +88 -0
  3. package/dist/canonicalizer.d.ts +42 -0
  4. package/dist/canonicalizer.d.ts.map +1 -0
  5. package/dist/canonicalizer.js +185 -0
  6. package/dist/canonicalizer.js.map +1 -0
  7. package/dist/compile.d.ts +46 -0
  8. package/dist/compile.d.ts.map +1 -0
  9. package/dist/compile.js +84 -0
  10. package/dist/compile.js.map +1 -0
  11. package/dist/config.d.ts +182 -0
  12. package/dist/config.d.ts.map +1 -0
  13. package/dist/config.js +150 -0
  14. package/dist/config.js.map +1 -0
  15. package/dist/emitter.d.ts +44 -0
  16. package/dist/emitter.d.ts.map +1 -0
  17. package/dist/emitter.js +189 -0
  18. package/dist/emitter.js.map +1 -0
  19. package/dist/generated-property-specs.d.ts +3193 -0
  20. package/dist/generated-property-specs.d.ts.map +1 -0
  21. package/dist/generated-property-specs.js +472 -0
  22. package/dist/generated-property-specs.js.map +1 -0
  23. package/dist/hasher.d.ts +8 -0
  24. package/dist/hasher.d.ts.map +1 -0
  25. package/dist/hasher.js +10 -0
  26. package/dist/hasher.js.map +1 -0
  27. package/dist/index.d.ts +23 -0
  28. package/dist/index.d.ts.map +1 -0
  29. package/dist/index.js +13 -0
  30. package/dist/index.js.map +1 -0
  31. package/dist/modifier-spec.d.ts +104 -0
  32. package/dist/modifier-spec.d.ts.map +1 -0
  33. package/dist/modifier-spec.js +52 -0
  34. package/dist/modifier-spec.js.map +1 -0
  35. package/dist/plugin.d.ts +66 -0
  36. package/dist/plugin.d.ts.map +1 -0
  37. package/dist/plugin.js +65 -0
  38. package/dist/plugin.js.map +1 -0
  39. package/dist/property-spec.d.ts +321 -0
  40. package/dist/property-spec.d.ts.map +1 -0
  41. package/dist/property-spec.js +382 -0
  42. package/dist/property-spec.js.map +1 -0
  43. package/dist/registry.d.ts +71 -0
  44. package/dist/registry.d.ts.map +1 -0
  45. package/dist/registry.js +123 -0
  46. package/dist/registry.js.map +1 -0
  47. package/dist/types.d.ts +135 -0
  48. package/dist/types.d.ts.map +1 -0
  49. package/dist/types.js +28 -0
  50. package/dist/types.js.map +1 -0
  51. package/dist/util.d.ts +6 -0
  52. package/dist/util.d.ts.map +1 -0
  53. package/dist/util.js +6 -0
  54. package/dist/util.js.map +1 -0
  55. package/package.json +60 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generated-property-specs.d.ts","sourceRoot":"","sources":["../src/generated-property-specs.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAED,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+ce,CAAC;AAEnD,MAAM,MAAM,gBAAgB,GAAG,OAAO,sBAAsB,CAAC;AAC7D,MAAM,MAAM,mBAAmB,GAAG,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,472 @@
1
+ // AUTO-GENERATED by scripts/generate-property-specs.ts. DO NOT EDIT BY HAND.
2
+ // Source: mdn-data/css/properties.json
3
+ // Run `pnpm codegen` from packages/compiler to regenerate.
4
+ //
5
+ // Filter: status === 'standard', no vendor prefix, no blacklisted shorthand.
6
+ // Surviving entries: 462
7
+ // Skipped: 201 (see codegen script for filter rules).
8
+ export const generatedPropertySpecs = {
9
+ accentColor: { property: 'accent-color', syntax: 'auto | <color>', initialValue: 'auto', animatable: true, inherits: true },
10
+ alignContent: { property: 'align-content', syntax: 'normal | <baseline-position> | <content-distribution> | <overflow-position>? <content-position>', initialValue: 'normal', animatable: false, inherits: false },
11
+ alignItems: { property: 'align-items', syntax: 'normal | stretch | <baseline-position> | [ <overflow-position>? <self-position> ] | anchor-center', initialValue: 'normal', animatable: false, inherits: false },
12
+ alignSelf: { property: 'align-self', syntax: 'auto | normal | stretch | <baseline-position> | <overflow-position>? <self-position> | anchor-center', initialValue: 'auto', animatable: false, inherits: false },
13
+ alignmentBaseline: { property: 'alignment-baseline', syntax: 'baseline | alphabetic | ideographic | middle | central | mathematical | text-before-edge | text-after-edge', initialValue: 'baseline', animatable: false, inherits: false },
14
+ animationComposition: { property: 'animation-composition', syntax: '<single-animation-composition>#', initialValue: 'replace', animatable: true, inherits: false },
15
+ animationDelay: { property: 'animation-delay', syntax: '<time>#', initialValue: '0s', animatable: true, inherits: false },
16
+ animationDirection: { property: 'animation-direction', syntax: '<single-animation-direction>#', initialValue: 'normal', animatable: true, inherits: false },
17
+ animationDuration: { property: 'animation-duration', syntax: '[ auto | <time [0s,∞]> ]#', initialValue: '0s', animatable: true, inherits: false },
18
+ animationFillMode: { property: 'animation-fill-mode', syntax: '<single-animation-fill-mode>#', initialValue: 'none', animatable: true, inherits: false },
19
+ animationIterationCount: { property: 'animation-iteration-count', syntax: '<single-animation-iteration-count>#', initialValue: '1', animatable: true, inherits: false },
20
+ animationName: { property: 'animation-name', syntax: '[ none | <keyframes-name> ]#', initialValue: 'none', animatable: true, inherits: false },
21
+ animationPlayState: { property: 'animation-play-state', syntax: '<single-animation-play-state>#', initialValue: 'running', animatable: true, inherits: false },
22
+ animationTimingFunction: { property: 'animation-timing-function', syntax: '<easing-function>#', initialValue: 'ease', animatable: true, inherits: false },
23
+ animationTrigger: { property: 'animation-trigger', syntax: '[ none | [ <dashed-ident> <animation-action>+ ]+ ]#', initialValue: 'none', animatable: true, inherits: false },
24
+ appearance: { property: 'appearance', syntax: 'none | auto | <compat-auto> | <compat-special>', initialValue: 'none', animatable: false, inherits: false },
25
+ aspectRatio: { property: 'aspect-ratio', syntax: 'auto || <ratio>', initialValue: 'auto', animatable: true, inherits: false },
26
+ backdropFilter: { property: 'backdrop-filter', syntax: 'none | <filter-value-list>', initialValue: 'none', animatable: true, inherits: false },
27
+ backfaceVisibility: { property: 'backface-visibility', syntax: 'visible | hidden', initialValue: 'visible', animatable: false, inherits: false },
28
+ backgroundAttachment: { property: 'background-attachment', syntax: '<attachment>#', initialValue: 'scroll', animatable: false, inherits: false },
29
+ backgroundBlendMode: { property: 'background-blend-mode', syntax: '<blend-mode>#', initialValue: 'normal', animatable: true, inherits: false },
30
+ backgroundClip: { property: 'background-clip', syntax: '<bg-clip>#', initialValue: 'border-box', animatable: true, inherits: false },
31
+ backgroundColor: { property: 'background-color', syntax: '<color>', initialValue: 'transparent', animatable: true, inherits: false },
32
+ backgroundImage: { property: 'background-image', syntax: '<bg-image>#', initialValue: 'none', animatable: false, inherits: false },
33
+ backgroundOrigin: { property: 'background-origin', syntax: '<visual-box>#', initialValue: 'padding-box', animatable: true, inherits: false },
34
+ backgroundPosition: { property: 'background-position', syntax: '<bg-position>#', initialValue: '0% 0%', animatable: true, inherits: false },
35
+ backgroundPositionX: { property: 'background-position-x', syntax: '[ center | [ [ left | right | x-start | x-end ]? <length-percentage>? ]! ]#', initialValue: '0%', animatable: true, inherits: false },
36
+ backgroundPositionY: { property: 'background-position-y', syntax: '[ center | [ [ top | bottom | y-start | y-end ]? <length-percentage>? ]! ]#', initialValue: '0%', animatable: true, inherits: false },
37
+ backgroundRepeat: { property: 'background-repeat', syntax: '<repeat-style>#', initialValue: 'repeat', animatable: false, inherits: false },
38
+ backgroundSize: { property: 'background-size', syntax: '<bg-size>#', initialValue: 'auto auto', animatable: true, inherits: false },
39
+ baselineShift: { property: 'baseline-shift', syntax: '<length-percentage> | sub | super | baseline', initialValue: '0', animatable: true, inherits: false },
40
+ baselineSource: { property: 'baseline-source', syntax: 'auto | first | last', initialValue: 'auto', animatable: false, inherits: false },
41
+ blockSize: { property: 'block-size', syntax: '<\'width\'>', initialValue: 'auto', animatable: true, inherits: false },
42
+ borderBlock: { property: 'border-block', syntax: '<\'border-block-start\'>', animatable: true, inherits: false },
43
+ borderBlockColor: { property: 'border-block-color', syntax: '<\'border-top-color\'>{1,2}', initialValue: 'currentcolor', animatable: true, inherits: false },
44
+ borderBlockEnd: { property: 'border-block-end', syntax: '<\'border-top-width\'> || <\'border-top-style\'> || <color>', animatable: true, inherits: false },
45
+ borderBlockEndColor: { property: 'border-block-end-color', syntax: '<\'border-top-color\'>', initialValue: 'currentcolor', animatable: true, inherits: false },
46
+ borderBlockEndStyle: { property: 'border-block-end-style', syntax: '<\'border-top-style\'>', initialValue: 'none', animatable: false, inherits: false },
47
+ borderBlockEndWidth: { property: 'border-block-end-width', syntax: '<\'border-top-width\'>', initialValue: 'medium', animatable: true, inherits: false },
48
+ borderBlockStart: { property: 'border-block-start', syntax: '<\'border-top-width\'> || <\'border-top-style\'> || <color>', animatable: true, inherits: false },
49
+ borderBlockStartColor: { property: 'border-block-start-color', syntax: '<\'border-top-color\'>', initialValue: 'currentcolor', animatable: true, inherits: false },
50
+ borderBlockStartStyle: { property: 'border-block-start-style', syntax: '<\'border-top-style\'>', initialValue: 'none', animatable: false, inherits: false },
51
+ borderBlockStartWidth: { property: 'border-block-start-width', syntax: '<\'border-top-width\'>', initialValue: 'medium', animatable: true, inherits: false },
52
+ borderBlockStyle: { property: 'border-block-style', syntax: '<\'border-top-style\'>{1,2}', initialValue: 'none', animatable: false, inherits: false },
53
+ borderBlockWidth: { property: 'border-block-width', syntax: '<\'border-top-width\'>{1,2}', initialValue: 'medium', animatable: true, inherits: false },
54
+ borderBottom: { property: 'border-bottom', syntax: '<line-width> || <line-style> || <color>', animatable: true, inherits: false },
55
+ borderBottomColor: { property: 'border-bottom-color', syntax: '<\'border-top-color\'>', initialValue: 'currentcolor', animatable: true, inherits: false },
56
+ borderBottomLeftRadius: { property: 'border-bottom-left-radius', syntax: '<length-percentage [0,∞]>{1,2}', initialValue: '0', animatable: true, inherits: false },
57
+ borderBottomRightRadius: { property: 'border-bottom-right-radius', syntax: '<length-percentage [0,∞]>{1,2}', initialValue: '0', animatable: true, inherits: false },
58
+ borderBottomStyle: { property: 'border-bottom-style', syntax: '<line-style>', initialValue: 'none', animatable: false, inherits: false },
59
+ borderBottomWidth: { property: 'border-bottom-width', syntax: '<line-width>', initialValue: 'medium', animatable: true, inherits: false },
60
+ borderCollapse: { property: 'border-collapse', syntax: 'separate | collapse', initialValue: 'separate', animatable: false, inherits: true },
61
+ borderColor: { property: 'border-color', syntax: '<color>{1,4}', animatable: true, inherits: false },
62
+ borderEndEndRadius: { property: 'border-end-end-radius', syntax: '<\'border-top-left-radius\'>', initialValue: '0', animatable: true, inherits: false },
63
+ borderEndStartRadius: { property: 'border-end-start-radius', syntax: '<\'border-top-left-radius\'>', initialValue: '0', animatable: true, inherits: false },
64
+ borderImage: { property: 'border-image', syntax: '<\'border-image-source\'> || <\'border-image-slice\'> [ / <\'border-image-width\'> | / <\'border-image-width\'>? / <\'border-image-outset\'> ]? || <\'border-image-repeat\'>', animatable: true, inherits: false },
65
+ borderImageOutset: { property: 'border-image-outset', syntax: '[ <length [0,∞]> | <number [0,∞]> ]{1,4}', initialValue: '0', animatable: true, inherits: false },
66
+ borderImageRepeat: { property: 'border-image-repeat', syntax: '[ stretch | repeat | round | space ]{1,2}', initialValue: 'stretch', animatable: false, inherits: false },
67
+ borderImageSlice: { property: 'border-image-slice', syntax: '[ <number [0,∞]> | <percentage [0,∞]> ]{1,4} && fill?', initialValue: '100%', animatable: true, inherits: false },
68
+ borderImageSource: { property: 'border-image-source', syntax: 'none | <image>', initialValue: 'none', animatable: false, inherits: false },
69
+ borderImageWidth: { property: 'border-image-width', syntax: '[ <length-percentage [0,∞]> | <number [0,∞]> | auto ]{1,4}', initialValue: '1', animatable: true, inherits: false },
70
+ borderInline: { property: 'border-inline', syntax: '<\'border-block-start\'>', animatable: true, inherits: false },
71
+ borderInlineColor: { property: 'border-inline-color', syntax: '<\'border-top-color\'>{1,2}', initialValue: 'currentcolor', animatable: true, inherits: false },
72
+ borderInlineEnd: { property: 'border-inline-end', syntax: '<\'border-top-width\'> || <\'border-top-style\'> || <color>', animatable: true, inherits: false },
73
+ borderInlineEndColor: { property: 'border-inline-end-color', syntax: '<\'border-top-color\'>', initialValue: 'currentcolor', animatable: true, inherits: false },
74
+ borderInlineEndStyle: { property: 'border-inline-end-style', syntax: '<\'border-top-style\'>', initialValue: 'none', animatable: false, inherits: false },
75
+ borderInlineEndWidth: { property: 'border-inline-end-width', syntax: '<\'border-top-width\'>', initialValue: 'medium', animatable: true, inherits: false },
76
+ borderInlineStart: { property: 'border-inline-start', syntax: '<\'border-top-width\'> || <\'border-top-style\'> || <color>', animatable: true, inherits: false },
77
+ borderInlineStartColor: { property: 'border-inline-start-color', syntax: '<\'border-top-color\'>', initialValue: 'currentcolor', animatable: true, inherits: false },
78
+ borderInlineStartStyle: { property: 'border-inline-start-style', syntax: '<\'border-top-style\'>', initialValue: 'none', animatable: false, inherits: false },
79
+ borderInlineStartWidth: { property: 'border-inline-start-width', syntax: '<\'border-top-width\'>', initialValue: 'medium', animatable: true, inherits: false },
80
+ borderInlineStyle: { property: 'border-inline-style', syntax: '<\'border-top-style\'>{1,2}', initialValue: 'none', animatable: false, inherits: false },
81
+ borderInlineWidth: { property: 'border-inline-width', syntax: '<\'border-top-width\'>{1,2}', initialValue: 'medium', animatable: true, inherits: false },
82
+ borderLeft: { property: 'border-left', syntax: '<line-width> || <line-style> || <color>', animatable: true, inherits: false },
83
+ borderLeftColor: { property: 'border-left-color', syntax: '<color>', initialValue: 'currentcolor', animatable: true, inherits: false },
84
+ borderLeftStyle: { property: 'border-left-style', syntax: '<line-style>', initialValue: 'none', animatable: false, inherits: false },
85
+ borderLeftWidth: { property: 'border-left-width', syntax: '<line-width>', initialValue: 'medium', animatable: true, inherits: false },
86
+ borderRadius: { property: 'border-radius', syntax: '<length-percentage [0,∞]>{1,4} [ / <length-percentage [0,∞]>{1,4} ]?', animatable: true, inherits: false },
87
+ borderRight: { property: 'border-right', syntax: '<line-width> || <line-style> || <color>', animatable: true, inherits: false },
88
+ borderRightColor: { property: 'border-right-color', syntax: '<color>', initialValue: 'currentcolor', animatable: true, inherits: false },
89
+ borderRightStyle: { property: 'border-right-style', syntax: '<line-style>', initialValue: 'none', animatable: false, inherits: false },
90
+ borderRightWidth: { property: 'border-right-width', syntax: '<line-width>', initialValue: 'medium', animatable: true, inherits: false },
91
+ borderSpacing: { property: 'border-spacing', syntax: '<length>{1,2}', initialValue: '0', animatable: false, inherits: true },
92
+ borderStartEndRadius: { property: 'border-start-end-radius', syntax: '<\'border-top-left-radius\'>', initialValue: '0', animatable: true, inherits: false },
93
+ borderStartStartRadius: { property: 'border-start-start-radius', syntax: '<\'border-top-left-radius\'>', initialValue: '0', animatable: true, inherits: false },
94
+ borderStyle: { property: 'border-style', syntax: '<line-style>{1,4}', animatable: false, inherits: false },
95
+ borderTop: { property: 'border-top', syntax: '<line-width> || <line-style> || <color>', animatable: true, inherits: false },
96
+ borderTopColor: { property: 'border-top-color', syntax: '<color>', initialValue: 'currentcolor', animatable: true, inherits: false },
97
+ borderTopLeftRadius: { property: 'border-top-left-radius', syntax: '<length-percentage [0,∞]>{1,2}', initialValue: '0', animatable: true, inherits: false },
98
+ borderTopRightRadius: { property: 'border-top-right-radius', syntax: '<length-percentage [0,∞]>{1,2}', initialValue: '0', animatable: true, inherits: false },
99
+ borderTopStyle: { property: 'border-top-style', syntax: '<line-style>', initialValue: 'none', animatable: false, inherits: false },
100
+ borderTopWidth: { property: 'border-top-width', syntax: '<line-width>', initialValue: 'medium', animatable: true, inherits: false },
101
+ borderWidth: { property: 'border-width', syntax: '<line-width>{1,4}', animatable: true, inherits: false },
102
+ bottom: { property: 'bottom', syntax: 'auto | <length-percentage> | <anchor()> | <anchor-size()>', initialValue: 'auto', animatable: true, inherits: false },
103
+ boxDecorationBreak: { property: 'box-decoration-break', syntax: 'slice | clone', initialValue: 'slice', animatable: false, inherits: false },
104
+ boxShadow: { property: 'box-shadow', syntax: 'none | <shadow>#', initialValue: 'none', animatable: true, inherits: false },
105
+ boxSizing: { property: 'box-sizing', syntax: 'content-box | border-box', initialValue: 'content-box', animatable: false, inherits: false },
106
+ breakAfter: { property: 'break-after', syntax: 'auto | avoid | always | all | avoid-page | page | left | right | recto | verso | avoid-column | column | avoid-region | region', initialValue: 'auto', animatable: false, inherits: false },
107
+ breakBefore: { property: 'break-before', syntax: 'auto | avoid | always | all | avoid-page | page | left | right | recto | verso | avoid-column | column | avoid-region | region', initialValue: 'auto', animatable: false, inherits: false },
108
+ breakInside: { property: 'break-inside', syntax: 'auto | avoid | avoid-page | avoid-column | avoid-region', initialValue: 'auto', animatable: false, inherits: false },
109
+ captionSide: { property: 'caption-side', syntax: 'top | bottom', initialValue: 'top', animatable: false, inherits: true },
110
+ caret: { property: 'caret', syntax: '<\'caret-color\'> || <\'caret-animation\'> || <\'caret-shape\'>', animatable: true, inherits: true },
111
+ caretAnimation: { property: 'caret-animation', syntax: 'auto | manual', initialValue: 'auto', animatable: false, inherits: true },
112
+ caretColor: { property: 'caret-color', syntax: 'auto | <color>', initialValue: 'auto', animatable: true, inherits: true },
113
+ caretShape: { property: 'caret-shape', syntax: 'auto | bar | block | underscore', initialValue: 'auto', animatable: true, inherits: true },
114
+ clear: { property: 'clear', syntax: 'none | left | right | both | inline-start | inline-end', initialValue: 'none', animatable: false, inherits: false },
115
+ clipPath: { property: 'clip-path', syntax: '<clip-source> | [ <basic-shape> || <geometry-box> ] | none', initialValue: 'none', animatable: true, inherits: false },
116
+ clipRule: { property: 'clip-rule', syntax: 'nonzero | evenodd', initialValue: 'nonzero', animatable: false, inherits: true },
117
+ color: { property: 'color', syntax: '<color>', initialValue: 'canvastext', animatable: true, inherits: true },
118
+ colorInterpolationFilters: { property: 'color-interpolation-filters', syntax: 'auto | sRGB | linearRGB', initialValue: 'linearRGB', animatable: false, inherits: true },
119
+ colorScheme: { property: 'color-scheme', syntax: 'normal | [ light | dark | <custom-ident> ]+ && only?', initialValue: 'normal', animatable: false, inherits: true },
120
+ columnCount: { property: 'column-count', syntax: '<integer> | auto', initialValue: 'auto', animatable: true, inherits: false },
121
+ columnFill: { property: 'column-fill', syntax: 'auto | balance', initialValue: 'balance', animatable: false, inherits: false },
122
+ columnGap: { property: 'column-gap', syntax: 'normal | <length-percentage>', initialValue: 'normal', animatable: true, inherits: false },
123
+ columnHeight: { property: 'column-height', syntax: 'auto | <length [0,∞]>', initialValue: 'auto', animatable: true, inherits: false },
124
+ columnRuleColor: { property: 'column-rule-color', syntax: '<color>', initialValue: 'currentcolor', animatable: true, inherits: false },
125
+ columnRuleStyle: { property: 'column-rule-style', syntax: '<\'border-style\'>', initialValue: 'none', animatable: false, inherits: false },
126
+ columnRuleWidth: { property: 'column-rule-width', syntax: '<\'border-width\'>', initialValue: 'medium', animatable: true, inherits: false },
127
+ columnSpan: { property: 'column-span', syntax: 'none | all', initialValue: 'none', animatable: false, inherits: false },
128
+ columnWidth: { property: 'column-width', syntax: 'auto | <length [0,∞]>', initialValue: 'auto', animatable: true, inherits: false },
129
+ columnWrap: { property: 'column-wrap', syntax: 'auto | nowrap | wrap', initialValue: 'auto', animatable: false, inherits: false },
130
+ contain: { property: 'contain', syntax: 'none | strict | content | [ [ size || inline-size ] || layout || style || paint ]', initialValue: 'none', animatable: true, inherits: false },
131
+ containIntrinsicBlockSize: { property: 'contain-intrinsic-block-size', syntax: 'auto? [ none | <length> ]', initialValue: 'none', animatable: true, inherits: false },
132
+ containIntrinsicHeight: { property: 'contain-intrinsic-height', syntax: 'auto? [ none | <length> ]', initialValue: 'none', animatable: true, inherits: false },
133
+ containIntrinsicInlineSize: { property: 'contain-intrinsic-inline-size', syntax: 'auto? [ none | <length> ]', initialValue: 'none', animatable: true, inherits: false },
134
+ containIntrinsicSize: { property: 'contain-intrinsic-size', syntax: '[ auto? [ none | <length> ] ]{1,2}', animatable: true, inherits: false },
135
+ containIntrinsicWidth: { property: 'contain-intrinsic-width', syntax: 'auto? [ none | <length> ]', initialValue: 'none', animatable: true, inherits: false },
136
+ container: { property: 'container', syntax: '<\'container-name\'> [ / <\'container-type\'> ]?', animatable: true, inherits: false },
137
+ containerName: { property: 'container-name', syntax: 'none | <custom-ident>+', initialValue: 'none', animatable: true, inherits: false },
138
+ containerType: { property: 'container-type', syntax: 'normal | [ [ size | inline-size ] || scroll-state ]', initialValue: 'normal', animatable: true, inherits: false },
139
+ content: { property: 'content', syntax: 'normal | none | [ <content-replacement> | <content-list> ] [ / [ <string> | <counter> | <attr()> ]+ ]?', initialValue: 'normal', animatable: false, inherits: false },
140
+ contentVisibility: { property: 'content-visibility', syntax: 'visible | auto | hidden', initialValue: 'visible', animatable: true, inherits: false },
141
+ cornerBlockEndShape: { property: 'corner-block-end-shape', syntax: '<corner-shape-value>{1,2}', animatable: true, inherits: false },
142
+ cornerBlockStartShape: { property: 'corner-block-start-shape', syntax: '<corner-shape-value>{1,2}', animatable: true, inherits: false },
143
+ cornerBottomLeftShape: { property: 'corner-bottom-left-shape', syntax: '<corner-shape-value>', initialValue: 'round', animatable: true, inherits: false },
144
+ cornerBottomRightShape: { property: 'corner-bottom-right-shape', syntax: '<corner-shape-value>', initialValue: 'round', animatable: true, inherits: false },
145
+ cornerBottomShape: { property: 'corner-bottom-shape', syntax: '<corner-shape-value>{1,2}', animatable: true, inherits: false },
146
+ cornerEndEndShape: { property: 'corner-end-end-shape', syntax: '<corner-shape-value>', initialValue: 'round', animatable: true, inherits: false },
147
+ cornerEndStartShape: { property: 'corner-end-start-shape', syntax: '<corner-shape-value>', initialValue: 'round', animatable: true, inherits: false },
148
+ cornerInlineEndShape: { property: 'corner-inline-end-shape', syntax: '<corner-shape-value>{1,2}', animatable: true, inherits: false },
149
+ cornerInlineStartShape: { property: 'corner-inline-start-shape', syntax: '<corner-shape-value>{1,2}', animatable: true, inherits: false },
150
+ cornerLeftShape: { property: 'corner-left-shape', syntax: '<corner-shape-value>{1,2}', animatable: true, inherits: false },
151
+ cornerRightShape: { property: 'corner-right-shape', syntax: '<corner-shape-value>{1,2}', animatable: true, inherits: false },
152
+ cornerShape: { property: 'corner-shape', syntax: '<corner-shape-value>{1,4}', animatable: true, inherits: false },
153
+ cornerStartEndShape: { property: 'corner-start-end-shape', syntax: '<corner-shape-value>', initialValue: 'round', animatable: true, inherits: false },
154
+ cornerStartStartShape: { property: 'corner-start-start-shape', syntax: '<corner-shape-value>', initialValue: 'round', animatable: true, inherits: false },
155
+ cornerTopLeftShape: { property: 'corner-top-left-shape', syntax: '<corner-shape-value>', initialValue: 'round', animatable: true, inherits: false },
156
+ cornerTopRightShape: { property: 'corner-top-right-shape', syntax: '<corner-shape-value>', initialValue: 'round', animatable: true, inherits: false },
157
+ cornerTopShape: { property: 'corner-top-shape', syntax: '<corner-shape-value>{1,2}', animatable: true, inherits: false },
158
+ counterIncrement: { property: 'counter-increment', syntax: '[ <counter-name> <integer>? ]+ | none', initialValue: 'none', animatable: true, inherits: false },
159
+ counterReset: { property: 'counter-reset', syntax: '[ <counter-name> <integer>? | <reversed-counter-name> <integer>? ]+ | none', initialValue: 'none', animatable: true, inherits: false },
160
+ counterSet: { property: 'counter-set', syntax: '[ <counter-name> <integer>? ]+ | none', initialValue: 'none', animatable: true, inherits: false },
161
+ cursor: { property: 'cursor', syntax: '[ [ <url> [ <x> <y> ]? , ]* <cursor-predefined> ]', initialValue: 'auto', animatable: false, inherits: true },
162
+ cx: { property: 'cx', syntax: '<length> | <percentage>', initialValue: '0', animatable: true, inherits: false },
163
+ cy: { property: 'cy', syntax: '<length> | <percentage>', initialValue: '0', animatable: true, inherits: false },
164
+ d: { property: 'd', syntax: 'none | path(<string>)', initialValue: 'none', animatable: true, inherits: false },
165
+ direction: { property: 'direction', syntax: 'ltr | rtl', initialValue: 'ltr', animatable: true, inherits: true },
166
+ display: { property: 'display', syntax: '[ <display-outside> || <display-inside> ] | <display-listitem> | <display-internal> | <display-box> | <display-legacy>', initialValue: 'inline', animatable: true, inherits: false },
167
+ dominantBaseline: { property: 'dominant-baseline', syntax: 'auto | text-bottom | alphabetic | ideographic | middle | central | mathematical | hanging | text-top', initialValue: 'auto', animatable: false, inherits: true },
168
+ dynamicRangeLimit: { property: 'dynamic-range-limit', syntax: 'standard | no-limit | constrained | <dynamic-range-limit-mix()>', initialValue: 'no-limit', animatable: true, inherits: true },
169
+ emptyCells: { property: 'empty-cells', syntax: 'show | hide', initialValue: 'show', animatable: false, inherits: true },
170
+ fill: { property: 'fill', syntax: '<paint>', initialValue: 'black', animatable: true, inherits: true },
171
+ fillOpacity: { property: 'fill-opacity', syntax: '<\'opacity\'>', initialValue: '1', animatable: true, inherits: true },
172
+ fillRule: { property: 'fill-rule', syntax: 'nonzero | evenodd', initialValue: 'nonzero', animatable: false, inherits: true },
173
+ filter: { property: 'filter', syntax: 'none | <filter-value-list>', initialValue: 'none', animatable: true, inherits: false },
174
+ flexBasis: { property: 'flex-basis', syntax: 'content | <\'width\'>', initialValue: 'auto', animatable: true, inherits: false },
175
+ flexDirection: { property: 'flex-direction', syntax: 'row | row-reverse | column | column-reverse', initialValue: 'row', animatable: false, inherits: false },
176
+ flexFlow: { property: 'flex-flow', syntax: '<\'flex-direction\'> || <\'flex-wrap\'>', animatable: true, inherits: false },
177
+ flexGrow: { property: 'flex-grow', syntax: '<number>', initialValue: '0', animatable: true, inherits: false },
178
+ flexShrink: { property: 'flex-shrink', syntax: '<number>', initialValue: '1', animatable: true, inherits: false },
179
+ flexWrap: { property: 'flex-wrap', syntax: 'nowrap | wrap | wrap-reverse', initialValue: 'nowrap', animatable: false, inherits: false },
180
+ float: { property: 'float', syntax: 'left | right | none | inline-start | inline-end', initialValue: 'none', animatable: false, inherits: false },
181
+ floodColor: { property: 'flood-color', syntax: '<color>', initialValue: 'black', animatable: true, inherits: false },
182
+ floodOpacity: { property: 'flood-opacity', syntax: '<\'opacity\'>', initialValue: 'black', animatable: true, inherits: false },
183
+ fontFamily: { property: 'font-family', syntax: '[ <family-name> | <generic-family> ]#', initialValue: 'dependsOnUserAgent', animatable: false, inherits: true },
184
+ fontFeatureSettings: { property: 'font-feature-settings', syntax: 'normal | <feature-tag-value>#', initialValue: 'normal', animatable: false, inherits: true },
185
+ fontKerning: { property: 'font-kerning', syntax: 'auto | normal | none', initialValue: 'auto', animatable: false, inherits: true },
186
+ fontLanguageOverride: { property: 'font-language-override', syntax: 'normal | <string>', initialValue: 'normal', animatable: false, inherits: true },
187
+ fontOpticalSizing: { property: 'font-optical-sizing', syntax: 'auto | none', initialValue: 'auto', animatable: false, inherits: true },
188
+ fontPalette: { property: 'font-palette', syntax: 'normal | light | dark | <palette-identifier> | <palette-mix()>', initialValue: 'normal', animatable: true, inherits: true },
189
+ fontSize: { property: 'font-size', syntax: '<absolute-size> | <relative-size> | <length-percentage [0,∞]> | math', initialValue: 'medium', animatable: true, inherits: true },
190
+ fontSizeAdjust: { property: 'font-size-adjust', syntax: 'none | [ ex-height | cap-height | ch-width | ic-width | ic-height ]? [ from-font | <number> ]', initialValue: 'none', animatable: true, inherits: true },
191
+ fontStyle: { property: 'font-style', syntax: 'normal | italic | oblique <angle>?', initialValue: 'normal', animatable: true, inherits: true },
192
+ fontSynthesis: { property: 'font-synthesis', syntax: 'none | [ weight || style || small-caps || position]', initialValue: 'weight style small-caps position ', animatable: false, inherits: true },
193
+ fontSynthesisSmallCaps: { property: 'font-synthesis-small-caps', syntax: 'auto | none', initialValue: 'auto', animatable: false, inherits: true },
194
+ fontSynthesisStyle: { property: 'font-synthesis-style', syntax: 'auto | none', initialValue: 'auto', animatable: false, inherits: true },
195
+ fontSynthesisWeight: { property: 'font-synthesis-weight', syntax: 'auto | none', initialValue: 'auto', animatable: false, inherits: true },
196
+ fontVariant: { property: 'font-variant', syntax: 'normal | none | [ <common-lig-values> || <discretionary-lig-values> || <historical-lig-values> || <contextual-alt-values> || stylistic( <feature-value-name> ) || historical-forms || styleset( <feature-value-name># ) || character-variant( <feature-value-name># ) || swash( <feature-value-name> ) || ornaments( <feature-value-name> ) || annotation( <feature-value-name> ) || [ small-caps | all-small-caps | petite-caps | all-petite-caps | unicase | titling-caps ] || <numeric-figure-values> || <numeric-spacing-values> || <numeric-fraction-values> || ordinal || slashed-zero || <east-asian-variant-values> || <east-asian-width-values> || ruby ]', initialValue: 'normal', animatable: false, inherits: true },
197
+ fontVariantAlternates: { property: 'font-variant-alternates', 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> ) ]', initialValue: 'normal', animatable: false, inherits: true },
198
+ fontVariantCaps: { property: 'font-variant-caps', syntax: 'normal | small-caps | all-small-caps | petite-caps | all-petite-caps | unicase | titling-caps', initialValue: 'normal', animatable: false, inherits: true },
199
+ fontVariantEastAsian: { property: 'font-variant-east-asian', syntax: 'normal | [ <east-asian-variant-values> || <east-asian-width-values> || ruby ]', initialValue: 'normal', animatable: false, inherits: true },
200
+ fontVariantEmoji: { property: 'font-variant-emoji', syntax: 'normal | text | emoji | unicode', initialValue: 'normal', animatable: false, inherits: true },
201
+ fontVariantLigatures: { property: 'font-variant-ligatures', syntax: 'normal | none | [ <common-lig-values> || <discretionary-lig-values> || <historical-lig-values> || <contextual-alt-values> ]', initialValue: 'normal', animatable: false, inherits: true },
202
+ fontVariantNumeric: { property: 'font-variant-numeric', syntax: 'normal | [ <numeric-figure-values> || <numeric-spacing-values> || <numeric-fraction-values> || ordinal || slashed-zero ]', initialValue: 'normal', animatable: false, inherits: true },
203
+ fontVariantPosition: { property: 'font-variant-position', syntax: 'normal | sub | super', initialValue: 'normal', animatable: false, inherits: true },
204
+ fontVariationSettings: { property: 'font-variation-settings', syntax: 'normal | [ <string> <number> ]#', initialValue: 'normal', animatable: true, inherits: true },
205
+ fontWeight: { property: 'font-weight', syntax: '<font-weight-absolute> | bolder | lighter', initialValue: 'normal', animatable: true, inherits: true },
206
+ forcedColorAdjust: { property: 'forced-color-adjust', syntax: 'auto | none | preserve-parent-color', initialValue: 'auto', animatable: true, inherits: true },
207
+ gap: { property: 'gap', syntax: '<\'row-gap\'> <\'column-gap\'>?', animatable: true, inherits: false },
208
+ gridAutoColumns: { property: 'grid-auto-columns', syntax: '<track-size>+', initialValue: 'auto', animatable: true, inherits: false },
209
+ gridAutoFlow: { property: 'grid-auto-flow', syntax: '[ row | column ] || dense', initialValue: 'row', animatable: false, inherits: false },
210
+ gridAutoRows: { property: 'grid-auto-rows', syntax: '<track-size>+', initialValue: 'auto', animatable: true, inherits: false },
211
+ gridColumn: { property: 'grid-column', syntax: '<grid-line> [ / <grid-line> ]?', animatable: false, inherits: false },
212
+ gridColumnEnd: { property: 'grid-column-end', syntax: '<grid-line>', initialValue: 'auto', animatable: false, inherits: false },
213
+ gridColumnStart: { property: 'grid-column-start', syntax: '<grid-line>', initialValue: 'auto', animatable: false, inherits: false },
214
+ gridRow: { property: 'grid-row', syntax: '<grid-line> [ / <grid-line> ]?', animatable: false, inherits: false },
215
+ gridRowEnd: { property: 'grid-row-end', syntax: '<grid-line>', initialValue: 'auto', animatable: false, inherits: false },
216
+ gridRowStart: { property: 'grid-row-start', syntax: '<grid-line>', initialValue: 'auto', animatable: false, inherits: false },
217
+ gridTemplateAreas: { property: 'grid-template-areas', syntax: 'none | <string>+', initialValue: 'none', animatable: false, inherits: false },
218
+ gridTemplateColumns: { property: 'grid-template-columns', syntax: 'none | <track-list> | <auto-track-list> | subgrid <line-name-list>?', initialValue: 'none', animatable: true, inherits: false },
219
+ gridTemplateRows: { property: 'grid-template-rows', syntax: 'none | <track-list> | <auto-track-list> | subgrid <line-name-list>?', initialValue: 'none', animatable: true, inherits: false },
220
+ hangingPunctuation: { property: 'hanging-punctuation', syntax: 'none | [ first || [ force-end | allow-end ] || last ]', initialValue: 'none', animatable: false, inherits: true },
221
+ height: { property: 'height', syntax: 'auto | <length-percentage [0,∞]> | min-content | max-content | fit-content | fit-content(<length-percentage [0,∞]>) | <calc-size()> | <anchor-size()>', initialValue: 'auto', animatable: true, inherits: false },
222
+ hyphenateCharacter: { property: 'hyphenate-character', syntax: 'auto | <string>', initialValue: 'auto', animatable: false, inherits: true },
223
+ hyphenateLimitChars: { property: 'hyphenate-limit-chars', syntax: '[ auto | <integer> ]{1,3}', initialValue: 'auto', animatable: true, inherits: true },
224
+ hyphens: { property: 'hyphens', syntax: 'none | manual | auto', initialValue: 'manual', animatable: false, inherits: true },
225
+ imageOrientation: { property: 'image-orientation', syntax: 'from-image | <angle> | [ <angle>? flip ]', initialValue: 'from-image', animatable: false, inherits: true },
226
+ imageRendering: { property: 'image-rendering', syntax: 'auto | crisp-edges | pixelated | smooth', initialValue: 'auto', animatable: false, inherits: true },
227
+ initialLetter: { property: 'initial-letter', syntax: 'normal | [ <number> <integer>? ]', initialValue: 'normal', animatable: true, inherits: false },
228
+ inlineSize: { property: 'inline-size', syntax: '<\'width\'>', initialValue: 'auto', animatable: true, inherits: false },
229
+ insetBlock: { property: 'inset-block', syntax: '<\'top\'>{1,2}', animatable: true, inherits: false },
230
+ insetBlockEnd: { property: 'inset-block-end', syntax: '<\'top\'>', initialValue: 'auto', animatable: true, inherits: false },
231
+ insetBlockStart: { property: 'inset-block-start', syntax: '<\'top\'>', initialValue: 'auto', animatable: true, inherits: false },
232
+ insetInline: { property: 'inset-inline', syntax: '<\'top\'>{1,2}', animatable: true, inherits: false },
233
+ insetInlineEnd: { property: 'inset-inline-end', syntax: '<\'top\'>', initialValue: 'auto', animatable: true, inherits: false },
234
+ insetInlineStart: { property: 'inset-inline-start', syntax: '<\'top\'>', initialValue: 'auto', animatable: true, inherits: false },
235
+ interactivity: { property: 'interactivity', syntax: 'auto | inert', initialValue: 'auto', animatable: false, inherits: true },
236
+ interestDelay: { property: 'interest-delay', syntax: '<\'interest-delay-start\'>{1,2}', animatable: true, inherits: true },
237
+ interestDelayEnd: { property: 'interest-delay-end', syntax: 'normal | <time>', initialValue: 'normal', animatable: true, inherits: true },
238
+ interestDelayStart: { property: 'interest-delay-start', syntax: 'normal | <time>', initialValue: 'normal', animatable: true, inherits: true },
239
+ isolation: { property: 'isolation', syntax: 'auto | isolate', initialValue: 'auto', animatable: true, inherits: false },
240
+ justifyContent: { property: 'justify-content', syntax: 'normal | <content-distribution> | <overflow-position>? [ <content-position> | left | right ]', initialValue: 'normal', animatable: false, inherits: false },
241
+ justifyItems: { property: 'justify-items', syntax: 'normal | stretch | <baseline-position> | <overflow-position>? [ <self-position> | left | right ] | legacy | legacy && [ left | right | center ] | anchor-center', initialValue: 'legacy', animatable: false, inherits: false },
242
+ justifySelf: { property: 'justify-self', syntax: 'auto | normal | stretch | <baseline-position> | <overflow-position>? [ <self-position> | left | right ] | anchor-center', initialValue: 'auto', animatable: false, inherits: false },
243
+ left: { property: 'left', syntax: 'auto | <length-percentage> | <anchor()> | <anchor-size()>', initialValue: 'auto', animatable: true, inherits: false },
244
+ letterSpacing: { property: 'letter-spacing', syntax: 'normal | <length>', initialValue: 'normal', animatable: true, inherits: true },
245
+ lightingColor: { property: 'lighting-color', syntax: '<color>', initialValue: 'white', animatable: true, inherits: false },
246
+ lineBreak: { property: 'line-break', syntax: 'auto | loose | normal | strict | anywhere', initialValue: 'auto', animatable: false, inherits: true },
247
+ lineClamp: { property: 'line-clamp', syntax: 'none | <integer>', initialValue: 'none', animatable: true, inherits: false },
248
+ lineHeight: { property: 'line-height', syntax: 'normal | <number> | <length> | <percentage>', initialValue: 'normal', animatable: true, inherits: true },
249
+ listStyleImage: { property: 'list-style-image', syntax: '<image> | none', initialValue: 'none', animatable: false, inherits: true },
250
+ listStylePosition: { property: 'list-style-position', syntax: 'inside | outside', initialValue: 'outside', animatable: false, inherits: true },
251
+ listStyleType: { property: 'list-style-type', syntax: '<counter-style> | <string> | none', initialValue: 'disc', animatable: false, inherits: true },
252
+ marginBlock: { property: 'margin-block', syntax: '<\'margin-top\'>{1,2}', animatable: true, inherits: false },
253
+ marginBlockEnd: { property: 'margin-block-end', syntax: '<\'margin-top\'>', initialValue: '0', animatable: true, inherits: false },
254
+ marginBlockStart: { property: 'margin-block-start', syntax: '<\'margin-top\'>', initialValue: '0', animatable: true, inherits: false },
255
+ marginBottom: { property: 'margin-bottom', syntax: '<length-percentage> | auto | <anchor-size()>', initialValue: '0', animatable: true, inherits: false },
256
+ marginInline: { property: 'margin-inline', syntax: '<\'margin-top\'>{1,2}', animatable: true, inherits: false },
257
+ marginInlineEnd: { property: 'margin-inline-end', syntax: '<\'margin-top\'>', initialValue: '0', animatable: true, inherits: false },
258
+ marginInlineStart: { property: 'margin-inline-start', syntax: '<\'margin-top\'>', initialValue: '0', animatable: true, inherits: false },
259
+ marginLeft: { property: 'margin-left', syntax: '<length-percentage> | auto | <anchor-size()>', initialValue: '0', animatable: true, inherits: false },
260
+ marginRight: { property: 'margin-right', syntax: '<length-percentage> | auto | <anchor-size()>', initialValue: '0', animatable: true, inherits: false },
261
+ marginTop: { property: 'margin-top', syntax: '<length-percentage> | auto | <anchor-size()>', initialValue: '0', animatable: true, inherits: false },
262
+ marker: { property: 'marker', syntax: 'none | <url>', animatable: false, inherits: true },
263
+ markerEnd: { property: 'marker-end', syntax: 'none | <url>', initialValue: 'none', animatable: false, inherits: true },
264
+ markerMid: { property: 'marker-mid', syntax: 'none | <url>', initialValue: 'none', animatable: false, inherits: true },
265
+ markerStart: { property: 'marker-start', syntax: 'none | <url>', initialValue: 'none', animatable: false, inherits: true },
266
+ maskBorder: { property: 'mask-border', syntax: '<\'mask-border-source\'> || <\'mask-border-slice\'> [ / <\'mask-border-width\'>? [ / <\'mask-border-outset\'> ]? ]? || <\'mask-border-repeat\'> || <\'mask-border-mode\'>', animatable: true, inherits: false },
267
+ maskBorderMode: { property: 'mask-border-mode', syntax: 'luminance | alpha', initialValue: 'alpha', animatable: false, inherits: false },
268
+ maskBorderOutset: { property: 'mask-border-outset', syntax: '[ <length> | <number> ]{1,4}', initialValue: '0', animatable: false, inherits: false },
269
+ maskBorderRepeat: { property: 'mask-border-repeat', syntax: '[ stretch | repeat | round | space ]{1,2}', initialValue: 'stretch', animatable: false, inherits: false },
270
+ maskBorderSlice: { property: 'mask-border-slice', syntax: '<number-percentage>{1,4} fill?', initialValue: '0', animatable: false, inherits: false },
271
+ maskBorderSource: { property: 'mask-border-source', syntax: 'none | <image>', initialValue: 'none', animatable: false, inherits: false },
272
+ maskBorderWidth: { property: 'mask-border-width', syntax: '[ <length-percentage> | <number> | auto ]{1,4}', initialValue: 'auto', animatable: false, inherits: false },
273
+ maskClip: { property: 'mask-clip', syntax: '[ <coord-box> | no-clip ]#', initialValue: 'border-box', animatable: false, inherits: false },
274
+ maskComposite: { property: 'mask-composite', syntax: '<compositing-operator>#', initialValue: 'add', animatable: false, inherits: false },
275
+ maskImage: { property: 'mask-image', syntax: '<mask-reference>#', initialValue: 'none', animatable: false, inherits: false },
276
+ maskMode: { property: 'mask-mode', syntax: '<masking-mode>#', initialValue: 'match-source', animatable: false, inherits: false },
277
+ maskOrigin: { property: 'mask-origin', syntax: '<coord-box>#', initialValue: 'border-box', animatable: false, inherits: false },
278
+ maskPosition: { property: 'mask-position', syntax: '<position>#', initialValue: '0% 0%', animatable: true, inherits: false },
279
+ maskRepeat: { property: 'mask-repeat', syntax: '<repeat-style>#', initialValue: 'repeat', animatable: false, inherits: false },
280
+ maskSize: { property: 'mask-size', syntax: '<bg-size>#', initialValue: 'auto', animatable: true, inherits: false },
281
+ maskType: { property: 'mask-type', syntax: 'luminance | alpha', initialValue: 'luminance', animatable: false, inherits: false },
282
+ mathDepth: { property: 'math-depth', syntax: 'auto-add | add(<integer>) | <integer>', initialValue: '0', animatable: true, inherits: true },
283
+ mathStyle: { property: 'math-style', syntax: 'normal | compact', initialValue: 'normal', animatable: true, inherits: true },
284
+ maxBlockSize: { property: 'max-block-size', syntax: '<\'max-width\'>', initialValue: 'none', animatable: true, inherits: false },
285
+ maxHeight: { property: 'max-height', syntax: 'none | <length-percentage [0,∞]> | min-content | max-content | fit-content | fit-content(<length-percentage [0,∞]>) | <calc-size()> | <anchor-size()>', initialValue: 'none', animatable: true, inherits: false },
286
+ maxInlineSize: { property: 'max-inline-size', syntax: '<\'max-width\'>', initialValue: 'none', animatable: true, inherits: false },
287
+ maxWidth: { property: 'max-width', syntax: 'none | <length-percentage [0,∞]> | min-content | max-content | fit-content | fit-content(<length-percentage [0,∞]>) | <calc-size()> | <anchor-size()>', initialValue: 'none', animatable: true, inherits: false },
288
+ minBlockSize: { property: 'min-block-size', syntax: '<\'min-width\'>', initialValue: '0', animatable: true, inherits: false },
289
+ minHeight: { property: 'min-height', syntax: 'auto | <length-percentage [0,∞]> | min-content | max-content | fit-content | fit-content(<length-percentage [0,∞]>) | <calc-size()> | <anchor-size()>', initialValue: 'auto', animatable: true, inherits: false },
290
+ minInlineSize: { property: 'min-inline-size', syntax: '<\'min-width\'>', initialValue: '0', animatable: true, inherits: false },
291
+ minWidth: { property: 'min-width', syntax: 'auto | <length-percentage [0,∞]> | min-content | max-content | fit-content | fit-content(<length-percentage [0,∞]>) | <calc-size()> | <anchor-size()>', initialValue: 'auto', animatable: true, inherits: false },
292
+ mixBlendMode: { property: 'mix-blend-mode', syntax: '<blend-mode> | plus-darker | plus-lighter', initialValue: 'normal', animatable: true, inherits: false },
293
+ objectFit: { property: 'object-fit', syntax: 'fill | contain | cover | none | scale-down', initialValue: 'fill', animatable: false, inherits: false },
294
+ objectPosition: { property: 'object-position', syntax: '<position>', initialValue: '50% 50%', animatable: true, inherits: true },
295
+ offset: { property: 'offset', syntax: '[ <\'offset-position\'>? [ <\'offset-path\'> [ <\'offset-distance\'> || <\'offset-rotate\'> ]? ]? ]! [ / <\'offset-anchor\'> ]?', animatable: true, inherits: false },
296
+ offsetAnchor: { property: 'offset-anchor', syntax: 'auto | <position>', initialValue: 'auto', animatable: true, inherits: false },
297
+ offsetDistance: { property: 'offset-distance', syntax: '<length-percentage>', initialValue: '0', animatable: true, inherits: false },
298
+ offsetPath: { property: 'offset-path', syntax: 'none | <offset-path> || <coord-box>', initialValue: 'none', animatable: true, inherits: false },
299
+ offsetPosition: { property: 'offset-position', syntax: 'normal | auto | <position>', initialValue: 'normal', animatable: true, inherits: false },
300
+ offsetRotate: { property: 'offset-rotate', syntax: '[ auto | reverse ] || <angle>', initialValue: 'auto', animatable: true, inherits: false },
301
+ opacity: { property: 'opacity', syntax: '<opacity-value>', initialValue: '1', animatable: true, inherits: false },
302
+ order: { property: 'order', syntax: '<integer>', initialValue: '0', animatable: true, inherits: false },
303
+ orphans: { property: 'orphans', syntax: '<integer>', initialValue: '2', animatable: true, inherits: true },
304
+ outline: { property: 'outline', syntax: '<\'outline-width\'> || <\'outline-style\'> || <\'outline-color\'>', animatable: true, inherits: false },
305
+ outlineColor: { property: 'outline-color', syntax: 'auto | <color>', initialValue: 'auto', animatable: true, inherits: false },
306
+ outlineOffset: { property: 'outline-offset', syntax: '<length>', initialValue: '0', animatable: true, inherits: false },
307
+ outlineStyle: { property: 'outline-style', syntax: 'auto | <outline-line-style>', initialValue: 'none', animatable: true, inherits: false },
308
+ outlineWidth: { property: 'outline-width', syntax: '<line-width>', initialValue: 'medium', animatable: true, inherits: false },
309
+ overflowAnchor: { property: 'overflow-anchor', syntax: 'auto | none', initialValue: 'auto', animatable: false, inherits: false },
310
+ overflowBlock: { property: 'overflow-block', syntax: 'visible | hidden | clip | scroll | auto', initialValue: 'auto', animatable: false, inherits: false },
311
+ overflowClipMargin: { property: 'overflow-clip-margin', syntax: '<visual-box> || <length [0,∞]>', initialValue: '0px', animatable: false, inherits: false },
312
+ overflowInline: { property: 'overflow-inline', syntax: 'visible | hidden | clip | scroll | auto', initialValue: 'auto', animatable: false, inherits: false },
313
+ overflowWrap: { property: 'overflow-wrap', syntax: 'normal | break-word | anywhere', initialValue: 'normal', animatable: false, inherits: true },
314
+ overflowX: { property: 'overflow-x', syntax: 'visible | hidden | clip | scroll | auto', initialValue: 'visible', animatable: false, inherits: false },
315
+ overflowY: { property: 'overflow-y', syntax: 'visible | hidden | clip | scroll | auto', initialValue: 'visible', animatable: false, inherits: false },
316
+ overscrollBehavior: { property: 'overscroll-behavior', syntax: '[ contain | none | auto ]{1,2}', initialValue: 'auto', animatable: false, inherits: false },
317
+ overscrollBehaviorBlock: { property: 'overscroll-behavior-block', syntax: 'contain | none | auto', initialValue: 'auto', animatable: false, inherits: false },
318
+ overscrollBehaviorInline: { property: 'overscroll-behavior-inline', syntax: 'contain | none | auto', initialValue: 'auto', animatable: false, inherits: false },
319
+ overscrollBehaviorX: { property: 'overscroll-behavior-x', syntax: 'contain | none | auto', initialValue: 'auto', animatable: false, inherits: false },
320
+ overscrollBehaviorY: { property: 'overscroll-behavior-y', syntax: 'contain | none | auto', initialValue: 'auto', animatable: false, inherits: false },
321
+ paddingBlock: { property: 'padding-block', syntax: '<\'padding-top\'>{1,2}', animatable: true, inherits: false },
322
+ paddingBlockEnd: { property: 'padding-block-end', syntax: '<\'padding-top\'>', initialValue: '0', animatable: true, inherits: false },
323
+ paddingBlockStart: { property: 'padding-block-start', syntax: '<\'padding-top\'>', initialValue: '0', animatable: true, inherits: false },
324
+ paddingBottom: { property: 'padding-bottom', syntax: '<length-percentage [0,∞]>', initialValue: '0', animatable: true, inherits: false },
325
+ paddingInline: { property: 'padding-inline', syntax: '<\'padding-top\'>{1,2}', animatable: true, inherits: false },
326
+ paddingInlineEnd: { property: 'padding-inline-end', syntax: '<\'padding-top\'>', initialValue: '0', animatable: true, inherits: false },
327
+ paddingInlineStart: { property: 'padding-inline-start', syntax: '<\'padding-top\'>', initialValue: '0', animatable: true, inherits: false },
328
+ paddingLeft: { property: 'padding-left', syntax: '<length-percentage [0,∞]>', initialValue: '0', animatable: true, inherits: false },
329
+ paddingRight: { property: 'padding-right', syntax: '<length-percentage [0,∞]>', initialValue: '0', animatable: true, inherits: false },
330
+ paddingTop: { property: 'padding-top', syntax: '<length-percentage [0,∞]>', initialValue: '0', animatable: true, inherits: false },
331
+ page: { property: 'page', syntax: 'auto | <custom-ident>', initialValue: 'auto', animatable: false, inherits: false },
332
+ paintOrder: { property: 'paint-order', syntax: 'normal | [ fill || stroke || markers ]', initialValue: 'normal', animatable: false, inherits: true },
333
+ perspective: { property: 'perspective', syntax: 'none | <length>', initialValue: 'none', animatable: true, inherits: false },
334
+ perspectiveOrigin: { property: 'perspective-origin', syntax: '<position>', initialValue: '50% 50%', animatable: true, inherits: false },
335
+ pointerEvents: { property: 'pointer-events', syntax: 'auto | none | visiblePainted | visibleFill | visibleStroke | visible | painted | fill | stroke | all | inherit', initialValue: 'auto', animatable: false, inherits: true },
336
+ position: { property: 'position', syntax: 'static | relative | absolute | sticky | fixed', initialValue: 'static', animatable: false, inherits: false },
337
+ printColorAdjust: { property: 'print-color-adjust', syntax: 'economy | exact', initialValue: 'economy', animatable: false, inherits: true },
338
+ quotes: { property: 'quotes', syntax: 'none | auto | [ <string> <string> ]+', initialValue: 'dependsOnUserAgent', animatable: false, inherits: true },
339
+ r: { property: 'r', syntax: '<length> | <percentage>', initialValue: '0', animatable: true, inherits: false },
340
+ readingFlow: { property: 'reading-flow', syntax: 'normal | source-order | flex-visual | flex-flow | grid-rows | grid-columns | grid-order', initialValue: 'normal', animatable: true, inherits: false },
341
+ readingOrder: { property: 'reading-order', syntax: '<integer>', initialValue: '0', animatable: true, inherits: false },
342
+ resize: { property: 'resize', syntax: 'none | both | horizontal | vertical | block | inline', initialValue: 'none', animatable: false, inherits: false },
343
+ right: { property: 'right', syntax: 'auto | <length-percentage> | <anchor()> | <anchor-size()>', initialValue: 'auto', animatable: true, inherits: false },
344
+ rotate: { property: 'rotate', syntax: 'none | <angle> | [ x | y | z | <number>{3} ] && <angle>', initialValue: 'none', animatable: true, inherits: false },
345
+ rowGap: { property: 'row-gap', syntax: 'normal | <length-percentage>', initialValue: 'normal', animatable: true, inherits: false },
346
+ rubyAlign: { property: 'ruby-align', syntax: 'start | center | space-between | space-around', initialValue: 'space-around', animatable: true, inherits: true },
347
+ rubyOverhang: { property: 'ruby-overhang', syntax: 'auto | none', initialValue: 'auto', animatable: true, inherits: true },
348
+ rubyPosition: { property: 'ruby-position', syntax: '[ alternate || [ over | under ] ] | inter-character', initialValue: 'alternate', animatable: false, inherits: true },
349
+ rx: { property: 'rx', syntax: '<length-percentage> | auto', initialValue: 'auto', animatable: true, inherits: false },
350
+ ry: { property: 'ry', syntax: '<length-percentage> | auto', initialValue: 'auto', animatable: true, inherits: false },
351
+ scale: { property: 'scale', syntax: 'none | [ <number> | <percentage> ]{1,3}', initialValue: 'none', animatable: true, inherits: false },
352
+ scrollBehavior: { property: 'scroll-behavior', syntax: 'auto | smooth', initialValue: 'auto', animatable: true, inherits: false },
353
+ scrollMargin: { property: 'scroll-margin', syntax: '<length>{1,4}', animatable: true, inherits: false },
354
+ scrollMarginBlock: { property: 'scroll-margin-block', syntax: '<length>{1,2}', animatable: true, inherits: false },
355
+ scrollMarginBlockEnd: { property: 'scroll-margin-block-end', syntax: '<length>', initialValue: '0', animatable: true, inherits: false },
356
+ scrollMarginBlockStart: { property: 'scroll-margin-block-start', syntax: '<length>', initialValue: '0', animatable: true, inherits: false },
357
+ scrollMarginBottom: { property: 'scroll-margin-bottom', syntax: '<length>', initialValue: '0', animatable: true, inherits: false },
358
+ scrollMarginInline: { property: 'scroll-margin-inline', syntax: '<length>{1,2}', animatable: true, inherits: false },
359
+ scrollMarginInlineEnd: { property: 'scroll-margin-inline-end', syntax: '<length>', initialValue: '0', animatable: true, inherits: false },
360
+ scrollMarginInlineStart: { property: 'scroll-margin-inline-start', syntax: '<length>', initialValue: '0', animatable: true, inherits: false },
361
+ scrollMarginLeft: { property: 'scroll-margin-left', syntax: '<length>', initialValue: '0', animatable: true, inherits: false },
362
+ scrollMarginRight: { property: 'scroll-margin-right', syntax: '<length>', initialValue: '0', animatable: true, inherits: false },
363
+ scrollMarginTop: { property: 'scroll-margin-top', syntax: '<length>', initialValue: '0', animatable: true, inherits: false },
364
+ scrollMarkerGroup: { property: 'scroll-marker-group', syntax: 'none | before | after', initialValue: 'none', animatable: false, inherits: false },
365
+ scrollPadding: { property: 'scroll-padding', syntax: '[ auto | <length-percentage> ]{1,4}', animatable: true, inherits: false },
366
+ scrollPaddingBlock: { property: 'scroll-padding-block', syntax: '[ auto | <length-percentage> ]{1,2}', animatable: true, inherits: false },
367
+ scrollPaddingBlockEnd: { property: 'scroll-padding-block-end', syntax: 'auto | <length-percentage>', initialValue: 'auto', animatable: true, inherits: false },
368
+ scrollPaddingBlockStart: { property: 'scroll-padding-block-start', syntax: 'auto | <length-percentage>', initialValue: 'auto', animatable: true, inherits: false },
369
+ scrollPaddingBottom: { property: 'scroll-padding-bottom', syntax: 'auto | <length-percentage>', initialValue: 'auto', animatable: true, inherits: false },
370
+ scrollPaddingInline: { property: 'scroll-padding-inline', syntax: '[ auto | <length-percentage> ]{1,2}', animatable: true, inherits: false },
371
+ scrollPaddingInlineEnd: { property: 'scroll-padding-inline-end', syntax: 'auto | <length-percentage>', initialValue: 'auto', animatable: true, inherits: false },
372
+ scrollPaddingInlineStart: { property: 'scroll-padding-inline-start', syntax: 'auto | <length-percentage>', initialValue: 'auto', animatable: true, inherits: false },
373
+ scrollPaddingLeft: { property: 'scroll-padding-left', syntax: 'auto | <length-percentage>', initialValue: 'auto', animatable: true, inherits: false },
374
+ scrollPaddingRight: { property: 'scroll-padding-right', syntax: 'auto | <length-percentage>', initialValue: 'auto', animatable: true, inherits: false },
375
+ scrollPaddingTop: { property: 'scroll-padding-top', syntax: 'auto | <length-percentage>', initialValue: 'auto', animatable: true, inherits: false },
376
+ scrollSnapAlign: { property: 'scroll-snap-align', syntax: '[ none | start | end | center ]{1,2}', initialValue: 'none', animatable: false, inherits: false },
377
+ scrollSnapStop: { property: 'scroll-snap-stop', syntax: 'normal | always', initialValue: 'normal', animatable: false, inherits: false },
378
+ scrollSnapType: { property: 'scroll-snap-type', syntax: 'none | [ x | y | block | inline | both ] [ mandatory | proximity ]?', initialValue: 'none', animatable: false, inherits: false },
379
+ scrollTargetGroup: { property: 'scroll-target-group', syntax: 'none | auto', initialValue: 'none', animatable: false, inherits: false },
380
+ scrollbarColor: { property: 'scrollbar-color', syntax: 'auto | <color>{2}', initialValue: 'auto', animatable: true, inherits: true },
381
+ scrollbarGutter: { property: 'scrollbar-gutter', syntax: 'auto | stable && both-edges?', initialValue: 'auto', animatable: false, inherits: false },
382
+ scrollbarWidth: { property: 'scrollbar-width', syntax: 'auto | thin | none', initialValue: 'auto', animatable: false, inherits: false },
383
+ shapeImageThreshold: { property: 'shape-image-threshold', syntax: '<opacity-value>', initialValue: '0.0', animatable: true, inherits: false },
384
+ shapeMargin: { property: 'shape-margin', syntax: '<length-percentage>', initialValue: '0', animatable: true, inherits: false },
385
+ shapeOutside: { property: 'shape-outside', syntax: 'none | [ <shape-box> || <basic-shape> ] | <image>', initialValue: 'none', animatable: true, inherits: false },
386
+ shapeRendering: { property: 'shape-rendering', syntax: 'auto | optimizeSpeed | crispEdges | geometricPrecision', initialValue: 'auto', animatable: false, inherits: true },
387
+ stopColor: { property: 'stop-color', syntax: '<\'color\'>', initialValue: 'black', animatable: false, inherits: false },
388
+ stopOpacity: { property: 'stop-opacity', syntax: '<\'opacity\'>', initialValue: 'black', animatable: false, inherits: false },
389
+ stroke: { property: 'stroke', syntax: '<paint>', animatable: true, inherits: true },
390
+ strokeDasharray: { property: 'stroke-dasharray', syntax: 'none | <dasharray>', initialValue: 'none', animatable: true, inherits: true },
391
+ strokeDashoffset: { property: 'stroke-dashoffset', syntax: '<length-percentage> | <number>', initialValue: '0', animatable: true, inherits: true },
392
+ strokeLinecap: { property: 'stroke-linecap', syntax: 'butt | round | square', initialValue: 'butt', animatable: false, inherits: true },
393
+ strokeLinejoin: { property: 'stroke-linejoin', syntax: 'miter | miter-clip | round | bevel | arcs', initialValue: 'miter', animatable: false, inherits: true },
394
+ strokeMiterlimit: { property: 'stroke-miterlimit', syntax: '<number>', initialValue: '4', animatable: true, inherits: true },
395
+ strokeOpacity: { property: 'stroke-opacity', syntax: '<\'opacity\'>', initialValue: '1', animatable: true, inherits: true },
396
+ strokeWidth: { property: 'stroke-width', syntax: '<length-percentage> | <number>', initialValue: '1px', animatable: true, inherits: true },
397
+ tabSize: { property: 'tab-size', syntax: '<integer> | <length>', initialValue: '8', animatable: true, inherits: true },
398
+ tableLayout: { property: 'table-layout', syntax: 'auto | fixed', initialValue: 'auto', animatable: false, inherits: false },
399
+ textAlign: { property: 'text-align', syntax: 'start | end | left | right | center | justify | match-parent', initialValue: 'startOrNamelessValueIfLTRRightIfRTL', animatable: false, inherits: true },
400
+ textAlignLast: { property: 'text-align-last', syntax: 'auto | start | end | left | right | center | justify', initialValue: 'auto', animatable: false, inherits: true },
401
+ textAnchor: { property: 'text-anchor', syntax: 'start | middle | end', initialValue: 'start', animatable: false, inherits: true },
402
+ textAutospace: { property: 'text-autospace', syntax: 'normal | <autospace> | auto', initialValue: 'normal', animatable: false, inherits: true },
403
+ textBox: { property: 'text-box', syntax: 'normal | <\'text-box-trim\'> || <\'text-box-edge\'>', initialValue: 'normal', animatable: false, inherits: false },
404
+ textBoxEdge: { property: 'text-box-edge', syntax: 'auto | <text-edge>', initialValue: 'auto', animatable: false, inherits: false },
405
+ textBoxTrim: { property: 'text-box-trim', syntax: 'none | trim-start | trim-end | trim-both', initialValue: 'none', animatable: false, inherits: false },
406
+ textCombineUpright: { property: 'text-combine-upright', syntax: 'none | all | [ digits <integer>? ]', initialValue: 'none', animatable: true, inherits: true },
407
+ textDecorationColor: { property: 'text-decoration-color', syntax: '<color>', initialValue: 'currentcolor', animatable: true, inherits: false },
408
+ textDecorationInset: { property: 'text-decoration-inset', syntax: '<length>{1,2} | auto', initialValue: '0', animatable: true, inherits: false },
409
+ textDecorationLine: { property: 'text-decoration-line', syntax: 'none | [ underline || overline || line-through || blink ] | spelling-error | grammar-error', initialValue: 'none', animatable: false, inherits: false },
410
+ textDecorationSkipInk: { property: 'text-decoration-skip-ink', syntax: 'auto | all | none', initialValue: 'auto', animatable: false, inherits: true },
411
+ textDecorationStyle: { property: 'text-decoration-style', syntax: 'solid | double | dotted | dashed | wavy', initialValue: 'solid', animatable: false, inherits: false },
412
+ textDecorationThickness: { property: 'text-decoration-thickness', syntax: 'auto | from-font | <length> | <percentage>', initialValue: 'auto', animatable: true, inherits: false },
413
+ textEmphasis: { property: 'text-emphasis', syntax: '<\'text-emphasis-style\'> || <\'text-emphasis-color\'>', animatable: true, inherits: true },
414
+ textEmphasisColor: { property: 'text-emphasis-color', syntax: '<color>', initialValue: 'currentcolor', animatable: true, inherits: true },
415
+ textEmphasisPosition: { property: 'text-emphasis-position', syntax: 'auto | [ over | under ] && [ right | left ]?', initialValue: 'auto', animatable: false, inherits: true },
416
+ textEmphasisStyle: { property: 'text-emphasis-style', syntax: 'none | [ [ filled | open ] || [ dot | circle | double-circle | triangle | sesame ] ] | <string>', initialValue: 'none', animatable: false, inherits: true },
417
+ textIndent: { property: 'text-indent', syntax: '<length-percentage> && hanging? && each-line?', initialValue: '0', animatable: true, inherits: true },
418
+ textJustify: { property: 'text-justify', syntax: 'auto | inter-character | inter-word | none', initialValue: 'auto', animatable: false, inherits: true },
419
+ textOrientation: { property: 'text-orientation', syntax: 'mixed | upright | sideways', initialValue: 'mixed', animatable: true, inherits: true },
420
+ textOverflow: { property: 'text-overflow', syntax: '[ clip | ellipsis | <string> ]{1,2}', initialValue: 'clip', animatable: false, inherits: false },
421
+ textRendering: { property: 'text-rendering', syntax: 'auto | optimizeSpeed | optimizeLegibility | geometricPrecision', initialValue: 'auto', animatable: false, inherits: true },
422
+ textShadow: { property: 'text-shadow', syntax: 'none | <shadow-t>#', initialValue: 'none', animatable: true, inherits: true },
423
+ textTransform: { property: 'text-transform', syntax: 'none | [ capitalize | uppercase | lowercase ] || full-width || full-size-kana | math-auto', initialValue: 'none', animatable: false, inherits: true },
424
+ textUnderlineOffset: { property: 'text-underline-offset', syntax: 'auto | <length> | <percentage>', initialValue: 'auto', animatable: true, inherits: true },
425
+ textUnderlinePosition: { property: 'text-underline-position', syntax: 'auto | from-font | [ under || [ left | right ] ]', initialValue: 'auto', animatable: false, inherits: true },
426
+ textWrap: { property: 'text-wrap', syntax: '<\'text-wrap-mode\'> || <\'text-wrap-style\'>', initialValue: 'wrap', animatable: true, inherits: true },
427
+ textWrapMode: { property: 'text-wrap-mode', syntax: 'wrap | nowrap', initialValue: 'wrap', animatable: false, inherits: true },
428
+ textWrapStyle: { property: 'text-wrap-style', syntax: 'auto | balance | stable | pretty', initialValue: 'auto', animatable: false, inherits: true },
429
+ timelineTrigger: { property: 'timeline-trigger', syntax: 'none | [ <\'timeline-trigger-name\'> <\'timeline-trigger-source\'> <\'timeline-trigger-activation-range\'> [ \'/\' <\'timeline-trigger-active-range\'> ]? ]#', animatable: true, inherits: false },
430
+ timelineTriggerActivationRange: { property: 'timeline-trigger-activation-range', syntax: '[ <\'timeline-trigger-activation-range-start\'> <\'timeline-trigger-activation-range-end\'>? ]#', animatable: true, inherits: false },
431
+ timelineTriggerActivationRangeEnd: { property: 'timeline-trigger-activation-range-end', syntax: '[ normal | <length-percentage> | <timeline-range-name> <length-percentage>? ]#', initialValue: 'normal', animatable: true, inherits: false },
432
+ timelineTriggerActivationRangeStart: { property: 'timeline-trigger-activation-range-start', syntax: '[ normal | <length-percentage> | <timeline-range-name> <length-percentage>? ]#', initialValue: 'normal', animatable: true, inherits: false },
433
+ timelineTriggerActiveRange: { property: 'timeline-trigger-active-range', syntax: '[ <\'timeline-trigger-active-range-start\'> <\'timeline-trigger-active-range-end\'>? ]#', animatable: true, inherits: false },
434
+ timelineTriggerActiveRangeEnd: { property: 'timeline-trigger-active-range-end', syntax: '[ auto | normal | <length-percentage> | <timeline-range-name> <length-percentage>? ]#', initialValue: 'auto', animatable: true, inherits: false },
435
+ timelineTriggerActiveRangeStart: { property: 'timeline-trigger-active-range-start', syntax: '[ auto | normal | <length-percentage> | <timeline-range-name> <length-percentage>? ]#', initialValue: 'auto', animatable: true, inherits: false },
436
+ timelineTriggerName: { property: 'timeline-trigger-name', syntax: 'none | <dashed-ident>#', initialValue: 'none', animatable: true, inherits: false },
437
+ timelineTriggerSource: { property: 'timeline-trigger-source', syntax: '<single-animation-timeline>#', initialValue: 'auto', animatable: true, inherits: false },
438
+ top: { property: 'top', syntax: 'auto | <length-percentage> | <anchor()> | <anchor-size()>', initialValue: 'auto', animatable: true, inherits: false },
439
+ touchAction: { property: 'touch-action', syntax: 'auto | none | [ [ pan-x | pan-left | pan-right ] || [ pan-y | pan-up | pan-down ] || pinch-zoom ] | manipulation', initialValue: 'auto', animatable: true, inherits: false },
440
+ transform: { property: 'transform', syntax: 'none | <transform-list>', initialValue: 'none', animatable: true, inherits: false },
441
+ transformBox: { property: 'transform-box', syntax: 'content-box | border-box | fill-box | stroke-box | view-box', initialValue: 'view-box', animatable: false, inherits: false },
442
+ transformOrigin: { property: 'transform-origin', syntax: '[ <length-percentage> | left | center | right | top | bottom ] | [ [ <length-percentage> | left | center | right ] && [ <length-percentage> | top | center | bottom ] ] <length>?', initialValue: '50% 50% 0', animatable: true, inherits: false },
443
+ transformStyle: { property: 'transform-style', syntax: 'flat | preserve-3d', initialValue: 'flat', animatable: false, inherits: false },
444
+ transitionBehavior: { property: 'transition-behavior', syntax: '<transition-behavior-value>#', initialValue: 'normal', animatable: true, inherits: false },
445
+ transitionDelay: { property: 'transition-delay', syntax: '<time>#', initialValue: '0s', animatable: true, inherits: false },
446
+ transitionDuration: { property: 'transition-duration', syntax: '<time>#', initialValue: '0s', animatable: true, inherits: false },
447
+ transitionProperty: { property: 'transition-property', syntax: 'none | <single-transition-property>#', initialValue: 'all', animatable: true, inherits: false },
448
+ transitionTimingFunction: { property: 'transition-timing-function', syntax: '<easing-function>#', initialValue: 'ease', animatable: true, inherits: false },
449
+ translate: { property: 'translate', syntax: 'none | <length-percentage> [ <length-percentage> <length>? ]?', initialValue: 'none', animatable: true, inherits: false },
450
+ triggerScope: { property: 'trigger-scope', syntax: 'none | all | <dashed-ident>#', initialValue: 'none', animatable: true, inherits: false },
451
+ unicodeBidi: { property: 'unicode-bidi', syntax: 'normal | embed | isolate | bidi-override | isolate-override | plaintext', initialValue: 'normal', animatable: true, inherits: false },
452
+ userSelect: { property: 'user-select', syntax: 'auto | text | none | all', initialValue: 'auto', animatable: false, inherits: false },
453
+ vectorEffect: { property: 'vector-effect', syntax: 'none | non-scaling-stroke | non-scaling-size | non-rotation | fixed-position', initialValue: 'none', animatable: false, inherits: false },
454
+ verticalAlign: { property: 'vertical-align', syntax: 'baseline | sub | super | text-top | text-bottom | middle | top | bottom | <percentage> | <length>', initialValue: 'baseline', animatable: false, inherits: false },
455
+ viewTransitionClass: { property: 'view-transition-class', syntax: 'none | <custom-ident>+', initialValue: 'none', animatable: false, inherits: false },
456
+ viewTransitionName: { property: 'view-transition-name', syntax: 'none | <custom-ident> | match-element', initialValue: 'none', animatable: false, inherits: false },
457
+ visibility: { property: 'visibility', syntax: 'visible | hidden | collapse', initialValue: 'visible', animatable: false, inherits: true },
458
+ whiteSpace: { property: 'white-space', syntax: 'normal | pre | pre-wrap | pre-line | <\'white-space-collapse\'> || <\'text-wrap-mode\'>', initialValue: 'normal', animatable: false, inherits: true },
459
+ whiteSpaceCollapse: { property: 'white-space-collapse', syntax: 'collapse | preserve | preserve-breaks | preserve-spaces | break-spaces', initialValue: 'collapse', animatable: false, inherits: true },
460
+ widows: { property: 'widows', syntax: '<integer>', initialValue: '2', animatable: true, inherits: true },
461
+ width: { property: 'width', syntax: 'auto | <length-percentage [0,∞]> | min-content | max-content | fit-content | fit-content(<length-percentage [0,∞]>) | <calc-size()> | <anchor-size()>', initialValue: 'auto', animatable: true, inherits: false },
462
+ willChange: { property: 'will-change', syntax: 'auto | <animateable-feature>#', initialValue: 'auto', animatable: false, inherits: false },
463
+ wordBreak: { property: 'word-break', syntax: 'normal | break-all | keep-all | break-word | auto-phrase', initialValue: 'normal', animatable: false, inherits: true },
464
+ wordSpacing: { property: 'word-spacing', syntax: 'normal | <length>', initialValue: 'normal', animatable: true, inherits: true },
465
+ wordWrap: { property: 'word-wrap', syntax: 'normal | break-word', initialValue: 'normal', animatable: false, inherits: true },
466
+ writingMode: { property: 'writing-mode', syntax: 'horizontal-tb | vertical-rl | vertical-lr | sideways-rl | sideways-lr', initialValue: 'horizontal-tb', animatable: true, inherits: true },
467
+ x: { property: 'x', syntax: '<length> | <percentage>', initialValue: '0', animatable: true, inherits: false },
468
+ y: { property: 'y', syntax: '<length> | <percentage>', initialValue: '0', animatable: true, inherits: false },
469
+ zIndex: { property: 'z-index', syntax: 'auto | <integer>', initialValue: 'auto', animatable: true, inherits: false },
470
+ zoom: { property: 'zoom', syntax: 'normal | reset | <number [0,∞]> || <percentage [0,∞]>', initialValue: '1', animatable: true, inherits: false },
471
+ };
472
+ //# sourceMappingURL=generated-property-specs.js.map