@mui/system 5.13.1 → 5.13.5
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 +184 -4
- package/Container/createContainer.js +35 -41
- package/GlobalStyles/GlobalStyles.d.ts +2 -2
- package/Stack/createStack.js +26 -24
- package/ThemeProvider/ThemeProvider.js +5 -9
- package/Unstable_Grid/createGrid.js +23 -21
- package/Unstable_Grid/gridGenerator.d.ts +1 -6
- package/Unstable_Grid/gridGenerator.js +26 -71
- package/Unstable_Grid/index.d.ts +1 -0
- package/Unstable_Grid/index.js +9 -1
- package/Unstable_Grid/traverseBreakpoints.d.ts +7 -0
- package/Unstable_Grid/traverseBreakpoints.js +50 -0
- package/breakpoints.js +6 -7
- package/createBox.js +12 -9
- package/createStyled.js +32 -40
- package/createTheme/createBreakpoints.js +26 -24
- package/createTheme/createTheme.js +14 -18
- package/cssVars/createCssVarsProvider.js +26 -21
- package/cssVars/createCssVarsTheme.js +10 -10
- package/cssVars/getInitColorSchemeScript.d.ts +2 -2
- package/cssVars/prepareCssVars.js +12 -13
- package/cssVars/useCurrentColorScheme.js +11 -17
- package/esm/Container/createContainer.js +35 -41
- package/esm/Stack/createStack.js +26 -24
- package/esm/ThemeProvider/ThemeProvider.js +5 -9
- package/esm/Unstable_Grid/createGrid.js +23 -21
- package/esm/Unstable_Grid/gridGenerator.js +18 -62
- package/esm/Unstable_Grid/index.js +2 -1
- package/esm/Unstable_Grid/traverseBreakpoints.js +42 -0
- package/esm/breakpoints.js +6 -7
- package/esm/createBox.js +12 -9
- package/esm/createStyled.js +31 -38
- package/esm/createTheme/createBreakpoints.js +25 -24
- package/esm/createTheme/createTheme.js +14 -18
- package/esm/cssVars/createCssVarsProvider.js +26 -21
- package/esm/cssVars/createCssVarsTheme.js +10 -10
- package/esm/cssVars/prepareCssVars.js +12 -13
- package/esm/cssVars/useCurrentColorScheme.js +10 -17
- package/esm/propsToClassKey.js +5 -3
- package/esm/styleFunctionSx/extendSxProp.js +10 -14
- package/index.js +1 -1
- package/legacy/Container/createContainer.js +6 -7
- package/legacy/Stack/createStack.js +5 -6
- package/legacy/ThemeProvider/ThemeProvider.js +3 -4
- package/legacy/Unstable_Grid/createGrid.js +4 -6
- package/legacy/Unstable_Grid/gridGenerator.js +7 -54
- package/legacy/Unstable_Grid/index.js +2 -1
- package/legacy/Unstable_Grid/traverseBreakpoints.js +48 -0
- package/legacy/breakpoints.js +3 -5
- package/legacy/createBox.js +2 -4
- package/legacy/createStyled.js +11 -13
- package/legacy/createTheme/createBreakpoints.js +3 -4
- package/legacy/createTheme/createTheme.js +4 -6
- package/legacy/cssVars/createCssVarsProvider.js +5 -6
- package/legacy/cssVars/createCssVarsTheme.js +2 -4
- package/legacy/cssVars/prepareCssVars.js +3 -5
- package/legacy/cssVars/useCurrentColorScheme.js +7 -9
- package/legacy/index.js +1 -1
- package/legacy/styleFunctionSx/extendSxProp.js +4 -6
- package/modern/Container/createContainer.js +35 -41
- package/modern/Stack/createStack.js +26 -24
- package/modern/ThemeProvider/ThemeProvider.js +5 -9
- package/modern/Unstable_Grid/createGrid.js +23 -21
- package/modern/Unstable_Grid/gridGenerator.js +18 -62
- package/modern/Unstable_Grid/index.js +2 -1
- package/modern/Unstable_Grid/traverseBreakpoints.js +42 -0
- package/modern/breakpoints.js +6 -7
- package/modern/createBox.js +12 -9
- package/modern/createStyled.js +31 -38
- package/modern/createTheme/createBreakpoints.js +25 -24
- package/modern/createTheme/createTheme.js +14 -18
- package/modern/cssVars/createCssVarsProvider.js +26 -21
- package/modern/cssVars/createCssVarsTheme.js +10 -10
- package/modern/cssVars/prepareCssVars.js +12 -13
- package/modern/cssVars/useCurrentColorScheme.js +10 -17
- package/modern/index.js +1 -1
- package/modern/propsToClassKey.js +5 -3
- package/modern/styleFunctionSx/extendSxProp.js +10 -14
- package/package.json +2 -2
- package/propsToClassKey.js +6 -3
- package/styleFunctionSx/extendSxProp.js +10 -14
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
2
1
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
2
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
3
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
4
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
4
5
|
import _typeof from "@babel/runtime/helpers/esm/typeof";
|
|
5
6
|
import { formatMuiErrorMessage as _formatMuiErrorMessage } from "@mui/utils";
|
|
6
|
-
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; }
|
|
7
|
-
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; }
|
|
8
7
|
import * as React from 'react';
|
|
9
8
|
import PropTypes from 'prop-types';
|
|
10
9
|
import { deepmerge } from '@mui/utils';
|
|
@@ -144,7 +143,7 @@ export default function createCssVarsProvider(options) {
|
|
|
144
143
|
var _generateCssVars = generateCssVars(),
|
|
145
144
|
rootCss = _generateCssVars.css,
|
|
146
145
|
rootVars = _generateCssVars.vars; // 3. Start composing the theme object
|
|
147
|
-
var theme =
|
|
146
|
+
var theme = _extends({}, restThemeProp, {
|
|
148
147
|
components: components,
|
|
149
148
|
colorSchemes: colorSchemes,
|
|
150
149
|
cssVarPrefix: cssVarPrefix,
|
|
@@ -172,7 +171,7 @@ export default function createCssVarsProvider(options) {
|
|
|
172
171
|
Object.keys(scheme).forEach(function (schemeKey) {
|
|
173
172
|
if (scheme[schemeKey] && _typeof(scheme[schemeKey]) === 'object') {
|
|
174
173
|
// shallow merge the 1st level structure of the theme.
|
|
175
|
-
theme[schemeKey] =
|
|
174
|
+
theme[schemeKey] = _extends({}, theme[schemeKey], scheme[schemeKey]);
|
|
176
175
|
} else {
|
|
177
176
|
theme[schemeKey] = scheme[schemeKey];
|
|
178
177
|
}
|
|
@@ -345,7 +344,7 @@ export default function createCssVarsProvider(options) {
|
|
|
345
344
|
var defaultLightColorScheme = typeof designSystemColorScheme === 'string' ? designSystemColorScheme : designSystemColorScheme.light;
|
|
346
345
|
var defaultDarkColorScheme = typeof designSystemColorScheme === 'string' ? designSystemColorScheme : designSystemColorScheme.dark;
|
|
347
346
|
var getInitColorSchemeScript = function getInitColorSchemeScript(params) {
|
|
348
|
-
return systemGetInitColorSchemeScript(
|
|
347
|
+
return systemGetInitColorSchemeScript(_extends({
|
|
349
348
|
attribute: defaultAttribute,
|
|
350
349
|
colorSchemeStorageKey: defaultColorSchemeStorageKey,
|
|
351
350
|
defaultMode: designSystemMode,
|
|
@@ -1,13 +1,11 @@
|
|
|
1
|
-
import
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
3
|
-
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; }
|
|
4
|
-
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; }
|
|
5
3
|
import prepareCssVars from './prepareCssVars';
|
|
6
4
|
function createCssVarsTheme(theme) {
|
|
7
5
|
var cssVarPrefix = theme.cssVarPrefix,
|
|
8
6
|
shouldSkipGeneratingVar = theme.shouldSkipGeneratingVar,
|
|
9
7
|
otherTheme = _objectWithoutProperties(theme, ["cssVarPrefix", "shouldSkipGeneratingVar"]);
|
|
10
|
-
return
|
|
8
|
+
return _extends({}, theme, prepareCssVars(otherTheme, {
|
|
11
9
|
prefix: cssVarPrefix,
|
|
12
10
|
shouldSkipGeneratingVar: shouldSkipGeneratingVar
|
|
13
11
|
}));
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
import
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
3
3
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
4
|
-
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; }
|
|
5
|
-
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; }
|
|
6
4
|
import { deepmerge } from '@mui/utils';
|
|
7
5
|
import cssVarsParser from './cssVarsParser';
|
|
8
6
|
function prepareCssVars(theme, parserConfig) {
|
|
@@ -48,12 +46,12 @@ function prepareCssVars(theme, parserConfig) {
|
|
|
48
46
|
var generateCssVars = function generateCssVars(colorScheme) {
|
|
49
47
|
if (!colorScheme) {
|
|
50
48
|
return {
|
|
51
|
-
css:
|
|
49
|
+
css: _extends({}, rootCss),
|
|
52
50
|
vars: rootVars
|
|
53
51
|
};
|
|
54
52
|
}
|
|
55
53
|
return {
|
|
56
|
-
css:
|
|
54
|
+
css: _extends({}, colorSchemesMap[colorScheme].css),
|
|
57
55
|
vars: colorSchemesMap[colorScheme].vars
|
|
58
56
|
};
|
|
59
57
|
};
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import
|
|
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; }
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
4
2
|
import * as React from 'react';
|
|
5
3
|
import { DEFAULT_MODE_STORAGE_KEY, DEFAULT_COLOR_SCHEME_STORAGE_KEY } from './getInitColorSchemeScript';
|
|
6
4
|
export function getSystemMode(mode) {
|
|
@@ -89,7 +87,7 @@ export default function useCurrentColorScheme(options) {
|
|
|
89
87
|
} catch (e) {
|
|
90
88
|
// Unsupported
|
|
91
89
|
}
|
|
92
|
-
return
|
|
90
|
+
return _extends({}, currentState, {
|
|
93
91
|
mode: newMode,
|
|
94
92
|
systemMode: getSystemMode(newMode)
|
|
95
93
|
});
|
|
@@ -104,7 +102,7 @@ export default function useCurrentColorScheme(options) {
|
|
|
104
102
|
} catch (e) {
|
|
105
103
|
// Unsupported
|
|
106
104
|
}
|
|
107
|
-
return
|
|
105
|
+
return _extends({}, currentState, {
|
|
108
106
|
lightColorScheme: defaultLightColorScheme,
|
|
109
107
|
darkColorScheme: defaultDarkColorScheme
|
|
110
108
|
});
|
|
@@ -114,7 +112,7 @@ export default function useCurrentColorScheme(options) {
|
|
|
114
112
|
console.error("`".concat(value, "` does not exist in `theme.colorSchemes`."));
|
|
115
113
|
} else {
|
|
116
114
|
setState(function (currentState) {
|
|
117
|
-
var newState =
|
|
115
|
+
var newState = _extends({}, currentState);
|
|
118
116
|
processState(currentState, function (mode) {
|
|
119
117
|
try {
|
|
120
118
|
localStorage.setItem("".concat(colorSchemeStorageKey, "-").concat(mode), value);
|
|
@@ -133,7 +131,7 @@ export default function useCurrentColorScheme(options) {
|
|
|
133
131
|
}
|
|
134
132
|
} else {
|
|
135
133
|
setState(function (currentState) {
|
|
136
|
-
var newState =
|
|
134
|
+
var newState = _extends({}, currentState);
|
|
137
135
|
var newLightColorScheme = value.light === null ? defaultLightColorScheme : value.light;
|
|
138
136
|
var newDarkColorScheme = value.dark === null ? defaultDarkColorScheme : value.dark;
|
|
139
137
|
if (newLightColorScheme) {
|
|
@@ -167,7 +165,7 @@ export default function useCurrentColorScheme(options) {
|
|
|
167
165
|
var handleMediaQuery = React.useCallback(function (e) {
|
|
168
166
|
if (state.mode === 'system') {
|
|
169
167
|
setState(function (currentState) {
|
|
170
|
-
return
|
|
168
|
+
return _extends({}, currentState, {
|
|
171
169
|
systemMode: e != null && e.matches ? 'dark' : 'light'
|
|
172
170
|
});
|
|
173
171
|
});
|
|
@@ -223,7 +221,7 @@ export default function useCurrentColorScheme(options) {
|
|
|
223
221
|
}
|
|
224
222
|
return undefined;
|
|
225
223
|
}, [setColorScheme, setMode, modeStorageKey, colorSchemeStorageKey, joinedColorSchemes, defaultMode, storageWindow]);
|
|
226
|
-
return
|
|
224
|
+
return _extends({}, state, {
|
|
227
225
|
colorScheme: colorScheme,
|
|
228
226
|
setMode: setMode,
|
|
229
227
|
setColorScheme: setColorScheme
|
package/legacy/index.js
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
import
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
|
3
3
|
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
4
|
-
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; }
|
|
5
|
-
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; }
|
|
6
4
|
import { isPlainObject } from '@mui/utils';
|
|
7
5
|
import defaultSxConfig from './defaultSxConfig';
|
|
8
6
|
var splitProps = function splitProps(props) {
|
|
@@ -36,12 +34,12 @@ export default function extendSxProp(props) {
|
|
|
36
34
|
if (!isPlainObject(result)) {
|
|
37
35
|
return systemProps;
|
|
38
36
|
}
|
|
39
|
-
return
|
|
37
|
+
return _extends({}, systemProps, result);
|
|
40
38
|
};
|
|
41
39
|
} else {
|
|
42
|
-
finalSx =
|
|
40
|
+
finalSx = _extends({}, systemProps, inSx);
|
|
43
41
|
}
|
|
44
|
-
return
|
|
42
|
+
return _extends({}, otherProps, {
|
|
45
43
|
sx: finalSx
|
|
46
44
|
});
|
|
47
45
|
}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
2
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
|
+
const _excluded = ["className", "component", "disableGutters", "fixed", "maxWidth", "classes"];
|
|
1
4
|
import * as React from 'react';
|
|
2
5
|
import PropTypes from 'prop-types';
|
|
3
6
|
import clsx from 'clsx';
|
|
@@ -47,22 +50,20 @@ export default function createContainer(options = {}) {
|
|
|
47
50
|
const ContainerRoot = createStyledComponent(({
|
|
48
51
|
theme,
|
|
49
52
|
ownerState
|
|
50
|
-
}) => ({
|
|
53
|
+
}) => _extends({
|
|
51
54
|
width: '100%',
|
|
52
55
|
marginLeft: 'auto',
|
|
53
56
|
boxSizing: 'border-box',
|
|
54
57
|
marginRight: 'auto',
|
|
55
|
-
display: 'block'
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
}
|
|
65
|
-
})
|
|
58
|
+
display: 'block'
|
|
59
|
+
}, !ownerState.disableGutters && {
|
|
60
|
+
paddingLeft: theme.spacing(2),
|
|
61
|
+
paddingRight: theme.spacing(2),
|
|
62
|
+
// @ts-ignore module augmentation fails if custom breakpoints are used
|
|
63
|
+
[theme.breakpoints.up('sm')]: {
|
|
64
|
+
paddingLeft: theme.spacing(3),
|
|
65
|
+
paddingRight: theme.spacing(3)
|
|
66
|
+
}
|
|
66
67
|
}), ({
|
|
67
68
|
theme,
|
|
68
69
|
ownerState
|
|
@@ -79,58 +80,51 @@ export default function createContainer(options = {}) {
|
|
|
79
80
|
}, {}), ({
|
|
80
81
|
theme,
|
|
81
82
|
ownerState
|
|
82
|
-
}) => ({
|
|
83
|
+
}) => _extends({}, ownerState.maxWidth === 'xs' && {
|
|
83
84
|
// @ts-ignore module augmentation fails if custom breakpoints are used
|
|
84
|
-
|
|
85
|
+
[theme.breakpoints.up('xs')]: {
|
|
85
86
|
// @ts-ignore module augmentation fails if custom breakpoints are used
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
...(ownerState.maxWidth &&
|
|
87
|
+
maxWidth: Math.max(theme.breakpoints.values.xs, 444)
|
|
88
|
+
}
|
|
89
|
+
}, ownerState.maxWidth &&
|
|
90
|
+
// @ts-ignore module augmentation fails if custom breakpoints are used
|
|
91
|
+
ownerState.maxWidth !== 'xs' && {
|
|
92
92
|
// @ts-ignore module augmentation fails if custom breakpoints are used
|
|
93
|
-
ownerState.maxWidth
|
|
93
|
+
[theme.breakpoints.up(ownerState.maxWidth)]: {
|
|
94
94
|
// @ts-ignore module augmentation fails if custom breakpoints are used
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
maxWidth: `${theme.breakpoints.values[ownerState.maxWidth]}${theme.breakpoints.unit}`
|
|
98
|
-
}
|
|
99
|
-
})
|
|
95
|
+
maxWidth: `${theme.breakpoints.values[ownerState.maxWidth]}${theme.breakpoints.unit}`
|
|
96
|
+
}
|
|
100
97
|
}));
|
|
101
98
|
const Container = /*#__PURE__*/React.forwardRef(function Container(inProps, ref) {
|
|
102
99
|
const props = useThemeProps(inProps);
|
|
103
100
|
const {
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
const ownerState = {
|
|
113
|
-
...props,
|
|
101
|
+
className,
|
|
102
|
+
component = 'div',
|
|
103
|
+
disableGutters = false,
|
|
104
|
+
fixed = false,
|
|
105
|
+
maxWidth = 'lg'
|
|
106
|
+
} = props,
|
|
107
|
+
other = _objectWithoutPropertiesLoose(props, _excluded);
|
|
108
|
+
const ownerState = _extends({}, props, {
|
|
114
109
|
component,
|
|
115
110
|
disableGutters,
|
|
116
111
|
fixed,
|
|
117
112
|
maxWidth
|
|
118
|
-
};
|
|
113
|
+
});
|
|
119
114
|
|
|
120
115
|
// @ts-ignore module augmentation fails if custom breakpoints are used
|
|
121
116
|
const classes = useUtilityClasses(ownerState, componentName);
|
|
122
117
|
return (
|
|
123
118
|
/*#__PURE__*/
|
|
124
119
|
// @ts-ignore theme is injected by the styled util
|
|
125
|
-
_jsx(ContainerRoot, {
|
|
120
|
+
_jsx(ContainerRoot, _extends({
|
|
126
121
|
as: component
|
|
127
122
|
// @ts-ignore module augmentation fails if custom breakpoints are used
|
|
128
123
|
,
|
|
129
124
|
ownerState: ownerState,
|
|
130
125
|
className: clsx(classes.root, className),
|
|
131
|
-
ref: ref
|
|
132
|
-
|
|
133
|
-
})
|
|
126
|
+
ref: ref
|
|
127
|
+
}, other))
|
|
134
128
|
);
|
|
135
129
|
});
|
|
136
130
|
process.env.NODE_ENV !== "production" ? Container.propTypes /* remove-proptypes */ = {
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
2
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
|
+
const _excluded = ["component", "direction", "spacing", "divider", "children", "className", "useFlexGap"];
|
|
1
4
|
import * as React from 'react';
|
|
2
5
|
import PropTypes from 'prop-types';
|
|
3
6
|
import clsx from 'clsx';
|
|
@@ -55,18 +58,17 @@ export const style = ({
|
|
|
55
58
|
ownerState,
|
|
56
59
|
theme
|
|
57
60
|
}) => {
|
|
58
|
-
let styles = {
|
|
61
|
+
let styles = _extends({
|
|
59
62
|
display: 'flex',
|
|
60
|
-
flexDirection: 'column'
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
};
|
|
63
|
+
flexDirection: 'column'
|
|
64
|
+
}, handleBreakpoints({
|
|
65
|
+
theme
|
|
66
|
+
}, resolveBreakpointValues({
|
|
67
|
+
values: ownerState.direction,
|
|
68
|
+
breakpoints: theme.breakpoints.values
|
|
69
|
+
}), propValue => ({
|
|
70
|
+
flexDirection: propValue
|
|
71
|
+
})));
|
|
70
72
|
if (ownerState.spacing) {
|
|
71
73
|
const transformer = createUnarySpacing(theme);
|
|
72
74
|
const base = Object.keys(theme.breakpoints.values).reduce((acc, breakpoint) => {
|
|
@@ -130,29 +132,29 @@ export default function createStack(options = {}) {
|
|
|
130
132
|
const themeProps = useThemeProps(inProps);
|
|
131
133
|
const props = extendSxProp(themeProps); // `color` type conflicts with html color attribute.
|
|
132
134
|
const {
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
135
|
+
component = 'div',
|
|
136
|
+
direction = 'column',
|
|
137
|
+
spacing = 0,
|
|
138
|
+
divider,
|
|
139
|
+
children,
|
|
140
|
+
className,
|
|
141
|
+
useFlexGap = false
|
|
142
|
+
} = props,
|
|
143
|
+
other = _objectWithoutPropertiesLoose(props, _excluded);
|
|
142
144
|
const ownerState = {
|
|
143
145
|
direction,
|
|
144
146
|
spacing,
|
|
145
147
|
useFlexGap
|
|
146
148
|
};
|
|
147
149
|
const classes = useUtilityClasses();
|
|
148
|
-
return /*#__PURE__*/_jsx(StackRoot, {
|
|
150
|
+
return /*#__PURE__*/_jsx(StackRoot, _extends({
|
|
149
151
|
as: component,
|
|
150
152
|
ownerState: ownerState,
|
|
151
153
|
ref: ref,
|
|
152
|
-
className: clsx(classes.root, className)
|
|
153
|
-
|
|
154
|
+
className: clsx(classes.root, className)
|
|
155
|
+
}, other, {
|
|
154
156
|
children: divider ? joinChildren(children, divider) : children
|
|
155
|
-
});
|
|
157
|
+
}));
|
|
156
158
|
});
|
|
157
159
|
process.env.NODE_ENV !== "production" ? Stack.propTypes /* remove-proptypes */ = {
|
|
158
160
|
children: PropTypes.node,
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
1
2
|
import * as React from 'react';
|
|
2
3
|
import PropTypes from 'prop-types';
|
|
3
4
|
import { ThemeProvider as MuiThemeProvider, useTheme as usePrivateTheme } from '@mui/private-theming';
|
|
@@ -11,10 +12,9 @@ function useThemeScoping(themeId, upperTheme, localTheme, isPrivate = false) {
|
|
|
11
12
|
const resolvedTheme = themeId ? upperTheme[themeId] || upperTheme : upperTheme;
|
|
12
13
|
if (typeof localTheme === 'function') {
|
|
13
14
|
const mergedTheme = localTheme(resolvedTheme);
|
|
14
|
-
const result = themeId ? {
|
|
15
|
-
...upperTheme,
|
|
15
|
+
const result = themeId ? _extends({}, upperTheme, {
|
|
16
16
|
[themeId]: mergedTheme
|
|
17
|
-
} : mergedTheme;
|
|
17
|
+
}) : mergedTheme;
|
|
18
18
|
// must return a function for the private theme to NOT merge with the upper theme.
|
|
19
19
|
// see the test case "use provided theme from a callback" in ThemeProvider.test.js
|
|
20
20
|
if (isPrivate) {
|
|
@@ -22,13 +22,9 @@ function useThemeScoping(themeId, upperTheme, localTheme, isPrivate = false) {
|
|
|
22
22
|
}
|
|
23
23
|
return result;
|
|
24
24
|
}
|
|
25
|
-
return themeId ? {
|
|
26
|
-
...upperTheme,
|
|
25
|
+
return themeId ? _extends({}, upperTheme, {
|
|
27
26
|
[themeId]: localTheme
|
|
28
|
-
} : {
|
|
29
|
-
...upperTheme,
|
|
30
|
-
...localTheme
|
|
31
|
-
};
|
|
27
|
+
}) : _extends({}, upperTheme, localTheme);
|
|
32
28
|
}, [themeId, upperTheme, localTheme, isPrivate]);
|
|
33
29
|
}
|
|
34
30
|
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
+
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
|
+
const _excluded = ["className", "children", "columns", "container", "component", "direction", "wrap", "spacing", "rowSpacing", "columnSpacing", "disableEqualOverflow", "unstable_level"];
|
|
1
4
|
import * as React from 'react';
|
|
2
5
|
import PropTypes from 'prop-types';
|
|
3
6
|
import clsx from 'clsx';
|
|
@@ -52,20 +55,20 @@ export default function createGrid(options = {}) {
|
|
|
52
55
|
const props = extendSxProp(themeProps); // `color` type conflicts with html color attribute.
|
|
53
56
|
const overflow = React.useContext(OverflowContext);
|
|
54
57
|
const {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
58
|
+
className,
|
|
59
|
+
children,
|
|
60
|
+
columns: columnsProp = 12,
|
|
61
|
+
container = false,
|
|
62
|
+
component = 'div',
|
|
63
|
+
direction = 'row',
|
|
64
|
+
wrap = 'wrap',
|
|
65
|
+
spacing: spacingProp = 0,
|
|
66
|
+
rowSpacing: rowSpacingProp = spacingProp,
|
|
67
|
+
columnSpacing: columnSpacingProp = spacingProp,
|
|
68
|
+
disableEqualOverflow: themeDisableEqualOverflow,
|
|
69
|
+
unstable_level: level = 0
|
|
70
|
+
} = props,
|
|
71
|
+
rest = _objectWithoutPropertiesLoose(props, _excluded);
|
|
69
72
|
// Because `disableEqualOverflow` can be set from the theme's defaultProps, the **nested** grid should look at the instance props instead.
|
|
70
73
|
let disableEqualOverflow = themeDisableEqualOverflow;
|
|
71
74
|
if (level && themeDisableEqualOverflow !== undefined) {
|
|
@@ -88,8 +91,7 @@ export default function createGrid(options = {}) {
|
|
|
88
91
|
const spacing = inProps.spacing ?? (level ? undefined : spacingProp);
|
|
89
92
|
const rowSpacing = inProps.rowSpacing ?? inProps.spacing ?? (level ? undefined : rowSpacingProp);
|
|
90
93
|
const columnSpacing = inProps.columnSpacing ?? inProps.spacing ?? (level ? undefined : columnSpacingProp);
|
|
91
|
-
const ownerState = {
|
|
92
|
-
...props,
|
|
94
|
+
const ownerState = _extends({}, props, {
|
|
93
95
|
level,
|
|
94
96
|
columns,
|
|
95
97
|
container,
|
|
@@ -103,15 +105,15 @@ export default function createGrid(options = {}) {
|
|
|
103
105
|
disableEqualOverflow: disableEqualOverflow ?? overflow ?? false,
|
|
104
106
|
// use context value if exists.
|
|
105
107
|
parentDisableEqualOverflow: overflow // for nested grid
|
|
106
|
-
};
|
|
108
|
+
});
|
|
107
109
|
|
|
108
110
|
const classes = useUtilityClasses(ownerState, theme);
|
|
109
|
-
let result = /*#__PURE__*/_jsx(GridRoot, {
|
|
111
|
+
let result = /*#__PURE__*/_jsx(GridRoot, _extends({
|
|
110
112
|
ref: ref,
|
|
111
113
|
as: component,
|
|
112
114
|
ownerState: ownerState,
|
|
113
|
-
className: clsx(classes.root, className)
|
|
114
|
-
|
|
115
|
+
className: clsx(classes.root, className)
|
|
116
|
+
}, other, {
|
|
115
117
|
children: React.Children.map(children, child => {
|
|
116
118
|
if ( /*#__PURE__*/React.isValidElement(child) && isMuiElement(child, ['Grid'])) {
|
|
117
119
|
return /*#__PURE__*/React.cloneElement(child, {
|
|
@@ -120,7 +122,7 @@ export default function createGrid(options = {}) {
|
|
|
120
122
|
}
|
|
121
123
|
return child;
|
|
122
124
|
})
|
|
123
|
-
});
|
|
125
|
+
}));
|
|
124
126
|
if (disableEqualOverflow !== undefined && disableEqualOverflow !== (overflow ?? false)) {
|
|
125
127
|
// There are 2 possibilities that should wrap with the OverflowContext to communicate with the nested grids:
|
|
126
128
|
// 1. It is the root grid with `disableEqualOverflow`.
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
+
import { traverseBreakpoints } from './traverseBreakpoints';
|
|
1
3
|
function appendLevel(level) {
|
|
2
4
|
if (!level) {
|
|
3
5
|
return '';
|
|
@@ -26,48 +28,6 @@ function getParentColumns(ownerState) {
|
|
|
26
28
|
}
|
|
27
29
|
return `var(--Grid-columns${appendLevel(ownerState.unstable_level - 1)})`;
|
|
28
30
|
}
|
|
29
|
-
export const filterBreakpointKeys = (breakpointsKeys, responsiveKeys) => breakpointsKeys.filter(key => responsiveKeys.includes(key));
|
|
30
|
-
export const traverseBreakpoints = (breakpoints, responsive, iterator) => {
|
|
31
|
-
const smallestBreakpoint = breakpoints.keys[0]; // the keys is sorted from smallest to largest by `createBreakpoints`.
|
|
32
|
-
|
|
33
|
-
if (Array.isArray(responsive)) {
|
|
34
|
-
responsive.forEach((breakpointValue, index) => {
|
|
35
|
-
iterator((responsiveStyles, style) => {
|
|
36
|
-
if (index <= breakpoints.keys.length - 1) {
|
|
37
|
-
if (index === 0) {
|
|
38
|
-
Object.assign(responsiveStyles, style);
|
|
39
|
-
} else {
|
|
40
|
-
responsiveStyles[breakpoints.up(breakpoints.keys[index])] = style;
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
}, breakpointValue);
|
|
44
|
-
});
|
|
45
|
-
} else if (responsive && typeof responsive === 'object') {
|
|
46
|
-
// prevent null
|
|
47
|
-
// responsive could be a very big object, pick the smallest responsive values
|
|
48
|
-
|
|
49
|
-
const keys = Object.keys(responsive).length > breakpoints.keys.length ? breakpoints.keys : filterBreakpointKeys(breakpoints.keys, Object.keys(responsive));
|
|
50
|
-
keys.forEach(key => {
|
|
51
|
-
if (breakpoints.keys.indexOf(key) !== -1) {
|
|
52
|
-
// @ts-ignore already checked that responsive is an object
|
|
53
|
-
const breakpointValue = responsive[key];
|
|
54
|
-
if (breakpointValue !== undefined) {
|
|
55
|
-
iterator((responsiveStyles, style) => {
|
|
56
|
-
if (smallestBreakpoint === key) {
|
|
57
|
-
Object.assign(responsiveStyles, style);
|
|
58
|
-
} else {
|
|
59
|
-
responsiveStyles[breakpoints.up(key)] = style;
|
|
60
|
-
}
|
|
61
|
-
}, breakpointValue);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
});
|
|
65
|
-
} else if (typeof responsive === 'number' || typeof responsive === 'string') {
|
|
66
|
-
iterator((responsiveStyles, style) => {
|
|
67
|
-
Object.assign(responsiveStyles, style);
|
|
68
|
-
}, responsive);
|
|
69
|
-
}
|
|
70
|
-
};
|
|
71
31
|
export const generateGridSizeStyles = ({
|
|
72
32
|
theme,
|
|
73
33
|
ownerState
|
|
@@ -203,27 +163,23 @@ export const generateGridStyles = ({
|
|
|
203
163
|
}) => {
|
|
204
164
|
const getSelfSpacing = createGetSelfSpacing(ownerState);
|
|
205
165
|
const getParentSpacing = createGetParentSpacing(ownerState);
|
|
206
|
-
return {
|
|
166
|
+
return _extends({
|
|
207
167
|
minWidth: 0,
|
|
208
|
-
boxSizing: 'border-box'
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
})
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
padding: `${getParentSpacing('row')} 0px 0px ${getParentSpacing('column')}`
|
|
224
|
-
})
|
|
225
|
-
})
|
|
226
|
-
};
|
|
168
|
+
boxSizing: 'border-box'
|
|
169
|
+
}, ownerState.container && _extends({
|
|
170
|
+
display: 'flex',
|
|
171
|
+
flexWrap: 'wrap'
|
|
172
|
+
}, ownerState.wrap && ownerState.wrap !== 'wrap' && {
|
|
173
|
+
flexWrap: ownerState.wrap
|
|
174
|
+
}, {
|
|
175
|
+
margin: `calc(${getSelfSpacing('row')} / -2) calc(${getSelfSpacing('column')} / -2)`
|
|
176
|
+
}, ownerState.disableEqualOverflow && {
|
|
177
|
+
margin: `calc(${getSelfSpacing('row')} * -1) 0px 0px calc(${getSelfSpacing('column')} * -1)`
|
|
178
|
+
}), (!ownerState.container || isNestedContainer(ownerState)) && _extends({
|
|
179
|
+
padding: `calc(${getParentSpacing('row')} / 2) calc(${getParentSpacing('column')} / 2)`
|
|
180
|
+
}, (ownerState.disableEqualOverflow || ownerState.parentDisableEqualOverflow) && {
|
|
181
|
+
padding: `${getParentSpacing('row')} 0px 0px ${getParentSpacing('column')}`
|
|
182
|
+
}));
|
|
227
183
|
};
|
|
228
184
|
export const generateSizeClassNames = gridSize => {
|
|
229
185
|
const classNames = [];
|
|
@@ -2,4 +2,5 @@ export { default } from './Grid';
|
|
|
2
2
|
export { default as createGrid } from './createGrid';
|
|
3
3
|
export * from './GridProps';
|
|
4
4
|
export { default as gridClasses } from './gridClasses';
|
|
5
|
-
export * from './gridClasses';
|
|
5
|
+
export * from './gridClasses';
|
|
6
|
+
export { traverseBreakpoints as unstable_traverseBreakpoints } from './traverseBreakpoints';
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
export const filterBreakpointKeys = (breakpointsKeys, responsiveKeys) => breakpointsKeys.filter(key => responsiveKeys.includes(key));
|
|
2
|
+
export const traverseBreakpoints = (breakpoints, responsive, iterator) => {
|
|
3
|
+
const smallestBreakpoint = breakpoints.keys[0]; // the keys is sorted from smallest to largest by `createBreakpoints`.
|
|
4
|
+
|
|
5
|
+
if (Array.isArray(responsive)) {
|
|
6
|
+
responsive.forEach((breakpointValue, index) => {
|
|
7
|
+
iterator((responsiveStyles, style) => {
|
|
8
|
+
if (index <= breakpoints.keys.length - 1) {
|
|
9
|
+
if (index === 0) {
|
|
10
|
+
Object.assign(responsiveStyles, style);
|
|
11
|
+
} else {
|
|
12
|
+
responsiveStyles[breakpoints.up(breakpoints.keys[index])] = style;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}, breakpointValue);
|
|
16
|
+
});
|
|
17
|
+
} else if (responsive && typeof responsive === 'object') {
|
|
18
|
+
// prevent null
|
|
19
|
+
// responsive could be a very big object, pick the smallest responsive values
|
|
20
|
+
|
|
21
|
+
const keys = Object.keys(responsive).length > breakpoints.keys.length ? breakpoints.keys : filterBreakpointKeys(breakpoints.keys, Object.keys(responsive));
|
|
22
|
+
keys.forEach(key => {
|
|
23
|
+
if (breakpoints.keys.indexOf(key) !== -1) {
|
|
24
|
+
// @ts-ignore already checked that responsive is an object
|
|
25
|
+
const breakpointValue = responsive[key];
|
|
26
|
+
if (breakpointValue !== undefined) {
|
|
27
|
+
iterator((responsiveStyles, style) => {
|
|
28
|
+
if (smallestBreakpoint === key) {
|
|
29
|
+
Object.assign(responsiveStyles, style);
|
|
30
|
+
} else {
|
|
31
|
+
responsiveStyles[breakpoints.up(key)] = style;
|
|
32
|
+
}
|
|
33
|
+
}, breakpointValue);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
} else if (typeof responsive === 'number' || typeof responsive === 'string') {
|
|
38
|
+
iterator((responsiveStyles, style) => {
|
|
39
|
+
Object.assign(responsiveStyles, style);
|
|
40
|
+
}, responsive);
|
|
41
|
+
}
|
|
42
|
+
};
|