@mui/system 5.15.12 → 5.15.14

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.
@@ -55,22 +55,23 @@ function createCssVarsProvider(options) {
55
55
  }
56
56
  return value;
57
57
  };
58
- function CssVarsProvider({
59
- children,
60
- theme: themeProp = defaultTheme,
61
- modeStorageKey = defaultModeStorageKey,
62
- colorSchemeStorageKey = defaultColorSchemeStorageKey,
63
- attribute = defaultAttribute,
64
- defaultMode = designSystemMode,
65
- defaultColorScheme = designSystemColorScheme,
66
- disableTransitionOnChange = designSystemTransitionOnChange,
67
- storageWindow = typeof window === 'undefined' ? undefined : window,
68
- documentNode = typeof document === 'undefined' ? undefined : document,
69
- colorSchemeNode = typeof document === 'undefined' ? undefined : document.documentElement,
70
- colorSchemeSelector = ':root',
71
- disableNestedContext = false,
72
- disableStyleSheetGeneration = false
73
- }) {
58
+ function CssVarsProvider(props) {
59
+ const {
60
+ children,
61
+ theme: themeProp = defaultTheme,
62
+ modeStorageKey = defaultModeStorageKey,
63
+ colorSchemeStorageKey = defaultColorSchemeStorageKey,
64
+ attribute = defaultAttribute,
65
+ defaultMode = designSystemMode,
66
+ defaultColorScheme = designSystemColorScheme,
67
+ disableTransitionOnChange = designSystemTransitionOnChange,
68
+ storageWindow = typeof window === 'undefined' ? undefined : window,
69
+ documentNode = typeof document === 'undefined' ? undefined : document,
70
+ colorSchemeNode = typeof document === 'undefined' ? undefined : document.documentElement,
71
+ colorSchemeSelector = ':root',
72
+ disableNestedContext = false,
73
+ disableStyleSheetGeneration = false
74
+ } = props;
74
75
  const hasMounted = React.useRef(false);
75
76
  const upperTheme = (0, _privateTheming.useTheme)();
76
77
  const ctx = React.useContext(ColorSchemeContext);
@@ -237,14 +238,14 @@ function createCssVarsProvider(options) {
237
238
  };
238
239
  }, []);
239
240
  const contextValue = React.useMemo(() => ({
240
- mode,
241
- systemMode,
242
- setMode,
243
- lightColorScheme,
244
- darkColorScheme,
241
+ allColorSchemes,
245
242
  colorScheme,
243
+ darkColorScheme,
244
+ lightColorScheme,
245
+ mode,
246
246
  setColorScheme,
247
- allColorSchemes
247
+ setMode,
248
+ systemMode
248
249
  }), [allColorSchemes, colorScheme, darkColorScheme, lightColorScheme, mode, setColorScheme, setMode, systemMode]);
249
250
  let shouldGenerateStyleSheet = true;
250
251
  if (disableStyleSheetGeneration || nested && (upperTheme == null ? void 0 : upperTheme.cssVarPrefix) === cssVarPrefix) {
@@ -88,7 +88,7 @@ function useCurrentColorScheme(options) {
88
88
  // do nothing if mode does not change
89
89
  return currentState;
90
90
  }
91
- const newMode = !mode ? defaultMode : mode;
91
+ const newMode = mode != null ? mode : defaultMode;
92
92
  try {
93
93
  localStorage.setItem(modeStorageKey, newMode);
94
94
  } catch (e) {
@@ -169,11 +169,19 @@ function useCurrentColorScheme(options) {
169
169
  });
170
170
  }
171
171
  }, [joinedColorSchemes, colorSchemeStorageKey, defaultLightColorScheme, defaultDarkColorScheme]);
172
- const handleMediaQuery = React.useCallback(e => {
172
+ const handleMediaQuery = React.useCallback(event => {
173
173
  if (state.mode === 'system') {
174
- setState(currentState => (0, _extends2.default)({}, currentState, {
175
- systemMode: e != null && e.matches ? 'dark' : 'light'
176
- }));
174
+ setState(currentState => {
175
+ const systemMode = event != null && event.matches ? 'dark' : 'light';
176
+
177
+ // Early exit, nothing changed.
178
+ if (currentState.systemMode === systemMode) {
179
+ return currentState;
180
+ }
181
+ return (0, _extends2.default)({}, currentState, {
182
+ systemMode
183
+ });
184
+ });
177
185
  }
178
186
  }, [state.mode]);
179
187
 
@@ -189,34 +197,38 @@ function useCurrentColorScheme(options) {
189
197
  // Intentionally use deprecated listener methods to support iOS & old browsers
190
198
  media.addListener(handler);
191
199
  handler(media);
192
- return () => media.removeListener(handler);
200
+ return () => {
201
+ media.removeListener(handler);
202
+ };
193
203
  }, []);
194
204
 
195
205
  // Handle when localStorage has changed
196
206
  React.useEffect(() => {
197
- const handleStorage = event => {
198
- const value = event.newValue;
199
- if (typeof event.key === 'string' && event.key.startsWith(colorSchemeStorageKey) && (!value || joinedColorSchemes.match(value))) {
200
- // If the key is deleted, value will be null then reset color scheme to the default one.
201
- if (event.key.endsWith('light')) {
202
- setColorScheme({
203
- light: value
204
- });
207
+ if (storageWindow) {
208
+ const handleStorage = event => {
209
+ const value = event.newValue;
210
+ if (typeof event.key === 'string' && event.key.startsWith(colorSchemeStorageKey) && (!value || joinedColorSchemes.match(value))) {
211
+ // If the key is deleted, value will be null then reset color scheme to the default one.
212
+ if (event.key.endsWith('light')) {
213
+ setColorScheme({
214
+ light: value
215
+ });
216
+ }
217
+ if (event.key.endsWith('dark')) {
218
+ setColorScheme({
219
+ dark: value
220
+ });
221
+ }
205
222
  }
206
- if (event.key.endsWith('dark')) {
207
- setColorScheme({
208
- dark: value
209
- });
223
+ if (event.key === modeStorageKey && (!value || ['light', 'dark', 'system'].includes(value))) {
224
+ setMode(value || defaultMode);
210
225
  }
211
- }
212
- if (event.key === modeStorageKey && (!value || ['light', 'dark', 'system'].includes(value))) {
213
- setMode(value || defaultMode);
214
- }
215
- };
216
- if (storageWindow) {
226
+ };
217
227
  // For syncing color-scheme changes between iframes
218
228
  storageWindow.addEventListener('storage', handleStorage);
219
- return () => storageWindow.removeEventListener('storage', handleStorage);
229
+ return () => {
230
+ storageWindow.removeEventListener('storage', handleStorage);
231
+ };
220
232
  }
221
233
  return undefined;
222
234
  }, [setColorScheme, setMode, modeStorageKey, colorSchemeStorageKey, joinedColorSchemes, defaultMode, storageWindow]);
@@ -0,0 +1,25 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
+ const _excluded = ["value"];
4
+ import * as React from 'react';
5
+ import PropTypes from 'prop-types';
6
+ import { jsx as _jsx } from "react/jsx-runtime";
7
+ const RtlContext = /*#__PURE__*/React.createContext();
8
+ function RtlProvider(_ref) {
9
+ let {
10
+ value
11
+ } = _ref,
12
+ props = _objectWithoutPropertiesLoose(_ref, _excluded);
13
+ return /*#__PURE__*/_jsx(RtlContext.Provider, _extends({
14
+ value: value != null ? value : true
15
+ }, props));
16
+ }
17
+ process.env.NODE_ENV !== "production" ? RtlProvider.propTypes = {
18
+ children: PropTypes.node,
19
+ value: PropTypes.bool
20
+ } : void 0;
21
+ export const useRtl = () => {
22
+ const value = React.useContext(RtlContext);
23
+ return value != null ? value : false;
24
+ };
25
+ export default RtlProvider;
@@ -7,6 +7,7 @@ import { ThemeProvider as MuiThemeProvider, useTheme as usePrivateTheme } from '
7
7
  import exactProp from '@mui/utils/exactProp';
8
8
  import { ThemeContext as StyledEngineThemeContext } from '@mui/styled-engine';
9
9
  import useThemeWithoutDefault from '../useThemeWithoutDefault';
10
+ import RtlProvider from '../RtlProvider';
10
11
  import { jsx as _jsx } from "react/jsx-runtime";
11
12
  const EMPTY_THEME = {};
12
13
  function useThemeScoping(themeId, upperTheme, localTheme, isPrivate = false) {
@@ -52,11 +53,15 @@ function ThemeProvider(props) {
52
53
  }
53
54
  const engineTheme = useThemeScoping(themeId, upperTheme, localTheme);
54
55
  const privateTheme = useThemeScoping(themeId, upperPrivateTheme, localTheme, true);
56
+ const rtlValue = engineTheme.direction === 'rtl';
55
57
  return /*#__PURE__*/_jsx(MuiThemeProvider, {
56
58
  theme: privateTheme,
57
59
  children: /*#__PURE__*/_jsx(StyledEngineThemeContext.Provider, {
58
60
  value: engineTheme,
59
- children: children
61
+ children: /*#__PURE__*/_jsx(RtlProvider, {
62
+ value: rtlValue,
63
+ children: children
64
+ })
60
65
  })
61
66
  });
62
67
  }
@@ -46,22 +46,23 @@ export default function createCssVarsProvider(options) {
46
46
  }
47
47
  return value;
48
48
  };
49
- function CssVarsProvider({
50
- children,
51
- theme: themeProp = defaultTheme,
52
- modeStorageKey = defaultModeStorageKey,
53
- colorSchemeStorageKey = defaultColorSchemeStorageKey,
54
- attribute = defaultAttribute,
55
- defaultMode = designSystemMode,
56
- defaultColorScheme = designSystemColorScheme,
57
- disableTransitionOnChange = designSystemTransitionOnChange,
58
- storageWindow = typeof window === 'undefined' ? undefined : window,
59
- documentNode = typeof document === 'undefined' ? undefined : document,
60
- colorSchemeNode = typeof document === 'undefined' ? undefined : document.documentElement,
61
- colorSchemeSelector = ':root',
62
- disableNestedContext = false,
63
- disableStyleSheetGeneration = false
64
- }) {
49
+ function CssVarsProvider(props) {
50
+ const {
51
+ children,
52
+ theme: themeProp = defaultTheme,
53
+ modeStorageKey = defaultModeStorageKey,
54
+ colorSchemeStorageKey = defaultColorSchemeStorageKey,
55
+ attribute = defaultAttribute,
56
+ defaultMode = designSystemMode,
57
+ defaultColorScheme = designSystemColorScheme,
58
+ disableTransitionOnChange = designSystemTransitionOnChange,
59
+ storageWindow = typeof window === 'undefined' ? undefined : window,
60
+ documentNode = typeof document === 'undefined' ? undefined : document,
61
+ colorSchemeNode = typeof document === 'undefined' ? undefined : document.documentElement,
62
+ colorSchemeSelector = ':root',
63
+ disableNestedContext = false,
64
+ disableStyleSheetGeneration = false
65
+ } = props;
65
66
  const hasMounted = React.useRef(false);
66
67
  const upperTheme = muiUseTheme();
67
68
  const ctx = React.useContext(ColorSchemeContext);
@@ -228,14 +229,14 @@ export default function createCssVarsProvider(options) {
228
229
  };
229
230
  }, []);
230
231
  const contextValue = React.useMemo(() => ({
231
- mode,
232
- systemMode,
233
- setMode,
234
- lightColorScheme,
235
- darkColorScheme,
232
+ allColorSchemes,
236
233
  colorScheme,
234
+ darkColorScheme,
235
+ lightColorScheme,
236
+ mode,
237
237
  setColorScheme,
238
- allColorSchemes
238
+ setMode,
239
+ systemMode
239
240
  }), [allColorSchemes, colorScheme, darkColorScheme, lightColorScheme, mode, setColorScheme, setMode, systemMode]);
240
241
  let shouldGenerateStyleSheet = true;
241
242
  if (disableStyleSheetGeneration || nested && (upperTheme == null ? void 0 : upperTheme.cssVarPrefix) === cssVarPrefix) {
@@ -78,7 +78,7 @@ export default function useCurrentColorScheme(options) {
78
78
  // do nothing if mode does not change
79
79
  return currentState;
80
80
  }
81
- const newMode = !mode ? defaultMode : mode;
81
+ const newMode = mode != null ? mode : defaultMode;
82
82
  try {
83
83
  localStorage.setItem(modeStorageKey, newMode);
84
84
  } catch (e) {
@@ -159,11 +159,19 @@ export default function useCurrentColorScheme(options) {
159
159
  });
160
160
  }
161
161
  }, [joinedColorSchemes, colorSchemeStorageKey, defaultLightColorScheme, defaultDarkColorScheme]);
162
- const handleMediaQuery = React.useCallback(e => {
162
+ const handleMediaQuery = React.useCallback(event => {
163
163
  if (state.mode === 'system') {
164
- setState(currentState => _extends({}, currentState, {
165
- systemMode: e != null && e.matches ? 'dark' : 'light'
166
- }));
164
+ setState(currentState => {
165
+ const systemMode = event != null && event.matches ? 'dark' : 'light';
166
+
167
+ // Early exit, nothing changed.
168
+ if (currentState.systemMode === systemMode) {
169
+ return currentState;
170
+ }
171
+ return _extends({}, currentState, {
172
+ systemMode
173
+ });
174
+ });
167
175
  }
168
176
  }, [state.mode]);
169
177
 
@@ -179,34 +187,38 @@ export default function useCurrentColorScheme(options) {
179
187
  // Intentionally use deprecated listener methods to support iOS & old browsers
180
188
  media.addListener(handler);
181
189
  handler(media);
182
- return () => media.removeListener(handler);
190
+ return () => {
191
+ media.removeListener(handler);
192
+ };
183
193
  }, []);
184
194
 
185
195
  // Handle when localStorage has changed
186
196
  React.useEffect(() => {
187
- const handleStorage = event => {
188
- const value = event.newValue;
189
- if (typeof event.key === 'string' && event.key.startsWith(colorSchemeStorageKey) && (!value || joinedColorSchemes.match(value))) {
190
- // If the key is deleted, value will be null then reset color scheme to the default one.
191
- if (event.key.endsWith('light')) {
192
- setColorScheme({
193
- light: value
194
- });
197
+ if (storageWindow) {
198
+ const handleStorage = event => {
199
+ const value = event.newValue;
200
+ if (typeof event.key === 'string' && event.key.startsWith(colorSchemeStorageKey) && (!value || joinedColorSchemes.match(value))) {
201
+ // If the key is deleted, value will be null then reset color scheme to the default one.
202
+ if (event.key.endsWith('light')) {
203
+ setColorScheme({
204
+ light: value
205
+ });
206
+ }
207
+ if (event.key.endsWith('dark')) {
208
+ setColorScheme({
209
+ dark: value
210
+ });
211
+ }
195
212
  }
196
- if (event.key.endsWith('dark')) {
197
- setColorScheme({
198
- dark: value
199
- });
213
+ if (event.key === modeStorageKey && (!value || ['light', 'dark', 'system'].includes(value))) {
214
+ setMode(value || defaultMode);
200
215
  }
201
- }
202
- if (event.key === modeStorageKey && (!value || ['light', 'dark', 'system'].includes(value))) {
203
- setMode(value || defaultMode);
204
- }
205
- };
206
- if (storageWindow) {
216
+ };
207
217
  // For syncing color-scheme changes between iframes
208
218
  storageWindow.addEventListener('storage', handleStorage);
209
- return () => storageWindow.removeEventListener('storage', handleStorage);
219
+ return () => {
220
+ storageWindow.removeEventListener('storage', handleStorage);
221
+ };
210
222
  }
211
223
  return undefined;
212
224
  }, [setColorScheme, setMode, modeStorageKey, colorSchemeStorageKey, joinedColorSchemes, defaultMode, storageWindow]);
package/esm/index.js CHANGED
@@ -51,6 +51,8 @@ export { default as unstable_cssVarsParser } from './cssVars/cssVarsParser';
51
51
  export { default as unstable_prepareCssVars } from './cssVars/prepareCssVars';
52
52
  export { default as unstable_createCssVarsTheme } from './cssVars/createCssVarsTheme';
53
53
  export { default as responsivePropType } from './responsivePropType';
54
+ export { default as RtlProvider } from './RtlProvider';
55
+ export * from './RtlProvider';
54
56
 
55
57
  /** ----------------- */
56
58
  /** Layout components */
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/system v5.15.12
2
+ * @mui/system v5.15.14
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -60,6 +60,7 @@ var _exportNames = {
60
60
  unstable_prepareCssVars: true,
61
61
  unstable_createCssVarsTheme: true,
62
62
  responsivePropType: true,
63
+ RtlProvider: true,
63
64
  createContainer: true,
64
65
  Container: true,
65
66
  Unstable_Grid: true,
@@ -83,6 +84,12 @@ Object.defineProperty(exports, "GlobalStyles", {
83
84
  return _GlobalStyles.default;
84
85
  }
85
86
  });
87
+ Object.defineProperty(exports, "RtlProvider", {
88
+ enumerable: true,
89
+ get: function () {
90
+ return _RtlProvider.default;
91
+ }
92
+ });
86
93
  Object.defineProperty(exports, "Stack", {
87
94
  enumerable: true,
88
95
  get: function () {
@@ -520,6 +527,18 @@ var _cssVarsParser = _interopRequireDefault(require("./cssVars/cssVarsParser"));
520
527
  var _prepareCssVars = _interopRequireDefault(require("./cssVars/prepareCssVars"));
521
528
  var _createCssVarsTheme = _interopRequireDefault(require("./cssVars/createCssVarsTheme"));
522
529
  var _responsivePropType = _interopRequireDefault(require("./responsivePropType"));
530
+ var _RtlProvider = _interopRequireWildcard(require("./RtlProvider"));
531
+ Object.keys(_RtlProvider).forEach(function (key) {
532
+ if (key === "default" || key === "__esModule") return;
533
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
534
+ if (key in exports && exports[key] === _RtlProvider[key]) return;
535
+ Object.defineProperty(exports, key, {
536
+ enumerable: true,
537
+ get: function () {
538
+ return _RtlProvider[key];
539
+ }
540
+ });
541
+ });
523
542
  var _createContainer = _interopRequireDefault(require("./Container/createContainer"));
524
543
  var _Container = _interopRequireWildcard(require("./Container"));
525
544
  Object.keys(_Container).forEach(function (key) {
@@ -0,0 +1,22 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
+ import * as React from 'react';
4
+ import PropTypes from 'prop-types';
5
+ import { jsx as _jsx } from "react/jsx-runtime";
6
+ var RtlContext = /*#__PURE__*/React.createContext();
7
+ function RtlProvider(_ref) {
8
+ var value = _ref.value,
9
+ props = _objectWithoutProperties(_ref, ["value"]);
10
+ return /*#__PURE__*/_jsx(RtlContext.Provider, _extends({
11
+ value: value != null ? value : true
12
+ }, props));
13
+ }
14
+ process.env.NODE_ENV !== "production" ? RtlProvider.propTypes = {
15
+ children: PropTypes.node,
16
+ value: PropTypes.bool
17
+ } : void 0;
18
+ export var useRtl = function useRtl() {
19
+ var value = React.useContext(RtlContext);
20
+ return value != null ? value : false;
21
+ };
22
+ export default RtlProvider;
@@ -8,6 +8,7 @@ import { ThemeProvider as MuiThemeProvider, useTheme as usePrivateTheme } from '
8
8
  import exactProp from '@mui/utils/exactProp';
9
9
  import { ThemeContext as StyledEngineThemeContext } from '@mui/styled-engine';
10
10
  import useThemeWithoutDefault from '../useThemeWithoutDefault';
11
+ import RtlProvider from '../RtlProvider';
11
12
  import { jsx as _jsx } from "react/jsx-runtime";
12
13
  var EMPTY_THEME = {};
13
14
  function useThemeScoping(themeId, upperTheme, localTheme) {
@@ -50,11 +51,15 @@ function ThemeProvider(props) {
50
51
  }
51
52
  var engineTheme = useThemeScoping(themeId, upperTheme, localTheme);
52
53
  var privateTheme = useThemeScoping(themeId, upperPrivateTheme, localTheme, true);
54
+ var rtlValue = engineTheme.direction === 'rtl';
53
55
  return /*#__PURE__*/_jsx(MuiThemeProvider, {
54
56
  theme: privateTheme,
55
57
  children: /*#__PURE__*/_jsx(StyledEngineThemeContext.Provider, {
56
58
  value: engineTheme,
57
- children: children
59
+ children: /*#__PURE__*/_jsx(RtlProvider, {
60
+ value: rtlValue,
61
+ children: children
62
+ })
58
63
  })
59
64
  });
60
65
  }
@@ -46,53 +46,53 @@ export default function createCssVarsProvider(options) {
46
46
  }
47
47
  return value;
48
48
  };
49
- function CssVarsProvider(_ref) {
50
- var children = _ref.children,
51
- _ref$theme = _ref.theme,
52
- themeProp = _ref$theme === void 0 ? defaultTheme : _ref$theme,
53
- _ref$modeStorageKey = _ref.modeStorageKey,
54
- modeStorageKey = _ref$modeStorageKey === void 0 ? defaultModeStorageKey : _ref$modeStorageKey,
55
- _ref$colorSchemeStora = _ref.colorSchemeStorageKey,
56
- colorSchemeStorageKey = _ref$colorSchemeStora === void 0 ? defaultColorSchemeStorageKey : _ref$colorSchemeStora,
57
- _ref$attribute = _ref.attribute,
58
- attribute = _ref$attribute === void 0 ? defaultAttribute : _ref$attribute,
59
- _ref$defaultMode = _ref.defaultMode,
60
- defaultMode = _ref$defaultMode === void 0 ? designSystemMode : _ref$defaultMode,
61
- _ref$defaultColorSche = _ref.defaultColorScheme,
62
- defaultColorScheme = _ref$defaultColorSche === void 0 ? designSystemColorScheme : _ref$defaultColorSche,
63
- _ref$disableTransitio = _ref.disableTransitionOnChange,
64
- disableTransitionOnChange = _ref$disableTransitio === void 0 ? designSystemTransitionOnChange : _ref$disableTransitio,
65
- _ref$storageWindow = _ref.storageWindow,
66
- storageWindow = _ref$storageWindow === void 0 ? typeof window === 'undefined' ? undefined : window : _ref$storageWindow,
67
- _ref$documentNode = _ref.documentNode,
68
- documentNode = _ref$documentNode === void 0 ? typeof document === 'undefined' ? undefined : document : _ref$documentNode,
69
- _ref$colorSchemeNode = _ref.colorSchemeNode,
70
- colorSchemeNode = _ref$colorSchemeNode === void 0 ? typeof document === 'undefined' ? undefined : document.documentElement : _ref$colorSchemeNode,
71
- _ref$colorSchemeSelec = _ref.colorSchemeSelector,
72
- colorSchemeSelector = _ref$colorSchemeSelec === void 0 ? ':root' : _ref$colorSchemeSelec,
73
- _ref$disableNestedCon = _ref.disableNestedContext,
74
- disableNestedContext = _ref$disableNestedCon === void 0 ? false : _ref$disableNestedCon,
75
- _ref$disableStyleShee = _ref.disableStyleSheetGeneration,
76
- disableStyleSheetGeneration = _ref$disableStyleShee === void 0 ? false : _ref$disableStyleShee;
49
+ function CssVarsProvider(props) {
50
+ var children = props.children,
51
+ _props$theme = props.theme,
52
+ themeProp = _props$theme === void 0 ? defaultTheme : _props$theme,
53
+ _props$modeStorageKey = props.modeStorageKey,
54
+ modeStorageKey = _props$modeStorageKey === void 0 ? defaultModeStorageKey : _props$modeStorageKey,
55
+ _props$colorSchemeSto = props.colorSchemeStorageKey,
56
+ colorSchemeStorageKey = _props$colorSchemeSto === void 0 ? defaultColorSchemeStorageKey : _props$colorSchemeSto,
57
+ _props$attribute = props.attribute,
58
+ attribute = _props$attribute === void 0 ? defaultAttribute : _props$attribute,
59
+ _props$defaultMode = props.defaultMode,
60
+ defaultMode = _props$defaultMode === void 0 ? designSystemMode : _props$defaultMode,
61
+ _props$defaultColorSc = props.defaultColorScheme,
62
+ defaultColorScheme = _props$defaultColorSc === void 0 ? designSystemColorScheme : _props$defaultColorSc,
63
+ _props$disableTransit = props.disableTransitionOnChange,
64
+ disableTransitionOnChange = _props$disableTransit === void 0 ? designSystemTransitionOnChange : _props$disableTransit,
65
+ _props$storageWindow = props.storageWindow,
66
+ storageWindow = _props$storageWindow === void 0 ? typeof window === 'undefined' ? undefined : window : _props$storageWindow,
67
+ _props$documentNode = props.documentNode,
68
+ documentNode = _props$documentNode === void 0 ? typeof document === 'undefined' ? undefined : document : _props$documentNode,
69
+ _props$colorSchemeNod = props.colorSchemeNode,
70
+ colorSchemeNode = _props$colorSchemeNod === void 0 ? typeof document === 'undefined' ? undefined : document.documentElement : _props$colorSchemeNod,
71
+ _props$colorSchemeSel = props.colorSchemeSelector,
72
+ colorSchemeSelector = _props$colorSchemeSel === void 0 ? ':root' : _props$colorSchemeSel,
73
+ _props$disableNestedC = props.disableNestedContext,
74
+ disableNestedContext = _props$disableNestedC === void 0 ? false : _props$disableNestedC,
75
+ _props$disableStyleSh = props.disableStyleSheetGeneration,
76
+ disableStyleSheetGeneration = _props$disableStyleSh === void 0 ? false : _props$disableStyleSh;
77
77
  var hasMounted = React.useRef(false);
78
78
  var upperTheme = muiUseTheme();
79
79
  var ctx = React.useContext(ColorSchemeContext);
80
80
  var nested = !!ctx && !disableNestedContext;
81
81
  var scopedTheme = themeProp[themeId];
82
- var _ref2 = scopedTheme || themeProp,
83
- _ref2$colorSchemes = _ref2.colorSchemes,
84
- colorSchemes = _ref2$colorSchemes === void 0 ? {} : _ref2$colorSchemes,
85
- _ref2$components = _ref2.components,
86
- components = _ref2$components === void 0 ? {} : _ref2$components,
87
- _ref2$generateCssVars = _ref2.generateCssVars,
88
- generateCssVars = _ref2$generateCssVars === void 0 ? function () {
82
+ var _ref = scopedTheme || themeProp,
83
+ _ref$colorSchemes = _ref.colorSchemes,
84
+ colorSchemes = _ref$colorSchemes === void 0 ? {} : _ref$colorSchemes,
85
+ _ref$components = _ref.components,
86
+ components = _ref$components === void 0 ? {} : _ref$components,
87
+ _ref$generateCssVars = _ref.generateCssVars,
88
+ generateCssVars = _ref$generateCssVars === void 0 ? function () {
89
89
  return {
90
90
  vars: {},
91
91
  css: {}
92
92
  };
93
- } : _ref2$generateCssVars,
94
- cssVarPrefix = _ref2.cssVarPrefix,
95
- restThemeProp = _objectWithoutProperties(_ref2, ["colorSchemes", "components", "generateCssVars", "cssVarPrefix"]);
93
+ } : _ref$generateCssVars,
94
+ cssVarPrefix = _ref.cssVarPrefix,
95
+ restThemeProp = _objectWithoutProperties(_ref, ["colorSchemes", "components", "generateCssVars", "cssVarPrefix"]);
96
96
  var allColorSchemes = Object.keys(colorSchemes);
97
97
  var defaultLightColorScheme = typeof defaultColorScheme === 'string' ? defaultColorScheme : defaultColorScheme.light;
98
98
  var defaultDarkColorScheme = typeof defaultColorScheme === 'string' ? defaultColorScheme : defaultColorScheme.dark;
@@ -161,10 +161,10 @@ export default function createCssVarsProvider(options) {
161
161
  // The other color schemes uses selector, default as data attribute, to increase the CSS specificity so that they can override the default color scheme stylesheet.
162
162
  var defaultColorSchemeStyleSheet = {};
163
163
  var otherColorSchemesStyleSheet = {};
164
- Object.entries(colorSchemes).forEach(function (_ref3) {
165
- var _ref4 = _slicedToArray(_ref3, 2),
166
- key = _ref4[0],
167
- scheme = _ref4[1];
164
+ Object.entries(colorSchemes).forEach(function (_ref2) {
165
+ var _ref3 = _slicedToArray(_ref2, 2),
166
+ key = _ref3[0],
167
+ scheme = _ref3[1];
168
168
  var _generateCssVars2 = generateCssVars(key),
169
169
  css = _generateCssVars2.css,
170
170
  vars = _generateCssVars2.vars;
@@ -246,14 +246,14 @@ export default function createCssVarsProvider(options) {
246
246
  }, []);
247
247
  var contextValue = React.useMemo(function () {
248
248
  return {
249
- mode: mode,
250
- systemMode: systemMode,
251
- setMode: setMode,
252
- lightColorScheme: lightColorScheme,
253
- darkColorScheme: darkColorScheme,
249
+ allColorSchemes: allColorSchemes,
254
250
  colorScheme: colorScheme,
251
+ darkColorScheme: darkColorScheme,
252
+ lightColorScheme: lightColorScheme,
253
+ mode: mode,
255
254
  setColorScheme: setColorScheme,
256
- allColorSchemes: allColorSchemes
255
+ setMode: setMode,
256
+ systemMode: systemMode
257
257
  };
258
258
  }, [allColorSchemes, colorScheme, darkColorScheme, lightColorScheme, mode, setColorScheme, setMode, systemMode]);
259
259
  var shouldGenerateStyleSheet = true;