@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.
Files changed (81) hide show
  1. package/CHANGELOG.md +184 -4
  2. package/Container/createContainer.js +35 -41
  3. package/GlobalStyles/GlobalStyles.d.ts +2 -2
  4. package/Stack/createStack.js +26 -24
  5. package/ThemeProvider/ThemeProvider.js +5 -9
  6. package/Unstable_Grid/createGrid.js +23 -21
  7. package/Unstable_Grid/gridGenerator.d.ts +1 -6
  8. package/Unstable_Grid/gridGenerator.js +26 -71
  9. package/Unstable_Grid/index.d.ts +1 -0
  10. package/Unstable_Grid/index.js +9 -1
  11. package/Unstable_Grid/traverseBreakpoints.d.ts +7 -0
  12. package/Unstable_Grid/traverseBreakpoints.js +50 -0
  13. package/breakpoints.js +6 -7
  14. package/createBox.js +12 -9
  15. package/createStyled.js +32 -40
  16. package/createTheme/createBreakpoints.js +26 -24
  17. package/createTheme/createTheme.js +14 -18
  18. package/cssVars/createCssVarsProvider.js +26 -21
  19. package/cssVars/createCssVarsTheme.js +10 -10
  20. package/cssVars/getInitColorSchemeScript.d.ts +2 -2
  21. package/cssVars/prepareCssVars.js +12 -13
  22. package/cssVars/useCurrentColorScheme.js +11 -17
  23. package/esm/Container/createContainer.js +35 -41
  24. package/esm/Stack/createStack.js +26 -24
  25. package/esm/ThemeProvider/ThemeProvider.js +5 -9
  26. package/esm/Unstable_Grid/createGrid.js +23 -21
  27. package/esm/Unstable_Grid/gridGenerator.js +18 -62
  28. package/esm/Unstable_Grid/index.js +2 -1
  29. package/esm/Unstable_Grid/traverseBreakpoints.js +42 -0
  30. package/esm/breakpoints.js +6 -7
  31. package/esm/createBox.js +12 -9
  32. package/esm/createStyled.js +31 -38
  33. package/esm/createTheme/createBreakpoints.js +25 -24
  34. package/esm/createTheme/createTheme.js +14 -18
  35. package/esm/cssVars/createCssVarsProvider.js +26 -21
  36. package/esm/cssVars/createCssVarsTheme.js +10 -10
  37. package/esm/cssVars/prepareCssVars.js +12 -13
  38. package/esm/cssVars/useCurrentColorScheme.js +10 -17
  39. package/esm/propsToClassKey.js +5 -3
  40. package/esm/styleFunctionSx/extendSxProp.js +10 -14
  41. package/index.js +1 -1
  42. package/legacy/Container/createContainer.js +6 -7
  43. package/legacy/Stack/createStack.js +5 -6
  44. package/legacy/ThemeProvider/ThemeProvider.js +3 -4
  45. package/legacy/Unstable_Grid/createGrid.js +4 -6
  46. package/legacy/Unstable_Grid/gridGenerator.js +7 -54
  47. package/legacy/Unstable_Grid/index.js +2 -1
  48. package/legacy/Unstable_Grid/traverseBreakpoints.js +48 -0
  49. package/legacy/breakpoints.js +3 -5
  50. package/legacy/createBox.js +2 -4
  51. package/legacy/createStyled.js +11 -13
  52. package/legacy/createTheme/createBreakpoints.js +3 -4
  53. package/legacy/createTheme/createTheme.js +4 -6
  54. package/legacy/cssVars/createCssVarsProvider.js +5 -6
  55. package/legacy/cssVars/createCssVarsTheme.js +2 -4
  56. package/legacy/cssVars/prepareCssVars.js +3 -5
  57. package/legacy/cssVars/useCurrentColorScheme.js +7 -9
  58. package/legacy/index.js +1 -1
  59. package/legacy/styleFunctionSx/extendSxProp.js +4 -6
  60. package/modern/Container/createContainer.js +35 -41
  61. package/modern/Stack/createStack.js +26 -24
  62. package/modern/ThemeProvider/ThemeProvider.js +5 -9
  63. package/modern/Unstable_Grid/createGrid.js +23 -21
  64. package/modern/Unstable_Grid/gridGenerator.js +18 -62
  65. package/modern/Unstable_Grid/index.js +2 -1
  66. package/modern/Unstable_Grid/traverseBreakpoints.js +42 -0
  67. package/modern/breakpoints.js +6 -7
  68. package/modern/createBox.js +12 -9
  69. package/modern/createStyled.js +31 -38
  70. package/modern/createTheme/createBreakpoints.js +25 -24
  71. package/modern/createTheme/createTheme.js +14 -18
  72. package/modern/cssVars/createCssVarsProvider.js +26 -21
  73. package/modern/cssVars/createCssVarsTheme.js +10 -10
  74. package/modern/cssVars/prepareCssVars.js +12 -13
  75. package/modern/cssVars/useCurrentColorScheme.js +10 -17
  76. package/modern/index.js +1 -1
  77. package/modern/propsToClassKey.js +5 -3
  78. package/modern/styleFunctionSx/extendSxProp.js +10 -14
  79. package/package.json +2 -2
  80. package/propsToClassKey.js +6 -3
  81. package/styleFunctionSx/extendSxProp.js +10 -14
@@ -1,9 +1,12 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
- exports.traverseBreakpoints = exports.generateSpacingClassNames = exports.generateSizeClassNames = exports.generateGridStyles = exports.generateGridSizeStyles = exports.generateGridRowSpacingStyles = exports.generateGridOffsetStyles = exports.generateGridDirectionStyles = exports.generateGridColumnsStyles = exports.generateGridColumnSpacingStyles = exports.generateDirectionClasses = exports.filterBreakpointKeys = void 0;
7
+ exports.generateSpacingClassNames = exports.generateSizeClassNames = exports.generateGridStyles = exports.generateGridSizeStyles = exports.generateGridRowSpacingStyles = exports.generateGridOffsetStyles = exports.generateGridDirectionStyles = exports.generateGridColumnsStyles = exports.generateGridColumnSpacingStyles = exports.generateDirectionClasses = void 0;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ var _traverseBreakpoints = require("./traverseBreakpoints");
7
10
  function appendLevel(level) {
8
11
  if (!level) {
9
12
  return '';
@@ -32,57 +35,13 @@ function getParentColumns(ownerState) {
32
35
  }
33
36
  return `var(--Grid-columns${appendLevel(ownerState.unstable_level - 1)})`;
34
37
  }
35
- const filterBreakpointKeys = (breakpointsKeys, responsiveKeys) => breakpointsKeys.filter(key => responsiveKeys.includes(key));
36
- exports.filterBreakpointKeys = filterBreakpointKeys;
37
- const traverseBreakpoints = (breakpoints, responsive, iterator) => {
38
- const smallestBreakpoint = breakpoints.keys[0]; // the keys is sorted from smallest to largest by `createBreakpoints`.
39
-
40
- if (Array.isArray(responsive)) {
41
- responsive.forEach((breakpointValue, index) => {
42
- iterator((responsiveStyles, style) => {
43
- if (index <= breakpoints.keys.length - 1) {
44
- if (index === 0) {
45
- Object.assign(responsiveStyles, style);
46
- } else {
47
- responsiveStyles[breakpoints.up(breakpoints.keys[index])] = style;
48
- }
49
- }
50
- }, breakpointValue);
51
- });
52
- } else if (responsive && typeof responsive === 'object') {
53
- // prevent null
54
- // responsive could be a very big object, pick the smallest responsive values
55
-
56
- const keys = Object.keys(responsive).length > breakpoints.keys.length ? breakpoints.keys : filterBreakpointKeys(breakpoints.keys, Object.keys(responsive));
57
- keys.forEach(key => {
58
- if (breakpoints.keys.indexOf(key) !== -1) {
59
- // @ts-ignore already checked that responsive is an object
60
- const breakpointValue = responsive[key];
61
- if (breakpointValue !== undefined) {
62
- iterator((responsiveStyles, style) => {
63
- if (smallestBreakpoint === key) {
64
- Object.assign(responsiveStyles, style);
65
- } else {
66
- responsiveStyles[breakpoints.up(key)] = style;
67
- }
68
- }, breakpointValue);
69
- }
70
- }
71
- });
72
- } else if (typeof responsive === 'number' || typeof responsive === 'string') {
73
- iterator((responsiveStyles, style) => {
74
- Object.assign(responsiveStyles, style);
75
- }, responsive);
76
- }
77
- };
78
- exports.traverseBreakpoints = traverseBreakpoints;
79
38
  const generateGridSizeStyles = ({
80
39
  theme,
81
40
  ownerState
82
41
  }) => {
83
42
  const getSelfSpacing = createGetSelfSpacing(ownerState);
84
43
  const styles = {};
85
- traverseBreakpoints(theme.breakpoints, ownerState.gridSize, (appendStyle, value) => {
44
+ (0, _traverseBreakpoints.traverseBreakpoints)(theme.breakpoints, ownerState.gridSize, (appendStyle, value) => {
86
45
  let style = {};
87
46
  if (value === true) {
88
47
  style = {
@@ -117,7 +76,7 @@ const generateGridOffsetStyles = ({
117
76
  ownerState
118
77
  }) => {
119
78
  const styles = {};
120
- traverseBreakpoints(theme.breakpoints, ownerState.gridOffset, (appendStyle, value) => {
79
+ (0, _traverseBreakpoints.traverseBreakpoints)(theme.breakpoints, ownerState.gridOffset, (appendStyle, value) => {
121
80
  let style = {};
122
81
  if (value === 'auto') {
123
82
  style = {
@@ -146,7 +105,7 @@ const generateGridColumnsStyles = ({
146
105
  } : {
147
106
  '--Grid-columns': 12
148
107
  };
149
- traverseBreakpoints(theme.breakpoints, ownerState.columns, (appendStyle, value) => {
108
+ (0, _traverseBreakpoints.traverseBreakpoints)(theme.breakpoints, ownerState.columns, (appendStyle, value) => {
150
109
  appendStyle(styles, {
151
110
  [`--Grid-columns${appendLevel(ownerState.unstable_level)}`]: value
152
111
  });
@@ -167,7 +126,7 @@ const generateGridRowSpacingStyles = ({
167
126
  // It will be overridden if spacing props are provided
168
127
  [`--Grid-rowSpacing${appendLevel(ownerState.unstable_level)}`]: getParentSpacing('row')
169
128
  } : {};
170
- traverseBreakpoints(theme.breakpoints, ownerState.rowSpacing, (appendStyle, value) => {
129
+ (0, _traverseBreakpoints.traverseBreakpoints)(theme.breakpoints, ownerState.rowSpacing, (appendStyle, value) => {
171
130
  var _theme$spacing;
172
131
  appendStyle(styles, {
173
132
  [`--Grid-rowSpacing${appendLevel(ownerState.unstable_level)}`]: typeof value === 'string' ? value : (_theme$spacing = theme.spacing) == null ? void 0 : _theme$spacing.call(theme, value)
@@ -189,7 +148,7 @@ const generateGridColumnSpacingStyles = ({
189
148
  // It will be overridden if spacing props are provided
190
149
  [`--Grid-columnSpacing${appendLevel(ownerState.unstable_level)}`]: getParentSpacing('column')
191
150
  } : {};
192
- traverseBreakpoints(theme.breakpoints, ownerState.columnSpacing, (appendStyle, value) => {
151
+ (0, _traverseBreakpoints.traverseBreakpoints)(theme.breakpoints, ownerState.columnSpacing, (appendStyle, value) => {
193
152
  var _theme$spacing2;
194
153
  appendStyle(styles, {
195
154
  [`--Grid-columnSpacing${appendLevel(ownerState.unstable_level)}`]: typeof value === 'string' ? value : (_theme$spacing2 = theme.spacing) == null ? void 0 : _theme$spacing2.call(theme, value)
@@ -206,7 +165,7 @@ const generateGridDirectionStyles = ({
206
165
  return {};
207
166
  }
208
167
  const styles = {};
209
- traverseBreakpoints(theme.breakpoints, ownerState.direction, (appendStyle, value) => {
168
+ (0, _traverseBreakpoints.traverseBreakpoints)(theme.breakpoints, ownerState.direction, (appendStyle, value) => {
210
169
  appendStyle(styles, {
211
170
  flexDirection: value
212
171
  });
@@ -219,27 +178,23 @@ const generateGridStyles = ({
219
178
  }) => {
220
179
  const getSelfSpacing = createGetSelfSpacing(ownerState);
221
180
  const getParentSpacing = createGetParentSpacing(ownerState);
222
- return {
181
+ return (0, _extends2.default)({
223
182
  minWidth: 0,
224
- boxSizing: 'border-box',
225
- ...(ownerState.container && {
226
- display: 'flex',
227
- flexWrap: 'wrap',
228
- ...(ownerState.wrap && ownerState.wrap !== 'wrap' && {
229
- flexWrap: ownerState.wrap
230
- }),
231
- margin: `calc(${getSelfSpacing('row')} / -2) calc(${getSelfSpacing('column')} / -2)`,
232
- ...(ownerState.disableEqualOverflow && {
233
- margin: `calc(${getSelfSpacing('row')} * -1) 0px 0px calc(${getSelfSpacing('column')} * -1)`
234
- })
235
- }),
236
- ...((!ownerState.container || isNestedContainer(ownerState)) && {
237
- padding: `calc(${getParentSpacing('row')} / 2) calc(${getParentSpacing('column')} / 2)`,
238
- ...((ownerState.disableEqualOverflow || ownerState.parentDisableEqualOverflow) && {
239
- padding: `${getParentSpacing('row')} 0px 0px ${getParentSpacing('column')}`
240
- })
241
- })
242
- };
183
+ boxSizing: 'border-box'
184
+ }, ownerState.container && (0, _extends2.default)({
185
+ display: 'flex',
186
+ flexWrap: 'wrap'
187
+ }, ownerState.wrap && ownerState.wrap !== 'wrap' && {
188
+ flexWrap: ownerState.wrap
189
+ }, {
190
+ margin: `calc(${getSelfSpacing('row')} / -2) calc(${getSelfSpacing('column')} / -2)`
191
+ }, ownerState.disableEqualOverflow && {
192
+ margin: `calc(${getSelfSpacing('row')} * -1) 0px 0px calc(${getSelfSpacing('column')} * -1)`
193
+ }), (!ownerState.container || isNestedContainer(ownerState)) && (0, _extends2.default)({
194
+ padding: `calc(${getParentSpacing('row')} / 2) calc(${getParentSpacing('column')} / 2)`
195
+ }, (ownerState.disableEqualOverflow || ownerState.parentDisableEqualOverflow) && {
196
+ padding: `${getParentSpacing('row')} 0px 0px ${getParentSpacing('column')}`
197
+ }));
243
198
  };
244
199
  exports.generateGridStyles = generateGridStyles;
245
200
  const generateSizeClassNames = gridSize => {
@@ -3,3 +3,4 @@ export { default as createGrid } from './createGrid';
3
3
  export * from './GridProps';
4
4
  export { default as gridClasses } from './gridClasses';
5
5
  export * from './gridClasses';
6
+ export { traverseBreakpoints as unstable_traverseBreakpoints } from './traverseBreakpoints';
@@ -6,7 +6,8 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  var _exportNames = {
8
8
  createGrid: true,
9
- gridClasses: true
9
+ gridClasses: true,
10
+ unstable_traverseBreakpoints: true
10
11
  };
11
12
  Object.defineProperty(exports, "createGrid", {
12
13
  enumerable: true,
@@ -26,6 +27,12 @@ Object.defineProperty(exports, "gridClasses", {
26
27
  return _gridClasses.default;
27
28
  }
28
29
  });
30
+ Object.defineProperty(exports, "unstable_traverseBreakpoints", {
31
+ enumerable: true,
32
+ get: function () {
33
+ return _traverseBreakpoints.traverseBreakpoints;
34
+ }
35
+ });
29
36
  var _Grid = _interopRequireDefault(require("./Grid"));
30
37
  var _createGrid = _interopRequireDefault(require("./createGrid"));
31
38
  var _GridProps = require("./GridProps");
@@ -52,5 +59,6 @@ Object.keys(_gridClasses).forEach(function (key) {
52
59
  }
53
60
  });
54
61
  });
62
+ var _traverseBreakpoints = require("./traverseBreakpoints");
55
63
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
56
64
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -0,0 +1,7 @@
1
+ import { Breakpoints, Breakpoint } from '../createTheme/createBreakpoints';
2
+ export declare const filterBreakpointKeys: (breakpointsKeys: Breakpoint[], responsiveKeys: string[]) => Breakpoint[];
3
+ interface Iterator<T> {
4
+ (appendStyle: (responsiveStyles: Record<string, any>, style: object) => void, value: T): void;
5
+ }
6
+ export declare const traverseBreakpoints: <T = unknown>(breakpoints: Breakpoints, responsive: Record<string, any> | T | T[] | undefined, iterator: Iterator<T>) => void;
7
+ export {};
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.traverseBreakpoints = exports.filterBreakpointKeys = void 0;
7
+ const filterBreakpointKeys = (breakpointsKeys, responsiveKeys) => breakpointsKeys.filter(key => responsiveKeys.includes(key));
8
+ exports.filterBreakpointKeys = filterBreakpointKeys;
9
+ const traverseBreakpoints = (breakpoints, responsive, iterator) => {
10
+ const smallestBreakpoint = breakpoints.keys[0]; // the keys is sorted from smallest to largest by `createBreakpoints`.
11
+
12
+ if (Array.isArray(responsive)) {
13
+ responsive.forEach((breakpointValue, index) => {
14
+ iterator((responsiveStyles, style) => {
15
+ if (index <= breakpoints.keys.length - 1) {
16
+ if (index === 0) {
17
+ Object.assign(responsiveStyles, style);
18
+ } else {
19
+ responsiveStyles[breakpoints.up(breakpoints.keys[index])] = style;
20
+ }
21
+ }
22
+ }, breakpointValue);
23
+ });
24
+ } else if (responsive && typeof responsive === 'object') {
25
+ // prevent null
26
+ // responsive could be a very big object, pick the smallest responsive values
27
+
28
+ const keys = Object.keys(responsive).length > breakpoints.keys.length ? breakpoints.keys : filterBreakpointKeys(breakpoints.keys, Object.keys(responsive));
29
+ keys.forEach(key => {
30
+ if (breakpoints.keys.indexOf(key) !== -1) {
31
+ // @ts-ignore already checked that responsive is an object
32
+ const breakpointValue = responsive[key];
33
+ if (breakpointValue !== undefined) {
34
+ iterator((responsiveStyles, style) => {
35
+ if (smallestBreakpoint === key) {
36
+ Object.assign(responsiveStyles, style);
37
+ } else {
38
+ responsiveStyles[breakpoints.up(key)] = style;
39
+ }
40
+ }, breakpointValue);
41
+ }
42
+ }
43
+ });
44
+ } else if (typeof responsive === 'number' || typeof responsive === 'string') {
45
+ iterator((responsiveStyles, style) => {
46
+ Object.assign(responsiveStyles, style);
47
+ }, responsive);
48
+ }
49
+ };
50
+ exports.traverseBreakpoints = traverseBreakpoints;
package/breakpoints.js CHANGED
@@ -12,6 +12,7 @@ exports.mergeBreakpointsInOrder = mergeBreakpointsInOrder;
12
12
  exports.removeUnusedBreakpoints = removeUnusedBreakpoints;
13
13
  exports.resolveBreakpointValues = resolveBreakpointValues;
14
14
  exports.values = void 0;
15
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
15
16
  var _propTypes = _interopRequireDefault(require("prop-types"));
16
17
  var _utils = require("@mui/utils");
17
18
  var _merge = _interopRequireDefault(require("./merge"));
@@ -71,23 +72,21 @@ function breakpoints(styleFunction) {
71
72
  const extended = themeBreakpoints.keys.reduce((acc, key) => {
72
73
  if (props[key]) {
73
74
  acc = acc || {};
74
- acc[themeBreakpoints.up(key)] = styleFunction({
75
- theme,
76
- ...props[key]
77
- });
75
+ acc[themeBreakpoints.up(key)] = styleFunction((0, _extends2.default)({
76
+ theme
77
+ }, props[key]));
78
78
  }
79
79
  return acc;
80
80
  }, null);
81
81
  return (0, _merge.default)(base, extended);
82
82
  };
83
- newStyleFunction.propTypes = process.env.NODE_ENV !== 'production' ? {
84
- ...styleFunction.propTypes,
83
+ newStyleFunction.propTypes = process.env.NODE_ENV !== 'production' ? (0, _extends2.default)({}, styleFunction.propTypes, {
85
84
  xs: _propTypes.default.object,
86
85
  sm: _propTypes.default.object,
87
86
  md: _propTypes.default.object,
88
87
  lg: _propTypes.default.object,
89
88
  xl: _propTypes.default.object
90
- } : {};
89
+ }) : {};
91
90
  newStyleFunction.filterProps = ['xs', 'sm', 'md', 'lg', 'xl', ...styleFunction.filterProps];
92
91
  return newStyleFunction;
93
92
  }
package/createBox.js CHANGED
@@ -5,12 +5,15 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.default = createBox;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
8
10
  var React = _interopRequireWildcard(require("react"));
9
11
  var _clsx = _interopRequireDefault(require("clsx"));
10
12
  var _styledEngine = _interopRequireDefault(require("@mui/styled-engine"));
11
13
  var _styleFunctionSx = _interopRequireWildcard(require("./styleFunctionSx"));
12
14
  var _useTheme = _interopRequireDefault(require("./useTheme"));
13
15
  var _jsxRuntime = require("react/jsx-runtime");
16
+ const _excluded = ["className", "component"];
14
17
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
15
18
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
16
19
  function createBox(options = {}) {
@@ -25,18 +28,18 @@ function createBox(options = {}) {
25
28
  })(_styleFunctionSx.default);
26
29
  const Box = /*#__PURE__*/React.forwardRef(function Box(inProps, ref) {
27
30
  const theme = (0, _useTheme.default)(defaultTheme);
28
- const {
29
- className,
30
- component = 'div',
31
- ...other
32
- } = (0, _styleFunctionSx.extendSxProp)(inProps);
33
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(BoxRoot, {
31
+ const _extendSxProp = (0, _styleFunctionSx.extendSxProp)(inProps),
32
+ {
33
+ className,
34
+ component = 'div'
35
+ } = _extendSxProp,
36
+ other = (0, _objectWithoutPropertiesLoose2.default)(_extendSxProp, _excluded);
37
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(BoxRoot, (0, _extends2.default)({
34
38
  as: component,
35
39
  ref: ref,
36
40
  className: (0, _clsx.default)(className, generateClassName ? generateClassName(defaultClassName) : defaultClassName),
37
- theme: themeId ? theme[themeId] || theme : theme,
38
- ...other
39
- });
41
+ theme: themeId ? theme[themeId] || theme : theme
42
+ }, other));
40
43
  });
41
44
  return Box;
42
45
  }
package/createStyled.js CHANGED
@@ -7,15 +7,17 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.default = createStyled;
8
8
  exports.shouldForwardProp = shouldForwardProp;
9
9
  exports.systemDefaultTheme = void 0;
10
+ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
11
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
12
  var _styledEngine = _interopRequireWildcard(require("@mui/styled-engine"));
11
13
  var _utils = require("@mui/utils");
12
14
  var _createTheme = _interopRequireDefault(require("./createTheme"));
13
15
  var _propsToClassKey = _interopRequireDefault(require("./propsToClassKey"));
14
16
  var _styleFunctionSx = _interopRequireDefault(require("./styleFunctionSx"));
17
+ const _excluded = ["name", "slot", "skipVariantsResolver", "skipSx", "overridesResolver"];
18
+ /* eslint-disable no-underscore-dangle */
15
19
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
16
20
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
17
- /* eslint-disable no-underscore-dangle */
18
-
19
21
  function isEmpty(obj) {
20
22
  return Object.keys(obj).length === 0;
21
23
  }
@@ -93,27 +95,25 @@ function createStyled(input = {}) {
93
95
  slotShouldForwardProp = shouldForwardProp
94
96
  } = input;
95
97
  const systemSx = props => {
96
- return (0, _styleFunctionSx.default)({
97
- ...props,
98
- theme: resolveTheme({
99
- ...props,
98
+ return (0, _styleFunctionSx.default)((0, _extends2.default)({}, props, {
99
+ theme: resolveTheme((0, _extends2.default)({}, props, {
100
100
  defaultTheme,
101
101
  themeId
102
- })
103
- });
102
+ }))
103
+ }));
104
104
  };
105
105
  systemSx.__mui_systemSx = true;
106
106
  return (tag, inputOptions = {}) => {
107
107
  // Filter out the `sx` style function from the previous styled component to prevent unnecessary styles generated by the composite components.
108
108
  (0, _styledEngine.internal_processStyles)(tag, styles => styles.filter(style => !(style != null && style.__mui_systemSx)));
109
109
  const {
110
- name: componentName,
111
- slot: componentSlot,
112
- skipVariantsResolver: inputSkipVariantsResolver,
113
- skipSx: inputSkipSx,
114
- overridesResolver,
115
- ...options
116
- } = inputOptions;
110
+ name: componentName,
111
+ slot: componentSlot,
112
+ skipVariantsResolver: inputSkipVariantsResolver,
113
+ skipSx: inputSkipSx,
114
+ overridesResolver
115
+ } = inputOptions,
116
+ options = (0, _objectWithoutPropertiesLoose2.default)(inputOptions, _excluded);
117
117
 
118
118
  // if skipVariantsResolver option is defined, take the value, otherwise, true for root and false for other slots.
119
119
  const skipVariantsResolver = inputSkipVariantsResolver !== undefined ? inputSkipVariantsResolver : componentSlot && componentSlot !== 'Root' || false;
@@ -134,43 +134,38 @@ function createStyled(input = {}) {
134
134
  // for string (html) tag, preserve the behavior in emotion & styled-components.
135
135
  shouldForwardPropOption = undefined;
136
136
  }
137
- const defaultStyledResolver = (0, _styledEngine.default)(tag, {
137
+ const defaultStyledResolver = (0, _styledEngine.default)(tag, (0, _extends2.default)({
138
138
  shouldForwardProp: shouldForwardPropOption,
139
- label,
140
- ...options
141
- });
139
+ label
140
+ }, options));
142
141
  const muiStyledResolver = (styleArg, ...expressions) => {
143
142
  const expressionsWithDefaultTheme = expressions ? expressions.map(stylesArg => {
144
143
  // On the server Emotion doesn't use React.forwardRef for creating components, so the created
145
144
  // component stays as a function. This condition makes sure that we do not interpolate functions
146
145
  // which are basically components used as a selectors.
147
146
  return typeof stylesArg === 'function' && stylesArg.__emotion_real !== stylesArg ? props => {
148
- return stylesArg({
149
- ...props,
150
- theme: resolveTheme({
151
- ...props,
147
+ return stylesArg((0, _extends2.default)({}, props, {
148
+ theme: resolveTheme((0, _extends2.default)({}, props, {
152
149
  defaultTheme,
153
150
  themeId
154
- })
155
- });
151
+ }))
152
+ }));
156
153
  } : stylesArg;
157
154
  }) : [];
158
155
  let transformedStyleArg = styleArg;
159
156
  if (componentName && overridesResolver) {
160
157
  expressionsWithDefaultTheme.push(props => {
161
- const theme = resolveTheme({
162
- ...props,
158
+ const theme = resolveTheme((0, _extends2.default)({}, props, {
163
159
  defaultTheme,
164
160
  themeId
165
- });
161
+ }));
166
162
  const styleOverrides = getStyleOverrides(componentName, theme);
167
163
  if (styleOverrides) {
168
164
  const resolvedStyleOverrides = {};
169
165
  Object.entries(styleOverrides).forEach(([slotKey, slotStyle]) => {
170
- resolvedStyleOverrides[slotKey] = typeof slotStyle === 'function' ? slotStyle({
171
- ...props,
166
+ resolvedStyleOverrides[slotKey] = typeof slotStyle === 'function' ? slotStyle((0, _extends2.default)({}, props, {
172
167
  theme
173
- }) : slotStyle;
168
+ })) : slotStyle;
174
169
  });
175
170
  return overridesResolver(props, resolvedStyleOverrides);
176
171
  }
@@ -179,11 +174,10 @@ function createStyled(input = {}) {
179
174
  }
180
175
  if (componentName && !skipVariantsResolver) {
181
176
  expressionsWithDefaultTheme.push(props => {
182
- const theme = resolveTheme({
183
- ...props,
177
+ const theme = resolveTheme((0, _extends2.default)({}, props, {
184
178
  defaultTheme,
185
179
  themeId
186
- });
180
+ }));
187
181
  return variantsResolver(props, getVariantStyles(componentName, theme), theme, componentName);
188
182
  });
189
183
  }
@@ -202,14 +196,12 @@ function createStyled(input = {}) {
202
196
  // which are basically components used as a selectors.
203
197
  styleArg.__emotion_real !== styleArg) {
204
198
  // If the type is function, we need to define the default theme.
205
- transformedStyleArg = props => styleArg({
206
- ...props,
207
- theme: resolveTheme({
208
- ...props,
199
+ transformedStyleArg = props => styleArg((0, _extends2.default)({}, props, {
200
+ theme: resolveTheme((0, _extends2.default)({}, props, {
209
201
  defaultTheme,
210
202
  themeId
211
- })
212
- });
203
+ }))
204
+ }));
213
205
  }
214
206
  const Component = defaultStyledResolver(transformedStyleArg, ...expressionsWithDefaultTheme);
215
207
  if (process.env.NODE_ENV !== 'production') {
@@ -1,10 +1,14 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
7
  exports.breakpointKeys = void 0;
7
8
  exports.default = createBreakpoints;
9
+ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+ const _excluded = ["values", "unit", "step"];
8
12
  // Sorted ASC by size. That's important.
9
13
  // It can't be configured as it's used statically for propTypes.
10
14
  const breakpointKeys = ['xs', 'sm', 'md', 'lg', 'xl'];
@@ -17,34 +21,33 @@ const sortBreakpointsValues = values => {
17
21
  // Sort in ascending order
18
22
  breakpointsAsArray.sort((breakpoint1, breakpoint2) => breakpoint1.val - breakpoint2.val);
19
23
  return breakpointsAsArray.reduce((acc, obj) => {
20
- return {
21
- ...acc,
24
+ return (0, _extends2.default)({}, acc, {
22
25
  [obj.key]: obj.val
23
- };
26
+ });
24
27
  }, {});
25
28
  };
26
29
 
27
30
  // Keep in mind that @media is inclusive by the CSS specification.
28
31
  function createBreakpoints(breakpoints) {
29
32
  const {
30
- // The breakpoint **start** at this value.
31
- // For instance with the first breakpoint xs: [xs, sm).
32
- values = {
33
- xs: 0,
34
- // phone
35
- sm: 600,
36
- // tablet
37
- md: 900,
38
- // small laptop
39
- lg: 1200,
40
- // desktop
41
- xl: 1536 // large screen
42
- },
33
+ // The breakpoint **start** at this value.
34
+ // For instance with the first breakpoint xs: [xs, sm).
35
+ values = {
36
+ xs: 0,
37
+ // phone
38
+ sm: 600,
39
+ // tablet
40
+ md: 900,
41
+ // small laptop
42
+ lg: 1200,
43
+ // desktop
44
+ xl: 1536 // large screen
45
+ },
43
46
 
44
- unit = 'px',
45
- step = 5,
46
- ...other
47
- } = breakpoints;
47
+ unit = 'px',
48
+ step = 5
49
+ } = breakpoints,
50
+ other = (0, _objectWithoutPropertiesLoose2.default)(breakpoints, _excluded);
48
51
  const sortedValues = sortBreakpointsValues(values);
49
52
  const keys = Object.keys(sortedValues);
50
53
  function up(key) {
@@ -76,7 +79,7 @@ function createBreakpoints(breakpoints) {
76
79
  }
77
80
  return between(key, keys[keys.indexOf(key) + 1]).replace('@media', '@media not all and');
78
81
  }
79
- return {
82
+ return (0, _extends2.default)({
80
83
  keys,
81
84
  values: sortedValues,
82
85
  up,
@@ -84,7 +87,6 @@ function createBreakpoints(breakpoints) {
84
87
  between,
85
88
  only,
86
89
  not,
87
- unit,
88
- ...other
89
- };
90
+ unit
91
+ }, other);
90
92
  }
@@ -5,20 +5,23 @@ 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"));
8
10
  var _utils = require("@mui/utils");
9
11
  var _createBreakpoints = _interopRequireDefault(require("./createBreakpoints"));
10
12
  var _shape = _interopRequireDefault(require("./shape"));
11
13
  var _createSpacing = _interopRequireDefault(require("./createSpacing"));
12
14
  var _styleFunctionSx = _interopRequireDefault(require("../styleFunctionSx/styleFunctionSx"));
13
15
  var _defaultSxConfig = _interopRequireDefault(require("../styleFunctionSx/defaultSxConfig"));
16
+ const _excluded = ["breakpoints", "palette", "spacing", "shape"];
14
17
  function createTheme(options = {}, ...args) {
15
18
  const {
16
- breakpoints: breakpointsInput = {},
17
- palette: paletteInput = {},
18
- spacing: spacingInput,
19
- shape: shapeInput = {},
20
- ...other
21
- } = options;
19
+ breakpoints: breakpointsInput = {},
20
+ palette: paletteInput = {},
21
+ spacing: spacingInput,
22
+ shape: shapeInput = {}
23
+ } = options,
24
+ other = (0, _objectWithoutPropertiesLoose2.default)(options, _excluded);
22
25
  const breakpoints = (0, _createBreakpoints.default)(breakpointsInput);
23
26
  const spacing = (0, _createSpacing.default)(spacingInput);
24
27
  let muiTheme = (0, _utils.deepmerge)({
@@ -26,21 +29,14 @@ function createTheme(options = {}, ...args) {
26
29
  direction: 'ltr',
27
30
  components: {},
28
31
  // Inject component definitions.
29
- palette: {
30
- mode: 'light',
31
- ...paletteInput
32
- },
32
+ palette: (0, _extends2.default)({
33
+ mode: 'light'
34
+ }, paletteInput),
33
35
  spacing,
34
- shape: {
35
- ..._shape.default,
36
- ...shapeInput
37
- }
36
+ shape: (0, _extends2.default)({}, _shape.default, shapeInput)
38
37
  }, other);
39
38
  muiTheme = args.reduce((acc, argument) => (0, _utils.deepmerge)(acc, argument), muiTheme);
40
- muiTheme.unstable_sxConfig = {
41
- ..._defaultSxConfig.default,
42
- ...(other == null ? void 0 : other.unstable_sxConfig)
43
- };
39
+ muiTheme.unstable_sxConfig = (0, _extends2.default)({}, _defaultSxConfig.default, other == null ? void 0 : other.unstable_sxConfig);
44
40
  muiTheme.unstable_sx = function sx(props) {
45
41
  return (0, _styleFunctionSx.default)({
46
42
  sx: props,