@codecademy/gamut-styles 16.3.0 → 16.3.1-alpha.8ea574.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/dist/AssetProvider.js +15 -18
- package/dist/Background.js +28 -45
- package/dist/ColorMode.js +70 -77
- package/dist/GamutProvider.js +20 -22
- package/dist/cache/createEmotionCache.d.ts +1 -1
- package/dist/cache/createEmotionCache.js +11 -26
- package/dist/cache/stylisPlugins/focusVisible.js +4 -4
- package/dist/globals/Reboot.js +4 -6
- package/dist/globals/Typography.js +18 -20
- package/dist/globals/Variables.js +12 -21
- package/dist/remoteAssets/fonts.js +8 -8
- package/dist/styles/boxShadow.d.ts +1 -1
- package/dist/styles/boxShadow.js +10 -20
- package/dist/styles/fontSmoothing.js +5 -7
- package/dist/styles/noSelect.d.ts +1 -1
- package/dist/styles/noSelect.js +1 -1
- package/dist/styles/pxRem.js +3 -3
- package/dist/styles/responsive.js +4 -6
- package/dist/styles/screenReaderOnly.d.ts +2 -2
- package/dist/styles/screenReaderOnly.js +2 -2
- package/dist/styles/transitionConcat.js +4 -4
- package/dist/themes/admin.js +1 -1
- package/dist/themes/core.js +13 -11
- package/dist/themes/platform.js +1 -1
- package/dist/utilities/themed.js +4 -2
- package/dist/variables/colors.js +19 -18
- package/dist/variables/deprecated-colors.js +17 -16
- package/dist/variables/elements.js +1 -1
- package/dist/variables/responsive.js +4 -6
- package/dist/variables/spacing.js +1 -1
- package/dist/variables/timing.js +5 -5
- package/dist/variables/typography.js +14 -8
- package/dist/variance/config.js +49 -32
- package/dist/variance/index.js +1 -2
- package/dist/variance/props.js +16 -16
- package/dist/variance/utils.js +6 -14
- package/package.json +3 -3
package/dist/AssetProvider.js
CHANGED
|
@@ -1,22 +1,19 @@
|
|
|
1
1
|
import { webFonts } from './remoteAssets/fonts';
|
|
2
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
});
|
|
18
|
-
};
|
|
19
|
-
export var AssetProvider = function AssetProvider() {
|
|
2
|
+
import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
|
+
export const createFontLinks = () => webFonts.flatMap(_ref => {
|
|
4
|
+
let {
|
|
5
|
+
filePath,
|
|
6
|
+
extensions
|
|
7
|
+
} = _ref;
|
|
8
|
+
return extensions.map(ext => /*#__PURE__*/_jsx("link", {
|
|
9
|
+
rel: "preload",
|
|
10
|
+
href: `${filePath}.${ext}`,
|
|
11
|
+
crossOrigin: "anonymous",
|
|
12
|
+
as: "font",
|
|
13
|
+
type: `font/${ext}`
|
|
14
|
+
}, `${filePath}-${ext}`));
|
|
15
|
+
});
|
|
16
|
+
export const AssetProvider = () => {
|
|
20
17
|
return /*#__PURE__*/_jsx(_Fragment, {
|
|
21
18
|
children: createFontLinks()
|
|
22
19
|
});
|
package/dist/Background.js
CHANGED
|
@@ -1,41 +1,25 @@
|
|
|
1
|
-
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
2
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
3
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
4
|
-
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
5
|
-
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
6
|
-
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
7
|
-
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
8
|
-
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
9
|
-
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
10
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
11
|
-
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) { ; } } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
|
12
|
-
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
13
|
-
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
14
|
-
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
15
1
|
import { getContrast } from 'polished';
|
|
16
2
|
import { forwardRef, useCallback, useMemo } from 'react';
|
|
17
3
|
import { ColorMode, useColorModes } from './ColorMode';
|
|
18
4
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
19
|
-
|
|
5
|
+
const isColorAlias = (mode, color) => {
|
|
20
6
|
return Object.keys(mode).includes(color);
|
|
21
7
|
};
|
|
22
|
-
export
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
modes = _useColorModes2[2],
|
|
30
|
-
getColorValue = _useColorModes2[3];
|
|
8
|
+
export const Background = /*#__PURE__*/forwardRef((_ref, ref) => {
|
|
9
|
+
let {
|
|
10
|
+
bg,
|
|
11
|
+
...rest
|
|
12
|
+
} = _ref;
|
|
13
|
+
const [active, activeColors, modes, getColorValue] = useColorModes();
|
|
14
|
+
|
|
31
15
|
/** If a color alias was used then look up the true color key from the active mode */
|
|
32
|
-
|
|
16
|
+
const trueColor = useMemo(() => {
|
|
33
17
|
if (isColorAlias(activeColors, bg)) {
|
|
34
18
|
return activeColors[bg];
|
|
35
19
|
}
|
|
36
20
|
return bg;
|
|
37
21
|
}, [bg, activeColors]);
|
|
38
|
-
|
|
22
|
+
const getTextContrast = useCallback(foreground => {
|
|
39
23
|
return getContrast(getColorValue(foreground), getColorValue(trueColor));
|
|
40
24
|
}, [trueColor, getColorValue]);
|
|
41
25
|
|
|
@@ -49,10 +33,12 @@ export var Background = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
49
33
|
* This does not guarantee a level of A/AA/AA compliance.
|
|
50
34
|
*/
|
|
51
35
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
36
|
+
const accessibleMode = useMemo(() => {
|
|
37
|
+
const {
|
|
38
|
+
[active]: activeMode,
|
|
39
|
+
...otherModes
|
|
40
|
+
} = modes;
|
|
41
|
+
const possibleModes = Object.entries(otherModes);
|
|
56
42
|
|
|
57
43
|
/**
|
|
58
44
|
* Reduce all remaining modes to the mode key with the highest contrast
|
|
@@ -62,25 +48,22 @@ export var Background = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
62
48
|
* it will likely fail to return a mode outside of the lightest and
|
|
63
49
|
* darkest versions.
|
|
64
50
|
*/
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
text = _ref5[1].text;
|
|
72
|
-
var contrast = getTextContrast(text);
|
|
51
|
+
const [highestContrastMode] = possibleModes.reduce((_ref2, _ref3) => {
|
|
52
|
+
let [prevMode, prevContrast] = _ref2;
|
|
53
|
+
let [mode, {
|
|
54
|
+
text
|
|
55
|
+
}] = _ref3;
|
|
56
|
+
const contrast = getTextContrast(text);
|
|
73
57
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
_possibleModes$reduce2 = _slicedToArray(_possibleModes$reduce, 1),
|
|
78
|
-
highestContrastMode = _possibleModes$reduce2[0];
|
|
58
|
+
// Keep the higher contrast mode.
|
|
59
|
+
return contrast > prevContrast ? [mode, contrast] : [prevMode, prevContrast];
|
|
60
|
+
}, [active, getTextContrast(activeMode.text)]);
|
|
79
61
|
return highestContrastMode;
|
|
80
62
|
}, [modes, active, getTextContrast]);
|
|
81
|
-
return /*#__PURE__*/_jsx(ColorMode,
|
|
63
|
+
return /*#__PURE__*/_jsx(ColorMode, {
|
|
64
|
+
...rest,
|
|
82
65
|
mode: accessibleMode,
|
|
83
66
|
bg: bg,
|
|
84
67
|
ref: ref
|
|
85
|
-
})
|
|
68
|
+
});
|
|
86
69
|
});
|
package/dist/ColorMode.js
CHANGED
|
@@ -1,19 +1,5 @@
|
|
|
1
|
-
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
2
1
|
import _styled from "@emotion/styled/base";
|
|
3
|
-
function
|
|
4
|
-
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
5
|
-
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
6
|
-
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
7
|
-
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
8
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
9
|
-
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) { ; } } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
|
10
|
-
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
11
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
12
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
13
|
-
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
14
|
-
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
15
|
-
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
16
|
-
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
2
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
17
3
|
import { serializeTokens, variance } from '@codecademy/variance';
|
|
18
4
|
import { ThemeProvider, useTheme } from '@emotion/react';
|
|
19
5
|
import mapValues from 'lodash/mapValues';
|
|
@@ -22,26 +8,31 @@ import { createContext, forwardRef, useContext, useEffect, useMemo, useState } f
|
|
|
22
8
|
import { background, border, color, css, flex, grid, layout, positioning, space } from './variance/props';
|
|
23
9
|
import { styledOptions } from './variance/utils';
|
|
24
10
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
25
|
-
export
|
|
26
|
-
export
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
11
|
+
export const providerProps = variance.compose(layout, color, grid, flex, positioning, space, border, background);
|
|
12
|
+
export const modeColorProps = _ref => {
|
|
13
|
+
let {
|
|
14
|
+
theme,
|
|
15
|
+
mode
|
|
16
|
+
} = _ref;
|
|
17
|
+
if (!theme || !mode || mode === theme?.mode) return {};
|
|
18
|
+
const {
|
|
19
|
+
colors
|
|
20
|
+
} = theme;
|
|
21
|
+
return serializeTokens(mapValues(theme?.modes[mode], color => colors[color]), 'color', theme).variables;
|
|
34
22
|
};
|
|
35
|
-
|
|
23
|
+
const BackgroundCurrentContext = /*#__PURE__*/createContext({
|
|
36
24
|
'background-current': undefined
|
|
37
25
|
});
|
|
38
26
|
export function useColorModes() {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
mode
|
|
42
|
-
modes
|
|
43
|
-
getColorValue
|
|
44
|
-
|
|
27
|
+
const bgCurrent = useContext(BackgroundCurrentContext);
|
|
28
|
+
const {
|
|
29
|
+
mode,
|
|
30
|
+
modes,
|
|
31
|
+
_getColorValue: getColorValue
|
|
32
|
+
} = useTheme() || {};
|
|
33
|
+
const modesCopy = {
|
|
34
|
+
...modes
|
|
35
|
+
};
|
|
45
36
|
if (bgCurrent['background-current'] && modesCopy[mode]['background-current'] !== bgCurrent['background-current']) {
|
|
46
37
|
/* sets the color to the copy of our modes object, and casts the type as the default color values for background-current.
|
|
47
38
|
we could potentially alter the Merge type utility function from createTheme, but since 'background-current' is the only exception to the type-merging rule and this is the only place we override, this seems to be a more straightforward + lower-risk solution.
|
|
@@ -49,98 +40,100 @@ export function useColorModes() {
|
|
|
49
40
|
|
|
50
41
|
modesCopy[mode]['background-current'] = bgCurrent['background-current'];
|
|
51
42
|
}
|
|
52
|
-
return [mode, modesCopy
|
|
43
|
+
return [mode, modesCopy?.[mode], modes, getColorValue];
|
|
53
44
|
}
|
|
54
45
|
export function useCurrentMode(mode) {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
activeMode = _useColorModes2[0];
|
|
58
|
-
return mode !== null && mode !== void 0 ? mode : activeMode;
|
|
46
|
+
const [activeMode] = useColorModes();
|
|
47
|
+
return mode ?? activeMode;
|
|
59
48
|
}
|
|
60
49
|
export function usePrefersDarkMode() {
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
prefersDarkMode = _useState2[0],
|
|
64
|
-
setPrefersDarkMode = _useState2[1];
|
|
65
|
-
useEffect(function () {
|
|
50
|
+
const [prefersDarkMode, setPrefersDarkMode] = useState(false);
|
|
51
|
+
useEffect(() => {
|
|
66
52
|
function onChange(event) {
|
|
67
53
|
setPrefersDarkMode(event.matches);
|
|
68
54
|
}
|
|
69
55
|
if (window && 'matchMedia' in window) {
|
|
70
|
-
|
|
56
|
+
const mq = window.matchMedia('(prefers-color-scheme: dark)');
|
|
71
57
|
if (mq && 'addEventListener' in mq) {
|
|
72
58
|
setPrefersDarkMode(mq.matches);
|
|
73
59
|
mq.addEventListener('change', onChange);
|
|
74
|
-
return
|
|
75
|
-
return mq.removeEventListener('change', onChange);
|
|
76
|
-
};
|
|
60
|
+
return () => mq.removeEventListener('change', onChange);
|
|
77
61
|
}
|
|
78
62
|
}
|
|
79
63
|
}, []);
|
|
80
64
|
return prefersDarkMode;
|
|
81
65
|
}
|
|
82
|
-
export
|
|
66
|
+
export const VariableProvider = /*#__PURE__*/_styled('div', _extends({}, {
|
|
83
67
|
target: "e1skjn880",
|
|
84
68
|
label: "VariableProvider"
|
|
85
|
-
}, styledOptions(['variables', 'alwaysSetVariables'])))(
|
|
86
|
-
|
|
69
|
+
}, styledOptions(['variables', 'alwaysSetVariables'])))(_ref2 => {
|
|
70
|
+
let {
|
|
71
|
+
variables
|
|
72
|
+
} = _ref2;
|
|
87
73
|
return variables;
|
|
88
74
|
}, css({
|
|
89
75
|
textColor: 'text'
|
|
90
76
|
}), providerProps, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9Db2xvck1vZGUudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXFJZ0MiLCJmaWxlIjoiLi4vc3JjL0NvbG9yTW9kZS50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBzZXJpYWxpemVUb2tlbnMsXG4gIFN0eWxlUHJvcHMsXG4gIFRoZW1lUHJvcHMsXG4gIHZhcmlhbmNlLFxufSBmcm9tICdAY29kZWNhZGVteS92YXJpYW5jZSc7XG5pbXBvcnQgeyBDU1NPYmplY3QsIFRoZW1lLCBUaGVtZVByb3ZpZGVyLCB1c2VUaGVtZSB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCBtYXBWYWx1ZXMgZnJvbSAnbG9kYXNoL21hcFZhbHVlcyc7XG5pbXBvcnQgcGljayBmcm9tICdsb2Rhc2gvcGljayc7XG5pbXBvcnQge1xuICBDb21wb25lbnRQcm9wcyxcbiAgY3JlYXRlQ29udGV4dCxcbiAgZm9yd2FyZFJlZixcbiAgdXNlQ29udGV4dCxcbiAgdXNlRWZmZWN0LFxuICB1c2VNZW1vLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgeyB0aGVtZSBhcyBHYW11dFRoZW1lIH0gZnJvbSAnLic7XG5pbXBvcnQge1xuICBiYWNrZ3JvdW5kLFxuICBib3JkZXIsXG4gIGNvbG9yLFxuICBjc3MsXG4gIGZsZXgsXG4gIGdyaWQsXG4gIGxheW91dCxcbiAgcG9zaXRpb25pbmcsXG4gIHNwYWNlLFxufSBmcm9tICcuL3ZhcmlhbmNlL3Byb3BzJztcbmltcG9ydCB7IHN0eWxlZE9wdGlvbnMgfSBmcm9tICcuL3ZhcmlhbmNlL3V0aWxzJztcblxuZXhwb3J0IHR5cGUgQ29sb3JzID0ga2V5b2YgVGhlbWVbJ2NvbG9ycyddO1xuZXhwb3J0IHR5cGUgQ29sb3JNb2RlQ29uZmlnID0gVGhlbWVbJ21vZGVzJ107XG5leHBvcnQgdHlwZSBDb2xvck1vZGVzID0ga2V5b2YgQ29sb3JNb2RlQ29uZmlnO1xuZXhwb3J0IHR5cGUgQ29sb3JNb2RlU2hhcGUgPSBDb2xvck1vZGVDb25maWdbQ29sb3JNb2Rlc107XG5leHBvcnQgdHlwZSBDb2xvckFsaWFzID0ga2V5b2YgQ29sb3JNb2RlU2hhcGU7XG5cbmV4cG9ydCB0eXBlIENvbG9yTW9kZVByb3BzID0ge1xuICBtb2RlOiBDb2xvck1vZGVzIHwgJ3N5c3RlbSc7XG4gIGJnPzogQ29sb3JzO1xufTtcblxuZXhwb3J0IGNvbnN0IHByb3ZpZGVyUHJvcHMgPSB2YXJpYW5jZS5jb21wb3NlKFxuICBsYXlvdXQsXG4gIGNvbG9yLFxuICBncmlkLFxuICBmbGV4LFxuICBwb3NpdGlvbmluZyxcbiAgc3BhY2UsXG4gIGJvcmRlcixcbiAgYmFja2dyb3VuZFxuKTtcblxuZXhwb3J0IGNvbnN0IG1vZGVDb2xvclByb3BzID0gKHtcbiAgdGhlbWUsXG4gIG1vZGUsXG59OiBUaGVtZVByb3BzPHsgbW9kZT86IENvbG9yTW9kZXMgfT4pID0+IHtcbiAgaWYgKCF0aGVtZSB8fCAhbW9kZSB8fCBtb2RlID09PSB0aGVtZT8ubW9kZSkgcmV0dXJuIHt9O1xuICBjb25zdCB7IGNvbG9ycyB9ID0gdGhlbWU7XG4gIHJldHVybiBzZXJpYWxpemVUb2tlbnMoXG4gICAgbWFwVmFsdWVzKHRoZW1lPy5tb2Rlc1ttb2RlXSwgKGNvbG9yKSA9PiBjb2xvcnNbY29sb3JdKSxcbiAgICAnY29sb3InLFxuICAgIHRoZW1lXG4gICkudmFyaWFibGVzO1xufTtcblxuaW50ZXJmYWNlIEJhY2tncm91bmRDdXJyZW50Q29udGV4dEludGVyZmFjZSB7XG4gICdiYWNrZ3JvdW5kLWN1cnJlbnQnPzoga2V5b2YgdHlwZW9mIEdhbXV0VGhlbWUuY29sb3JzO1xufVxuXG5jb25zdCBCYWNrZ3JvdW5kQ3VycmVudENvbnRleHQgPSBjcmVhdGVDb250ZXh0PEJhY2tncm91bmRDdXJyZW50Q29udGV4dEludGVyZmFjZT4oXG4gIHtcbiAgICAnYmFja2dyb3VuZC1jdXJyZW50JzogdW5kZWZpbmVkLFxuICB9XG4pO1xuXG5leHBvcnQgZnVuY3Rpb24gdXNlQ29sb3JNb2RlcygpOiBbXG4gIENvbG9yTW9kZXMsXG4gIENvbG9yTW9kZVNoYXBlLFxuICBDb2xvck1vZGVDb25maWcsXG4gIChjb2xvcjogQ29sb3JzKSA9PiBzdHJpbmdcbl0ge1xuICBjb25zdCBiZ0N1cnJlbnQgPSB1c2VDb250ZXh0KEJhY2tncm91bmRDdXJyZW50Q29udGV4dCk7XG4gIGNvbnN0IHsgbW9kZSwgbW9kZXMsIF9nZXRDb2xvclZhbHVlOiBnZXRDb2xvclZhbHVlIH0gPSB1c2VUaGVtZSgpIHx8IHt9O1xuICBjb25zdCBtb2Rlc0NvcHkgPSB7IC4uLm1vZGVzIH07XG5cbiAgaWYgKFxuICAgIGJnQ3VycmVudFsnYmFja2dyb3VuZC1jdXJyZW50J10gJiZcbiAgICBtb2Rlc0NvcHlbbW9kZV1bJ2JhY2tncm91bmQtY3VycmVudCddICE9PSBiZ0N1cnJlbnRbJ2JhY2tncm91bmQtY3VycmVudCddXG4gICkge1xuICAgIC8qIHNldHMgdGhlIGNvbG9yIHRvIHRoZSBjb3B5IG9mIG91ciBtb2RlcyBvYmplY3QsIGFuZCBjYXN0cyB0aGUgdHlwZSBhcyB0aGUgZGVmYXVsdCBjb2xvciB2YWx1ZXMgZm9yIGJhY2tncm91bmQtY3VycmVudC5cbiAgICB3ZSBjb3VsZCBwb3RlbnRpYWxseSBhbHRlciB0aGUgTWVyZ2UgdHlwZSB1dGlsaXR5IGZ1bmN0aW9uIGZyb20gY3JlYXRlVGhlbWUsIGJ1dCBzaW5jZSAnYmFja2dyb3VuZC1jdXJyZW50JyBpcyB0aGUgb25seSBleGNlcHRpb24gdG8gdGhlIHR5cGUtbWVyZ2luZyBydWxlICBhbmQgdGhpcyBpcyB0aGUgb25seSBwbGFjZSB3ZSBvdmVycmlkZSwgdGhpcyBzZWVtcyB0byBiZSBhIG1vcmUgc3RyYWlnaHRmb3J3YXJkICsgbG93ZXItcmlzayBzb2x1dGlvbi5cbiAgICAqL1xuXG4gICAgbW9kZXNDb3B5W21vZGVdWydiYWNrZ3JvdW5kLWN1cnJlbnQnXSA9IGJnQ3VycmVudFsnYmFja2dyb3VuZC1jdXJyZW50J10gYXNcbiAgICAgIHwgJ3doaXRlJ1xuICAgICAgfCAnbmF2eS04MDAnO1xuICB9XG5cbiAgcmV0dXJuIFttb2RlLCBtb2Rlc0NvcHk/Llttb2RlXSwgbW9kZXMsIGdldENvbG9yVmFsdWVdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdXNlQ3VycmVudE1vZGUobW9kZT86IENvbG9yTW9kZXMpIHtcbiAgY29uc3QgW2FjdGl2ZU1vZGVdID0gdXNlQ29sb3JNb2RlcygpO1xuICByZXR1cm4gbW9kZSA/PyBhY3RpdmVNb2RlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdXNlUHJlZmVyc0RhcmtNb2RlKCkge1xuICBjb25zdCBbcHJlZmVyc0RhcmtNb2RlLCBzZXRQcmVmZXJzRGFya01vZGVdID0gdXNlU3RhdGUoZmFsc2UpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZnVuY3Rpb24gb25DaGFuZ2UoZXZlbnQ6IE1lZGlhUXVlcnlMaXN0RXZlbnQpIHtcbiAgICAgIHNldFByZWZlcnNEYXJrTW9kZShldmVudC5tYXRjaGVzKTtcbiAgICB9XG5cbiAgICBpZiAod2luZG93ICYmICdtYXRjaE1lZGlhJyBpbiB3aW5kb3cpIHtcbiAgICAgIGNvbnN0IG1xID0gd2luZG93Lm1hdGNoTWVkaWEoJyhwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyayknKTtcblxuICAgICAgaWYgKG1xICYmICdhZGRFdmVudExpc3RlbmVyJyBpbiBtcSkge1xuICAgICAgICBzZXRQcmVmZXJzRGFya01vZGUobXEubWF0Y2hlcyk7XG4gICAgICAgIG1xLmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIG9uQ2hhbmdlKTtcblxuICAgICAgICByZXR1cm4gKCkgPT4gbXEucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgb25DaGFuZ2UpO1xuICAgICAgfVxuICAgIH1cbiAgfSwgW10pO1xuXG4gIHJldHVybiBwcmVmZXJzRGFya01vZGU7XG59XG5cbmV4cG9ydCBjb25zdCBWYXJpYWJsZVByb3ZpZGVyID0gc3R5bGVkKFxuICAnZGl2JyxcbiAgc3R5bGVkT3B0aW9ucyhbJ3ZhcmlhYmxlcycsICdhbHdheXNTZXRWYXJpYWJsZXMnXSlcbik8XG4gIFN0eWxlUHJvcHM8dHlwZW9mIHByb3ZpZGVyUHJvcHM+ICYge1xuICAgIHZhcmlhYmxlcz86IENTU09iamVjdDtcbiAgICBhbHdheXNTZXRWYXJpYWJsZXM/OiBib29sZWFuO1xuICB9XG4+KCh7IHZhcmlhYmxlcyB9KSA9PiB2YXJpYWJsZXMsIGNzcyh7IHRleHRDb2xvcjogJ3RleHQnIH0pLCBwcm92aWRlclByb3BzKTtcblxuZXhwb3J0IGNvbnN0IENvbG9yTW9kZSA9IGZvcndhcmRSZWY8XG4gIEhUTUxEaXZFbGVtZW50LFxuICBPbWl0PENvbXBvbmVudFByb3BzPHR5cGVvZiBWYXJpYWJsZVByb3ZpZGVyPiwgJ2JnJz4gJiBDb2xvck1vZGVQcm9wc1xuPigoeyBtb2RlOiBwcmVmZXJlbmNlLCBhbHdheXNTZXRWYXJpYWJsZXMsIGJnLCAuLi5yZXN0IH0sIHJlZikgPT4ge1xuICAvLyBjaGVja3MgaWYgdGhlIHVzZXIgaGFzIHNldCAnc3lzdGVtJyBhcyB0aGVpciBjb2xvciBtb2RlIHByZWZlcmVuY2VcbiAgLy8gdGhlbiBzZXRzIHRoZSBjb2xvciBtb2RlXG4gIGNvbnN0IHByZWZlcnNEYXJrTW9kZSA9IHVzZVByZWZlcnNEYXJrTW9kZSgpO1xuICBjb25zdCBtb2RlID1cbiAgICBwcmVmZXJlbmNlID09PSAnc3lzdGVtJyA/IChwcmVmZXJzRGFya01vZGUgPyAnZGFyaycgOiAnbGlnaHQnKSA6IHByZWZlcmVuY2U7XG5cbiAgY29uc3QgdGhlbWUgPSB1c2VUaGVtZSgpO1xuICBjb25zdCB7IG1vZGVzLCBtb2RlOiBhY3RpdmUsIGNvbG9ycyB9ID0gdGhlbWU7XG4gIGNvbnN0IGNvbnRleHRCZyA9IGJnID8gJ2JhY2tncm91bmQtY3VycmVudCcgOiB1bmRlZmluZWQ7XG4gIC8vIFRoaXMgbWFrZXMgc3VyZSB0aGUgYmFja2dyb3VuZC1jdXJyZW50IGNvbnRleHQgaXMgYWx3YXlzIHNldCB0byB0aGUgY29ycmVjdCBjb2xvciArIG5vdCB0aGUgc2VtYW50aWMgY29sb3IgbmFtZS5cbiAgY29uc3QgY3VycmVudFBhcmVudEJnID0gdXNlQ29udGV4dChCYWNrZ3JvdW5kQ3VycmVudENvbnRleHQpO1xuXG4gIGNvbnN0IGJnQ3VycmVudCA9XG4gICAgYmcgPT09ICdiYWNrZ3JvdW5kLWN1cnJlbnQnXG4gICAgICA/IGN1cnJlbnRQYXJlbnRCZ1snYmFja2dyb3VuZC1jdXJyZW50J11cbiAgICAgICAgPyBjdXJyZW50UGFyZW50QmdbJ2JhY2tncm91bmQtY3VycmVudCddXG4gICAgICAgIDogbW9kZXNbYWN0aXZlXVsnYmFja2dyb3VuZC1jdXJyZW50J11cbiAgICAgIDogYmc7XG5cbiAgLyoqIFNlcmlhbGl6ZSBjb2xvciB2YXJpYWJsZXMgZm9yIHRoZSBjdXJyZW50IG1vZGVcbiAgICogMS4gSWYgYWxsIHZhcmlhYmxlcyBhcmUgcmVxdWlyZWQgYWRkIGFsbCBtb2RlIHZhcmlhYmxlcyB0byB0aGUgY3VycmVudCBjb250ZXh0XG4gICAqIDIuIElmIHRoZSB1c2VyIGhhcyBzcGVjaWZpZWQgYSBiYWNrZ3JvdW5kIGNvbG9yIC0gc2V0IHRoYXQgY29sb3IgdG8gdGhlIGN1cnJlbnQtYmdcbiAgICogMy4gSWYgbm90XG4gICAqL1xuICBjb25zdCB7IHZhcmlhYmxlcyB9ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIHNlcmlhbGl6ZVRva2VucyhcbiAgICAgIG1hcFZhbHVlcyhtb2Rlc1ttb2RlXSwgKGNvbG9yLCBrZXkpID0+IHtcbiAgICAgICAgaWYgKGtleSA9PT0gJ2JhY2tncm91bmQtY3VycmVudCcgJiYgdHlwZW9mIGJnICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgIHJldHVybiBjb2xvcnNbYmddO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjb2xvcnNbY29sb3JdO1xuICAgICAgfSksXG4gICAgICAnY29sb3InLFxuICAgICAgdGhlbWVcbiAgICApO1xuICB9LCBbY29sb3JzLCBtb2RlLCBtb2RlcywgdGhlbWUsIGJnXSk7XG5cbiAgaWYgKGFjdGl2ZSA9PT0gbW9kZSkge1xuICAgIGNvbnN0IHZhcnMgPSBhbHdheXNTZXRWYXJpYWJsZXNcbiAgICAgID8gdmFyaWFibGVzXG4gICAgICA6IHBpY2sodmFyaWFibGVzLCBbJy0tY29sb3ItYmFja2dyb3VuZC1jdXJyZW50J10pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxCYWNrZ3JvdW5kQ3VycmVudENvbnRleHQuUHJvdmlkZXJcbiAgICAgICAgdmFsdWU9e3sgJ2JhY2tncm91bmQtY3VycmVudCc6IGJnQ3VycmVudCB9fVxuICAgICAgPlxuICAgICAgICA8VmFyaWFibGVQcm92aWRlciB7Li4ucmVzdH0gdmFyaWFibGVzPXt2YXJzfSBiZz17Y29udGV4dEJnfSByZWY9e3JlZn0gLz5cbiAgICAgIDwvQmFja2dyb3VuZEN1cnJlbnRDb250ZXh0LlByb3ZpZGVyPlxuICAgICk7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxUaGVtZVByb3ZpZGVyIHRoZW1lPXt7IG1vZGUgfX0+XG4gICAgICA8VmFyaWFibGVQcm92aWRlclxuICAgICAgICB7Li4ucmVzdH1cbiAgICAgICAgdmFyaWFibGVzPXt2YXJpYWJsZXN9XG4gICAgICAgIGJnPXtjb250ZXh0Qmd9XG4gICAgICAgIHJlZj17cmVmfVxuICAgICAgLz5cbiAgICA8L1RoZW1lUHJvdmlkZXI+XG4gICk7XG59KTtcbiJdfQ== */");
|
|
91
|
-
export
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
77
|
+
export const ColorMode = /*#__PURE__*/forwardRef((_ref3, ref) => {
|
|
78
|
+
let {
|
|
79
|
+
mode: preference,
|
|
80
|
+
alwaysSetVariables,
|
|
81
|
+
bg,
|
|
82
|
+
...rest
|
|
83
|
+
} = _ref3;
|
|
96
84
|
// checks if the user has set 'system' as their color mode preference
|
|
97
85
|
// then sets the color mode
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
86
|
+
const prefersDarkMode = usePrefersDarkMode();
|
|
87
|
+
const mode = preference === 'system' ? prefersDarkMode ? 'dark' : 'light' : preference;
|
|
88
|
+
const theme = useTheme();
|
|
89
|
+
const {
|
|
90
|
+
modes,
|
|
91
|
+
mode: active,
|
|
92
|
+
colors
|
|
93
|
+
} = theme;
|
|
94
|
+
const contextBg = bg ? 'background-current' : undefined;
|
|
105
95
|
// This makes sure the background-current context is always set to the correct color + not the semantic color name.
|
|
106
|
-
|
|
107
|
-
|
|
96
|
+
const currentParentBg = useContext(BackgroundCurrentContext);
|
|
97
|
+
const bgCurrent = bg === 'background-current' ? currentParentBg['background-current'] ? currentParentBg['background-current'] : modes[active]['background-current'] : bg;
|
|
108
98
|
|
|
109
99
|
/** Serialize color variables for the current mode
|
|
110
100
|
* 1. If all variables are required add all mode variables to the current context
|
|
111
101
|
* 2. If the user has specified a background color - set that color to the current-bg
|
|
112
102
|
* 3. If not
|
|
113
103
|
*/
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
return colors[
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
|
|
104
|
+
const {
|
|
105
|
+
variables
|
|
106
|
+
} = useMemo(() => {
|
|
107
|
+
return serializeTokens(mapValues(modes[mode], (color, key) => {
|
|
108
|
+
if (key === 'background-current' && typeof bg !== 'undefined') {
|
|
109
|
+
return colors[bg];
|
|
110
|
+
}
|
|
111
|
+
return colors[color];
|
|
112
|
+
}), 'color', theme);
|
|
113
|
+
}, [colors, mode, modes, theme, bg]);
|
|
123
114
|
if (active === mode) {
|
|
124
|
-
|
|
115
|
+
const vars = alwaysSetVariables ? variables : pick(variables, ['--color-background-current']);
|
|
125
116
|
return /*#__PURE__*/_jsx(BackgroundCurrentContext.Provider, {
|
|
126
117
|
value: {
|
|
127
118
|
'background-current': bgCurrent
|
|
128
119
|
},
|
|
129
|
-
children: /*#__PURE__*/_jsx(VariableProvider,
|
|
120
|
+
children: /*#__PURE__*/_jsx(VariableProvider, {
|
|
121
|
+
...rest,
|
|
130
122
|
variables: vars,
|
|
131
123
|
bg: contextBg,
|
|
132
124
|
ref: ref
|
|
133
|
-
})
|
|
125
|
+
})
|
|
134
126
|
});
|
|
135
127
|
}
|
|
136
128
|
return /*#__PURE__*/_jsx(ThemeProvider, {
|
|
137
129
|
theme: {
|
|
138
|
-
mode
|
|
130
|
+
mode
|
|
139
131
|
},
|
|
140
|
-
children: /*#__PURE__*/_jsx(VariableProvider,
|
|
132
|
+
children: /*#__PURE__*/_jsx(VariableProvider, {
|
|
133
|
+
...rest,
|
|
141
134
|
variables: variables,
|
|
142
135
|
bg: contextBg,
|
|
143
136
|
ref: ref
|
|
144
|
-
})
|
|
137
|
+
})
|
|
145
138
|
});
|
|
146
139
|
});
|
package/dist/GamutProvider.js
CHANGED
|
@@ -5,37 +5,35 @@ import { createEmotionCache } from './cache';
|
|
|
5
5
|
import { Reboot, Typography } from './globals';
|
|
6
6
|
import { Variables } from './globals/Variables';
|
|
7
7
|
import { coreTheme } from './themes/core';
|
|
8
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
9
|
-
|
|
10
|
-
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
|
-
export var GamutContext = /*#__PURE__*/React.createContext({
|
|
8
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
9
|
+
export const GamutContext = /*#__PURE__*/React.createContext({
|
|
12
10
|
hasGlobals: false,
|
|
13
11
|
hasCache: false
|
|
14
12
|
});
|
|
15
13
|
GamutContext.displayName = 'GamutContext';
|
|
16
|
-
export
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
theme =
|
|
21
|
-
variables
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
14
|
+
export const GamutProvider = _ref => {
|
|
15
|
+
let {
|
|
16
|
+
children,
|
|
17
|
+
cache,
|
|
18
|
+
theme = coreTheme,
|
|
19
|
+
variables,
|
|
20
|
+
useGlobals = true,
|
|
21
|
+
useCache = true
|
|
22
|
+
} = _ref;
|
|
23
|
+
const {
|
|
24
|
+
hasGlobals,
|
|
25
|
+
hasCache
|
|
26
|
+
} = useContext(GamutContext);
|
|
27
|
+
const shouldCreateCache = useCache && !hasCache;
|
|
28
|
+
const shouldInsertGlobals = useGlobals && !hasGlobals;
|
|
31
29
|
|
|
32
30
|
// Do not initialize a new cache if one has been provided as props
|
|
33
|
-
|
|
34
|
-
|
|
31
|
+
const activeCache = useRef(shouldCreateCache && (cache ?? createEmotionCache()));
|
|
32
|
+
const contextValue = {
|
|
35
33
|
hasGlobals: shouldInsertGlobals,
|
|
36
34
|
hasCache: shouldCreateCache
|
|
37
35
|
};
|
|
38
|
-
|
|
36
|
+
const globals = shouldInsertGlobals && /*#__PURE__*/_jsxs(_Fragment, {
|
|
39
37
|
children: [/*#__PURE__*/_jsx(Typography, {}), /*#__PURE__*/_jsx(Reboot, {}), /*#__PURE__*/_jsx(Variables, {
|
|
40
38
|
variables: theme._variables
|
|
41
39
|
}), variables && /*#__PURE__*/_jsx(Variables, {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { Options } from '@emotion/cache';
|
|
2
2
|
export declare const EMOTION_KEY = "gamut";
|
|
3
3
|
export declare const EMOTION_CONTAINER = "emotion-styles";
|
|
4
|
-
export declare const createEmotionCache: (overrides?: Partial<Options>) => import("@emotion/
|
|
4
|
+
export declare const createEmotionCache: (overrides?: Partial<Options>) => import("@emotion/utils").EmotionCache;
|
|
@@ -1,25 +1,13 @@
|
|
|
1
|
-
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
2
|
-
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
3
|
-
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
4
|
-
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
5
|
-
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
6
|
-
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
7
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
8
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
9
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
10
|
-
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
11
|
-
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
12
|
-
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
13
1
|
import createCache from '@emotion/cache';
|
|
14
2
|
import { prefixer } from 'stylis';
|
|
15
3
|
import { focusVisible } from './stylisPlugins';
|
|
16
|
-
export
|
|
17
|
-
export
|
|
18
|
-
|
|
4
|
+
export const EMOTION_KEY = 'gamut';
|
|
5
|
+
export const EMOTION_CONTAINER = 'emotion-styles';
|
|
6
|
+
const getEmotionNode = () => {
|
|
19
7
|
if (typeof document === 'undefined') {
|
|
20
8
|
return;
|
|
21
9
|
}
|
|
22
|
-
|
|
10
|
+
let node = document.getElementById(EMOTION_CONTAINER);
|
|
23
11
|
if (node) return node;
|
|
24
12
|
node = document.createElement('div');
|
|
25
13
|
node.setAttribute('id', EMOTION_CONTAINER);
|
|
@@ -28,13 +16,10 @@ var getEmotionNode = function getEmotionNode() {
|
|
|
28
16
|
document.getElementsByTagName('body')[0].prepend(node);
|
|
29
17
|
return node;
|
|
30
18
|
};
|
|
31
|
-
export
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
stylisPlugins: [].concat(_toConsumableArray((_overrides$stylisPlug = overrides === null || overrides === void 0 ? void 0 : overrides.stylisPlugins) !== null && _overrides$stylisPlug !== void 0 ? _overrides$stylisPlug : []), [focusVisible, prefixer])
|
|
39
|
-
}));
|
|
40
|
-
};
|
|
19
|
+
export const createEmotionCache = overrides => createCache({
|
|
20
|
+
key: EMOTION_KEY,
|
|
21
|
+
speedy: process.env.NODE_ENV !== 'development',
|
|
22
|
+
container: overrides?.container ?? getEmotionNode(),
|
|
23
|
+
...overrides,
|
|
24
|
+
stylisPlugins: [...(overrides?.stylisPlugins ?? []), focusVisible, prefixer]
|
|
25
|
+
});
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export
|
|
1
|
+
export const focusVisible = element => {
|
|
2
2
|
if (element.type === 'rule' && element.value.includes(':focus-visible')) {
|
|
3
3
|
if (typeof element.props === 'string') element.props = [element.props];
|
|
4
|
-
element.props = element.props.map(
|
|
5
|
-
|
|
6
|
-
return
|
|
4
|
+
element.props = element.props.map(prop => {
|
|
5
|
+
const poly = prop.replace(/:focus-visible/g, '[data-focus-visible-added]');
|
|
6
|
+
return `${prop}, ${poly}`;
|
|
7
7
|
});
|
|
8
8
|
}
|
|
9
9
|
return undefined;
|