@mui/system 6.0.0-alpha.1 → 6.0.0-alpha.11

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 (197) hide show
  1. package/CHANGELOG.md +538 -4
  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/Grid.js +0 -4
  11. package/Unstable_Grid/GridProps.d.ts +0 -4
  12. package/Unstable_Grid/createGrid.d.ts +1 -1
  13. package/Unstable_Grid/createGrid.js +21 -48
  14. package/Unstable_Grid/gridGenerator.d.ts +1 -3
  15. package/Unstable_Grid/gridGenerator.js +15 -21
  16. package/breakpoints/breakpoints.js +26 -7
  17. package/createBox/createBox.js +9 -12
  18. package/createStyled/createStyled.js +56 -51
  19. package/createTheme/applyStyles.d.ts +1 -1
  20. package/createTheme/applyStyles.js +1 -1
  21. package/createTheme/createBreakpoints.js +24 -25
  22. package/createTheme/createTheme.d.ts +2 -1
  23. package/createTheme/createTheme.js +20 -14
  24. package/cssContainerQueries/cssContainerQueries.d.ts +24 -0
  25. package/cssContainerQueries/cssContainerQueries.js +70 -0
  26. package/cssContainerQueries/index.d.ts +3 -0
  27. package/cssContainerQueries/index.js +2 -0
  28. package/cssContainerQueries/package.json +6 -0
  29. package/cssVars/createCssVarsProvider.d.ts +1 -1
  30. package/cssVars/createCssVarsProvider.js +17 -16
  31. package/cssVars/createCssVarsTheme.js +3 -3
  32. package/cssVars/cssVarsParser.d.ts +1 -1
  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/Grid.js +0 -4
  46. package/modern/Unstable_Grid/createGrid.js +21 -48
  47. package/modern/Unstable_Grid/gridGenerator.js +15 -21
  48. package/modern/breakpoints/breakpoints.js +26 -7
  49. package/modern/createBox/createBox.js +9 -12
  50. package/modern/createStyled/createStyled.js +56 -51
  51. package/modern/createTheme/applyStyles.js +1 -1
  52. package/modern/createTheme/createBreakpoints.js +24 -25
  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 +17 -16
  57. package/modern/cssVars/createCssVarsTheme.js +3 -3
  58. package/modern/cssVars/index.js +1 -0
  59. package/modern/cssVars/prepareCssVars.js +30 -25
  60. package/modern/cssVars/prepareTypographyVars.js +11 -0
  61. package/modern/cssVars/useCurrentColorScheme.js +18 -11
  62. package/modern/index.js +2 -1
  63. package/modern/propsToClassKey/propsToClassKey.js +3 -5
  64. package/modern/styleFunctionSx/defaultSxConfig.js +3 -0
  65. package/modern/styleFunctionSx/extendSxProp.js +14 -10
  66. package/modern/styleFunctionSx/styleFunctionSx.js +2 -1
  67. package/modern/useMediaQuery/useMediaQuery.js +5 -14
  68. package/node/Container/createContainer.js +39 -35
  69. package/node/RtlProvider/index.js +8 -11
  70. package/node/Stack/createStack.js +24 -26
  71. package/node/ThemeProvider/ThemeProvider.js +9 -5
  72. package/node/Unstable_Grid/Grid.js +0 -4
  73. package/node/Unstable_Grid/createGrid.js +24 -51
  74. package/node/Unstable_Grid/gridGenerator.js +15 -22
  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/createTheme.js +20 -14
  81. package/node/cssContainerQueries/cssContainerQueries.js +81 -0
  82. package/node/cssContainerQueries/index.js +32 -0
  83. package/node/cssVars/createCssVarsProvider.js +17 -16
  84. package/node/cssVars/createCssVarsTheme.js +3 -3
  85. package/node/cssVars/index.js +7 -0
  86. package/node/cssVars/prepareCssVars.js +30 -25
  87. package/node/cssVars/prepareTypographyVars.js +17 -0
  88. package/node/cssVars/useCurrentColorScheme.js +18 -12
  89. package/node/index.js +9 -1
  90. package/node/propsToClassKey/propsToClassKey.js +3 -5
  91. package/node/styleFunctionSx/defaultSxConfig.js +3 -0
  92. package/node/styleFunctionSx/extendSxProp.js +14 -10
  93. package/node/styleFunctionSx/styleFunctionSx.js +2 -1
  94. package/node/useMediaQuery/useMediaQuery.js +5 -14
  95. package/package.json +6 -6
  96. package/propsToClassKey/propsToClassKey.js +3 -5
  97. package/styleFunctionSx/defaultSxConfig.js +3 -0
  98. package/styleFunctionSx/extendSxProp.js +14 -10
  99. package/styleFunctionSx/styleFunctionSx.js +2 -1
  100. package/useMediaQuery/useMediaQuery.js +5 -14
  101. package/legacy/Box/Box.js +0 -30
  102. package/legacy/Box/boxClasses.js +0 -3
  103. package/legacy/Box/index.js +0 -5
  104. package/legacy/Container/Container.js +0 -61
  105. package/legacy/Container/ContainerProps.js +0 -1
  106. package/legacy/Container/containerClasses.js +0 -7
  107. package/legacy/Container/createContainer.js +0 -140
  108. package/legacy/Container/index.js +0 -5
  109. package/legacy/GlobalStyles/GlobalStyles.js +0 -37
  110. package/legacy/GlobalStyles/index.js +0 -4
  111. package/legacy/RtlProvider/index.js +0 -22
  112. package/legacy/Stack/Stack.js +0 -62
  113. package/legacy/Stack/StackProps.js +0 -1
  114. package/legacy/Stack/createStack.js +0 -180
  115. package/legacy/Stack/index.js +0 -7
  116. package/legacy/Stack/stackClasses.js +0 -7
  117. package/legacy/ThemeProvider/ThemeProvider.js +0 -87
  118. package/legacy/ThemeProvider/index.js +0 -3
  119. package/legacy/Unstable_Grid/Grid.js +0 -177
  120. package/legacy/Unstable_Grid/GridProps.js +0 -1
  121. package/legacy/Unstable_Grid/createGrid.js +0 -184
  122. package/legacy/Unstable_Grid/gridClasses.js +0 -28
  123. package/legacy/Unstable_Grid/gridGenerator.js +0 -216
  124. package/legacy/Unstable_Grid/index.js +0 -8
  125. package/legacy/Unstable_Grid/traverseBreakpoints.js +0 -48
  126. package/legacy/borders/borders.js +0 -51
  127. package/legacy/borders/index.js +0 -4
  128. package/legacy/breakpoints/breakpoints.js +0 -162
  129. package/legacy/breakpoints/index.js +0 -4
  130. package/legacy/colorManipulator/colorManipulator.js +0 -356
  131. package/legacy/colorManipulator/index.js +0 -3
  132. package/legacy/compose/compose.js +0 -32
  133. package/legacy/compose/index.js +0 -3
  134. package/legacy/createBox/createBox.js +0 -38
  135. package/legacy/createBox/index.js +0 -3
  136. package/legacy/createStyled/createStyled.js +0 -250
  137. package/legacy/createStyled/index.js +0 -4
  138. package/legacy/createTheme/applyStyles.js +0 -73
  139. package/legacy/createTheme/createBreakpoints.js +0 -83
  140. package/legacy/createTheme/createSpacing.js +0 -32
  141. package/legacy/createTheme/createTheme.js +0 -49
  142. package/legacy/createTheme/index.js +0 -3
  143. package/legacy/createTheme/shape.js +0 -4
  144. package/legacy/cssGrid/cssGrid.js +0 -91
  145. package/legacy/cssGrid/index.js +0 -4
  146. package/legacy/cssVars/createCssVarsProvider.js +0 -338
  147. package/legacy/cssVars/createCssVarsTheme.js +0 -13
  148. package/legacy/cssVars/createGetCssVar.js +0 -30
  149. package/legacy/cssVars/cssVarsParser.js +0 -141
  150. package/legacy/cssVars/getInitColorSchemeScript.js +0 -28
  151. package/legacy/cssVars/index.js +0 -6
  152. package/legacy/cssVars/prepareCssVars.js +0 -92
  153. package/legacy/cssVars/useCurrentColorScheme.js +0 -237
  154. package/legacy/display/display.js +0 -29
  155. package/legacy/display/index.js +0 -4
  156. package/legacy/flexbox/flexbox.js +0 -43
  157. package/legacy/flexbox/index.js +0 -4
  158. package/legacy/getThemeValue/getThemeValue.js +0 -47
  159. package/legacy/getThemeValue/index.js +0 -4
  160. package/legacy/index.js +0 -72
  161. package/legacy/memoize/index.js +0 -3
  162. package/legacy/memoize/memoize.js +0 -9
  163. package/legacy/merge/index.js +0 -3
  164. package/legacy/merge/merge.js +0 -10
  165. package/legacy/palette/index.js +0 -4
  166. package/legacy/palette/palette.js +0 -26
  167. package/legacy/positions/index.js +0 -4
  168. package/legacy/positions/positions.js +0 -22
  169. package/legacy/propsToClassKey/index.js +0 -3
  170. package/legacy/propsToClassKey/propsToClassKey.js +0 -24
  171. package/legacy/responsivePropType/index.js +0 -3
  172. package/legacy/responsivePropType/responsivePropType.js +0 -3
  173. package/legacy/shadows/index.js +0 -3
  174. package/legacy/shadows/shadows.js +0 -6
  175. package/legacy/sizing/index.js +0 -4
  176. package/legacy/sizing/sizing.js +0 -65
  177. package/legacy/spacing/index.js +0 -4
  178. package/legacy/spacing/spacing.js +0 -161
  179. package/legacy/style/index.js +0 -4
  180. package/legacy/style/style.js +0 -73
  181. package/legacy/styleFunctionSx/defaultSxConfig.js +0 -293
  182. package/legacy/styleFunctionSx/extendSxProp.js +0 -45
  183. package/legacy/styleFunctionSx/index.js +0 -4
  184. package/legacy/styleFunctionSx/styleFunctionSx.js +0 -126
  185. package/legacy/styled/index.js +0 -3
  186. package/legacy/styled/styled.js +0 -3
  187. package/legacy/typography/index.js +0 -4
  188. package/legacy/typography/typography.js +0 -37
  189. package/legacy/useMediaQuery/index.js +0 -2
  190. package/legacy/useMediaQuery/useMediaQuery.js +0 -145
  191. package/legacy/useTheme/index.js +0 -4
  192. package/legacy/useTheme/useTheme.js +0 -10
  193. package/legacy/useThemeProps/getThemeProps.js +0 -10
  194. package/legacy/useThemeProps/index.js +0 -4
  195. package/legacy/useThemeProps/useThemeProps.js +0 -20
  196. package/legacy/useThemeWithoutDefault/index.js +0 -3
  197. package/legacy/useThemeWithoutDefault/useThemeWithoutDefault.js +0 -13
@@ -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
  }
@@ -5,24 +5,22 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.default = void 0;
8
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
- var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
10
8
  var _deepmerge = _interopRequireDefault(require("@mui/utils/deepmerge"));
11
9
  var _createBreakpoints = _interopRequireDefault(require("./createBreakpoints"));
10
+ var _cssContainerQueries = _interopRequireDefault(require("../cssContainerQueries"));
12
11
  var _shape = _interopRequireDefault(require("./shape"));
13
12
  var _createSpacing = _interopRequireDefault(require("./createSpacing"));
14
13
  var _styleFunctionSx = _interopRequireDefault(require("../styleFunctionSx/styleFunctionSx"));
15
14
  var _defaultSxConfig = _interopRequireDefault(require("../styleFunctionSx/defaultSxConfig"));
16
15
  var _applyStyles = _interopRequireDefault(require("./applyStyles"));
17
- const _excluded = ["breakpoints", "palette", "spacing", "shape"];
18
16
  function createTheme(options = {}, ...args) {
19
17
  const {
20
- breakpoints: breakpointsInput = {},
21
- palette: paletteInput = {},
22
- spacing: spacingInput,
23
- shape: shapeInput = {}
24
- } = options,
25
- other = (0, _objectWithoutPropertiesLoose2.default)(options, _excluded);
18
+ breakpoints: breakpointsInput = {},
19
+ palette: paletteInput = {},
20
+ spacing: spacingInput,
21
+ shape: shapeInput = {},
22
+ ...other
23
+ } = options;
26
24
  const breakpoints = (0, _createBreakpoints.default)(breakpointsInput);
27
25
  const spacing = (0, _createSpacing.default)(spacingInput);
28
26
  let muiTheme = (0, _deepmerge.default)({
@@ -30,15 +28,23 @@ function createTheme(options = {}, ...args) {
30
28
  direction: 'ltr',
31
29
  components: {},
32
30
  // Inject component definitions.
33
- palette: (0, _extends2.default)({
34
- mode: 'light'
35
- }, paletteInput),
31
+ palette: {
32
+ mode: 'light',
33
+ ...paletteInput
34
+ },
36
35
  spacing,
37
- shape: (0, _extends2.default)({}, _shape.default, shapeInput)
36
+ shape: {
37
+ ..._shape.default,
38
+ ...shapeInput
39
+ }
38
40
  }, other);
41
+ muiTheme = (0, _cssContainerQueries.default)(muiTheme);
39
42
  muiTheme.applyStyles = _applyStyles.default;
40
43
  muiTheme = args.reduce((acc, argument) => (0, _deepmerge.default)(acc, argument), muiTheme);
41
- muiTheme.unstable_sxConfig = (0, _extends2.default)({}, _defaultSxConfig.default, other == null ? void 0 : other.unstable_sxConfig);
44
+ muiTheme.unstable_sxConfig = {
45
+ ..._defaultSxConfig.default,
46
+ ...(other == null ? void 0 : other.unstable_sxConfig)
47
+ };
42
48
  muiTheme.unstable_sx = function sx(props) {
43
49
  return (0, _styleFunctionSx.default)({
44
50
  sx: props,
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = cssContainerQueries;
8
+ exports.getContainerQuery = getContainerQuery;
9
+ exports.isCqShorthand = isCqShorthand;
10
+ exports.sortContainerQueries = sortContainerQueries;
11
+ var _formatMuiErrorMessage2 = _interopRequireDefault(require("@mui/utils/formatMuiErrorMessage"));
12
+ /**
13
+ * For using in `sx` prop to sort the breakpoint from low to high.
14
+ * Note: this function does not work and will not support multiple units.
15
+ * e.g. input: { '@container (min-width:300px)': '1rem', '@container (min-width:40rem)': '2rem' }
16
+ * output: { '@container (min-width:40rem)': '2rem', '@container (min-width:300px)': '1rem' } // since 40 < 300 eventhough 40rem > 300px
17
+ */
18
+ function sortContainerQueries(theme, css) {
19
+ if (!theme.containerQueries) {
20
+ return css;
21
+ }
22
+ const sorted = Object.keys(css).filter(key => key.startsWith('@container')).sort((a, b) => {
23
+ var _a$match, _b$match;
24
+ const regex = /min-width:\s*([0-9.]+)/;
25
+ return +(((_a$match = a.match(regex)) == null ? void 0 : _a$match[1]) || 0) - +(((_b$match = b.match(regex)) == null ? void 0 : _b$match[1]) || 0);
26
+ });
27
+ if (!sorted.length) {
28
+ return css;
29
+ }
30
+ return sorted.reduce((acc, key) => {
31
+ const value = css[key];
32
+ delete acc[key];
33
+ acc[key] = value;
34
+ return acc;
35
+ }, {
36
+ ...css
37
+ });
38
+ }
39
+ function isCqShorthand(breakpointKeys, value) {
40
+ return value === '@' || value.startsWith('@') && (breakpointKeys.some(key => value.startsWith(`@${key}`)) || !!value.match(/^@\d/));
41
+ }
42
+ function getContainerQuery(theme, shorthand) {
43
+ const matches = shorthand.match(/^@([^/]+)?\/?(.+)?$/);
44
+ if (!matches) {
45
+ if (process.env.NODE_ENV !== 'production') {
46
+ throw new Error(process.env.NODE_ENV !== "production" ? `MUI: The provided shorthand ${`(${shorthand})`} is invalid. The format should be \`@<breakpoint | number>\` or \`@<breakpoint | number>/<container>\`.
47
+ For example, \`@sm\` or \`@600\` or \`@40rem/sidebar\`.` : (0, _formatMuiErrorMessage2.default)(21, `(${shorthand})`));
48
+ }
49
+ return null;
50
+ }
51
+ const [, containerQuery, containerName] = matches;
52
+ const value = Number.isNaN(+containerQuery) ? containerQuery || 0 : +containerQuery;
53
+ return theme.containerQueries(containerName).up(value);
54
+ }
55
+ function cssContainerQueries(themeInput) {
56
+ const toContainerQuery = (mediaQuery, name) => mediaQuery.replace('@media', name ? `@container ${name}` : '@container');
57
+ function attachCq(node, name) {
58
+ node.up = (...args) => toContainerQuery(themeInput.breakpoints.up(...args), name);
59
+ node.down = (...args) => toContainerQuery(themeInput.breakpoints.down(...args), name);
60
+ node.between = (...args) => toContainerQuery(themeInput.breakpoints.between(...args), name);
61
+ node.only = (...args) => toContainerQuery(themeInput.breakpoints.only(...args), name);
62
+ node.not = (...args) => {
63
+ const result = toContainerQuery(themeInput.breakpoints.not(...args), name);
64
+ if (result.includes('not all and')) {
65
+ // `@container` does not work with `not all and`, so need to invert the logic
66
+ return result.replace('not all and ', '').replace('min-width:', 'width<').replace('max-width:', 'width>').replace('and', 'or');
67
+ }
68
+ return result;
69
+ };
70
+ }
71
+ const node = {};
72
+ const containerQueries = name => {
73
+ attachCq(node, name);
74
+ return node;
75
+ };
76
+ attachCq(containerQueries);
77
+ return {
78
+ ...themeInput,
79
+ containerQueries
80
+ };
81
+ }
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "default", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _cssContainerQueries.default;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "getContainerQuery", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _cssContainerQueries.getContainerQuery;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "isCqShorthand", {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _cssContainerQueries.isCqShorthand;
22
+ }
23
+ });
24
+ Object.defineProperty(exports, "sortContainerQueries", {
25
+ enumerable: true,
26
+ get: function () {
27
+ return _cssContainerQueries.sortContainerQueries;
28
+ }
29
+ });
30
+ var _cssContainerQueries = _interopRequireWildcard(require("./cssContainerQueries"));
31
+ 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); }
32
+ 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; }
@@ -6,8 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.DISABLE_CSS_TRANSITION = void 0;
8
8
  exports.default = createCssVarsProvider;
9
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
- var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
11
9
  var _formatMuiErrorMessage2 = _interopRequireDefault(require("@mui/utils/formatMuiErrorMessage"));
12
10
  var React = _interopRequireWildcard(require("react"));
13
11
  var _propTypes = _interopRequireDefault(require("prop-types"));
@@ -17,7 +15,6 @@ var _ThemeProvider = _interopRequireDefault(require("../ThemeProvider"));
17
15
  var _getInitColorSchemeScript = _interopRequireWildcard(require("./getInitColorSchemeScript"));
18
16
  var _useCurrentColorScheme = _interopRequireDefault(require("./useCurrentColorScheme"));
19
17
  var _jsxRuntime = require("react/jsx-runtime");
20
- const _excluded = ["colorSchemes", "components", "cssVarPrefix"];
21
18
  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); }
22
19
  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; }
23
20
  const DISABLE_CSS_TRANSITION = exports.DISABLE_CSS_TRANSITION = '*{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}';
@@ -76,13 +73,12 @@ function createCssVarsProvider(options) {
76
73
  const ctx = React.useContext(ColorSchemeContext);
77
74
  const nested = !!ctx && !disableNestedContext;
78
75
  const scopedTheme = themeProp[themeId];
79
- const _ref = scopedTheme || themeProp,
80
- {
81
- colorSchemes = {},
82
- components = {},
83
- cssVarPrefix
84
- } = _ref,
85
- restThemeProp = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);
76
+ const {
77
+ colorSchemes = {},
78
+ components = {},
79
+ cssVarPrefix,
80
+ ...restThemeProp
81
+ } = scopedTheme || themeProp;
86
82
  const allColorSchemes = Object.keys(colorSchemes);
87
83
  const defaultLightColorScheme = typeof defaultColorScheme === 'string' ? defaultColorScheme : defaultColorScheme.light;
88
84
  const defaultDarkColorScheme = typeof defaultColorScheme === 'string' ? defaultColorScheme : defaultColorScheme.dark;
@@ -137,12 +133,13 @@ function createCssVarsProvider(options) {
137
133
  const themeVars = ((_restThemeProp$genera = restThemeProp.generateThemeVars) == null ? void 0 : _restThemeProp$genera.call(restThemeProp)) || restThemeProp.vars;
138
134
 
139
135
  // 3. Start composing the theme object
140
- const theme = (0, _extends2.default)({}, restThemeProp, {
136
+ const theme = {
137
+ ...restThemeProp,
141
138
  components,
142
139
  colorSchemes,
143
140
  cssVarPrefix,
144
141
  vars: themeVars
145
- });
142
+ };
146
143
  if (typeof theme.generateSpacing === 'function') {
147
144
  theme.spacing = theme.generateSpacing();
148
145
  }
@@ -154,7 +151,10 @@ function createCssVarsProvider(options) {
154
151
  Object.keys(scheme).forEach(schemeKey => {
155
152
  if (scheme[schemeKey] && typeof scheme[schemeKey] === 'object') {
156
153
  // shallow merge the 1st level structure of the theme.
157
- theme[schemeKey] = (0, _extends2.default)({}, theme[schemeKey], scheme[schemeKey]);
154
+ theme[schemeKey] = {
155
+ ...theme[schemeKey],
156
+ ...scheme[schemeKey]
157
+ };
158
158
  } else {
159
159
  theme[schemeKey] = scheme[schemeKey];
160
160
  }
@@ -310,14 +310,15 @@ function createCssVarsProvider(options) {
310
310
  } : void 0;
311
311
  const defaultLightColorScheme = typeof designSystemColorScheme === 'string' ? designSystemColorScheme : designSystemColorScheme.light;
312
312
  const defaultDarkColorScheme = typeof designSystemColorScheme === 'string' ? designSystemColorScheme : designSystemColorScheme.dark;
313
- const getInitColorSchemeScript = params => (0, _getInitColorSchemeScript.default)((0, _extends2.default)({
313
+ const getInitColorSchemeScript = params => (0, _getInitColorSchemeScript.default)({
314
314
  attribute: defaultAttribute,
315
315
  colorSchemeStorageKey: defaultColorSchemeStorageKey,
316
316
  defaultMode: designSystemMode,
317
317
  defaultLightColorScheme,
318
318
  defaultDarkColorScheme,
319
- modeStorageKey: defaultModeStorageKey
320
- }, params));
319
+ modeStorageKey: defaultModeStorageKey,
320
+ ...params
321
+ });
321
322
  return {
322
323
  CssVarsProvider,
323
324
  useColorScheme,
@@ -5,13 +5,13 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.default = void 0;
8
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
8
  var _prepareCssVars = _interopRequireDefault(require("./prepareCssVars"));
10
9
  function createCssVarsTheme(theme) {
11
10
  const output = theme;
12
- const result = (0, _prepareCssVars.default)(output, (0, _extends2.default)({}, theme, {
11
+ const result = (0, _prepareCssVars.default)(output, {
12
+ ...theme,
13
13
  prefix: theme.cssVarPrefix
14
- }));
14
+ });
15
15
  output.vars = result.vars;
16
16
  output.generateThemeVars = result.generateThemeVars;
17
17
  output.generateStyleSheets = result.generateStyleSheets;
@@ -29,7 +29,14 @@ Object.defineProperty(exports, "prepareCssVars", {
29
29
  return _prepareCssVars.default;
30
30
  }
31
31
  });
32
+ Object.defineProperty(exports, "prepareTypographyVars", {
33
+ enumerable: true,
34
+ get: function () {
35
+ return _prepareTypographyVars.default;
36
+ }
37
+ });
32
38
  var _createCssVarsProvider = _interopRequireDefault(require("./createCssVarsProvider"));
33
39
  var _getInitColorSchemeScript = _interopRequireDefault(require("./getInitColorSchemeScript"));
34
40
  var _prepareCssVars = _interopRequireDefault(require("./prepareCssVars"));
41
+ var _prepareTypographyVars = _interopRequireDefault(require("./prepareTypographyVars"));
35
42
  var _createCssVarsTheme = _interopRequireDefault(require("./createCssVarsTheme"));