@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
@@ -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 from "@mui/utils/formatMuiErrorMessage";
4
- const _excluded = ["colorSchemes", "components", "cssVarPrefix"];
5
2
  import * as React from 'react';
6
3
  import PropTypes from 'prop-types';
7
4
  import { GlobalStyles } from '@mui/styled-engine';
@@ -65,13 +62,12 @@ export default function createCssVarsProvider(options) {
65
62
  const ctx = React.useContext(ColorSchemeContext);
66
63
  const nested = !!ctx && !disableNestedContext;
67
64
  const scopedTheme = themeProp[themeId];
68
- const _ref = scopedTheme || themeProp,
69
- {
70
- colorSchemes = {},
71
- components = {},
72
- cssVarPrefix
73
- } = _ref,
74
- restThemeProp = _objectWithoutPropertiesLoose(_ref, _excluded);
65
+ const {
66
+ colorSchemes = {},
67
+ components = {},
68
+ cssVarPrefix,
69
+ ...restThemeProp
70
+ } = scopedTheme || themeProp;
75
71
  const allColorSchemes = Object.keys(colorSchemes);
76
72
  const defaultLightColorScheme = typeof defaultColorScheme === 'string' ? defaultColorScheme : defaultColorScheme.light;
77
73
  const defaultDarkColorScheme = typeof defaultColorScheme === 'string' ? defaultColorScheme : defaultColorScheme.dark;
@@ -126,12 +122,13 @@ export default function createCssVarsProvider(options) {
126
122
  const themeVars = restThemeProp.generateThemeVars?.() || restThemeProp.vars;
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: themeVars
134
- });
131
+ };
135
132
  if (typeof theme.generateSpacing === 'function') {
136
133
  theme.spacing = theme.generateSpacing();
137
134
  }
@@ -143,7 +140,10 @@ export default function createCssVarsProvider(options) {
143
140
  Object.keys(scheme).forEach(schemeKey => {
144
141
  if (scheme[schemeKey] && typeof scheme[schemeKey] === 'object') {
145
142
  // shallow merge the 1st level structure of the theme.
146
- theme[schemeKey] = _extends({}, theme[schemeKey], scheme[schemeKey]);
143
+ theme[schemeKey] = {
144
+ ...theme[schemeKey],
145
+ ...scheme[schemeKey]
146
+ };
147
147
  } else {
148
148
  theme[schemeKey] = scheme[schemeKey];
149
149
  }
@@ -299,14 +299,15 @@ export default function createCssVarsProvider(options) {
299
299
  } : void 0;
300
300
  const defaultLightColorScheme = typeof designSystemColorScheme === 'string' ? designSystemColorScheme : designSystemColorScheme.light;
301
301
  const defaultDarkColorScheme = typeof designSystemColorScheme === 'string' ? designSystemColorScheme : designSystemColorScheme.dark;
302
- const getInitColorSchemeScript = params => systemGetInitColorSchemeScript(_extends({
302
+ const getInitColorSchemeScript = params => systemGetInitColorSchemeScript({
303
303
  attribute: defaultAttribute,
304
304
  colorSchemeStorageKey: defaultColorSchemeStorageKey,
305
305
  defaultMode: designSystemMode,
306
306
  defaultLightColorScheme,
307
307
  defaultDarkColorScheme,
308
- modeStorageKey: defaultModeStorageKey
309
- }, params));
308
+ modeStorageKey: defaultModeStorageKey,
309
+ ...params
310
+ });
310
311
  return {
311
312
  CssVarsProvider,
312
313
  useColorScheme,
@@ -1,10 +1,10 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
1
  import prepareCssVars from './prepareCssVars';
3
2
  function createCssVarsTheme(theme) {
4
3
  const output = theme;
5
- const result = prepareCssVars(output, _extends({}, theme, {
4
+ const result = prepareCssVars(output, {
5
+ ...theme,
6
6
  prefix: theme.cssVarPrefix
7
- }));
7
+ });
8
8
  output.vars = result.vars;
9
9
  output.generateThemeVars = result.generateThemeVars;
10
10
  output.generateStyleSheets = result.generateStyleSheets;
@@ -3,4 +3,5 @@
3
3
  export { default } from './createCssVarsProvider';
4
4
  export { default as getInitColorSchemeScript } from './getInitColorSchemeScript';
5
5
  export { default as prepareCssVars } from './prepareCssVars';
6
+ export { default as prepareTypographyVars } from './prepareTypographyVars';
6
7
  export { default as createCssVarsTheme } from './createCssVarsTheme';
@@ -1,21 +1,16 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
- import _toPropertyKey from "@babel/runtime/helpers/esm/toPropertyKey";
3
- import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
4
- const _excluded = ["getSelector"],
5
- _excluded2 = ["colorSchemes", "components", "defaultColorScheme"];
6
1
  import deepmerge from '@mui/utils/deepmerge';
7
2
  import cssVarsParser from './cssVarsParser';
8
- function prepareCssVars(theme, _ref = {}) {
9
- let {
10
- getSelector
11
- } = _ref,
12
- parserConfig = _objectWithoutPropertiesLoose(_ref, _excluded);
3
+ function prepareCssVars(theme, {
4
+ getSelector,
5
+ ...parserConfig
6
+ } = {}) {
13
7
  // @ts-ignore - ignore components do not exist
14
8
  const {
15
- colorSchemes = {},
16
- defaultColorScheme = 'light'
17
- } = theme,
18
- otherTheme = _objectWithoutPropertiesLoose(theme, _excluded2);
9
+ colorSchemes = {},
10
+ components,
11
+ defaultColorScheme = 'light',
12
+ ...otherTheme
13
+ } = theme;
19
14
  const {
20
15
  vars: rootVars,
21
16
  css: rootCss,
@@ -24,9 +19,9 @@ function prepareCssVars(theme, _ref = {}) {
24
19
  let themeVars = rootVarsWithDefaults;
25
20
  const colorSchemesMap = {};
26
21
  const {
27
- [defaultColorScheme]: defaultScheme
28
- } = colorSchemes,
29
- otherColorSchemes = _objectWithoutPropertiesLoose(colorSchemes, [defaultColorScheme].map(_toPropertyKey));
22
+ [defaultColorScheme]: defaultScheme,
23
+ ...otherColorSchemes
24
+ } = colorSchemes;
30
25
  Object.entries(otherColorSchemes || {}).forEach(([key, scheme]) => {
31
26
  const {
32
27
  vars,
@@ -53,7 +48,9 @@ function prepareCssVars(theme, _ref = {}) {
53
48
  };
54
49
  }
55
50
  const generateThemeVars = () => {
56
- let vars = _extends({}, rootVars);
51
+ let vars = {
52
+ ...rootVars
53
+ };
57
54
  Object.entries(colorSchemesMap).forEach(([, {
58
55
  vars: schemeVars
59
56
  }]) => {
@@ -67,26 +64,34 @@ function prepareCssVars(theme, _ref = {}) {
67
64
  function insertStyleSheet(selector, css) {
68
65
  if (Object.keys(css).length) {
69
66
  stylesheets.push(typeof selector === 'string' ? {
70
- [selector]: _extends({}, css)
67
+ [selector]: {
68
+ ...css
69
+ }
71
70
  } : selector);
72
71
  }
73
72
  }
74
- insertStyleSheet(getSelector?.(undefined, _extends({}, rootCss)) || ':root', rootCss);
73
+ insertStyleSheet(getSelector?.(undefined, {
74
+ ...rootCss
75
+ }) || ':root', rootCss);
75
76
  const {
76
- [colorScheme]: defaultSchemeVal
77
- } = colorSchemesMap,
78
- rest = _objectWithoutPropertiesLoose(colorSchemesMap, [colorScheme].map(_toPropertyKey));
77
+ [colorScheme]: defaultSchemeVal,
78
+ ...rest
79
+ } = colorSchemesMap;
79
80
  if (defaultSchemeVal) {
80
81
  // default color scheme has to come before other color schemes
81
82
  const {
82
83
  css
83
84
  } = defaultSchemeVal;
84
- insertStyleSheet(getSelector?.(colorScheme, _extends({}, css)) || `[${theme.attribute || 'data-color-scheme'}="${colorScheme}"]`, css);
85
+ insertStyleSheet(getSelector?.(colorScheme, {
86
+ ...css
87
+ }) || `[${theme.attribute || 'data-color-scheme'}="${colorScheme}"]`, css);
85
88
  }
86
89
  Object.entries(rest).forEach(([key, {
87
90
  css
88
91
  }]) => {
89
- insertStyleSheet(getSelector?.(key, _extends({}, css)) || `[${theme.attribute || 'data-color-scheme'}="${key}"]`, css);
92
+ insertStyleSheet(getSelector?.(key, {
93
+ ...css
94
+ }) || `[${theme.attribute || 'data-color-scheme'}="${key}"]`, css);
90
95
  });
91
96
  return stylesheets;
92
97
  };
@@ -0,0 +1,11 @@
1
+ export default function prepareTypographyVars(typography) {
2
+ const vars = {};
3
+ const entries = Object.entries(typography);
4
+ entries.forEach(entry => {
5
+ const [key, value] = entry;
6
+ if (typeof value === 'object') {
7
+ vars[key] = `${value.fontStyle ? `${value.fontStyle} ` : ''}${value.fontVariant ? `${value.fontVariant} ` : ''}${value.fontWeight ? `${value.fontWeight} ` : ''}${value.fontStretch ? `${value.fontStretch} ` : ''}${value.fontSize || ''}${value.lineHeight ? `/${value.lineHeight} ` : ''}${value.fontFamily || ''}`;
8
+ }
9
+ });
10
+ return vars;
11
+ }
@@ -1,6 +1,5 @@
1
1
  'use client';
2
2
 
3
- import _extends from "@babel/runtime/helpers/esm/extends";
4
3
  import * as React from 'react';
5
4
  import { DEFAULT_MODE_STORAGE_KEY, DEFAULT_COLOR_SCHEME_STORAGE_KEY } from './getInitColorSchemeScript';
6
5
  export function getSystemMode(mode) {
@@ -84,10 +83,11 @@ export default function useCurrentColorScheme(options) {
84
83
  } catch (e) {
85
84
  // Unsupported
86
85
  }
87
- return _extends({}, currentState, {
86
+ return {
87
+ ...currentState,
88
88
  mode: newMode,
89
89
  systemMode: getSystemMode(newMode)
90
- });
90
+ };
91
91
  });
92
92
  }, [modeStorageKey, defaultMode]);
93
93
  const setColorScheme = React.useCallback(value => {
@@ -99,17 +99,20 @@ export default function useCurrentColorScheme(options) {
99
99
  } catch (e) {
100
100
  // Unsupported
101
101
  }
102
- return _extends({}, currentState, {
102
+ return {
103
+ ...currentState,
103
104
  lightColorScheme: defaultLightColorScheme,
104
105
  darkColorScheme: defaultDarkColorScheme
105
- });
106
+ };
106
107
  });
107
108
  } else if (typeof value === 'string') {
108
109
  if (value && !joinedColorSchemes.includes(value)) {
109
110
  console.error(`\`${value}\` does not exist in \`theme.colorSchemes\`.`);
110
111
  } else {
111
112
  setState(currentState => {
112
- const newState = _extends({}, currentState);
113
+ const newState = {
114
+ ...currentState
115
+ };
113
116
  processState(currentState, mode => {
114
117
  try {
115
118
  localStorage.setItem(`${colorSchemeStorageKey}-${mode}`, value);
@@ -128,7 +131,9 @@ export default function useCurrentColorScheme(options) {
128
131
  }
129
132
  } else {
130
133
  setState(currentState => {
131
- const newState = _extends({}, currentState);
134
+ const newState = {
135
+ ...currentState
136
+ };
132
137
  const newLightColorScheme = value.light === null ? defaultLightColorScheme : value.light;
133
138
  const newDarkColorScheme = value.dark === null ? defaultDarkColorScheme : value.dark;
134
139
  if (newLightColorScheme) {
@@ -168,9 +173,10 @@ export default function useCurrentColorScheme(options) {
168
173
  if (currentState.systemMode === systemMode) {
169
174
  return currentState;
170
175
  }
171
- return _extends({}, currentState, {
176
+ return {
177
+ ...currentState,
172
178
  systemMode
173
- });
179
+ };
174
180
  });
175
181
  }
176
182
  }, [state.mode]);
@@ -222,9 +228,10 @@ export default function useCurrentColorScheme(options) {
222
228
  }
223
229
  return undefined;
224
230
  }, [setColorScheme, setMode, modeStorageKey, colorSchemeStorageKey, joinedColorSchemes, defaultMode, storageWindow]);
225
- return _extends({}, state, {
231
+ return {
232
+ ...state,
226
233
  colorScheme,
227
234
  setMode,
228
235
  setColorScheme
229
- });
236
+ };
230
237
  }
package/modern/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/system v6.0.0-alpha.1
2
+ * @mui/system v6.0.0-alpha.11
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -11,6 +11,7 @@ export { default as GlobalStyles } from './GlobalStyles';
11
11
  export { default as borders } from './borders';
12
12
  export * from './borders';
13
13
  export { default as breakpoints } from './breakpoints';
14
+ export { default as cssContainerQueries } from './cssContainerQueries';
14
15
  export { handleBreakpoints, mergeBreakpointsInOrder, resolveBreakpointValues as unstable_resolveBreakpointValues } from './breakpoints';
15
16
  export { default as compose } from './compose';
16
17
  export { default as display } from './display';
@@ -1,5 +1,3 @@
1
- import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
2
- const _excluded = ["variant"];
3
1
  import capitalize from '@mui/utils/capitalize';
4
2
  function isEmpty(string) {
5
3
  return string.length === 0;
@@ -12,9 +10,9 @@ function isEmpty(string) {
12
10
  */
13
11
  export default function propsToClassKey(props) {
14
12
  const {
15
- variant
16
- } = props,
17
- other = _objectWithoutPropertiesLoose(props, _excluded);
13
+ variant,
14
+ ...other
15
+ } = props;
18
16
  let classKey = variant || '';
19
17
  Object.keys(other).sort().forEach(key => {
20
18
  if (key === 'color') {
@@ -267,6 +267,9 @@ const defaultSxConfig = {
267
267
  },
268
268
  boxSizing: {},
269
269
  // typography
270
+ font: {
271
+ themeKey: 'font'
272
+ },
270
273
  fontFamily: {
271
274
  themeKey: 'typography'
272
275
  },
@@ -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 = ["sx"];
4
1
  import { isPlainObject } from '@mui/utils/deepmerge';
5
2
  import defaultSxConfig from './defaultSxConfig';
6
3
  const splitProps = props => {
@@ -20,9 +17,9 @@ const splitProps = props => {
20
17
  };
21
18
  export default function extendSxProp(props) {
22
19
  const {
23
- sx: inSx
24
- } = props,
25
- other = _objectWithoutPropertiesLoose(props, _excluded);
20
+ sx: inSx,
21
+ ...other
22
+ } = props;
26
23
  const {
27
24
  systemProps,
28
25
  otherProps
@@ -36,12 +33,19 @@ export default function extendSxProp(props) {
36
33
  if (!isPlainObject(result)) {
37
34
  return systemProps;
38
35
  }
39
- return _extends({}, systemProps, result);
36
+ return {
37
+ ...systemProps,
38
+ ...result
39
+ };
40
40
  };
41
41
  } else {
42
- finalSx = _extends({}, systemProps, inSx);
42
+ finalSx = {
43
+ ...systemProps,
44
+ ...inSx
45
+ };
43
46
  }
44
- return _extends({}, otherProps, {
47
+ return {
48
+ ...otherProps,
45
49
  sx: finalSx
46
- });
50
+ };
47
51
  }
@@ -2,6 +2,7 @@ import capitalize from '@mui/utils/capitalize';
2
2
  import merge from '../merge';
3
3
  import { getPath, getStyleValue as getValue } from '../style';
4
4
  import { handleBreakpoints, createEmptyBreakpointObject, removeUnusedBreakpoints } from '../breakpoints';
5
+ import { sortContainerQueries } from '../cssContainerQueries';
5
6
  import defaultSxConfig from './defaultSxConfig';
6
7
  function objectsHaveSameKeys(...objects) {
7
8
  const allKeys = objects.reduce((keys, object) => keys.concat(Object.keys(object)), []);
@@ -115,7 +116,7 @@ export function unstable_createStyleFunctionSx() {
115
116
  }
116
117
  }
117
118
  });
118
- return removeUnusedBreakpoints(breakpointsKeys, css);
119
+ return sortContainerQueries(theme, removeUnusedBreakpoints(breakpointsKeys, css));
119
120
  }
120
121
  return Array.isArray(sx) ? sx.map(traverse) : traverse(sx);
121
122
  }
@@ -31,25 +31,17 @@ function useMediaQueryOld(query, defaultMatches, matchMedia, ssrMatchMedia, noSs
31
31
  return defaultMatches;
32
32
  });
33
33
  useEnhancedEffect(() => {
34
- let active = true;
35
34
  if (!matchMedia) {
36
35
  return undefined;
37
36
  }
38
37
  const queryList = matchMedia(query);
39
38
  const updateMatch = () => {
40
- // Workaround Safari wrong implementation of matchMedia
41
- // TODO can we remove it?
42
- // https://github.com/mui/material-ui/pull/17315#issuecomment-528286677
43
- if (active) {
44
- setMatch(queryList.matches);
45
- }
39
+ setMatch(queryList.matches);
46
40
  };
47
41
  updateMatch();
48
- // TODO: Use `addEventListener` once support for Safari < 14 is dropped
49
- queryList.addListener(updateMatch);
42
+ queryList.addEventListener('change', updateMatch);
50
43
  return () => {
51
- active = false;
52
- queryList.removeListener(updateMatch);
44
+ queryList.removeEventListener('change', updateMatch);
53
45
  };
54
46
  }, [query, matchMedia]);
55
47
  return match;
@@ -77,10 +69,9 @@ function useMediaQueryNew(query, defaultMatches, matchMedia, ssrMatchMedia, noSs
77
69
  }
78
70
  const mediaQueryList = matchMedia(query);
79
71
  return [() => mediaQueryList.matches, notify => {
80
- // TODO: Use `addEventListener` once support for Safari < 14 is dropped
81
- mediaQueryList.addListener(notify);
72
+ mediaQueryList.addEventListener('change', notify);
82
73
  return () => {
83
- mediaQueryList.removeListener(notify);
74
+ mediaQueryList.removeEventListener('change', notify);
84
75
  };
85
76
  }];
86
77
  }, [getDefaultSnapshot, matchMedia, query]);
@@ -5,8 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.default = createContainer;
8
- var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
9
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
8
  var React = _interopRequireWildcard(require("react"));
11
9
  var _propTypes = _interopRequireDefault(require("prop-types"));
12
10
  var _clsx = _interopRequireDefault(require("clsx"));
@@ -17,7 +15,6 @@ var _useThemeProps = _interopRequireDefault(require("../useThemeProps"));
17
15
  var _styled = _interopRequireDefault(require("../styled"));
18
16
  var _createTheme = _interopRequireDefault(require("../createTheme"));
19
17
  var _jsxRuntime = require("react/jsx-runtime");
20
- const _excluded = ["className", "component", "disableGutters", "fixed", "maxWidth", "classes"];
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 defaultTheme = (0, _createTheme.default)();
@@ -61,20 +58,20 @@ function createContainer(options = {}) {
61
58
  const ContainerRoot = createStyledComponent(({
62
59
  theme,
63
60
  ownerState
64
- }) => (0, _extends2.default)({
61
+ }) => ({
65
62
  width: '100%',
66
63
  marginLeft: 'auto',
67
64
  boxSizing: 'border-box',
68
65
  marginRight: 'auto',
69
- display: 'block'
70
- }, !ownerState.disableGutters && {
71
- paddingLeft: theme.spacing(2),
72
- paddingRight: theme.spacing(2),
73
- // @ts-ignore module augmentation fails if custom breakpoints are used
74
- [theme.breakpoints.up('sm')]: {
75
- paddingLeft: theme.spacing(3),
76
- paddingRight: theme.spacing(3)
77
- }
66
+ ...(!ownerState.disableGutters && {
67
+ paddingLeft: theme.spacing(2),
68
+ paddingRight: theme.spacing(2),
69
+ // @ts-ignore module augmentation fails if custom breakpoints are used
70
+ [theme.breakpoints.up('sm')]: {
71
+ paddingLeft: theme.spacing(3),
72
+ paddingRight: theme.spacing(3)
73
+ }
74
+ })
78
75
  }), ({
79
76
  theme,
80
77
  ownerState
@@ -91,51 +88,58 @@ function createContainer(options = {}) {
91
88
  }, {}), ({
92
89
  theme,
93
90
  ownerState
94
- }) => (0, _extends2.default)({}, ownerState.maxWidth === 'xs' && {
91
+ }) => ({
95
92
  // @ts-ignore module augmentation fails if custom breakpoints are used
96
- [theme.breakpoints.up('xs')]: {
93
+ ...(ownerState.maxWidth === 'xs' && {
97
94
  // @ts-ignore module augmentation fails if custom breakpoints are used
98
- maxWidth: Math.max(theme.breakpoints.values.xs, 444)
99
- }
100
- }, ownerState.maxWidth &&
101
- // @ts-ignore module augmentation fails if custom breakpoints are used
102
- ownerState.maxWidth !== 'xs' && {
95
+ [theme.breakpoints.up('xs')]: {
96
+ // @ts-ignore module augmentation fails if custom breakpoints are used
97
+ maxWidth: Math.max(theme.breakpoints.values.xs, 444)
98
+ }
99
+ }),
100
+ ...(ownerState.maxWidth &&
103
101
  // @ts-ignore module augmentation fails if custom breakpoints are used
104
- [theme.breakpoints.up(ownerState.maxWidth)]: {
102
+ ownerState.maxWidth !== 'xs' && {
105
103
  // @ts-ignore module augmentation fails if custom breakpoints are used
106
- maxWidth: `${theme.breakpoints.values[ownerState.maxWidth]}${theme.breakpoints.unit}`
107
- }
104
+ [theme.breakpoints.up(ownerState.maxWidth)]: {
105
+ // @ts-ignore module augmentation fails if custom breakpoints are used
106
+ maxWidth: `${theme.breakpoints.values[ownerState.maxWidth]}${theme.breakpoints.unit}`
107
+ }
108
+ })
108
109
  }));
109
110
  const Container = /*#__PURE__*/React.forwardRef(function Container(inProps, ref) {
110
111
  const props = useThemeProps(inProps);
111
112
  const {
112
- className,
113
- component = 'div',
114
- disableGutters = false,
115
- fixed = false,
116
- maxWidth = 'lg'
117
- } = props,
118
- other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
119
- const ownerState = (0, _extends2.default)({}, props, {
113
+ className,
114
+ component = 'div',
115
+ disableGutters = false,
116
+ fixed = false,
117
+ maxWidth = 'lg',
118
+ classes: classesProp,
119
+ ...other
120
+ } = props;
121
+ const ownerState = {
122
+ ...props,
120
123
  component,
121
124
  disableGutters,
122
125
  fixed,
123
126
  maxWidth
124
- });
127
+ };
125
128
 
126
129
  // @ts-ignore module augmentation fails if custom breakpoints are used
127
130
  const classes = useUtilityClasses(ownerState, componentName);
128
131
  return (
129
132
  /*#__PURE__*/
130
133
  // @ts-ignore theme is injected by the styled util
131
- (0, _jsxRuntime.jsx)(ContainerRoot, (0, _extends2.default)({
134
+ (0, _jsxRuntime.jsx)(ContainerRoot, {
132
135
  as: component
133
136
  // @ts-ignore module augmentation fails if custom breakpoints are used
134
137
  ,
135
138
  ownerState: ownerState,
136
139
  className: (0, _clsx.default)(classes.root, className),
137
- ref: ref
138
- }, other))
140
+ ref: ref,
141
+ ...other
142
+ })
139
143
  );
140
144
  });
141
145
  process.env.NODE_ENV !== "production" ? Container.propTypes /* remove-proptypes */ = {
@@ -5,23 +5,20 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.useRtl = 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 React = _interopRequireWildcard(require("react"));
11
9
  var _propTypes = _interopRequireDefault(require("prop-types"));
12
10
  var _jsxRuntime = require("react/jsx-runtime");
13
- const _excluded = ["value"];
14
11
  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); }
15
12
  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; }
16
13
  const RtlContext = /*#__PURE__*/React.createContext();
17
- function RtlProvider(_ref) {
18
- let {
19
- value
20
- } = _ref,
21
- props = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);
22
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(RtlContext.Provider, (0, _extends2.default)({
23
- value: value != null ? value : true
24
- }, props));
14
+ function RtlProvider({
15
+ value,
16
+ ...props
17
+ }) {
18
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(RtlContext.Provider, {
19
+ value: value != null ? value : true,
20
+ ...props
21
+ });
25
22
  }
26
23
  process.env.NODE_ENV !== "production" ? RtlProvider.propTypes = {
27
24
  children: _propTypes.default.node,