@mui/system 5.12.3 → 5.13.1

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