@mui/system 6.1.1 → 6.1.3
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/Box/Box.js +17 -11
- package/Box/boxClasses.js +10 -3
- package/Box/index.js +35 -3
- package/Box/package.json +2 -2
- package/CHANGELOG.md +136 -0
- package/Container/Container.js +17 -12
- package/Container/ContainerProps.js +5 -1
- package/Container/containerClasses.js +14 -6
- package/Container/createContainer.js +36 -28
- package/Container/index.js +35 -3
- package/Container/package.json +2 -2
- package/DefaultPropsProvider/DefaultPropsProvider.js +19 -11
- package/DefaultPropsProvider/index.js +19 -1
- package/DefaultPropsProvider/package.json +2 -2
- package/GlobalStyles/GlobalStyles.js +18 -11
- package/GlobalStyles/index.js +25 -2
- package/GlobalStyles/package.json +2 -2
- package/Grid/Grid.js +38 -27
- package/Grid/GridProps.d.ts +16 -11
- package/Grid/GridProps.js +5 -1
- package/Grid/createGrid.js +46 -38
- package/Grid/gridClasses.js +14 -6
- package/Grid/gridGenerator.d.ts +3 -7
- package/Grid/gridGenerator.js +62 -69
- package/Grid/index.js +63 -6
- package/Grid/package.json +2 -2
- package/Grid/traverseBreakpoints.js +11 -3
- package/InitColorSchemeScript/InitColorSchemeScript.js +16 -7
- package/InitColorSchemeScript/index.js +13 -1
- package/InitColorSchemeScript/package.json +2 -2
- package/RtlProvider/index.js +17 -8
- package/RtlProvider/package.json +2 -2
- package/Stack/Stack.js +17 -11
- package/Stack/StackProps.js +5 -1
- package/Stack/createStack.js +46 -36
- package/Stack/index.js +55 -5
- package/Stack/package.json +2 -2
- package/Stack/stackClasses.js +14 -6
- package/ThemeProvider/ThemeProvider.js +27 -20
- package/ThemeProvider/index.js +13 -1
- package/ThemeProvider/package.json +2 -2
- package/borders/borders.js +36 -26
- package/borders/index.js +25 -2
- package/borders/package.json +2 -2
- package/breakpoints/breakpoints.js +34 -21
- package/breakpoints/index.js +25 -2
- package/breakpoints/package.json +2 -2
- package/colorManipulator/colorManipulator.js +50 -25
- package/colorManipulator/index.js +16 -1
- package/colorManipulator/package.json +2 -2
- package/compose/compose.js +10 -3
- package/compose/index.js +13 -1
- package/compose/package.json +2 -2
- package/createBox/createBox.js +20 -13
- package/createBox/index.js +13 -1
- package/createBox/package.json +2 -2
- package/createBreakpoints/createBreakpoints.js +9 -2
- package/createBreakpoints/index.js +13 -3
- package/createBreakpoints/package.json +2 -2
- package/createStyled/createStyled.js +161 -117
- package/createStyled/index.js +25 -2
- package/createStyled/package.json +2 -2
- package/createTheme/applyStyles.js +7 -1
- package/createTheme/createSpacing.js +8 -3
- package/createTheme/createTheme.d.ts +16 -10
- package/createTheme/createTheme.js +25 -18
- package/createTheme/index.js +27 -3
- package/createTheme/package.json +2 -2
- package/createTheme/shape.js +7 -1
- package/cssContainerQueries/cssContainerQueries.js +16 -7
- package/cssContainerQueries/index.js +31 -2
- package/cssContainerQueries/package.json +2 -2
- package/cssGrid/cssGrid.js +40 -31
- package/cssGrid/index.js +25 -2
- package/cssGrid/package.json +2 -2
- package/cssVars/createCssVarsProvider.d.ts +7 -1
- package/cssVars/createCssVarsProvider.js +46 -31
- package/cssVars/createCssVarsTheme.js +14 -7
- package/cssVars/createGetCssVar.js +7 -1
- package/cssVars/cssVarsParser.js +13 -3
- package/cssVars/getColorSchemeSelector.js +7 -1
- package/cssVars/index.js +41 -5
- package/cssVars/package.json +2 -2
- package/cssVars/prepareCssVars.js +16 -9
- package/cssVars/prepareTypographyVars.js +7 -1
- package/cssVars/useCurrentColorScheme.js +19 -11
- package/display/display.js +16 -9
- package/display/index.js +25 -2
- package/display/package.json +2 -2
- package/esm/Box/Box.js +30 -0
- package/esm/Box/boxClasses.js +3 -0
- package/esm/Box/index.js +3 -0
- package/{node → esm}/Container/Container.js +12 -17
- package/esm/Container/ContainerProps.js +1 -0
- package/esm/Container/containerClasses.js +7 -0
- package/{node → esm}/Container/createContainer.js +28 -36
- package/esm/Container/index.js +3 -0
- package/{node → esm}/DefaultPropsProvider/DefaultPropsProvider.js +11 -19
- package/esm/DefaultPropsProvider/index.js +1 -0
- package/esm/GlobalStyles/GlobalStyles.js +37 -0
- package/esm/GlobalStyles/index.js +2 -0
- package/esm/Grid/Grid.js +106 -0
- package/esm/Grid/GridProps.js +1 -0
- package/esm/Grid/createGrid.js +148 -0
- package/{node → esm}/Grid/gridClasses.js +6 -14
- package/esm/Grid/gridGenerator.js +193 -0
- package/esm/Grid/index.js +6 -0
- package/{node → esm}/Grid/traverseBreakpoints.js +3 -11
- package/{node → esm}/InitColorSchemeScript/InitColorSchemeScript.js +7 -16
- package/esm/InitColorSchemeScript/index.js +1 -0
- package/esm/RtlProvider/index.js +22 -0
- package/{node → esm}/Stack/Stack.js +11 -17
- package/esm/Stack/StackProps.js +1 -0
- package/{node → esm}/Stack/createStack.js +36 -46
- package/esm/Stack/index.js +5 -0
- package/esm/Stack/stackClasses.js +7 -0
- package/{node → esm}/ThemeProvider/ThemeProvider.js +20 -27
- package/esm/ThemeProvider/index.js +1 -0
- package/esm/borders/borders.js +49 -0
- package/esm/borders/index.js +2 -0
- package/{node → esm}/breakpoints/breakpoints.js +21 -34
- package/esm/breakpoints/index.js +2 -0
- package/{node → esm}/colorManipulator/colorManipulator.js +23 -51
- package/esm/colorManipulator/index.js +1 -0
- package/{node → esm}/compose/compose.js +3 -10
- package/esm/compose/index.js +1 -0
- package/esm/createBox/createBox.js +35 -0
- package/esm/createBox/index.js +1 -0
- package/{node → esm}/createBreakpoints/createBreakpoints.js +2 -9
- package/esm/createBreakpoints/index.js +3 -0
- package/esm/createStyled/createStyled.js +276 -0
- package/esm/createStyled/index.js +2 -0
- package/{node → esm}/createTheme/applyStyles.js +1 -7
- package/{node → esm}/createTheme/createSpacing.js +3 -8
- package/esm/createTheme/createTheme.js +49 -0
- package/esm/createTheme/index.js +3 -0
- package/esm/createTheme/shape.js +4 -0
- package/{node → esm}/cssContainerQueries/cssContainerQueries.js +6 -17
- package/esm/cssContainerQueries/index.js +2 -0
- package/esm/cssGrid/cssGrid.js +85 -0
- package/esm/cssGrid/index.js +2 -0
- package/{node → esm}/cssVars/createCssVarsProvider.js +37 -40
- package/esm/cssVars/createCssVarsTheme.js +21 -0
- package/{node → esm}/cssVars/createGetCssVar.js +1 -7
- package/{node → esm}/cssVars/cssVarsParser.js +3 -13
- package/{node → esm}/cssVars/getColorSchemeSelector.js +1 -7
- package/esm/cssVars/index.js +5 -0
- package/{node → esm}/cssVars/prepareCssVars.js +9 -16
- package/{node → esm}/cssVars/prepareTypographyVars.js +1 -7
- package/{node → esm}/cssVars/useCurrentColorScheme.js +11 -19
- package/esm/display/display.js +27 -0
- package/esm/display/index.js +2 -0
- package/esm/flexbox/flexbox.js +43 -0
- package/esm/flexbox/index.js +2 -0
- package/esm/getThemeValue/getThemeValue.js +51 -0
- package/esm/getThemeValue/index.js +2 -0
- package/esm/index.js +68 -0
- package/esm/memoTheme.js +28 -0
- package/esm/memoize/index.js +1 -0
- package/{node → esm}/memoize/memoize.js +1 -7
- package/esm/merge/index.js +1 -0
- package/esm/merge/merge.js +10 -0
- package/esm/palette/index.js +2 -0
- package/esm/palette/palette.js +26 -0
- package/esm/positions/index.js +2 -0
- package/esm/positions/positions.js +22 -0
- package/esm/preprocessStyles.js +25 -0
- package/esm/propsToClassKey/index.js +1 -0
- package/esm/propsToClassKey/propsToClassKey.js +25 -0
- package/esm/responsivePropType/index.js +1 -0
- package/esm/responsivePropType/responsivePropType.js +3 -0
- package/esm/shadows/index.js +1 -0
- package/esm/shadows/shadows.js +6 -0
- package/esm/sizing/index.js +2 -0
- package/esm/sizing/sizing.js +64 -0
- package/esm/spacing/index.js +2 -0
- package/{node → esm}/spacing/spacing.js +21 -36
- package/esm/style/index.js +2 -0
- package/{node → esm}/style/style.js +9 -18
- package/{node → esm}/styleFunctionSx/defaultSxConfig.js +65 -71
- package/{node → esm}/styleFunctionSx/extendSxProp.js +5 -12
- package/esm/styleFunctionSx/index.js +4 -0
- package/{node → esm}/styleFunctionSx/styleFunctionSx.js +19 -27
- package/esm/styled/index.js +1 -0
- package/esm/styled/styled.js +3 -0
- package/esm/typography/index.js +2 -0
- package/esm/typography/typography.js +37 -0
- package/esm/useMediaQuery/index.js +2 -0
- package/{node → esm}/useMediaQuery/useMediaQuery.js +8 -15
- package/esm/useTheme/index.js +2 -0
- package/esm/useTheme/useTheme.js +9 -0
- package/esm/useThemeProps/getThemeProps.js +12 -0
- package/esm/useThemeProps/index.js +2 -0
- package/esm/useThemeProps/useThemeProps.js +20 -0
- package/esm/useThemeWithoutDefault/index.js +1 -0
- package/esm/useThemeWithoutDefault/useThemeWithoutDefault.js +12 -0
- package/esm/version/index.js +6 -0
- package/flexbox/flexbox.js +24 -17
- package/flexbox/index.js +25 -2
- package/flexbox/package.json +2 -2
- package/getThemeValue/getThemeValue.js +40 -33
- package/getThemeValue/index.js +25 -2
- package/getThemeValue/package.json +2 -2
- package/index.d.ts +2 -0
- package/index.js +606 -63
- package/memoTheme.d.ts +12 -0
- package/memoTheme.js +34 -0
- package/memoize/index.js +13 -1
- package/memoize/memoize.js +7 -1
- package/memoize/package.json +2 -2
- package/merge/index.js +13 -1
- package/merge/merge.js +10 -3
- package/merge/package.json +2 -2
- package/modern/Grid/Grid.js +16 -11
- package/modern/Grid/createGrid.js +1 -1
- package/modern/Grid/gridGenerator.js +28 -51
- package/modern/colorManipulator/colorManipulator.js +3 -4
- package/modern/createStyled/createStyled.js +144 -109
- package/modern/cssContainerQueries/cssContainerQueries.js +1 -2
- package/modern/cssVars/createCssVarsProvider.js +8 -2
- package/modern/cssVars/useCurrentColorScheme.js +4 -4
- package/modern/index.js +3 -2
- package/modern/memoTheme.js +28 -0
- package/modern/preprocessStyles.js +25 -0
- package/modern/version/index.js +2 -2
- package/package.json +7 -7
- package/palette/index.js +25 -2
- package/palette/package.json +2 -2
- package/palette/palette.js +16 -8
- package/positions/index.js +25 -2
- package/positions/package.json +2 -2
- package/positions/positions.js +16 -9
- package/preprocessStyles.d.ts +5 -0
- package/preprocessStyles.js +31 -0
- package/propsToClassKey/index.js +13 -1
- package/propsToClassKey/package.json +2 -2
- package/propsToClassKey/propsToClassKey.js +11 -4
- package/responsivePropType/index.js +13 -1
- package/responsivePropType/package.json +2 -2
- package/responsivePropType/responsivePropType.js +10 -3
- package/shadows/index.js +13 -1
- package/shadows/package.json +2 -2
- package/shadows/shadows.js +10 -3
- package/sizing/index.js +25 -2
- package/sizing/package.json +2 -2
- package/sizing/sizing.js +27 -17
- package/spacing/index.js +25 -2
- package/spacing/package.json +2 -2
- package/spacing/spacing.js +36 -21
- package/style/index.js +25 -2
- package/style/package.json +2 -2
- package/style/style.js +18 -9
- package/styleFunctionSx/defaultSxConfig.js +71 -65
- package/styleFunctionSx/extendSxProp.js +12 -5
- package/styleFunctionSx/index.js +34 -4
- package/styleFunctionSx/package.json +2 -2
- package/styleFunctionSx/styleFunctionSx.d.ts +1 -1
- package/styleFunctionSx/styleFunctionSx.js +27 -19
- package/styled/index.js +13 -1
- package/styled/package.json +2 -2
- package/styled/styled.js +10 -3
- package/typography/index.js +25 -2
- package/typography/package.json +2 -2
- package/typography/typography.js +20 -13
- package/useMediaQuery/index.js +25 -2
- package/useMediaQuery/package.json +2 -2
- package/useMediaQuery/useMediaQuery.js +15 -8
- package/useTheme/index.js +25 -2
- package/useTheme/package.json +2 -2
- package/useTheme/useTheme.js +11 -5
- package/useThemeProps/getThemeProps.js +10 -3
- package/useThemeProps/index.js +20 -2
- package/useThemeProps/package.json +2 -2
- package/useThemeProps/useThemeProps.js +11 -5
- package/useThemeWithoutDefault/index.js +13 -1
- package/useThemeWithoutDefault/package.json +2 -2
- package/useThemeWithoutDefault/useThemeWithoutDefault.js +10 -4
- package/version/index.js +12 -6
- package/version/package.json +2 -2
- package/node/Box/Box.js +0 -36
- package/node/Box/boxClasses.js +0 -10
- package/node/Box/index.js +0 -35
- package/node/Container/ContainerProps.js +0 -5
- package/node/Container/containerClasses.js +0 -15
- package/node/Container/index.js +0 -35
- package/node/DefaultPropsProvider/index.js +0 -19
- package/node/GlobalStyles/GlobalStyles.js +0 -44
- package/node/GlobalStyles/index.js +0 -25
- package/node/Grid/Grid.js +0 -107
- package/node/Grid/GridProps.js +0 -5
- package/node/Grid/createGrid.js +0 -156
- package/node/Grid/gridGenerator.js +0 -232
- package/node/Grid/index.js +0 -63
- package/node/InitColorSchemeScript/index.js +0 -13
- package/node/RtlProvider/index.js +0 -31
- package/node/Stack/StackProps.js +0 -5
- package/node/Stack/index.js +0 -55
- package/node/Stack/stackClasses.js +0 -15
- package/node/ThemeProvider/index.js +0 -13
- package/node/borders/borders.js +0 -59
- package/node/borders/index.js +0 -25
- package/node/breakpoints/index.js +0 -25
- package/node/colorManipulator/index.js +0 -16
- package/node/compose/index.js +0 -13
- package/node/createBox/createBox.js +0 -42
- package/node/createBox/index.js +0 -13
- package/node/createBreakpoints/index.js +0 -13
- package/node/createStyled/createStyled.js +0 -252
- package/node/createStyled/index.js +0 -25
- package/node/createTheme/createTheme.js +0 -56
- package/node/createTheme/index.js +0 -27
- package/node/createTheme/shape.js +0 -10
- package/node/cssContainerQueries/index.js +0 -31
- package/node/cssGrid/cssGrid.js +0 -94
- package/node/cssGrid/index.js +0 -25
- package/node/cssVars/createCssVarsTheme.js +0 -28
- package/node/cssVars/index.js +0 -41
- package/node/display/display.js +0 -34
- package/node/display/index.js +0 -25
- package/node/flexbox/flexbox.js +0 -50
- package/node/flexbox/index.js +0 -25
- package/node/getThemeValue/getThemeValue.js +0 -58
- package/node/getThemeValue/index.js +0 -25
- package/node/index.js +0 -609
- package/node/memoize/index.js +0 -13
- package/node/merge/index.js +0 -13
- package/node/merge/merge.js +0 -17
- package/node/palette/index.js +0 -25
- package/node/palette/palette.js +0 -34
- package/node/positions/index.js +0 -25
- package/node/positions/positions.js +0 -29
- package/node/propsToClassKey/index.js +0 -13
- package/node/propsToClassKey/propsToClassKey.js +0 -32
- package/node/responsivePropType/index.js +0 -13
- package/node/responsivePropType/responsivePropType.js +0 -10
- package/node/shadows/index.js +0 -13
- package/node/shadows/shadows.js +0 -13
- package/node/sizing/index.js +0 -25
- package/node/sizing/sizing.js +0 -74
- package/node/spacing/index.js +0 -25
- package/node/style/index.js +0 -25
- package/node/styleFunctionSx/index.js +0 -34
- package/node/styled/index.js +0 -13
- package/node/styled/styled.js +0 -10
- package/node/typography/index.js +0 -25
- package/node/typography/typography.js +0 -44
- package/node/useMediaQuery/index.js +0 -25
- package/node/useTheme/index.js +0 -25
- package/node/useTheme/useTheme.js +0 -15
- package/node/useThemeProps/getThemeProps.js +0 -19
- package/node/useThemeProps/index.js +0 -20
- package/node/useThemeProps/useThemeProps.js +0 -26
- package/node/useThemeWithoutDefault/index.js +0 -13
- package/node/useThemeWithoutDefault/useThemeWithoutDefault.js +0 -18
- package/node/version/index.js +0 -12
package/memoTheme.js
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = unstable_memoTheme;
|
|
8
|
+
var _preprocessStyles = _interopRequireDefault(require("./preprocessStyles"));
|
|
9
|
+
/* eslint-disable @typescript-eslint/naming-convention */
|
|
10
|
+
|
|
11
|
+
// We need to pass an argument as `{ theme }` for PigmentCSS, but we don't want to
|
|
12
|
+
// allocate more objects.
|
|
13
|
+
const arg = {
|
|
14
|
+
theme: undefined
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Memoize style function on theme.
|
|
19
|
+
* Intended to be used in styled() calls that only need access to the theme.
|
|
20
|
+
*/
|
|
21
|
+
function unstable_memoTheme(styleFn) {
|
|
22
|
+
let lastValue;
|
|
23
|
+
let lastTheme;
|
|
24
|
+
return function styleMemoized(props) {
|
|
25
|
+
let value = lastValue;
|
|
26
|
+
if (value === undefined || props.theme !== lastTheme) {
|
|
27
|
+
arg.theme = props.theme;
|
|
28
|
+
value = (0, _preprocessStyles.default)(styleFn(arg));
|
|
29
|
+
lastValue = value;
|
|
30
|
+
lastTheme = props.theme;
|
|
31
|
+
}
|
|
32
|
+
return value;
|
|
33
|
+
};
|
|
34
|
+
}
|
package/memoize/index.js
CHANGED
|
@@ -1 +1,13 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
Object.defineProperty(exports, "default", {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: function () {
|
|
10
|
+
return _memoize.default;
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
var _memoize = _interopRequireDefault(require("./memoize"));
|
package/memoize/memoize.js
CHANGED
package/memoize/package.json
CHANGED
package/merge/index.js
CHANGED
|
@@ -1 +1,13 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
Object.defineProperty(exports, "default", {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: function () {
|
|
10
|
+
return _merge.default;
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
var _merge = _interopRequireDefault(require("./merge"));
|
package/merge/merge.js
CHANGED
|
@@ -1,10 +1,17 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = void 0;
|
|
8
|
+
var _deepmerge = _interopRequireDefault(require("@mui/utils/deepmerge"));
|
|
2
9
|
function merge(acc, item) {
|
|
3
10
|
if (!item) {
|
|
4
11
|
return acc;
|
|
5
12
|
}
|
|
6
|
-
return
|
|
13
|
+
return (0, _deepmerge.default)(acc, item, {
|
|
7
14
|
clone: false // No need to clone deep, it's way faster.
|
|
8
15
|
});
|
|
9
16
|
}
|
|
10
|
-
|
|
17
|
+
var _default = exports.default = merge;
|
package/merge/package.json
CHANGED
package/modern/Grid/Grid.js
CHANGED
|
@@ -70,24 +70,29 @@ process.env.NODE_ENV !== "production" ? Grid.propTypes /* remove-proptypes */ =
|
|
|
70
70
|
sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
|
|
71
71
|
/**
|
|
72
72
|
* @internal
|
|
73
|
-
* The level of the grid starts from `0`
|
|
74
|
-
*
|
|
73
|
+
* The level of the grid starts from `0` and increases when the grid nests
|
|
74
|
+
* inside another grid. Nesting is defined as a container Grid being a direct
|
|
75
|
+
* child of a container Grid.
|
|
75
76
|
*
|
|
76
77
|
* ```js
|
|
77
|
-
* <Grid> // level 0
|
|
78
|
-
* <Grid> // level 1
|
|
79
|
-
* <Grid> // level 2
|
|
80
|
-
* <Grid> // level 1
|
|
78
|
+
* <Grid container> // level 0
|
|
79
|
+
* <Grid container> // level 1
|
|
80
|
+
* <Grid container> // level 2
|
|
81
81
|
* ```
|
|
82
82
|
*
|
|
83
|
-
* Only consecutive grid is considered nesting.
|
|
84
|
-
*
|
|
83
|
+
* Only consecutive grid is considered nesting. A grid container will start at
|
|
84
|
+
* `0` if there are non-Grid container element above it.
|
|
85
85
|
*
|
|
86
86
|
* ```js
|
|
87
|
-
* <Grid> // level 0
|
|
87
|
+
* <Grid container> // level 0
|
|
88
88
|
* <div>
|
|
89
|
-
* <Grid> // level 0
|
|
90
|
-
*
|
|
89
|
+
* <Grid container> // level 0
|
|
90
|
+
* ```
|
|
91
|
+
*
|
|
92
|
+
* ```js
|
|
93
|
+
* <Grid container> // level 0
|
|
94
|
+
* <Grid>
|
|
95
|
+
* <Grid container> // level 0
|
|
91
96
|
* ```
|
|
92
97
|
*/
|
|
93
98
|
unstable_level: PropTypes.number,
|
|
@@ -117,7 +117,7 @@ export default function createGrid(options = {}) {
|
|
|
117
117
|
className: clsx(classes.root, className),
|
|
118
118
|
...other,
|
|
119
119
|
children: React.Children.map(children, child => {
|
|
120
|
-
if (/*#__PURE__*/React.isValidElement(child) && isMuiElement(child, ['Grid'])) {
|
|
120
|
+
if (/*#__PURE__*/React.isValidElement(child) && isMuiElement(child, ['Grid']) && container && child.props.container) {
|
|
121
121
|
return /*#__PURE__*/React.cloneElement(child, {
|
|
122
122
|
unstable_level: child.props?.unstable_level ?? level + 1
|
|
123
123
|
});
|
|
@@ -1,37 +1,16 @@
|
|
|
1
1
|
import { traverseBreakpoints } from "./traverseBreakpoints.js";
|
|
2
|
-
function
|
|
3
|
-
|
|
4
|
-
return '';
|
|
5
|
-
}
|
|
6
|
-
return `Level${level}`;
|
|
7
|
-
}
|
|
8
|
-
function isNestedContainer(ownerState) {
|
|
9
|
-
return ownerState.unstable_level > 0 && ownerState.container;
|
|
2
|
+
function getSelfSpacingVar(axis) {
|
|
3
|
+
return `--Grid-${axis}Spacing`;
|
|
10
4
|
}
|
|
11
|
-
function
|
|
12
|
-
return
|
|
13
|
-
return `var(--Grid-${axis}Spacing${appendLevel(ownerState.unstable_level)})`;
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
function createGetParentSpacing(ownerState) {
|
|
17
|
-
return function getParentSpacing(axis) {
|
|
18
|
-
if (ownerState.unstable_level === 0) {
|
|
19
|
-
return `var(--Grid-${axis}Spacing)`;
|
|
20
|
-
}
|
|
21
|
-
return `var(--Grid-${axis}Spacing${appendLevel(ownerState.unstable_level - 1)})`;
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
function getParentColumns(ownerState) {
|
|
25
|
-
if (ownerState.unstable_level === 0) {
|
|
26
|
-
return `var(--Grid-columns)`;
|
|
27
|
-
}
|
|
28
|
-
return `var(--Grid-columns${appendLevel(ownerState.unstable_level - 1)})`;
|
|
5
|
+
function getParentSpacingVar(axis) {
|
|
6
|
+
return `--Grid-parent-${axis}Spacing`;
|
|
29
7
|
}
|
|
8
|
+
const selfColumnsVar = '--Grid-columns';
|
|
9
|
+
const parentColumnsVar = '--Grid-parent-columns';
|
|
30
10
|
export const generateGridSizeStyles = ({
|
|
31
11
|
theme,
|
|
32
12
|
ownerState
|
|
33
13
|
}) => {
|
|
34
|
-
const getParentSpacing = createGetParentSpacing(ownerState);
|
|
35
14
|
const styles = {};
|
|
36
15
|
traverseBreakpoints(theme.breakpoints, ownerState.size, (appendStyle, value) => {
|
|
37
16
|
let style = {};
|
|
@@ -55,7 +34,7 @@ export const generateGridSizeStyles = ({
|
|
|
55
34
|
style = {
|
|
56
35
|
flexGrow: 0,
|
|
57
36
|
flexBasis: 'auto',
|
|
58
|
-
width: `calc(100% * ${value} / ${
|
|
37
|
+
width: `calc(100% * ${value} / var(${parentColumnsVar}) - (var(${parentColumnsVar}) - ${value}) * (var(${getParentSpacingVar('column')}) / var(${parentColumnsVar})))`
|
|
59
38
|
};
|
|
60
39
|
}
|
|
61
40
|
appendStyle(styles, style);
|
|
@@ -66,7 +45,6 @@ export const generateGridOffsetStyles = ({
|
|
|
66
45
|
theme,
|
|
67
46
|
ownerState
|
|
68
47
|
}) => {
|
|
69
|
-
const getParentSpacing = createGetParentSpacing(ownerState);
|
|
70
48
|
const styles = {};
|
|
71
49
|
traverseBreakpoints(theme.breakpoints, ownerState.offset, (appendStyle, value) => {
|
|
72
50
|
let style = {};
|
|
@@ -77,7 +55,7 @@ export const generateGridOffsetStyles = ({
|
|
|
77
55
|
}
|
|
78
56
|
if (typeof value === 'number') {
|
|
79
57
|
style = {
|
|
80
|
-
marginLeft: value === 0 ? '0px' : `calc(100% * ${value} / ${
|
|
58
|
+
marginLeft: value === 0 ? '0px' : `calc(100% * ${value} / var(${parentColumnsVar}) + var(${getParentSpacingVar('column')}) * ${value} / var(${parentColumnsVar}))`
|
|
81
59
|
};
|
|
82
60
|
}
|
|
83
61
|
appendStyle(styles, style);
|
|
@@ -91,14 +69,16 @@ export const generateGridColumnsStyles = ({
|
|
|
91
69
|
if (!ownerState.container) {
|
|
92
70
|
return {};
|
|
93
71
|
}
|
|
94
|
-
const styles =
|
|
95
|
-
[
|
|
96
|
-
} : {
|
|
97
|
-
'--Grid-columns': 12
|
|
72
|
+
const styles = {
|
|
73
|
+
[selfColumnsVar]: 12
|
|
98
74
|
};
|
|
99
75
|
traverseBreakpoints(theme.breakpoints, ownerState.columns, (appendStyle, value) => {
|
|
76
|
+
const columns = value ?? 12;
|
|
100
77
|
appendStyle(styles, {
|
|
101
|
-
[
|
|
78
|
+
[selfColumnsVar]: columns,
|
|
79
|
+
'> *': {
|
|
80
|
+
[parentColumnsVar]: columns
|
|
81
|
+
}
|
|
102
82
|
});
|
|
103
83
|
});
|
|
104
84
|
return styles;
|
|
@@ -110,15 +90,14 @@ export const generateGridRowSpacingStyles = ({
|
|
|
110
90
|
if (!ownerState.container) {
|
|
111
91
|
return {};
|
|
112
92
|
}
|
|
113
|
-
const
|
|
114
|
-
const styles = isNestedContainer(ownerState) ? {
|
|
115
|
-
// Set the default spacing as its parent spacing.
|
|
116
|
-
// It will be overridden if spacing props are provided
|
|
117
|
-
[`--Grid-rowSpacing${appendLevel(ownerState.unstable_level)}`]: getParentSpacing('row')
|
|
118
|
-
} : {};
|
|
93
|
+
const styles = {};
|
|
119
94
|
traverseBreakpoints(theme.breakpoints, ownerState.rowSpacing, (appendStyle, value) => {
|
|
95
|
+
const spacing = typeof value === 'string' ? value : theme.spacing?.(value);
|
|
120
96
|
appendStyle(styles, {
|
|
121
|
-
[
|
|
97
|
+
[getSelfSpacingVar('row')]: spacing,
|
|
98
|
+
'> *': {
|
|
99
|
+
[getParentSpacingVar('row')]: spacing
|
|
100
|
+
}
|
|
122
101
|
});
|
|
123
102
|
});
|
|
124
103
|
return styles;
|
|
@@ -130,15 +109,14 @@ export const generateGridColumnSpacingStyles = ({
|
|
|
130
109
|
if (!ownerState.container) {
|
|
131
110
|
return {};
|
|
132
111
|
}
|
|
133
|
-
const
|
|
134
|
-
const styles = isNestedContainer(ownerState) ? {
|
|
135
|
-
// Set the default spacing as its parent spacing.
|
|
136
|
-
// It will be overridden if spacing props are provided
|
|
137
|
-
[`--Grid-columnSpacing${appendLevel(ownerState.unstable_level)}`]: getParentSpacing('column')
|
|
138
|
-
} : {};
|
|
112
|
+
const styles = {};
|
|
139
113
|
traverseBreakpoints(theme.breakpoints, ownerState.columnSpacing, (appendStyle, value) => {
|
|
114
|
+
const spacing = typeof value === 'string' ? value : theme.spacing?.(value);
|
|
140
115
|
appendStyle(styles, {
|
|
141
|
-
[
|
|
116
|
+
[getSelfSpacingVar('column')]: spacing,
|
|
117
|
+
'> *': {
|
|
118
|
+
[getParentSpacingVar('column')]: spacing
|
|
119
|
+
}
|
|
142
120
|
});
|
|
143
121
|
});
|
|
144
122
|
return styles;
|
|
@@ -161,7 +139,6 @@ export const generateGridDirectionStyles = ({
|
|
|
161
139
|
export const generateGridStyles = ({
|
|
162
140
|
ownerState
|
|
163
141
|
}) => {
|
|
164
|
-
const getSelfSpacing = createGetSelfSpacing(ownerState);
|
|
165
142
|
return {
|
|
166
143
|
minWidth: 0,
|
|
167
144
|
boxSizing: 'border-box',
|
|
@@ -171,7 +148,7 @@ export const generateGridStyles = ({
|
|
|
171
148
|
...(ownerState.wrap && ownerState.wrap !== 'wrap' && {
|
|
172
149
|
flexWrap: ownerState.wrap
|
|
173
150
|
}),
|
|
174
|
-
gap:
|
|
151
|
+
gap: `var(${getSelfSpacingVar('row')}) var(${getSelfSpacingVar('column')})`
|
|
175
152
|
})
|
|
176
153
|
};
|
|
177
154
|
};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import _formatMuiErrorMessage from "@mui/utils/formatMuiErrorMessage";
|
|
2
2
|
/* eslint-disable @typescript-eslint/naming-convention */
|
|
3
3
|
import clamp from '@mui/utils/clamp';
|
|
4
|
+
|
|
4
5
|
/**
|
|
5
6
|
* Returns a number whose value is limited to the given range.
|
|
6
7
|
* @param {number} value The value to be clamped
|
|
@@ -56,8 +57,7 @@ export function decomposeColor(color) {
|
|
|
56
57
|
const marker = color.indexOf('(');
|
|
57
58
|
const type = color.substring(0, marker);
|
|
58
59
|
if (!['rgb', 'rgba', 'hsl', 'hsla', 'color'].includes(type)) {
|
|
59
|
-
throw new Error(process.env.NODE_ENV !== "production" ? `MUI: Unsupported \`${color}\` color.
|
|
60
|
-
The following formats are supported: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color().` : _formatMuiErrorMessage(9, color));
|
|
60
|
+
throw new Error(process.env.NODE_ENV !== "production" ? `MUI: Unsupported \`${color}\` color.\n` + 'The following formats are supported: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color().' : _formatMuiErrorMessage(9, color));
|
|
61
61
|
}
|
|
62
62
|
let values = color.substring(marker + 1, color.length - 1);
|
|
63
63
|
let colorSpace;
|
|
@@ -68,8 +68,7 @@ The following formats are supported: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()
|
|
|
68
68
|
values[3] = values[3].slice(1);
|
|
69
69
|
}
|
|
70
70
|
if (!['srgb', 'display-p3', 'a98-rgb', 'prophoto-rgb', 'rec-2020'].includes(colorSpace)) {
|
|
71
|
-
throw new Error(process.env.NODE_ENV !== "production" ? `MUI: unsupported \`${colorSpace}\` color space.
|
|
72
|
-
The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rgb, rec-2020.` : _formatMuiErrorMessage(10, colorSpace));
|
|
71
|
+
throw new Error(process.env.NODE_ENV !== "production" ? `MUI: unsupported \`${colorSpace}\` color space.\n` + 'The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rgb, rec-2020.' : _formatMuiErrorMessage(10, colorSpace));
|
|
73
72
|
}
|
|
74
73
|
} else {
|
|
75
74
|
values = values.split(',');
|