@cleartrip/ct-design-style-manager 3.1.0-SNAPSHOT-test.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/StylingCache/index.d.ts +13 -0
- package/dist/StylingCache/index.d.ts.map +1 -0
- package/dist/ct-design-styleManager.browser.cjs.js +2 -0
- package/dist/ct-design-styleManager.browser.cjs.js.map +1 -0
- package/dist/ct-design-styleManager.browser.esm.js +2 -0
- package/dist/ct-design-styleManager.browser.esm.js.map +1 -0
- package/dist/ct-design-styleManager.cjs.js +411 -0
- package/dist/ct-design-styleManager.cjs.js.map +1 -0
- package/dist/ct-design-styleManager.esm.js +403 -0
- package/dist/ct-design-styleManager.esm.js.map +1 -0
- package/dist/ct-design-styleManager.umd.js +829 -0
- package/dist/ct-design-styleManager.umd.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/makeStyles/index.d.ts +7 -0
- package/dist/makeStyles/index.d.ts.map +1 -0
- package/dist/makeStyles/preprocess/index.d.ts +7 -0
- package/dist/makeStyles/preprocess/index.d.ts.map +1 -0
- package/dist/makeStyles/validate/index.d.ts +2 -0
- package/dist/makeStyles/validate/index.d.ts.map +1 -0
- package/dist/useStableMemo/index.d.ts +4 -0
- package/dist/useStableMemo/index.d.ts.map +1 -0
- package/dist/useStyles/index.d.ts +7 -0
- package/dist/useStyles/index.d.ts.map +1 -0
- package/dist/useWebMergeStyles/index.d.ts +5 -0
- package/dist/useWebMergeStyles/index.d.ts.map +1 -0
- package/package.json +38 -0
|
@@ -0,0 +1,403 @@
|
|
|
1
|
+
import { ThemeManager, useTheme } from '@cleartrip/ct-design-theme';
|
|
2
|
+
import { useMemo } from 'react';
|
|
3
|
+
import { css } from '@emotion/css';
|
|
4
|
+
import valueParser from 'postcss-value-parser';
|
|
5
|
+
|
|
6
|
+
var useStableMemo = function (callback, deps) {
|
|
7
|
+
return useMemo(function () {
|
|
8
|
+
return callback();
|
|
9
|
+
}, deps);
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
function normalizeColor(color) {
|
|
13
|
+
{
|
|
14
|
+
return color;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
var isWebColor = function (color) {
|
|
18
|
+
return color === 'currentcolor' || color === 'currentColor' || color === 'inherit' || color.indexOf('var(') === 0;
|
|
19
|
+
};
|
|
20
|
+
var normalizeColorWrapper = function (color, opacity) {
|
|
21
|
+
if (color == null)
|
|
22
|
+
return;
|
|
23
|
+
if (typeof color === 'string' && isWebColor(color)) {
|
|
24
|
+
return color;
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
var colorProps = {
|
|
28
|
+
backgroundColor: true,
|
|
29
|
+
borderColor: true,
|
|
30
|
+
borderTopColor: true,
|
|
31
|
+
borderRightColor: true,
|
|
32
|
+
borderBottomColor: true,
|
|
33
|
+
borderLeftColor: true,
|
|
34
|
+
color: true,
|
|
35
|
+
shadowColor: true,
|
|
36
|
+
textDecorationColor: true,
|
|
37
|
+
textShadowColor: true,
|
|
38
|
+
};
|
|
39
|
+
var unitlessNumbers = {
|
|
40
|
+
animationIterationCount: true,
|
|
41
|
+
aspectRatio: true,
|
|
42
|
+
borderImageOutset: true,
|
|
43
|
+
borderImageSlice: true,
|
|
44
|
+
borderImageWidth: true,
|
|
45
|
+
boxFlex: true,
|
|
46
|
+
boxFlexGroup: true,
|
|
47
|
+
boxOrdinalGroup: true,
|
|
48
|
+
columnCount: true,
|
|
49
|
+
flex: true,
|
|
50
|
+
flexGrow: true,
|
|
51
|
+
flexOrder: true,
|
|
52
|
+
flexPositive: true,
|
|
53
|
+
flexShrink: true,
|
|
54
|
+
flexNegative: true,
|
|
55
|
+
fontWeight: true,
|
|
56
|
+
gridRow: true,
|
|
57
|
+
gridRowEnd: true,
|
|
58
|
+
gridRowGap: true,
|
|
59
|
+
gridRowStart: true,
|
|
60
|
+
gridColumn: true,
|
|
61
|
+
gridColumnEnd: true,
|
|
62
|
+
gridColumnGap: true,
|
|
63
|
+
gridColumnStart: true,
|
|
64
|
+
lineClamp: true,
|
|
65
|
+
opacity: true,
|
|
66
|
+
order: true,
|
|
67
|
+
orphans: true,
|
|
68
|
+
tabSize: true,
|
|
69
|
+
widows: true,
|
|
70
|
+
zIndex: true,
|
|
71
|
+
zoom: true,
|
|
72
|
+
fillOpacity: true,
|
|
73
|
+
floodOpacity: true,
|
|
74
|
+
stopOpacity: true,
|
|
75
|
+
strokeDasharray: true,
|
|
76
|
+
strokeDashoffset: true,
|
|
77
|
+
strokeMiterlimit: true,
|
|
78
|
+
strokeOpacity: true,
|
|
79
|
+
strokeWidth: true,
|
|
80
|
+
scale: true,
|
|
81
|
+
scaleX: true,
|
|
82
|
+
scaleY: true,
|
|
83
|
+
scaleZ: true,
|
|
84
|
+
shadowOpacity: true,
|
|
85
|
+
};
|
|
86
|
+
function normalizeValueWithProperty(value, property) {
|
|
87
|
+
var returnValue = value;
|
|
88
|
+
if ((property == null || !unitlessNumbers[property]) && typeof value === 'number') {
|
|
89
|
+
returnValue = "".concat(value, "px");
|
|
90
|
+
}
|
|
91
|
+
else if (property != null && colorProps[property]) {
|
|
92
|
+
returnValue = normalizeColor(value);
|
|
93
|
+
}
|
|
94
|
+
return returnValue;
|
|
95
|
+
}
|
|
96
|
+
var warnedKeys = {};
|
|
97
|
+
function warnOnce(key, message) {
|
|
98
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
99
|
+
if (warnedKeys[key]) {
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
console.warn(message);
|
|
103
|
+
warnedKeys[key] = true;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
var emptyObject = {};
|
|
107
|
+
var defaultOffset = { height: 0, width: 0 };
|
|
108
|
+
var createBoxShadowValue = function (style) {
|
|
109
|
+
var shadowColor = style.shadowColor, shadowOffset = style.shadowOffset; style.shadowOpacity; var shadowRadius = style.shadowRadius;
|
|
110
|
+
var _a = shadowOffset || defaultOffset, height = _a.height, width = _a.width;
|
|
111
|
+
var offsetX = normalizeValueWithProperty(width);
|
|
112
|
+
var offsetY = normalizeValueWithProperty(height);
|
|
113
|
+
var blurRadius = normalizeValueWithProperty(shadowRadius || 0);
|
|
114
|
+
var color = normalizeColorWrapper(shadowColor || 'black');
|
|
115
|
+
if (color != null && offsetX != null && offsetY != null && blurRadius != null) {
|
|
116
|
+
return "".concat(offsetX, " ").concat(offsetY, " ").concat(blurRadius, " ").concat(color);
|
|
117
|
+
}
|
|
118
|
+
};
|
|
119
|
+
var createTextShadowValue = function (style) {
|
|
120
|
+
var textShadowColor = style.textShadowColor, textShadowOffset = style.textShadowOffset, textShadowRadius = style.textShadowRadius;
|
|
121
|
+
var _a = textShadowOffset || defaultOffset, height = _a.height, width = _a.width;
|
|
122
|
+
var radius = textShadowRadius || 0;
|
|
123
|
+
var offsetX = normalizeValueWithProperty(width);
|
|
124
|
+
var offsetY = normalizeValueWithProperty(height);
|
|
125
|
+
var blurRadius = normalizeValueWithProperty(radius);
|
|
126
|
+
var color = normalizeValueWithProperty(textShadowColor, 'textShadowColor');
|
|
127
|
+
if (color &&
|
|
128
|
+
(height !== 0 || width !== 0 || radius !== 0) &&
|
|
129
|
+
offsetX != null &&
|
|
130
|
+
offsetY != null &&
|
|
131
|
+
blurRadius != null) {
|
|
132
|
+
return "".concat(offsetX, " ").concat(offsetY, " ").concat(blurRadius, " ").concat(color);
|
|
133
|
+
}
|
|
134
|
+
};
|
|
135
|
+
var mapTransform = function (transform) {
|
|
136
|
+
var type = Object.keys(transform)[0];
|
|
137
|
+
var value = transform[type];
|
|
138
|
+
if (type === 'matrix' || type === 'matrix3d') {
|
|
139
|
+
return "".concat(type, "(").concat(value.join(','), ")");
|
|
140
|
+
}
|
|
141
|
+
else {
|
|
142
|
+
var normalizedValue = normalizeValueWithProperty(value, type);
|
|
143
|
+
return "".concat(type, "(").concat(normalizedValue, ")");
|
|
144
|
+
}
|
|
145
|
+
};
|
|
146
|
+
var createTransformValue = function (value) {
|
|
147
|
+
return value.map(mapTransform).join(' ');
|
|
148
|
+
};
|
|
149
|
+
var PROPERTIES_STANDARD = {
|
|
150
|
+
borderBottomEndRadius: 'borderEndEndRadius',
|
|
151
|
+
borderBottomStartRadius: 'borderEndStartRadius',
|
|
152
|
+
borderTopEndRadius: 'borderStartEndRadius',
|
|
153
|
+
borderTopStartRadius: 'borderStartStartRadius',
|
|
154
|
+
borderEndColor: 'borderInlineEndColor',
|
|
155
|
+
borderEndStyle: 'borderInlineEndStyle',
|
|
156
|
+
borderEndWidth: 'borderInlineEndWidth',
|
|
157
|
+
borderStartColor: 'borderInlineStartColor',
|
|
158
|
+
borderStartStyle: 'borderInlineStartStyle',
|
|
159
|
+
borderStartWidth: 'borderInlineStartWidth',
|
|
160
|
+
end: 'insetInlineEnd',
|
|
161
|
+
marginEnd: 'marginInlineEnd',
|
|
162
|
+
marginHorizontal: 'marginInline',
|
|
163
|
+
marginStart: 'marginInlineStart',
|
|
164
|
+
marginVertical: 'marginBlock',
|
|
165
|
+
paddingEnd: 'paddingInlineEnd',
|
|
166
|
+
paddingHorizontal: 'paddingInline',
|
|
167
|
+
paddingStart: 'paddingInlineStart',
|
|
168
|
+
paddingVertical: 'paddingBlock',
|
|
169
|
+
start: 'insetInlineStart',
|
|
170
|
+
};
|
|
171
|
+
var ignoredProps = {
|
|
172
|
+
elevation: true,
|
|
173
|
+
overlayColor: true,
|
|
174
|
+
resizeMode: true,
|
|
175
|
+
tintColor: true,
|
|
176
|
+
};
|
|
177
|
+
var preprocess = function (originalStyle, options) {
|
|
178
|
+
if (options === void 0) { options = {}; }
|
|
179
|
+
var style = originalStyle || emptyObject;
|
|
180
|
+
var nextStyle = {};
|
|
181
|
+
if ((options.shadow === true,
|
|
182
|
+
style.shadowColor != null ||
|
|
183
|
+
style.shadowOffset != null ||
|
|
184
|
+
style.shadowOpacity != null ||
|
|
185
|
+
style.shadowRadius != null)) {
|
|
186
|
+
warnOnce('shadowStyles', "\"shadow*\" style props are deprecated. Use \"boxShadow\".");
|
|
187
|
+
var boxShadowValue = createBoxShadowValue(style);
|
|
188
|
+
if (boxShadowValue != null && nextStyle.boxShadow == null) {
|
|
189
|
+
var boxShadow = style.boxShadow;
|
|
190
|
+
var value = boxShadow ? "".concat(boxShadow, ", ").concat(boxShadowValue) : boxShadowValue;
|
|
191
|
+
nextStyle.boxShadow = value;
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
if ((options.textShadow === true && style.textShadowColor != null) ||
|
|
195
|
+
style.textShadowOffset != null ||
|
|
196
|
+
style.textShadowRadius != null) {
|
|
197
|
+
warnOnce('textShadowStyles', "\"textShadow*\" style props are deprecated. Use \"textShadow\".");
|
|
198
|
+
var textShadowValue = createTextShadowValue(style);
|
|
199
|
+
if (textShadowValue != null && nextStyle.textShadow == null) {
|
|
200
|
+
var textShadow = style.textShadow;
|
|
201
|
+
var value = textShadow ? "".concat(textShadow, ", ").concat(textShadowValue) : textShadowValue;
|
|
202
|
+
nextStyle.textShadow = value;
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
for (var originalProp in style) {
|
|
206
|
+
if (ignoredProps[originalProp] != null ||
|
|
207
|
+
originalProp === 'shadowColor' ||
|
|
208
|
+
originalProp === 'shadowOffset' ||
|
|
209
|
+
originalProp === 'shadowOpacity' ||
|
|
210
|
+
originalProp === 'shadowRadius' ||
|
|
211
|
+
originalProp === 'textShadowColor' ||
|
|
212
|
+
originalProp === 'textShadowOffset' ||
|
|
213
|
+
originalProp === 'textShadowRadius') {
|
|
214
|
+
continue;
|
|
215
|
+
}
|
|
216
|
+
var originalValue = style[originalProp];
|
|
217
|
+
var prop = PROPERTIES_STANDARD[originalProp] || originalProp;
|
|
218
|
+
var value = originalValue;
|
|
219
|
+
if (!Object.prototype.hasOwnProperty.call(style, originalProp) || (prop !== originalProp && style[prop] != null)) {
|
|
220
|
+
continue;
|
|
221
|
+
}
|
|
222
|
+
if (prop === 'aspectRatio' && typeof value === 'number') {
|
|
223
|
+
nextStyle[prop] = value.toString();
|
|
224
|
+
}
|
|
225
|
+
else if (prop === 'fontVariant') {
|
|
226
|
+
if (Array.isArray(value) && value.length > 0) {
|
|
227
|
+
value = value.join(' ');
|
|
228
|
+
}
|
|
229
|
+
nextStyle[prop] = value;
|
|
230
|
+
}
|
|
231
|
+
else if (prop === 'textAlignVertical') {
|
|
232
|
+
if (style.verticalAlign == null) {
|
|
233
|
+
nextStyle.verticalAlign = value === 'center' ? 'middle' : value;
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
else if (prop === 'transform') {
|
|
237
|
+
if (Array.isArray(value)) {
|
|
238
|
+
value = createTransformValue(value);
|
|
239
|
+
}
|
|
240
|
+
nextStyle.transform = value;
|
|
241
|
+
}
|
|
242
|
+
else {
|
|
243
|
+
nextStyle[prop] = normalizeValueWithProperty(value, prop);
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
return nextStyle;
|
|
247
|
+
};
|
|
248
|
+
|
|
249
|
+
var invalidShortforms = {
|
|
250
|
+
background: true,
|
|
251
|
+
borderBottom: true,
|
|
252
|
+
borderLeft: true,
|
|
253
|
+
borderRight: true,
|
|
254
|
+
borderTop: true,
|
|
255
|
+
font: true,
|
|
256
|
+
grid: true,
|
|
257
|
+
outline: true,
|
|
258
|
+
textDecoration: true,
|
|
259
|
+
};
|
|
260
|
+
var invalidMultiValueShortforms = {
|
|
261
|
+
flex: true,
|
|
262
|
+
margin: true,
|
|
263
|
+
padding: true,
|
|
264
|
+
borderColor: true,
|
|
265
|
+
borderRadius: true,
|
|
266
|
+
borderStyle: true,
|
|
267
|
+
borderWidth: true,
|
|
268
|
+
inset: true,
|
|
269
|
+
insetBlock: true,
|
|
270
|
+
insetInline: true,
|
|
271
|
+
marginBlock: true,
|
|
272
|
+
marginInline: true,
|
|
273
|
+
marginHorizontal: true,
|
|
274
|
+
marginVertical: true,
|
|
275
|
+
paddingBlock: true,
|
|
276
|
+
paddingInline: true,
|
|
277
|
+
paddingHorizontal: true,
|
|
278
|
+
paddingVertical: true,
|
|
279
|
+
overflow: true,
|
|
280
|
+
overscrollBehavior: true,
|
|
281
|
+
backgroundPosition: true,
|
|
282
|
+
};
|
|
283
|
+
function error(message) {
|
|
284
|
+
console.error(message);
|
|
285
|
+
}
|
|
286
|
+
function validate(obj) {
|
|
287
|
+
for (var k in obj) {
|
|
288
|
+
var prop = k.trim();
|
|
289
|
+
var value = obj[prop];
|
|
290
|
+
var isInvalid = false;
|
|
291
|
+
if (value === null) {
|
|
292
|
+
continue;
|
|
293
|
+
}
|
|
294
|
+
if (typeof value === 'string' && value.indexOf('!important') > -1) {
|
|
295
|
+
error("Invalid style declaration \"".concat(prop, ":").concat(value, "\". Values cannot include \"!important\""));
|
|
296
|
+
isInvalid = true;
|
|
297
|
+
}
|
|
298
|
+
else {
|
|
299
|
+
var suggestion = '';
|
|
300
|
+
if (prop === 'animation' || prop === 'animationName') {
|
|
301
|
+
suggestion = 'Did you mean "animationKeyframes"?';
|
|
302
|
+
isInvalid = true;
|
|
303
|
+
}
|
|
304
|
+
else if (prop === 'direction') {
|
|
305
|
+
suggestion = 'Did you mean "writingDirection"?';
|
|
306
|
+
isInvalid = true;
|
|
307
|
+
}
|
|
308
|
+
else if (invalidShortforms[prop]) {
|
|
309
|
+
suggestion = 'Please use long-form properties.';
|
|
310
|
+
isInvalid = true;
|
|
311
|
+
}
|
|
312
|
+
else if (invalidMultiValueShortforms[prop]) {
|
|
313
|
+
if (typeof value === 'string' && valueParser(value).nodes.length > 1) {
|
|
314
|
+
suggestion = "Value is \"".concat(value, "\" but only single values are supported.");
|
|
315
|
+
isInvalid = true;
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
if (suggestion !== '') {
|
|
319
|
+
error("Invalid style property of \"".concat(prop, "\". ").concat(suggestion));
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
if (isInvalid) {
|
|
323
|
+
delete obj[k];
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
var makeStyles = function (styleFactory, customTheme) {
|
|
329
|
+
var theme = customTheme || ThemeManager.get();
|
|
330
|
+
var styles = styleFactory(theme);
|
|
331
|
+
for (var _i = 0, _a = Object.entries(styles); _i < _a.length; _i++) {
|
|
332
|
+
var _b = _a[_i], key = _b[0], value = _b[1];
|
|
333
|
+
var updatedValue = typeof value === 'function' ? value(theme) : value;
|
|
334
|
+
styles[key] = updatedValue;
|
|
335
|
+
}
|
|
336
|
+
var classes = {};
|
|
337
|
+
for (var _c = 0, _d = Object.entries(styles); _c < _d.length; _c++) {
|
|
338
|
+
var _e = _d[_c], key = _e[0], value = _e[1];
|
|
339
|
+
var defaultPreprocessOptions = { shadow: true, textShadow: true };
|
|
340
|
+
validate(value);
|
|
341
|
+
var updatedStyle = preprocess(value, defaultPreprocessOptions);
|
|
342
|
+
classes[key] = css(updatedStyle);
|
|
343
|
+
}
|
|
344
|
+
return classes;
|
|
345
|
+
};
|
|
346
|
+
|
|
347
|
+
var useStyles = function (styleFactory, dep) {
|
|
348
|
+
var theme = useTheme();
|
|
349
|
+
return useStableMemo(function () {
|
|
350
|
+
var adaptedFactory = function (providedTheme) {
|
|
351
|
+
return styleFactory(providedTheme);
|
|
352
|
+
};
|
|
353
|
+
return makeStyles(adaptedFactory, theme);
|
|
354
|
+
}, dep);
|
|
355
|
+
};
|
|
356
|
+
|
|
357
|
+
var StylingCacheManager = (function () {
|
|
358
|
+
function StylingCacheManager() {
|
|
359
|
+
if (StylingCacheManager.instance) {
|
|
360
|
+
throw new Error('You can only create one instance!');
|
|
361
|
+
}
|
|
362
|
+
StylingCacheManager.instance = this;
|
|
363
|
+
this.cache = new WeakMap();
|
|
364
|
+
}
|
|
365
|
+
StylingCacheManager.prototype.set = function (key, value) {
|
|
366
|
+
this.cache.set(key, value);
|
|
367
|
+
};
|
|
368
|
+
StylingCacheManager.prototype.get = function (key) {
|
|
369
|
+
return this.cache.get(key);
|
|
370
|
+
};
|
|
371
|
+
return StylingCacheManager;
|
|
372
|
+
}());
|
|
373
|
+
var StylingCache = Object.freeze(new StylingCacheManager());
|
|
374
|
+
|
|
375
|
+
var useWebMergeStyles = function (styles, deps) {
|
|
376
|
+
return useStableMemo(function () {
|
|
377
|
+
var classes = [];
|
|
378
|
+
styles.forEach(function (style) {
|
|
379
|
+
if (typeof style === 'string') {
|
|
380
|
+
classes.push(style);
|
|
381
|
+
}
|
|
382
|
+
else {
|
|
383
|
+
if (style) {
|
|
384
|
+
var _style = StylingCache.get(style);
|
|
385
|
+
if (_style) {
|
|
386
|
+
classes.push(_style);
|
|
387
|
+
}
|
|
388
|
+
else {
|
|
389
|
+
var defaultPreprocessOptions = { shadow: true, textShadow: true };
|
|
390
|
+
var preprocessedStyle = preprocess(style, defaultPreprocessOptions);
|
|
391
|
+
var emotionClass = css(preprocessedStyle);
|
|
392
|
+
StylingCache.set(style, emotionClass);
|
|
393
|
+
classes.push(emotionClass);
|
|
394
|
+
}
|
|
395
|
+
}
|
|
396
|
+
}
|
|
397
|
+
});
|
|
398
|
+
return css(classes);
|
|
399
|
+
}, deps);
|
|
400
|
+
};
|
|
401
|
+
|
|
402
|
+
export { makeStyles, useStyles, useWebMergeStyles };
|
|
403
|
+
//# sourceMappingURL=ct-design-styleManager.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ct-design-styleManager.esm.js","sources":["../src/useStableMemo/index.ts","../src/makeStyles/preprocess/index.ts","../src/makeStyles/validate/index.ts","../src/makeStyles/index.ts","../src/useStyles/index.ts","../src/StylingCache/index.ts","../src/useWebMergeStyles/index.ts"],"sourcesContent":[null,null,null,null,null,null,null],"names":[],"mappings":"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"}
|