@stylexjs/shared 0.2.0-beta.18 → 0.2.0-beta.20
Sign up to get free protection for your applications and to get access to all the features.
- package/lib/index.d.ts +1 -0
- package/lib/index.js +3 -1
- package/lib/index.js.flow +1 -0
- package/lib/preprocess-rules/application-order.d.ts +7 -1
- package/lib/preprocess-rules/application-order.js +6 -0
- package/lib/preprocess-rules/application-order.js.flow +6 -0
- package/lib/preprocess-rules/legacy-expand-shorthands.d.ts +60 -3
- package/lib/preprocess-rules/legacy-expand-shorthands.js +64 -5
- package/lib/preprocess-rules/legacy-expand-shorthands.js.flow +61 -3
- package/lib/preprocess-rules/property-specificity.d.ts +7 -1
- package/lib/preprocess-rules/property-specificity.js +6 -0
- package/lib/preprocess-rules/property-specificity.js.flow +6 -0
- package/lib/stylex-override-vars.js +1 -1
- package/lib/transform-value.d.ts +3 -0
- package/lib/transform-value.js +8 -2
- package/lib/transform-value.js.flow +6 -0
- package/lib/types/index.d.ts +208 -0
- package/lib/types/index.js +204 -0
- package/lib/types/index.js.flow +241 -0
- package/package.json +4 -3
package/lib/index.d.ts
CHANGED
@@ -25,6 +25,7 @@ import stylexFirstThatWorks from './stylex-first-that-works';
|
|
25
25
|
import hash from './hash';
|
26
26
|
import genFileBasedIdentifier from './utils/file-based-identifier';
|
27
27
|
import * as m from './messages';
|
28
|
+
export * as types from './types';
|
28
29
|
import type {
|
29
30
|
InjectableStyle as _InjectableStyle,
|
30
31
|
CompiledNamespaces as _CompiledNamespaces,
|
package/lib/index.js
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
4
4
|
value: true
|
5
5
|
});
|
6
|
-
exports.utils = exports.overrideVars = exports.messages = exports.keyframes = exports.include = exports.firstThatWorks = exports.createVars = exports.create = exports.IncludedStyles = void 0;
|
6
|
+
exports.utils = exports.types = exports.overrideVars = exports.messages = exports.keyframes = exports.include = exports.firstThatWorks = exports.createVars = exports.create = exports.IncludedStyles = void 0;
|
7
7
|
var _stylexCreate = _interopRequireDefault(require("./stylex-create"));
|
8
8
|
var _stylexCreateVars = _interopRequireDefault(require("./stylex-create-vars"));
|
9
9
|
var _stylexOverrideVars = _interopRequireDefault(require("./stylex-override-vars"));
|
@@ -13,6 +13,8 @@ var _stylexFirstThatWorks = _interopRequireDefault(require("./stylex-first-that-
|
|
13
13
|
var _hash = _interopRequireDefault(require("./hash"));
|
14
14
|
var _fileBasedIdentifier = _interopRequireDefault(require("./utils/file-based-identifier"));
|
15
15
|
var m = _interopRequireWildcard(require("./messages"));
|
16
|
+
var _types = _interopRequireWildcard(require("./types"));
|
17
|
+
exports.types = _types;
|
16
18
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
17
19
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
18
20
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
package/lib/index.js.flow
CHANGED
@@ -31,6 +31,7 @@ import stylexFirstThatWorks from './stylex-first-that-works';
|
|
31
31
|
import hash from './hash';
|
32
32
|
import genFileBasedIdentifier from './utils/file-based-identifier';
|
33
33
|
import * as m from './messages';
|
34
|
+
export * as types from './types';
|
34
35
|
|
35
36
|
import type {
|
36
37
|
InjectableStyle as _InjectableStyle,
|
@@ -209,6 +209,12 @@ declare const aliases: {
|
|
209
209
|
borderEnd: any;
|
210
210
|
borderBlockEnd: any;
|
211
211
|
borderStart: any;
|
212
|
+
blockSize: (val: TStyleValue) => TReturn;
|
213
|
+
inlineSize: (val: TStyleValue) => TReturn;
|
214
|
+
minBlockSize: (val: TStyleValue) => TReturn;
|
215
|
+
minInlineSize: (val: TStyleValue) => TReturn;
|
216
|
+
maxBlockSize: (val: TStyleValue) => TReturn;
|
217
|
+
maxInlineSize: (val: TStyleValue) => TReturn;
|
212
218
|
borderHorizontalWidth: any;
|
213
219
|
borderHorizontalStyle: any;
|
214
220
|
borderHorizontalColor: any;
|
@@ -249,7 +255,7 @@ declare const aliases: {
|
|
249
255
|
end: any;
|
250
256
|
};
|
251
257
|
declare const $$EXPORT_DEFAULT_DECLARATION$$: Readonly</**
|
252
|
-
* >
|
258
|
+
* > 211 | ...typeof shorthands,
|
253
259
|
* | ^^^^^^^^^^^^^^^^^^^^ Unsupported feature: Translating "object types with complex spreads" is currently not supported.
|
254
260
|
**/
|
255
261
|
any>;
|
@@ -173,6 +173,12 @@ const aliases = {
|
|
173
173
|
borderEnd: shorthands.borderInlineEnd,
|
174
174
|
borderBlockEnd: shorthands.borderBottom,
|
175
175
|
borderStart: shorthands.borderInlineStart,
|
176
|
+
blockSize: val => [["height", val]],
|
177
|
+
inlineSize: val => [["width", val]],
|
178
|
+
minBlockSize: val => [["minHeight", val]],
|
179
|
+
minInlineSize: val => [["minWidth", val]],
|
180
|
+
maxBlockSize: val => [["maxHeight", val]],
|
181
|
+
maxInlineSize: val => [["maxWidth", val]],
|
176
182
|
borderHorizontalWidth: shorthands.borderInlineWidth,
|
177
183
|
borderHorizontalStyle: shorthands.borderInlineStyle,
|
178
184
|
borderHorizontalColor: shorthands.borderInlineColor,
|
@@ -161,6 +161,12 @@ declare const aliases: {
|
|
161
161
|
borderEnd: $FlowFixMe,
|
162
162
|
borderBlockEnd: $FlowFixMe,
|
163
163
|
borderStart: $FlowFixMe,
|
164
|
+
blockSize: (val: TStyleValue) => TReturn,
|
165
|
+
inlineSize: (val: TStyleValue) => TReturn,
|
166
|
+
minBlockSize: (val: TStyleValue) => TReturn,
|
167
|
+
minInlineSize: (val: TStyleValue) => TReturn,
|
168
|
+
maxBlockSize: (val: TStyleValue) => TReturn,
|
169
|
+
maxInlineSize: (val: TStyleValue) => TReturn,
|
164
170
|
borderHorizontalWidth: $FlowFixMe,
|
165
171
|
borderHorizontalStyle: $FlowFixMe,
|
166
172
|
borderHorizontalColor: $FlowFixMe,
|
@@ -103,21 +103,78 @@ import type { TStyleValue } from '../common-types';
|
|
103
103
|
*/
|
104
104
|
|
105
105
|
type TReturn = ReadonlyArray<[string, TStyleValue]>;
|
106
|
-
declare const
|
106
|
+
declare const shorthands: {
|
107
107
|
border: (rawValue: TStyleValue) => TReturn;
|
108
108
|
borderColor: (rawValue: TStyleValue) => TReturn;
|
109
109
|
borderHorizontal: (rawValue: TStyleValue) => TReturn;
|
110
110
|
borderStyle: (rawValue: TStyleValue) => TReturn;
|
111
111
|
borderVertical: (rawValue: TStyleValue) => TReturn;
|
112
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;
|
113
119
|
borderRadius: (rawValue: TStyleValue) => TReturn;
|
120
|
+
inset: (rawValue: TStyleValue) => TReturn;
|
121
|
+
insetInline: (rawValue: TStyleValue) => TReturn;
|
122
|
+
insetBlock: (rawValue: TStyleValue) => TReturn;
|
114
123
|
margin: (rawValue: TStyleValue) => TReturn;
|
115
124
|
marginHorizontal: (rawValue: TStyleValue) => TReturn;
|
116
125
|
marginVertical: (rawValue: TStyleValue) => TReturn;
|
117
126
|
overflow: (rawValue: TStyleValue) => TReturn;
|
118
127
|
padding: (rawValue: TStyleValue) => TReturn;
|
119
|
-
paddingHorizontal: (
|
120
|
-
paddingVertical: (
|
128
|
+
paddingHorizontal: (val: TStyleValue) => TReturn;
|
129
|
+
paddingVertical: (val: TStyleValue) => TReturn;
|
121
130
|
};
|
131
|
+
declare const aliases: {
|
132
|
+
insetBlockStart: (val: TStyleValue) => TReturn;
|
133
|
+
insetBlockEnd: (val: TStyleValue) => TReturn;
|
134
|
+
insetInlineStart: (val: TStyleValue) => TReturn;
|
135
|
+
insetInlineEnd: (val: TStyleValue) => TReturn;
|
136
|
+
blockSize: (val: TStyleValue) => TReturn;
|
137
|
+
inlineSize: (val: TStyleValue) => TReturn;
|
138
|
+
minBlockSize: (val: TStyleValue) => TReturn;
|
139
|
+
minInlineSize: (val: TStyleValue) => TReturn;
|
140
|
+
maxBlockSize: (val: TStyleValue) => TReturn;
|
141
|
+
maxInlineSize: (val: TStyleValue) => TReturn;
|
142
|
+
borderBlockWidth: any;
|
143
|
+
borderBlockStyle: any;
|
144
|
+
borderBlockColor: any;
|
145
|
+
borderBlockStartWidth: (val: TStyleValue) => TReturn;
|
146
|
+
borderBlockStartStyle: (val: TStyleValue) => TReturn;
|
147
|
+
borderBlockStartColor: (val: TStyleValue) => TReturn;
|
148
|
+
borderBlockEndWidth: (val: TStyleValue) => TReturn;
|
149
|
+
borderBlockEndStyle: (val: TStyleValue) => TReturn;
|
150
|
+
borderBlockEndColor: (val: TStyleValue) => TReturn;
|
151
|
+
borderInlineWidth: any;
|
152
|
+
borderInlineStyle: any;
|
153
|
+
borderInlineColor: any;
|
154
|
+
borderInlineStartWidth: (val: TStyleValue) => TReturn;
|
155
|
+
borderInlineStartStyle: (val: TStyleValue) => TReturn;
|
156
|
+
borderInlineStartColor: (val: TStyleValue) => TReturn;
|
157
|
+
borderInlineEndWidth: (val: TStyleValue) => TReturn;
|
158
|
+
borderInlineEndStyle: (val: TStyleValue) => TReturn;
|
159
|
+
borderInlineEndColor: (val: TStyleValue) => TReturn;
|
160
|
+
borderStartStartRadius: (val: TStyleValue) => TReturn;
|
161
|
+
borderStartEndRadius: (val: TStyleValue) => TReturn;
|
162
|
+
borderEndStartRadius: (val: TStyleValue) => TReturn;
|
163
|
+
borderEndEndRadius: (val: TStyleValue) => TReturn;
|
164
|
+
marginBlock: any;
|
165
|
+
marginBlockStart: (val: TStyleValue) => TReturn;
|
166
|
+
marginBlockEnd: (val: TStyleValue) => TReturn;
|
167
|
+
marginInline: any;
|
168
|
+
marginInlineStart: (val: TStyleValue) => TReturn;
|
169
|
+
marginInlineEnd: (val: TStyleValue) => TReturn;
|
170
|
+
paddingBlock: any;
|
171
|
+
paddingBlockStart: (val: TStyleValue) => TReturn;
|
172
|
+
paddingBlockEnd: (val: TStyleValue) => TReturn;
|
173
|
+
paddingInline: any;
|
174
|
+
paddingInlineStart: (val: TStyleValue) => TReturn;
|
175
|
+
paddingInlineEnd: (val: TStyleValue) => TReturn;
|
176
|
+
};
|
177
|
+
declare const expansions: Omit<shorthands, keyof (aliases | {})> &
|
178
|
+
Omit<aliases, keyof ({})> & {};
|
122
179
|
declare const $$EXPORT_DEFAULT_DECLARATION$$: typeof expansions;
|
123
180
|
export default $$EXPORT_DEFAULT_DECLARATION$$;
|
@@ -6,7 +6,7 @@ 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
|
-
const
|
9
|
+
const shorthands = {
|
10
10
|
border: rawValue => {
|
11
11
|
return [["borderTop", rawValue], ["borderEnd", rawValue], ["borderBottom", rawValue], ["borderStart", rawValue]];
|
12
12
|
},
|
@@ -28,10 +28,19 @@ const expansions = {
|
|
28
28
|
const [top, right = top, bottom = top, left = right] = (0, _splitCssValue.default)(rawValue);
|
29
29
|
return [["borderTopWidth", top], ["borderEndWidth", right], ["borderBottomWidth", bottom], ["borderStartWidth", left]];
|
30
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]],
|
31
37
|
borderRadius: rawValue => {
|
32
38
|
const [top, right = top, bottom = top, left = right] = (0, _splitCssValue.default)(rawValue);
|
33
39
|
return [["borderTopStartRadius", top], ["borderTopEndRadius", right], ["borderBottomEndRadius", bottom], ["borderBottomStartRadius", left]];
|
34
40
|
},
|
41
|
+
inset: rawValue => [["top", rawValue], ["end", rawValue], ["bottom", rawValue], ["start", rawValue]],
|
42
|
+
insetInline: rawValue => [["start", rawValue], ["end", rawValue]],
|
43
|
+
insetBlock: rawValue => [["top", rawValue], ["bottom", rawValue]],
|
35
44
|
margin: rawValue => {
|
36
45
|
const [top, right = top, bottom = top, left = right] = (0, _splitCssValue.default)(rawValue);
|
37
46
|
return [["marginTop", top], ["marginEnd", right], ["marginBottom", bottom], ["marginStart", left]];
|
@@ -50,12 +59,62 @@ const expansions = {
|
|
50
59
|
const [top, right = top, bottom = top, left = right] = (0, _splitCssValue.default)(rawValue);
|
51
60
|
return [["paddingTop", top], ["paddingEnd", right], ["paddingBottom", bottom], ["paddingStart", left]];
|
52
61
|
},
|
53
|
-
paddingHorizontal:
|
54
|
-
return [["paddingStart",
|
62
|
+
paddingHorizontal: val => {
|
63
|
+
return [["paddingStart", val], ["paddingEnd", val]];
|
55
64
|
},
|
56
|
-
paddingVertical:
|
57
|
-
return [["paddingTop",
|
65
|
+
paddingVertical: val => {
|
66
|
+
return [["paddingTop", val], ["paddingBottom", val]];
|
58
67
|
}
|
59
68
|
};
|
69
|
+
const aliases = {
|
70
|
+
insetBlockStart: val => [["top", val]],
|
71
|
+
insetBlockEnd: val => [["bottom", val]],
|
72
|
+
insetInlineStart: val => [["start", val]],
|
73
|
+
insetInlineEnd: val => [["end", val]],
|
74
|
+
blockSize: val => [["height", val]],
|
75
|
+
inlineSize: val => [["width", val]],
|
76
|
+
minBlockSize: val => [["minHeight", val]],
|
77
|
+
minInlineSize: val => [["minWidth", val]],
|
78
|
+
maxBlockSize: val => [["maxHeight", val]],
|
79
|
+
maxInlineSize: val => [["maxWidth", val]],
|
80
|
+
borderBlockWidth: shorthands.borderVerticalWidth,
|
81
|
+
borderBlockStyle: shorthands.borderVerticalStyle,
|
82
|
+
borderBlockColor: shorthands.borderVerticalColor,
|
83
|
+
borderBlockStartWidth: val => [["borderTopWidth", val]],
|
84
|
+
borderBlockStartStyle: val => [["borderTopStyle", val]],
|
85
|
+
borderBlockStartColor: val => [["borderTopColor", val]],
|
86
|
+
borderBlockEndWidth: val => [["borderBottomWidth", val]],
|
87
|
+
borderBlockEndStyle: val => [["borderBottomStyle", val]],
|
88
|
+
borderBlockEndColor: val => [["borderBottomColor", val]],
|
89
|
+
borderInlineWidth: shorthands.borderHorizontalWidth,
|
90
|
+
borderInlineStyle: shorthands.borderHorizontalStyle,
|
91
|
+
borderInlineColor: shorthands.borderHorizontalColor,
|
92
|
+
borderInlineStartWidth: val => [["borderStartWidth", val]],
|
93
|
+
borderInlineStartStyle: val => [["borderStartStyle", val]],
|
94
|
+
borderInlineStartColor: val => [["borderStartColor", val]],
|
95
|
+
borderInlineEndWidth: val => [["borderEndWidth", val]],
|
96
|
+
borderInlineEndStyle: val => [["borderEndStyle", val]],
|
97
|
+
borderInlineEndColor: val => [["borderEndColor", val]],
|
98
|
+
borderStartStartRadius: val => [["borderTopStartRadius", val]],
|
99
|
+
borderStartEndRadius: val => [["borderTopEndRadius", val]],
|
100
|
+
borderEndStartRadius: val => [["borderBottomStartRadius", val]],
|
101
|
+
borderEndEndRadius: val => [["borderBottomEndRadius", val]],
|
102
|
+
marginBlock: shorthands.marginVertical,
|
103
|
+
marginBlockStart: val => [["marginTop", val]],
|
104
|
+
marginBlockEnd: val => [["marginBottom", val]],
|
105
|
+
marginInline: shorthands.marginHorizontal,
|
106
|
+
marginInlineStart: val => [["marginStart", val]],
|
107
|
+
marginInlineEnd: val => [["marginEnd", val]],
|
108
|
+
paddingBlock: shorthands.paddingVertical,
|
109
|
+
paddingBlockStart: val => [["paddingTop", val]],
|
110
|
+
paddingBlockEnd: val => [["paddingBottom", val]],
|
111
|
+
paddingInline: shorthands.paddingHorizontal,
|
112
|
+
paddingInlineStart: val => [["paddingStart", val]],
|
113
|
+
paddingInlineEnd: val => [["paddingEnd", val]]
|
114
|
+
};
|
115
|
+
const expansions = {
|
116
|
+
...shorthands,
|
117
|
+
...aliases
|
118
|
+
};
|
60
119
|
var _default = expansions;
|
61
120
|
exports.default = _default;
|
@@ -81,21 +81,79 @@ import type { TStyleValue } from '../common-types';
|
|
81
81
|
|
82
82
|
type TReturn = $ReadOnlyArray<[string, TStyleValue]>;
|
83
83
|
|
84
|
-
declare const
|
84
|
+
declare const shorthands: {
|
85
85
|
border: (rawValue: TStyleValue) => TReturn,
|
86
86
|
borderColor: (rawValue: TStyleValue) => TReturn,
|
87
87
|
borderHorizontal: (rawValue: TStyleValue) => TReturn,
|
88
88
|
borderStyle: (rawValue: TStyleValue) => TReturn,
|
89
89
|
borderVertical: (rawValue: TStyleValue) => TReturn,
|
90
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,
|
91
97
|
borderRadius: (rawValue: TStyleValue) => TReturn,
|
98
|
+
inset: (rawValue: TStyleValue) => TReturn,
|
99
|
+
insetInline: (rawValue: TStyleValue) => TReturn,
|
100
|
+
insetBlock: (rawValue: TStyleValue) => TReturn,
|
92
101
|
margin: (rawValue: TStyleValue) => TReturn,
|
93
102
|
marginHorizontal: (rawValue: TStyleValue) => TReturn,
|
94
103
|
marginVertical: (rawValue: TStyleValue) => TReturn,
|
95
104
|
overflow: (rawValue: TStyleValue) => TReturn,
|
96
105
|
padding: (rawValue: TStyleValue) => TReturn,
|
97
|
-
paddingHorizontal: (
|
98
|
-
paddingVertical: (
|
106
|
+
paddingHorizontal: (val: TStyleValue) => TReturn,
|
107
|
+
paddingVertical: (val: TStyleValue) => TReturn,
|
99
108
|
};
|
100
109
|
|
110
|
+
declare const aliases: {
|
111
|
+
insetBlockStart: (val: TStyleValue) => TReturn,
|
112
|
+
insetBlockEnd: (val: TStyleValue) => TReturn,
|
113
|
+
insetInlineStart: (val: TStyleValue) => TReturn,
|
114
|
+
insetInlineEnd: (val: TStyleValue) => TReturn,
|
115
|
+
blockSize: (val: TStyleValue) => TReturn,
|
116
|
+
inlineSize: (val: TStyleValue) => TReturn,
|
117
|
+
minBlockSize: (val: TStyleValue) => TReturn,
|
118
|
+
minInlineSize: (val: TStyleValue) => TReturn,
|
119
|
+
maxBlockSize: (val: TStyleValue) => TReturn,
|
120
|
+
maxInlineSize: (val: TStyleValue) => TReturn,
|
121
|
+
borderBlockWidth: $FlowFixMe,
|
122
|
+
borderBlockStyle: $FlowFixMe,
|
123
|
+
borderBlockColor: $FlowFixMe,
|
124
|
+
borderBlockStartWidth: (val: TStyleValue) => TReturn,
|
125
|
+
borderBlockStartStyle: (val: TStyleValue) => TReturn,
|
126
|
+
borderBlockStartColor: (val: TStyleValue) => TReturn,
|
127
|
+
borderBlockEndWidth: (val: TStyleValue) => TReturn,
|
128
|
+
borderBlockEndStyle: (val: TStyleValue) => TReturn,
|
129
|
+
borderBlockEndColor: (val: TStyleValue) => TReturn,
|
130
|
+
borderInlineWidth: $FlowFixMe,
|
131
|
+
borderInlineStyle: $FlowFixMe,
|
132
|
+
borderInlineColor: $FlowFixMe,
|
133
|
+
borderInlineStartWidth: (val: TStyleValue) => TReturn,
|
134
|
+
borderInlineStartStyle: (val: TStyleValue) => TReturn,
|
135
|
+
borderInlineStartColor: (val: TStyleValue) => TReturn,
|
136
|
+
borderInlineEndWidth: (val: TStyleValue) => TReturn,
|
137
|
+
borderInlineEndStyle: (val: TStyleValue) => TReturn,
|
138
|
+
borderInlineEndColor: (val: TStyleValue) => TReturn,
|
139
|
+
borderStartStartRadius: (val: TStyleValue) => TReturn,
|
140
|
+
borderStartEndRadius: (val: TStyleValue) => TReturn,
|
141
|
+
borderEndStartRadius: (val: TStyleValue) => TReturn,
|
142
|
+
borderEndEndRadius: (val: TStyleValue) => TReturn,
|
143
|
+
marginBlock: $FlowFixMe,
|
144
|
+
marginBlockStart: (val: TStyleValue) => TReturn,
|
145
|
+
marginBlockEnd: (val: TStyleValue) => TReturn,
|
146
|
+
marginInline: $FlowFixMe,
|
147
|
+
marginInlineStart: (val: TStyleValue) => TReturn,
|
148
|
+
marginInlineEnd: (val: TStyleValue) => TReturn,
|
149
|
+
paddingBlock: $FlowFixMe,
|
150
|
+
paddingBlockStart: (val: TStyleValue) => TReturn,
|
151
|
+
paddingBlockEnd: (val: TStyleValue) => TReturn,
|
152
|
+
paddingInline: $FlowFixMe,
|
153
|
+
paddingInlineStart: (val: TStyleValue) => TReturn,
|
154
|
+
paddingInlineEnd: (val: TStyleValue) => TReturn,
|
155
|
+
};
|
156
|
+
|
157
|
+
declare const expansions: { ...shorthands, ...aliases };
|
158
|
+
|
101
159
|
declare export default typeof expansions;
|
@@ -32,6 +32,12 @@ declare const aliases: {
|
|
32
32
|
borderEnd: any;
|
33
33
|
borderBlockEnd: any;
|
34
34
|
borderStart: any;
|
35
|
+
blockSize: (val: TStyleValue) => TReturn;
|
36
|
+
inlineSize: (val: TStyleValue) => TReturn;
|
37
|
+
minBlockSize: (val: TStyleValue) => TReturn;
|
38
|
+
minInlineSize: (val: TStyleValue) => TReturn;
|
39
|
+
maxBlockSize: (val: TStyleValue) => TReturn;
|
40
|
+
maxInlineSize: (val: TStyleValue) => TReturn;
|
35
41
|
borderHorizontalWidth: (value: TStyleValue) => TReturn;
|
36
42
|
borderHorizontalStyle: (value: TStyleValue) => TReturn;
|
37
43
|
borderHorizontalColor: (value: TStyleValue) => TReturn;
|
@@ -72,7 +78,7 @@ declare const aliases: {
|
|
72
78
|
end: (value: TStyleValue) => TReturn;
|
73
79
|
};
|
74
80
|
declare const $$EXPORT_DEFAULT_DECLARATION$$: Readonly</**
|
75
|
-
* >
|
81
|
+
* > 92 | ...typeof shorthands,
|
76
82
|
* | ^^^^^^^^^^^^^^^^^^^^ Unsupported feature: Translating "object types with complex spreads" is currently not supported.
|
77
83
|
**/
|
78
84
|
any>;
|
@@ -66,6 +66,12 @@ const aliases = {
|
|
66
66
|
borderEnd: shorthands.borderInlineEnd,
|
67
67
|
borderBlockEnd: shorthands.borderBottom,
|
68
68
|
borderStart: shorthands.borderInlineStart,
|
69
|
+
blockSize: val => [["height", val]],
|
70
|
+
inlineSize: val => [["width", val]],
|
71
|
+
minBlockSize: val => [["minHeight", val]],
|
72
|
+
minInlineSize: val => [["minWidth", val]],
|
73
|
+
maxBlockSize: val => [["maxHeight", val]],
|
74
|
+
maxInlineSize: val => [["maxWidth", val]],
|
69
75
|
borderHorizontalWidth: value => [["borderInlineWidth", value]],
|
70
76
|
borderHorizontalStyle: value => [["borderInlineStyle", value]],
|
71
77
|
borderHorizontalColor: value => [["borderInlineColor", value]],
|
@@ -42,6 +42,12 @@ declare const aliases: {
|
|
42
42
|
borderEnd: $FlowFixMe,
|
43
43
|
borderBlockEnd: $FlowFixMe,
|
44
44
|
borderStart: $FlowFixMe,
|
45
|
+
blockSize: (val: TStyleValue) => TReturn,
|
46
|
+
inlineSize: (val: TStyleValue) => TReturn,
|
47
|
+
minBlockSize: (val: TStyleValue) => TReturn,
|
48
|
+
minInlineSize: (val: TStyleValue) => TReturn,
|
49
|
+
maxBlockSize: (val: TStyleValue) => TReturn,
|
50
|
+
maxInlineSize: (val: TStyleValue) => TReturn,
|
45
51
|
borderHorizontalWidth: (value: TStyleValue) => TReturn,
|
46
52
|
borderHorizontalStyle: (value: TStyleValue) => TReturn,
|
47
53
|
borderHorizontalColor: (value: TStyleValue) => TReturn,
|
@@ -54,7 +54,7 @@ function styleXOverrideVars(themeVars, variables, options) {
|
|
54
54
|
[themeVars.__themeName__]: overrideClassName
|
55
55
|
}, {
|
56
56
|
[overrideClassName]: {
|
57
|
-
ltr: `.${overrideClassName}{${cssVariablesOverrideString}${atRulesCss}
|
57
|
+
ltr: `.${overrideClassName}{${cssVariablesOverrideString}}${atRulesCss}`,
|
58
58
|
priority: 0.99,
|
59
59
|
rtl: undefined
|
60
60
|
}
|
package/lib/transform-value.d.ts
CHANGED
@@ -11,3 +11,6 @@
|
|
11
11
|
*/
|
12
12
|
declare function transformValue(key: string, rawValue: string | number): string;
|
13
13
|
export default transformValue;
|
14
|
+
export declare function getNumberSuffix(key: string): string;
|
15
|
+
export declare const timeUnits: Set<string>;
|
16
|
+
export declare const lengthUnits: Set<string>;
|
package/lib/transform-value.js
CHANGED
@@ -4,6 +4,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
5
5
|
});
|
6
6
|
exports.default = transformValue;
|
7
|
+
exports.getNumberSuffix = getNumberSuffix;
|
8
|
+
exports.timeUnits = exports.lengthUnits = void 0;
|
7
9
|
var _normalizeValue = _interopRequireDefault(require("./utils/normalize-value"));
|
8
10
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
9
11
|
function transformValue(key, rawValue) {
|
@@ -30,11 +32,15 @@ function getNumberSuffix(key) {
|
|
30
32
|
return suffix;
|
31
33
|
}
|
32
34
|
}
|
33
|
-
const unitlessNumberProperties = new Set(["animationIterationCount", "borderImageOutset", "borderImageSlice", "borderImageWidth", "columnCount", "flex", "flexGrow", "flexPositive", "flexShrink", "flexOrder", "gridRow", "gridColumn", "fontWeight", "lineClamp", "lineHeight", "opacity", "order", "orphans", "tabSize", "widows", "zIndex", "fillOpacity", "floodOpacity", "stopOpacity", "strokeDasharray", "strokeDashoffset", "strokeMiterlimit", "strokeOpacity", "strokeWidth"]);
|
35
|
+
const unitlessNumberProperties = new Set(["animationIterationCount", "aspectRatio", "borderImageOutset", "borderImageSlice", "borderImageWidth", "columnCount", "flex", "flexGrow", "flexPositive", "flexShrink", "flexOrder", "gridRow", "gridColumn", "fontWeight", "lineClamp", "lineHeight", "opacity", "order", "orphans", "tabSize", "widows", "zIndex", "fillOpacity", "floodOpacity", "stopOpacity", "strokeDasharray", "strokeDashoffset", "strokeMiterlimit", "strokeOpacity", "strokeWidth"]);
|
34
36
|
const numberPropertySuffixes = {
|
35
37
|
animationDelay: "ms",
|
36
38
|
animationDuration: "ms",
|
37
39
|
transitionDelay: "ms",
|
38
40
|
transitionDuration: "ms",
|
39
41
|
voiceDuration: "ms"
|
40
|
-
};
|
42
|
+
};
|
43
|
+
const timeUnits = new Set(Object.keys(numberPropertySuffixes));
|
44
|
+
exports.timeUnits = timeUnits;
|
45
|
+
const lengthUnits = new Set(["backgroundPositionX", "backgroundPositionY", "blockSize", "borderBlockEndWidth", "borderBlockStartWidth", "borderBlockWidth", "borderVerticalWidth", "borderVerticalWidth", "borderBottomLeftRadius", "borderBottomRightRadius", "borderBottomWidth", "borderEndEndRadius", "borderEndStartRadius", "borderImageWidth", "borderInlineEndWidth", "borderEndWidth", "borderInlineStartWidth", "borderStartWidth", "borderInlineWidth", "borderHorizontalWidth", "borderLeftWidth", "borderRightWidth", "borderSpacing", "borderStartEndRadius", "borderStartStartRadius", "borderTopLeftRadius", "borderTopRightRadius", "borderTopWidth", "bottom", "columnGap", "columnRuleWidth", "columnWidth", "containIntrinsicBlockSize", "containIntrinsicHeight", "containIntrinsicInlineSize", "containIntrinsicWidth", "flexBasis", "fontSize", "fontSmooth", "height", "inlineSize", "insetBlockEnd", "insetBlockStart", "insetInlineEnd", "insetInlineStart", "left", "letterSpacing", "marginBlockEnd", "marginBlockStart", "marginBottom", "marginInlineEnd", "marginEnd", "marginInlineStart", "marginStart", "marginLeft", "marginRight", "marginTop", "maskBorderOutset", "maskBorderWidth", "maxBlockSize", "maxHeight", "maxInlineSize", "maxWidth", "minBlockSize", "minHeight", "minInlineSize", "minWidth", "offsetDistance", "outlineOffset", "outlineWidth", "overflowClipMargin", "paddingBlockEnd", "paddingBlockStart", "paddingBottom", "paddingInlineEnd", "paddingEnd", "paddingInlineStart", "paddingStart", "paddingLeft", "paddingRight", "paddingTop", "perspective", "right", "rowGap", "scrollMarginBlockEnd", "scrollMarginBlockStart", "scrollMarginBottom", "scrollMarginInlineEnd", "scrollMarginInlineStart", "scrollMarginLeft", "scrollMarginRight", "scrollMarginTop", "scrollPaddingBlockEnd", "scrollPaddingBlockStart", "scrollPaddingBottom", "scrollPaddingInlineEnd", "scrollPaddingInlineStart", "scrollPaddingLeft", "scrollPaddingRight", "scrollPaddingTop", "scrollSnapMarginBottom", "scrollSnapMarginLeft", "scrollSnapMarginRight", "scrollSnapMarginTop", "shapeMargin", "tabSize", "textDecorationThickness", "textIndent", "textUnderlineOffset", "top", "transformOrigin", "translate", "verticalAlign", "width", "wordSpacing", "border", "borderBlock", "borderBlockEnd", "borderBlockStart", "borderBottom", "borderLeft", "borderRadius", "borderRight", "borderTop", "borderWidth", "columnRule", "containIntrinsicSize", "gap", "inset", "insetBlock", "insetInline", "margin", "marginBlock", "marginVertical", "marginInline", "marginHorizontal", "offset", "outline", "padding", "paddingBlock", "paddingVertical", "paddingInline", "paddingHorizontal", "scrollMargin", "scrollMarginBlock", "scrollMarginInline", "scrollPadding", "scrollPaddingBlock", "scrollPaddingInline", "scrollSnapMargin"]);
|
46
|
+
exports.lengthUnits = lengthUnits;
|
@@ -13,3 +13,9 @@ declare export default function transformValue(
|
|
13
13
|
key: string,
|
14
14
|
rawValue: string | number,
|
15
15
|
): string;
|
16
|
+
|
17
|
+
declare export function getNumberSuffix(key: string): string;
|
18
|
+
|
19
|
+
declare export const timeUnits: Set<string>;
|
20
|
+
|
21
|
+
declare export const lengthUnits: Set<string>;
|
@@ -0,0 +1,208 @@
|
|
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
|
+
type ValueWithDefault<T> =
|
11
|
+
| T
|
12
|
+
| Readonly<{
|
13
|
+
readonly default: T;
|
14
|
+
readonly [$$Key$$: string]: ValueWithDefault<T>;
|
15
|
+
}>;
|
16
|
+
type CSSSyntax =
|
17
|
+
| '*'
|
18
|
+
| '<length>'
|
19
|
+
| '<number>'
|
20
|
+
| '<percentage>'
|
21
|
+
| '<length-percentage>'
|
22
|
+
| '<color>'
|
23
|
+
| '<image>'
|
24
|
+
| '<url>'
|
25
|
+
| '<integer>'
|
26
|
+
| '<angle>'
|
27
|
+
| '<time>'
|
28
|
+
| '<resolution>'
|
29
|
+
| '<transform-function>'
|
30
|
+
| '<custom-ident>'
|
31
|
+
| '<transform-list>';
|
32
|
+
type CSSSyntaxType = CSSSyntax | ReadonlyArray<CSSSyntax>;
|
33
|
+
export declare class CSSType {}
|
34
|
+
export interface ICSSType<T extends string | number> {
|
35
|
+
readonly value: ValueWithDefault<T>;
|
36
|
+
readonly syntax: CSSSyntaxType;
|
37
|
+
}
|
38
|
+
type AnguleValue = string;
|
39
|
+
export declare class Angle<T extends AnguleValue>
|
40
|
+
extends CSSType
|
41
|
+
implements ICSSType<T>
|
42
|
+
{
|
43
|
+
readonly value: ValueWithDefault<T>;
|
44
|
+
readonly syntax: CSSSyntaxType;
|
45
|
+
static readonly syntax: CSSSyntaxType;
|
46
|
+
constructor(value: ValueWithDefault<T>);
|
47
|
+
static create<T extends AnguleValue = AnguleValue>(
|
48
|
+
value: ValueWithDefault<T>,
|
49
|
+
): Angle<T>;
|
50
|
+
}
|
51
|
+
export declare const angle: any;
|
52
|
+
type ColorValue = string;
|
53
|
+
export declare class Color<T extends ColorValue>
|
54
|
+
extends CSSType
|
55
|
+
implements ICSSType<T>
|
56
|
+
{
|
57
|
+
readonly value: ValueWithDefault<T>;
|
58
|
+
readonly syntax: CSSSyntaxType;
|
59
|
+
constructor(value: ValueWithDefault<T>);
|
60
|
+
static create<T extends ColorValue = ColorValue>(
|
61
|
+
value: ValueWithDefault<T>,
|
62
|
+
): Color<T>;
|
63
|
+
}
|
64
|
+
export declare const color: any;
|
65
|
+
type URLValue = string;
|
66
|
+
export declare class Url<T extends URLValue>
|
67
|
+
extends CSSType
|
68
|
+
implements ICSSType<T>
|
69
|
+
{
|
70
|
+
readonly value: ValueWithDefault<T>;
|
71
|
+
readonly syntax: CSSSyntaxType;
|
72
|
+
constructor(value: ValueWithDefault<T>);
|
73
|
+
static create<T extends URLValue = URLValue>(
|
74
|
+
value: ValueWithDefault<T>,
|
75
|
+
): Url<T>;
|
76
|
+
}
|
77
|
+
export declare const url: any;
|
78
|
+
type ImageValue = string;
|
79
|
+
export declare class Image<T extends ImageValue>
|
80
|
+
extends Url<T>
|
81
|
+
implements ICSSType<T>
|
82
|
+
{
|
83
|
+
readonly value: ValueWithDefault<T>;
|
84
|
+
readonly syntax: CSSSyntaxType;
|
85
|
+
constructor(value: ValueWithDefault<T>);
|
86
|
+
static create<T extends ImageValue = ImageValue>(
|
87
|
+
value: ValueWithDefault<T>,
|
88
|
+
): Image<T>;
|
89
|
+
}
|
90
|
+
export declare const image: any;
|
91
|
+
type IntegerValue = number;
|
92
|
+
export declare class Integer<T extends IntegerValue>
|
93
|
+
extends CSSType
|
94
|
+
implements ICSSType<T>
|
95
|
+
{
|
96
|
+
readonly value: ValueWithDefault<T>;
|
97
|
+
readonly syntax: CSSSyntaxType;
|
98
|
+
constructor(value: ValueWithDefault<T>);
|
99
|
+
static create<T extends IntegerValue = IntegerValue>(value: T): Integer<T>;
|
100
|
+
}
|
101
|
+
export declare const integer: any;
|
102
|
+
type LengthPercentageValue = string;
|
103
|
+
export declare class LengthPercentage<T extends LengthPercentageValue>
|
104
|
+
extends CSSType
|
105
|
+
implements ICSSType<string>
|
106
|
+
{
|
107
|
+
readonly value: ValueWithDefault<T>;
|
108
|
+
readonly syntax: CSSSyntaxType;
|
109
|
+
constructor(value: ValueWithDefault<T>);
|
110
|
+
static createLength<T extends LengthPercentageValue | number>(
|
111
|
+
value: ValueWithDefault<T>,
|
112
|
+
): LengthPercentage<string>;
|
113
|
+
static createPercentage<T extends LengthPercentageValue | number>(
|
114
|
+
value: ValueWithDefault<T>,
|
115
|
+
): LengthPercentage<string>;
|
116
|
+
}
|
117
|
+
export declare const lengthPercentage: any;
|
118
|
+
type LengthValue = number | string;
|
119
|
+
export declare class Length<T extends LengthValue>
|
120
|
+
extends LengthPercentage<string>
|
121
|
+
implements ICSSType<string>
|
122
|
+
{
|
123
|
+
readonly value: ValueWithDefault<string>;
|
124
|
+
readonly syntax: CSSSyntaxType;
|
125
|
+
constructor(value: ValueWithDefault<T>);
|
126
|
+
static create<T extends LengthValue = LengthValue>(
|
127
|
+
value: ValueWithDefault<T>,
|
128
|
+
): Length<T>;
|
129
|
+
}
|
130
|
+
export declare const length: any;
|
131
|
+
type PercentageValue = string | number;
|
132
|
+
export declare class Percentage<T extends PercentageValue>
|
133
|
+
extends LengthPercentage<string>
|
134
|
+
implements ICSSType<string>
|
135
|
+
{
|
136
|
+
readonly value: ValueWithDefault<string>;
|
137
|
+
readonly syntax: CSSSyntaxType;
|
138
|
+
constructor(value: ValueWithDefault<T>);
|
139
|
+
static create<T extends PercentageValue = PercentageValue>(
|
140
|
+
value: ValueWithDefault<T>,
|
141
|
+
): Percentage<T>;
|
142
|
+
}
|
143
|
+
export declare const percentage: any;
|
144
|
+
type NumberValue = number;
|
145
|
+
export declare class Num<T extends NumberValue>
|
146
|
+
extends CSSType
|
147
|
+
implements ICSSType<T>
|
148
|
+
{
|
149
|
+
readonly value: ValueWithDefault<T>;
|
150
|
+
readonly syntax: CSSSyntaxType;
|
151
|
+
constructor(value: ValueWithDefault<T>);
|
152
|
+
static create<T extends NumberValue = NumberValue>(
|
153
|
+
value: ValueWithDefault<T>,
|
154
|
+
): Num<T>;
|
155
|
+
}
|
156
|
+
export declare const number: any;
|
157
|
+
type ResolutionValue = string | 0;
|
158
|
+
export declare class Resolution<T extends ResolutionValue>
|
159
|
+
extends CSSType
|
160
|
+
implements ICSSType<T>
|
161
|
+
{
|
162
|
+
readonly value: ValueWithDefault<T>;
|
163
|
+
readonly syntax: CSSSyntaxType;
|
164
|
+
constructor(value: ValueWithDefault<T>);
|
165
|
+
static create<T extends ResolutionValue = ResolutionValue>(
|
166
|
+
value: ValueWithDefault<T>,
|
167
|
+
): Resolution<T>;
|
168
|
+
}
|
169
|
+
export declare const resolution: any;
|
170
|
+
type TimeValue = string | 0;
|
171
|
+
export declare class Time<T extends TimeValue>
|
172
|
+
extends CSSType
|
173
|
+
implements ICSSType<T>
|
174
|
+
{
|
175
|
+
readonly value: ValueWithDefault<T>;
|
176
|
+
readonly syntax: CSSSyntaxType;
|
177
|
+
constructor(value: ValueWithDefault<T>);
|
178
|
+
static create<T extends TimeValue = TimeValue>(
|
179
|
+
value: ValueWithDefault<T>,
|
180
|
+
): Time<T>;
|
181
|
+
}
|
182
|
+
export declare const time: any;
|
183
|
+
type TransformFunctionValue = string;
|
184
|
+
export declare class TransformFunction<T extends TransformFunctionValue>
|
185
|
+
extends CSSType
|
186
|
+
implements ICSSType<T>
|
187
|
+
{
|
188
|
+
readonly value: ValueWithDefault<T>;
|
189
|
+
readonly syntax: CSSSyntaxType;
|
190
|
+
constructor(value: ValueWithDefault<T>);
|
191
|
+
static create<T extends TransformFunctionValue = TransformFunctionValue>(
|
192
|
+
value: ValueWithDefault<T>,
|
193
|
+
): TransformFunction<T>;
|
194
|
+
}
|
195
|
+
export declare const transformFunction: any;
|
196
|
+
type TransformListValue = string;
|
197
|
+
export declare class TransformList<T extends TransformListValue>
|
198
|
+
extends CSSType
|
199
|
+
implements ICSSType<T>
|
200
|
+
{
|
201
|
+
readonly value: ValueWithDefault<T>;
|
202
|
+
readonly syntax: CSSSyntaxType;
|
203
|
+
constructor(value: ValueWithDefault<T>);
|
204
|
+
static create<T extends TransformListValue = TransformListValue>(
|
205
|
+
value: ValueWithDefault<T>,
|
206
|
+
): TransformList<T>;
|
207
|
+
}
|
208
|
+
export declare const transformList: any;
|
@@ -0,0 +1,204 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.url = exports.transformList = exports.transformFunction = exports.time = exports.resolution = exports.percentage = exports.number = exports.lengthPercentage = exports.length = exports.integer = exports.image = exports.color = exports.angle = exports.Url = exports.TransformList = exports.TransformFunction = exports.Time = exports.Resolution = exports.Percentage = exports.Num = exports.LengthPercentage = exports.Length = exports.Integer = exports.Image = exports.Color = exports.CSSType = exports.Angle = void 0;
|
7
|
+
class CSSType {}
|
8
|
+
exports.CSSType = CSSType;
|
9
|
+
class Angle extends CSSType {
|
10
|
+
syntax = "<angle>";
|
11
|
+
static syntax = "<angle>";
|
12
|
+
constructor(value) {
|
13
|
+
super();
|
14
|
+
this.value = value;
|
15
|
+
}
|
16
|
+
static create(value) {
|
17
|
+
return new Angle(value);
|
18
|
+
}
|
19
|
+
}
|
20
|
+
exports.Angle = Angle;
|
21
|
+
const angle = Angle.create;
|
22
|
+
exports.angle = angle;
|
23
|
+
class Color extends CSSType {
|
24
|
+
syntax = "<color>";
|
25
|
+
constructor(value) {
|
26
|
+
super();
|
27
|
+
this.value = value;
|
28
|
+
}
|
29
|
+
static create(value) {
|
30
|
+
return new Color(value);
|
31
|
+
}
|
32
|
+
}
|
33
|
+
exports.Color = Color;
|
34
|
+
const color = Color.create;
|
35
|
+
exports.color = color;
|
36
|
+
class Url extends CSSType {
|
37
|
+
syntax = "<url>";
|
38
|
+
constructor(value) {
|
39
|
+
super();
|
40
|
+
this.value = value;
|
41
|
+
}
|
42
|
+
static create(value) {
|
43
|
+
return new Url(value);
|
44
|
+
}
|
45
|
+
}
|
46
|
+
exports.Url = Url;
|
47
|
+
const url = Url.create;
|
48
|
+
exports.url = url;
|
49
|
+
class Image extends Url {
|
50
|
+
syntax = "<image>";
|
51
|
+
constructor(value) {
|
52
|
+
super(value);
|
53
|
+
this.value = value;
|
54
|
+
}
|
55
|
+
static create(value) {
|
56
|
+
return new Image(value);
|
57
|
+
}
|
58
|
+
}
|
59
|
+
exports.Image = Image;
|
60
|
+
const image = Image.create;
|
61
|
+
exports.image = image;
|
62
|
+
class Integer extends CSSType {
|
63
|
+
syntax = "<integer>";
|
64
|
+
constructor(value) {
|
65
|
+
super();
|
66
|
+
this.value = value;
|
67
|
+
}
|
68
|
+
static create(value) {
|
69
|
+
return new Integer(value);
|
70
|
+
}
|
71
|
+
}
|
72
|
+
exports.Integer = Integer;
|
73
|
+
const integer = Integer.create;
|
74
|
+
exports.integer = integer;
|
75
|
+
class LengthPercentage extends CSSType {
|
76
|
+
syntax = "<length-percentage>";
|
77
|
+
constructor(value) {
|
78
|
+
super();
|
79
|
+
this.value = value;
|
80
|
+
}
|
81
|
+
static createLength(value) {
|
82
|
+
return new LengthPercentage(convertNumberToLength(value));
|
83
|
+
}
|
84
|
+
static createPercentage(value) {
|
85
|
+
return new LengthPercentage(convertNumberToPercentage(value));
|
86
|
+
}
|
87
|
+
}
|
88
|
+
exports.LengthPercentage = LengthPercentage;
|
89
|
+
const lengthPercentage = LengthPercentage.createLength;
|
90
|
+
exports.lengthPercentage = lengthPercentage;
|
91
|
+
class Length extends LengthPercentage {
|
92
|
+
syntax = "<length>";
|
93
|
+
constructor(value) {
|
94
|
+
super(convertNumberToLength(value));
|
95
|
+
}
|
96
|
+
static create(value) {
|
97
|
+
return new Length(value);
|
98
|
+
}
|
99
|
+
}
|
100
|
+
exports.Length = Length;
|
101
|
+
const length = Length.create;
|
102
|
+
exports.length = length;
|
103
|
+
class Percentage extends LengthPercentage {
|
104
|
+
syntax = "<percentage>";
|
105
|
+
constructor(value) {
|
106
|
+
super(convertNumberToPercentage(value));
|
107
|
+
}
|
108
|
+
static create(value) {
|
109
|
+
return new Percentage(value);
|
110
|
+
}
|
111
|
+
}
|
112
|
+
exports.Percentage = Percentage;
|
113
|
+
const percentage = Percentage.create;
|
114
|
+
exports.percentage = percentage;
|
115
|
+
class Num extends CSSType {
|
116
|
+
syntax = "<number>";
|
117
|
+
constructor(value) {
|
118
|
+
super();
|
119
|
+
this.value = value;
|
120
|
+
}
|
121
|
+
static create(value) {
|
122
|
+
return new Num(value);
|
123
|
+
}
|
124
|
+
}
|
125
|
+
exports.Num = Num;
|
126
|
+
const number = Num.create;
|
127
|
+
exports.number = number;
|
128
|
+
class Resolution extends CSSType {
|
129
|
+
syntax = "<resolution>";
|
130
|
+
constructor(value) {
|
131
|
+
super();
|
132
|
+
this.value = value;
|
133
|
+
}
|
134
|
+
static create(value) {
|
135
|
+
return new Resolution(value);
|
136
|
+
}
|
137
|
+
}
|
138
|
+
exports.Resolution = Resolution;
|
139
|
+
const resolution = Resolution.create;
|
140
|
+
exports.resolution = resolution;
|
141
|
+
class Time extends CSSType {
|
142
|
+
syntax = "<time>";
|
143
|
+
constructor(value) {
|
144
|
+
super();
|
145
|
+
this.value = value;
|
146
|
+
}
|
147
|
+
static create(value) {
|
148
|
+
return new Time(value);
|
149
|
+
}
|
150
|
+
}
|
151
|
+
exports.Time = Time;
|
152
|
+
const time = Time.create;
|
153
|
+
exports.time = time;
|
154
|
+
class TransformFunction extends CSSType {
|
155
|
+
syntax = "<transform-function>";
|
156
|
+
constructor(value) {
|
157
|
+
super();
|
158
|
+
this.value = value;
|
159
|
+
}
|
160
|
+
static create(value) {
|
161
|
+
return new TransformFunction(value);
|
162
|
+
}
|
163
|
+
}
|
164
|
+
exports.TransformFunction = TransformFunction;
|
165
|
+
const transformFunction = TransformFunction.create;
|
166
|
+
exports.transformFunction = transformFunction;
|
167
|
+
class TransformList extends CSSType {
|
168
|
+
syntax = "<transform-list>";
|
169
|
+
constructor(value) {
|
170
|
+
super();
|
171
|
+
this.value = value;
|
172
|
+
}
|
173
|
+
static create(value) {
|
174
|
+
return new TransformList(value);
|
175
|
+
}
|
176
|
+
}
|
177
|
+
exports.TransformList = TransformList;
|
178
|
+
const transformList = TransformList.create;
|
179
|
+
exports.transformList = transformList;
|
180
|
+
const convertNumberToStringUsing = (transformNumber, defaultStr) => value => {
|
181
|
+
if (typeof value === "number") {
|
182
|
+
return transformNumber(value);
|
183
|
+
}
|
184
|
+
if (typeof value === "string") {
|
185
|
+
return value;
|
186
|
+
}
|
187
|
+
if (typeof value === "object") {
|
188
|
+
const {
|
189
|
+
default: defaultValue,
|
190
|
+
...rest
|
191
|
+
} = value;
|
192
|
+
const defaultResult = convertNumberToLength(defaultValue);
|
193
|
+
const result = {
|
194
|
+
default: typeof defaultResult === "string" ? defaultResult : defaultStr
|
195
|
+
};
|
196
|
+
for (const [key, value] of Object.entries(rest)) {
|
197
|
+
result[key] = convertNumberToLength(value);
|
198
|
+
}
|
199
|
+
return result;
|
200
|
+
}
|
201
|
+
return value;
|
202
|
+
};
|
203
|
+
const convertNumberToLength = convertNumberToStringUsing(value => value === 0 ? "0" : `${value}px`, "0px");
|
204
|
+
const convertNumberToPercentage = convertNumberToStringUsing(value => value === 0 ? "0" : `${value * 100}%`, "0");
|
@@ -0,0 +1,241 @@
|
|
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 { Color as ColorType } from './stylex-types-color';
|
11
|
+
|
12
|
+
// We want all in one file?
|
13
|
+
// option 1, creat interface an implement it in the class
|
14
|
+
// why? All the types have a single base definition of props
|
15
|
+
// We want on type that defines CSS Types
|
16
|
+
// Option 2: Do a union type and make
|
17
|
+
|
18
|
+
// interface ICSSType {
|
19
|
+
// toString(): string;
|
20
|
+
// }
|
21
|
+
|
22
|
+
type ValueWithDefault<+T> =
|
23
|
+
| T
|
24
|
+
| $ReadOnly<{
|
25
|
+
+default: T,
|
26
|
+
+[string]: ValueWithDefault<T>,
|
27
|
+
}>;
|
28
|
+
|
29
|
+
type CSSSyntax =
|
30
|
+
| '*'
|
31
|
+
| '<length>'
|
32
|
+
| '<number>'
|
33
|
+
| '<percentage>'
|
34
|
+
| '<length-percentage>'
|
35
|
+
| '<color>'
|
36
|
+
| '<image>'
|
37
|
+
| '<url>'
|
38
|
+
| '<integer>'
|
39
|
+
| '<angle>'
|
40
|
+
| '<time>'
|
41
|
+
| '<resolution>'
|
42
|
+
| '<transform-function>'
|
43
|
+
| '<custom-ident>'
|
44
|
+
| '<transform-list>';
|
45
|
+
|
46
|
+
type CSSSyntaxType = CSSSyntax | $ReadOnlyArray<CSSSyntax>;
|
47
|
+
|
48
|
+
declare export class CSSType {}
|
49
|
+
|
50
|
+
export interface ICSSType<+T: string | number> {
|
51
|
+
+value: ValueWithDefault<T>;
|
52
|
+
+syntax: CSSSyntaxType;
|
53
|
+
}
|
54
|
+
|
55
|
+
type AnguleValue = string;
|
56
|
+
declare export class Angle<+T: AnguleValue>
|
57
|
+
extends CSSType
|
58
|
+
implements ICSSType<T>
|
59
|
+
{
|
60
|
+
+value: ValueWithDefault<T>;
|
61
|
+
+syntax: CSSSyntaxType;
|
62
|
+
static +syntax: CSSSyntaxType;
|
63
|
+
constructor(value: ValueWithDefault<T>): void;
|
64
|
+
static create<T: AnguleValue = AnguleValue>(
|
65
|
+
value: ValueWithDefault<T>,
|
66
|
+
): Angle<T>;
|
67
|
+
}
|
68
|
+
declare export const angle: $FlowFixMe;
|
69
|
+
|
70
|
+
type ColorValue = string;
|
71
|
+
declare export class Color<+T: ColorValue>
|
72
|
+
extends CSSType
|
73
|
+
implements ICSSType<T>
|
74
|
+
{
|
75
|
+
+value: ValueWithDefault<T>;
|
76
|
+
+syntax: CSSSyntaxType;
|
77
|
+
constructor(value: ValueWithDefault<T>): void;
|
78
|
+
static create<T: ColorValue = ColorValue>(
|
79
|
+
value: ValueWithDefault<T>,
|
80
|
+
): Color<T>;
|
81
|
+
}
|
82
|
+
declare export const color: $FlowFixMe;
|
83
|
+
|
84
|
+
type URLValue = string;
|
85
|
+
|
86
|
+
declare export class Url<+T: URLValue> extends CSSType implements ICSSType<T> {
|
87
|
+
+value: ValueWithDefault<T>;
|
88
|
+
+syntax: CSSSyntaxType;
|
89
|
+
constructor(value: ValueWithDefault<T>): void;
|
90
|
+
static create<T: URLValue = URLValue>(value: ValueWithDefault<T>): Url<T>;
|
91
|
+
}
|
92
|
+
declare export const url: $FlowFixMe;
|
93
|
+
|
94
|
+
type ImageValue = string;
|
95
|
+
|
96
|
+
declare export class Image<+T: ImageValue>
|
97
|
+
extends Url<T>
|
98
|
+
implements ICSSType<T>
|
99
|
+
{
|
100
|
+
+value: ValueWithDefault<T>;
|
101
|
+
+syntax: CSSSyntaxType;
|
102
|
+
constructor(value: ValueWithDefault<T>): void;
|
103
|
+
static create<T: ImageValue = ImageValue>(
|
104
|
+
value: ValueWithDefault<T>,
|
105
|
+
): Image<T>;
|
106
|
+
}
|
107
|
+
declare export const image: $FlowFixMe;
|
108
|
+
|
109
|
+
type IntegerValue = number;
|
110
|
+
|
111
|
+
declare export class Integer<+T: IntegerValue>
|
112
|
+
extends CSSType
|
113
|
+
implements ICSSType<T>
|
114
|
+
{
|
115
|
+
+value: ValueWithDefault<T>;
|
116
|
+
+syntax: CSSSyntaxType;
|
117
|
+
constructor(value: ValueWithDefault<T>): void;
|
118
|
+
static create<T: IntegerValue = IntegerValue>(value: T): Integer<T>;
|
119
|
+
}
|
120
|
+
declare export const integer: $FlowFixMe;
|
121
|
+
|
122
|
+
type LengthPercentageValue = string;
|
123
|
+
|
124
|
+
declare export class LengthPercentage<+T: LengthPercentageValue>
|
125
|
+
extends CSSType
|
126
|
+
implements ICSSType<string>
|
127
|
+
{
|
128
|
+
+value: ValueWithDefault<T>;
|
129
|
+
+syntax: CSSSyntaxType;
|
130
|
+
constructor(value: ValueWithDefault<T>): void;
|
131
|
+
static createLength<T: LengthPercentageValue | number>(
|
132
|
+
value: ValueWithDefault<T>,
|
133
|
+
): LengthPercentage<string>;
|
134
|
+
static createPercentage<T: LengthPercentageValue | number>(
|
135
|
+
value: ValueWithDefault<T>,
|
136
|
+
): LengthPercentage<string>;
|
137
|
+
}
|
138
|
+
declare export const lengthPercentage: $FlowFixMe;
|
139
|
+
|
140
|
+
type LengthValue = number | string;
|
141
|
+
|
142
|
+
declare export class Length<+T: LengthValue>
|
143
|
+
extends LengthPercentage<string>
|
144
|
+
implements ICSSType<string>
|
145
|
+
{
|
146
|
+
+value: ValueWithDefault<string>;
|
147
|
+
+syntax: CSSSyntaxType;
|
148
|
+
constructor(value: ValueWithDefault<T>): void;
|
149
|
+
static create<T: LengthValue = LengthValue>(
|
150
|
+
value: ValueWithDefault<T>,
|
151
|
+
): Length<T>;
|
152
|
+
}
|
153
|
+
declare export const length: $FlowFixMe;
|
154
|
+
|
155
|
+
type PercentageValue = string | number;
|
156
|
+
|
157
|
+
declare export class Percentage<+T: PercentageValue>
|
158
|
+
extends LengthPercentage<string>
|
159
|
+
implements ICSSType<string>
|
160
|
+
{
|
161
|
+
+value: ValueWithDefault<string>;
|
162
|
+
+syntax: CSSSyntaxType;
|
163
|
+
constructor(value: ValueWithDefault<T>): void;
|
164
|
+
static create<T: PercentageValue = PercentageValue>(
|
165
|
+
value: ValueWithDefault<T>,
|
166
|
+
): Percentage<T>;
|
167
|
+
}
|
168
|
+
declare export const percentage: $FlowFixMe;
|
169
|
+
|
170
|
+
type NumberValue = number;
|
171
|
+
|
172
|
+
declare export class Num<+T: NumberValue>
|
173
|
+
extends CSSType
|
174
|
+
implements ICSSType<T>
|
175
|
+
{
|
176
|
+
+value: ValueWithDefault<T>;
|
177
|
+
+syntax: CSSSyntaxType;
|
178
|
+
constructor(value: ValueWithDefault<T>): void;
|
179
|
+
static create<T: NumberValue = NumberValue>(
|
180
|
+
value: ValueWithDefault<T>,
|
181
|
+
): Num<T>;
|
182
|
+
}
|
183
|
+
declare export const number: $FlowFixMe;
|
184
|
+
|
185
|
+
type ResolutionValue = string | 0;
|
186
|
+
|
187
|
+
declare export class Resolution<+T: ResolutionValue>
|
188
|
+
extends CSSType
|
189
|
+
implements ICSSType<T>
|
190
|
+
{
|
191
|
+
+value: ValueWithDefault<T>;
|
192
|
+
+syntax: CSSSyntaxType;
|
193
|
+
constructor(value: ValueWithDefault<T>): void;
|
194
|
+
static create<T: ResolutionValue = ResolutionValue>(
|
195
|
+
value: ValueWithDefault<T>,
|
196
|
+
): Resolution<T>;
|
197
|
+
}
|
198
|
+
declare export const resolution: $FlowFixMe;
|
199
|
+
|
200
|
+
type TimeValue = string | 0;
|
201
|
+
|
202
|
+
declare export class Time<+T: TimeValue>
|
203
|
+
extends CSSType
|
204
|
+
implements ICSSType<T>
|
205
|
+
{
|
206
|
+
+value: ValueWithDefault<T>;
|
207
|
+
+syntax: CSSSyntaxType;
|
208
|
+
constructor(value: ValueWithDefault<T>): void;
|
209
|
+
static create<T: TimeValue = TimeValue>(value: ValueWithDefault<T>): Time<T>;
|
210
|
+
}
|
211
|
+
declare export const time: $FlowFixMe;
|
212
|
+
|
213
|
+
type TransformFunctionValue = string;
|
214
|
+
|
215
|
+
declare export class TransformFunction<+T: TransformFunctionValue>
|
216
|
+
extends CSSType
|
217
|
+
implements ICSSType<T>
|
218
|
+
{
|
219
|
+
+value: ValueWithDefault<T>;
|
220
|
+
+syntax: CSSSyntaxType;
|
221
|
+
constructor(value: ValueWithDefault<T>): void;
|
222
|
+
static create<T: TransformFunctionValue = TransformFunctionValue>(
|
223
|
+
value: ValueWithDefault<T>,
|
224
|
+
): TransformFunction<T>;
|
225
|
+
}
|
226
|
+
declare export const transformFunction: $FlowFixMe;
|
227
|
+
|
228
|
+
type TransformListValue = string;
|
229
|
+
|
230
|
+
declare export class TransformList<T: TransformListValue>
|
231
|
+
extends CSSType
|
232
|
+
implements ICSSType<T>
|
233
|
+
{
|
234
|
+
+value: ValueWithDefault<T>;
|
235
|
+
+syntax: CSSSyntaxType;
|
236
|
+
constructor(value: ValueWithDefault<T>): void;
|
237
|
+
static create<T: TransformListValue = TransformListValue>(
|
238
|
+
value: ValueWithDefault<T>,
|
239
|
+
): TransformList<T>;
|
240
|
+
}
|
241
|
+
declare export const transformList: $FlowFixMe;
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@stylexjs/shared",
|
3
|
-
"version": "0.2.0-beta.
|
3
|
+
"version": "0.2.0-beta.20",
|
4
4
|
"main": "lib/index.js",
|
5
5
|
"repository": "https://www.github.com/facebook/stylex",
|
6
6
|
"license": "MIT",
|
@@ -13,12 +13,13 @@
|
|
13
13
|
"postcss-value-parser": "^4.1.0"
|
14
14
|
},
|
15
15
|
"devDependencies": {
|
16
|
-
"@stylexjs/scripts": "0.2.0-beta.
|
16
|
+
"@stylexjs/scripts": "0.2.0-beta.20"
|
17
17
|
},
|
18
18
|
"jest": {
|
19
19
|
"snapshotFormat": {
|
20
20
|
"printBasicPrototype": false
|
21
|
-
}
|
21
|
+
},
|
22
|
+
"prettierPath": null
|
22
23
|
},
|
23
24
|
"files": [
|
24
25
|
"lib/*"
|