@mui/material 5.11.16 → 5.12.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 (77) hide show
  1. package/Box/Box.js +2 -0
  2. package/CHANGELOG.md +73 -22
  3. package/GlobalStyles/GlobalStyles.js +4 -4
  4. package/Menu/Menu.js +1 -1
  5. package/OverridableComponent.d.ts +1 -1
  6. package/PaginationItem/paginationItemClasses.d.ts +2 -2
  7. package/Popper/Popper.js +0 -4
  8. package/README.md +5 -5
  9. package/Select/Select.d.ts +1 -1
  10. package/Select/Select.js +1 -1
  11. package/Tabs/Tabs.js +1 -1
  12. package/Toolbar/Toolbar.d.ts +1 -1
  13. package/Toolbar/Toolbar.js +1 -1
  14. package/darkScrollbar/index.js +1 -1
  15. package/index.js +1 -1
  16. package/legacy/Box/Box.js +2 -0
  17. package/legacy/GlobalStyles/GlobalStyles.js +4 -4
  18. package/legacy/Menu/Menu.js +1 -1
  19. package/legacy/Popper/Popper.js +0 -4
  20. package/legacy/Select/Select.js +1 -1
  21. package/legacy/Tabs/Tabs.js +1 -1
  22. package/legacy/Toolbar/Toolbar.js +1 -1
  23. package/legacy/darkScrollbar/index.js +1 -1
  24. package/legacy/index.js +1 -1
  25. package/legacy/styles/CssVarsProvider.js +2 -0
  26. package/legacy/styles/ThemeProvider.js +19 -1
  27. package/legacy/styles/identifier.js +1 -0
  28. package/legacy/styles/index.js +1 -0
  29. package/legacy/styles/styled.js +2 -0
  30. package/legacy/styles/useTheme.js +2 -1
  31. package/legacy/styles/useThemeProps.js +3 -1
  32. package/modern/Box/Box.js +2 -0
  33. package/modern/GlobalStyles/GlobalStyles.js +4 -4
  34. package/modern/Menu/Menu.js +1 -1
  35. package/modern/Popper/Popper.js +0 -4
  36. package/modern/Select/Select.js +1 -1
  37. package/modern/Tabs/Tabs.js +1 -1
  38. package/modern/Toolbar/Toolbar.js +1 -1
  39. package/modern/darkScrollbar/index.js +1 -1
  40. package/modern/index.js +1 -1
  41. package/modern/styles/CssVarsProvider.js +2 -0
  42. package/modern/styles/ThemeProvider.js +22 -1
  43. package/modern/styles/identifier.js +1 -0
  44. package/modern/styles/index.js +1 -0
  45. package/modern/styles/styled.js +2 -0
  46. package/modern/styles/useTheme.js +2 -1
  47. package/modern/styles/useThemeProps.js +3 -1
  48. package/node/Box/Box.js +2 -0
  49. package/node/GlobalStyles/GlobalStyles.js +4 -4
  50. package/node/Menu/Menu.js +1 -1
  51. package/node/Popper/Popper.js +0 -4
  52. package/node/Select/Select.js +1 -1
  53. package/node/Tabs/Tabs.js +1 -1
  54. package/node/Toolbar/Toolbar.js +1 -1
  55. package/node/darkScrollbar/index.js +1 -1
  56. package/node/index.js +1 -1
  57. package/node/styles/CssVarsProvider.js +2 -0
  58. package/node/styles/ThemeProvider.js +26 -7
  59. package/node/styles/identifier.js +8 -0
  60. package/node/styles/index.js +8 -0
  61. package/node/styles/styled.js +2 -0
  62. package/node/styles/useTheme.js +2 -1
  63. package/node/styles/useThemeProps.js +3 -1
  64. package/package.json +6 -6
  65. package/styles/CssVarsProvider.d.ts +5 -0
  66. package/styles/CssVarsProvider.js +2 -0
  67. package/styles/ThemeProvider.js +22 -1
  68. package/styles/experimental_extendTheme.d.ts +1 -1
  69. package/styles/identifier.d.ts +2 -0
  70. package/styles/identifier.js +1 -0
  71. package/styles/index.d.ts +1 -0
  72. package/styles/index.js +1 -0
  73. package/styles/styled.js +2 -0
  74. package/styles/useTheme.js +2 -1
  75. package/styles/useThemeProps.js +3 -1
  76. package/umd/material-ui.development.js +580 -489
  77. package/umd/material-ui.production.min.js +21 -21
package/modern/Box/Box.js CHANGED
@@ -2,8 +2,10 @@ import { createBox } from '@mui/system';
2
2
  import PropTypes from 'prop-types';
3
3
  import { unstable_ClassNameGenerator as ClassNameGenerator } from '../className';
4
4
  import { createTheme } from '../styles';
5
+ import THEME_ID from '../styles/identifier';
5
6
  const defaultTheme = createTheme();
6
7
  const Box = createBox({
8
+ themeId: THEME_ID,
7
9
  defaultTheme,
8
10
  defaultClassName: 'MuiBox-root',
9
11
  generateClassName: ClassNameGenerator.generate
@@ -3,10 +3,12 @@ import * as React from 'react';
3
3
  import PropTypes from 'prop-types';
4
4
  import { GlobalStyles as SystemGlobalStyles } from '@mui/system';
5
5
  import defaultTheme from '../styles/defaultTheme';
6
+ import THEME_ID from '../styles/identifier';
6
7
  import { jsx as _jsx } from "react/jsx-runtime";
7
8
  function GlobalStyles(props) {
8
9
  return /*#__PURE__*/_jsx(SystemGlobalStyles, _extends({}, props, {
9
- defaultTheme: defaultTheme
10
+ defaultTheme: defaultTheme,
11
+ themeId: THEME_ID
10
12
  }));
11
13
  }
12
14
  process.env.NODE_ENV !== "production" ? GlobalStyles.propTypes /* remove-proptypes */ = {
@@ -17,8 +19,6 @@ process.env.NODE_ENV !== "production" ? GlobalStyles.propTypes /* remove-proptyp
17
19
  /**
18
20
  * The styles you want to apply globally.
19
21
  */
20
- styles: PropTypes.oneOfType([PropTypes.func, PropTypes.number, PropTypes.object, PropTypes.shape({
21
- __emotion_styles: PropTypes.any.isRequired
22
- }), PropTypes.string, PropTypes.bool])
22
+ styles: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.array, PropTypes.func, PropTypes.number, PropTypes.object, PropTypes.string, PropTypes.bool])
23
23
  } : void 0;
24
24
  export default GlobalStyles;
@@ -47,7 +47,7 @@ const MenuPaper = styled(Paper, {
47
47
  overridesResolver: (props, styles) => styles.paper
48
48
  })({
49
49
  // specZ: The maximum height of a simple menu should be one or more rows less than the view
50
- // height. This ensures a tapable area outside of the simple menu with which to dismiss
50
+ // height. This ensures a tappable area outside of the simple menu with which to dismiss
51
51
  // the menu.
52
52
  maxHeight: 'calc(100% - 96px)',
53
53
  // Add iOS momentum scrolling for iOS < 13.0
@@ -129,10 +129,6 @@ process.env.NODE_ENV !== "production" ? Popper.propTypes /* remove-proptypes */
129
129
  * If `true`, the component is shown.
130
130
  */
131
131
  open: PropTypes.bool.isRequired,
132
- /**
133
- * @ignore
134
- */
135
- ownerState: PropTypes.any,
136
132
  /**
137
133
  * Popper placement.
138
134
  * @default 'bottom'
@@ -228,7 +228,7 @@ process.env.NODE_ENV !== "production" ? Select.propTypes /* remove-proptypes */
228
228
  onChange: PropTypes.func,
229
229
  /**
230
230
  * Callback fired when the component requests to be closed.
231
- * Use it in either controlled (see the `open` prop), or uncontrolled mode (to detect when the Select collapes).
231
+ * Use it in either controlled (see the `open` prop), or uncontrolled mode (to detect when the Select collapses).
232
232
  *
233
233
  * @param {object} event The event source of the callback.
234
234
  */
@@ -418,7 +418,7 @@ const Tabs = /*#__PURE__*/React.forwardRef(function Tabs(inProps, ref) {
418
418
  moveTabsScroll(getScrollSize());
419
419
  };
420
420
 
421
- // TODO Remove <ScrollbarSize /> as browser support for hidding the scrollbar
421
+ // TODO Remove <ScrollbarSize /> as browser support for hiding the scrollbar
422
422
  // with CSS improves.
423
423
  const handleScrollbarSizeChange = React.useCallback(scrollbarWidth => {
424
424
  setScrollerStyle({
@@ -81,7 +81,7 @@ process.env.NODE_ENV !== "production" ? Toolbar.propTypes /* remove-proptypes */
81
81
  // ----------------------------------------------------------------------
82
82
  /**
83
83
  * The Toolbar children, usually a mixture of `IconButton`, `Button` and `Typography`.
84
- * The Toolbar is a flex container, allowing flex item properites to be used to lay out the children.
84
+ * The Toolbar is a flex container, allowing flex item properties to be used to lay out the children.
85
85
  */
86
86
  children: PropTypes.node,
87
87
  /**
@@ -1,4 +1,4 @@
1
- // track, thumb and active are derieved from macOS 10.15.7
1
+ // track, thumb and active are derived from macOS 10.15.7
2
2
  const scrollBar = {
3
3
  track: '#2b2b2b',
4
4
  thumb: '#6b6b6b',
package/modern/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/material v5.11.16
2
+ * @mui/material v5.12.0
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -3,12 +3,14 @@ import { unstable_createCssVarsProvider as createCssVarsProvider, unstable_style
3
3
  import experimental_extendTheme from './experimental_extendTheme';
4
4
  import createTypography from './createTypography';
5
5
  import excludeVariablesFromRoot from './excludeVariablesFromRoot';
6
+ import THEME_ID from './identifier';
6
7
  const defaultTheme = experimental_extendTheme();
7
8
  const {
8
9
  CssVarsProvider,
9
10
  useColorScheme,
10
11
  getInitColorSchemeScript
11
12
  } = createCssVarsProvider({
13
+ themeId: THEME_ID,
12
14
  theme: defaultTheme,
13
15
  attribute: 'data-mui-color-scheme',
14
16
  modeStorageKey: 'mui-mode',
@@ -1 +1,22 @@
1
- export { ThemeProvider as default } from '@mui/system';
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
+ const _excluded = ["theme"];
4
+ import * as React from 'react';
5
+ import PropTypes from 'prop-types';
6
+ import { ThemeProvider as SystemThemeProvider } from '@mui/system';
7
+ import THEME_ID from './identifier';
8
+ import { jsx as _jsx } from "react/jsx-runtime";
9
+ export default function ThemeProvider(_ref) {
10
+ let {
11
+ theme: themeInput
12
+ } = _ref,
13
+ props = _objectWithoutPropertiesLoose(_ref, _excluded);
14
+ const scopedTheme = themeInput[THEME_ID];
15
+ return /*#__PURE__*/_jsx(SystemThemeProvider, _extends({}, props, {
16
+ themeId: scopedTheme ? THEME_ID : undefined,
17
+ theme: scopedTheme || themeInput
18
+ }));
19
+ }
20
+ process.env.NODE_ENV !== "production" ? ThemeProvider.propTypes = {
21
+ theme: PropTypes.object
22
+ } : void 0;
@@ -0,0 +1 @@
1
+ export default '$$material';
@@ -1,4 +1,5 @@
1
1
  import { formatMuiErrorMessage as _formatMuiErrorMessage } from "@mui/utils";
2
+ export { default as THEME_ID } from './identifier';
2
3
  export { default as adaptV4Theme } from './adaptV4Theme';
3
4
  export { hexToRgb, rgbToHex, hslToRgb, decomposeColor, recomposeColor, getContrastRatio, getLuminance, emphasize, alpha, darken, lighten, css, keyframes } from '@mui/system';
4
5
  // TODO: Remove this function in v6.
@@ -1,8 +1,10 @@
1
1
  import { createStyled, shouldForwardProp } from '@mui/system';
2
2
  import defaultTheme from './defaultTheme';
3
+ import THEME_ID from './identifier';
3
4
  export const rootShouldForwardProp = prop => shouldForwardProp(prop) && prop !== 'classes';
4
5
  export const slotShouldForwardProp = shouldForwardProp;
5
6
  const styled = createStyled({
7
+ themeId: THEME_ID,
6
8
  defaultTheme,
7
9
  rootShouldForwardProp
8
10
  });
@@ -1,11 +1,12 @@
1
1
  import * as React from 'react';
2
2
  import { useTheme as useThemeSystem } from '@mui/system';
3
3
  import defaultTheme from './defaultTheme';
4
+ import THEME_ID from './identifier';
4
5
  export default function useTheme() {
5
6
  const theme = useThemeSystem(defaultTheme);
6
7
  if (process.env.NODE_ENV !== 'production') {
7
8
  // eslint-disable-next-line react-hooks/rules-of-hooks
8
9
  React.useDebugValue(theme);
9
10
  }
10
- return theme;
11
+ return theme[THEME_ID] || theme;
11
12
  }
@@ -1,5 +1,6 @@
1
1
  import { useThemeProps as systemUseThemeProps } from '@mui/system';
2
2
  import defaultTheme from './defaultTheme';
3
+ import THEME_ID from './identifier';
3
4
  export default function useThemeProps({
4
5
  props,
5
6
  name
@@ -7,6 +8,7 @@ export default function useThemeProps({
7
8
  return systemUseThemeProps({
8
9
  props,
9
10
  name,
10
- defaultTheme
11
+ defaultTheme,
12
+ themeId: THEME_ID
11
13
  });
12
14
  }
package/node/Box/Box.js CHANGED
@@ -9,8 +9,10 @@ var _system = require("@mui/system");
9
9
  var _propTypes = _interopRequireDefault(require("prop-types"));
10
10
  var _className = require("../className");
11
11
  var _styles = require("../styles");
12
+ var _identifier = _interopRequireDefault(require("../styles/identifier"));
12
13
  const defaultTheme = (0, _styles.createTheme)();
13
14
  const Box = (0, _system.createBox)({
15
+ themeId: _identifier.default,
14
16
  defaultTheme,
15
17
  defaultClassName: 'MuiBox-root',
16
18
  generateClassName: _className.unstable_ClassNameGenerator.generate
@@ -10,12 +10,14 @@ var React = _interopRequireWildcard(require("react"));
10
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
11
  var _system = require("@mui/system");
12
12
  var _defaultTheme = _interopRequireDefault(require("../styles/defaultTheme"));
13
+ var _identifier = _interopRequireDefault(require("../styles/identifier"));
13
14
  var _jsxRuntime = require("react/jsx-runtime");
14
15
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
15
16
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
16
17
  function GlobalStyles(props) {
17
18
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_system.GlobalStyles, (0, _extends2.default)({}, props, {
18
- defaultTheme: _defaultTheme.default
19
+ defaultTheme: _defaultTheme.default,
20
+ themeId: _identifier.default
19
21
  }));
20
22
  }
21
23
  process.env.NODE_ENV !== "production" ? GlobalStyles.propTypes /* remove-proptypes */ = {
@@ -26,9 +28,7 @@ process.env.NODE_ENV !== "production" ? GlobalStyles.propTypes /* remove-proptyp
26
28
  /**
27
29
  * The styles you want to apply globally.
28
30
  */
29
- styles: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.number, _propTypes.default.object, _propTypes.default.shape({
30
- __emotion_styles: _propTypes.default.any.isRequired
31
- }), _propTypes.default.string, _propTypes.default.bool])
31
+ styles: _propTypes.default /* @typescript-to-proptypes-ignore */.oneOfType([_propTypes.default.array, _propTypes.default.func, _propTypes.default.number, _propTypes.default.object, _propTypes.default.string, _propTypes.default.bool])
32
32
  } : void 0;
33
33
  var _default = GlobalStyles;
34
34
  exports.default = _default;
package/node/Menu/Menu.js CHANGED
@@ -56,7 +56,7 @@ const MenuPaper = (0, _styled.default)(_Paper.default, {
56
56
  overridesResolver: (props, styles) => styles.paper
57
57
  })({
58
58
  // specZ: The maximum height of a simple menu should be one or more rows less than the view
59
- // height. This ensures a tapable area outside of the simple menu with which to dismiss
59
+ // height. This ensures a tappable area outside of the simple menu with which to dismiss
60
60
  // the menu.
61
61
  maxHeight: 'calc(100% - 96px)',
62
62
  // Add iOS momentum scrolling for iOS < 13.0
@@ -139,10 +139,6 @@ process.env.NODE_ENV !== "production" ? Popper.propTypes /* remove-proptypes */
139
139
  * If `true`, the component is shown.
140
140
  */
141
141
  open: _propTypes.default.bool.isRequired,
142
- /**
143
- * @ignore
144
- */
145
- ownerState: _propTypes.default.any,
146
142
  /**
147
143
  * Popper placement.
148
144
  * @default 'bottom'
@@ -237,7 +237,7 @@ process.env.NODE_ENV !== "production" ? Select.propTypes /* remove-proptypes */
237
237
  onChange: _propTypes.default.func,
238
238
  /**
239
239
  * Callback fired when the component requests to be closed.
240
- * Use it in either controlled (see the `open` prop), or uncontrolled mode (to detect when the Select collapes).
240
+ * Use it in either controlled (see the `open` prop), or uncontrolled mode (to detect when the Select collapses).
241
241
  *
242
242
  * @param {object} event The event source of the callback.
243
243
  */
package/node/Tabs/Tabs.js CHANGED
@@ -426,7 +426,7 @@ const Tabs = /*#__PURE__*/React.forwardRef(function Tabs(inProps, ref) {
426
426
  moveTabsScroll(getScrollSize());
427
427
  };
428
428
 
429
- // TODO Remove <ScrollbarSize /> as browser support for hidding the scrollbar
429
+ // TODO Remove <ScrollbarSize /> as browser support for hiding the scrollbar
430
430
  // with CSS improves.
431
431
  const handleScrollbarSizeChange = React.useCallback(scrollbarWidth => {
432
432
  setScrollerStyle({
@@ -90,7 +90,7 @@ process.env.NODE_ENV !== "production" ? Toolbar.propTypes /* remove-proptypes */
90
90
  // ----------------------------------------------------------------------
91
91
  /**
92
92
  * The Toolbar children, usually a mixture of `IconButton`, `Button` and `Typography`.
93
- * The Toolbar is a flex container, allowing flex item properites to be used to lay out the children.
93
+ * The Toolbar is a flex container, allowing flex item properties to be used to lay out the children.
94
94
  */
95
95
  children: _propTypes.default.node,
96
96
  /**
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = darkScrollbar;
7
- // track, thumb and active are derieved from macOS 10.15.7
7
+ // track, thumb and active are derived from macOS 10.15.7
8
8
  const scrollBar = {
9
9
  track: '#2b2b2b',
10
10
  thumb: '#6b6b6b',
package/node/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/material v5.11.16
2
+ * @mui/material v5.12.0
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -10,12 +10,14 @@ var _system = require("@mui/system");
10
10
  var _experimental_extendTheme = _interopRequireDefault(require("./experimental_extendTheme"));
11
11
  var _createTypography = _interopRequireDefault(require("./createTypography"));
12
12
  var _excludeVariablesFromRoot = _interopRequireDefault(require("./excludeVariablesFromRoot"));
13
+ var _identifier = _interopRequireDefault(require("./identifier"));
13
14
  const defaultTheme = (0, _experimental_extendTheme.default)();
14
15
  const {
15
16
  CssVarsProvider,
16
17
  useColorScheme,
17
18
  getInitColorSchemeScript
18
19
  } = (0, _system.unstable_createCssVarsProvider)({
20
+ themeId: _identifier.default,
19
21
  theme: defaultTheme,
20
22
  attribute: 'data-mui-color-scheme',
21
23
  modeStorageKey: 'mui-mode',
@@ -1,12 +1,31 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
- Object.defineProperty(exports, "default", {
7
- enumerable: true,
8
- get: function () {
9
- return _system.ThemeProvider;
10
- }
11
- });
12
- var _system = require("@mui/system");
7
+ exports.default = ThemeProvider;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
10
+ var React = _interopRequireWildcard(require("react"));
11
+ var _propTypes = _interopRequireDefault(require("prop-types"));
12
+ var _system = require("@mui/system");
13
+ var _identifier = _interopRequireDefault(require("./identifier"));
14
+ var _jsxRuntime = require("react/jsx-runtime");
15
+ const _excluded = ["theme"];
16
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
17
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
18
+ function ThemeProvider(_ref) {
19
+ let {
20
+ theme: themeInput
21
+ } = _ref,
22
+ props = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);
23
+ const scopedTheme = themeInput[_identifier.default];
24
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_system.ThemeProvider, (0, _extends2.default)({}, props, {
25
+ themeId: scopedTheme ? _identifier.default : undefined,
26
+ theme: scopedTheme || themeInput
27
+ }));
28
+ }
29
+ process.env.NODE_ENV !== "production" ? ThemeProvider.propTypes = {
30
+ theme: _propTypes.default.object
31
+ } : void 0;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _default = '$$material';
8
+ exports.default = _default;
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  var _exportNames = {
8
8
  experimental_sx: true,
9
+ THEME_ID: true,
9
10
  adaptV4Theme: true,
10
11
  hexToRgb: true,
11
12
  rgbToHex: true,
@@ -50,6 +51,12 @@ Object.defineProperty(exports, "StyledEngineProvider", {
50
51
  return _system.StyledEngineProvider;
51
52
  }
52
53
  });
54
+ Object.defineProperty(exports, "THEME_ID", {
55
+ enumerable: true,
56
+ get: function () {
57
+ return _identifier.default;
58
+ }
59
+ });
53
60
  Object.defineProperty(exports, "ThemeProvider", {
54
61
  enumerable: true,
55
62
  get: function () {
@@ -268,6 +275,7 @@ Object.defineProperty(exports, "withTheme", {
268
275
  }
269
276
  });
270
277
  var _utils = require("@mui/utils");
278
+ var _identifier = _interopRequireDefault(require("./identifier"));
271
279
  var _adaptV4Theme = _interopRequireDefault(require("./adaptV4Theme"));
272
280
  var _system = require("@mui/system");
273
281
  var _createTheme = _interopRequireWildcard(require("./createTheme"));
@@ -7,11 +7,13 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.slotShouldForwardProp = exports.rootShouldForwardProp = exports.default = void 0;
8
8
  var _system = require("@mui/system");
9
9
  var _defaultTheme = _interopRequireDefault(require("./defaultTheme"));
10
+ var _identifier = _interopRequireDefault(require("./identifier"));
10
11
  const rootShouldForwardProp = prop => (0, _system.shouldForwardProp)(prop) && prop !== 'classes';
11
12
  exports.rootShouldForwardProp = rootShouldForwardProp;
12
13
  const slotShouldForwardProp = _system.shouldForwardProp;
13
14
  exports.slotShouldForwardProp = slotShouldForwardProp;
14
15
  const styled = (0, _system.createStyled)({
16
+ themeId: _identifier.default,
15
17
  defaultTheme: _defaultTheme.default,
16
18
  rootShouldForwardProp
17
19
  });
@@ -8,6 +8,7 @@ exports.default = useTheme;
8
8
  var React = _interopRequireWildcard(require("react"));
9
9
  var _system = require("@mui/system");
10
10
  var _defaultTheme = _interopRequireDefault(require("./defaultTheme"));
11
+ var _identifier = _interopRequireDefault(require("./identifier"));
11
12
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
12
13
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
13
14
  function useTheme() {
@@ -16,5 +17,5 @@ function useTheme() {
16
17
  // eslint-disable-next-line react-hooks/rules-of-hooks
17
18
  React.useDebugValue(theme);
18
19
  }
19
- return theme;
20
+ return theme[_identifier.default] || theme;
20
21
  }
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.default = useThemeProps;
8
8
  var _system = require("@mui/system");
9
9
  var _defaultTheme = _interopRequireDefault(require("./defaultTheme"));
10
+ var _identifier = _interopRequireDefault(require("./identifier"));
10
11
  function useThemeProps({
11
12
  props,
12
13
  name
@@ -14,6 +15,7 @@ function useThemeProps({
14
15
  return (0, _system.useThemeProps)({
15
16
  props,
16
17
  name,
17
- defaultTheme: _defaultTheme.default
18
+ defaultTheme: _defaultTheme.default,
19
+ themeId: _identifier.default
18
20
  });
19
21
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mui/material",
3
- "version": "5.11.16",
3
+ "version": "5.12.0",
4
4
  "private": false,
5
5
  "author": "MUI Team",
6
6
  "description": "React components that implement Google's Material Design.",
@@ -46,11 +46,11 @@
46
46
  },
47
47
  "dependencies": {
48
48
  "@babel/runtime": "^7.21.0",
49
- "@mui/base": "5.0.0-alpha.124",
50
- "@mui/core-downloads-tracker": "^5.11.16",
51
- "@mui/system": "^5.11.16",
52
- "@mui/types": "^7.2.3",
53
- "@mui/utils": "^5.11.13",
49
+ "@mui/base": "5.0.0-alpha.125",
50
+ "@mui/core-downloads-tracker": "^5.12.0",
51
+ "@mui/system": "^5.12.0",
52
+ "@mui/types": "^7.2.4",
53
+ "@mui/utils": "^5.12.0",
54
54
  "@types/react-transition-group": "^4.4.5",
55
55
  "clsx": "^1.2.1",
56
56
  "csstype": "^3.1.2",
@@ -4,6 +4,11 @@ declare const CssVarsProvider: (props: import("react").PropsWithChildren<Partial
4
4
  theme?: {
5
5
  cssVarPrefix?: string | undefined;
6
6
  colorSchemes: Record<SupportedColorScheme, Record<string, any>>;
7
+ } | {
8
+ $$material: {
9
+ cssVarPrefix?: string | undefined;
10
+ colorSchemes: Record<SupportedColorScheme, Record<string, any>>;
11
+ };
7
12
  } | undefined;
8
13
  documentNode?: Document | null | undefined;
9
14
  colorSchemeNode?: Element | null | undefined;
@@ -3,12 +3,14 @@ import { unstable_createCssVarsProvider as createCssVarsProvider, unstable_style
3
3
  import experimental_extendTheme from './experimental_extendTheme';
4
4
  import createTypography from './createTypography';
5
5
  import excludeVariablesFromRoot from './excludeVariablesFromRoot';
6
+ import THEME_ID from './identifier';
6
7
  const defaultTheme = experimental_extendTheme();
7
8
  const {
8
9
  CssVarsProvider,
9
10
  useColorScheme,
10
11
  getInitColorSchemeScript
11
12
  } = createCssVarsProvider({
13
+ themeId: THEME_ID,
12
14
  theme: defaultTheme,
13
15
  attribute: 'data-mui-color-scheme',
14
16
  modeStorageKey: 'mui-mode',
@@ -1 +1,22 @@
1
- export { ThemeProvider as default } from '@mui/system';
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
+ const _excluded = ["theme"];
4
+ import * as React from 'react';
5
+ import PropTypes from 'prop-types';
6
+ import { ThemeProvider as SystemThemeProvider } from '@mui/system';
7
+ import THEME_ID from './identifier';
8
+ import { jsx as _jsx } from "react/jsx-runtime";
9
+ export default function ThemeProvider(_ref) {
10
+ let {
11
+ theme: themeInput
12
+ } = _ref,
13
+ props = _objectWithoutPropertiesLoose(_ref, _excluded);
14
+ const scopedTheme = themeInput[THEME_ID];
15
+ return /*#__PURE__*/_jsx(SystemThemeProvider, _extends({}, props, {
16
+ themeId: scopedTheme ? THEME_ID : undefined,
17
+ theme: scopedTheme || themeInput
18
+ }));
19
+ }
20
+ process.env.NODE_ENV !== "production" ? ThemeProvider.propTypes = {
21
+ theme: PropTypes.object
22
+ } : void 0;
@@ -407,7 +407,7 @@ export interface CssVarsTheme extends ColorSystem {
407
407
 
408
408
  // Default theme tokens
409
409
  spacing: Theme['spacing'];
410
- breakpints: Theme['breakpoints'];
410
+ breakpoints: Theme['breakpoints'];
411
411
  shape: Theme['shape'];
412
412
  typography: Theme['typography'];
413
413
  transitions: Theme['transitions'];
@@ -0,0 +1,2 @@
1
+ declare const _default: "$$material";
2
+ export default _default;
@@ -0,0 +1 @@
1
+ export default '$$material';
package/styles/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ export { default as THEME_ID } from './identifier';
1
2
  export {
2
3
  default as createTheme,
3
4
  default as unstable_createMuiStrictModeTheme,
package/styles/index.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import { formatMuiErrorMessage as _formatMuiErrorMessage } from "@mui/utils";
2
+ export { default as THEME_ID } from './identifier';
2
3
  export { default as adaptV4Theme } from './adaptV4Theme';
3
4
  export { hexToRgb, rgbToHex, hslToRgb, decomposeColor, recomposeColor, getContrastRatio, getLuminance, emphasize, alpha, darken, lighten, css, keyframes } from '@mui/system';
4
5
  // TODO: Remove this function in v6.
package/styles/styled.js CHANGED
@@ -1,8 +1,10 @@
1
1
  import { createStyled, shouldForwardProp } from '@mui/system';
2
2
  import defaultTheme from './defaultTheme';
3
+ import THEME_ID from './identifier';
3
4
  export const rootShouldForwardProp = prop => shouldForwardProp(prop) && prop !== 'classes';
4
5
  export const slotShouldForwardProp = shouldForwardProp;
5
6
  const styled = createStyled({
7
+ themeId: THEME_ID,
6
8
  defaultTheme,
7
9
  rootShouldForwardProp
8
10
  });
@@ -1,11 +1,12 @@
1
1
  import * as React from 'react';
2
2
  import { useTheme as useThemeSystem } from '@mui/system';
3
3
  import defaultTheme from './defaultTheme';
4
+ import THEME_ID from './identifier';
4
5
  export default function useTheme() {
5
6
  const theme = useThemeSystem(defaultTheme);
6
7
  if (process.env.NODE_ENV !== 'production') {
7
8
  // eslint-disable-next-line react-hooks/rules-of-hooks
8
9
  React.useDebugValue(theme);
9
10
  }
10
- return theme;
11
+ return theme[THEME_ID] || theme;
11
12
  }
@@ -1,5 +1,6 @@
1
1
  import { useThemeProps as systemUseThemeProps } from '@mui/system';
2
2
  import defaultTheme from './defaultTheme';
3
+ import THEME_ID from './identifier';
3
4
  export default function useThemeProps({
4
5
  props,
5
6
  name
@@ -7,6 +8,7 @@ export default function useThemeProps({
7
8
  return systemUseThemeProps({
8
9
  props,
9
10
  name,
10
- defaultTheme
11
+ defaultTheme,
12
+ themeId: THEME_ID
11
13
  });
12
14
  }