@mui/system 5.13.1 → 5.13.2

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 (93) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/Container/Container.d.ts +13 -13
  3. package/Container/ContainerProps.d.ts +40 -40
  4. package/Container/containerClasses.d.ts +22 -22
  5. package/Container/createContainer.d.ts +18 -18
  6. package/Container/createContainer.js +35 -41
  7. package/GlobalStyles/GlobalStyles.d.ts +13 -13
  8. package/GlobalStyles/index.d.ts +2 -2
  9. package/Stack/Stack.d.ts +14 -14
  10. package/Stack/StackProps.d.ts +53 -53
  11. package/Stack/createStack.d.ts +21 -21
  12. package/Stack/createStack.js +26 -24
  13. package/Stack/index.d.ts +5 -5
  14. package/Stack/stackClasses.d.ts +8 -8
  15. package/ThemeProvider/ThemeProvider.js +5 -9
  16. package/Unstable_Grid/Grid.d.ts +12 -12
  17. package/Unstable_Grid/GridProps.d.ts +185 -185
  18. package/Unstable_Grid/createGrid.d.ts +11 -11
  19. package/Unstable_Grid/createGrid.js +23 -21
  20. package/Unstable_Grid/gridClasses.d.ts +20 -20
  21. package/Unstable_Grid/gridGenerator.d.ts +38 -38
  22. package/Unstable_Grid/gridGenerator.js +18 -20
  23. package/Unstable_Grid/index.d.ts +5 -5
  24. package/breakpoints.js +6 -7
  25. package/createBox.js +12 -9
  26. package/createStyled.js +32 -40
  27. package/createTheme/createBreakpoints.js +26 -24
  28. package/createTheme/createSpacing.d.ts +10 -10
  29. package/createTheme/createTheme.js +14 -18
  30. package/cssVars/createCssVarsProvider.js +20 -21
  31. package/cssVars/createCssVarsTheme.d.ts +15 -15
  32. package/cssVars/createCssVarsTheme.js +10 -10
  33. package/cssVars/createGetCssVar.d.ts +5 -5
  34. package/cssVars/cssVarsParser.d.ts +64 -64
  35. package/cssVars/getInitColorSchemeScript.d.ts +42 -42
  36. package/cssVars/index.d.ts +5 -5
  37. package/cssVars/prepareCssVars.d.ts +16 -16
  38. package/cssVars/prepareCssVars.js +12 -13
  39. package/cssVars/useCurrentColorScheme.d.ts +53 -53
  40. package/cssVars/useCurrentColorScheme.js +11 -17
  41. package/esm/Container/createContainer.js +35 -41
  42. package/esm/Stack/createStack.js +26 -24
  43. package/esm/ThemeProvider/ThemeProvider.js +5 -9
  44. package/esm/Unstable_Grid/createGrid.js +23 -21
  45. package/esm/Unstable_Grid/gridGenerator.js +17 -20
  46. package/esm/breakpoints.js +6 -7
  47. package/esm/createBox.js +12 -9
  48. package/esm/createStyled.js +31 -38
  49. package/esm/createTheme/createBreakpoints.js +25 -24
  50. package/esm/createTheme/createTheme.js +14 -18
  51. package/esm/cssVars/createCssVarsProvider.js +20 -21
  52. package/esm/cssVars/createCssVarsTheme.js +10 -10
  53. package/esm/cssVars/prepareCssVars.js +12 -13
  54. package/esm/cssVars/useCurrentColorScheme.js +10 -17
  55. package/esm/propsToClassKey.js +5 -3
  56. package/esm/styleFunctionSx/extendSxProp.js +10 -14
  57. package/index.js +1 -1
  58. package/legacy/Container/createContainer.js +6 -7
  59. package/legacy/Stack/createStack.js +5 -6
  60. package/legacy/ThemeProvider/ThemeProvider.js +3 -4
  61. package/legacy/Unstable_Grid/createGrid.js +4 -6
  62. package/legacy/Unstable_Grid/gridGenerator.js +4 -6
  63. package/legacy/breakpoints.js +3 -5
  64. package/legacy/createBox.js +2 -4
  65. package/legacy/createStyled.js +11 -13
  66. package/legacy/createTheme/createBreakpoints.js +3 -4
  67. package/legacy/createTheme/createTheme.js +4 -6
  68. package/legacy/cssVars/createCssVarsProvider.js +5 -6
  69. package/legacy/cssVars/createCssVarsTheme.js +2 -4
  70. package/legacy/cssVars/prepareCssVars.js +3 -5
  71. package/legacy/cssVars/useCurrentColorScheme.js +7 -9
  72. package/legacy/index.js +1 -1
  73. package/legacy/styleFunctionSx/extendSxProp.js +4 -6
  74. package/modern/Container/createContainer.js +35 -41
  75. package/modern/Stack/createStack.js +26 -24
  76. package/modern/ThemeProvider/ThemeProvider.js +5 -9
  77. package/modern/Unstable_Grid/createGrid.js +23 -21
  78. package/modern/Unstable_Grid/gridGenerator.js +17 -20
  79. package/modern/breakpoints.js +6 -7
  80. package/modern/createBox.js +12 -9
  81. package/modern/createStyled.js +31 -38
  82. package/modern/createTheme/createBreakpoints.js +25 -24
  83. package/modern/createTheme/createTheme.js +14 -18
  84. package/modern/cssVars/createCssVarsProvider.js +20 -21
  85. package/modern/cssVars/createCssVarsTheme.js +10 -10
  86. package/modern/cssVars/prepareCssVars.js +12 -13
  87. package/modern/cssVars/useCurrentColorScheme.js +10 -17
  88. package/modern/index.js +1 -1
  89. package/modern/propsToClassKey.js +5 -3
  90. package/modern/styleFunctionSx/extendSxProp.js +10 -14
  91. package/package.json +2 -2
  92. package/propsToClassKey.js +6 -3
  93. package/styleFunctionSx/extendSxProp.js +10 -14
@@ -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
- className,
56
- children,
57
- columns: columnsProp = 12,
58
- container = false,
59
- component = 'div',
60
- direction = 'row',
61
- wrap = 'wrap',
62
- spacing: spacingProp = 0,
63
- rowSpacing: rowSpacingProp = spacingProp,
64
- columnSpacing: columnSpacingProp = spacingProp,
65
- disableEqualOverflow: themeDisableEqualOverflow,
66
- unstable_level: level = 0,
67
- ...rest
68
- } = props;
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
- ...other,
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,4 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
1
2
  function appendLevel(level) {
2
3
  if (!level) {
3
4
  return '';
@@ -203,27 +204,23 @@ export const generateGridStyles = ({
203
204
  }) => {
204
205
  const getSelfSpacing = createGetSelfSpacing(ownerState);
205
206
  const getParentSpacing = createGetParentSpacing(ownerState);
206
- return {
207
+ return _extends({
207
208
  minWidth: 0,
208
- boxSizing: 'border-box',
209
- ...(ownerState.container && {
210
- display: 'flex',
211
- flexWrap: 'wrap',
212
- ...(ownerState.wrap && ownerState.wrap !== 'wrap' && {
213
- flexWrap: ownerState.wrap
214
- }),
215
- margin: `calc(${getSelfSpacing('row')} / -2) calc(${getSelfSpacing('column')} / -2)`,
216
- ...(ownerState.disableEqualOverflow && {
217
- margin: `calc(${getSelfSpacing('row')} * -1) 0px 0px calc(${getSelfSpacing('column')} * -1)`
218
- })
219
- }),
220
- ...((!ownerState.container || isNestedContainer(ownerState)) && {
221
- padding: `calc(${getParentSpacing('row')} / 2) calc(${getParentSpacing('column')} / 2)`,
222
- ...((ownerState.disableEqualOverflow || ownerState.parentDisableEqualOverflow) && {
223
- padding: `${getParentSpacing('row')} 0px 0px ${getParentSpacing('column')}`
224
- })
225
- })
226
- };
209
+ boxSizing: 'border-box'
210
+ }, ownerState.container && _extends({
211
+ display: 'flex',
212
+ flexWrap: 'wrap'
213
+ }, ownerState.wrap && ownerState.wrap !== 'wrap' && {
214
+ flexWrap: ownerState.wrap
215
+ }, {
216
+ margin: `calc(${getSelfSpacing('row')} / -2) calc(${getSelfSpacing('column')} / -2)`
217
+ }, ownerState.disableEqualOverflow && {
218
+ margin: `calc(${getSelfSpacing('row')} * -1) 0px 0px calc(${getSelfSpacing('column')} * -1)`
219
+ }), (!ownerState.container || isNestedContainer(ownerState)) && _extends({
220
+ padding: `calc(${getParentSpacing('row')} / 2) calc(${getParentSpacing('column')} / 2)`
221
+ }, (ownerState.disableEqualOverflow || ownerState.parentDisableEqualOverflow) && {
222
+ padding: `${getParentSpacing('row')} 0px 0px ${getParentSpacing('column')}`
223
+ }));
227
224
  };
228
225
  export const generateSizeClassNames = gridSize => {
229
226
  const classNames = [];
@@ -1,3 +1,4 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
1
2
  import PropTypes from 'prop-types';
2
3
  import { deepmerge } from '@mui/utils';
3
4
  import merge from './merge';
@@ -58,23 +59,21 @@ function breakpoints(styleFunction) {
58
59
  const extended = themeBreakpoints.keys.reduce((acc, key) => {
59
60
  if (props[key]) {
60
61
  acc = acc || {};
61
- acc[themeBreakpoints.up(key)] = styleFunction({
62
- theme,
63
- ...props[key]
64
- });
62
+ acc[themeBreakpoints.up(key)] = styleFunction(_extends({
63
+ theme
64
+ }, props[key]));
65
65
  }
66
66
  return acc;
67
67
  }, null);
68
68
  return merge(base, extended);
69
69
  };
70
- newStyleFunction.propTypes = process.env.NODE_ENV !== 'production' ? {
71
- ...styleFunction.propTypes,
70
+ newStyleFunction.propTypes = process.env.NODE_ENV !== 'production' ? _extends({}, styleFunction.propTypes, {
72
71
  xs: PropTypes.object,
73
72
  sm: PropTypes.object,
74
73
  md: PropTypes.object,
75
74
  lg: PropTypes.object,
76
75
  xl: PropTypes.object
77
- } : {};
76
+ }) : {};
78
77
  newStyleFunction.filterProps = ['xs', 'sm', 'md', 'lg', 'xl', ...styleFunction.filterProps];
79
78
  return newStyleFunction;
80
79
  }
@@ -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", "component"];
1
4
  import * as React from 'react';
2
5
  import clsx from 'clsx';
3
6
  import styled from '@mui/styled-engine';
@@ -16,18 +19,18 @@ export default function createBox(options = {}) {
16
19
  })(styleFunctionSx);
17
20
  const Box = /*#__PURE__*/React.forwardRef(function Box(inProps, ref) {
18
21
  const theme = useTheme(defaultTheme);
19
- const {
20
- className,
21
- component = 'div',
22
- ...other
23
- } = extendSxProp(inProps);
24
- return /*#__PURE__*/_jsx(BoxRoot, {
22
+ const _extendSxProp = extendSxProp(inProps),
23
+ {
24
+ className,
25
+ component = 'div'
26
+ } = _extendSxProp,
27
+ other = _objectWithoutPropertiesLoose(_extendSxProp, _excluded);
28
+ return /*#__PURE__*/_jsx(BoxRoot, _extends({
25
29
  as: component,
26
30
  ref: ref,
27
31
  className: clsx(className, generateClassName ? generateClassName(defaultClassName) : defaultClassName),
28
- theme: themeId ? theme[themeId] || theme : theme,
29
- ...other
30
- });
32
+ theme: themeId ? theme[themeId] || theme : theme
33
+ }, other));
31
34
  });
32
35
  return Box;
33
36
  }
@@ -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 = ["name", "slot", "skipVariantsResolver", "skipSx", "overridesResolver"];
1
4
  /* eslint-disable no-underscore-dangle */
2
5
  import styledEngineStyled, { internal_processStyles as processStyles } from '@mui/styled-engine';
3
6
  import { getDisplayName } from '@mui/utils';
@@ -79,27 +82,25 @@ export default function createStyled(input = {}) {
79
82
  slotShouldForwardProp = shouldForwardProp
80
83
  } = input;
81
84
  const systemSx = props => {
82
- return styleFunctionSx({
83
- ...props,
84
- theme: resolveTheme({
85
- ...props,
85
+ return styleFunctionSx(_extends({}, props, {
86
+ theme: resolveTheme(_extends({}, props, {
86
87
  defaultTheme,
87
88
  themeId
88
- })
89
- });
89
+ }))
90
+ }));
90
91
  };
91
92
  systemSx.__mui_systemSx = true;
92
93
  return (tag, inputOptions = {}) => {
93
94
  // Filter out the `sx` style function from the previous styled component to prevent unnecessary styles generated by the composite components.
94
95
  processStyles(tag, styles => styles.filter(style => !style?.__mui_systemSx));
95
96
  const {
96
- name: componentName,
97
- slot: componentSlot,
98
- skipVariantsResolver: inputSkipVariantsResolver,
99
- skipSx: inputSkipSx,
100
- overridesResolver,
101
- ...options
102
- } = inputOptions;
97
+ name: componentName,
98
+ slot: componentSlot,
99
+ skipVariantsResolver: inputSkipVariantsResolver,
100
+ skipSx: inputSkipSx,
101
+ overridesResolver
102
+ } = inputOptions,
103
+ options = _objectWithoutPropertiesLoose(inputOptions, _excluded);
103
104
 
104
105
  // if skipVariantsResolver option is defined, take the value, otherwise, true for root and false for other slots.
105
106
  const skipVariantsResolver = inputSkipVariantsResolver !== undefined ? inputSkipVariantsResolver : componentSlot && componentSlot !== 'Root' || false;
@@ -120,43 +121,38 @@ export default function createStyled(input = {}) {
120
121
  // for string (html) tag, preserve the behavior in emotion & styled-components.
121
122
  shouldForwardPropOption = undefined;
122
123
  }
123
- const defaultStyledResolver = styledEngineStyled(tag, {
124
+ const defaultStyledResolver = styledEngineStyled(tag, _extends({
124
125
  shouldForwardProp: shouldForwardPropOption,
125
- label,
126
- ...options
127
- });
126
+ label
127
+ }, options));
128
128
  const muiStyledResolver = (styleArg, ...expressions) => {
129
129
  const expressionsWithDefaultTheme = expressions ? expressions.map(stylesArg => {
130
130
  // On the server Emotion doesn't use React.forwardRef for creating components, so the created
131
131
  // component stays as a function. This condition makes sure that we do not interpolate functions
132
132
  // which are basically components used as a selectors.
133
133
  return typeof stylesArg === 'function' && stylesArg.__emotion_real !== stylesArg ? props => {
134
- return stylesArg({
135
- ...props,
136
- theme: resolveTheme({
137
- ...props,
134
+ return stylesArg(_extends({}, props, {
135
+ theme: resolveTheme(_extends({}, props, {
138
136
  defaultTheme,
139
137
  themeId
140
- })
141
- });
138
+ }))
139
+ }));
142
140
  } : stylesArg;
143
141
  }) : [];
144
142
  let transformedStyleArg = styleArg;
145
143
  if (componentName && overridesResolver) {
146
144
  expressionsWithDefaultTheme.push(props => {
147
- const theme = resolveTheme({
148
- ...props,
145
+ const theme = resolveTheme(_extends({}, props, {
149
146
  defaultTheme,
150
147
  themeId
151
- });
148
+ }));
152
149
  const styleOverrides = getStyleOverrides(componentName, theme);
153
150
  if (styleOverrides) {
154
151
  const resolvedStyleOverrides = {};
155
152
  Object.entries(styleOverrides).forEach(([slotKey, slotStyle]) => {
156
- resolvedStyleOverrides[slotKey] = typeof slotStyle === 'function' ? slotStyle({
157
- ...props,
153
+ resolvedStyleOverrides[slotKey] = typeof slotStyle === 'function' ? slotStyle(_extends({}, props, {
158
154
  theme
159
- }) : slotStyle;
155
+ })) : slotStyle;
160
156
  });
161
157
  return overridesResolver(props, resolvedStyleOverrides);
162
158
  }
@@ -165,11 +161,10 @@ export default function createStyled(input = {}) {
165
161
  }
166
162
  if (componentName && !skipVariantsResolver) {
167
163
  expressionsWithDefaultTheme.push(props => {
168
- const theme = resolveTheme({
169
- ...props,
164
+ const theme = resolveTheme(_extends({}, props, {
170
165
  defaultTheme,
171
166
  themeId
172
- });
167
+ }));
173
168
  return variantsResolver(props, getVariantStyles(componentName, theme), theme, componentName);
174
169
  });
175
170
  }
@@ -188,14 +183,12 @@ export default function createStyled(input = {}) {
188
183
  // which are basically components used as a selectors.
189
184
  styleArg.__emotion_real !== styleArg) {
190
185
  // If the type is function, we need to define the default theme.
191
- transformedStyleArg = props => styleArg({
192
- ...props,
193
- theme: resolveTheme({
194
- ...props,
186
+ transformedStyleArg = props => styleArg(_extends({}, props, {
187
+ theme: resolveTheme(_extends({}, props, {
195
188
  defaultTheme,
196
189
  themeId
197
- })
198
- });
190
+ }))
191
+ }));
199
192
  }
200
193
  const Component = defaultStyledResolver(transformedStyleArg, ...expressionsWithDefaultTheme);
201
194
  if (process.env.NODE_ENV !== 'production') {
@@ -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 = ["values", "unit", "step"];
1
4
  // Sorted ASC by size. That's important.
2
5
  // It can't be configured as it's used statically for propTypes.
3
6
  export const breakpointKeys = ['xs', 'sm', 'md', 'lg', 'xl'];
@@ -9,34 +12,33 @@ const sortBreakpointsValues = values => {
9
12
  // Sort in ascending order
10
13
  breakpointsAsArray.sort((breakpoint1, breakpoint2) => breakpoint1.val - breakpoint2.val);
11
14
  return breakpointsAsArray.reduce((acc, obj) => {
12
- return {
13
- ...acc,
15
+ return _extends({}, acc, {
14
16
  [obj.key]: obj.val
15
- };
17
+ });
16
18
  }, {});
17
19
  };
18
20
 
19
21
  // Keep in mind that @media is inclusive by the CSS specification.
20
22
  export default function createBreakpoints(breakpoints) {
21
23
  const {
22
- // The breakpoint **start** at this value.
23
- // For instance with the first breakpoint xs: [xs, sm).
24
- values = {
25
- xs: 0,
26
- // phone
27
- sm: 600,
28
- // tablet
29
- md: 900,
30
- // small laptop
31
- lg: 1200,
32
- // desktop
33
- xl: 1536 // large screen
34
- },
24
+ // The breakpoint **start** at this value.
25
+ // For instance with the first breakpoint xs: [xs, sm).
26
+ values = {
27
+ xs: 0,
28
+ // phone
29
+ sm: 600,
30
+ // tablet
31
+ md: 900,
32
+ // small laptop
33
+ lg: 1200,
34
+ // desktop
35
+ xl: 1536 // large screen
36
+ },
35
37
 
36
- unit = 'px',
37
- step = 5,
38
- ...other
39
- } = breakpoints;
38
+ unit = 'px',
39
+ step = 5
40
+ } = breakpoints,
41
+ other = _objectWithoutPropertiesLoose(breakpoints, _excluded);
40
42
  const sortedValues = sortBreakpointsValues(values);
41
43
  const keys = Object.keys(sortedValues);
42
44
  function up(key) {
@@ -68,7 +70,7 @@ export default function createBreakpoints(breakpoints) {
68
70
  }
69
71
  return between(key, keys[keys.indexOf(key) + 1]).replace('@media', '@media not all and');
70
72
  }
71
- return {
73
+ return _extends({
72
74
  keys,
73
75
  values: sortedValues,
74
76
  up,
@@ -76,7 +78,6 @@ export default function createBreakpoints(breakpoints) {
76
78
  between,
77
79
  only,
78
80
  not,
79
- unit,
80
- ...other
81
- };
81
+ unit
82
+ }, other);
82
83
  }
@@ -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 = ["breakpoints", "palette", "spacing", "shape"];
1
4
  import { deepmerge } from '@mui/utils';
2
5
  import createBreakpoints from './createBreakpoints';
3
6
  import shape from './shape';
@@ -6,12 +9,12 @@ import styleFunctionSx from '../styleFunctionSx/styleFunctionSx';
6
9
  import defaultSxConfig from '../styleFunctionSx/defaultSxConfig';
7
10
  function createTheme(options = {}, ...args) {
8
11
  const {
9
- breakpoints: breakpointsInput = {},
10
- palette: paletteInput = {},
11
- spacing: spacingInput,
12
- shape: shapeInput = {},
13
- ...other
14
- } = options;
12
+ breakpoints: breakpointsInput = {},
13
+ palette: paletteInput = {},
14
+ spacing: spacingInput,
15
+ shape: shapeInput = {}
16
+ } = options,
17
+ other = _objectWithoutPropertiesLoose(options, _excluded);
15
18
  const breakpoints = createBreakpoints(breakpointsInput);
16
19
  const spacing = createSpacing(spacingInput);
17
20
  let muiTheme = deepmerge({
@@ -19,21 +22,14 @@ function createTheme(options = {}, ...args) {
19
22
  direction: 'ltr',
20
23
  components: {},
21
24
  // Inject component definitions.
22
- palette: {
23
- mode: 'light',
24
- ...paletteInput
25
- },
25
+ palette: _extends({
26
+ mode: 'light'
27
+ }, paletteInput),
26
28
  spacing,
27
- shape: {
28
- ...shape,
29
- ...shapeInput
30
- }
29
+ shape: _extends({}, shape, shapeInput)
31
30
  }, other);
32
31
  muiTheme = args.reduce((acc, argument) => deepmerge(acc, argument), muiTheme);
33
- muiTheme.unstable_sxConfig = {
34
- ...defaultSxConfig,
35
- ...other?.unstable_sxConfig
36
- };
32
+ muiTheme.unstable_sxConfig = _extends({}, defaultSxConfig, other?.unstable_sxConfig);
37
33
  muiTheme.unstable_sx = function sx(props) {
38
34
  return styleFunctionSx({
39
35
  sx: props,
@@ -1,4 +1,7 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
1
3
  import { formatMuiErrorMessage as _formatMuiErrorMessage } from "@mui/utils";
4
+ const _excluded = ["colorSchemes", "components", "generateCssVars", "cssVarPrefix"];
2
5
  import * as React from 'react';
3
6
  import PropTypes from 'prop-types';
4
7
  import { deepmerge } from '@mui/utils';
@@ -55,16 +58,17 @@ export default function createCssVarsProvider(options) {
55
58
  const ctx = React.useContext(ColorSchemeContext);
56
59
  const nested = !!ctx && !disableNestedContext;
57
60
  const scopedTheme = themeProp[themeId];
58
- const {
59
- colorSchemes = {},
60
- components = {},
61
- generateCssVars = () => ({
62
- vars: {},
63
- css: {}
64
- }),
65
- cssVarPrefix,
66
- ...restThemeProp
67
- } = scopedTheme || themeProp;
61
+ const _ref = scopedTheme || themeProp,
62
+ {
63
+ colorSchemes = {},
64
+ components = {},
65
+ generateCssVars = () => ({
66
+ vars: {},
67
+ css: {}
68
+ }),
69
+ cssVarPrefix
70
+ } = _ref,
71
+ restThemeProp = _objectWithoutPropertiesLoose(_ref, _excluded);
68
72
  const allColorSchemes = Object.keys(colorSchemes);
69
73
  const defaultLightColorScheme = typeof defaultColorScheme === 'string' ? defaultColorScheme : defaultColorScheme.light;
70
74
  const defaultDarkColorScheme = typeof defaultColorScheme === 'string' ? defaultColorScheme : defaultColorScheme.dark;
@@ -122,14 +126,13 @@ export default function createCssVarsProvider(options) {
122
126
  } = generateCssVars();
123
127
 
124
128
  // 3. Start composing the theme object
125
- const theme = {
126
- ...restThemeProp,
129
+ const theme = _extends({}, restThemeProp, {
127
130
  components,
128
131
  colorSchemes,
129
132
  cssVarPrefix,
130
133
  vars: rootVars,
131
134
  getColorSchemeSelector: targetColorScheme => `[${attribute}="${targetColorScheme}"] &`
132
- };
135
+ });
133
136
 
134
137
  // 4. Create color CSS variables and store them in objects (to be generated in stylesheets in the final step)
135
138
  // The default color scheme stylesheet is constructed to have the least CSS specificity.
@@ -147,10 +150,7 @@ export default function createCssVarsProvider(options) {
147
150
  Object.keys(scheme).forEach(schemeKey => {
148
151
  if (scheme[schemeKey] && typeof scheme[schemeKey] === 'object') {
149
152
  // shallow merge the 1st level structure of the theme.
150
- theme[schemeKey] = {
151
- ...theme[schemeKey],
152
- ...scheme[schemeKey]
153
- };
153
+ theme[schemeKey] = _extends({}, theme[schemeKey], scheme[schemeKey]);
154
154
  } else {
155
155
  theme[schemeKey] = scheme[schemeKey];
156
156
  }
@@ -320,15 +320,14 @@ export default function createCssVarsProvider(options) {
320
320
  } : void 0;
321
321
  const defaultLightColorScheme = typeof designSystemColorScheme === 'string' ? designSystemColorScheme : designSystemColorScheme.light;
322
322
  const defaultDarkColorScheme = typeof designSystemColorScheme === 'string' ? designSystemColorScheme : designSystemColorScheme.dark;
323
- const getInitColorSchemeScript = params => systemGetInitColorSchemeScript({
323
+ const getInitColorSchemeScript = params => systemGetInitColorSchemeScript(_extends({
324
324
  attribute: defaultAttribute,
325
325
  colorSchemeStorageKey: defaultColorSchemeStorageKey,
326
326
  defaultMode: designSystemMode,
327
327
  defaultLightColorScheme,
328
328
  defaultDarkColorScheme,
329
- modeStorageKey: defaultModeStorageKey,
330
- ...params
331
- });
329
+ modeStorageKey: defaultModeStorageKey
330
+ }, params));
332
331
  return {
333
332
  CssVarsProvider,
334
333
  useColorScheme,
@@ -1,16 +1,16 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
+ const _excluded = ["cssVarPrefix", "shouldSkipGeneratingVar"];
1
4
  import prepareCssVars from './prepareCssVars';
2
5
  function createCssVarsTheme(theme) {
3
6
  const {
4
- cssVarPrefix,
5
- shouldSkipGeneratingVar,
6
- ...otherTheme
7
- } = theme;
8
- return {
9
- ...theme,
10
- ...prepareCssVars(otherTheme, {
11
- prefix: cssVarPrefix,
7
+ cssVarPrefix,
12
8
  shouldSkipGeneratingVar
13
- })
14
- };
9
+ } = theme,
10
+ otherTheme = _objectWithoutPropertiesLoose(theme, _excluded);
11
+ return _extends({}, theme, prepareCssVars(otherTheme, {
12
+ prefix: cssVarPrefix,
13
+ shouldSkipGeneratingVar
14
+ }));
15
15
  }
16
16
  export default createCssVarsTheme;
@@ -1,12 +1,15 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
+ const _excluded = ["colorSchemes", "components"],
4
+ _excluded2 = ["light"];
1
5
  import { deepmerge } from '@mui/utils';
2
6
  import cssVarsParser from './cssVarsParser';
3
7
  function prepareCssVars(theme, parserConfig) {
4
8
  // @ts-ignore - ignore components do not exist
5
9
  const {
6
- colorSchemes = {},
7
- components,
8
- ...otherTheme
9
- } = theme;
10
+ colorSchemes = {}
11
+ } = theme,
12
+ otherTheme = _objectWithoutPropertiesLoose(theme, _excluded);
10
13
  const {
11
14
  vars: rootVars,
12
15
  css: rootCss,
@@ -15,9 +18,9 @@ function prepareCssVars(theme, parserConfig) {
15
18
  let themeVars = rootVarsWithDefaults;
16
19
  const colorSchemesMap = {};
17
20
  const {
18
- light,
19
- ...otherColorSchemes
20
- } = colorSchemes;
21
+ light
22
+ } = colorSchemes,
23
+ otherColorSchemes = _objectWithoutPropertiesLoose(colorSchemes, _excluded2);
21
24
  Object.entries(otherColorSchemes || {}).forEach(([key, scheme]) => {
22
25
  const {
23
26
  vars,
@@ -46,16 +49,12 @@ function prepareCssVars(theme, parserConfig) {
46
49
  const generateCssVars = colorScheme => {
47
50
  if (!colorScheme) {
48
51
  return {
49
- css: {
50
- ...rootCss
51
- },
52
+ css: _extends({}, rootCss),
52
53
  vars: rootVars
53
54
  };
54
55
  }
55
56
  return {
56
- css: {
57
- ...colorSchemesMap[colorScheme].css
58
- },
57
+ css: _extends({}, colorSchemesMap[colorScheme].css),
59
58
  vars: colorSchemesMap[colorScheme].vars
60
59
  };
61
60
  };