@stylexjs/shared 0.2.0-beta.16 → 0.2.0-beta.17

Sign up to get free protection for your applications and to get access to all the features.
Files changed (100) hide show
  1. package/lib/convert-to-className.d.ts +1 -1
  2. package/lib/convert-to-className.js +6 -22
  3. package/lib/convert-to-className.js.flow +1 -1
  4. package/lib/generate-css-rule.d.ts +1 -1
  5. package/lib/generate-css-rule.js +3 -14
  6. package/lib/generate-css-rule.js.flow +1 -1
  7. package/lib/hash.d.ts +2 -2
  8. package/lib/hash.js +9 -33
  9. package/lib/hash.js.flow +1 -3
  10. package/lib/index.d.ts +9 -9
  11. package/lib/index.js +0 -14
  12. package/lib/index.js.flow +9 -9
  13. package/lib/messages.d.ts +26 -26
  14. package/lib/messages.js +26 -36
  15. package/lib/messages.js.flow +26 -26
  16. package/lib/physical-rtl/generate-ltr.js +39 -67
  17. package/lib/physical-rtl/generate-ltr.js.flow +1 -1
  18. package/lib/physical-rtl/generate-rtl.d.ts +1 -2
  19. package/lib/physical-rtl/generate-rtl.js +57 -89
  20. package/lib/physical-rtl/generate-rtl.js.flow +1 -2
  21. package/lib/preprocess-rules/PreRule.d.ts +3 -3
  22. package/lib/preprocess-rules/PreRule.js +3 -17
  23. package/lib/preprocess-rules/PreRule.js.flow +3 -3
  24. package/lib/preprocess-rules/application-order.d.ts +8 -5
  25. package/lib/preprocess-rules/application-order.js +121 -160
  26. package/lib/preprocess-rules/application-order.js.flow +6 -5
  27. package/lib/preprocess-rules/basic-validation.d.ts +1 -1
  28. package/lib/preprocess-rules/basic-validation.js +6 -15
  29. package/lib/preprocess-rules/basic-validation.js.flow +1 -1
  30. package/lib/preprocess-rules/flatten-raw-style-obj.d.ts +2 -2
  31. package/lib/preprocess-rules/flatten-raw-style-obj.js +14 -43
  32. package/lib/preprocess-rules/flatten-raw-style-obj.js.flow +2 -2
  33. package/lib/preprocess-rules/index.d.ts +2 -2
  34. package/lib/preprocess-rules/index.js +6 -15
  35. package/lib/preprocess-rules/index.js.flow +2 -2
  36. package/lib/preprocess-rules/legacy-expand-shorthands.d.ts +3 -2
  37. package/lib/preprocess-rules/legacy-expand-shorthands.js +14 -33
  38. package/lib/preprocess-rules/legacy-expand-shorthands.js.flow +2 -2
  39. package/lib/preprocess-rules/property-specificity.d.ts +8 -5
  40. package/lib/preprocess-rules/property-specificity.js +54 -76
  41. package/lib/preprocess-rules/property-specificity.js.flow +6 -5
  42. package/lib/stylex-create-vars.d.ts +17 -8
  43. package/lib/stylex-create-vars.js +30 -17
  44. package/lib/stylex-create-vars.js.flow +10 -4
  45. package/lib/stylex-create.d.ts +2 -2
  46. package/lib/stylex-create.js +1 -20
  47. package/lib/stylex-create.js.flow +1 -1
  48. package/lib/stylex-first-that-works.js +0 -10
  49. package/lib/stylex-include.js +0 -10
  50. package/lib/stylex-keyframes.d.ts +1 -1
  51. package/lib/stylex-keyframes.js +7 -27
  52. package/lib/stylex-keyframes.js.flow +1 -1
  53. package/lib/stylex-override-vars.d.ts +11 -4
  54. package/lib/stylex-override-vars.js +32 -18
  55. package/lib/stylex-override-vars.js.flow +3 -3
  56. package/lib/transform-value.js +11 -29
  57. package/lib/transform-value.js.flow +1 -1
  58. package/lib/utils/Rule.d.ts +2 -2
  59. package/lib/utils/Rule.js +0 -21
  60. package/lib/utils/Rule.js.flow +2 -2
  61. package/lib/utils/dashify.js +1 -9
  62. package/lib/utils/default-options.d.ts +1 -1
  63. package/lib/utils/default-options.js +2 -23
  64. package/lib/utils/default-options.js.flow +1 -1
  65. package/lib/utils/file-based-identifier.js +1 -9
  66. package/lib/utils/genCSSRule.d.ts +1 -1
  67. package/lib/utils/genCSSRule.js +6 -16
  68. package/lib/utils/genCSSRule.js.flow +1 -1
  69. package/lib/utils/normalize-value.js +1 -13
  70. package/lib/utils/normalize-value.js.flow +1 -1
  71. package/lib/utils/normalizers/detect-unclosed-fns.d.ts +1 -1
  72. package/lib/utils/normalizers/detect-unclosed-fns.js +2 -14
  73. package/lib/utils/normalizers/detect-unclosed-fns.js.flow +1 -1
  74. package/lib/utils/normalizers/font-size-px-to-rem.d.ts +1 -1
  75. package/lib/utils/normalizers/font-size-px-to-rem.js +4 -19
  76. package/lib/utils/normalizers/font-size-px-to-rem.js.flow +1 -1
  77. package/lib/utils/normalizers/leading-zero.d.ts +1 -1
  78. package/lib/utils/normalizers/leading-zero.js +3 -15
  79. package/lib/utils/normalizers/leading-zero.js.flow +1 -1
  80. package/lib/utils/normalizers/quotes.d.ts +1 -1
  81. package/lib/utils/normalizers/quotes.js +4 -17
  82. package/lib/utils/normalizers/quotes.js.flow +1 -1
  83. package/lib/utils/normalizers/timings.d.ts +1 -1
  84. package/lib/utils/normalizers/timings.js +4 -18
  85. package/lib/utils/normalizers/timings.js.flow +1 -1
  86. package/lib/utils/normalizers/whitespace.d.ts +1 -1
  87. package/lib/utils/normalizers/whitespace.js +12 -27
  88. package/lib/utils/normalizers/whitespace.js.flow +1 -1
  89. package/lib/utils/normalizers/zero-dimensions.d.ts +1 -1
  90. package/lib/utils/normalizers/zero-dimensions.js +8 -23
  91. package/lib/utils/normalizers/zero-dimensions.js.flow +1 -1
  92. package/lib/utils/object-utils.d.ts +28 -20
  93. package/lib/utils/object-utils.js +2 -15
  94. package/lib/utils/object-utils.js.flow +23 -27
  95. package/lib/utils/property-priorities.js +68 -83
  96. package/lib/utils/split-css-value.d.ts +1 -1
  97. package/lib/utils/split-css-value.js +8 -22
  98. package/lib/utils/split-css-value.js.flow +1 -1
  99. package/lib/validate.js +2 -11
  100. package/package.json +2 -3
@@ -9,15 +9,6 @@ var _index = _interopRequireDefault(require("./index"));
9
9
  var _PreRule = require("./PreRule");
10
10
  var _stylexInclude = require("../stylex-include");
11
11
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
- /**
13
- * Copyright (c) Meta Platforms, Inc. and affiliates.
14
- *
15
- * This source code is licensed under the MIT license found in the
16
- * LICENSE file in the root directory of this source tree.
17
- *
18
- *
19
- */
20
-
21
12
  function flattenRawStyleObject(style, options) {
22
13
  return _flattenRawStyleObject(style, [], [], options);
23
14
  }
@@ -25,15 +16,11 @@ function _flattenRawStyleObject(style, pseudos, atRules, options) {
25
16
  const flattened = [];
26
17
  for (const key in style) {
27
18
  const value = style[key];
28
-
29
- // Included Styles
30
- if (typeof value === 'object' && value instanceof _stylexInclude.IncludedStyles) {
19
+ if (typeof value === "object" && value instanceof _stylexInclude.IncludedStyles) {
31
20
  flattened.push([key, new _PreRule.PreIncludedStylesRule(value)]);
32
21
  continue;
33
22
  }
34
-
35
- // Default styles
36
- if (value === null || typeof value === 'string' || typeof value === 'number') {
23
+ if (value === null || typeof value === "string" || typeof value === "number") {
37
24
  const pairs = (0, _index.default)([key, value], options);
38
25
  for (const [property, value] of pairs) {
39
26
  if (value === null) {
@@ -44,8 +31,6 @@ function _flattenRawStyleObject(style, pseudos, atRules, options) {
44
31
  }
45
32
  continue;
46
33
  }
47
-
48
- // Fallback Styles
49
34
  if (Array.isArray(value)) {
50
35
  const equivalentPairs = {};
51
36
  for (const eachVal of value) {
@@ -64,20 +49,13 @@ function _flattenRawStyleObject(style, pseudos, atRules, options) {
64
49
  }
65
50
  }
66
51
  }
67
- // Deduplicate
68
- Object.entries(equivalentPairs)
69
- // Remove Nulls
70
- .map(_ref => {
52
+ Object.entries(equivalentPairs).map(_ref => {
71
53
  let [property, values] = _ref;
72
54
  return [property, [...new Set(values.filter(Boolean))]];
73
- })
74
- // Deduplicate and default to null when no values are found
75
- .map(_ref2 => {
55
+ }).map(_ref2 => {
76
56
  let [property, values] = _ref2;
77
57
  return [property, values.length === 0 ? null : values.length === 1 ? values[0] : values];
78
- })
79
- // Push to flattened
80
- .forEach(_ref3 => {
58
+ }).forEach(_ref3 => {
81
59
  let [property, value] = _ref3;
82
60
  if (value === null) {
83
61
  flattened.push([property, new _PreRule.NullPreRule()]);
@@ -87,17 +65,15 @@ function _flattenRawStyleObject(style, pseudos, atRules, options) {
87
65
  });
88
66
  continue;
89
67
  }
90
-
91
- // Object Values for propetiies. e.g. { color: { hover: 'red', default: 'blue' } }
92
- if (typeof value === 'object' && !key.startsWith(':') && !key.startsWith('@')) {
68
+ if (typeof value === "object" && !key.startsWith(":") && !key.startsWith("@")) {
93
69
  const equivalentPairs = {};
94
70
  for (const condition in value) {
95
71
  const innerValue = value[condition];
96
72
  const pseudosToPassDown = [...pseudos];
97
73
  const atRulesToPassDown = [...atRules];
98
- if (condition.startsWith(':')) {
74
+ if (condition.startsWith(":")) {
99
75
  pseudosToPassDown.push(condition);
100
- } else if (condition.startsWith('@')) {
76
+ } else if (condition.startsWith("@")) {
101
77
  atRulesToPassDown.push(condition);
102
78
  }
103
79
  const pairs = _flattenRawStyleObject({
@@ -105,8 +81,7 @@ function _flattenRawStyleObject(style, pseudos, atRules, options) {
105
81
  }, pseudosToPassDown, atRulesToPassDown, options);
106
82
  for (const [property, preRule] of pairs) {
107
83
  if (preRule instanceof _PreRule.PreIncludedStylesRule) {
108
- // NOT POSSIBLE, but needed for Flow
109
- throw new Error('stylex.include can only be used at the top-level');
84
+ throw new Error("stylex.include can only be used at the top-level");
110
85
  }
111
86
  if (equivalentPairs[property] == null) {
112
87
  equivalentPairs[property] = {
@@ -118,29 +93,25 @@ function _flattenRawStyleObject(style, pseudos, atRules, options) {
118
93
  }
119
94
  }
120
95
  for (const [property, obj] of Object.entries(equivalentPairs)) {
121
- const sortedKeys = Object.keys(obj); //.sort();
96
+ const sortedKeys = Object.keys(obj);
122
97
  const rules = [];
123
98
  for (const condition of sortedKeys) {
124
99
  rules.push(obj[condition]);
125
100
  }
126
- // If there are many conditions with `null` values, we will collapse them into a single `null` value.
127
- // `PreRuleSet.create` takes care of that for us.
128
101
  flattened.push([property, _PreRule.PreRuleSet.create(rules)]);
129
102
  }
130
103
  }
131
-
132
- // Object Values for pseudos and at-rules. e.g. { ':hover': { color: 'red' } }
133
- if (typeof value === 'object' && (key.startsWith(':') || key.startsWith('@'))) {
104
+ if (typeof value === "object" && (key.startsWith(":") || key.startsWith("@"))) {
134
105
  const pseudosToPassDown = [...pseudos];
135
106
  const atRulesToPassDown = [...atRules];
136
- if (key.startsWith(':')) {
107
+ if (key.startsWith(":")) {
137
108
  pseudosToPassDown.push(key);
138
- } else if (key.startsWith('@')) {
109
+ } else if (key.startsWith("@")) {
139
110
  atRulesToPassDown.push(key);
140
111
  }
141
112
  const pairs = _flattenRawStyleObject(value, pseudosToPassDown, atRulesToPassDown, options);
142
113
  for (const [property, preRule] of pairs) {
143
- flattened.push([key + '_' + property, preRule]);
114
+ flattened.push([key + "_" + property, preRule]);
144
115
  }
145
116
  }
146
117
  }
@@ -16,12 +16,12 @@ import {
16
16
  } from './PreRule';
17
17
  declare export function flattenRawStyleObject(
18
18
  style: RawStyles,
19
- options: StyleXOptions
19
+ options: StyleXOptions,
20
20
  ): $ReadOnlyArray<$ReadOnly<[string, IPreRule]>>;
21
21
 
22
22
  declare export function _flattenRawStyleObject(
23
23
  style: RawStyles,
24
24
  pseudos: $ReadOnlyArray<string>,
25
25
  atRules: $ReadOnlyArray<string>,
26
- options: StyleXOptions
26
+ options: StyleXOptions,
27
27
  ): Array<$ReadOnly<[string, AnyPreRule | PreIncludedStylesRule]>>;
@@ -9,10 +9,10 @@
9
9
 
10
10
  import type { StyleXOptions, TStyleValue } from '../common-types';
11
11
  export declare function getExpandedKeys(
12
- options: StyleXOptions
12
+ options: StyleXOptions,
13
13
  ): ReadonlyArray<string>;
14
14
  declare function flatMapExpandedShorthands(
15
15
  objEntry: Readonly<[string, TStyleValue]>,
16
- options: StyleXOptions
16
+ options: StyleXOptions,
17
17
  ): ReadonlyArray<[string, TStyleValue]>;
18
18
  export default flatMapExpandedShorthands;
@@ -9,29 +9,20 @@ var _applicationOrder = _interopRequireDefault(require("./application-order"));
9
9
  var _legacyExpandShorthands = _interopRequireDefault(require("./legacy-expand-shorthands"));
10
10
  var _propertySpecificity = _interopRequireDefault(require("./property-specificity"));
11
11
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
- /**
13
- * Copyright (c) Meta Platforms, Inc. and affiliates.
14
- *
15
- * This source code is licensed under the MIT license found in the
16
- * LICENSE file in the root directory of this source tree.
17
- *
18
- *
19
- */
20
-
21
12
  const expansions = {
22
- 'application-order': _applicationOrder.default,
23
- 'property-specificity': _propertySpecificity.default,
24
- 'legacy-expand-shorthands': _legacyExpandShorthands.default
13
+ "application-order": _applicationOrder.default,
14
+ "property-specificity": _propertySpecificity.default,
15
+ "legacy-expand-shorthands": _legacyExpandShorthands.default
25
16
  };
26
17
  function getExpandedKeys(options) {
27
- return Object.keys(expansions[options.styleResolution ?? 'application-order']);
18
+ return Object.keys(expansions[options.styleResolution ?? "application-order"]);
28
19
  }
29
20
  function flatMapExpandedShorthands(objEntry, options) {
30
21
  const [key, value] = objEntry;
31
- const expansion = expansions[options.styleResolution ?? 'application-order'][key];
22
+ const expansion = expansions[options.styleResolution ?? "application-order"][key];
32
23
  if (expansion) {
33
24
  if (Array.isArray(value)) {
34
- throw new Error('Cannot use fallbacks for shorthands. Use the expansion instead.');
25
+ throw new Error("Cannot use fallbacks for shorthands. Use the expansion instead.");
35
26
  }
36
27
  return expansion(value);
37
28
  }
@@ -10,10 +10,10 @@
10
10
  import type { StyleXOptions, TStyleValue } from '../common-types';
11
11
 
12
12
  declare export function getExpandedKeys(
13
- options: StyleXOptions
13
+ options: StyleXOptions,
14
14
  ): $ReadOnlyArray<string>;
15
15
 
16
16
  declare export default function flatMapExpandedShorthands(
17
17
  objEntry: $ReadOnly<[string, TStyleValue]>,
18
- options: StyleXOptions
18
+ options: StyleXOptions,
19
19
  ): $ReadOnlyArray<[string, TStyleValue]>;
@@ -103,7 +103,7 @@ import type { TStyleValue } from '../common-types';
103
103
  */
104
104
 
105
105
  type TReturn = ReadonlyArray<[string, TStyleValue]>;
106
- declare var expansions: {
106
+ declare const expansions: {
107
107
  border: (rawValue: TStyleValue) => TReturn;
108
108
  borderColor: (rawValue: TStyleValue) => TReturn;
109
109
  borderHorizontal: (rawValue: TStyleValue) => TReturn;
@@ -119,4 +119,5 @@ declare var expansions: {
119
119
  paddingHorizontal: (rawValue: TStyleValue) => TReturn;
120
120
  paddingVertical: (rawValue: TStyleValue) => TReturn;
121
121
  };
122
- export default expansions;
122
+ declare const $$EXPORT_DEFAULT_DECLARATION$$: typeof expansions;
123
+ export default $$EXPORT_DEFAULT_DECLARATION$$;
@@ -6,74 +6,55 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _splitCssValue = _interopRequireDefault(require("../utils/split-css-value"));
8
8
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
- /**
10
- * Copyright (c) Meta Platforms, Inc. and affiliates.
11
- *
12
- * This source code is licensed under the MIT license found in the
13
- * LICENSE file in the root directory of this source tree.
14
- *
15
- *
16
- */
17
-
18
9
  const expansions = {
19
10
  border: rawValue => {
20
- return [['borderTop', rawValue], ['borderEnd', rawValue], ['borderBottom', rawValue], ['borderStart', rawValue]];
11
+ return [["borderTop", rawValue], ["borderEnd", rawValue], ["borderBottom", rawValue], ["borderStart", rawValue]];
21
12
  },
22
13
  borderColor: rawValue => {
23
14
  const [top, right = top, bottom = top, left = right] = (0, _splitCssValue.default)(rawValue);
24
- return [['borderTopColor', top], ['borderEndColor', right], ['borderBottomColor', bottom], ['borderStartColor', left]];
15
+ return [["borderTopColor", top], ["borderEndColor", right], ["borderBottomColor", bottom], ["borderStartColor", left]];
25
16
  },
26
17
  borderHorizontal: rawValue => {
27
- return [['borderStart', rawValue], ['borderEnd', rawValue]];
28
- // return [
29
- // ...expansions.borderStart(rawValue),
30
- // ...expansions.borderEnd(rawValue),
31
- // ];
18
+ return [["borderStart", rawValue], ["borderEnd", rawValue]];
32
19
  },
33
-
34
20
  borderStyle: rawValue => {
35
21
  const [top, right = top, bottom = top, left = right] = (0, _splitCssValue.default)(rawValue);
36
- return [['borderTopStyle', top], ['borderEndStyle', right], ['borderBottomStyle', bottom], ['borderStartStyle', left]];
22
+ return [["borderTopStyle", top], ["borderEndStyle", right], ["borderBottomStyle", bottom], ["borderStartStyle", left]];
37
23
  },
38
24
  borderVertical: rawValue => {
39
- return [['borderTop', rawValue], ['borderBottom', rawValue]];
40
- // return [
41
- // ...expansions.borderTop(rawValue),
42
- // ...expansions.borderBottom(rawValue),
43
- // ];
25
+ return [["borderTop", rawValue], ["borderBottom", rawValue]];
44
26
  },
45
-
46
27
  borderWidth: rawValue => {
47
28
  const [top, right = top, bottom = top, left = right] = (0, _splitCssValue.default)(rawValue);
48
- return [['borderTopWidth', top], ['borderEndWidth', right], ['borderBottomWidth', bottom], ['borderStartWidth', left]];
29
+ return [["borderTopWidth", top], ["borderEndWidth", right], ["borderBottomWidth", bottom], ["borderStartWidth", left]];
49
30
  },
50
31
  borderRadius: rawValue => {
51
32
  const [top, right = top, bottom = top, left = right] = (0, _splitCssValue.default)(rawValue);
52
- return [['borderTopStartRadius', top], ['borderTopEndRadius', right], ['borderBottomEndRadius', bottom], ['borderBottomStartRadius', left]];
33
+ return [["borderTopStartRadius", top], ["borderTopEndRadius", right], ["borderBottomEndRadius", bottom], ["borderBottomStartRadius", left]];
53
34
  },
54
35
  margin: rawValue => {
55
36
  const [top, right = top, bottom = top, left = right] = (0, _splitCssValue.default)(rawValue);
56
- return [['marginTop', top], ['marginEnd', right], ['marginBottom', bottom], ['marginStart', left]];
37
+ return [["marginTop", top], ["marginEnd", right], ["marginBottom", bottom], ["marginStart", left]];
57
38
  },
58
39
  marginHorizontal: rawValue => {
59
- return [['marginStart', rawValue], ['marginEnd', rawValue]];
40
+ return [["marginStart", rawValue], ["marginEnd", rawValue]];
60
41
  },
61
42
  marginVertical: rawValue => {
62
- return [['marginTop', rawValue], ['marginBottom', rawValue]];
43
+ return [["marginTop", rawValue], ["marginBottom", rawValue]];
63
44
  },
64
45
  overflow: rawValue => {
65
46
  const [x, y = x] = (0, _splitCssValue.default)(rawValue);
66
- return [['overflowX', x], ['overflowY', y]];
47
+ return [["overflowX", x], ["overflowY", y]];
67
48
  },
68
49
  padding: rawValue => {
69
50
  const [top, right = top, bottom = top, left = right] = (0, _splitCssValue.default)(rawValue);
70
- return [['paddingTop', top], ['paddingEnd', right], ['paddingBottom', bottom], ['paddingStart', left]];
51
+ return [["paddingTop", top], ["paddingEnd", right], ["paddingBottom", bottom], ["paddingStart", left]];
71
52
  },
72
53
  paddingHorizontal: rawValue => {
73
- return [['paddingStart', rawValue], ['paddingEnd', rawValue]];
54
+ return [["paddingStart", rawValue], ["paddingEnd", rawValue]];
74
55
  },
75
56
  paddingVertical: rawValue => {
76
- return [['paddingTop', rawValue], ['paddingBottom', rawValue]];
57
+ return [["paddingTop", rawValue], ["paddingBottom", rawValue]];
77
58
  }
78
59
  };
79
60
  var _default = expansions;
@@ -81,7 +81,7 @@ import type { TStyleValue } from '../common-types';
81
81
 
82
82
  type TReturn = $ReadOnlyArray<[string, TStyleValue]>;
83
83
 
84
- declare var expansions: {
84
+ declare const expansions: {
85
85
  border: (rawValue: TStyleValue) => TReturn,
86
86
  borderColor: (rawValue: TStyleValue) => TReturn,
87
87
  borderHorizontal: (rawValue: TStyleValue) => TReturn,
@@ -98,4 +98,4 @@ declare var expansions: {
98
98
  paddingVertical: (rawValue: TStyleValue) => TReturn,
99
99
  };
100
100
 
101
- declare export default expansions;
101
+ declare export default typeof expansions;
@@ -9,7 +9,7 @@
9
9
 
10
10
  import type { TStyleValue } from '../common-types';
11
11
  type TReturn = ReadonlyArray<[string, TStyleValue]>;
12
- declare var shorthands: {
12
+ declare const shorthands: {
13
13
  all: (_: TStyleValue) => TReturn;
14
14
  animation: (_value: TStyleValue) => TReturn;
15
15
  background: (_value: TStyleValue) => TReturn;
@@ -25,7 +25,7 @@ declare var shorthands: {
25
25
  margin: (value: TStyleValue) => TReturn;
26
26
  padding: (rawValue: TStyleValue) => TReturn;
27
27
  };
28
- declare var aliases: {
28
+ declare const aliases: {
29
29
  borderHorizontal: any;
30
30
  borderVertical: any;
31
31
  borderBlockStart: any;
@@ -71,6 +71,9 @@ declare var aliases: {
71
71
  start: (value: TStyleValue) => TReturn;
72
72
  end: (value: TStyleValue) => TReturn;
73
73
  };
74
- declare var expansions: Omit<shorthands, keyof (aliases | {})> &
75
- Omit<aliases, keyof ({})> & {};
76
- export default expansions;
74
+ declare const $$EXPORT_DEFAULT_DECLARATION$$: Readonly</**
75
+ * > 86 | ...typeof shorthands,
76
+ * | ^^^^^^^^^^^^^^^^^^^^ Unsupported feature: Translating "object types with complex spreads" is currently not supported.
77
+ **/
78
+ any>;
79
+ export default $$EXPORT_DEFAULT_DECLARATION$$;
@@ -6,126 +6,104 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _splitCssValue = _interopRequireDefault(require("../utils/split-css-value"));
8
8
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
- /**
10
- * Copyright (c) Meta Platforms, Inc. and affiliates.
11
- *
12
- * This source code is licensed under the MIT license found in the
13
- * LICENSE file in the root directory of this source tree.
14
- *
15
- *
16
- */
17
-
18
9
  const shorthands = {
19
10
  all: _ => {
20
- throw new Error('all is not supported');
11
+ throw new Error("all is not supported");
21
12
  },
22
13
  animation: _value => {
23
- throw new Error('animation is not supported');
14
+ throw new Error("animation is not supported");
24
15
  },
25
16
  background: _value => {
26
- throw new Error('background is not supported. Use background-color, border-image etc. instead.');
17
+ throw new Error("background is not supported. Use background-color, border-image etc. instead.");
27
18
  },
28
19
  border: _rawValue => {
29
- throw new Error('border is not supported. Use border-width, border-style and border-color instead.');
20
+ throw new Error("border is not supported. Use border-width, border-style and border-color instead.");
30
21
  },
31
22
  borderInline: _rawValue => {
32
- throw new Error('borderInline is not supported. Use borderInlineWidth, borderInlineStyle and borderInlineColor instead.');
23
+ throw new Error("borderInline is not supported. Use borderInlineWidth, borderInlineStyle and borderInlineColor instead.");
33
24
  },
34
- // @Deprecated
35
25
  borderBlock: _rawValue => {
36
- throw new Error('borderBlock is not supported. Use borderBlockWidth, borderBlockStyle and borderBlockColor instead.');
26
+ throw new Error("borderBlock is not supported. Use borderBlockWidth, borderBlockStyle and borderBlockColor instead.");
37
27
  },
38
- // @Deprecated
39
28
  borderTop: _rawValue => {
40
- throw new Error('borderTop is not supported. Use borderTopWidth, borderTopStyle and borderTopColor instead.');
29
+ throw new Error("borderTop is not supported. Use borderTopWidth, borderTopStyle and borderTopColor instead.");
41
30
  },
42
- // @Deprecated
43
31
  borderInlineEnd: _rawValue => {
44
- throw new Error('borderInlineEnd is not supported. Use borderInlineEndWidth, borderInlineEndStyle and borderInlineEndColor instead.');
32
+ throw new Error("borderInlineEnd is not supported. Use borderInlineEndWidth, borderInlineEndStyle and borderInlineEndColor instead.");
45
33
  },
46
- // @Deprecated
47
34
  borderRight: _rawValue => {
48
- throw new Error('borderRight is not supported. Use borderRightWidth, borderRightStyle and borderRightColor instead.');
35
+ throw new Error("borderRight is not supported. Use borderRightWidth, borderRightStyle and borderRightColor instead.");
49
36
  },
50
- // @Deprecated
51
37
  borderBottom: _rawValue => {
52
- throw new Error('borderBottom is not supported. Use borderBottomWidth, borderBottomStyle and borderBottomColor instead.');
38
+ throw new Error("borderBottom is not supported. Use borderBottomWidth, borderBottomStyle and borderBottomColor instead.");
53
39
  },
54
- // @Deprecated
55
40
  borderInlineStart: _rawValue => {
56
- throw new Error('borderInlineStart is not supported. Use borderInlineStartWidth, borderInlineStartStyle and borderInlineStartColor instead.');
41
+ throw new Error("borderInlineStart is not supported. Use borderInlineStartWidth, borderInlineStartStyle and borderInlineStartColor instead.");
57
42
  },
58
- // @Deprecated
59
43
  borderLeft: _rawValue => {
60
- 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(' '));
44
+ 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(" "));
61
45
  },
62
46
  margin: value => {
63
47
  const values = (0, _splitCssValue.default)(value);
64
48
  if (values.length === 1) {
65
- return [['margin', values[0]]];
49
+ return [["margin", values[0]]];
66
50
  } else {
67
- throw new Error('margin shorthand with multiple values is not supported. Use marginTop, marginInlineEnd, marginBottom and marginInlineStart instead.');
51
+ throw new Error("margin shorthand with multiple values is not supported. Use marginTop, marginInlineEnd, marginBottom and marginInlineStart instead.");
68
52
  }
69
53
  },
70
54
  padding: rawValue => {
71
55
  const values = (0, _splitCssValue.default)(rawValue);
72
56
  if (values.length === 1) {
73
- return [['padding', values[0]]];
57
+ return [["padding", values[0]]];
74
58
  }
75
- throw new Error('padding shorthand with multiple values is not supported. Use paddingTop, paddingInlineEnd, paddingBottom and paddingInlineStart instead.');
59
+ throw new Error("padding shorthand with multiple values is not supported. Use paddingTop, paddingInlineEnd, paddingBottom and paddingInlineStart instead.");
76
60
  }
77
61
  };
78
62
  const aliases = {
79
- // @UNSUPPORTED
80
63
  borderHorizontal: shorthands.borderInline,
81
- // @UNSUPPORTED
82
64
  borderVertical: shorthands.borderBlock,
83
- // @UNSUPPORTED
84
65
  borderBlockStart: shorthands.borderTop,
85
- // @UNSUPPORTED
86
66
  borderEnd: shorthands.borderInlineEnd,
87
- // @UNSUPPORTED
88
67
  borderBlockEnd: shorthands.borderBottom,
89
- // @UNSUPPORTED
90
68
  borderStart: shorthands.borderInlineStart,
91
- borderHorizontalWidth: value => [['borderInlineWidth', value]],
92
- borderHorizontalStyle: value => [['borderInlineStyle', value]],
93
- borderHorizontalColor: value => [['borderInlineColor', value]],
94
- borderVerticalWidth: value => [['borderBlockWidth', value]],
95
- borderVerticalStyle: value => [['borderBlockStyle', value]],
96
- borderVerticalColor: value => [['borderBlockColor', value]],
97
- borderBlockStartColor: value => [['borderTopColor', value]],
98
- borderBlockEndColor: value => [['borderBottomColor', value]],
99
- borderBlockStartStyle: value => [['borderTopStyle', value]],
100
- borderBlockEndStyle: value => [['borderBottomStyle', value]],
101
- borderBlockStartWidth: value => [['borderTopWidth', value]],
102
- borderBlockEndWidth: value => [['borderBottomWidth', value]],
103
- borderStartColor: value => [['borderInlineStartColor', value]],
104
- borderEndColor: value => [['borderInlineEndColor', value]],
105
- borderStartStyle: value => [['borderInlineStartStyle', value]],
106
- borderEndStyle: value => [['borderInlineEndStyle', value]],
107
- borderStartWidth: value => [['borderInlineStartWidth', value]],
108
- borderEndWidth: value => [['borderInlineEndWidth', value]],
109
- borderTopStartRadius: value => [['borderStartStartRadius', value]],
110
- borderTopEndRadius: value => [['borderStartEndRadius', value]],
111
- borderBottomStartRadius: value => [['borderEndStartRadius', value]],
112
- borderBottomEndRadius: value => [['borderEndEndRadius', value]],
113
- marginBlockStart: value => [['marginTop', value]],
114
- marginBlockEnd: value => [['marginBottom', value]],
115
- marginStart: value => [['marginInlineStart', value]],
116
- marginEnd: value => [['marginInlineEnd', value]],
117
- marginHorizontal: value => [['marginInline', value]],
118
- marginVertical: value => [['marginBlock', value]],
119
- paddingBlockStart: rawValue => [['paddingTop', rawValue]],
120
- paddingBlockEnd: rawValue => [['paddingBottom', rawValue]],
121
- paddingStart: value => [['paddingInlineStart', value]],
122
- paddingEnd: value => [['paddingInlineEnd', value]],
123
- paddingHorizontal: value => [['paddingInline', value]],
124
- paddingVertical: value => [['paddingBlock', value]],
125
- insetBlockStart: value => [['top', value]],
126
- insetBlockEnd: value => [['bottom', value]],
127
- start: value => [['insetInlineStart', value]],
128
- end: value => [['insetInlineEnd', value]]
69
+ borderHorizontalWidth: value => [["borderInlineWidth", value]],
70
+ borderHorizontalStyle: value => [["borderInlineStyle", value]],
71
+ borderHorizontalColor: value => [["borderInlineColor", value]],
72
+ borderVerticalWidth: value => [["borderBlockWidth", value]],
73
+ borderVerticalStyle: value => [["borderBlockStyle", value]],
74
+ borderVerticalColor: value => [["borderBlockColor", value]],
75
+ borderBlockStartColor: value => [["borderTopColor", value]],
76
+ borderBlockEndColor: value => [["borderBottomColor", value]],
77
+ borderBlockStartStyle: value => [["borderTopStyle", value]],
78
+ borderBlockEndStyle: value => [["borderBottomStyle", value]],
79
+ borderBlockStartWidth: value => [["borderTopWidth", value]],
80
+ borderBlockEndWidth: value => [["borderBottomWidth", value]],
81
+ borderStartColor: value => [["borderInlineStartColor", value]],
82
+ borderEndColor: value => [["borderInlineEndColor", value]],
83
+ borderStartStyle: value => [["borderInlineStartStyle", value]],
84
+ borderEndStyle: value => [["borderInlineEndStyle", value]],
85
+ borderStartWidth: value => [["borderInlineStartWidth", value]],
86
+ borderEndWidth: value => [["borderInlineEndWidth", value]],
87
+ borderTopStartRadius: value => [["borderStartStartRadius", value]],
88
+ borderTopEndRadius: value => [["borderStartEndRadius", value]],
89
+ borderBottomStartRadius: value => [["borderEndStartRadius", value]],
90
+ borderBottomEndRadius: value => [["borderEndEndRadius", value]],
91
+ marginBlockStart: value => [["marginTop", value]],
92
+ marginBlockEnd: value => [["marginBottom", value]],
93
+ marginStart: value => [["marginInlineStart", value]],
94
+ marginEnd: value => [["marginInlineEnd", value]],
95
+ marginHorizontal: value => [["marginInline", value]],
96
+ marginVertical: value => [["marginBlock", value]],
97
+ paddingBlockStart: rawValue => [["paddingTop", rawValue]],
98
+ paddingBlockEnd: rawValue => [["paddingBottom", rawValue]],
99
+ paddingStart: value => [["paddingInlineStart", value]],
100
+ paddingEnd: value => [["paddingInlineEnd", value]],
101
+ paddingHorizontal: value => [["paddingInline", value]],
102
+ paddingVertical: value => [["paddingBlock", value]],
103
+ insetBlockStart: value => [["top", value]],
104
+ insetBlockEnd: value => [["bottom", value]],
105
+ start: value => [["insetInlineStart", value]],
106
+ end: value => [["insetInlineEnd", value]]
129
107
  };
130
108
  const expansions = {
131
109
  ...shorthands,
@@ -18,7 +18,7 @@ import type { TStyleValue } from '../common-types';
18
18
 
19
19
  type TReturn = $ReadOnlyArray<[string, TStyleValue]>;
20
20
 
21
- declare var shorthands: {
21
+ declare const shorthands: {
22
22
  all: (_: TStyleValue) => TReturn,
23
23
  animation: (_value: TStyleValue) => TReturn,
24
24
  background: (_value: TStyleValue) => TReturn,
@@ -35,7 +35,7 @@ declare var shorthands: {
35
35
  padding: (rawValue: TStyleValue) => TReturn,
36
36
  };
37
37
 
38
- declare var aliases: {
38
+ declare const aliases: {
39
39
  borderHorizontal: $FlowFixMe,
40
40
  borderVertical: $FlowFixMe,
41
41
  borderBlockStart: $FlowFixMe,
@@ -82,6 +82,7 @@ declare var aliases: {
82
82
  end: (value: TStyleValue) => TReturn,
83
83
  };
84
84
 
85
- declare var expansions: { ...shorthands, ...aliases };
86
-
87
- declare export default expansions;
85
+ declare export default $ReadOnly<{
86
+ ...typeof shorthands,
87
+ ...typeof aliases,
88
+ }>;
@@ -8,20 +8,29 @@
8
8
  */
9
9
 
10
10
  import type { StyleXOptions } from './common-types';
11
- type VarsObject<Vars extends { readonly [$$Key$$: string]: string | number }> =
12
- /**
13
- * > 13 | ...$ObjMapConst<Vars, string>,
14
- * | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Unsupported feature: Translating "object types with complex spreads" is currently not supported.
15
- **/
16
- any;
11
+ type VarsObject<
12
+ Vars extends {
13
+ readonly [$$Key$$: string]:
14
+ | string
15
+ | { default: string; readonly [$$Key$$: string]: string };
16
+ },
17
+ > = Readonly</**
18
+ * > 15 | ...$ObjMapConst<Vars, string>,
19
+ * | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Unsupported feature: Translating "object types with complex spreads" is currently not supported.
20
+ **/
21
+ any>;
17
22
  declare function styleXCreateVars<
18
- Vars extends { readonly [$$Key$$: string]: string }
23
+ Vars extends {
24
+ readonly [$$Key$$: string]:
25
+ | string
26
+ | { default: string; readonly [$$Key$$: string]: string };
27
+ },
19
28
  >(
20
29
  variables: Vars,
21
30
  options: Readonly<
22
31
  Omit<Partial<StyleXOptions>, keyof ({ themeName: string })> & {
23
32
  themeName: string;
24
33
  }
25
- >
34
+ >,
26
35
  ): [VarsObject<Vars>, { css: string }];
27
36
  export default styleXCreateVars;