@mui/system 5.6.3 → 5.8.0

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 (67) hide show
  1. package/Box/Box.spec.d.ts +1 -1
  2. package/CHANGELOG.md +238 -0
  3. package/Container/Container.d.ts +13 -0
  4. package/Container/Container.js +81 -0
  5. package/Container/ContainerProps.d.ts +40 -0
  6. package/Container/ContainerProps.js +5 -0
  7. package/Container/containerClasses.d.ts +22 -0
  8. package/Container/containerClasses.js +17 -0
  9. package/Container/createContainer.d.ts +18 -0
  10. package/Container/createContainer.js +172 -0
  11. package/Container/index.d.ts +5 -0
  12. package/Container/index.js +42 -0
  13. package/Container/package.json +6 -0
  14. package/ThemeProvider/ThemeProvider.d.ts +1 -1
  15. package/createBox.spec.d.ts +1 -1
  16. package/createStyled.js +3 -1
  17. package/createTheme/createBreakpoints.d.ts +5 -0
  18. package/createTheme/createSpacing.d.ts +10 -10
  19. package/cssVars/createCssVarsProvider.d.ts +25 -0
  20. package/cssVars/createCssVarsProvider.js +74 -57
  21. package/cssVars/createCssVarsProvider.spec.d.ts +1 -1
  22. package/cssVars/createGetCssVar.d.ts +5 -5
  23. package/cssVars/cssVarsParser.d.ts +70 -70
  24. package/cssVars/cssVarsParser.js +11 -9
  25. package/cssVars/getInitColorSchemeScript.d.ts +40 -12
  26. package/cssVars/getInitColorSchemeScript.js +4 -3
  27. package/cssVars/index.d.ts +2 -2
  28. package/cssVars/useCurrentColorScheme.d.ts +53 -50
  29. package/cssVars/useCurrentColorScheme.js +17 -7
  30. package/esm/Container/Container.js +70 -0
  31. package/esm/Container/ContainerProps.js +1 -0
  32. package/esm/Container/containerClasses.js +6 -0
  33. package/esm/Container/createContainer.js +151 -0
  34. package/esm/Container/index.js +3 -0
  35. package/esm/createStyled.js +3 -1
  36. package/esm/cssVars/createCssVarsProvider.js +76 -57
  37. package/esm/cssVars/cssVarsParser.js +11 -9
  38. package/esm/cssVars/getInitColorSchemeScript.js +4 -3
  39. package/esm/cssVars/useCurrentColorScheme.js +17 -7
  40. package/esm/index.js +4 -1
  41. package/index.d.ts +6 -0
  42. package/index.js +32 -2
  43. package/index.spec.d.ts +1 -1
  44. package/legacy/Container/Container.js +70 -0
  45. package/legacy/Container/ContainerProps.js +1 -0
  46. package/legacy/Container/containerClasses.js +6 -0
  47. package/legacy/Container/createContainer.js +148 -0
  48. package/legacy/Container/index.js +3 -0
  49. package/legacy/createStyled.js +3 -1
  50. package/legacy/cssVars/createCssVarsProvider.js +83 -55
  51. package/legacy/cssVars/cssVarsParser.js +11 -7
  52. package/legacy/cssVars/getInitColorSchemeScript.js +6 -3
  53. package/legacy/cssVars/useCurrentColorScheme.js +20 -9
  54. package/legacy/index.js +5 -2
  55. package/modern/Container/Container.js +70 -0
  56. package/modern/Container/ContainerProps.js +1 -0
  57. package/modern/Container/containerClasses.js +6 -0
  58. package/modern/Container/createContainer.js +151 -0
  59. package/modern/Container/index.js +3 -0
  60. package/modern/createStyled.js +3 -1
  61. package/modern/cssVars/createCssVarsProvider.js +76 -55
  62. package/modern/cssVars/cssVarsParser.js +11 -9
  63. package/modern/cssVars/getInitColorSchemeScript.js +4 -3
  64. package/modern/cssVars/useCurrentColorScheme.js +17 -7
  65. package/modern/index.js +5 -2
  66. package/package.json +5 -5
  67. package/styleFunctionSx/styleFunctionSx.spec.d.ts +1 -1
@@ -63,7 +63,8 @@ export default function useCurrentColorScheme(options) {
63
63
  defaultDarkColorScheme,
64
64
  supportedColorSchemes = [],
65
65
  modeStorageKey = DEFAULT_MODE_STORAGE_KEY,
66
- colorSchemeStorageKey = DEFAULT_COLOR_SCHEME_STORAGE_KEY
66
+ colorSchemeStorageKey = DEFAULT_COLOR_SCHEME_STORAGE_KEY,
67
+ storageWindow = typeof window === 'undefined' ? undefined : window
67
68
  } = options;
68
69
  const joinedColorSchemes = supportedColorSchemes.join(',');
69
70
  const [state, setState] = React.useState(() => {
@@ -80,6 +81,10 @@ export default function useCurrentColorScheme(options) {
80
81
  setState(currentState => {
81
82
  const newMode = !mode ? defaultMode : mode;
82
83
 
84
+ if (mode === currentState.mode) {
85
+ return currentState;
86
+ }
87
+
83
88
  if (typeof localStorage !== 'undefined') {
84
89
  localStorage.setItem(modeStorageKey, newMode);
85
90
  }
@@ -92,7 +97,7 @@ export default function useCurrentColorScheme(options) {
92
97
  }, [modeStorageKey, defaultMode]);
93
98
  const setColorScheme = React.useCallback(value => {
94
99
  if (!value || typeof value === 'string') {
95
- if (value && !supportedColorSchemes.includes(value)) {
100
+ if (value && !joinedColorSchemes.includes(value)) {
96
101
  console.error(`\`${value}\` does not exist in \`theme.colorSchemes\`.`);
97
102
  } else {
98
103
  setState(currentState => {
@@ -119,7 +124,7 @@ export default function useCurrentColorScheme(options) {
119
124
  return newState;
120
125
  });
121
126
  }
122
- } else if (value.light && !supportedColorSchemes.includes(value.light) || value.dark && !supportedColorSchemes.includes(value.dark)) {
127
+ } else if (value.light && !joinedColorSchemes.includes(value.light) || value.dark && !joinedColorSchemes.includes(value.dark)) {
123
128
  console.error(`\`${value}\` does not exist in \`theme.colorSchemes\`.`);
124
129
  } else {
125
130
  setState(currentState => {
@@ -144,7 +149,7 @@ export default function useCurrentColorScheme(options) {
144
149
  localStorage.setItem(`${colorSchemeStorageKey}-dark`, value.dark);
145
150
  }
146
151
  }
147
- }, [colorSchemeStorageKey, supportedColorSchemes, defaultLightColorScheme, defaultDarkColorScheme]);
152
+ }, [joinedColorSchemes, colorSchemeStorageKey, defaultLightColorScheme, defaultDarkColorScheme]);
148
153
  const handleMediaQuery = React.useCallback(e => {
149
154
  if (state.mode === 'system') {
150
155
  setState(currentState => _extends({}, currentState, {
@@ -206,9 +211,14 @@ export default function useCurrentColorScheme(options) {
206
211
  }
207
212
  };
208
213
 
209
- window.addEventListener('storage', handleStorage);
210
- return () => window.removeEventListener('storage', handleStorage);
211
- }, [setColorScheme, setMode, modeStorageKey, colorSchemeStorageKey, joinedColorSchemes, defaultMode]);
214
+ if (storageWindow) {
215
+ // For syncing color-scheme changes between iframes
216
+ storageWindow.addEventListener('storage', handleStorage);
217
+ return () => storageWindow.removeEventListener('storage', handleStorage);
218
+ }
219
+
220
+ return undefined;
221
+ }, [setColorScheme, setMode, modeStorageKey, colorSchemeStorageKey, joinedColorSchemes, defaultMode, storageWindow]);
212
222
  return _extends({}, state, {
213
223
  colorScheme,
214
224
  setMode,
package/modern/index.js CHANGED
@@ -1,4 +1,4 @@
1
- /** @license MUI v5.6.3
1
+ /** @license MUI v5.8.0
2
2
  *
3
3
  * This source code is licensed under the MIT license found in the
4
4
  * LICENSE file in the root directory of this source tree.
@@ -44,4 +44,7 @@ export { default as useThemeWithoutDefault } from './useThemeWithoutDefault';
44
44
  export * from './colorManipulator';
45
45
  export { default as ThemeProvider } from './ThemeProvider';
46
46
  export { default as unstable_createCssVarsProvider } from './cssVars/createCssVarsProvider';
47
- export { default as unstable_createGetCssVar } from './cssVars/createGetCssVar';
47
+ export { default as unstable_createGetCssVar } from './cssVars/createGetCssVar';
48
+ export { default as createContainer } from './Container/createContainer';
49
+ export { default as Container } from './Container';
50
+ export * from './Container';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mui/system",
3
- "version": "5.6.3",
3
+ "version": "5.8.0",
4
4
  "private": false,
5
5
  "author": "MUI Team",
6
6
  "description": "CSS utilities for rapidly laying out custom designs.",
@@ -44,13 +44,13 @@
44
44
  },
45
45
  "dependencies": {
46
46
  "@babel/runtime": "^7.17.2",
47
- "@mui/private-theming": "^5.6.2",
48
- "@mui/styled-engine": "^5.6.1",
47
+ "@mui/private-theming": "^5.8.0",
48
+ "@mui/styled-engine": "^5.8.0",
49
49
  "@mui/types": "^7.1.3",
50
- "@mui/utils": "^5.6.1",
50
+ "@mui/utils": "^5.8.0",
51
51
  "clsx": "^1.1.1",
52
52
  "csstype": "^3.0.11",
53
- "prop-types": "^15.7.2"
53
+ "prop-types": "^15.8.1"
54
54
  },
55
55
  "sideEffects": false,
56
56
  "publishConfig": {
@@ -1 +1 @@
1
- export {};
1
+ export {};