@mui/system 6.0.0-alpha.0 → 6.0.0-alpha.10
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 +591 -6
- package/Container/Container.d.ts +1 -1
- package/Container/createContainer.js +39 -35
- package/RtlProvider/index.js +8 -11
- package/Stack/Stack.d.ts +1 -1
- package/Stack/createStack.d.ts +1 -1
- package/Stack/createStack.js +24 -26
- package/ThemeProvider/ThemeProvider.js +9 -5
- package/Unstable_Grid/Grid.d.ts +1 -1
- package/Unstable_Grid/createGrid.d.ts +1 -1
- package/Unstable_Grid/createGrid.js +21 -23
- package/Unstable_Grid/gridGenerator.js +20 -17
- package/breakpoints/breakpoints.js +26 -7
- package/createBox/createBox.js +9 -12
- package/createStyled/createStyled.js +56 -51
- package/createTheme/applyStyles.d.ts +1 -1
- package/createTheme/applyStyles.js +1 -1
- package/createTheme/createBreakpoints.js +24 -25
- package/createTheme/createSpacing.d.ts +2 -2
- package/createTheme/createSpacing.js +7 -8
- package/createTheme/createTheme.d.ts +2 -1
- package/createTheme/createTheme.js +20 -14
- package/cssContainerQueries/cssContainerQueries.d.ts +24 -0
- package/cssContainerQueries/cssContainerQueries.js +70 -0
- package/cssContainerQueries/index.d.ts +3 -0
- package/cssContainerQueries/index.js +2 -0
- package/cssContainerQueries/package.json +6 -0
- package/cssVars/createCssVarsProvider.d.ts +1 -1
- package/cssVars/createCssVarsProvider.js +20 -16
- package/cssVars/createCssVarsTheme.js +3 -3
- package/cssVars/cssVarsParser.d.ts +1 -1
- package/cssVars/cssVarsParser.js +3 -2
- package/cssVars/index.d.ts +2 -0
- package/cssVars/index.js +1 -0
- package/cssVars/prepareCssVars.js +30 -25
- package/cssVars/prepareTypographyVars.d.ts +8 -0
- package/cssVars/prepareTypographyVars.js +11 -0
- package/cssVars/useCurrentColorScheme.js +18 -11
- package/index.d.ts +2 -0
- package/index.js +2 -1
- package/modern/Container/createContainer.js +39 -35
- package/modern/RtlProvider/index.js +8 -11
- package/modern/Stack/createStack.js +24 -26
- package/modern/ThemeProvider/ThemeProvider.js +9 -5
- package/modern/Unstable_Grid/createGrid.js +21 -23
- package/modern/Unstable_Grid/gridGenerator.js +20 -17
- package/modern/breakpoints/breakpoints.js +26 -7
- package/modern/createBox/createBox.js +9 -12
- package/modern/createStyled/createStyled.js +56 -51
- package/modern/createTheme/applyStyles.js +1 -1
- package/modern/createTheme/createBreakpoints.js +24 -25
- package/modern/createTheme/createSpacing.js +7 -8
- package/modern/createTheme/createTheme.js +20 -14
- package/modern/cssContainerQueries/cssContainerQueries.js +70 -0
- package/modern/cssContainerQueries/index.js +2 -0
- package/modern/cssVars/createCssVarsProvider.js +20 -16
- package/modern/cssVars/createCssVarsTheme.js +3 -3
- package/modern/cssVars/cssVarsParser.js +3 -2
- package/modern/cssVars/index.js +1 -0
- package/modern/cssVars/prepareCssVars.js +30 -25
- package/modern/cssVars/prepareTypographyVars.js +11 -0
- package/modern/cssVars/useCurrentColorScheme.js +18 -11
- package/modern/index.js +2 -1
- package/modern/propsToClassKey/propsToClassKey.js +3 -5
- package/modern/spacing/spacing.js +24 -21
- package/modern/styleFunctionSx/defaultSxConfig.js +3 -0
- package/modern/styleFunctionSx/extendSxProp.js +14 -10
- package/modern/styleFunctionSx/styleFunctionSx.js +2 -1
- package/node/Container/createContainer.js +39 -35
- package/node/RtlProvider/index.js +8 -11
- package/node/Stack/createStack.js +24 -26
- package/node/ThemeProvider/ThemeProvider.js +9 -5
- package/node/Unstable_Grid/createGrid.js +23 -25
- package/node/Unstable_Grid/gridGenerator.js +20 -18
- package/node/breakpoints/breakpoints.js +26 -7
- package/node/createBox/createBox.js +9 -12
- package/node/createStyled/createStyled.js +58 -52
- package/node/createTheme/applyStyles.js +1 -1
- package/node/createTheme/createBreakpoints.js +24 -26
- package/node/createTheme/createSpacing.js +7 -8
- package/node/createTheme/createTheme.js +20 -14
- package/node/cssContainerQueries/cssContainerQueries.js +81 -0
- package/node/cssContainerQueries/index.js +32 -0
- package/node/cssVars/createCssVarsProvider.js +20 -16
- package/node/cssVars/createCssVarsTheme.js +3 -3
- package/node/cssVars/cssVarsParser.js +3 -2
- package/node/cssVars/index.js +7 -0
- package/node/cssVars/prepareCssVars.js +30 -25
- package/node/cssVars/prepareTypographyVars.js +17 -0
- package/node/cssVars/useCurrentColorScheme.js +18 -12
- package/node/index.js +9 -1
- package/node/propsToClassKey/propsToClassKey.js +3 -5
- package/node/spacing/spacing.js +24 -21
- package/node/styleFunctionSx/defaultSxConfig.js +3 -0
- package/node/styleFunctionSx/extendSxProp.js +14 -10
- package/node/styleFunctionSx/styleFunctionSx.js +2 -1
- package/package.json +6 -6
- package/propsToClassKey/propsToClassKey.js +3 -5
- package/spacing/spacing.js +24 -21
- package/styleFunctionSx/defaultSxConfig.js +3 -0
- package/styleFunctionSx/extendSxProp.js +14 -10
- package/styleFunctionSx/styleFunctionSx.js +2 -1
- package/legacy/Box/Box.js +0 -30
- package/legacy/Box/boxClasses.js +0 -3
- package/legacy/Box/index.js +0 -5
- package/legacy/Container/Container.js +0 -61
- package/legacy/Container/ContainerProps.js +0 -1
- package/legacy/Container/containerClasses.js +0 -7
- package/legacy/Container/createContainer.js +0 -140
- package/legacy/Container/index.js +0 -5
- package/legacy/GlobalStyles/GlobalStyles.js +0 -37
- package/legacy/GlobalStyles/index.js +0 -4
- package/legacy/RtlProvider/index.js +0 -22
- package/legacy/Stack/Stack.js +0 -62
- package/legacy/Stack/StackProps.js +0 -1
- package/legacy/Stack/createStack.js +0 -180
- package/legacy/Stack/index.js +0 -7
- package/legacy/Stack/stackClasses.js +0 -7
- package/legacy/ThemeProvider/ThemeProvider.js +0 -87
- package/legacy/ThemeProvider/index.js +0 -3
- package/legacy/Unstable_Grid/Grid.js +0 -177
- package/legacy/Unstable_Grid/GridProps.js +0 -1
- package/legacy/Unstable_Grid/createGrid.js +0 -184
- package/legacy/Unstable_Grid/gridClasses.js +0 -28
- package/legacy/Unstable_Grid/gridGenerator.js +0 -216
- package/legacy/Unstable_Grid/index.js +0 -8
- package/legacy/Unstable_Grid/traverseBreakpoints.js +0 -48
- package/legacy/borders/borders.js +0 -51
- package/legacy/borders/index.js +0 -4
- package/legacy/breakpoints/breakpoints.js +0 -162
- package/legacy/breakpoints/index.js +0 -4
- package/legacy/colorManipulator/colorManipulator.js +0 -356
- package/legacy/colorManipulator/index.js +0 -3
- package/legacy/compose/compose.js +0 -32
- package/legacy/compose/index.js +0 -3
- package/legacy/createBox/createBox.js +0 -38
- package/legacy/createBox/index.js +0 -3
- package/legacy/createStyled/createStyled.js +0 -250
- package/legacy/createStyled/index.js +0 -4
- package/legacy/createTheme/applyStyles.js +0 -73
- package/legacy/createTheme/createBreakpoints.js +0 -83
- package/legacy/createTheme/createSpacing.js +0 -36
- package/legacy/createTheme/createTheme.js +0 -49
- package/legacy/createTheme/index.js +0 -3
- package/legacy/createTheme/shape.js +0 -4
- package/legacy/cssGrid/cssGrid.js +0 -91
- package/legacy/cssGrid/index.js +0 -4
- package/legacy/cssVars/createCssVarsProvider.js +0 -335
- package/legacy/cssVars/createCssVarsTheme.js +0 -13
- package/legacy/cssVars/createGetCssVar.js +0 -30
- package/legacy/cssVars/cssVarsParser.js +0 -140
- package/legacy/cssVars/getInitColorSchemeScript.js +0 -28
- package/legacy/cssVars/index.js +0 -6
- package/legacy/cssVars/prepareCssVars.js +0 -92
- package/legacy/cssVars/useCurrentColorScheme.js +0 -237
- package/legacy/display/display.js +0 -29
- package/legacy/display/index.js +0 -4
- package/legacy/flexbox/flexbox.js +0 -43
- package/legacy/flexbox/index.js +0 -4
- package/legacy/getThemeValue/getThemeValue.js +0 -47
- package/legacy/getThemeValue/index.js +0 -4
- package/legacy/index.js +0 -72
- package/legacy/memoize/index.js +0 -3
- package/legacy/memoize/memoize.js +0 -9
- package/legacy/merge/index.js +0 -3
- package/legacy/merge/merge.js +0 -10
- package/legacy/palette/index.js +0 -4
- package/legacy/palette/palette.js +0 -26
- package/legacy/positions/index.js +0 -4
- package/legacy/positions/positions.js +0 -22
- package/legacy/propsToClassKey/index.js +0 -3
- package/legacy/propsToClassKey/propsToClassKey.js +0 -24
- package/legacy/responsivePropType/index.js +0 -3
- package/legacy/responsivePropType/responsivePropType.js +0 -3
- package/legacy/shadows/index.js +0 -3
- package/legacy/shadows/shadows.js +0 -6
- package/legacy/sizing/index.js +0 -4
- package/legacy/sizing/sizing.js +0 -65
- package/legacy/spacing/index.js +0 -4
- package/legacy/spacing/spacing.js +0 -158
- package/legacy/style/index.js +0 -4
- package/legacy/style/style.js +0 -73
- package/legacy/styleFunctionSx/defaultSxConfig.js +0 -293
- package/legacy/styleFunctionSx/extendSxProp.js +0 -45
- package/legacy/styleFunctionSx/index.js +0 -4
- package/legacy/styleFunctionSx/styleFunctionSx.js +0 -126
- package/legacy/styled/index.js +0 -3
- package/legacy/styled/styled.js +0 -3
- package/legacy/typography/index.js +0 -4
- package/legacy/typography/typography.js +0 -37
- package/legacy/useMediaQuery/index.js +0 -2
- package/legacy/useMediaQuery/useMediaQuery.js +0 -145
- package/legacy/useTheme/index.js +0 -4
- package/legacy/useTheme/useTheme.js +0 -10
- package/legacy/useThemeProps/getThemeProps.js +0 -10
- package/legacy/useThemeProps/index.js +0 -4
- package/legacy/useThemeProps/useThemeProps.js +0 -20
- package/legacy/useThemeWithoutDefault/index.js +0 -3
- package/legacy/useThemeWithoutDefault/useThemeWithoutDefault.js +0 -13
|
@@ -5,24 +5,22 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.default = void 0;
|
|
8
|
-
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
|
-
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
10
8
|
var _deepmerge = _interopRequireDefault(require("@mui/utils/deepmerge"));
|
|
11
9
|
var _createBreakpoints = _interopRequireDefault(require("./createBreakpoints"));
|
|
10
|
+
var _cssContainerQueries = _interopRequireDefault(require("../cssContainerQueries"));
|
|
12
11
|
var _shape = _interopRequireDefault(require("./shape"));
|
|
13
12
|
var _createSpacing = _interopRequireDefault(require("./createSpacing"));
|
|
14
13
|
var _styleFunctionSx = _interopRequireDefault(require("../styleFunctionSx/styleFunctionSx"));
|
|
15
14
|
var _defaultSxConfig = _interopRequireDefault(require("../styleFunctionSx/defaultSxConfig"));
|
|
16
15
|
var _applyStyles = _interopRequireDefault(require("./applyStyles"));
|
|
17
|
-
const _excluded = ["breakpoints", "palette", "spacing", "shape"];
|
|
18
16
|
function createTheme(options = {}, ...args) {
|
|
19
17
|
const {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
18
|
+
breakpoints: breakpointsInput = {},
|
|
19
|
+
palette: paletteInput = {},
|
|
20
|
+
spacing: spacingInput,
|
|
21
|
+
shape: shapeInput = {},
|
|
22
|
+
...other
|
|
23
|
+
} = options;
|
|
26
24
|
const breakpoints = (0, _createBreakpoints.default)(breakpointsInput);
|
|
27
25
|
const spacing = (0, _createSpacing.default)(spacingInput);
|
|
28
26
|
let muiTheme = (0, _deepmerge.default)({
|
|
@@ -30,15 +28,23 @@ function createTheme(options = {}, ...args) {
|
|
|
30
28
|
direction: 'ltr',
|
|
31
29
|
components: {},
|
|
32
30
|
// Inject component definitions.
|
|
33
|
-
palette:
|
|
34
|
-
mode: 'light'
|
|
35
|
-
|
|
31
|
+
palette: {
|
|
32
|
+
mode: 'light',
|
|
33
|
+
...paletteInput
|
|
34
|
+
},
|
|
36
35
|
spacing,
|
|
37
|
-
shape:
|
|
36
|
+
shape: {
|
|
37
|
+
..._shape.default,
|
|
38
|
+
...shapeInput
|
|
39
|
+
}
|
|
38
40
|
}, other);
|
|
41
|
+
muiTheme = (0, _cssContainerQueries.default)(muiTheme);
|
|
39
42
|
muiTheme.applyStyles = _applyStyles.default;
|
|
40
43
|
muiTheme = args.reduce((acc, argument) => (0, _deepmerge.default)(acc, argument), muiTheme);
|
|
41
|
-
muiTheme.unstable_sxConfig =
|
|
44
|
+
muiTheme.unstable_sxConfig = {
|
|
45
|
+
..._defaultSxConfig.default,
|
|
46
|
+
...(other == null ? void 0 : other.unstable_sxConfig)
|
|
47
|
+
};
|
|
42
48
|
muiTheme.unstable_sx = function sx(props) {
|
|
43
49
|
return (0, _styleFunctionSx.default)({
|
|
44
50
|
sx: props,
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = cssContainerQueries;
|
|
8
|
+
exports.getContainerQuery = getContainerQuery;
|
|
9
|
+
exports.isCqShorthand = isCqShorthand;
|
|
10
|
+
exports.sortContainerQueries = sortContainerQueries;
|
|
11
|
+
var _formatMuiErrorMessage2 = _interopRequireDefault(require("@mui/utils/formatMuiErrorMessage"));
|
|
12
|
+
/**
|
|
13
|
+
* For using in `sx` prop to sort the breakpoint from low to high.
|
|
14
|
+
* Note: this function does not work and will not support multiple units.
|
|
15
|
+
* e.g. input: { '@container (min-width:300px)': '1rem', '@container (min-width:40rem)': '2rem' }
|
|
16
|
+
* output: { '@container (min-width:40rem)': '2rem', '@container (min-width:300px)': '1rem' } // since 40 < 300 eventhough 40rem > 300px
|
|
17
|
+
*/
|
|
18
|
+
function sortContainerQueries(theme, css) {
|
|
19
|
+
if (!theme.containerQueries) {
|
|
20
|
+
return css;
|
|
21
|
+
}
|
|
22
|
+
const sorted = Object.keys(css).filter(key => key.startsWith('@container')).sort((a, b) => {
|
|
23
|
+
var _a$match, _b$match;
|
|
24
|
+
const regex = /min-width:\s*([0-9.]+)/;
|
|
25
|
+
return +(((_a$match = a.match(regex)) == null ? void 0 : _a$match[1]) || 0) - +(((_b$match = b.match(regex)) == null ? void 0 : _b$match[1]) || 0);
|
|
26
|
+
});
|
|
27
|
+
if (!sorted.length) {
|
|
28
|
+
return css;
|
|
29
|
+
}
|
|
30
|
+
return sorted.reduce((acc, key) => {
|
|
31
|
+
const value = css[key];
|
|
32
|
+
delete acc[key];
|
|
33
|
+
acc[key] = value;
|
|
34
|
+
return acc;
|
|
35
|
+
}, {
|
|
36
|
+
...css
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
function isCqShorthand(breakpointKeys, value) {
|
|
40
|
+
return value.startsWith('@') && (breakpointKeys.some(key => value.startsWith(`@${key}`)) || !!value.match(/^@\d/));
|
|
41
|
+
}
|
|
42
|
+
function getContainerQuery(theme, shorthand) {
|
|
43
|
+
const matches = shorthand.match(/^@([^/]+)\/?(.+)?$/);
|
|
44
|
+
if (!matches) {
|
|
45
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
46
|
+
throw new Error(process.env.NODE_ENV !== "production" ? `MUI: The provided shorthand ${`(${shorthand})`} is invalid. The format should be \`@<breakpoint | number>\` or \`@<breakpoint | number>/<container>\`.
|
|
47
|
+
For example, \`@sm\` or \`@600\` or \`@40rem/sidebar\`.` : (0, _formatMuiErrorMessage2.default)(21, `(${shorthand})`));
|
|
48
|
+
}
|
|
49
|
+
return null;
|
|
50
|
+
}
|
|
51
|
+
const [, containerQuery, containerName] = matches;
|
|
52
|
+
const value = Number.isNaN(+containerQuery) ? containerQuery : +containerQuery;
|
|
53
|
+
return theme.containerQueries(containerName).up(value);
|
|
54
|
+
}
|
|
55
|
+
function cssContainerQueries(themeInput) {
|
|
56
|
+
const toContainerQuery = (mediaQuery, name) => mediaQuery.replace('@media', name ? `@container ${name}` : '@container');
|
|
57
|
+
function attachCq(node, name) {
|
|
58
|
+
node.up = (...args) => toContainerQuery(themeInput.breakpoints.up(...args), name);
|
|
59
|
+
node.down = (...args) => toContainerQuery(themeInput.breakpoints.down(...args), name);
|
|
60
|
+
node.between = (...args) => toContainerQuery(themeInput.breakpoints.between(...args), name);
|
|
61
|
+
node.only = (...args) => toContainerQuery(themeInput.breakpoints.only(...args), name);
|
|
62
|
+
node.not = (...args) => {
|
|
63
|
+
const result = toContainerQuery(themeInput.breakpoints.not(...args), name);
|
|
64
|
+
if (result.includes('not all and')) {
|
|
65
|
+
// `@container` does not work with `not all and`, so need to invert the logic
|
|
66
|
+
return result.replace('not all and ', '').replace('min-width:', 'width<').replace('max-width:', 'width>');
|
|
67
|
+
}
|
|
68
|
+
return result;
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
const node = {};
|
|
72
|
+
const containerQueries = name => {
|
|
73
|
+
attachCq(node, name);
|
|
74
|
+
return node;
|
|
75
|
+
};
|
|
76
|
+
attachCq(containerQueries);
|
|
77
|
+
return {
|
|
78
|
+
...themeInput,
|
|
79
|
+
containerQueries
|
|
80
|
+
};
|
|
81
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "default", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _cssContainerQueries.default;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "getContainerQuery", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function () {
|
|
15
|
+
return _cssContainerQueries.getContainerQuery;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
Object.defineProperty(exports, "isCqShorthand", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function () {
|
|
21
|
+
return _cssContainerQueries.isCqShorthand;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
Object.defineProperty(exports, "sortContainerQueries", {
|
|
25
|
+
enumerable: true,
|
|
26
|
+
get: function () {
|
|
27
|
+
return _cssContainerQueries.sortContainerQueries;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
var _cssContainerQueries = _interopRequireWildcard(require("./cssContainerQueries"));
|
|
31
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
32
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
@@ -6,8 +6,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.DISABLE_CSS_TRANSITION = void 0;
|
|
8
8
|
exports.default = createCssVarsProvider;
|
|
9
|
-
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
|
-
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
11
9
|
var _formatMuiErrorMessage2 = _interopRequireDefault(require("@mui/utils/formatMuiErrorMessage"));
|
|
12
10
|
var React = _interopRequireWildcard(require("react"));
|
|
13
11
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
@@ -17,7 +15,6 @@ var _ThemeProvider = _interopRequireDefault(require("../ThemeProvider"));
|
|
|
17
15
|
var _getInitColorSchemeScript = _interopRequireWildcard(require("./getInitColorSchemeScript"));
|
|
18
16
|
var _useCurrentColorScheme = _interopRequireDefault(require("./useCurrentColorScheme"));
|
|
19
17
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
20
|
-
const _excluded = ["colorSchemes", "components", "cssVarPrefix"];
|
|
21
18
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
22
19
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
23
20
|
const DISABLE_CSS_TRANSITION = exports.DISABLE_CSS_TRANSITION = '*{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}';
|
|
@@ -76,13 +73,12 @@ function createCssVarsProvider(options) {
|
|
|
76
73
|
const ctx = React.useContext(ColorSchemeContext);
|
|
77
74
|
const nested = !!ctx && !disableNestedContext;
|
|
78
75
|
const scopedTheme = themeProp[themeId];
|
|
79
|
-
const
|
|
80
|
-
{
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
restThemeProp = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);
|
|
76
|
+
const {
|
|
77
|
+
colorSchemes = {},
|
|
78
|
+
components = {},
|
|
79
|
+
cssVarPrefix,
|
|
80
|
+
...restThemeProp
|
|
81
|
+
} = scopedTheme || themeProp;
|
|
86
82
|
const allColorSchemes = Object.keys(colorSchemes);
|
|
87
83
|
const defaultLightColorScheme = typeof defaultColorScheme === 'string' ? defaultColorScheme : defaultColorScheme.light;
|
|
88
84
|
const defaultDarkColorScheme = typeof defaultColorScheme === 'string' ? defaultColorScheme : defaultColorScheme.dark;
|
|
@@ -137,12 +133,16 @@ function createCssVarsProvider(options) {
|
|
|
137
133
|
const themeVars = ((_restThemeProp$genera = restThemeProp.generateThemeVars) == null ? void 0 : _restThemeProp$genera.call(restThemeProp)) || restThemeProp.vars;
|
|
138
134
|
|
|
139
135
|
// 3. Start composing the theme object
|
|
140
|
-
const theme =
|
|
136
|
+
const theme = {
|
|
137
|
+
...restThemeProp,
|
|
141
138
|
components,
|
|
142
139
|
colorSchemes,
|
|
143
140
|
cssVarPrefix,
|
|
144
141
|
vars: themeVars
|
|
145
|
-
}
|
|
142
|
+
};
|
|
143
|
+
if (typeof theme.generateSpacing === 'function') {
|
|
144
|
+
theme.spacing = theme.generateSpacing();
|
|
145
|
+
}
|
|
146
146
|
|
|
147
147
|
// 4. Resolve the color scheme and merge it to the theme
|
|
148
148
|
Object.entries(colorSchemes).forEach(([key, scheme]) => {
|
|
@@ -151,7 +151,10 @@ function createCssVarsProvider(options) {
|
|
|
151
151
|
Object.keys(scheme).forEach(schemeKey => {
|
|
152
152
|
if (scheme[schemeKey] && typeof scheme[schemeKey] === 'object') {
|
|
153
153
|
// shallow merge the 1st level structure of the theme.
|
|
154
|
-
theme[schemeKey] =
|
|
154
|
+
theme[schemeKey] = {
|
|
155
|
+
...theme[schemeKey],
|
|
156
|
+
...scheme[schemeKey]
|
|
157
|
+
};
|
|
155
158
|
} else {
|
|
156
159
|
theme[schemeKey] = scheme[schemeKey];
|
|
157
160
|
}
|
|
@@ -307,14 +310,15 @@ function createCssVarsProvider(options) {
|
|
|
307
310
|
} : void 0;
|
|
308
311
|
const defaultLightColorScheme = typeof designSystemColorScheme === 'string' ? designSystemColorScheme : designSystemColorScheme.light;
|
|
309
312
|
const defaultDarkColorScheme = typeof designSystemColorScheme === 'string' ? designSystemColorScheme : designSystemColorScheme.dark;
|
|
310
|
-
const getInitColorSchemeScript = params => (0, _getInitColorSchemeScript.default)(
|
|
313
|
+
const getInitColorSchemeScript = params => (0, _getInitColorSchemeScript.default)({
|
|
311
314
|
attribute: defaultAttribute,
|
|
312
315
|
colorSchemeStorageKey: defaultColorSchemeStorageKey,
|
|
313
316
|
defaultMode: designSystemMode,
|
|
314
317
|
defaultLightColorScheme,
|
|
315
318
|
defaultDarkColorScheme,
|
|
316
|
-
modeStorageKey: defaultModeStorageKey
|
|
317
|
-
|
|
319
|
+
modeStorageKey: defaultModeStorageKey,
|
|
320
|
+
...params
|
|
321
|
+
});
|
|
318
322
|
return {
|
|
319
323
|
CssVarsProvider,
|
|
320
324
|
useColorScheme,
|
|
@@ -5,13 +5,13 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.default = void 0;
|
|
8
|
-
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
8
|
var _prepareCssVars = _interopRequireDefault(require("./prepareCssVars"));
|
|
10
9
|
function createCssVarsTheme(theme) {
|
|
11
10
|
const output = theme;
|
|
12
|
-
const result = (0, _prepareCssVars.default)(output,
|
|
11
|
+
const result = (0, _prepareCssVars.default)(output, {
|
|
12
|
+
...theme,
|
|
13
13
|
prefix: theme.cssVarPrefix
|
|
14
|
-
})
|
|
14
|
+
});
|
|
15
15
|
output.vars = result.vars;
|
|
16
16
|
output.generateThemeVars = result.generateThemeVars;
|
|
17
17
|
output.generateStyleSheets = result.generateStyleSheets;
|
|
@@ -121,11 +121,12 @@ function cssVarsParser(theme, options) {
|
|
|
121
121
|
if (!shouldSkipGeneratingVar || !shouldSkipGeneratingVar(keys, value)) {
|
|
122
122
|
// only create css & var if `shouldSkipGeneratingVar` return false
|
|
123
123
|
const cssVar = `--${prefix ? `${prefix}-` : ''}${keys.join('-')}`;
|
|
124
|
+
const resolvedValue = getCssValue(keys, value);
|
|
124
125
|
Object.assign(css, {
|
|
125
|
-
[cssVar]:
|
|
126
|
+
[cssVar]: resolvedValue
|
|
126
127
|
});
|
|
127
128
|
assignNestedKeys(vars, keys, `var(${cssVar})`, arrayKeys);
|
|
128
|
-
assignNestedKeys(varsWithDefaults, keys, `var(${cssVar}, ${
|
|
129
|
+
assignNestedKeys(varsWithDefaults, keys, `var(${cssVar}, ${resolvedValue})`, arrayKeys);
|
|
129
130
|
}
|
|
130
131
|
}
|
|
131
132
|
}, keys => keys[0] === 'vars' // skip 'vars/*' paths
|
package/node/cssVars/index.js
CHANGED
|
@@ -29,7 +29,14 @@ Object.defineProperty(exports, "prepareCssVars", {
|
|
|
29
29
|
return _prepareCssVars.default;
|
|
30
30
|
}
|
|
31
31
|
});
|
|
32
|
+
Object.defineProperty(exports, "prepareTypographyVars", {
|
|
33
|
+
enumerable: true,
|
|
34
|
+
get: function () {
|
|
35
|
+
return _prepareTypographyVars.default;
|
|
36
|
+
}
|
|
37
|
+
});
|
|
32
38
|
var _createCssVarsProvider = _interopRequireDefault(require("./createCssVarsProvider"));
|
|
33
39
|
var _getInitColorSchemeScript = _interopRequireDefault(require("./getInitColorSchemeScript"));
|
|
34
40
|
var _prepareCssVars = _interopRequireDefault(require("./prepareCssVars"));
|
|
41
|
+
var _prepareTypographyVars = _interopRequireDefault(require("./prepareTypographyVars"));
|
|
35
42
|
var _createCssVarsTheme = _interopRequireDefault(require("./createCssVarsTheme"));
|
|
@@ -5,24 +5,19 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.default = void 0;
|
|
8
|
-
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
|
-
var _toPropertyKey2 = _interopRequireDefault(require("@babel/runtime/helpers/toPropertyKey"));
|
|
10
|
-
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
11
8
|
var _deepmerge = _interopRequireDefault(require("@mui/utils/deepmerge"));
|
|
12
9
|
var _cssVarsParser = _interopRequireDefault(require("./cssVarsParser"));
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
getSelector
|
|
18
|
-
} = _ref,
|
|
19
|
-
parserConfig = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);
|
|
10
|
+
function prepareCssVars(theme, {
|
|
11
|
+
getSelector,
|
|
12
|
+
...parserConfig
|
|
13
|
+
} = {}) {
|
|
20
14
|
// @ts-ignore - ignore components do not exist
|
|
21
15
|
const {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
otherTheme
|
|
16
|
+
colorSchemes = {},
|
|
17
|
+
components,
|
|
18
|
+
defaultColorScheme = 'light',
|
|
19
|
+
...otherTheme
|
|
20
|
+
} = theme;
|
|
26
21
|
const {
|
|
27
22
|
vars: rootVars,
|
|
28
23
|
css: rootCss,
|
|
@@ -31,9 +26,9 @@ function prepareCssVars(theme, _ref = {}) {
|
|
|
31
26
|
let themeVars = rootVarsWithDefaults;
|
|
32
27
|
const colorSchemesMap = {};
|
|
33
28
|
const {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
29
|
+
[defaultColorScheme]: defaultScheme,
|
|
30
|
+
...otherColorSchemes
|
|
31
|
+
} = colorSchemes;
|
|
37
32
|
Object.entries(otherColorSchemes || {}).forEach(([key, scheme]) => {
|
|
38
33
|
const {
|
|
39
34
|
vars,
|
|
@@ -60,7 +55,9 @@ function prepareCssVars(theme, _ref = {}) {
|
|
|
60
55
|
};
|
|
61
56
|
}
|
|
62
57
|
const generateThemeVars = () => {
|
|
63
|
-
let vars =
|
|
58
|
+
let vars = {
|
|
59
|
+
...rootVars
|
|
60
|
+
};
|
|
64
61
|
Object.entries(colorSchemesMap).forEach(([, {
|
|
65
62
|
vars: schemeVars
|
|
66
63
|
}]) => {
|
|
@@ -74,26 +71,34 @@ function prepareCssVars(theme, _ref = {}) {
|
|
|
74
71
|
function insertStyleSheet(selector, css) {
|
|
75
72
|
if (Object.keys(css).length) {
|
|
76
73
|
stylesheets.push(typeof selector === 'string' ? {
|
|
77
|
-
[selector]:
|
|
74
|
+
[selector]: {
|
|
75
|
+
...css
|
|
76
|
+
}
|
|
78
77
|
} : selector);
|
|
79
78
|
}
|
|
80
79
|
}
|
|
81
|
-
insertStyleSheet((getSelector == null ? void 0 : getSelector(undefined,
|
|
80
|
+
insertStyleSheet((getSelector == null ? void 0 : getSelector(undefined, {
|
|
81
|
+
...rootCss
|
|
82
|
+
})) || ':root', rootCss);
|
|
82
83
|
const {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
84
|
+
[colorScheme]: defaultSchemeVal,
|
|
85
|
+
...rest
|
|
86
|
+
} = colorSchemesMap;
|
|
86
87
|
if (defaultSchemeVal) {
|
|
87
88
|
// default color scheme has to come before other color schemes
|
|
88
89
|
const {
|
|
89
90
|
css
|
|
90
91
|
} = defaultSchemeVal;
|
|
91
|
-
insertStyleSheet((getSelector == null ? void 0 : getSelector(colorScheme,
|
|
92
|
+
insertStyleSheet((getSelector == null ? void 0 : getSelector(colorScheme, {
|
|
93
|
+
...css
|
|
94
|
+
})) || `[${theme.attribute || 'data-color-scheme'}="${colorScheme}"]`, css);
|
|
92
95
|
}
|
|
93
96
|
Object.entries(rest).forEach(([key, {
|
|
94
97
|
css
|
|
95
98
|
}]) => {
|
|
96
|
-
insertStyleSheet((getSelector == null ? void 0 : getSelector(key,
|
|
99
|
+
insertStyleSheet((getSelector == null ? void 0 : getSelector(key, {
|
|
100
|
+
...css
|
|
101
|
+
})) || `[${theme.attribute || 'data-color-scheme'}="${key}"]`, css);
|
|
97
102
|
});
|
|
98
103
|
return stylesheets;
|
|
99
104
|
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = prepareTypographyVars;
|
|
7
|
+
function prepareTypographyVars(typography) {
|
|
8
|
+
const vars = {};
|
|
9
|
+
const entries = Object.entries(typography);
|
|
10
|
+
entries.forEach(entry => {
|
|
11
|
+
const [key, value] = entry;
|
|
12
|
+
if (typeof value === 'object') {
|
|
13
|
+
vars[key] = `${value.fontStyle ? `${value.fontStyle} ` : ''}${value.fontVariant ? `${value.fontVariant} ` : ''}${value.fontWeight ? `${value.fontWeight} ` : ''}${value.fontStretch ? `${value.fontStretch} ` : ''}${value.fontSize || ''}${value.lineHeight ? `/${value.lineHeight} ` : ''}${value.fontFamily || ''}`;
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
return vars;
|
|
17
|
+
}
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
'use client';
|
|
3
3
|
|
|
4
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.default = useCurrentColorScheme;
|
|
9
8
|
exports.getColorScheme = getColorScheme;
|
|
10
9
|
exports.getSystemMode = getSystemMode;
|
|
11
|
-
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
12
10
|
var React = _interopRequireWildcard(require("react"));
|
|
13
11
|
var _getInitColorSchemeScript = require("./getInitColorSchemeScript");
|
|
14
12
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
@@ -94,10 +92,11 @@ function useCurrentColorScheme(options) {
|
|
|
94
92
|
} catch (e) {
|
|
95
93
|
// Unsupported
|
|
96
94
|
}
|
|
97
|
-
return
|
|
95
|
+
return {
|
|
96
|
+
...currentState,
|
|
98
97
|
mode: newMode,
|
|
99
98
|
systemMode: getSystemMode(newMode)
|
|
100
|
-
}
|
|
99
|
+
};
|
|
101
100
|
});
|
|
102
101
|
}, [modeStorageKey, defaultMode]);
|
|
103
102
|
const setColorScheme = React.useCallback(value => {
|
|
@@ -109,17 +108,20 @@ function useCurrentColorScheme(options) {
|
|
|
109
108
|
} catch (e) {
|
|
110
109
|
// Unsupported
|
|
111
110
|
}
|
|
112
|
-
return
|
|
111
|
+
return {
|
|
112
|
+
...currentState,
|
|
113
113
|
lightColorScheme: defaultLightColorScheme,
|
|
114
114
|
darkColorScheme: defaultDarkColorScheme
|
|
115
|
-
}
|
|
115
|
+
};
|
|
116
116
|
});
|
|
117
117
|
} else if (typeof value === 'string') {
|
|
118
118
|
if (value && !joinedColorSchemes.includes(value)) {
|
|
119
119
|
console.error(`\`${value}\` does not exist in \`theme.colorSchemes\`.`);
|
|
120
120
|
} else {
|
|
121
121
|
setState(currentState => {
|
|
122
|
-
const newState =
|
|
122
|
+
const newState = {
|
|
123
|
+
...currentState
|
|
124
|
+
};
|
|
123
125
|
processState(currentState, mode => {
|
|
124
126
|
try {
|
|
125
127
|
localStorage.setItem(`${colorSchemeStorageKey}-${mode}`, value);
|
|
@@ -138,7 +140,9 @@ function useCurrentColorScheme(options) {
|
|
|
138
140
|
}
|
|
139
141
|
} else {
|
|
140
142
|
setState(currentState => {
|
|
141
|
-
const newState =
|
|
143
|
+
const newState = {
|
|
144
|
+
...currentState
|
|
145
|
+
};
|
|
142
146
|
const newLightColorScheme = value.light === null ? defaultLightColorScheme : value.light;
|
|
143
147
|
const newDarkColorScheme = value.dark === null ? defaultDarkColorScheme : value.dark;
|
|
144
148
|
if (newLightColorScheme) {
|
|
@@ -178,9 +182,10 @@ function useCurrentColorScheme(options) {
|
|
|
178
182
|
if (currentState.systemMode === systemMode) {
|
|
179
183
|
return currentState;
|
|
180
184
|
}
|
|
181
|
-
return
|
|
185
|
+
return {
|
|
186
|
+
...currentState,
|
|
182
187
|
systemMode
|
|
183
|
-
}
|
|
188
|
+
};
|
|
184
189
|
});
|
|
185
190
|
}
|
|
186
191
|
}, [state.mode]);
|
|
@@ -232,9 +237,10 @@ function useCurrentColorScheme(options) {
|
|
|
232
237
|
}
|
|
233
238
|
return undefined;
|
|
234
239
|
}, [setColorScheme, setMode, modeStorageKey, colorSchemeStorageKey, joinedColorSchemes, defaultMode, storageWindow]);
|
|
235
|
-
return
|
|
240
|
+
return {
|
|
241
|
+
...state,
|
|
236
242
|
colorScheme,
|
|
237
243
|
setMode,
|
|
238
244
|
setColorScheme
|
|
239
|
-
}
|
|
245
|
+
};
|
|
240
246
|
}
|
package/node/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @mui/system v6.0.0-alpha.
|
|
2
|
+
* @mui/system v6.0.0-alpha.10
|
|
3
3
|
*
|
|
4
4
|
* @license MIT
|
|
5
5
|
* This source code is licensed under the MIT license found in the
|
|
@@ -22,6 +22,7 @@ var _exportNames = {
|
|
|
22
22
|
handleBreakpoints: true,
|
|
23
23
|
mergeBreakpointsInOrder: true,
|
|
24
24
|
unstable_resolveBreakpointValues: true,
|
|
25
|
+
cssContainerQueries: true,
|
|
25
26
|
compose: true,
|
|
26
27
|
display: true,
|
|
27
28
|
flexbox: true,
|
|
@@ -174,6 +175,12 @@ Object.defineProperty(exports, "css", {
|
|
|
174
175
|
return _styledEngine.css;
|
|
175
176
|
}
|
|
176
177
|
});
|
|
178
|
+
Object.defineProperty(exports, "cssContainerQueries", {
|
|
179
|
+
enumerable: true,
|
|
180
|
+
get: function () {
|
|
181
|
+
return _cssContainerQueries.default;
|
|
182
|
+
}
|
|
183
|
+
});
|
|
177
184
|
Object.defineProperty(exports, "display", {
|
|
178
185
|
enumerable: true,
|
|
179
186
|
get: function () {
|
|
@@ -395,6 +402,7 @@ Object.keys(_borders).forEach(function (key) {
|
|
|
395
402
|
});
|
|
396
403
|
});
|
|
397
404
|
var _breakpoints = _interopRequireWildcard(require("./breakpoints"));
|
|
405
|
+
var _cssContainerQueries = _interopRequireDefault(require("./cssContainerQueries"));
|
|
398
406
|
var _compose = _interopRequireDefault(require("./compose"));
|
|
399
407
|
var _display = _interopRequireDefault(require("./display"));
|
|
400
408
|
var _flexbox = _interopRequireWildcard(require("./flexbox"));
|
|
@@ -5,9 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.default = propsToClassKey;
|
|
8
|
-
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
9
8
|
var _capitalize = _interopRequireDefault(require("@mui/utils/capitalize"));
|
|
10
|
-
const _excluded = ["variant"];
|
|
11
9
|
function isEmpty(string) {
|
|
12
10
|
return string.length === 0;
|
|
13
11
|
}
|
|
@@ -19,9 +17,9 @@ function isEmpty(string) {
|
|
|
19
17
|
*/
|
|
20
18
|
function propsToClassKey(props) {
|
|
21
19
|
const {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
20
|
+
variant,
|
|
21
|
+
...other
|
|
22
|
+
} = props;
|
|
25
23
|
let classKey = variant || '';
|
|
26
24
|
Object.keys(other).sort().forEach(key => {
|
|
27
25
|
if (key === 'color') {
|
package/node/spacing/spacing.js
CHANGED
|
@@ -59,25 +59,29 @@ const paddingKeys = exports.paddingKeys = ['p', 'pt', 'pr', 'pb', 'pl', 'px', 'p
|
|
|
59
59
|
const spacingKeys = [...marginKeys, ...paddingKeys];
|
|
60
60
|
function createUnaryUnit(theme, themeKey, defaultValue, propName) {
|
|
61
61
|
var _getPath;
|
|
62
|
-
const themeSpacing = (_getPath = (0, _style.getPath)(theme, themeKey,
|
|
63
|
-
if (typeof themeSpacing === 'number') {
|
|
64
|
-
return
|
|
65
|
-
if (typeof
|
|
66
|
-
return
|
|
62
|
+
const themeSpacing = (_getPath = (0, _style.getPath)(theme, themeKey, true)) != null ? _getPath : defaultValue;
|
|
63
|
+
if (typeof themeSpacing === 'number' || typeof themeSpacing === 'string') {
|
|
64
|
+
return val => {
|
|
65
|
+
if (typeof val === 'string') {
|
|
66
|
+
return val;
|
|
67
67
|
}
|
|
68
68
|
if (process.env.NODE_ENV !== 'production') {
|
|
69
|
-
if (typeof
|
|
70
|
-
console.error(`MUI: Expected ${propName} argument to be a number or a string, got ${
|
|
69
|
+
if (typeof val !== 'number') {
|
|
70
|
+
console.error(`MUI: Expected ${propName} argument to be a number or a string, got ${val}.`);
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
|
-
|
|
73
|
+
if (typeof themeSpacing === 'string') {
|
|
74
|
+
return `calc(${val} * ${themeSpacing})`;
|
|
75
|
+
}
|
|
76
|
+
return themeSpacing * val;
|
|
74
77
|
};
|
|
75
78
|
}
|
|
76
79
|
if (Array.isArray(themeSpacing)) {
|
|
77
|
-
return
|
|
78
|
-
if (typeof
|
|
79
|
-
return
|
|
80
|
+
return val => {
|
|
81
|
+
if (typeof val === 'string') {
|
|
82
|
+
return val;
|
|
80
83
|
}
|
|
84
|
+
const abs = Math.abs(val);
|
|
81
85
|
if (process.env.NODE_ENV !== 'production') {
|
|
82
86
|
if (!Number.isInteger(abs)) {
|
|
83
87
|
console.error([`MUI: The \`theme.${themeKey}\` array type cannot be combined with non integer values.` + `You should either use an integer value that can be used as index, or define the \`theme.${themeKey}\` as a number.`].join('\n'));
|
|
@@ -85,7 +89,14 @@ function createUnaryUnit(theme, themeKey, defaultValue, propName) {
|
|
|
85
89
|
console.error([`MUI: The value provided (${abs}) overflows.`, `The supported values are: ${JSON.stringify(themeSpacing)}.`, `${abs} > ${themeSpacing.length - 1}, you need to add the missing values.`].join('\n'));
|
|
86
90
|
}
|
|
87
91
|
}
|
|
88
|
-
|
|
92
|
+
const transformed = themeSpacing[abs];
|
|
93
|
+
if (val >= 0) {
|
|
94
|
+
return transformed;
|
|
95
|
+
}
|
|
96
|
+
if (typeof transformed === 'number') {
|
|
97
|
+
return -transformed;
|
|
98
|
+
}
|
|
99
|
+
return `-${transformed}`;
|
|
89
100
|
};
|
|
90
101
|
}
|
|
91
102
|
if (typeof themeSpacing === 'function') {
|
|
@@ -103,15 +114,7 @@ function getValue(transformer, propValue) {
|
|
|
103
114
|
if (typeof propValue === 'string' || propValue == null) {
|
|
104
115
|
return propValue;
|
|
105
116
|
}
|
|
106
|
-
|
|
107
|
-
const transformed = transformer(abs);
|
|
108
|
-
if (propValue >= 0) {
|
|
109
|
-
return transformed;
|
|
110
|
-
}
|
|
111
|
-
if (typeof transformed === 'number') {
|
|
112
|
-
return -transformed;
|
|
113
|
-
}
|
|
114
|
-
return `-${transformed}`;
|
|
117
|
+
return transformer(propValue);
|
|
115
118
|
}
|
|
116
119
|
function getStyleFromPropValue(cssProperties, transformer) {
|
|
117
120
|
return propValue => cssProperties.reduce((acc, cssProperty) => {
|