@mui/system 6.0.0-alpha.0 → 6.0.0-alpha.10

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 (199) hide show
  1. package/CHANGELOG.md +591 -6
  2. package/Container/Container.d.ts +1 -1
  3. package/Container/createContainer.js +39 -35
  4. package/RtlProvider/index.js +8 -11
  5. package/Stack/Stack.d.ts +1 -1
  6. package/Stack/createStack.d.ts +1 -1
  7. package/Stack/createStack.js +24 -26
  8. package/ThemeProvider/ThemeProvider.js +9 -5
  9. package/Unstable_Grid/Grid.d.ts +1 -1
  10. package/Unstable_Grid/createGrid.d.ts +1 -1
  11. package/Unstable_Grid/createGrid.js +21 -23
  12. package/Unstable_Grid/gridGenerator.js +20 -17
  13. package/breakpoints/breakpoints.js +26 -7
  14. package/createBox/createBox.js +9 -12
  15. package/createStyled/createStyled.js +56 -51
  16. package/createTheme/applyStyles.d.ts +1 -1
  17. package/createTheme/applyStyles.js +1 -1
  18. package/createTheme/createBreakpoints.js +24 -25
  19. package/createTheme/createSpacing.d.ts +2 -2
  20. package/createTheme/createSpacing.js +7 -8
  21. package/createTheme/createTheme.d.ts +2 -1
  22. package/createTheme/createTheme.js +20 -14
  23. package/cssContainerQueries/cssContainerQueries.d.ts +24 -0
  24. package/cssContainerQueries/cssContainerQueries.js +70 -0
  25. package/cssContainerQueries/index.d.ts +3 -0
  26. package/cssContainerQueries/index.js +2 -0
  27. package/cssContainerQueries/package.json +6 -0
  28. package/cssVars/createCssVarsProvider.d.ts +1 -1
  29. package/cssVars/createCssVarsProvider.js +20 -16
  30. package/cssVars/createCssVarsTheme.js +3 -3
  31. package/cssVars/cssVarsParser.d.ts +1 -1
  32. package/cssVars/cssVarsParser.js +3 -2
  33. package/cssVars/index.d.ts +2 -0
  34. package/cssVars/index.js +1 -0
  35. package/cssVars/prepareCssVars.js +30 -25
  36. package/cssVars/prepareTypographyVars.d.ts +8 -0
  37. package/cssVars/prepareTypographyVars.js +11 -0
  38. package/cssVars/useCurrentColorScheme.js +18 -11
  39. package/index.d.ts +2 -0
  40. package/index.js +2 -1
  41. package/modern/Container/createContainer.js +39 -35
  42. package/modern/RtlProvider/index.js +8 -11
  43. package/modern/Stack/createStack.js +24 -26
  44. package/modern/ThemeProvider/ThemeProvider.js +9 -5
  45. package/modern/Unstable_Grid/createGrid.js +21 -23
  46. package/modern/Unstable_Grid/gridGenerator.js +20 -17
  47. package/modern/breakpoints/breakpoints.js +26 -7
  48. package/modern/createBox/createBox.js +9 -12
  49. package/modern/createStyled/createStyled.js +56 -51
  50. package/modern/createTheme/applyStyles.js +1 -1
  51. package/modern/createTheme/createBreakpoints.js +24 -25
  52. package/modern/createTheme/createSpacing.js +7 -8
  53. package/modern/createTheme/createTheme.js +20 -14
  54. package/modern/cssContainerQueries/cssContainerQueries.js +70 -0
  55. package/modern/cssContainerQueries/index.js +2 -0
  56. package/modern/cssVars/createCssVarsProvider.js +20 -16
  57. package/modern/cssVars/createCssVarsTheme.js +3 -3
  58. package/modern/cssVars/cssVarsParser.js +3 -2
  59. package/modern/cssVars/index.js +1 -0
  60. package/modern/cssVars/prepareCssVars.js +30 -25
  61. package/modern/cssVars/prepareTypographyVars.js +11 -0
  62. package/modern/cssVars/useCurrentColorScheme.js +18 -11
  63. package/modern/index.js +2 -1
  64. package/modern/propsToClassKey/propsToClassKey.js +3 -5
  65. package/modern/spacing/spacing.js +24 -21
  66. package/modern/styleFunctionSx/defaultSxConfig.js +3 -0
  67. package/modern/styleFunctionSx/extendSxProp.js +14 -10
  68. package/modern/styleFunctionSx/styleFunctionSx.js +2 -1
  69. package/node/Container/createContainer.js +39 -35
  70. package/node/RtlProvider/index.js +8 -11
  71. package/node/Stack/createStack.js +24 -26
  72. package/node/ThemeProvider/ThemeProvider.js +9 -5
  73. package/node/Unstable_Grid/createGrid.js +23 -25
  74. package/node/Unstable_Grid/gridGenerator.js +20 -18
  75. package/node/breakpoints/breakpoints.js +26 -7
  76. package/node/createBox/createBox.js +9 -12
  77. package/node/createStyled/createStyled.js +58 -52
  78. package/node/createTheme/applyStyles.js +1 -1
  79. package/node/createTheme/createBreakpoints.js +24 -26
  80. package/node/createTheme/createSpacing.js +7 -8
  81. package/node/createTheme/createTheme.js +20 -14
  82. package/node/cssContainerQueries/cssContainerQueries.js +81 -0
  83. package/node/cssContainerQueries/index.js +32 -0
  84. package/node/cssVars/createCssVarsProvider.js +20 -16
  85. package/node/cssVars/createCssVarsTheme.js +3 -3
  86. package/node/cssVars/cssVarsParser.js +3 -2
  87. package/node/cssVars/index.js +7 -0
  88. package/node/cssVars/prepareCssVars.js +30 -25
  89. package/node/cssVars/prepareTypographyVars.js +17 -0
  90. package/node/cssVars/useCurrentColorScheme.js +18 -12
  91. package/node/index.js +9 -1
  92. package/node/propsToClassKey/propsToClassKey.js +3 -5
  93. package/node/spacing/spacing.js +24 -21
  94. package/node/styleFunctionSx/defaultSxConfig.js +3 -0
  95. package/node/styleFunctionSx/extendSxProp.js +14 -10
  96. package/node/styleFunctionSx/styleFunctionSx.js +2 -1
  97. package/package.json +6 -6
  98. package/propsToClassKey/propsToClassKey.js +3 -5
  99. package/spacing/spacing.js +24 -21
  100. package/styleFunctionSx/defaultSxConfig.js +3 -0
  101. package/styleFunctionSx/extendSxProp.js +14 -10
  102. package/styleFunctionSx/styleFunctionSx.js +2 -1
  103. package/legacy/Box/Box.js +0 -30
  104. package/legacy/Box/boxClasses.js +0 -3
  105. package/legacy/Box/index.js +0 -5
  106. package/legacy/Container/Container.js +0 -61
  107. package/legacy/Container/ContainerProps.js +0 -1
  108. package/legacy/Container/containerClasses.js +0 -7
  109. package/legacy/Container/createContainer.js +0 -140
  110. package/legacy/Container/index.js +0 -5
  111. package/legacy/GlobalStyles/GlobalStyles.js +0 -37
  112. package/legacy/GlobalStyles/index.js +0 -4
  113. package/legacy/RtlProvider/index.js +0 -22
  114. package/legacy/Stack/Stack.js +0 -62
  115. package/legacy/Stack/StackProps.js +0 -1
  116. package/legacy/Stack/createStack.js +0 -180
  117. package/legacy/Stack/index.js +0 -7
  118. package/legacy/Stack/stackClasses.js +0 -7
  119. package/legacy/ThemeProvider/ThemeProvider.js +0 -87
  120. package/legacy/ThemeProvider/index.js +0 -3
  121. package/legacy/Unstable_Grid/Grid.js +0 -177
  122. package/legacy/Unstable_Grid/GridProps.js +0 -1
  123. package/legacy/Unstable_Grid/createGrid.js +0 -184
  124. package/legacy/Unstable_Grid/gridClasses.js +0 -28
  125. package/legacy/Unstable_Grid/gridGenerator.js +0 -216
  126. package/legacy/Unstable_Grid/index.js +0 -8
  127. package/legacy/Unstable_Grid/traverseBreakpoints.js +0 -48
  128. package/legacy/borders/borders.js +0 -51
  129. package/legacy/borders/index.js +0 -4
  130. package/legacy/breakpoints/breakpoints.js +0 -162
  131. package/legacy/breakpoints/index.js +0 -4
  132. package/legacy/colorManipulator/colorManipulator.js +0 -356
  133. package/legacy/colorManipulator/index.js +0 -3
  134. package/legacy/compose/compose.js +0 -32
  135. package/legacy/compose/index.js +0 -3
  136. package/legacy/createBox/createBox.js +0 -38
  137. package/legacy/createBox/index.js +0 -3
  138. package/legacy/createStyled/createStyled.js +0 -250
  139. package/legacy/createStyled/index.js +0 -4
  140. package/legacy/createTheme/applyStyles.js +0 -73
  141. package/legacy/createTheme/createBreakpoints.js +0 -83
  142. package/legacy/createTheme/createSpacing.js +0 -36
  143. package/legacy/createTheme/createTheme.js +0 -49
  144. package/legacy/createTheme/index.js +0 -3
  145. package/legacy/createTheme/shape.js +0 -4
  146. package/legacy/cssGrid/cssGrid.js +0 -91
  147. package/legacy/cssGrid/index.js +0 -4
  148. package/legacy/cssVars/createCssVarsProvider.js +0 -335
  149. package/legacy/cssVars/createCssVarsTheme.js +0 -13
  150. package/legacy/cssVars/createGetCssVar.js +0 -30
  151. package/legacy/cssVars/cssVarsParser.js +0 -140
  152. package/legacy/cssVars/getInitColorSchemeScript.js +0 -28
  153. package/legacy/cssVars/index.js +0 -6
  154. package/legacy/cssVars/prepareCssVars.js +0 -92
  155. package/legacy/cssVars/useCurrentColorScheme.js +0 -237
  156. package/legacy/display/display.js +0 -29
  157. package/legacy/display/index.js +0 -4
  158. package/legacy/flexbox/flexbox.js +0 -43
  159. package/legacy/flexbox/index.js +0 -4
  160. package/legacy/getThemeValue/getThemeValue.js +0 -47
  161. package/legacy/getThemeValue/index.js +0 -4
  162. package/legacy/index.js +0 -72
  163. package/legacy/memoize/index.js +0 -3
  164. package/legacy/memoize/memoize.js +0 -9
  165. package/legacy/merge/index.js +0 -3
  166. package/legacy/merge/merge.js +0 -10
  167. package/legacy/palette/index.js +0 -4
  168. package/legacy/palette/palette.js +0 -26
  169. package/legacy/positions/index.js +0 -4
  170. package/legacy/positions/positions.js +0 -22
  171. package/legacy/propsToClassKey/index.js +0 -3
  172. package/legacy/propsToClassKey/propsToClassKey.js +0 -24
  173. package/legacy/responsivePropType/index.js +0 -3
  174. package/legacy/responsivePropType/responsivePropType.js +0 -3
  175. package/legacy/shadows/index.js +0 -3
  176. package/legacy/shadows/shadows.js +0 -6
  177. package/legacy/sizing/index.js +0 -4
  178. package/legacy/sizing/sizing.js +0 -65
  179. package/legacy/spacing/index.js +0 -4
  180. package/legacy/spacing/spacing.js +0 -158
  181. package/legacy/style/index.js +0 -4
  182. package/legacy/style/style.js +0 -73
  183. package/legacy/styleFunctionSx/defaultSxConfig.js +0 -293
  184. package/legacy/styleFunctionSx/extendSxProp.js +0 -45
  185. package/legacy/styleFunctionSx/index.js +0 -4
  186. package/legacy/styleFunctionSx/styleFunctionSx.js +0 -126
  187. package/legacy/styled/index.js +0 -3
  188. package/legacy/styled/styled.js +0 -3
  189. package/legacy/typography/index.js +0 -4
  190. package/legacy/typography/typography.js +0 -37
  191. package/legacy/useMediaQuery/index.js +0 -2
  192. package/legacy/useMediaQuery/useMediaQuery.js +0 -145
  193. package/legacy/useTheme/index.js +0 -4
  194. package/legacy/useTheme/useTheme.js +0 -10
  195. package/legacy/useThemeProps/getThemeProps.js +0 -10
  196. package/legacy/useThemeProps/index.js +0 -4
  197. package/legacy/useThemeProps/useThemeProps.js +0 -20
  198. package/legacy/useThemeWithoutDefault/index.js +0 -3
  199. package/legacy/useThemeWithoutDefault/useThemeWithoutDefault.js +0 -13
@@ -5,8 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.default = createGrid;
8
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
- var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
10
8
  var React = _interopRequireWildcard(require("react"));
11
9
  var _propTypes = _interopRequireDefault(require("prop-types"));
12
10
  var _clsx = _interopRequireDefault(require("clsx"));
@@ -20,7 +18,6 @@ var _styleFunctionSx = require("../styleFunctionSx");
20
18
  var _createTheme = _interopRequireDefault(require("../createTheme"));
21
19
  var _gridGenerator = require("./gridGenerator");
22
20
  var _jsxRuntime = require("react/jsx-runtime");
23
- const _excluded = ["className", "children", "columns", "container", "component", "direction", "wrap", "spacing", "rowSpacing", "columnSpacing", "disableEqualOverflow", "unstable_level"];
24
21
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
25
22
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
26
23
  const defaultTheme = (0, _createTheme.default)();
@@ -70,20 +67,20 @@ function createGrid(options = {}) {
70
67
  const props = (0, _styleFunctionSx.extendSxProp)(themeProps); // `color` type conflicts with html color attribute.
71
68
  const overflow = React.useContext(GridOverflowContext);
72
69
  const {
73
- className,
74
- children,
75
- columns: columnsProp = 12,
76
- container = false,
77
- component = 'div',
78
- direction = 'row',
79
- wrap = 'wrap',
80
- spacing: spacingProp = 0,
81
- rowSpacing: rowSpacingProp = spacingProp,
82
- columnSpacing: columnSpacingProp = spacingProp,
83
- disableEqualOverflow: themeDisableEqualOverflow,
84
- unstable_level: level = 0
85
- } = props,
86
- rest = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
70
+ className,
71
+ children,
72
+ columns: columnsProp = 12,
73
+ container = false,
74
+ component = 'div',
75
+ direction = 'row',
76
+ wrap = 'wrap',
77
+ spacing: spacingProp = 0,
78
+ rowSpacing: rowSpacingProp = spacingProp,
79
+ columnSpacing: columnSpacingProp = spacingProp,
80
+ disableEqualOverflow: themeDisableEqualOverflow,
81
+ unstable_level: level = 0,
82
+ ...rest
83
+ } = props;
87
84
  // Because `disableEqualOverflow` can be set from the theme's defaultProps, the **nested** grid should look at the instance props instead.
88
85
  let disableEqualOverflow = themeDisableEqualOverflow;
89
86
  if (level && themeDisableEqualOverflow !== undefined) {
@@ -106,7 +103,8 @@ function createGrid(options = {}) {
106
103
  const spacing = (_inProps$spacing = inProps.spacing) != null ? _inProps$spacing : level ? undefined : spacingProp;
107
104
  const rowSpacing = (_ref = (_inProps$rowSpacing = inProps.rowSpacing) != null ? _inProps$rowSpacing : inProps.spacing) != null ? _ref : level ? undefined : rowSpacingProp;
108
105
  const columnSpacing = (_ref2 = (_inProps$columnSpacin = inProps.columnSpacing) != null ? _inProps$columnSpacin : inProps.spacing) != null ? _ref2 : level ? undefined : columnSpacingProp;
109
- const ownerState = (0, _extends2.default)({}, props, {
106
+ const ownerState = {
107
+ ...props,
110
108
  level,
111
109
  columns,
112
110
  container,
@@ -120,24 +118,24 @@ function createGrid(options = {}) {
120
118
  disableEqualOverflow: (_ref3 = (_disableEqualOverflow = disableEqualOverflow) != null ? _disableEqualOverflow : overflow) != null ? _ref3 : false,
121
119
  // use context value if exists.
122
120
  parentDisableEqualOverflow: overflow // for nested grid
123
- });
121
+ };
124
122
  const classes = useUtilityClasses(ownerState, theme);
125
- let result = /*#__PURE__*/(0, _jsxRuntime.jsx)(GridRoot, (0, _extends2.default)({
123
+ let result = /*#__PURE__*/(0, _jsxRuntime.jsx)(GridRoot, {
126
124
  ref: ref,
127
125
  as: component,
128
126
  ownerState: ownerState,
129
- className: (0, _clsx.default)(classes.root, className)
130
- }, other, {
127
+ className: (0, _clsx.default)(classes.root, className),
128
+ ...other,
131
129
  children: React.Children.map(children, child => {
132
130
  if ( /*#__PURE__*/React.isValidElement(child) && (0, _isMuiElement.default)(child, ['Grid'])) {
133
- var _child$props$unstable;
131
+ var _unstable_level;
134
132
  return /*#__PURE__*/React.cloneElement(child, {
135
- unstable_level: (_child$props$unstable = child.props.unstable_level) != null ? _child$props$unstable : level + 1
133
+ unstable_level: (_unstable_level = child.props.unstable_level) != null ? _unstable_level : level + 1
136
134
  });
137
135
  }
138
136
  return child;
139
137
  })
140
- }));
138
+ });
141
139
  if (disableEqualOverflow !== undefined && disableEqualOverflow !== (overflow != null ? overflow : false)) {
142
140
  // There are 2 possibilities that should wrap with the GridOverflowContext to communicate with the nested grids:
143
141
  // 1. It is the root grid with `disableEqualOverflow`.
@@ -1,11 +1,9 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
6
  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
7
  var _traverseBreakpoints = require("./traverseBreakpoints");
10
8
  function appendLevel(level) {
11
9
  if (!level) {
@@ -178,23 +176,27 @@ const generateGridStyles = ({
178
176
  }) => {
179
177
  const getSelfSpacing = createGetSelfSpacing(ownerState);
180
178
  const getParentSpacing = createGetParentSpacing(ownerState);
181
- return (0, _extends2.default)({
179
+ return {
182
180
  minWidth: 0,
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
- }));
181
+ boxSizing: 'border-box',
182
+ ...(ownerState.container && {
183
+ display: 'flex',
184
+ flexWrap: 'wrap',
185
+ ...(ownerState.wrap && ownerState.wrap !== 'wrap' && {
186
+ flexWrap: ownerState.wrap
187
+ }),
188
+ margin: `calc(${getSelfSpacing('row')} / -2) calc(${getSelfSpacing('column')} / -2)`,
189
+ ...(ownerState.disableEqualOverflow && {
190
+ margin: `calc(${getSelfSpacing('row')} * -1) 0px 0px calc(${getSelfSpacing('column')} * -1)`
191
+ })
192
+ }),
193
+ ...((!ownerState.container || isNestedContainer(ownerState)) && {
194
+ padding: `calc(${getParentSpacing('row')} / 2) calc(${getParentSpacing('column')} / 2)`,
195
+ ...((ownerState.disableEqualOverflow || ownerState.parentDisableEqualOverflow) && {
196
+ padding: `${getParentSpacing('row')} 0px 0px ${getParentSpacing('column')}`
197
+ })
198
+ })
199
+ };
198
200
  };
199
201
  exports.generateGridStyles = generateGridStyles;
200
202
  const generateSizeClassNames = gridSize => {
@@ -12,10 +12,10 @@ 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"));
16
15
  var _propTypes = _interopRequireDefault(require("prop-types"));
17
16
  var _deepmerge = _interopRequireDefault(require("@mui/utils/deepmerge"));
18
17
  var _merge = _interopRequireDefault(require("../merge"));
18
+ var _cssContainerQueries = require("../cssContainerQueries");
19
19
  // The breakpoint **start** at this value.
20
20
  // For instance with the first breakpoint xs: [xs, sm[.
21
21
  const values = exports.values = {
@@ -35,6 +35,17 @@ const defaultBreakpoints = {
35
35
  keys: ['xs', 'sm', 'md', 'lg', 'xl'],
36
36
  up: key => `@media (min-width:${values[key]}px)`
37
37
  };
38
+ const defaultContainerQueries = {
39
+ containerQueries: containerName => ({
40
+ up: key => {
41
+ let result = typeof key === 'number' ? key : values[key] || key;
42
+ if (typeof result === 'number') {
43
+ result = `${result}px`;
44
+ }
45
+ return containerName ? `@container ${containerName} (min-width:${result})` : `@container (min-width:${result})`;
46
+ }
47
+ })
48
+ };
38
49
  function handleBreakpoints(props, propValue, styleFromPropValue) {
39
50
  const theme = props.theme || {};
40
51
  if (Array.isArray(propValue)) {
@@ -47,8 +58,14 @@ function handleBreakpoints(props, propValue, styleFromPropValue) {
47
58
  if (typeof propValue === 'object') {
48
59
  const themeBreakpoints = theme.breakpoints || defaultBreakpoints;
49
60
  return Object.keys(propValue).reduce((acc, breakpoint) => {
61
+ if ((0, _cssContainerQueries.isCqShorthand)(themeBreakpoints.keys, breakpoint)) {
62
+ const containerKey = (0, _cssContainerQueries.getContainerQuery)(theme.containerQueries ? theme : defaultContainerQueries, breakpoint);
63
+ if (containerKey) {
64
+ acc[containerKey] = styleFromPropValue(propValue[breakpoint], breakpoint);
65
+ }
66
+ }
50
67
  // key is breakpoint
51
- if (Object.keys(themeBreakpoints.values || values).indexOf(breakpoint) !== -1) {
68
+ else if (Object.keys(themeBreakpoints.values || values).indexOf(breakpoint) !== -1) {
52
69
  const mediaKey = themeBreakpoints.up(breakpoint);
53
70
  acc[mediaKey] = styleFromPropValue(propValue[breakpoint], breakpoint);
54
71
  } else {
@@ -71,21 +88,23 @@ function breakpoints(styleFunction) {
71
88
  const extended = themeBreakpoints.keys.reduce((acc, key) => {
72
89
  if (props[key]) {
73
90
  acc = acc || {};
74
- acc[themeBreakpoints.up(key)] = styleFunction((0, _extends2.default)({
75
- theme
76
- }, props[key]));
91
+ acc[themeBreakpoints.up(key)] = styleFunction({
92
+ theme,
93
+ ...props[key]
94
+ });
77
95
  }
78
96
  return acc;
79
97
  }, null);
80
98
  return (0, _merge.default)(base, extended);
81
99
  };
82
- newStyleFunction.propTypes = process.env.NODE_ENV !== 'production' ? (0, _extends2.default)({}, styleFunction.propTypes, {
100
+ newStyleFunction.propTypes = process.env.NODE_ENV !== 'production' ? {
101
+ ...styleFunction.propTypes,
83
102
  xs: _propTypes.default.object,
84
103
  sm: _propTypes.default.object,
85
104
  md: _propTypes.default.object,
86
105
  lg: _propTypes.default.object,
87
106
  xl: _propTypes.default.object
88
- }) : {};
107
+ } : {};
89
108
  newStyleFunction.filterProps = ['xs', 'sm', 'md', 'lg', 'xl', ...styleFunction.filterProps];
90
109
  return newStyleFunction;
91
110
  }
@@ -6,15 +6,12 @@ Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.default = createBox;
9
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
- var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
11
9
  var React = _interopRequireWildcard(require("react"));
12
10
  var _clsx = _interopRequireDefault(require("clsx"));
13
11
  var _styledEngine = _interopRequireDefault(require("@mui/styled-engine"));
14
12
  var _styleFunctionSx = _interopRequireWildcard(require("../styleFunctionSx"));
15
13
  var _useTheme = _interopRequireDefault(require("../useTheme"));
16
14
  var _jsxRuntime = require("react/jsx-runtime");
17
- const _excluded = ["className", "component"];
18
15
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
19
16
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
20
17
  function createBox(options = {}) {
@@ -29,18 +26,18 @@ function createBox(options = {}) {
29
26
  })(_styleFunctionSx.default);
30
27
  const Box = /*#__PURE__*/React.forwardRef(function Box(inProps, ref) {
31
28
  const theme = (0, _useTheme.default)(defaultTheme);
32
- const _extendSxProp = (0, _styleFunctionSx.extendSxProp)(inProps),
33
- {
34
- className,
35
- component = 'div'
36
- } = _extendSxProp,
37
- other = (0, _objectWithoutPropertiesLoose2.default)(_extendSxProp, _excluded);
38
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(BoxRoot, (0, _extends2.default)({
29
+ const {
30
+ className,
31
+ component = 'div',
32
+ ...other
33
+ } = (0, _styleFunctionSx.extendSxProp)(inProps);
34
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(BoxRoot, {
39
35
  as: component,
40
36
  ref: ref,
41
37
  className: (0, _clsx.default)(className, generateClassName ? generateClassName(defaultClassName) : defaultClassName),
42
- theme: themeId ? theme[themeId] || theme : theme
43
- }, other));
38
+ theme: themeId ? theme[themeId] || theme : theme,
39
+ ...other
40
+ });
44
41
  });
45
42
  return Box;
46
43
  }
@@ -7,20 +7,16 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.default = createStyled;
8
8
  exports.shouldForwardProp = shouldForwardProp;
9
9
  exports.systemDefaultTheme = void 0;
10
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
- var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
12
10
  var _styledEngine = _interopRequireWildcard(require("@mui/styled-engine"));
13
11
  var _deepmerge = require("@mui/utils/deepmerge");
14
12
  var _capitalize = _interopRequireDefault(require("@mui/utils/capitalize"));
15
13
  var _getDisplayName = _interopRequireDefault(require("@mui/utils/getDisplayName"));
16
14
  var _createTheme = _interopRequireDefault(require("../createTheme"));
17
15
  var _styleFunctionSx = _interopRequireDefault(require("../styleFunctionSx"));
18
- const _excluded = ["ownerState"],
19
- _excluded2 = ["variants"],
20
- _excluded3 = ["name", "slot", "skipVariantsResolver", "skipSx", "overridesResolver"];
21
- /* eslint-disable no-underscore-dangle */
22
16
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
23
17
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
18
+ /* eslint-disable no-underscore-dangle */
19
+
24
20
  function isEmpty(obj) {
25
21
  return Object.keys(obj).length === 0;
26
22
  }
@@ -58,31 +54,35 @@ function defaultOverridesResolver(slot) {
58
54
  }
59
55
  return (props, styles) => styles[slot];
60
56
  }
61
- function processStyleArg(callableStyle, _ref) {
62
- let {
63
- ownerState
64
- } = _ref,
65
- props = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);
66
- const resolvedStylesArg = typeof callableStyle === 'function' ? callableStyle((0, _extends2.default)({
67
- ownerState
68
- }, props)) : callableStyle;
57
+ function processStyleArg(callableStyle, {
58
+ ownerState,
59
+ ...props
60
+ }) {
61
+ const resolvedStylesArg = typeof callableStyle === 'function' ? callableStyle({
62
+ ownerState,
63
+ ...props
64
+ }) : callableStyle;
69
65
  if (Array.isArray(resolvedStylesArg)) {
70
- return resolvedStylesArg.flatMap(resolvedStyle => processStyleArg(resolvedStyle, (0, _extends2.default)({
71
- ownerState
72
- }, props)));
66
+ return resolvedStylesArg.flatMap(resolvedStyle => processStyleArg(resolvedStyle, {
67
+ ownerState,
68
+ ...props
69
+ }));
73
70
  }
71
+ const mergedState = {
72
+ ...props,
73
+ ...ownerState,
74
+ ownerState
75
+ };
74
76
  if (!!resolvedStylesArg && typeof resolvedStylesArg === 'object' && Array.isArray(resolvedStylesArg.variants)) {
75
77
  const {
76
- variants = []
77
- } = resolvedStylesArg,
78
- otherStyles = (0, _objectWithoutPropertiesLoose2.default)(resolvedStylesArg, _excluded2);
78
+ variants = [],
79
+ ...otherStyles
80
+ } = resolvedStylesArg;
79
81
  let result = otherStyles;
80
82
  variants.forEach(variant => {
81
83
  let isMatch = true;
82
84
  if (typeof variant.props === 'function') {
83
- isMatch = variant.props((0, _extends2.default)({
84
- ownerState
85
- }, props, ownerState));
85
+ isMatch = variant.props(mergedState);
86
86
  } else {
87
87
  Object.keys(variant.props).forEach(key => {
88
88
  if ((ownerState == null ? void 0 : ownerState[key]) !== variant.props[key] && props[key] !== variant.props[key]) {
@@ -94,9 +94,7 @@ function processStyleArg(callableStyle, _ref) {
94
94
  if (!Array.isArray(result)) {
95
95
  result = [result];
96
96
  }
97
- result.push(typeof variant.style === 'function' ? variant.style((0, _extends2.default)({
98
- ownerState
99
- }, props, ownerState)) : variant.style);
97
+ result.push(typeof variant.style === 'function' ? variant.style(mergedState) : variant.style);
100
98
  }
101
99
  });
102
100
  return result;
@@ -111,27 +109,29 @@ function createStyled(input = {}) {
111
109
  slotShouldForwardProp = shouldForwardProp
112
110
  } = input;
113
111
  const systemSx = props => {
114
- return (0, _styleFunctionSx.default)((0, _extends2.default)({}, props, {
115
- theme: resolveTheme((0, _extends2.default)({}, props, {
112
+ return (0, _styleFunctionSx.default)({
113
+ ...props,
114
+ theme: resolveTheme({
115
+ ...props,
116
116
  defaultTheme,
117
117
  themeId
118
- }))
119
- }));
118
+ })
119
+ });
120
120
  };
121
121
  systemSx.__mui_systemSx = true;
122
122
  return (tag, inputOptions = {}) => {
123
123
  // Filter out the `sx` style function from the previous styled component to prevent unnecessary styles generated by the composite components.
124
124
  (0, _styledEngine.internal_processStyles)(tag, styles => styles.filter(style => !(style != null && style.__mui_systemSx)));
125
125
  const {
126
- name: componentName,
127
- slot: componentSlot,
128
- skipVariantsResolver: inputSkipVariantsResolver,
129
- skipSx: inputSkipSx,
130
- // TODO v6: remove `lowercaseFirstLetter()` in the next major release
131
- // For more details: https://github.com/mui/material-ui/pull/37908
132
- overridesResolver = defaultOverridesResolver(lowercaseFirstLetter(componentSlot))
133
- } = inputOptions,
134
- options = (0, _objectWithoutPropertiesLoose2.default)(inputOptions, _excluded3);
126
+ name: componentName,
127
+ slot: componentSlot,
128
+ skipVariantsResolver: inputSkipVariantsResolver,
129
+ skipSx: inputSkipSx,
130
+ // TODO v6: remove `lowercaseFirstLetter()` in the next major release
131
+ // For more details: https://github.com/mui/material-ui/pull/37908
132
+ overridesResolver = defaultOverridesResolver(lowercaseFirstLetter(componentSlot)),
133
+ ...options
134
+ } = inputOptions;
135
135
 
136
136
  // if skipVariantsResolver option is defined, take the value, otherwise, true for root and false for other slots.
137
137
  const skipVariantsResolver = inputSkipVariantsResolver !== undefined ? inputSkipVariantsResolver :
@@ -160,22 +160,24 @@ function createStyled(input = {}) {
160
160
  // for string (html) tag, preserve the behavior in emotion & styled-components.
161
161
  shouldForwardPropOption = undefined;
162
162
  }
163
- const defaultStyledResolver = (0, _styledEngine.default)(tag, (0, _extends2.default)({
163
+ const defaultStyledResolver = (0, _styledEngine.default)(tag, {
164
164
  shouldForwardProp: shouldForwardPropOption,
165
- label
166
- }, options));
165
+ label,
166
+ ...options
167
+ });
167
168
  const transformStyleArg = stylesArg => {
168
169
  // On the server Emotion doesn't use React.forwardRef for creating components, so the created
169
170
  // component stays as a function. This condition makes sure that we do not interpolate functions
170
171
  // which are basically components used as a selectors.
171
172
  if (typeof stylesArg === 'function' && stylesArg.__emotion_real !== stylesArg || (0, _deepmerge.isPlainObject)(stylesArg)) {
172
- return props => processStyleArg(stylesArg, (0, _extends2.default)({}, props, {
173
+ return props => processStyleArg(stylesArg, {
174
+ ...props,
173
175
  theme: resolveTheme({
174
176
  theme: props.theme,
175
177
  defaultTheme,
176
178
  themeId
177
179
  })
178
- }));
180
+ });
179
181
  }
180
182
  return stylesArg;
181
183
  };
@@ -184,10 +186,11 @@ function createStyled(input = {}) {
184
186
  const expressionsWithDefaultTheme = expressions ? expressions.map(transformStyleArg) : [];
185
187
  if (componentName && overridesResolver) {
186
188
  expressionsWithDefaultTheme.push(props => {
187
- const theme = resolveTheme((0, _extends2.default)({}, props, {
189
+ const theme = resolveTheme({
190
+ ...props,
188
191
  defaultTheme,
189
192
  themeId
190
- }));
193
+ });
191
194
  if (!theme.components || !theme.components[componentName] || !theme.components[componentName].styleOverrides) {
192
195
  return null;
193
196
  }
@@ -195,9 +198,10 @@ function createStyled(input = {}) {
195
198
  const resolvedStyleOverrides = {};
196
199
  // TODO: v7 remove iteration and use `resolveStyleArg(styleOverrides[slot])` directly
197
200
  Object.entries(styleOverrides).forEach(([slotKey, slotStyle]) => {
198
- resolvedStyleOverrides[slotKey] = processStyleArg(slotStyle, (0, _extends2.default)({}, props, {
201
+ resolvedStyleOverrides[slotKey] = processStyleArg(slotStyle, {
202
+ ...props,
199
203
  theme
200
- }));
204
+ });
201
205
  });
202
206
  return overridesResolver(props, resolvedStyleOverrides);
203
207
  });
@@ -205,16 +209,18 @@ function createStyled(input = {}) {
205
209
  if (componentName && !skipVariantsResolver) {
206
210
  expressionsWithDefaultTheme.push(props => {
207
211
  var _theme$components;
208
- const theme = resolveTheme((0, _extends2.default)({}, props, {
212
+ const theme = resolveTheme({
213
+ ...props,
209
214
  defaultTheme,
210
215
  themeId
211
- }));
216
+ });
212
217
  const themeVariants = theme == null || (_theme$components = theme.components) == null || (_theme$components = _theme$components[componentName]) == null ? void 0 : _theme$components.variants;
213
218
  return processStyleArg({
214
219
  variants: themeVariants
215
- }, (0, _extends2.default)({}, props, {
220
+ }, {
221
+ ...props,
216
222
  theme
217
- }));
223
+ });
218
224
  });
219
225
  }
220
226
  if (!skipSx) {
@@ -8,7 +8,7 @@ exports.default = applyStyles;
8
8
  * A universal utility to style components with multiple color modes. Always use it from the theme object.
9
9
  * It works with:
10
10
  * - [Basic theme](https://mui.com/material-ui/customization/dark-mode/)
11
- * - [CSS theme variables](https://mui.com/material-ui/experimental-api/css-theme-variables/overview/)
11
+ * - [CSS theme variables](https://mui.com/material-ui/customization/css-theme-variables/overview/)
12
12
  * - Zero-runtime engine
13
13
  *
14
14
  * Tips: Use an array over object spread and place `theme.applyStyles()` last.
@@ -1,14 +1,10 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
6
  exports.breakpointKeys = void 0;
8
7
  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"];
12
8
  // Sorted ASC by size. That's important.
13
9
  // It can't be configured as it's used statically for propTypes.
14
10
  const breakpointKeys = exports.breakpointKeys = ['xs', 'sm', 'md', 'lg', 'xl'];
@@ -20,32 +16,33 @@ const sortBreakpointsValues = values => {
20
16
  // Sort in ascending order
21
17
  breakpointsAsArray.sort((breakpoint1, breakpoint2) => breakpoint1.val - breakpoint2.val);
22
18
  return breakpointsAsArray.reduce((acc, obj) => {
23
- return (0, _extends2.default)({}, acc, {
19
+ return {
20
+ ...acc,
24
21
  [obj.key]: obj.val
25
- });
22
+ };
26
23
  }, {});
27
24
  };
28
25
 
29
26
  // Keep in mind that @media is inclusive by the CSS specification.
30
27
  function createBreakpoints(breakpoints) {
31
28
  const {
32
- // The breakpoint **start** at this value.
33
- // For instance with the first breakpoint xs: [xs, sm).
34
- values = {
35
- xs: 0,
36
- // phone
37
- sm: 600,
38
- // tablet
39
- md: 900,
40
- // small laptop
41
- lg: 1200,
42
- // desktop
43
- xl: 1536 // large screen
44
- },
45
- unit = 'px',
46
- step = 5
47
- } = breakpoints,
48
- other = (0, _objectWithoutPropertiesLoose2.default)(breakpoints, _excluded);
29
+ // The breakpoint **start** at this value.
30
+ // For instance with the first breakpoint xs: [xs, sm).
31
+ values = {
32
+ xs: 0,
33
+ // phone
34
+ sm: 600,
35
+ // tablet
36
+ md: 900,
37
+ // small laptop
38
+ lg: 1200,
39
+ // desktop
40
+ xl: 1536 // large screen
41
+ },
42
+ unit = 'px',
43
+ step = 5,
44
+ ...other
45
+ } = breakpoints;
49
46
  const sortedValues = sortBreakpointsValues(values);
50
47
  const keys = Object.keys(sortedValues);
51
48
  function up(key) {
@@ -77,7 +74,7 @@ function createBreakpoints(breakpoints) {
77
74
  }
78
75
  return between(key, keys[keys.indexOf(key) + 1]).replace('@media', '@media not all and');
79
76
  }
80
- return (0, _extends2.default)({
77
+ return {
81
78
  keys,
82
79
  values: sortedValues,
83
80
  up,
@@ -85,6 +82,7 @@ function createBreakpoints(breakpoints) {
85
82
  between,
86
83
  only,
87
84
  not,
88
- unit
89
- }, other);
85
+ unit,
86
+ ...other
87
+ };
90
88
  }
@@ -8,18 +8,17 @@ var _spacing = require("../spacing");
8
8
  // The different signatures imply different meaning for their arguments that can't be expressed structurally.
9
9
  // We express the difference with variable names.
10
10
 
11
- function createSpacing(spacingInput = 8) {
11
+ function createSpacing(spacingInput = 8,
12
+ // Material Design layouts are visually balanced. Most measurements align to an 8dp grid, which aligns both spacing and the overall layout.
13
+ // Smaller components, such as icons, can align to a 4dp grid.
14
+ // https://m2.material.io/design/layout/understanding-layout.html
15
+ transform = (0, _spacing.createUnarySpacing)({
16
+ spacing: spacingInput
17
+ })) {
12
18
  // Already transformed.
13
19
  if (spacingInput.mui) {
14
20
  return spacingInput;
15
21
  }
16
-
17
- // Material Design layouts are visually balanced. Most measurements align to an 8dp grid, which aligns both spacing and the overall layout.
18
- // Smaller components, such as icons, can align to a 4dp grid.
19
- // https://m2.material.io/design/layout/understanding-layout.html
20
- const transform = (0, _spacing.createUnarySpacing)({
21
- spacing: spacingInput
22
- });
23
22
  const spacing = (...argsInput) => {
24
23
  if (process.env.NODE_ENV !== 'production') {
25
24
  if (!(argsInput.length <= 4)) {