@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,200 @@
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
+ *
8
+ */
9
+
10
+ import type { TStyleValue } from '../common-types';
11
+ /**
12
+ * Shorthand properties:
13
+ * - [x] all - Should be banned
14
+ * - [ ] animation
15
+ * - [ ] background
16
+ * - [-] border
17
+ * - [x] border-block-end
18
+ * - [x] border-block-start
19
+ * - [ ] border-bottom
20
+ * - [x] border-color
21
+ * - [x] border-image
22
+ * - [x] border-inline-end
23
+ * - [x] border-inline-start
24
+ * - [ ] border-left
25
+ * - [x] border-radius
26
+ * - [ ] border-right
27
+ * - [x] border-style
28
+ * - [ ] border-top
29
+ * - [x] border-width
30
+ * - [ ] column-rule
31
+ * - [ ] columns
32
+ * - [ ] flex
33
+ * - [ ] flex-flow
34
+ * - [ ] font
35
+ * - [ ] gap
36
+ * - [ ] grid
37
+ * - [ ] grid-area
38
+ * - [ ] grid-column
39
+ * - [ ] grid-row
40
+ * - [ ] grid-template
41
+ * - [ ] list-style
42
+ * - [x] margin
43
+ * - [ ] mask
44
+ * - [ ] offset
45
+ * - [ ] outline
46
+ * - [x] overflow
47
+ * - [x] padding
48
+ * - [ ] place-content
49
+ * - [ ] place-items
50
+ * - [ ] place-self
51
+ * - [ ] scroll-margin
52
+ * - [ ] scroll-padding
53
+ * - [ ] text-decoration
54
+ * - [ ] text-emphasis
55
+ * - [ ] transition
56
+ */
57
+
58
+ /**
59
+ * Shorthand properties:
60
+ * - [x] all - Should be banned
61
+ * - [ ] animation
62
+ * - [ ] background
63
+ * - [-] border
64
+ * - [x] border-block-end
65
+ * - [x] border-block-start
66
+ * - [ ] border-bottom
67
+ * - [x] border-color
68
+ * - [x] border-image
69
+ * - [x] border-inline-end
70
+ * - [x] border-inline-start
71
+ * - [ ] border-left
72
+ * - [x] border-radius
73
+ * - [ ] border-right
74
+ * - [x] border-style
75
+ * - [ ] border-top
76
+ * - [x] border-width
77
+ * - [ ] column-rule
78
+ * - [ ] columns
79
+ * - [ ] flex
80
+ * - [ ] flex-flow
81
+ * - [ ] font
82
+ * - [ ] gap
83
+ * - [ ] grid
84
+ * - [ ] grid-area
85
+ * - [ ] grid-column
86
+ * - [ ] grid-row
87
+ * - [ ] grid-template
88
+ * - [ ] list-style
89
+ * - [x] margin
90
+ * - [ ] mask
91
+ * - [ ] offset
92
+ * - [ ] outline
93
+ * - [x] overflow
94
+ * - [x] padding
95
+ * - [ ] place-content
96
+ * - [ ] place-items
97
+ * - [ ] place-self
98
+ * - [ ] scroll-margin
99
+ * - [ ] scroll-padding
100
+ * - [ ] text-decoration
101
+ * - [ ] text-emphasis
102
+ * - [ ] transition
103
+ */
104
+
105
+ type TReturn = ReadonlyArray<[string, TStyleValue]>;
106
+ declare const shorthands: {
107
+ border: (rawValue: TStyleValue) => TReturn;
108
+ borderColor: (rawValue: TStyleValue) => TReturn;
109
+ borderHorizontal: (rawValue: TStyleValue) => TReturn;
110
+ borderStyle: (rawValue: TStyleValue) => TReturn;
111
+ borderVertical: (rawValue: TStyleValue) => TReturn;
112
+ borderWidth: (rawValue: TStyleValue) => TReturn;
113
+ borderHorizontalColor: (rawValue: TStyleValue) => TReturn;
114
+ borderHorizontalStyle: (rawValue: TStyleValue) => TReturn;
115
+ borderHorizontalWidth: (rawValue: TStyleValue) => TReturn;
116
+ borderVerticalColor: (rawValue: TStyleValue) => TReturn;
117
+ borderVerticalStyle: (rawValue: TStyleValue) => TReturn;
118
+ borderVerticalWidth: (rawValue: TStyleValue) => TReturn;
119
+ borderRadius: (rawValue: TStyleValue) => TReturn;
120
+ inset: (rawValue: TStyleValue) => TReturn;
121
+ insetInline: (rawValue: TStyleValue) => TReturn;
122
+ insetBlock: (rawValue: TStyleValue) => TReturn;
123
+ start: (rawValue: TStyleValue) => TReturn;
124
+ end: (rawValue: TStyleValue) => TReturn;
125
+ left: (rawValue: TStyleValue) => TReturn;
126
+ right: (rawValue: TStyleValue) => TReturn;
127
+ gap: (rawValue: TStyleValue) => TReturn;
128
+ margin: (rawValue: TStyleValue) => TReturn;
129
+ marginHorizontal: (rawValue: TStyleValue) => TReturn;
130
+ marginStart: (rawValue: TStyleValue) => TReturn;
131
+ marginEnd: (rawValue: TStyleValue) => TReturn;
132
+ marginLeft: (rawValue: TStyleValue) => TReturn;
133
+ marginRight: (rawValue: TStyleValue) => TReturn;
134
+ marginVertical: (rawValue: TStyleValue) => TReturn;
135
+ overflow: (rawValue: TStyleValue) => TReturn;
136
+ padding: (rawValue: TStyleValue) => TReturn;
137
+ paddingHorizontal: (val: TStyleValue) => TReturn;
138
+ paddingStart: (val: TStyleValue) => TReturn;
139
+ paddingEnd: (val: TStyleValue) => TReturn;
140
+ paddingLeft: (val: TStyleValue) => TReturn;
141
+ paddingRight: (val: TStyleValue) => TReturn;
142
+ paddingVertical: (val: TStyleValue) => TReturn;
143
+ };
144
+ declare const aliases: {
145
+ insetBlockStart: (val: TStyleValue) => TReturn;
146
+ insetBlockEnd: (val: TStyleValue) => TReturn;
147
+ insetInlineStart: any;
148
+ insetInlineEnd: any;
149
+ blockSize: (val: TStyleValue) => TReturn;
150
+ inlineSize: (val: TStyleValue) => TReturn;
151
+ minBlockSize: (val: TStyleValue) => TReturn;
152
+ minInlineSize: (val: TStyleValue) => TReturn;
153
+ maxBlockSize: (val: TStyleValue) => TReturn;
154
+ maxInlineSize: (val: TStyleValue) => TReturn;
155
+ borderBlockWidth: any;
156
+ borderBlockStyle: any;
157
+ borderBlockColor: any;
158
+ borderBlockStartWidth: (val: TStyleValue) => TReturn;
159
+ borderBlockStartStyle: (val: TStyleValue) => TReturn;
160
+ borderBlockStartColor: (val: TStyleValue) => TReturn;
161
+ borderBlockEndWidth: (val: TStyleValue) => TReturn;
162
+ borderBlockEndStyle: (val: TStyleValue) => TReturn;
163
+ borderBlockEndColor: (val: TStyleValue) => TReturn;
164
+ borderInlineWidth: any;
165
+ borderInlineStyle: any;
166
+ borderInlineColor: any;
167
+ borderInlineStartWidth: (val: TStyleValue) => TReturn;
168
+ borderInlineStartStyle: (val: TStyleValue) => TReturn;
169
+ borderInlineStartColor: (val: TStyleValue) => TReturn;
170
+ borderInlineEndWidth: (val: TStyleValue) => TReturn;
171
+ borderInlineEndStyle: (val: TStyleValue) => TReturn;
172
+ borderInlineEndColor: (val: TStyleValue) => TReturn;
173
+ borderStartStartRadius: (val: TStyleValue) => TReturn;
174
+ borderStartEndRadius: (val: TStyleValue) => TReturn;
175
+ borderEndStartRadius: (val: TStyleValue) => TReturn;
176
+ borderEndEndRadius: (val: TStyleValue) => TReturn;
177
+ gridGap: any;
178
+ gridRowGap: (value: TStyleValue) => TReturn;
179
+ gridColumnGap: (value: TStyleValue) => TReturn;
180
+ marginBlock: any;
181
+ marginBlockStart: (val: TStyleValue) => TReturn;
182
+ marginBlockEnd: (val: TStyleValue) => TReturn;
183
+ marginInline: any;
184
+ marginInlineStart: (val: TStyleValue) => TReturn;
185
+ marginInlineEnd: (val: TStyleValue) => TReturn;
186
+ overflowBlock: (value: TStyleValue) => TReturn;
187
+ overflowInline: (value: TStyleValue) => TReturn;
188
+ paddingBlock: any;
189
+ paddingBlockStart: (val: TStyleValue) => TReturn;
190
+ paddingBlockEnd: (val: TStyleValue) => TReturn;
191
+ paddingInline: any;
192
+ paddingInlineStart: (val: TStyleValue) => TReturn;
193
+ paddingInlineEnd: (val: TStyleValue) => TReturn;
194
+ scrollMarginBlockStart: (value: TStyleValue) => TReturn;
195
+ scrollMarginBlockEnd: (value: TStyleValue) => TReturn;
196
+ };
197
+ declare const expansions: Omit<shorthands, keyof (aliases | {})> &
198
+ Omit<aliases, keyof ({})> & {};
199
+ declare const $$EXPORT_DEFAULT_DECLARATION$$: typeof expansions;
200
+ export default $$EXPORT_DEFAULT_DECLARATION$$;
@@ -0,0 +1,136 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _splitCssValue = _interopRequireDefault(require("../utils/split-css-value"));
8
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
+ const shorthands = {
10
+ border: rawValue => {
11
+ return [['borderTop', rawValue], ['borderEnd', rawValue], ['borderBottom', rawValue], ['borderStart', rawValue]];
12
+ },
13
+ borderColor: rawValue => {
14
+ const [top, right = top, bottom = top, left = right] = (0, _splitCssValue.default)(rawValue);
15
+ return [['borderTopColor', top], ['borderEndColor', right], ['borderBottomColor', bottom], ['borderStartColor', left]];
16
+ },
17
+ borderHorizontal: rawValue => {
18
+ return [['borderStart', rawValue], ['borderEnd', rawValue]];
19
+ },
20
+ borderStyle: rawValue => {
21
+ const [top, right = top, bottom = top, left = right] = (0, _splitCssValue.default)(rawValue);
22
+ return [['borderTopStyle', top], ['borderEndStyle', right], ['borderBottomStyle', bottom], ['borderStartStyle', left]];
23
+ },
24
+ borderVertical: rawValue => {
25
+ return [['borderTop', rawValue], ['borderBottom', rawValue]];
26
+ },
27
+ borderWidth: rawValue => {
28
+ const [top, right = top, bottom = top, left = right] = (0, _splitCssValue.default)(rawValue);
29
+ return [['borderTopWidth', top], ['borderEndWidth', right], ['borderBottomWidth', bottom], ['borderStartWidth', left]];
30
+ },
31
+ borderHorizontalColor: rawValue => [['borderStartColor', rawValue], ['borderEndColor', rawValue]],
32
+ borderHorizontalStyle: rawValue => [['borderStartStyle', rawValue], ['borderEndStyle', rawValue]],
33
+ borderHorizontalWidth: rawValue => [['borderStartWidth', rawValue], ['borderEndWidth', rawValue]],
34
+ borderVerticalColor: rawValue => [['borderTopColor', rawValue], ['borderBottomColor', rawValue]],
35
+ borderVerticalStyle: rawValue => [['borderTopStyle', rawValue], ['borderBottomStyle', rawValue]],
36
+ borderVerticalWidth: rawValue => [['borderTopWidth', rawValue], ['borderBottomWidth', rawValue]],
37
+ borderRadius: rawValue => {
38
+ const [top, right = top, bottom = top, left = right] = (0, _splitCssValue.default)(rawValue);
39
+ return [['borderTopStartRadius', top], ['borderTopEndRadius', right], ['borderBottomEndRadius', bottom], ['borderBottomStartRadius', left]];
40
+ },
41
+ inset: rawValue => [['top', rawValue], ['end', rawValue], ['bottom', rawValue], ['start', rawValue]],
42
+ insetInline: rawValue => [...shorthands.start(rawValue), ...shorthands.end(rawValue)],
43
+ insetBlock: rawValue => [['top', rawValue], ['bottom', rawValue]],
44
+ start: rawValue => [['start', rawValue], ['left', null], ['right', null]],
45
+ end: rawValue => [['end', rawValue], ['left', null], ['right', null]],
46
+ left: rawValue => [['left', rawValue], ['start', null], ['end', null]],
47
+ right: rawValue => [['right', rawValue], ['start', null], ['end', null]],
48
+ gap: rawValue => {
49
+ const [row, column = row] = (0, _splitCssValue.default)(rawValue);
50
+ return [['rowGap', row], ['columnGap', column]];
51
+ },
52
+ margin: rawValue => {
53
+ const [top, right = top, bottom = top, left = right] = (0, _splitCssValue.default)(rawValue);
54
+ return [['marginTop', top], ['marginEnd', right], ['marginBottom', bottom], ['marginStart', left]];
55
+ },
56
+ marginHorizontal: rawValue => [...shorthands.marginStart(rawValue), ...shorthands.marginEnd(rawValue)],
57
+ marginStart: rawValue => [['marginStart', rawValue], ['marginLeft', null], ['marginRight', null]],
58
+ marginEnd: rawValue => [['marginEnd', rawValue], ['marginLeft', null], ['marginRight', null]],
59
+ marginLeft: rawValue => [['marginLeft', rawValue], ['marginStart', null], ['marginEnd', null]],
60
+ marginRight: rawValue => [['marginRight', rawValue], ['marginStart', null], ['marginEnd', null]],
61
+ marginVertical: rawValue => {
62
+ return [['marginTop', rawValue], ['marginBottom', rawValue]];
63
+ },
64
+ overflow: rawValue => {
65
+ const [x, y = x] = (0, _splitCssValue.default)(rawValue);
66
+ return [['overflowX', x], ['overflowY', y]];
67
+ },
68
+ padding: rawValue => {
69
+ const [top, right = top, bottom = top, left = right] = (0, _splitCssValue.default)(rawValue);
70
+ return [['paddingTop', top], ['paddingEnd', right], ['paddingBottom', bottom], ['paddingStart', left]];
71
+ },
72
+ paddingHorizontal: val => [...shorthands.paddingStart(val), ...shorthands.paddingEnd(val)],
73
+ paddingStart: val => [['paddingStart', val], ['paddingLeft', null], ['paddingRight', null]],
74
+ paddingEnd: val => [['paddingEnd', val], ['paddingLeft', null], ['paddingRight', null]],
75
+ paddingLeft: val => [['paddingLeft', val], ['paddingStart', null], ['paddingEnd', null]],
76
+ paddingRight: val => [['paddingRight', val], ['paddingStart', null], ['paddingEnd', null]],
77
+ paddingVertical: val => [['paddingTop', val], ['paddingBottom', val]]
78
+ };
79
+ const aliases = {
80
+ insetBlockStart: val => [['top', val]],
81
+ insetBlockEnd: val => [['bottom', val]],
82
+ insetInlineStart: shorthands.start,
83
+ insetInlineEnd: shorthands.end,
84
+ blockSize: val => [['height', val]],
85
+ inlineSize: val => [['width', val]],
86
+ minBlockSize: val => [['minHeight', val]],
87
+ minInlineSize: val => [['minWidth', val]],
88
+ maxBlockSize: val => [['maxHeight', val]],
89
+ maxInlineSize: val => [['maxWidth', val]],
90
+ borderBlockWidth: shorthands.borderVerticalWidth,
91
+ borderBlockStyle: shorthands.borderVerticalStyle,
92
+ borderBlockColor: shorthands.borderVerticalColor,
93
+ borderBlockStartWidth: val => [['borderTopWidth', val]],
94
+ borderBlockStartStyle: val => [['borderTopStyle', val]],
95
+ borderBlockStartColor: val => [['borderTopColor', val]],
96
+ borderBlockEndWidth: val => [['borderBottomWidth', val]],
97
+ borderBlockEndStyle: val => [['borderBottomStyle', val]],
98
+ borderBlockEndColor: val => [['borderBottomColor', val]],
99
+ borderInlineWidth: shorthands.borderHorizontalWidth,
100
+ borderInlineStyle: shorthands.borderHorizontalStyle,
101
+ borderInlineColor: shorthands.borderHorizontalColor,
102
+ borderInlineStartWidth: val => [['borderStartWidth', val]],
103
+ borderInlineStartStyle: val => [['borderStartStyle', val]],
104
+ borderInlineStartColor: val => [['borderStartColor', val]],
105
+ borderInlineEndWidth: val => [['borderEndWidth', val]],
106
+ borderInlineEndStyle: val => [['borderEndStyle', val]],
107
+ borderInlineEndColor: val => [['borderEndColor', val]],
108
+ borderStartStartRadius: val => [['borderTopStartRadius', val]],
109
+ borderStartEndRadius: val => [['borderTopEndRadius', val]],
110
+ borderEndStartRadius: val => [['borderBottomStartRadius', val]],
111
+ borderEndEndRadius: val => [['borderBottomEndRadius', val]],
112
+ gridGap: shorthands.gap,
113
+ gridRowGap: value => [['rowGap', value]],
114
+ gridColumnGap: value => [['columnGap', value]],
115
+ marginBlock: shorthands.marginVertical,
116
+ marginBlockStart: val => [['marginTop', val]],
117
+ marginBlockEnd: val => [['marginBottom', val]],
118
+ marginInline: shorthands.marginHorizontal,
119
+ marginInlineStart: val => [['marginStart', val]],
120
+ marginInlineEnd: val => [['marginEnd', val]],
121
+ overflowBlock: value => [['overflowY', value]],
122
+ overflowInline: value => [['overflowX', value]],
123
+ paddingBlock: shorthands.paddingVertical,
124
+ paddingBlockStart: val => [['paddingTop', val]],
125
+ paddingBlockEnd: val => [['paddingBottom', val]],
126
+ paddingInline: shorthands.paddingHorizontal,
127
+ paddingInlineStart: val => [['paddingStart', val]],
128
+ paddingInlineEnd: val => [['paddingEnd', val]],
129
+ scrollMarginBlockStart: value => [['scrollMarginTop', value]],
130
+ scrollMarginBlockEnd: value => [['scrollMarginBottom', value]]
131
+ };
132
+ const expansions = {
133
+ ...shorthands,
134
+ ...aliases
135
+ };
136
+ var _default = exports.default = expansions;
@@ -0,0 +1,179 @@
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
+ // TODO: to be added later.
13
+ // const aliases = {
14
+ // marginInlineStart: (rawValue) => [['marginStart', rawValue]],
15
+ // marginInlineEnd: (rawValue) => [['marginEnd', rawValue]],
16
+ // marginInline: (rawValue) => [
17
+ // ['marginStart', rawValue],
18
+ // ['marginEnd', rawValue],
19
+ // ],
20
+ // paddingInlineStart: (rawValue) => [['paddingStart', rawValue]],
21
+ // paddingInlineEnd: (rawValue) => [['paddingEnd', rawValue]],
22
+ // paddingInline: (rawValue) => [
23
+ // ['paddingStart', rawValue],
24
+ // ['paddingEnd', rawValue],
25
+ // ],
26
+ // // 'borderInlineStart': (rawValue) => [['borderStart', rawValue]],
27
+ // // 'borderInlineEnd': (rawValue) => [['borderEnd', rawValue]],
28
+ // // // This will need to change.
29
+ // // 'borderInline': (rawValue) => [
30
+ // // ['borderStart', rawValue],
31
+ // // ['borderEnd', rawValue],
32
+ // // ],
33
+ // };
34
+
35
+ /**
36
+ * Shorthand properties:
37
+ * - [x] all - Should be banned
38
+ * - [ ] animation
39
+ * - [ ] background
40
+ * - [-] border
41
+ * - [x] border-block-end
42
+ * - [x] border-block-start
43
+ * - [ ] border-bottom
44
+ * - [x] border-color
45
+ * - [x] border-image
46
+ * - [x] border-inline-end
47
+ * - [x] border-inline-start
48
+ * - [ ] border-left
49
+ * - [x] border-radius
50
+ * - [ ] border-right
51
+ * - [x] border-style
52
+ * - [ ] border-top
53
+ * - [x] border-width
54
+ * - [ ] column-rule
55
+ * - [ ] columns
56
+ * - [ ] flex
57
+ * - [ ] flex-flow
58
+ * - [ ] font
59
+ * - [ ] gap
60
+ * - [ ] grid
61
+ * - [ ] grid-area
62
+ * - [ ] grid-column
63
+ * - [ ] grid-row
64
+ * - [ ] grid-template
65
+ * - [ ] list-style
66
+ * - [x] margin
67
+ * - [ ] mask
68
+ * - [ ] offset
69
+ * - [ ] outline
70
+ * - [x] overflow
71
+ * - [x] padding
72
+ * - [ ] place-content
73
+ * - [ ] place-items
74
+ * - [ ] place-self
75
+ * - [ ] scroll-margin
76
+ * - [ ] scroll-padding
77
+ * - [ ] text-decoration
78
+ * - [ ] text-emphasis
79
+ * - [ ] transition
80
+ */
81
+
82
+ type TReturn = $ReadOnlyArray<[string, TStyleValue]>;
83
+
84
+ declare const shorthands: {
85
+ border: (rawValue: TStyleValue) => TReturn,
86
+ borderColor: (rawValue: TStyleValue) => TReturn,
87
+ borderHorizontal: (rawValue: TStyleValue) => TReturn,
88
+ borderStyle: (rawValue: TStyleValue) => TReturn,
89
+ borderVertical: (rawValue: TStyleValue) => TReturn,
90
+ borderWidth: (rawValue: TStyleValue) => TReturn,
91
+ borderHorizontalColor: (rawValue: TStyleValue) => TReturn,
92
+ borderHorizontalStyle: (rawValue: TStyleValue) => TReturn,
93
+ borderHorizontalWidth: (rawValue: TStyleValue) => TReturn,
94
+ borderVerticalColor: (rawValue: TStyleValue) => TReturn,
95
+ borderVerticalStyle: (rawValue: TStyleValue) => TReturn,
96
+ borderVerticalWidth: (rawValue: TStyleValue) => TReturn,
97
+ borderRadius: (rawValue: TStyleValue) => TReturn,
98
+ inset: (rawValue: TStyleValue) => TReturn,
99
+ insetInline: (rawValue: TStyleValue) => TReturn,
100
+ insetBlock: (rawValue: TStyleValue) => TReturn,
101
+ start: (rawValue: TStyleValue) => TReturn,
102
+ end: (rawValue: TStyleValue) => TReturn,
103
+ left: (rawValue: TStyleValue) => TReturn,
104
+ right: (rawValue: TStyleValue) => TReturn,
105
+ gap: (rawValue: TStyleValue) => TReturn,
106
+ margin: (rawValue: TStyleValue) => TReturn,
107
+ marginHorizontal: (rawValue: TStyleValue) => TReturn,
108
+ marginStart: (rawValue: TStyleValue) => TReturn,
109
+ marginEnd: (rawValue: TStyleValue) => TReturn,
110
+ marginLeft: (rawValue: TStyleValue) => TReturn,
111
+ marginRight: (rawValue: TStyleValue) => TReturn,
112
+ marginVertical: (rawValue: TStyleValue) => TReturn,
113
+ overflow: (rawValue: TStyleValue) => TReturn,
114
+ padding: (rawValue: TStyleValue) => TReturn,
115
+ paddingHorizontal: (val: TStyleValue) => TReturn,
116
+ paddingStart: (val: TStyleValue) => TReturn,
117
+ paddingEnd: (val: TStyleValue) => TReturn,
118
+ paddingLeft: (val: TStyleValue) => TReturn,
119
+ paddingRight: (val: TStyleValue) => TReturn,
120
+ paddingVertical: (val: TStyleValue) => TReturn,
121
+ };
122
+
123
+ declare const aliases: {
124
+ insetBlockStart: (val: TStyleValue) => TReturn,
125
+ insetBlockEnd: (val: TStyleValue) => TReturn,
126
+ insetInlineStart: $FlowFixMe,
127
+ insetInlineEnd: $FlowFixMe,
128
+ blockSize: (val: TStyleValue) => TReturn,
129
+ inlineSize: (val: TStyleValue) => TReturn,
130
+ minBlockSize: (val: TStyleValue) => TReturn,
131
+ minInlineSize: (val: TStyleValue) => TReturn,
132
+ maxBlockSize: (val: TStyleValue) => TReturn,
133
+ maxInlineSize: (val: TStyleValue) => TReturn,
134
+ borderBlockWidth: $FlowFixMe,
135
+ borderBlockStyle: $FlowFixMe,
136
+ borderBlockColor: $FlowFixMe,
137
+ borderBlockStartWidth: (val: TStyleValue) => TReturn,
138
+ borderBlockStartStyle: (val: TStyleValue) => TReturn,
139
+ borderBlockStartColor: (val: TStyleValue) => TReturn,
140
+ borderBlockEndWidth: (val: TStyleValue) => TReturn,
141
+ borderBlockEndStyle: (val: TStyleValue) => TReturn,
142
+ borderBlockEndColor: (val: TStyleValue) => TReturn,
143
+ borderInlineWidth: $FlowFixMe,
144
+ borderInlineStyle: $FlowFixMe,
145
+ borderInlineColor: $FlowFixMe,
146
+ borderInlineStartWidth: (val: TStyleValue) => TReturn,
147
+ borderInlineStartStyle: (val: TStyleValue) => TReturn,
148
+ borderInlineStartColor: (val: TStyleValue) => TReturn,
149
+ borderInlineEndWidth: (val: TStyleValue) => TReturn,
150
+ borderInlineEndStyle: (val: TStyleValue) => TReturn,
151
+ borderInlineEndColor: (val: TStyleValue) => TReturn,
152
+ borderStartStartRadius: (val: TStyleValue) => TReturn,
153
+ borderStartEndRadius: (val: TStyleValue) => TReturn,
154
+ borderEndStartRadius: (val: TStyleValue) => TReturn,
155
+ borderEndEndRadius: (val: TStyleValue) => TReturn,
156
+ gridGap: $FlowFixMe,
157
+ gridRowGap: (value: TStyleValue) => TReturn,
158
+ gridColumnGap: (value: TStyleValue) => TReturn,
159
+ marginBlock: $FlowFixMe,
160
+ marginBlockStart: (val: TStyleValue) => TReturn,
161
+ marginBlockEnd: (val: TStyleValue) => TReturn,
162
+ marginInline: $FlowFixMe,
163
+ marginInlineStart: (val: TStyleValue) => TReturn,
164
+ marginInlineEnd: (val: TStyleValue) => TReturn,
165
+ overflowBlock: (value: TStyleValue) => TReturn,
166
+ overflowInline: (value: TStyleValue) => TReturn,
167
+ paddingBlock: $FlowFixMe,
168
+ paddingBlockStart: (val: TStyleValue) => TReturn,
169
+ paddingBlockEnd: (val: TStyleValue) => TReturn,
170
+ paddingInline: $FlowFixMe,
171
+ paddingInlineStart: (val: TStyleValue) => TReturn,
172
+ paddingInlineEnd: (val: TStyleValue) => TReturn,
173
+ scrollMarginBlockStart: (value: TStyleValue) => TReturn,
174
+ scrollMarginBlockEnd: (value: TStyleValue) => TReturn,
175
+ };
176
+
177
+ declare const expansions: { ...shorthands, ...aliases };
178
+
179
+ declare export default typeof expansions;
@@ -0,0 +1,89 @@
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
+ *
8
+ */
9
+
10
+ import type { TStyleValue } from '../common-types';
11
+ type TReturn = ReadonlyArray<[string, TStyleValue]>;
12
+ declare const shorthands: {
13
+ all: (_: TStyleValue) => TReturn;
14
+ animation: (_value: TStyleValue) => TReturn;
15
+ background: (_value: TStyleValue) => TReturn;
16
+ border: (_rawValue: TStyleValue) => TReturn;
17
+ borderInline: (_rawValue: TStyleValue) => TReturn;
18
+ borderBlock: (_rawValue: TStyleValue) => TReturn;
19
+ borderTop: (_rawValue: TStyleValue) => TReturn;
20
+ borderInlineEnd: (_rawValue: TStyleValue) => TReturn;
21
+ borderRight: (_rawValue: TStyleValue) => TReturn;
22
+ borderBottom: (_rawValue: TStyleValue) => TReturn;
23
+ borderInlineStart: (_rawValue: TStyleValue) => TReturn;
24
+ borderLeft: (_rawValue: TStyleValue) => TReturn;
25
+ };
26
+ declare const aliases: {
27
+ borderHorizontal: any;
28
+ borderVertical: any;
29
+ borderBlockStart: any;
30
+ borderEnd: any;
31
+ borderBlockEnd: any;
32
+ borderStart: any;
33
+ blockSize: (val: TStyleValue) => TReturn;
34
+ inlineSize: (val: TStyleValue) => TReturn;
35
+ minBlockSize: (val: TStyleValue) => TReturn;
36
+ minInlineSize: (val: TStyleValue) => TReturn;
37
+ maxBlockSize: (val: TStyleValue) => TReturn;
38
+ maxInlineSize: (val: TStyleValue) => TReturn;
39
+ borderHorizontalWidth: (val: TStyleValue) => TReturn;
40
+ borderHorizontalStyle: (val: TStyleValue) => TReturn;
41
+ borderHorizontalColor: (val: TStyleValue) => TReturn;
42
+ borderVerticalWidth: (val: TStyleValue) => TReturn;
43
+ borderVerticalStyle: (val: TStyleValue) => TReturn;
44
+ borderVerticalColor: (val: TStyleValue) => TReturn;
45
+ borderBlockStartColor: (value: TStyleValue) => TReturn;
46
+ borderBlockEndColor: (value: TStyleValue) => TReturn;
47
+ borderBlockStartStyle: (value: TStyleValue) => TReturn;
48
+ borderBlockEndStyle: (value: TStyleValue) => TReturn;
49
+ borderBlockStartWidth: (value: TStyleValue) => TReturn;
50
+ borderBlockEndWidth: (value: TStyleValue) => TReturn;
51
+ borderStartColor: (val: TStyleValue) => TReturn;
52
+ borderEndColor: (val: TStyleValue) => TReturn;
53
+ borderStartStyle: (val: TStyleValue) => TReturn;
54
+ borderEndStyle: (val: TStyleValue) => TReturn;
55
+ borderStartWidth: (val: TStyleValue) => TReturn;
56
+ borderEndWidth: (val: TStyleValue) => TReturn;
57
+ borderTopStartRadius: (value: TStyleValue) => TReturn;
58
+ borderTopEndRadius: (value: TStyleValue) => TReturn;
59
+ borderBottomStartRadius: (value: TStyleValue) => TReturn;
60
+ borderBottomEndRadius: (value: TStyleValue) => TReturn;
61
+ containIntrinsicBlockSize: (value: TStyleValue) => TReturn;
62
+ containIntrinsicInlineSize: (value: TStyleValue) => TReturn;
63
+ marginBlockStart: (value: TStyleValue) => TReturn;
64
+ marginBlockEnd: (value: TStyleValue) => TReturn;
65
+ marginStart: (val: TStyleValue) => TReturn;
66
+ marginEnd: (val: TStyleValue) => TReturn;
67
+ marginHorizontal: (val: TStyleValue) => TReturn;
68
+ marginVertical: (val: TStyleValue) => TReturn;
69
+ overflowBlock: (value: TStyleValue) => TReturn;
70
+ overflowInline: (value: TStyleValue) => TReturn;
71
+ paddingBlockStart: (rawValue: TStyleValue) => TReturn;
72
+ paddingBlockEnd: (rawValue: TStyleValue) => TReturn;
73
+ paddingStart: (val: TStyleValue) => TReturn;
74
+ paddingEnd: (val: TStyleValue) => TReturn;
75
+ paddingHorizontal: (val: TStyleValue) => TReturn;
76
+ paddingVertical: (val: TStyleValue) => TReturn;
77
+ scrollMarginBlockStart: (value: TStyleValue) => TReturn;
78
+ scrollMarginBlockEnd: (value: TStyleValue) => TReturn;
79
+ insetBlockStart: (value: TStyleValue) => TReturn;
80
+ insetBlockEnd: (value: TStyleValue) => TReturn;
81
+ start: (val: TStyleValue) => TReturn;
82
+ end: (val: TStyleValue) => TReturn;
83
+ };
84
+ declare const $$EXPORT_DEFAULT_DECLARATION$$: Readonly</**
85
+ * > 96 | ...typeof shorthands,
86
+ * | ^^^^^^^^^^^^^^^^^^^^ Unsupported feature: Translating "object types with complex spreads" is currently not supported.
87
+ **/
88
+ any>;
89
+ export default $$EXPORT_DEFAULT_DECLARATION$$;