@marigold/system 0.3.3 → 0.4.0
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/CHANGELOG.md +13 -0
- package/dist/index.d.ts +364 -8
- package/dist/index.js +399 -5
- package/dist/index.mjs +361 -0
- package/package.json +31 -6
- package/dist/Box.d.ts +0 -14
- package/dist/Global.d.ts +0 -2
- package/dist/SVG.d.ts +0 -6
- package/dist/SVG.stories.d.ts +0 -5
- package/dist/normalize.d.ts +0 -144
- package/dist/system.cjs.development.js +0 -409
- package/dist/system.cjs.development.js.map +0 -1
- package/dist/system.cjs.production.min.js +0 -2
- package/dist/system.cjs.production.min.js.map +0 -1
- package/dist/system.esm.js +0 -392
- package/dist/system.esm.js.map +0 -1
- package/dist/theme.d.ts +0 -136
- package/dist/types.d.ts +0 -8
- package/dist/useTheme.d.ts +0 -16
- package/dist/variant.d.ts +0 -29
- package/src/Box.test.tsx +0 -308
- package/src/Box.tsx +0 -199
- package/src/Global.test.tsx +0 -57
- package/src/Global.tsx +0 -34
- package/src/SVG.stories.tsx +0 -48
- package/src/SVG.test.tsx +0 -82
- package/src/SVG.tsx +0 -24
- package/src/index.ts +0 -8
- package/src/normalize.test.tsx +0 -15
- package/src/normalize.ts +0 -100
- package/src/theme.ts +0 -157
- package/src/types.ts +0 -14
- package/src/useTheme.test.tsx +0 -123
- package/src/useTheme.tsx +0 -50
- package/src/variant.test.ts +0 -93
- package/src/variant.ts +0 -54
- package/tsconfig.build.json +0 -3
|
@@ -1,409 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
|
|
4
|
-
|
|
5
|
-
var react = require('@emotion/react');
|
|
6
|
-
var css$1 = require('@theme-ui/css');
|
|
7
|
-
var React = require('react');
|
|
8
|
-
var React__default = _interopDefault(React);
|
|
9
|
-
var system = require('@marigold/system');
|
|
10
|
-
|
|
11
|
-
function _extends() {
|
|
12
|
-
_extends = Object.assign || function (target) {
|
|
13
|
-
for (var i = 1; i < arguments.length; i++) {
|
|
14
|
-
var source = arguments[i];
|
|
15
|
-
|
|
16
|
-
for (var key in source) {
|
|
17
|
-
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
18
|
-
target[key] = source[key];
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
return target;
|
|
24
|
-
};
|
|
25
|
-
|
|
26
|
-
return _extends.apply(this, arguments);
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
function _objectWithoutPropertiesLoose(source, excluded) {
|
|
30
|
-
if (source == null) return {};
|
|
31
|
-
var target = {};
|
|
32
|
-
var sourceKeys = Object.keys(source);
|
|
33
|
-
var key, i;
|
|
34
|
-
|
|
35
|
-
for (i = 0; i < sourceKeys.length; i++) {
|
|
36
|
-
key = sourceKeys[i];
|
|
37
|
-
if (excluded.indexOf(key) >= 0) continue;
|
|
38
|
-
target[key] = source[key];
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
return target;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
var base = {
|
|
45
|
-
boxSizing: 'border-box',
|
|
46
|
-
margin: 0,
|
|
47
|
-
minWidth: 0
|
|
48
|
-
};
|
|
49
|
-
|
|
50
|
-
var a = /*#__PURE__*/_extends({}, base, {
|
|
51
|
-
textDecoration: 'none'
|
|
52
|
-
});
|
|
53
|
-
|
|
54
|
-
var text = /*#__PURE__*/_extends({}, base, {
|
|
55
|
-
overflowWrap: 'break-word'
|
|
56
|
-
});
|
|
57
|
-
|
|
58
|
-
var media = /*#__PURE__*/_extends({}, base, {
|
|
59
|
-
display: 'block',
|
|
60
|
-
maxWidth: '100%'
|
|
61
|
-
});
|
|
62
|
-
|
|
63
|
-
var button = /*#__PURE__*/_extends({}, base, {
|
|
64
|
-
display: 'block',
|
|
65
|
-
appearance: 'none',
|
|
66
|
-
font: 'inherit',
|
|
67
|
-
background: 'transparent',
|
|
68
|
-
textAlign: 'center'
|
|
69
|
-
});
|
|
70
|
-
|
|
71
|
-
var input = /*#__PURE__*/_extends({}, base, {
|
|
72
|
-
display: 'block',
|
|
73
|
-
appearance: 'none',
|
|
74
|
-
font: 'inherit',
|
|
75
|
-
'&::-ms-clear': {
|
|
76
|
-
display: 'none'
|
|
77
|
-
},
|
|
78
|
-
'&::-webkit-search-cancel-button': {
|
|
79
|
-
WebkitAppearance: 'none'
|
|
80
|
-
}
|
|
81
|
-
});
|
|
82
|
-
|
|
83
|
-
var select = /*#__PURE__*/_extends({}, base, {
|
|
84
|
-
display: 'block',
|
|
85
|
-
appearance: 'none',
|
|
86
|
-
font: 'inherit',
|
|
87
|
-
'&::-ms-expand': {
|
|
88
|
-
display: 'none'
|
|
89
|
-
}
|
|
90
|
-
});
|
|
91
|
-
|
|
92
|
-
var textarea = /*#__PURE__*/_extends({}, base, {
|
|
93
|
-
display: 'block',
|
|
94
|
-
appearance: 'none',
|
|
95
|
-
font: 'inherit'
|
|
96
|
-
}); // Normalize
|
|
97
|
-
// ---------------
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
var normalize = {
|
|
101
|
-
base: base,
|
|
102
|
-
a: a,
|
|
103
|
-
p: text,
|
|
104
|
-
h1: text,
|
|
105
|
-
h2: text,
|
|
106
|
-
h3: text,
|
|
107
|
-
h4: text,
|
|
108
|
-
h5: text,
|
|
109
|
-
h6: text,
|
|
110
|
-
img: media,
|
|
111
|
-
picture: media,
|
|
112
|
-
video: media,
|
|
113
|
-
canvas: media,
|
|
114
|
-
svg: media,
|
|
115
|
-
select: select,
|
|
116
|
-
button: button,
|
|
117
|
-
textarea: textarea,
|
|
118
|
-
input: input
|
|
119
|
-
};
|
|
120
|
-
/**
|
|
121
|
-
* Type-safe helper to get normalization. If no normalization is found,
|
|
122
|
-
* returns the *base* normalization.
|
|
123
|
-
*/
|
|
124
|
-
|
|
125
|
-
var getNormalizedStyles = function getNormalizedStyles(val) {
|
|
126
|
-
return typeof val === 'string' && val in normalize ? normalize[val] // Typescript doesn't infer this correctly
|
|
127
|
-
: normalize.base;
|
|
128
|
-
};
|
|
129
|
-
|
|
130
|
-
var _excluded = ["disabled"];
|
|
131
|
-
|
|
132
|
-
var isNil = function isNil(value) {
|
|
133
|
-
return value === null || value === undefined;
|
|
134
|
-
};
|
|
135
|
-
/**
|
|
136
|
-
* Ensures that the `val` is an array. Will return an empty array if `val` is falsy.
|
|
137
|
-
*/
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
var ensureArray = function ensureArray(val) {
|
|
141
|
-
return isNil(val) ? [] : Array.isArray(val) ? val : [val];
|
|
142
|
-
};
|
|
143
|
-
/**
|
|
144
|
-
* Removes trailing dot from variant, if necessary. This is necessary to support
|
|
145
|
-
* `__default` styles. See https://github.com/system-ui/theme-ui/pull/951
|
|
146
|
-
*/
|
|
147
|
-
|
|
148
|
-
var ensureVariantDefault = function ensureVariantDefault(val) {
|
|
149
|
-
return val.replace(/\.$/, '');
|
|
150
|
-
};
|
|
151
|
-
/**
|
|
152
|
-
* Ensures that the `variant` is an array and supports the `__default` key.
|
|
153
|
-
*/
|
|
154
|
-
|
|
155
|
-
var ensureArrayVariant = function ensureArrayVariant(variant) {
|
|
156
|
-
return ensureArray(variant).map(ensureVariantDefault);
|
|
157
|
-
};
|
|
158
|
-
/**
|
|
159
|
-
* Appends given `state` to a `variant`.
|
|
160
|
-
*/
|
|
161
|
-
|
|
162
|
-
var appendVariantState = function appendVariantState(variant, state) {
|
|
163
|
-
return ensureVariantDefault(variant) + ".:" + state;
|
|
164
|
-
};
|
|
165
|
-
/**
|
|
166
|
-
* Create a variant array from a `variant` and `state` containing
|
|
167
|
-
* passed states, if they are truthy.
|
|
168
|
-
*/
|
|
169
|
-
|
|
170
|
-
var conditional = function conditional(variant, _ref) {
|
|
171
|
-
var _ref$disabled = _ref.disabled,
|
|
172
|
-
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
173
|
-
states = _objectWithoutPropertiesLoose(_ref, _excluded);
|
|
174
|
-
|
|
175
|
-
var entries = [].concat(Object.entries(states), [['disabled', disabled]]);
|
|
176
|
-
var stateVariants = entries.filter(function (_ref2) {
|
|
177
|
-
var val = _ref2[1];
|
|
178
|
-
return Boolean(val);
|
|
179
|
-
}).map(function (_ref3) {
|
|
180
|
-
var key = _ref3[0];
|
|
181
|
-
return appendVariantState(variant, key);
|
|
182
|
-
});
|
|
183
|
-
return [variant].concat(stateVariants);
|
|
184
|
-
};
|
|
185
|
-
|
|
186
|
-
var _excluded$1 = ["as", "children", "__baseCSS", "variant", "css", "display", "height", "width", "minWidth", "maxWidth", "position", "top", "bottom", "right", "left", "zIndex", "p", "px", "py", "pt", "pb", "pl", "pr", "m", "mx", "my", "mt", "mb", "ml", "mr", "flexDirection", "flexWrap", "flexShrink", "flexGrow", "alignItems", "justifyContent", "bg", "border", "borderRadius", "boxShadow", "opacity", "overflow", "transition"];
|
|
187
|
-
/**
|
|
188
|
-
* Check if there is any falsy value or empty object
|
|
189
|
-
*/
|
|
190
|
-
|
|
191
|
-
var isNotEmpty = function isNotEmpty(val) {
|
|
192
|
-
return !(val && Object.keys(val).length === 0 && val.constructor === Object);
|
|
193
|
-
};
|
|
194
|
-
|
|
195
|
-
var createThemedStyle = function createThemedStyle(_ref) {
|
|
196
|
-
var as = _ref.as,
|
|
197
|
-
__baseCSS = _ref.__baseCSS,
|
|
198
|
-
variant = _ref.variant,
|
|
199
|
-
styles = _ref.styles,
|
|
200
|
-
css = _ref.css;
|
|
201
|
-
return function (theme) {
|
|
202
|
-
return [getNormalizedStyles(as), css$1.css(__baseCSS)(theme)].concat(ensureArrayVariant(variant).map(function (v) {
|
|
203
|
-
return css$1.css({
|
|
204
|
-
variant: v
|
|
205
|
-
})(theme);
|
|
206
|
-
}), [css$1.css(styles)(theme), css$1.css(css)(theme)]).filter(isNotEmpty);
|
|
207
|
-
};
|
|
208
|
-
};
|
|
209
|
-
|
|
210
|
-
var Box = /*#__PURE__*/React.forwardRef(function (_ref2, ref) {
|
|
211
|
-
var _ref2$as = _ref2.as,
|
|
212
|
-
as = _ref2$as === void 0 ? 'div' : _ref2$as,
|
|
213
|
-
children = _ref2.children,
|
|
214
|
-
__baseCSS = _ref2.__baseCSS,
|
|
215
|
-
variant = _ref2.variant,
|
|
216
|
-
_ref2$css = _ref2.css,
|
|
217
|
-
css = _ref2$css === void 0 ? {} : _ref2$css,
|
|
218
|
-
display = _ref2.display,
|
|
219
|
-
height = _ref2.height,
|
|
220
|
-
width = _ref2.width,
|
|
221
|
-
minWidth = _ref2.minWidth,
|
|
222
|
-
maxWidth = _ref2.maxWidth,
|
|
223
|
-
position = _ref2.position,
|
|
224
|
-
top = _ref2.top,
|
|
225
|
-
bottom = _ref2.bottom,
|
|
226
|
-
right = _ref2.right,
|
|
227
|
-
left = _ref2.left,
|
|
228
|
-
zIndex = _ref2.zIndex,
|
|
229
|
-
p = _ref2.p,
|
|
230
|
-
px = _ref2.px,
|
|
231
|
-
py = _ref2.py,
|
|
232
|
-
pt = _ref2.pt,
|
|
233
|
-
pb = _ref2.pb,
|
|
234
|
-
pl = _ref2.pl,
|
|
235
|
-
pr = _ref2.pr,
|
|
236
|
-
m = _ref2.m,
|
|
237
|
-
mx = _ref2.mx,
|
|
238
|
-
my = _ref2.my,
|
|
239
|
-
mt = _ref2.mt,
|
|
240
|
-
mb = _ref2.mb,
|
|
241
|
-
ml = _ref2.ml,
|
|
242
|
-
mr = _ref2.mr,
|
|
243
|
-
flexDirection = _ref2.flexDirection,
|
|
244
|
-
flexWrap = _ref2.flexWrap,
|
|
245
|
-
flexShrink = _ref2.flexShrink,
|
|
246
|
-
flexGrow = _ref2.flexGrow,
|
|
247
|
-
alignItems = _ref2.alignItems,
|
|
248
|
-
justifyContent = _ref2.justifyContent,
|
|
249
|
-
bg = _ref2.bg,
|
|
250
|
-
border = _ref2.border,
|
|
251
|
-
borderRadius = _ref2.borderRadius,
|
|
252
|
-
boxShadow = _ref2.boxShadow,
|
|
253
|
-
opacity = _ref2.opacity,
|
|
254
|
-
overflow = _ref2.overflow,
|
|
255
|
-
transition = _ref2.transition,
|
|
256
|
-
props = _objectWithoutPropertiesLoose(_ref2, _excluded$1);
|
|
257
|
-
|
|
258
|
-
return react.jsx(as, _extends({}, props, {
|
|
259
|
-
css: createThemedStyle({
|
|
260
|
-
as: as,
|
|
261
|
-
__baseCSS: __baseCSS,
|
|
262
|
-
variant: variant,
|
|
263
|
-
css: css,
|
|
264
|
-
styles: {
|
|
265
|
-
display: display,
|
|
266
|
-
height: height,
|
|
267
|
-
width: width,
|
|
268
|
-
minWidth: minWidth,
|
|
269
|
-
maxWidth: maxWidth,
|
|
270
|
-
position: position,
|
|
271
|
-
top: top,
|
|
272
|
-
bottom: bottom,
|
|
273
|
-
right: right,
|
|
274
|
-
left: left,
|
|
275
|
-
zIndex: zIndex,
|
|
276
|
-
p: p,
|
|
277
|
-
px: px,
|
|
278
|
-
py: py,
|
|
279
|
-
pt: pt,
|
|
280
|
-
pb: pb,
|
|
281
|
-
pl: pl,
|
|
282
|
-
pr: pr,
|
|
283
|
-
m: m,
|
|
284
|
-
mx: mx,
|
|
285
|
-
my: my,
|
|
286
|
-
mt: mt,
|
|
287
|
-
mb: mb,
|
|
288
|
-
ml: ml,
|
|
289
|
-
mr: mr,
|
|
290
|
-
flexDirection: flexDirection,
|
|
291
|
-
flexWrap: flexWrap,
|
|
292
|
-
flexShrink: flexShrink,
|
|
293
|
-
flexGrow: flexGrow,
|
|
294
|
-
alignItems: alignItems,
|
|
295
|
-
justifyContent: justifyContent,
|
|
296
|
-
bg: bg,
|
|
297
|
-
border: border,
|
|
298
|
-
borderRadius: borderRadius,
|
|
299
|
-
boxShadow: boxShadow,
|
|
300
|
-
opacity: opacity,
|
|
301
|
-
overflow: overflow,
|
|
302
|
-
transition: transition
|
|
303
|
-
}
|
|
304
|
-
}),
|
|
305
|
-
ref: ref
|
|
306
|
-
}), children);
|
|
307
|
-
});
|
|
308
|
-
|
|
309
|
-
/**
|
|
310
|
-
* @internal
|
|
311
|
-
*/
|
|
312
|
-
|
|
313
|
-
var __defaultTheme = {};
|
|
314
|
-
var InternalContext = /*#__PURE__*/React.createContext(__defaultTheme);
|
|
315
|
-
var useTheme = function useTheme() {
|
|
316
|
-
var theme = React.useContext(InternalContext);
|
|
317
|
-
/**
|
|
318
|
-
* We cast the theme here to `any` since our subset is not
|
|
319
|
-
* compatible with the typings of `theme-ui`, since they
|
|
320
|
-
* also support arrays as scale values, while we don't.
|
|
321
|
-
*/
|
|
322
|
-
|
|
323
|
-
var css = React.useCallback(function (style) {
|
|
324
|
-
return css$1.css(style)(theme);
|
|
325
|
-
}, [theme]);
|
|
326
|
-
return {
|
|
327
|
-
theme: theme,
|
|
328
|
-
css: css
|
|
329
|
-
};
|
|
330
|
-
};
|
|
331
|
-
function ThemeProvider(_ref) {
|
|
332
|
-
var theme = _ref.theme,
|
|
333
|
-
children = _ref.children;
|
|
334
|
-
return React__default.createElement(react.ThemeProvider, {
|
|
335
|
-
theme: theme
|
|
336
|
-
}, React__default.createElement(InternalContext.Provider, {
|
|
337
|
-
value: theme
|
|
338
|
-
}, children));
|
|
339
|
-
}
|
|
340
|
-
|
|
341
|
-
/**
|
|
342
|
-
* CSS snippet and idea from:
|
|
343
|
-
* https://css-tricks.com/revisiting-prefers-reduced-motion-the-reduced-motion-media-query/
|
|
344
|
-
*/
|
|
345
|
-
|
|
346
|
-
var reduceMotionStyles = {
|
|
347
|
-
'@media screen and (prefers-reduced-motion: reduce), (update: slow)': {
|
|
348
|
-
'*': {
|
|
349
|
-
animationDuration: '0.001ms !important',
|
|
350
|
-
animationIterationCount: '1 !important',
|
|
351
|
-
transitionDuration: '0.001ms !important'
|
|
352
|
-
}
|
|
353
|
-
}
|
|
354
|
-
};
|
|
355
|
-
var Global = function Global() {
|
|
356
|
-
var _useTheme = useTheme(),
|
|
357
|
-
css = _useTheme.css;
|
|
358
|
-
|
|
359
|
-
var styles = css({
|
|
360
|
-
html: {
|
|
361
|
-
height: '100%',
|
|
362
|
-
variant: 'root.html'
|
|
363
|
-
},
|
|
364
|
-
body: {
|
|
365
|
-
height: '100%',
|
|
366
|
-
lineHeight: 1.5,
|
|
367
|
-
WebkitFontSmoothing: 'antialiased',
|
|
368
|
-
variant: 'root.body'
|
|
369
|
-
}
|
|
370
|
-
});
|
|
371
|
-
return React__default.createElement(react.Global, {
|
|
372
|
-
styles: _extends({
|
|
373
|
-
reduceMotionStyles: reduceMotionStyles
|
|
374
|
-
}, styles)
|
|
375
|
-
});
|
|
376
|
-
};
|
|
377
|
-
|
|
378
|
-
var _excluded$2 = ["size", "children"];
|
|
379
|
-
var css = /*#__PURE__*/system.getNormalizedStyles('svg');
|
|
380
|
-
var SVG = function SVG(_ref) {
|
|
381
|
-
var _ref$size = _ref.size,
|
|
382
|
-
size = _ref$size === void 0 ? 24 : _ref$size,
|
|
383
|
-
children = _ref.children,
|
|
384
|
-
props = _objectWithoutPropertiesLoose(_ref, _excluded$2);
|
|
385
|
-
|
|
386
|
-
return react.jsx('svg', _extends({
|
|
387
|
-
width: size,
|
|
388
|
-
height: size,
|
|
389
|
-
viewBox: '0 0 24 24',
|
|
390
|
-
fill: 'currentcolor'
|
|
391
|
-
}, props, {
|
|
392
|
-
css: css
|
|
393
|
-
}), children);
|
|
394
|
-
};
|
|
395
|
-
|
|
396
|
-
exports.Box = Box;
|
|
397
|
-
exports.Global = Global;
|
|
398
|
-
exports.SVG = SVG;
|
|
399
|
-
exports.ThemeProvider = ThemeProvider;
|
|
400
|
-
exports.__defaultTheme = __defaultTheme;
|
|
401
|
-
exports.appendVariantState = appendVariantState;
|
|
402
|
-
exports.conditional = conditional;
|
|
403
|
-
exports.ensureArray = ensureArray;
|
|
404
|
-
exports.ensureArrayVariant = ensureArrayVariant;
|
|
405
|
-
exports.ensureVariantDefault = ensureVariantDefault;
|
|
406
|
-
exports.getNormalizedStyles = getNormalizedStyles;
|
|
407
|
-
exports.normalize = normalize;
|
|
408
|
-
exports.useTheme = useTheme;
|
|
409
|
-
//# sourceMappingURL=system.cjs.development.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"system.cjs.development.js","sources":["../src/normalize.ts","../src/variant.ts","../src/Box.tsx","../src/useTheme.tsx","../src/Global.tsx","../src/SVG.tsx"],"sourcesContent":["/**\n * Normalize styling of certain elements between browsers.\n * Based on https://www.joshwcomeau.com/css/custom-css-reset/\n */\nimport { ElementType } from 'react';\n\nconst base = {\n boxSizing: 'border-box',\n margin: 0,\n minWidth: 0,\n} as const;\n\nconst a = {\n ...base,\n textDecoration: 'none',\n} as const;\n\nconst text = {\n ...base,\n overflowWrap: 'break-word',\n} as const;\n\nconst media = {\n ...base,\n display: 'block',\n maxWidth: '100%',\n} as const;\n\nconst button = {\n ...base,\n display: 'block',\n appearance: 'none',\n font: 'inherit',\n background: 'transparent',\n textAlign: 'center',\n} as const;\n\nconst input = {\n ...base,\n display: 'block',\n appearance: 'none',\n font: 'inherit',\n '&::-ms-clear': {\n display: 'none',\n },\n '&::-webkit-search-cancel-button': {\n WebkitAppearance: 'none',\n },\n} as const;\n\nconst select = {\n ...base,\n display: 'block',\n appearance: 'none',\n font: 'inherit',\n '&::-ms-expand': {\n display: 'none',\n },\n} as const;\n\nconst textarea = {\n ...base,\n display: 'block',\n appearance: 'none',\n font: 'inherit',\n} as const;\n\n// Normalize\n// ---------------\nexport const normalize = {\n base,\n a,\n p: text,\n h1: text,\n h2: text,\n h3: text,\n h4: text,\n h5: text,\n h6: text,\n img: media,\n picture: media,\n video: media,\n canvas: media,\n svg: media,\n select,\n button,\n textarea,\n input,\n} as const;\n\nexport type NormalizedElement = keyof typeof normalize;\n\n/**\n * Type-safe helper to get normalization. If no normalization is found,\n * returns the *base* normalization.\n */\nexport const getNormalizedStyles = (val?: ElementType) =>\n typeof val === 'string' && val in normalize\n ? normalize[val as NormalizedElement] // Typescript doesn't infer this correctly\n : normalize.base;\n","const isNil = (value: any): value is null | undefined =>\n value === null || value === undefined;\n\n/**\n * Ensures that the `val` is an array. Will return an empty array if `val` is falsy.\n */\nexport const ensureArray = <T>(val?: T | T[]) =>\n isNil(val) ? [] : Array.isArray(val) ? val : [val];\n\n/**\n * Removes trailing dot from variant, if necessary. This is necessary to support\n * `__default` styles. See https://github.com/system-ui/theme-ui/pull/951\n */\nexport const ensureVariantDefault = (val: string) => val.replace(/\\.$/, '');\n\n/**\n * Ensures that the `variant` is an array and supports the `__default` key.\n */\nexport const ensureArrayVariant = <T extends string>(variant?: T | T[]) =>\n ensureArray(variant).map(ensureVariantDefault);\n\nexport type State = {\n checked?: boolean;\n focus?: boolean;\n hover?: boolean;\n disabled?: boolean;\n error?: boolean;\n};\n\n/**\n * Appends given `state` to a `variant`.\n */\nexport const appendVariantState = (variant: string, state: keyof State) => {\n return `${ensureVariantDefault(variant)}.:${state}`;\n};\n\n/**\n * Create a variant array from a `variant` and `state` containing\n * passed states, if they are truthy.\n */\nexport const conditional = (\n variant: string,\n { disabled = false, ...states }: State\n) => {\n const entries = [...Object.entries(states), ['disabled', disabled]] as [\n keyof State,\n boolean\n ][];\n const stateVariants = entries\n .filter(([, val]) => Boolean(val))\n .map(([key]) => appendVariantState(variant, key));\n\n return [variant, ...stateVariants];\n};\n","import { jsx, Theme } from '@emotion/react';\nimport { css as transformStyleObject } from '@theme-ui/css';\nimport { forwardRef } from 'react';\nimport {\n PolymorphicPropsWithRef,\n PolymorphicComponentWithRef,\n} from '@marigold/types';\n\nimport { getNormalizedStyles } from './normalize';\nimport { CSSObject } from './types';\nimport { ensureArrayVariant } from './variant';\n\nexport type StyleProps = Pick<\n CSSObject,\n | 'display'\n | 'height'\n | 'width'\n | 'minWidth'\n | 'maxWidth'\n | 'position'\n | 'top'\n | 'bottom'\n | 'right'\n | 'left'\n | 'zIndex'\n | 'p'\n | 'px'\n | 'py'\n | 'pt'\n | 'pb'\n | 'pl'\n | 'pr'\n | 'm'\n | 'mx'\n | 'my'\n | 'mt'\n | 'mb'\n | 'ml'\n | 'mr'\n | 'flexDirection'\n | 'flexWrap'\n | 'flexShrink'\n | 'flexGrow'\n | 'alignItems'\n | 'justifyContent'\n | 'bg'\n | 'border'\n | 'borderRadius'\n | 'boxShadow'\n | 'opacity'\n | 'overflow'\n | 'transition'\n>;\n\nexport type BoxOwnProps = {\n css?: CSSObject;\n variant?: string | string[];\n /**\n * Use to set base styles for the component\n * @internal Used to set default styles for Marigold components\n */\n __baseCSS?: CSSObject;\n} & StyleProps;\n\nexport type BoxProps = PolymorphicPropsWithRef<BoxOwnProps, 'div'>;\n\n/**\n * Check if there is any falsy value or empty object\n */\nconst isNotEmpty = (val: any) =>\n !(val && Object.keys(val).length === 0 && val.constructor === Object);\n\ntype CreateStyleProps = {\n as?: BoxProps['as'];\n __baseCSS?: BoxOwnProps['__baseCSS'];\n variant?: BoxOwnProps['variant'];\n css?: BoxOwnProps['css'];\n styles?: StyleProps;\n};\n\nconst createThemedStyle =\n ({ as, __baseCSS, variant, styles, css }: CreateStyleProps) =>\n (theme: Theme) => {\n return [\n getNormalizedStyles(as),\n transformStyleObject(__baseCSS)(theme),\n ...ensureArrayVariant(variant).map(v =>\n transformStyleObject({ variant: v })(theme)\n ),\n transformStyleObject(styles)(theme),\n transformStyleObject(css)(theme),\n ].filter(isNotEmpty);\n };\n\nexport const Box: PolymorphicComponentWithRef<BoxOwnProps, 'div'> = forwardRef(\n (\n {\n as = 'div',\n children,\n __baseCSS,\n variant,\n css = {},\n display,\n height,\n width,\n minWidth,\n maxWidth,\n position,\n top,\n bottom,\n right,\n left,\n zIndex,\n p,\n px,\n py,\n pt,\n pb,\n pl,\n pr,\n m,\n mx,\n my,\n mt,\n mb,\n ml,\n mr,\n flexDirection,\n flexWrap,\n flexShrink,\n flexGrow,\n alignItems,\n justifyContent,\n bg,\n border,\n borderRadius,\n boxShadow,\n opacity,\n overflow,\n transition,\n ...props\n },\n ref\n ) =>\n jsx(\n as,\n {\n ...props,\n css: createThemedStyle({\n as,\n __baseCSS,\n variant,\n css,\n styles: {\n display,\n height,\n width,\n minWidth,\n maxWidth,\n position,\n top,\n bottom,\n right,\n left,\n zIndex,\n p,\n px,\n py,\n pt,\n pb,\n pl,\n pr,\n m,\n mx,\n my,\n mt,\n mb,\n ml,\n mr,\n flexDirection,\n flexWrap,\n flexShrink,\n flexGrow,\n alignItems,\n justifyContent,\n bg,\n border,\n borderRadius,\n boxShadow,\n opacity,\n overflow,\n transition,\n },\n }),\n ref,\n },\n children\n )\n);\n","import React, {\n createContext,\n ReactNode,\n useCallback,\n useContext,\n} from 'react';\nimport { css as transformStyleObject } from '@theme-ui/css';\nimport { ThemeProvider as EmotionProvider } from '@emotion/react';\n\nimport { Theme } from './theme';\nimport { StyleObject } from './types';\n\n/**\n * @internal\n */\nexport const __defaultTheme: Theme = {};\n\nconst InternalContext = createContext<Theme>(__defaultTheme);\n\nexport const useTheme = () => {\n const theme = useContext(InternalContext);\n /**\n * We cast the theme here to `any` since our subset is not\n * compatible with the typings of `theme-ui`, since they\n * also support arrays as scale values, while we don't.\n */\n const css = useCallback(\n (style: StyleObject) => transformStyleObject(style)(theme as any),\n [theme]\n );\n return { theme, css };\n};\n\nexport type ThemeProviderProps<T extends Theme> = {\n theme: T;\n children: ReactNode;\n};\n\nexport function ThemeProvider<T extends Theme>({\n theme,\n children,\n}: ThemeProviderProps<T>) {\n return (\n <EmotionProvider theme={theme}>\n <InternalContext.Provider value={theme}>\n {children}\n </InternalContext.Provider>\n </EmotionProvider>\n );\n}\n","import React from 'react';\nimport { Global as EmotionGlobal } from '@emotion/react';\nimport { useTheme } from './useTheme';\n\n/**\n * CSS snippet and idea from:\n * https://css-tricks.com/revisiting-prefers-reduced-motion-the-reduced-motion-media-query/\n */\nconst reduceMotionStyles = {\n '@media screen and (prefers-reduced-motion: reduce), (update: slow)': {\n '*': {\n animationDuration: '0.001ms !important',\n animationIterationCount: '1 !important',\n transitionDuration: '0.001ms !important',\n },\n },\n};\n\nexport const Global = () => {\n const { css } = useTheme();\n const styles = css({\n html: {\n height: '100%',\n variant: 'root.html',\n },\n body: {\n height: '100%',\n lineHeight: 1.5,\n WebkitFontSmoothing: 'antialiased',\n variant: 'root.body',\n },\n });\n return <EmotionGlobal styles={{ reduceMotionStyles, ...styles }} />;\n};\n","import React from 'react';\nimport { jsx } from '@emotion/react';\nimport { ComponentProps } from '@marigold/types';\nimport { getNormalizedStyles } from '@marigold/system';\n\nconst css = getNormalizedStyles('svg');\n\nexport type SVGProps = {\n size?: number;\n} & ComponentProps<'svg'>;\n\nexport const SVG: React.FC<SVGProps> = ({ size = 24, children, ...props }) =>\n jsx(\n 'svg',\n {\n width: size,\n height: size,\n viewBox: '0 0 24 24',\n fill: 'currentcolor',\n ...props,\n css,\n },\n children\n );\n"],"names":["base","boxSizing","margin","minWidth","a","textDecoration","text","overflowWrap","media","display","maxWidth","button","appearance","font","background","textAlign","input","WebkitAppearance","select","textarea","normalize","p","h1","h2","h3","h4","h5","h6","img","picture","video","canvas","svg","getNormalizedStyles","val","isNil","value","undefined","ensureArray","Array","isArray","ensureVariantDefault","replace","ensureArrayVariant","variant","map","appendVariantState","state","conditional","disabled","states","entries","Object","stateVariants","filter","Boolean","key","isNotEmpty","keys","length","constructor","createThemedStyle","as","__baseCSS","styles","css","theme","transformStyleObject","v","Box","forwardRef","ref","children","height","width","position","top","bottom","right","left","zIndex","px","py","pt","pb","pl","pr","m","mx","my","mt","mb","ml","mr","flexDirection","flexWrap","flexShrink","flexGrow","alignItems","justifyContent","bg","border","borderRadius","boxShadow","opacity","overflow","transition","props","jsx","__defaultTheme","InternalContext","createContext","useTheme","useContext","useCallback","style","ThemeProvider","React","EmotionProvider","Provider","reduceMotionStyles","animationDuration","animationIterationCount","transitionDuration","Global","html","body","lineHeight","WebkitFontSmoothing","EmotionGlobal","SVG","size","viewBox","fill"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";var e,t=require("@emotion/react"),r=require("@theme-ui/css"),n=require("react"),i=(e=n)&&"object"==typeof e&&"default"in e?e.default:e,o=require("@marigold/system");function a(){return(a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}function s(e,t){if(null==e)return{};var r,n,i={},o=Object.keys(e);for(n=0;n<o.length;n++)t.indexOf(r=o[n])>=0||(i[r]=e[r]);return i}var l={boxSizing:"border-box",margin:0,minWidth:0},c=a({},l,{textDecoration:"none"}),p=a({},l,{overflowWrap:"break-word"}),u=a({},l,{display:"block",maxWidth:"100%"}),d=a({},l,{display:"block",appearance:"none",font:"inherit",background:"transparent",textAlign:"center"}),m=a({},l,{display:"block",appearance:"none",font:"inherit","&::-ms-clear":{display:"none"},"&::-webkit-search-cancel-button":{WebkitAppearance:"none"}}),h={base:l,a:c,p:p,h1:p,h2:p,h3:p,h4:p,h5:p,h6:p,img:u,picture:u,video:u,canvas:u,svg:u,select:a({},l,{display:"block",appearance:"none",font:"inherit","&::-ms-expand":{display:"none"}}),button:d,textarea:a({},l,{display:"block",appearance:"none",font:"inherit"}),input:m},f=function(e){return"string"==typeof e&&e in h?h[e]:h.base},b=["disabled"],x=function(e){return null==e?[]:Array.isArray(e)?e:[e]},y=function(e){return e.replace(/\.$/,"")},v=function(e){return x(e).map(y)},g=function(e,t){return y(e)+".:"+t},S=["as","children","__baseCSS","variant","css","display","height","width","minWidth","maxWidth","position","top","bottom","right","left","zIndex","p","px","py","pt","pb","pl","pr","m","mx","my","mt","mb","ml","mr","flexDirection","flexWrap","flexShrink","flexGrow","alignItems","justifyContent","bg","border","borderRadius","boxShadow","opacity","overflow","transition"],w=function(e){return!(e&&0===Object.keys(e).length&&e.constructor===Object)},k=function(e){var t=e.as,n=e.__baseCSS,i=e.variant,o=e.styles,a=e.css;return function(e){return[f(t),r.css(n)(e)].concat(v(i).map((function(t){return r.css({variant:t})(e)})),[r.css(o)(e),r.css(a)(e)]).filter(w)}},W=n.forwardRef((function(e,r){var n=e.as,i=void 0===n?"div":n,o=e.children,l=e.__baseCSS,c=e.variant,p=e.css,u=void 0===p?{}:p,d=e.display,m=e.height,h=e.width,f=e.minWidth,b=e.maxWidth,x=e.position,y=e.top,v=e.bottom,g=e.right,w=e.left,W=e.zIndex,j=e.p,C=e.px,_=e.py,z=e.pt,O=e.pb,D=e.pl,I=e.pr,A=e.m,G=e.mx,q=e.my,P=e.mt,R=e.mb,T=e.ml,V=e.mr,B=e.flexDirection,E=e.flexWrap,N=e.flexShrink,F=e.flexGrow,H=e.alignItems,M=e.justifyContent,$=e.bg,J=e.border,K=e.borderRadius,L=e.boxShadow,Q=e.opacity,U=e.overflow,X=e.transition,Y=s(e,S);return t.jsx(i,a({},Y,{css:k({as:i,__baseCSS:l,variant:c,css:u,styles:{display:d,height:m,width:h,minWidth:f,maxWidth:b,position:x,top:y,bottom:v,right:g,left:w,zIndex:W,p:j,px:C,py:_,pt:z,pb:O,pl:D,pr:I,m:A,mx:G,my:q,mt:P,mb:R,ml:T,mr:V,flexDirection:B,flexWrap:E,flexShrink:N,flexGrow:F,alignItems:H,justifyContent:M,bg:$,border:J,borderRadius:K,boxShadow:L,opacity:Q,overflow:U,transition:X}}),ref:r}),o)})),j={},C=n.createContext(j),_=function(){var e=n.useContext(C),t=n.useCallback((function(t){return r.css(t)(e)}),[e]);return{theme:e,css:t}},z={"@media screen and (prefers-reduced-motion: reduce), (update: slow)":{"*":{animationDuration:"0.001ms !important",animationIterationCount:"1 !important",transitionDuration:"0.001ms !important"}}},O=["size","children"],D=o.getNormalizedStyles("svg");exports.Box=W,exports.Global=function(){var e=(0,_().css)({html:{height:"100%",variant:"root.html"},body:{height:"100%",lineHeight:1.5,WebkitFontSmoothing:"antialiased",variant:"root.body"}});return i.createElement(t.Global,{styles:a({reduceMotionStyles:z},e)})},exports.SVG=function(e){var r=e.size,n=void 0===r?24:r,i=e.children,o=s(e,O);return t.jsx("svg",a({width:n,height:n,viewBox:"0 0 24 24",fill:"currentcolor"},o,{css:D}),i)},exports.ThemeProvider=function(e){var r=e.theme;return i.createElement(t.ThemeProvider,{theme:r},i.createElement(C.Provider,{value:r},e.children))},exports.__defaultTheme=j,exports.appendVariantState=g,exports.conditional=function(e,t){var r=t.disabled,n=void 0!==r&&r,i=s(t,b),o=[].concat(Object.entries(i),[["disabled",n]]).filter((function(e){return Boolean(e[1])})).map((function(t){return g(e,t[0])}));return[e].concat(o)},exports.ensureArray=x,exports.ensureArrayVariant=v,exports.ensureVariantDefault=y,exports.getNormalizedStyles=f,exports.normalize=h,exports.useTheme=_;
|
|
2
|
-
//# sourceMappingURL=system.cjs.production.min.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"system.cjs.production.min.js","sources":["../src/normalize.ts","../src/variant.ts","../src/Box.tsx","../src/useTheme.tsx","../src/Global.tsx","../src/SVG.tsx"],"sourcesContent":["/**\n * Normalize styling of certain elements between browsers.\n * Based on https://www.joshwcomeau.com/css/custom-css-reset/\n */\nimport { ElementType } from 'react';\n\nconst base = {\n boxSizing: 'border-box',\n margin: 0,\n minWidth: 0,\n} as const;\n\nconst a = {\n ...base,\n textDecoration: 'none',\n} as const;\n\nconst text = {\n ...base,\n overflowWrap: 'break-word',\n} as const;\n\nconst media = {\n ...base,\n display: 'block',\n maxWidth: '100%',\n} as const;\n\nconst button = {\n ...base,\n display: 'block',\n appearance: 'none',\n font: 'inherit',\n background: 'transparent',\n textAlign: 'center',\n} as const;\n\nconst input = {\n ...base,\n display: 'block',\n appearance: 'none',\n font: 'inherit',\n '&::-ms-clear': {\n display: 'none',\n },\n '&::-webkit-search-cancel-button': {\n WebkitAppearance: 'none',\n },\n} as const;\n\nconst select = {\n ...base,\n display: 'block',\n appearance: 'none',\n font: 'inherit',\n '&::-ms-expand': {\n display: 'none',\n },\n} as const;\n\nconst textarea = {\n ...base,\n display: 'block',\n appearance: 'none',\n font: 'inherit',\n} as const;\n\n// Normalize\n// ---------------\nexport const normalize = {\n base,\n a,\n p: text,\n h1: text,\n h2: text,\n h3: text,\n h4: text,\n h5: text,\n h6: text,\n img: media,\n picture: media,\n video: media,\n canvas: media,\n svg: media,\n select,\n button,\n textarea,\n input,\n} as const;\n\nexport type NormalizedElement = keyof typeof normalize;\n\n/**\n * Type-safe helper to get normalization. If no normalization is found,\n * returns the *base* normalization.\n */\nexport const getNormalizedStyles = (val?: ElementType) =>\n typeof val === 'string' && val in normalize\n ? normalize[val as NormalizedElement] // Typescript doesn't infer this correctly\n : normalize.base;\n","const isNil = (value: any): value is null | undefined =>\n value === null || value === undefined;\n\n/**\n * Ensures that the `val` is an array. Will return an empty array if `val` is falsy.\n */\nexport const ensureArray = <T>(val?: T | T[]) =>\n isNil(val) ? [] : Array.isArray(val) ? val : [val];\n\n/**\n * Removes trailing dot from variant, if necessary. This is necessary to support\n * `__default` styles. See https://github.com/system-ui/theme-ui/pull/951\n */\nexport const ensureVariantDefault = (val: string) => val.replace(/\\.$/, '');\n\n/**\n * Ensures that the `variant` is an array and supports the `__default` key.\n */\nexport const ensureArrayVariant = <T extends string>(variant?: T | T[]) =>\n ensureArray(variant).map(ensureVariantDefault);\n\nexport type State = {\n checked?: boolean;\n focus?: boolean;\n hover?: boolean;\n disabled?: boolean;\n error?: boolean;\n};\n\n/**\n * Appends given `state` to a `variant`.\n */\nexport const appendVariantState = (variant: string, state: keyof State) => {\n return `${ensureVariantDefault(variant)}.:${state}`;\n};\n\n/**\n * Create a variant array from a `variant` and `state` containing\n * passed states, if they are truthy.\n */\nexport const conditional = (\n variant: string,\n { disabled = false, ...states }: State\n) => {\n const entries = [...Object.entries(states), ['disabled', disabled]] as [\n keyof State,\n boolean\n ][];\n const stateVariants = entries\n .filter(([, val]) => Boolean(val))\n .map(([key]) => appendVariantState(variant, key));\n\n return [variant, ...stateVariants];\n};\n","import { jsx, Theme } from '@emotion/react';\nimport { css as transformStyleObject } from '@theme-ui/css';\nimport { forwardRef } from 'react';\nimport {\n PolymorphicPropsWithRef,\n PolymorphicComponentWithRef,\n} from '@marigold/types';\n\nimport { getNormalizedStyles } from './normalize';\nimport { CSSObject } from './types';\nimport { ensureArrayVariant } from './variant';\n\nexport type StyleProps = Pick<\n CSSObject,\n | 'display'\n | 'height'\n | 'width'\n | 'minWidth'\n | 'maxWidth'\n | 'position'\n | 'top'\n | 'bottom'\n | 'right'\n | 'left'\n | 'zIndex'\n | 'p'\n | 'px'\n | 'py'\n | 'pt'\n | 'pb'\n | 'pl'\n | 'pr'\n | 'm'\n | 'mx'\n | 'my'\n | 'mt'\n | 'mb'\n | 'ml'\n | 'mr'\n | 'flexDirection'\n | 'flexWrap'\n | 'flexShrink'\n | 'flexGrow'\n | 'alignItems'\n | 'justifyContent'\n | 'bg'\n | 'border'\n | 'borderRadius'\n | 'boxShadow'\n | 'opacity'\n | 'overflow'\n | 'transition'\n>;\n\nexport type BoxOwnProps = {\n css?: CSSObject;\n variant?: string | string[];\n /**\n * Use to set base styles for the component\n * @internal Used to set default styles for Marigold components\n */\n __baseCSS?: CSSObject;\n} & StyleProps;\n\nexport type BoxProps = PolymorphicPropsWithRef<BoxOwnProps, 'div'>;\n\n/**\n * Check if there is any falsy value or empty object\n */\nconst isNotEmpty = (val: any) =>\n !(val && Object.keys(val).length === 0 && val.constructor === Object);\n\ntype CreateStyleProps = {\n as?: BoxProps['as'];\n __baseCSS?: BoxOwnProps['__baseCSS'];\n variant?: BoxOwnProps['variant'];\n css?: BoxOwnProps['css'];\n styles?: StyleProps;\n};\n\nconst createThemedStyle =\n ({ as, __baseCSS, variant, styles, css }: CreateStyleProps) =>\n (theme: Theme) => {\n return [\n getNormalizedStyles(as),\n transformStyleObject(__baseCSS)(theme),\n ...ensureArrayVariant(variant).map(v =>\n transformStyleObject({ variant: v })(theme)\n ),\n transformStyleObject(styles)(theme),\n transformStyleObject(css)(theme),\n ].filter(isNotEmpty);\n };\n\nexport const Box: PolymorphicComponentWithRef<BoxOwnProps, 'div'> = forwardRef(\n (\n {\n as = 'div',\n children,\n __baseCSS,\n variant,\n css = {},\n display,\n height,\n width,\n minWidth,\n maxWidth,\n position,\n top,\n bottom,\n right,\n left,\n zIndex,\n p,\n px,\n py,\n pt,\n pb,\n pl,\n pr,\n m,\n mx,\n my,\n mt,\n mb,\n ml,\n mr,\n flexDirection,\n flexWrap,\n flexShrink,\n flexGrow,\n alignItems,\n justifyContent,\n bg,\n border,\n borderRadius,\n boxShadow,\n opacity,\n overflow,\n transition,\n ...props\n },\n ref\n ) =>\n jsx(\n as,\n {\n ...props,\n css: createThemedStyle({\n as,\n __baseCSS,\n variant,\n css,\n styles: {\n display,\n height,\n width,\n minWidth,\n maxWidth,\n position,\n top,\n bottom,\n right,\n left,\n zIndex,\n p,\n px,\n py,\n pt,\n pb,\n pl,\n pr,\n m,\n mx,\n my,\n mt,\n mb,\n ml,\n mr,\n flexDirection,\n flexWrap,\n flexShrink,\n flexGrow,\n alignItems,\n justifyContent,\n bg,\n border,\n borderRadius,\n boxShadow,\n opacity,\n overflow,\n transition,\n },\n }),\n ref,\n },\n children\n )\n);\n","import React, {\n createContext,\n ReactNode,\n useCallback,\n useContext,\n} from 'react';\nimport { css as transformStyleObject } from '@theme-ui/css';\nimport { ThemeProvider as EmotionProvider } from '@emotion/react';\n\nimport { Theme } from './theme';\nimport { StyleObject } from './types';\n\n/**\n * @internal\n */\nexport const __defaultTheme: Theme = {};\n\nconst InternalContext = createContext<Theme>(__defaultTheme);\n\nexport const useTheme = () => {\n const theme = useContext(InternalContext);\n /**\n * We cast the theme here to `any` since our subset is not\n * compatible with the typings of `theme-ui`, since they\n * also support arrays as scale values, while we don't.\n */\n const css = useCallback(\n (style: StyleObject) => transformStyleObject(style)(theme as any),\n [theme]\n );\n return { theme, css };\n};\n\nexport type ThemeProviderProps<T extends Theme> = {\n theme: T;\n children: ReactNode;\n};\n\nexport function ThemeProvider<T extends Theme>({\n theme,\n children,\n}: ThemeProviderProps<T>) {\n return (\n <EmotionProvider theme={theme}>\n <InternalContext.Provider value={theme}>\n {children}\n </InternalContext.Provider>\n </EmotionProvider>\n );\n}\n","import React from 'react';\nimport { Global as EmotionGlobal } from '@emotion/react';\nimport { useTheme } from './useTheme';\n\n/**\n * CSS snippet and idea from:\n * https://css-tricks.com/revisiting-prefers-reduced-motion-the-reduced-motion-media-query/\n */\nconst reduceMotionStyles = {\n '@media screen and (prefers-reduced-motion: reduce), (update: slow)': {\n '*': {\n animationDuration: '0.001ms !important',\n animationIterationCount: '1 !important',\n transitionDuration: '0.001ms !important',\n },\n },\n};\n\nexport const Global = () => {\n const { css } = useTheme();\n const styles = css({\n html: {\n height: '100%',\n variant: 'root.html',\n },\n body: {\n height: '100%',\n lineHeight: 1.5,\n WebkitFontSmoothing: 'antialiased',\n variant: 'root.body',\n },\n });\n return <EmotionGlobal styles={{ reduceMotionStyles, ...styles }} />;\n};\n","import React from 'react';\nimport { jsx } from '@emotion/react';\nimport { ComponentProps } from '@marigold/types';\nimport { getNormalizedStyles } from '@marigold/system';\n\nconst css = getNormalizedStyles('svg');\n\nexport type SVGProps = {\n size?: number;\n} & ComponentProps<'svg'>;\n\nexport const SVG: React.FC<SVGProps> = ({ size = 24, children, ...props }) =>\n jsx(\n 'svg',\n {\n width: size,\n height: size,\n viewBox: '0 0 24 24',\n fill: 'currentcolor',\n ...props,\n css,\n },\n children\n );\n"],"names":["base","boxSizing","margin","minWidth","a","textDecoration","text","overflowWrap","media","display","maxWidth","button","appearance","font","background","textAlign","input","WebkitAppearance","normalize","p","h1","h2","h3","h4","h5","h6","img","picture","video","canvas","svg","select","textarea","getNormalizedStyles","val","ensureArray","value","Array","isArray","ensureVariantDefault","replace","ensureArrayVariant","variant","map","appendVariantState","state","isNotEmpty","Object","keys","length","constructor","createThemedStyle","as","__baseCSS","styles","css","theme","transformStyleObject","v","filter","Box","forwardRef","ref","children","height","width","position","top","bottom","right","left","zIndex","px","py","pt","pb","pl","pr","m","mx","my","mt","mb","ml","mr","flexDirection","flexWrap","flexShrink","flexGrow","alignItems","justifyContent","bg","border","borderRadius","boxShadow","opacity","overflow","transition","props","jsx","__defaultTheme","InternalContext","createContext","useTheme","useContext","useCallback","style","reduceMotionStyles","animationDuration","animationIterationCount","transitionDuration","html","body","lineHeight","WebkitFontSmoothing","React","EmotionGlobal","size","viewBox","fill","EmotionProvider","Provider","disabled","states","stateVariants","entries","Boolean"],"mappings":"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"}
|