@stylexjs/shared 0.2.0-beta.8 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (178) hide show
  1. package/README.md +81 -0
  2. package/lib/common-types.d.ts +50 -0
  3. package/lib/common-types.js.flow +65 -0
  4. package/lib/convert-to-className.d.ts +16 -0
  5. package/lib/convert-to-className.js +17 -26
  6. package/lib/convert-to-className.js.flow +23 -0
  7. package/lib/generate-css-rule.d.ts +17 -0
  8. package/lib/generate-css-rule.js +8 -47
  9. package/lib/generate-css-rule.js.flow +17 -0
  10. package/lib/hash.d.ts +11 -0
  11. package/lib/hash.js +3 -27
  12. package/lib/hash.js.flow +10 -0
  13. package/lib/index.d.ts +42 -85
  14. package/lib/index.js +19 -27
  15. package/lib/index.js.flow +59 -0
  16. package/lib/messages.d.ts +36 -0
  17. package/lib/messages.js +28 -55
  18. package/lib/messages.js.flow +39 -0
  19. package/lib/physical-rtl/generate-ltr.d.ts +11 -0
  20. package/lib/physical-rtl/generate-ltr.js +18 -46
  21. package/lib/physical-rtl/generate-ltr.js.flow +12 -0
  22. package/lib/physical-rtl/generate-rtl.d.ts +13 -0
  23. package/lib/physical-rtl/generate-rtl.js +18 -50
  24. package/lib/physical-rtl/generate-rtl.js.flow +12 -0
  25. package/lib/preprocess-rules/PreRule.d.ts +52 -0
  26. package/lib/preprocess-rules/PreRule.js +87 -0
  27. package/lib/preprocess-rules/PreRule.js.flow +64 -0
  28. package/lib/preprocess-rules/application-order.d.ts +290 -0
  29. package/lib/preprocess-rules/application-order.js +193 -0
  30. package/lib/preprocess-rules/application-order.js.flow +241 -0
  31. package/lib/preprocess-rules/basic-validation.d.ts +13 -0
  32. package/lib/preprocess-rules/basic-validation.js +83 -0
  33. package/lib/preprocess-rules/basic-validation.js.flow +13 -0
  34. package/lib/preprocess-rules/flatten-raw-style-obj.d.ts +25 -0
  35. package/lib/preprocess-rules/flatten-raw-style-obj.js +120 -0
  36. package/lib/preprocess-rules/flatten-raw-style-obj.js.flow +27 -0
  37. package/lib/preprocess-rules/index.d.ts +18 -0
  38. package/lib/preprocess-rules/index.js +30 -0
  39. package/lib/preprocess-rules/index.js.flow +19 -0
  40. package/lib/preprocess-rules/legacy-expand-shorthands.d.ts +200 -0
  41. package/lib/preprocess-rules/legacy-expand-shorthands.js +136 -0
  42. package/lib/preprocess-rules/legacy-expand-shorthands.js.flow +179 -0
  43. package/lib/preprocess-rules/property-specificity.d.ts +89 -0
  44. package/lib/preprocess-rules/property-specificity.js +107 -0
  45. package/lib/preprocess-rules/property-specificity.js.flow +98 -0
  46. package/lib/properties/CSS Animations.json +445 -0
  47. package/lib/properties/CSS Backgrounds and Borders.json +1085 -0
  48. package/lib/properties/CSS Basic User Interface.json +365 -0
  49. package/lib/properties/CSS Box Alignment.json +245 -0
  50. package/lib/properties/CSS Box Model.json +501 -0
  51. package/lib/properties/CSS Color.json +100 -0
  52. package/lib/properties/CSS Columns.json +185 -0
  53. package/lib/properties/CSS Containment.json +203 -0
  54. package/lib/properties/CSS Counter Styles.json +56 -0
  55. package/lib/properties/CSS Display.json +20 -0
  56. package/lib/properties/CSS Flexible Box Layout.json +167 -0
  57. package/lib/properties/CSS Fonts.json +684 -0
  58. package/lib/properties/CSS Fragmentation.json +110 -0
  59. package/lib/properties/CSS Generated Content.json +38 -0
  60. package/lib/properties/CSS Grid Layout.json +500 -0
  61. package/lib/properties/CSS Images.json +91 -0
  62. package/lib/properties/CSS Inline.json +38 -0
  63. package/lib/properties/CSS Lists and Counters.json +86 -0
  64. package/lib/properties/CSS Logical Properties.json +1086 -0
  65. package/lib/properties/CSS Masking.json +399 -0
  66. package/lib/properties/CSS Miscellaneous.json +38 -0
  67. package/lib/properties/CSS Motion Path.json +132 -0
  68. package/lib/properties/CSS Overflow.json +216 -0
  69. package/lib/properties/CSS Pages.json +83 -0
  70. package/lib/properties/CSS Positioning.json +166 -0
  71. package/lib/properties/CSS Ruby.json +55 -0
  72. package/lib/properties/CSS Scroll Anchoring.json +19 -0
  73. package/lib/properties/CSS Scroll Snap.json +604 -0
  74. package/lib/properties/CSS Scrollbars.json +38 -0
  75. package/lib/properties/CSS Shapes.json +56 -0
  76. package/lib/properties/CSS Speech.json +20 -0
  77. package/lib/properties/CSS Table.json +115 -0
  78. package/lib/properties/CSS Text Decoration.json +312 -0
  79. package/lib/properties/CSS Text.json +415 -0
  80. package/lib/properties/CSS Transforms.json +188 -0
  81. package/lib/properties/CSS Transitions.json +122 -0
  82. package/lib/properties/CSS Variables.json +20 -0
  83. package/lib/properties/CSS View Transitions.json +20 -0
  84. package/lib/properties/CSS Will Change.json +20 -0
  85. package/lib/properties/CSS Writing Modes.json +92 -0
  86. package/lib/properties/Compositing and Blending.json +62 -0
  87. package/lib/properties/Filter Effects.json +38 -0
  88. package/lib/properties/MathML.json +56 -0
  89. package/lib/properties/Microsoft Extensions.json +885 -0
  90. package/lib/properties/Mozilla Extensions.json +607 -0
  91. package/lib/properties/Pointer Events.json +20 -0
  92. package/lib/properties/WebKit Extensions.json +707 -0
  93. package/lib/properties.json +10122 -0
  94. package/lib/stylex-create-theme.d.ts +26 -0
  95. package/lib/stylex-create-theme.js +62 -0
  96. package/lib/stylex-create-theme.js.flow +19 -0
  97. package/lib/stylex-create.d.ts +23 -0
  98. package/lib/stylex-create.js +30 -142
  99. package/lib/stylex-create.js.flow +30 -0
  100. package/lib/stylex-define-vars.d.ts +36 -0
  101. package/lib/stylex-define-vars.js +72 -0
  102. package/lib/stylex-define-vars.js.flow +28 -0
  103. package/lib/stylex-first-that-works.d.ts +13 -0
  104. package/lib/stylex-first-that-works.js +0 -10
  105. package/lib/stylex-first-that-works.js.flow +12 -0
  106. package/lib/stylex-include.d.ts +18 -0
  107. package/lib/stylex-include.js +0 -10
  108. package/lib/stylex-include.js.flow +20 -0
  109. package/lib/stylex-keyframes.d.ts +17 -0
  110. package/lib/stylex-keyframes.js +22 -30
  111. package/lib/stylex-keyframes.js.flow +20 -0
  112. package/lib/transform-value.d.ts +22 -0
  113. package/lib/transform-value.js +9 -23
  114. package/lib/transform-value.js.flow +25 -0
  115. package/lib/types/index.d.ts +205 -0
  116. package/lib/types/index.js +191 -0
  117. package/lib/types/index.js.flow +241 -0
  118. package/lib/utils/Rule.d.ts +58 -0
  119. package/lib/utils/Rule.js +50 -0
  120. package/lib/utils/Rule.js.flow +64 -0
  121. package/lib/utils/dashify.d.ts +11 -0
  122. package/lib/utils/dashify.js +0 -8
  123. package/lib/utils/dashify.js.flow +10 -0
  124. package/lib/utils/default-options.d.ts +11 -0
  125. package/lib/utils/default-options.js +14 -0
  126. package/lib/utils/default-options.js.flow +25 -0
  127. package/lib/utils/file-based-identifier.d.ts +15 -0
  128. package/lib/utils/file-based-identifier.js +14 -0
  129. package/lib/utils/file-based-identifier.js.flow +14 -0
  130. package/lib/utils/genCSSRule.d.ts +15 -0
  131. package/lib/utils/genCSSRule.js +9 -18
  132. package/lib/utils/genCSSRule.js.flow +15 -0
  133. package/lib/utils/normalize-value.d.ts +16 -0
  134. package/lib/utils/normalize-value.js +11 -15
  135. package/lib/utils/normalize-value.js.flow +16 -0
  136. package/lib/utils/normalizers/convert-camel-case-transition-props.d.ts +14 -0
  137. package/lib/utils/normalizers/convert-camel-case-transition-props.js +23 -0
  138. package/lib/utils/normalizers/convert-camel-case-transition-props.js.flow +13 -0
  139. package/lib/utils/normalizers/convert-camel-case-values.d.ts +14 -0
  140. package/lib/utils/normalizers/convert-camel-case-values.js +23 -0
  141. package/lib/utils/normalizers/convert-camel-case-values.js.flow +13 -0
  142. package/lib/utils/normalizers/detect-unclosed-fns.d.ts +17 -0
  143. package/lib/utils/normalizers/detect-unclosed-fns.js +0 -12
  144. package/lib/utils/normalizers/detect-unclosed-fns.js.flow +16 -0
  145. package/lib/utils/normalizers/font-size-px-to-rem.d.ts +19 -0
  146. package/lib/utils/normalizers/font-size-px-to-rem.js +9 -19
  147. package/lib/utils/normalizers/font-size-px-to-rem.js.flow +18 -0
  148. package/lib/utils/normalizers/leading-zero.d.ts +17 -0
  149. package/lib/utils/normalizers/leading-zero.js +0 -12
  150. package/lib/utils/normalizers/leading-zero.js.flow +16 -0
  151. package/lib/utils/normalizers/quotes.d.ts +18 -0
  152. package/lib/utils/normalizers/quotes.js +0 -13
  153. package/lib/utils/normalizers/quotes.js.flow +17 -0
  154. package/lib/utils/normalizers/timings.d.ts +18 -0
  155. package/lib/utils/normalizers/timings.js +0 -14
  156. package/lib/utils/normalizers/timings.js.flow +17 -0
  157. package/lib/utils/normalizers/whitespace.d.ts +19 -0
  158. package/lib/utils/normalizers/whitespace.js +0 -15
  159. package/lib/utils/normalizers/whitespace.js.flow +18 -0
  160. package/lib/utils/normalizers/zero-dimensions.d.ts +19 -0
  161. package/lib/utils/normalizers/zero-dimensions.js +0 -15
  162. package/lib/utils/normalizers/zero-dimensions.js.flow +18 -0
  163. package/lib/utils/object-utils.d.ts +66 -0
  164. package/lib/utils/object-utils.js +21 -13
  165. package/lib/utils/object-utils.js.flow +77 -0
  166. package/lib/utils/property-priorities.d.ts +11 -0
  167. package/lib/utils/property-priorities.js +531 -0
  168. package/lib/utils/property-priorities.js.flow +10 -0
  169. package/lib/utils/split-css-value.d.ts +14 -0
  170. package/lib/utils/split-css-value.js +33 -0
  171. package/lib/utils/split-css-value.js.flow +15 -0
  172. package/lib/validate.d.ts +12 -0
  173. package/lib/validate.js +1 -10
  174. package/lib/validate.js.flow +12 -0
  175. package/package.json +4 -5
  176. package/lib/expand-shorthands.d.ts +0 -5
  177. package/lib/expand-shorthands.js +0 -387
  178. package/lib/stylex-defaultValue.js +0 -397
@@ -0,0 +1,107 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ const shorthands = {
8
+ all: _ => {
9
+ throw new Error('all is not supported');
10
+ },
11
+ animation: _value => {
12
+ throw new Error('animation is not supported');
13
+ },
14
+ background: _value => {
15
+ throw new Error('background is not supported. Use background-color, border-image etc. instead.');
16
+ },
17
+ border: _rawValue => {
18
+ throw new Error('border is not supported. Use border-width, border-style and border-color instead.');
19
+ },
20
+ borderInline: _rawValue => {
21
+ throw new Error('borderInline is not supported. Use borderInlineWidth, borderInlineStyle and borderInlineColor instead.');
22
+ },
23
+ borderBlock: _rawValue => {
24
+ throw new Error('borderBlock is not supported. Use borderBlockWidth, borderBlockStyle and borderBlockColor instead.');
25
+ },
26
+ borderTop: _rawValue => {
27
+ throw new Error('borderTop is not supported. Use borderTopWidth, borderTopStyle and borderTopColor instead.');
28
+ },
29
+ borderInlineEnd: _rawValue => {
30
+ throw new Error('borderInlineEnd is not supported. Use borderInlineEndWidth, borderInlineEndStyle and borderInlineEndColor instead.');
31
+ },
32
+ borderRight: _rawValue => {
33
+ throw new Error('borderRight is not supported. Use borderRightWidth, borderRightStyle and borderRightColor instead.');
34
+ },
35
+ borderBottom: _rawValue => {
36
+ throw new Error('borderBottom is not supported. Use borderBottomWidth, borderBottomStyle and borderBottomColor instead.');
37
+ },
38
+ borderInlineStart: _rawValue => {
39
+ throw new Error('borderInlineStart is not supported. Use borderInlineStartWidth, borderInlineStartStyle and borderInlineStartColor instead.');
40
+ },
41
+ borderLeft: _rawValue => {
42
+ throw new Error(['`borderLeft` is not supported.', 'You could use `borderLeftWidth`, `borderLeftStyle` and `borderLeftColor`,', 'but it is preferable to use `borderInlineStartWidth`, `borderInlineStartStyle` and `borderInlineStartColor`.'].join(' '));
43
+ }
44
+ };
45
+ const aliases = {
46
+ borderHorizontal: shorthands.borderInline,
47
+ borderVertical: shorthands.borderBlock,
48
+ borderBlockStart: shorthands.borderTop,
49
+ borderEnd: shorthands.borderInlineEnd,
50
+ borderBlockEnd: shorthands.borderBottom,
51
+ borderStart: shorthands.borderInlineStart,
52
+ blockSize: val => [['height', val]],
53
+ inlineSize: val => [['width', val]],
54
+ minBlockSize: val => [['minHeight', val]],
55
+ minInlineSize: val => [['minWidth', val]],
56
+ maxBlockSize: val => [['maxHeight', val]],
57
+ maxInlineSize: val => [['maxWidth', val]],
58
+ borderHorizontalWidth: val => [['borderInlineWidth', val]],
59
+ borderHorizontalStyle: val => [['borderInlineStyle', val]],
60
+ borderHorizontalColor: val => [['borderInlineColor', val]],
61
+ borderVerticalWidth: val => [['borderBlockWidth', val]],
62
+ borderVerticalStyle: val => [['borderBlockStyle', val]],
63
+ borderVerticalColor: val => [['borderBlockColor', val]],
64
+ borderBlockStartColor: value => [['borderTopColor', value]],
65
+ borderBlockEndColor: value => [['borderBottomColor', value]],
66
+ borderBlockStartStyle: value => [['borderTopStyle', value]],
67
+ borderBlockEndStyle: value => [['borderBottomStyle', value]],
68
+ borderBlockStartWidth: value => [['borderTopWidth', value]],
69
+ borderBlockEndWidth: value => [['borderBottomWidth', value]],
70
+ borderStartColor: val => [['borderInlineStartColor', val]],
71
+ borderEndColor: val => [['borderInlineEndColor', val]],
72
+ borderStartStyle: val => [['borderInlineStartStyle', val]],
73
+ borderEndStyle: val => [['borderInlineEndStyle', val]],
74
+ borderStartWidth: val => [['borderInlineStartWidth', val]],
75
+ borderEndWidth: val => [['borderInlineEndWidth', val]],
76
+ borderTopStartRadius: value => [['borderStartStartRadius', value]],
77
+ borderTopEndRadius: value => [['borderStartEndRadius', value]],
78
+ borderBottomStartRadius: value => [['borderEndStartRadius', value]],
79
+ borderBottomEndRadius: value => [['borderEndEndRadius', value]],
80
+ containIntrinsicBlockSize: value => [['containIntrinsicHeight', value]],
81
+ containIntrinsicInlineSize: value => [['containIntrinsicWidth', value]],
82
+ marginBlockStart: value => [['marginTop', value]],
83
+ marginBlockEnd: value => [['marginBottom', value]],
84
+ marginStart: val => [['marginInlineStart', val]],
85
+ marginEnd: val => [['marginInlineEnd', val]],
86
+ marginHorizontal: val => [['marginInline', val]],
87
+ marginVertical: val => [['marginBlock', val]],
88
+ overflowBlock: value => [['overflowY', value]],
89
+ overflowInline: value => [['overflowX', value]],
90
+ paddingBlockStart: rawValue => [['paddingTop', rawValue]],
91
+ paddingBlockEnd: rawValue => [['paddingBottom', rawValue]],
92
+ paddingStart: val => [['paddingInlineStart', val]],
93
+ paddingEnd: val => [['paddingInlineEnd', val]],
94
+ paddingHorizontal: val => [['paddingInline', val]],
95
+ paddingVertical: val => [['paddingBlock', val]],
96
+ scrollMarginBlockStart: value => [['scrollMarginTop', value]],
97
+ scrollMarginBlockEnd: value => [['scrollMarginBottom', value]],
98
+ insetBlockStart: value => [['top', value]],
99
+ insetBlockEnd: value => [['bottom', value]],
100
+ start: val => [['insetInlineStart', val]],
101
+ end: val => [['insetInlineEnd', val]]
102
+ };
103
+ const expansions = {
104
+ ...shorthands,
105
+ ...aliases
106
+ };
107
+ var _default = exports.default = expansions;
@@ -0,0 +1,98 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @flow strict
8
+ */
9
+
10
+ import type { TStyleValue } from '../common-types';
11
+
12
+ /// # Handle CSS shorthands in a React Native compatible way.
13
+ ///
14
+ /// This means:
15
+ /// - disallowing certain properties altogether by throwing errors
16
+ /// - disallowing multiple values within many shorthands
17
+ /// - Treating certain non-standard properties as aliases for real CSS properties
18
+
19
+ type TReturn = $ReadOnlyArray<[string, TStyleValue]>;
20
+
21
+ declare const shorthands: {
22
+ all: (_: TStyleValue) => TReturn,
23
+ animation: (_value: TStyleValue) => TReturn,
24
+ background: (_value: TStyleValue) => TReturn,
25
+ border: (_rawValue: TStyleValue) => TReturn,
26
+ borderInline: (_rawValue: TStyleValue) => TReturn,
27
+ borderBlock: (_rawValue: TStyleValue) => TReturn,
28
+ borderTop: (_rawValue: TStyleValue) => TReturn,
29
+ borderInlineEnd: (_rawValue: TStyleValue) => TReturn,
30
+ borderRight: (_rawValue: TStyleValue) => TReturn,
31
+ borderBottom: (_rawValue: TStyleValue) => TReturn,
32
+ borderInlineStart: (_rawValue: TStyleValue) => TReturn,
33
+ borderLeft: (_rawValue: TStyleValue) => TReturn,
34
+ };
35
+
36
+ declare const aliases: {
37
+ borderHorizontal: $FlowFixMe,
38
+ borderVertical: $FlowFixMe,
39
+ borderBlockStart: $FlowFixMe,
40
+ borderEnd: $FlowFixMe,
41
+ borderBlockEnd: $FlowFixMe,
42
+ borderStart: $FlowFixMe,
43
+ blockSize: (val: TStyleValue) => TReturn,
44
+ inlineSize: (val: TStyleValue) => TReturn,
45
+ minBlockSize: (val: TStyleValue) => TReturn,
46
+ minInlineSize: (val: TStyleValue) => TReturn,
47
+ maxBlockSize: (val: TStyleValue) => TReturn,
48
+ maxInlineSize: (val: TStyleValue) => TReturn,
49
+ borderHorizontalWidth: (val: TStyleValue) => TReturn,
50
+ borderHorizontalStyle: (val: TStyleValue) => TReturn,
51
+ borderHorizontalColor: (val: TStyleValue) => TReturn,
52
+ borderVerticalWidth: (val: TStyleValue) => TReturn,
53
+ borderVerticalStyle: (val: TStyleValue) => TReturn,
54
+ borderVerticalColor: (val: TStyleValue) => TReturn,
55
+ borderBlockStartColor: (value: TStyleValue) => TReturn,
56
+ borderBlockEndColor: (value: TStyleValue) => TReturn,
57
+ borderBlockStartStyle: (value: TStyleValue) => TReturn,
58
+ borderBlockEndStyle: (value: TStyleValue) => TReturn,
59
+ borderBlockStartWidth: (value: TStyleValue) => TReturn,
60
+ borderBlockEndWidth: (value: TStyleValue) => TReturn,
61
+ borderStartColor: (val: TStyleValue) => TReturn,
62
+ borderEndColor: (val: TStyleValue) => TReturn,
63
+ borderStartStyle: (val: TStyleValue) => TReturn,
64
+ borderEndStyle: (val: TStyleValue) => TReturn,
65
+ borderStartWidth: (val: TStyleValue) => TReturn,
66
+ borderEndWidth: (val: TStyleValue) => TReturn,
67
+ borderTopStartRadius: (value: TStyleValue) => TReturn,
68
+ borderTopEndRadius: (value: TStyleValue) => TReturn,
69
+ borderBottomStartRadius: (value: TStyleValue) => TReturn,
70
+ borderBottomEndRadius: (value: TStyleValue) => TReturn,
71
+ containIntrinsicBlockSize: (value: TStyleValue) => TReturn,
72
+ containIntrinsicInlineSize: (value: TStyleValue) => TReturn,
73
+ marginBlockStart: (value: TStyleValue) => TReturn,
74
+ marginBlockEnd: (value: TStyleValue) => TReturn,
75
+ marginStart: (val: TStyleValue) => TReturn,
76
+ marginEnd: (val: TStyleValue) => TReturn,
77
+ marginHorizontal: (val: TStyleValue) => TReturn,
78
+ marginVertical: (val: TStyleValue) => TReturn,
79
+ overflowBlock: (value: TStyleValue) => TReturn,
80
+ overflowInline: (value: TStyleValue) => TReturn,
81
+ paddingBlockStart: (rawValue: TStyleValue) => TReturn,
82
+ paddingBlockEnd: (rawValue: TStyleValue) => TReturn,
83
+ paddingStart: (val: TStyleValue) => TReturn,
84
+ paddingEnd: (val: TStyleValue) => TReturn,
85
+ paddingHorizontal: (val: TStyleValue) => TReturn,
86
+ paddingVertical: (val: TStyleValue) => TReturn,
87
+ scrollMarginBlockStart: (value: TStyleValue) => TReturn,
88
+ scrollMarginBlockEnd: (value: TStyleValue) => TReturn,
89
+ insetBlockStart: (value: TStyleValue) => TReturn,
90
+ insetBlockEnd: (value: TStyleValue) => TReturn,
91
+ start: (val: TStyleValue) => TReturn,
92
+ end: (val: TStyleValue) => TReturn,
93
+ };
94
+
95
+ declare export default $ReadOnly<{
96
+ ...typeof shorthands,
97
+ ...typeof aliases,
98
+ }>;
@@ -0,0 +1,445 @@
1
+ [
2
+ {
3
+ "syntax": "<single-animation>#",
4
+ "media": "visual",
5
+ "inherited": false,
6
+ "animationType": "notAnimatable",
7
+ "percentages": "no",
8
+ "groups": [
9
+ "CSS Animations"
10
+ ],
11
+ "initial": [
12
+ "animation-name",
13
+ "animation-duration",
14
+ "animation-timing-function",
15
+ "animation-delay",
16
+ "animation-iteration-count",
17
+ "animation-direction",
18
+ "animation-fill-mode",
19
+ "animation-play-state",
20
+ "animation-timeline"
21
+ ],
22
+ "appliesto": "allElements",
23
+ "computed": [
24
+ "animation-name",
25
+ "animation-duration",
26
+ "animation-timing-function",
27
+ "animation-delay",
28
+ "animation-direction",
29
+ "animation-iteration-count",
30
+ "animation-fill-mode",
31
+ "animation-play-state",
32
+ "animation-timeline"
33
+ ],
34
+ "order": "perGrammar",
35
+ "status": "standard",
36
+ "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/animation",
37
+ "property": "animation",
38
+ "group": "CSS Animations"
39
+ },
40
+ {
41
+ "syntax": "<single-animation-composition>#",
42
+ "media": "visual",
43
+ "inherited": false,
44
+ "animationType": "notAnimatable",
45
+ "percentages": "no",
46
+ "groups": [
47
+ "CSS Animations"
48
+ ],
49
+ "initial": "replace",
50
+ "appliesto": "allElements",
51
+ "computed": "asSpecified",
52
+ "order": "uniqueOrder",
53
+ "status": "experimental",
54
+ "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/animation-composition",
55
+ "property": "animation-composition",
56
+ "group": "CSS Animations"
57
+ },
58
+ {
59
+ "syntax": "<time>#",
60
+ "media": "visual",
61
+ "inherited": false,
62
+ "animationType": "notAnimatable",
63
+ "percentages": "no",
64
+ "groups": [
65
+ "CSS Animations"
66
+ ],
67
+ "initial": "0s",
68
+ "appliesto": "allElementsAndPseudos",
69
+ "computed": "asSpecified",
70
+ "order": "uniqueOrder",
71
+ "status": "standard",
72
+ "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/animation-delay",
73
+ "property": "animation-delay",
74
+ "group": "CSS Animations"
75
+ },
76
+ {
77
+ "syntax": "<single-animation-direction>#",
78
+ "media": "visual",
79
+ "inherited": false,
80
+ "animationType": "notAnimatable",
81
+ "percentages": "no",
82
+ "groups": [
83
+ "CSS Animations"
84
+ ],
85
+ "initial": "normal",
86
+ "appliesto": "allElementsAndPseudos",
87
+ "computed": "asSpecified",
88
+ "order": "uniqueOrder",
89
+ "status": "standard",
90
+ "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/animation-direction",
91
+ "property": "animation-direction",
92
+ "group": "CSS Animations"
93
+ },
94
+ {
95
+ "syntax": "<time>#",
96
+ "media": "visual",
97
+ "inherited": false,
98
+ "animationType": "notAnimatable",
99
+ "percentages": "no",
100
+ "groups": [
101
+ "CSS Animations"
102
+ ],
103
+ "initial": "0s",
104
+ "appliesto": "allElementsAndPseudos",
105
+ "computed": "asSpecified",
106
+ "order": "uniqueOrder",
107
+ "status": "standard",
108
+ "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/animation-duration",
109
+ "property": "animation-duration",
110
+ "group": "CSS Animations"
111
+ },
112
+ {
113
+ "syntax": "<single-animation-fill-mode>#",
114
+ "media": "visual",
115
+ "inherited": false,
116
+ "animationType": "notAnimatable",
117
+ "percentages": "no",
118
+ "groups": [
119
+ "CSS Animations"
120
+ ],
121
+ "initial": "none",
122
+ "appliesto": "allElementsAndPseudos",
123
+ "computed": "asSpecified",
124
+ "order": "uniqueOrder",
125
+ "status": "standard",
126
+ "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/animation-fill-mode",
127
+ "property": "animation-fill-mode",
128
+ "group": "CSS Animations"
129
+ },
130
+ {
131
+ "syntax": "<single-animation-iteration-count>#",
132
+ "media": "visual",
133
+ "inherited": false,
134
+ "animationType": "notAnimatable",
135
+ "percentages": "no",
136
+ "groups": [
137
+ "CSS Animations"
138
+ ],
139
+ "initial": "1",
140
+ "appliesto": "allElementsAndPseudos",
141
+ "computed": "asSpecified",
142
+ "order": "uniqueOrder",
143
+ "status": "standard",
144
+ "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/animation-iteration-count",
145
+ "property": "animation-iteration-count",
146
+ "group": "CSS Animations"
147
+ },
148
+ {
149
+ "syntax": "[ none | <keyframes-name> ]#",
150
+ "media": "visual",
151
+ "inherited": false,
152
+ "animationType": "notAnimatable",
153
+ "percentages": "no",
154
+ "groups": [
155
+ "CSS Animations"
156
+ ],
157
+ "initial": "none",
158
+ "appliesto": "allElementsAndPseudos",
159
+ "computed": "asSpecified",
160
+ "order": "uniqueOrder",
161
+ "status": "standard",
162
+ "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/animation-name",
163
+ "property": "animation-name",
164
+ "group": "CSS Animations"
165
+ },
166
+ {
167
+ "syntax": "<single-animation-play-state>#",
168
+ "media": "visual",
169
+ "inherited": false,
170
+ "animationType": "notAnimatable",
171
+ "percentages": "no",
172
+ "groups": [
173
+ "CSS Animations"
174
+ ],
175
+ "initial": "running",
176
+ "appliesto": "allElementsAndPseudos",
177
+ "computed": "asSpecified",
178
+ "order": "uniqueOrder",
179
+ "status": "standard",
180
+ "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/animation-play-state",
181
+ "property": "animation-play-state",
182
+ "group": "CSS Animations"
183
+ },
184
+ {
185
+ "syntax": "[ <'animation-range-start'> <'animation-range-end'>? ]#",
186
+ "media": "visual",
187
+ "inherited": false,
188
+ "animationType": [
189
+ "animation-range-start",
190
+ "animation-range-end"
191
+ ],
192
+ "percentages": "relativeToTimelineRangeIfSpecifiedOtherwiseEntireTimeline",
193
+ "groups": [
194
+ "CSS Animations"
195
+ ],
196
+ "initial": [
197
+ "animation-range-start",
198
+ "animation-range-end"
199
+ ],
200
+ "appliesto": "allElements",
201
+ "computed": [
202
+ "animation-range-start",
203
+ "animation-range-end"
204
+ ],
205
+ "order": "perGrammar",
206
+ "status": "experimental",
207
+ "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/animation-range",
208
+ "property": "animation-range",
209
+ "group": "CSS Animations"
210
+ },
211
+ {
212
+ "syntax": "[ normal | <length-percentage> | <timeline-range-name> <length-percentage>? ]#",
213
+ "media": "visual",
214
+ "inherited": false,
215
+ "animationType": "notAnimatable",
216
+ "percentages": "relativeToTimelineRangeIfSpecifiedOtherwiseEntireTimeline",
217
+ "groups": [
218
+ "CSS Animations"
219
+ ],
220
+ "initial": "normal",
221
+ "appliesto": "allElements",
222
+ "computed": "listEachItemConsistingOfNormalLengthPercentageOrNameLengthPercentage",
223
+ "order": "perGrammar",
224
+ "status": "experimental",
225
+ "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/animation-range-end",
226
+ "property": "animation-range-end",
227
+ "group": "CSS Animations"
228
+ },
229
+ {
230
+ "syntax": "[ normal | <length-percentage> | <timeline-range-name> <length-percentage>? ]#",
231
+ "media": "visual",
232
+ "inherited": false,
233
+ "animationType": "notAnimatable",
234
+ "percentages": "relativeToTimelineRangeIfSpecifiedOtherwiseEntireTimeline",
235
+ "groups": [
236
+ "CSS Animations"
237
+ ],
238
+ "initial": "normal",
239
+ "appliesto": "allElements",
240
+ "computed": "listEachItemConsistingOfNormalLengthPercentageOrNameLengthPercentage",
241
+ "order": "perGrammar",
242
+ "status": "experimental",
243
+ "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/animation-range-start",
244
+ "property": "animation-range-start",
245
+ "group": "CSS Animations"
246
+ },
247
+ {
248
+ "syntax": "<easing-function>#",
249
+ "media": "visual",
250
+ "inherited": false,
251
+ "animationType": "notAnimatable",
252
+ "percentages": "no",
253
+ "groups": [
254
+ "CSS Animations"
255
+ ],
256
+ "initial": "ease",
257
+ "appliesto": "allElementsAndPseudos",
258
+ "computed": "asSpecified",
259
+ "order": "uniqueOrder",
260
+ "status": "standard",
261
+ "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/animation-timing-function",
262
+ "property": "animation-timing-function",
263
+ "group": "CSS Animations"
264
+ },
265
+ {
266
+ "syntax": "<single-animation-timeline>#",
267
+ "media": "visual",
268
+ "inherited": false,
269
+ "animationType": "notAnimatable",
270
+ "percentages": "no",
271
+ "groups": [
272
+ "CSS Animations"
273
+ ],
274
+ "initial": "auto",
275
+ "appliesto": "allElements",
276
+ "computed": "listEachItemIdentifierOrNoneAuto",
277
+ "order": "perGrammar",
278
+ "status": "experimental",
279
+ "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/animation-timeline",
280
+ "property": "animation-timeline",
281
+ "group": "CSS Animations"
282
+ },
283
+ {
284
+ "syntax": "[ <'scroll-timeline-name'> <'scroll-timeline-axis'>? ]#",
285
+ "media": "visual",
286
+ "inherited": false,
287
+ "animationType": [
288
+ "scroll-timeline-name",
289
+ "scroll-timeline-axis"
290
+ ],
291
+ "percentages": "no",
292
+ "groups": [
293
+ "CSS Animations"
294
+ ],
295
+ "initial": [
296
+ "scroll-timeline-name",
297
+ "scroll-timeline-axis"
298
+ ],
299
+ "appliesto": "scrollContainers",
300
+ "computed": [
301
+ "scroll-timeline-name",
302
+ "scroll-timeline-axis"
303
+ ],
304
+ "order": "perGrammar",
305
+ "status": "experimental",
306
+ "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-timeline",
307
+ "property": "scroll-timeline",
308
+ "group": "CSS Animations"
309
+ },
310
+ {
311
+ "syntax": "[ block | inline | x | y ]#",
312
+ "media": "interactive",
313
+ "inherited": false,
314
+ "animationType": "notAnimatable",
315
+ "percentages": "no",
316
+ "groups": [
317
+ "CSS Animations"
318
+ ],
319
+ "initial": "block",
320
+ "appliesto": "scrollContainers",
321
+ "computed": "asSpecified",
322
+ "order": "perGrammar",
323
+ "status": "experimental",
324
+ "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-timeline-axis",
325
+ "property": "scroll-timeline-axis",
326
+ "group": "CSS Animations"
327
+ },
328
+ {
329
+ "syntax": "none | <dashed-ident>#",
330
+ "media": "interactive",
331
+ "inherited": false,
332
+ "animationType": "notAnimatable",
333
+ "percentages": "no",
334
+ "groups": [
335
+ "CSS Animations"
336
+ ],
337
+ "initial": "none",
338
+ "appliesto": "scrollContainers",
339
+ "computed": "noneOrOrderedListOfIdentifiers",
340
+ "order": "perGrammar",
341
+ "status": "experimental",
342
+ "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/scroll-timeline-name",
343
+ "property": "scroll-timeline-name",
344
+ "group": "CSS Animations"
345
+ },
346
+ {
347
+ "syntax": "none | <dashed-ident>#",
348
+ "media": "interactive",
349
+ "inherited": false,
350
+ "animationType": "notAnimatable",
351
+ "percentages": "no",
352
+ "groups": [
353
+ "CSS Animations"
354
+ ],
355
+ "initial": "none",
356
+ "appliesto": "allElements",
357
+ "computed": "noneOrOrderedListOfIdentifiers",
358
+ "order": "perGrammar",
359
+ "status": "experimental",
360
+ "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/timeline-scope",
361
+ "property": "timeline-scope",
362
+ "group": "CSS Animations"
363
+ },
364
+ {
365
+ "syntax": "[ <'view-timeline-name'> <'view-timeline-axis'>? ]#",
366
+ "media": "visual",
367
+ "inherited": false,
368
+ "animationType": [
369
+ "view-timeline-name",
370
+ "view-timeline-axis"
371
+ ],
372
+ "percentages": "no",
373
+ "groups": [
374
+ "CSS Animations"
375
+ ],
376
+ "initial": [
377
+ "view-timeline-name",
378
+ "view-timeline-axis"
379
+ ],
380
+ "appliesto": "allElements",
381
+ "computed": [
382
+ "view-timeline-name",
383
+ "view-timeline-axis"
384
+ ],
385
+ "order": "perGrammar",
386
+ "status": "experimental",
387
+ "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/view-timeline",
388
+ "property": "view-timeline",
389
+ "group": "CSS Animations"
390
+ },
391
+ {
392
+ "syntax": "[ block | inline | x | y ]#",
393
+ "media": "interactive",
394
+ "inherited": false,
395
+ "animationType": "notAnimatable",
396
+ "percentages": "no",
397
+ "groups": [
398
+ "CSS Animations"
399
+ ],
400
+ "initial": "block",
401
+ "appliesto": "allElements",
402
+ "computed": "asSpecified",
403
+ "order": "perGrammar",
404
+ "status": "experimental",
405
+ "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/view-timeline-axis",
406
+ "property": "view-timeline-axis",
407
+ "group": "CSS Animations"
408
+ },
409
+ {
410
+ "syntax": "[ [ auto | <length-percentage> ]{1,2} ]#",
411
+ "media": "interactive",
412
+ "inherited": false,
413
+ "animationType": "byComputedValueType",
414
+ "percentages": "relativeToCorrespondingDimensionOfRelevantScrollport",
415
+ "groups": [
416
+ "CSS Animations"
417
+ ],
418
+ "initial": "auto",
419
+ "appliesto": "allElements",
420
+ "computed": "listEachItemConsistingOfPairsOfAutoOrLengthPercentage",
421
+ "order": "perGrammar",
422
+ "status": "experimental",
423
+ "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/view-timeline-inset",
424
+ "property": "view-timeline-inset",
425
+ "group": "CSS Animations"
426
+ },
427
+ {
428
+ "syntax": "none | <dashed-ident>#",
429
+ "media": "interactive",
430
+ "inherited": false,
431
+ "animationType": "notAnimatable",
432
+ "percentages": "no",
433
+ "groups": [
434
+ "CSS Animations"
435
+ ],
436
+ "initial": "none",
437
+ "appliesto": "allElements",
438
+ "computed": "noneOrOrderedListOfIdentifiers",
439
+ "order": "perGrammar",
440
+ "status": "experimental",
441
+ "mdn_url": "https://developer.mozilla.org/docs/Web/CSS/view-timeline-name",
442
+ "property": "view-timeline-name",
443
+ "group": "CSS Animations"
444
+ }
445
+ ]