@mui/material 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.
Files changed (121) hide show
  1. package/Accordion/Accordion.js +30 -23
  2. package/AccordionActions/AccordionActions.js +14 -12
  3. package/AccordionDetails/AccordionDetails.js +2 -2
  4. package/AccordionSummary/AccordionSummary.js +29 -23
  5. package/Alert/Alert.d.ts +2 -2
  6. package/Autocomplete/Autocomplete.d.ts +1 -1
  7. package/Autocomplete/Autocomplete.js +117 -82
  8. package/Autocomplete/autocompleteClasses.d.ts +3 -3
  9. package/CHANGELOG.md +203 -51
  10. package/CircularProgress/CircularProgress.d.ts +1 -1
  11. package/CircularProgress/CircularProgress.js +1 -1
  12. package/Drawer/Drawer.js +9 -3
  13. package/Icon/Icon.d.ts +1 -1
  14. package/Icon/Icon.js +1 -1
  15. package/LinearProgress/LinearProgress.js +4 -4
  16. package/Menu/Menu.js +5 -4
  17. package/MenuList/MenuList.js +4 -2
  18. package/OverridableComponent.d.ts +1 -1
  19. package/PaginationItem/PaginationItem.js +3 -3
  20. package/Popper/Popper.d.ts +3 -26
  21. package/README.md +2 -2
  22. package/Rating/Rating.js +3 -3
  23. package/Select/Select.d.ts +8 -20
  24. package/Slider/Slider.js +406 -226
  25. package/SvgIcon/SvgIcon.js +1 -1
  26. package/Switch/Switch.js +61 -41
  27. package/TabScrollButton/TabScrollButton.js +2 -3
  28. package/TablePagination/TablePaginationActions.js +14 -14
  29. package/Tabs/Tabs.js +3 -2
  30. package/Tooltip/Tooltip.js +5 -4
  31. package/index.js +1 -1
  32. package/legacy/Accordion/Accordion.js +33 -22
  33. package/legacy/AccordionActions/AccordionActions.js +17 -14
  34. package/legacy/AccordionDetails/AccordionDetails.js +2 -2
  35. package/legacy/AccordionSummary/AccordionSummary.js +31 -22
  36. package/legacy/Autocomplete/Autocomplete.js +194 -164
  37. package/legacy/CircularProgress/CircularProgress.js +1 -1
  38. package/legacy/Drawer/Drawer.js +8 -3
  39. package/legacy/Icon/Icon.js +1 -1
  40. package/legacy/LinearProgress/LinearProgress.js +4 -4
  41. package/legacy/Menu/Menu.js +5 -4
  42. package/legacy/MenuList/MenuList.js +3 -2
  43. package/legacy/PaginationItem/PaginationItem.js +3 -3
  44. package/legacy/Rating/Rating.js +3 -3
  45. package/legacy/Slider/Slider.js +375 -194
  46. package/legacy/SvgIcon/SvgIcon.js +1 -1
  47. package/legacy/Switch/Switch.js +88 -59
  48. package/legacy/TabScrollButton/TabScrollButton.js +2 -3
  49. package/legacy/TablePagination/TablePaginationActions.js +14 -14
  50. package/legacy/Tabs/Tabs.js +3 -2
  51. package/legacy/Tooltip/Tooltip.js +7 -3
  52. package/legacy/index.js +1 -1
  53. package/legacy/styles/experimental_extendTheme.js +4 -1
  54. package/legacy/styles/rootShouldForwardProp.js +5 -0
  55. package/legacy/styles/slotShouldForwardProp.js +5 -0
  56. package/legacy/styles/styled.js +4 -5
  57. package/legacy/usePagination/usePagination.js +1 -1
  58. package/modern/Accordion/Accordion.js +30 -23
  59. package/modern/AccordionActions/AccordionActions.js +14 -12
  60. package/modern/AccordionDetails/AccordionDetails.js +2 -2
  61. package/modern/AccordionSummary/AccordionSummary.js +29 -23
  62. package/modern/Autocomplete/Autocomplete.js +117 -82
  63. package/modern/CircularProgress/CircularProgress.js +1 -1
  64. package/modern/Drawer/Drawer.js +9 -3
  65. package/modern/Icon/Icon.js +1 -1
  66. package/modern/LinearProgress/LinearProgress.js +4 -4
  67. package/modern/Menu/Menu.js +5 -4
  68. package/modern/MenuList/MenuList.js +4 -2
  69. package/modern/PaginationItem/PaginationItem.js +3 -3
  70. package/modern/Rating/Rating.js +3 -3
  71. package/modern/Slider/Slider.js +339 -175
  72. package/modern/SvgIcon/SvgIcon.js +1 -1
  73. package/modern/Switch/Switch.js +61 -41
  74. package/modern/TabScrollButton/TabScrollButton.js +2 -3
  75. package/modern/TablePagination/TablePaginationActions.js +14 -14
  76. package/modern/Tabs/Tabs.js +3 -2
  77. package/modern/Tooltip/Tooltip.js +5 -4
  78. package/modern/index.js +1 -1
  79. package/modern/styles/experimental_extendTheme.js +4 -1
  80. package/modern/styles/rootShouldForwardProp.js +3 -0
  81. package/modern/styles/slotShouldForwardProp.js +5 -0
  82. package/modern/styles/styled.js +4 -3
  83. package/modern/usePagination/usePagination.js +1 -1
  84. package/node/Accordion/Accordion.js +32 -25
  85. package/node/AccordionActions/AccordionActions.js +16 -14
  86. package/node/AccordionDetails/AccordionDetails.js +4 -4
  87. package/node/AccordionSummary/AccordionSummary.js +33 -27
  88. package/node/Autocomplete/Autocomplete.js +129 -94
  89. package/node/CircularProgress/CircularProgress.js +1 -1
  90. package/node/Drawer/Drawer.js +9 -3
  91. package/node/Icon/Icon.js +1 -1
  92. package/node/LinearProgress/LinearProgress.js +4 -4
  93. package/node/Menu/Menu.js +5 -4
  94. package/node/MenuList/MenuList.js +4 -2
  95. package/node/PaginationItem/PaginationItem.js +3 -3
  96. package/node/Rating/Rating.js +3 -3
  97. package/node/Slider/Slider.js +416 -236
  98. package/node/SvgIcon/SvgIcon.js +1 -1
  99. package/node/Switch/Switch.js +66 -46
  100. package/node/TabScrollButton/TabScrollButton.js +2 -3
  101. package/node/TablePagination/TablePaginationActions.js +14 -14
  102. package/node/Tabs/Tabs.js +3 -2
  103. package/node/Tooltip/Tooltip.js +5 -4
  104. package/node/index.js +1 -1
  105. package/node/styles/experimental_extendTheme.js +4 -1
  106. package/node/styles/rootShouldForwardProp.js +10 -0
  107. package/node/styles/slotShouldForwardProp.js +11 -0
  108. package/node/styles/styled.js +17 -8
  109. package/node/usePagination/usePagination.js +1 -1
  110. package/package.json +6 -6
  111. package/styles/experimental_extendTheme.d.ts +1 -0
  112. package/styles/experimental_extendTheme.js +4 -1
  113. package/styles/rootShouldForwardProp.d.ts +2 -0
  114. package/styles/rootShouldForwardProp.js +3 -0
  115. package/styles/slotShouldForwardProp.d.ts +2 -0
  116. package/styles/slotShouldForwardProp.js +5 -0
  117. package/styles/styled.d.ts +2 -3
  118. package/styles/styled.js +4 -3
  119. package/umd/material-ui.development.js +1048 -738
  120. package/umd/material-ui.production.min.js +2 -2
  121. package/usePagination/usePagination.js +1 -1
@@ -6,14 +6,13 @@ Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.default = void 0;
9
- var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
10
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
+ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
11
11
  var React = _interopRequireWildcard(require("react"));
12
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
13
13
  var _clsx = _interopRequireDefault(require("clsx"));
14
14
  var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
15
- var _styled = _interopRequireDefault(require("../styles/styled"));
16
- var _useThemeProps = _interopRequireDefault(require("../styles/useThemeProps"));
15
+ var _zeroStyled = require("../zero-styled");
17
16
  var _ButtonBase = _interopRequireDefault(require("../ButtonBase"));
18
17
  var _AccordionContext = _interopRequireDefault(require("../Accordion/AccordionContext"));
19
18
  var _accordionSummaryClasses = _interopRequireWildcard(require("./accordionSummaryClasses"));
@@ -21,6 +20,7 @@ var _jsxRuntime = require("react/jsx-runtime");
21
20
  const _excluded = ["children", "className", "expandIcon", "focusVisibleClassName", "onClick"];
22
21
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
23
22
  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 && Object.prototype.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
+ const useThemeProps = (0, _zeroStyled.createUseThemeProps)('MuiAccordionSummary');
24
24
  const useUtilityClasses = ownerState => {
25
25
  const {
26
26
  classes,
@@ -36,18 +36,17 @@ const useUtilityClasses = ownerState => {
36
36
  };
37
37
  return (0, _composeClasses.default)(slots, _accordionSummaryClasses.getAccordionSummaryUtilityClass, classes);
38
38
  };
39
- const AccordionSummaryRoot = (0, _styled.default)(_ButtonBase.default, {
39
+ const AccordionSummaryRoot = (0, _zeroStyled.styled)(_ButtonBase.default, {
40
40
  name: 'MuiAccordionSummary',
41
41
  slot: 'Root',
42
42
  overridesResolver: (props, styles) => styles.root
43
43
  })(({
44
- theme,
45
- ownerState
44
+ theme
46
45
  }) => {
47
46
  const transition = {
48
47
  duration: theme.transitions.duration.shortest
49
48
  };
50
- return (0, _extends2.default)({
49
+ return {
51
50
  display: 'flex',
52
51
  minHeight: 48,
53
52
  padding: theme.spacing(0, 2),
@@ -60,33 +59,40 @@ const AccordionSummaryRoot = (0, _styled.default)(_ButtonBase.default, {
60
59
  },
61
60
  [`&:hover:not(.${_accordionSummaryClasses.default.disabled})`]: {
62
61
  cursor: 'pointer'
63
- }
64
- }, !ownerState.disableGutters && {
65
- [`&.${_accordionSummaryClasses.default.expanded}`]: {
66
- minHeight: 64
67
- }
68
- });
62
+ },
63
+ variants: [{
64
+ props: props => !props.disableGutters,
65
+ style: {
66
+ [`&.${_accordionSummaryClasses.default.expanded}`]: {
67
+ minHeight: 64
68
+ }
69
+ }
70
+ }]
71
+ };
69
72
  });
70
- const AccordionSummaryContent = (0, _styled.default)('div', {
73
+ const AccordionSummaryContent = (0, _zeroStyled.styled)('div', {
71
74
  name: 'MuiAccordionSummary',
72
75
  slot: 'Content',
73
76
  overridesResolver: (props, styles) => styles.content
74
77
  })(({
75
- theme,
76
- ownerState
77
- }) => (0, _extends2.default)({
78
+ theme
79
+ }) => ({
78
80
  display: 'flex',
79
81
  flexGrow: 1,
80
- margin: '12px 0'
81
- }, !ownerState.disableGutters && {
82
- transition: theme.transitions.create(['margin'], {
83
- duration: theme.transitions.duration.shortest
84
- }),
85
- [`&.${_accordionSummaryClasses.default.expanded}`]: {
86
- margin: '20px 0'
87
- }
82
+ margin: '12px 0',
83
+ variants: [{
84
+ props: props => !props.disableGutters,
85
+ style: {
86
+ transition: theme.transitions.create(['margin'], {
87
+ duration: theme.transitions.duration.shortest
88
+ }),
89
+ [`&.${_accordionSummaryClasses.default.expanded}`]: {
90
+ margin: '20px 0'
91
+ }
92
+ }
93
+ }]
88
94
  }));
89
- const AccordionSummaryExpandIconWrapper = (0, _styled.default)('div', {
95
+ const AccordionSummaryExpandIconWrapper = (0, _zeroStyled.styled)('div', {
90
96
  name: 'MuiAccordionSummary',
91
97
  slot: 'ExpandIconWrapper',
92
98
  overridesResolver: (props, styles) => styles.expandIconWrapper
@@ -104,7 +110,7 @@ const AccordionSummaryExpandIconWrapper = (0, _styled.default)('div', {
104
110
  }
105
111
  }));
106
112
  const AccordionSummary = /*#__PURE__*/React.forwardRef(function AccordionSummary(inProps, ref) {
107
- const props = (0, _useThemeProps.default)({
113
+ const props = useThemeProps({
108
114
  props: inProps,
109
115
  name: 'MuiAccordionSummary'
110
116
  });
@@ -34,8 +34,7 @@ var _outlinedInputClasses = _interopRequireDefault(require("../OutlinedInput/out
34
34
  var _filledInputClasses = _interopRequireDefault(require("../FilledInput/filledInputClasses"));
35
35
  var _Close = _interopRequireDefault(require("../internal/svg-icons/Close"));
36
36
  var _ArrowDropDown = _interopRequireDefault(require("../internal/svg-icons/ArrowDropDown"));
37
- var _useThemeProps = _interopRequireDefault(require("../styles/useThemeProps"));
38
- var _styled = _interopRequireDefault(require("../styles/styled"));
37
+ var _zeroStyled = require("../zero-styled");
39
38
  var _autocompleteClasses = _interopRequireWildcard(require("./autocompleteClasses"));
40
39
  var _capitalize = _interopRequireDefault(require("../utils/capitalize"));
41
40
  var _useForkRef = _interopRequireDefault(require("../utils/useForkRef"));
@@ -45,6 +44,7 @@ const _excluded = ["autoComplete", "autoHighlight", "autoSelect", "blurOnSelect"
45
44
  _excluded2 = ["ref"];
46
45
  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); }
47
46
  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 && Object.prototype.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; }
47
+ const useThemeProps = (0, _zeroStyled.createUseThemeProps)('MuiAutocomplete');
48
48
  const useUtilityClasses = ownerState => {
49
49
  const {
50
50
  classes,
@@ -77,7 +77,7 @@ const useUtilityClasses = ownerState => {
77
77
  };
78
78
  return (0, _composeClasses.default)(slots, _autocompleteClasses.getAutocompleteUtilityClass, classes);
79
79
  };
80
- const AutocompleteRoot = (0, _styled.default)('div', {
80
+ const AutocompleteRoot = (0, _zeroStyled.styled)('div', {
81
81
  name: 'MuiAutocomplete',
82
82
  slot: 'Root',
83
83
  overridesResolver: (props, styles) => {
@@ -103,9 +103,7 @@ const AutocompleteRoot = (0, _styled.default)('div', {
103
103
  [`& .${_autocompleteClasses.default.input}`]: inputFocused && styles.inputFocused
104
104
  }, styles.root, fullWidth && styles.fullWidth, hasPopupIcon && styles.hasPopupIcon, hasClearIcon && styles.hasClearIcon];
105
105
  }
106
- })(({
107
- ownerState
108
- }) => (0, _extends2.default)({
106
+ })({
109
107
  [`&.${_autocompleteClasses.default.focused} .${_autocompleteClasses.default.clearIndicator}`]: {
110
108
  visibility: 'visible'
111
109
  },
@@ -114,17 +112,11 @@ const AutocompleteRoot = (0, _styled.default)('div', {
114
112
  [`&:hover .${_autocompleteClasses.default.clearIndicator}`]: {
115
113
  visibility: 'visible'
116
114
  }
117
- }
118
- }, ownerState.fullWidth && {
119
- width: '100%'
120
- }, {
121
- [`& .${_autocompleteClasses.default.tag}`]: (0, _extends2.default)({
115
+ },
116
+ [`& .${_autocompleteClasses.default.tag}`]: {
122
117
  margin: 3,
123
118
  maxWidth: 'calc(100% - 6px)'
124
- }, ownerState.size === 'small' && {
125
- margin: 2,
126
- maxWidth: 'calc(100% - 4px)'
127
- }),
119
+ },
128
120
  [`& .${_autocompleteClasses.default.inputRoot}`]: {
129
121
  flexWrap: 'wrap',
130
122
  [`.${_autocompleteClasses.default.hasPopupIcon}&, .${_autocompleteClasses.default.hasClearIcon}&`]: {
@@ -213,15 +205,40 @@ const AutocompleteRoot = (0, _styled.default)('div', {
213
205
  paddingBottom: 9
214
206
  }
215
207
  },
216
- [`& .${_autocompleteClasses.default.input}`]: (0, _extends2.default)({
208
+ [`& .${_autocompleteClasses.default.input}`]: {
217
209
  flexGrow: 1,
218
210
  textOverflow: 'ellipsis',
219
211
  opacity: 0
220
- }, ownerState.inputFocused && {
221
- opacity: 1
222
- })
223
- }));
224
- const AutocompleteEndAdornment = (0, _styled.default)('div', {
212
+ },
213
+ variants: [{
214
+ props: {
215
+ fullWidth: true
216
+ },
217
+ style: {
218
+ width: '100%'
219
+ }
220
+ }, {
221
+ props: {
222
+ size: 'small'
223
+ },
224
+ style: {
225
+ [`& .${_autocompleteClasses.default.tag}`]: {
226
+ margin: 2,
227
+ maxWidth: 'calc(100% - 4px)'
228
+ }
229
+ }
230
+ }, {
231
+ props: {
232
+ inputFocused: true
233
+ },
234
+ style: {
235
+ [`& .${_autocompleteClasses.default.input}`]: {
236
+ opacity: 1
237
+ }
238
+ }
239
+ }]
240
+ });
241
+ const AutocompleteEndAdornment = (0, _zeroStyled.styled)('div', {
225
242
  name: 'MuiAutocomplete',
226
243
  slot: 'EndAdornment',
227
244
  overridesResolver: (props, styles) => styles.endAdornment
@@ -232,7 +249,7 @@ const AutocompleteEndAdornment = (0, _styled.default)('div', {
232
249
  top: '50%',
233
250
  transform: 'translate(0, -50%)'
234
251
  });
235
- const AutocompleteClearIndicator = (0, _styled.default)(_IconButton.default, {
252
+ const AutocompleteClearIndicator = (0, _zeroStyled.styled)(_IconButton.default, {
236
253
  name: 'MuiAutocomplete',
237
254
  slot: 'ClearIndicator',
238
255
  overridesResolver: (props, styles) => styles.clearIndicator
@@ -241,21 +258,25 @@ const AutocompleteClearIndicator = (0, _styled.default)(_IconButton.default, {
241
258
  padding: 4,
242
259
  visibility: 'hidden'
243
260
  });
244
- const AutocompletePopupIndicator = (0, _styled.default)(_IconButton.default, {
261
+ const AutocompletePopupIndicator = (0, _zeroStyled.styled)(_IconButton.default, {
245
262
  name: 'MuiAutocomplete',
246
263
  slot: 'PopupIndicator',
247
264
  overridesResolver: ({
248
265
  ownerState
249
266
  }, styles) => (0, _extends2.default)({}, styles.popupIndicator, ownerState.popupOpen && styles.popupIndicatorOpen)
250
- })(({
251
- ownerState
252
- }) => (0, _extends2.default)({
267
+ })({
253
268
  padding: 2,
254
- marginRight: -2
255
- }, ownerState.popupOpen && {
256
- transform: 'rotate(180deg)'
257
- }));
258
- const AutocompletePopper = (0, _styled.default)(_Popper.default, {
269
+ marginRight: -2,
270
+ variants: [{
271
+ props: {
272
+ popupOpen: true
273
+ },
274
+ style: {
275
+ transform: 'rotate(180deg)'
276
+ }
277
+ }]
278
+ });
279
+ const AutocompletePopper = (0, _zeroStyled.styled)(_Popper.default, {
259
280
  name: 'MuiAutocomplete',
260
281
  slot: 'Popper',
261
282
  overridesResolver: (props, styles) => {
@@ -267,14 +288,19 @@ const AutocompletePopper = (0, _styled.default)(_Popper.default, {
267
288
  }, styles.popper, ownerState.disablePortal && styles.popperDisablePortal];
268
289
  }
269
290
  })(({
270
- theme,
271
- ownerState
272
- }) => (0, _extends2.default)({
273
- zIndex: (theme.vars || theme).zIndex.modal
274
- }, ownerState.disablePortal && {
275
- position: 'absolute'
291
+ theme
292
+ }) => ({
293
+ zIndex: (theme.vars || theme).zIndex.modal,
294
+ variants: [{
295
+ props: {
296
+ disablePortal: true
297
+ },
298
+ style: {
299
+ position: 'absolute'
300
+ }
301
+ }]
276
302
  }));
277
- const AutocompletePaper = (0, _styled.default)(_Paper.default, {
303
+ const AutocompletePaper = (0, _zeroStyled.styled)(_Paper.default, {
278
304
  name: 'MuiAutocomplete',
279
305
  slot: 'Paper',
280
306
  overridesResolver: (props, styles) => styles.paper
@@ -283,7 +309,7 @@ const AutocompletePaper = (0, _styled.default)(_Paper.default, {
283
309
  }) => (0, _extends2.default)({}, theme.typography.body1, {
284
310
  overflow: 'auto'
285
311
  }));
286
- const AutocompleteLoading = (0, _styled.default)('div', {
312
+ const AutocompleteLoading = (0, _zeroStyled.styled)('div', {
287
313
  name: 'MuiAutocomplete',
288
314
  slot: 'Loading',
289
315
  overridesResolver: (props, styles) => styles.loading
@@ -293,7 +319,7 @@ const AutocompleteLoading = (0, _styled.default)('div', {
293
319
  color: (theme.vars || theme).palette.text.secondary,
294
320
  padding: '14px 16px'
295
321
  }));
296
- const AutocompleteNoOptions = (0, _styled.default)('div', {
322
+ const AutocompleteNoOptions = (0, _zeroStyled.styled)('div', {
297
323
  name: 'MuiAutocomplete',
298
324
  slot: 'NoOptions',
299
325
  overridesResolver: (props, styles) => styles.noOptions
@@ -303,7 +329,7 @@ const AutocompleteNoOptions = (0, _styled.default)('div', {
303
329
  color: (theme.vars || theme).palette.text.secondary,
304
330
  padding: '14px 16px'
305
331
  }));
306
- const AutocompleteListbox = (0, _styled.default)('div', {
332
+ const AutocompleteListbox = (0, _zeroStyled.styled)('div', {
307
333
  name: 'MuiAutocomplete',
308
334
  slot: 'Listbox',
309
335
  overridesResolver: (props, styles) => styles.listbox
@@ -362,7 +388,7 @@ const AutocompleteListbox = (0, _styled.default)('div', {
362
388
  }
363
389
  }
364
390
  }));
365
- const AutocompleteGroupLabel = (0, _styled.default)(_ListSubheader.default, {
391
+ const AutocompleteGroupLabel = (0, _zeroStyled.styled)(_ListSubheader.default, {
366
392
  name: 'MuiAutocomplete',
367
393
  slot: 'GroupLabel',
368
394
  overridesResolver: (props, styles) => styles.groupLabel
@@ -372,7 +398,7 @@ const AutocompleteGroupLabel = (0, _styled.default)(_ListSubheader.default, {
372
398
  backgroundColor: (theme.vars || theme).palette.background.paper,
373
399
  top: -8
374
400
  }));
375
- const AutocompleteGroupUl = (0, _styled.default)('ul', {
401
+ const AutocompleteGroupUl = (0, _zeroStyled.styled)('ul', {
376
402
  name: 'MuiAutocomplete',
377
403
  slot: 'GroupUl',
378
404
  overridesResolver: (props, styles) => styles.groupUl
@@ -384,7 +410,7 @@ const AutocompleteGroupUl = (0, _styled.default)('ul', {
384
410
  });
385
411
  const Autocomplete = /*#__PURE__*/React.forwardRef(function Autocomplete(inProps, ref) {
386
412
  var _slotProps$clearIndic, _slotProps$paper, _slotProps$popper, _slotProps$popupIndic;
387
- const props = (0, _useThemeProps.default)({
413
+ const props = useThemeProps({
388
414
  props: inProps,
389
415
  name: 'MuiAutocomplete'
390
416
  });
@@ -566,6 +592,63 @@ const Autocomplete = /*#__PURE__*/React.forwardRef(function Autocomplete(inProps
566
592
  const paperSlotProps = (_slotProps$paper = slotProps.paper) != null ? _slotProps$paper : componentsProps.paper;
567
593
  const popperSlotProps = (_slotProps$popper = slotProps.popper) != null ? _slotProps$popper : componentsProps.popper;
568
594
  const popupIndicatorSlotProps = (_slotProps$popupIndic = slotProps.popupIndicator) != null ? _slotProps$popupIndic : componentsProps.popupIndicator;
595
+ const renderAutocompletePopperChildren = children => /*#__PURE__*/(0, _jsxRuntime.jsx)(AutocompletePopper, (0, _extends2.default)({
596
+ as: PopperComponent,
597
+ disablePortal: disablePortal,
598
+ style: {
599
+ width: anchorEl ? anchorEl.clientWidth : null
600
+ },
601
+ ownerState: ownerState,
602
+ role: "presentation",
603
+ anchorEl: anchorEl,
604
+ open: popupOpen
605
+ }, popperSlotProps, {
606
+ className: (0, _clsx.default)(classes.popper, popperSlotProps == null ? void 0 : popperSlotProps.className),
607
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(AutocompletePaper, (0, _extends2.default)({
608
+ ownerState: ownerState,
609
+ as: PaperComponent
610
+ }, paperSlotProps, {
611
+ className: (0, _clsx.default)(classes.paper, paperSlotProps == null ? void 0 : paperSlotProps.className),
612
+ children: children
613
+ }))
614
+ }));
615
+ let autocompletePopper = null;
616
+ if (!loading && groupedOptions.length > 0) {
617
+ autocompletePopper = renderAutocompletePopperChildren( /*#__PURE__*/(0, _jsxRuntime.jsx)(AutocompleteListbox, (0, _extends2.default)({
618
+ as: ListboxComponent,
619
+ className: classes.listbox,
620
+ ownerState: ownerState
621
+ }, otherListboxProps, ListboxProps, {
622
+ ref: combinedListboxRef,
623
+ children: groupedOptions.map((option, index) => {
624
+ if (groupBy) {
625
+ return renderGroup({
626
+ key: option.key,
627
+ group: option.group,
628
+ children: option.options.map((option2, index2) => renderListOption(option2, option.index + index2))
629
+ });
630
+ }
631
+ return renderListOption(option, index);
632
+ })
633
+ })));
634
+ } else if (loading && groupedOptions.length === 0) {
635
+ autocompletePopper = renderAutocompletePopperChildren( /*#__PURE__*/(0, _jsxRuntime.jsx)(AutocompleteLoading, {
636
+ className: classes.loading,
637
+ ownerState: ownerState,
638
+ children: loadingText
639
+ }));
640
+ } else if (groupedOptions.length === 0 && !freeSolo && !loading) {
641
+ autocompletePopper = renderAutocompletePopperChildren( /*#__PURE__*/(0, _jsxRuntime.jsx)(AutocompleteNoOptions, {
642
+ className: classes.noOptions,
643
+ ownerState: ownerState,
644
+ role: "presentation",
645
+ onMouseDown: event => {
646
+ // Prevent input blur when interacting with the "no options" content
647
+ event.preventDefault();
648
+ },
649
+ children: noOptionsText
650
+ }));
651
+ }
569
652
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
570
653
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(AutocompleteRoot, (0, _extends2.default)({
571
654
  ref: ref,
@@ -615,55 +698,7 @@ const Autocomplete = /*#__PURE__*/React.forwardRef(function Autocomplete(inProps
615
698
  readOnly
616
699
  }, getInputProps())
617
700
  })
618
- })), anchorEl ? /*#__PURE__*/(0, _jsxRuntime.jsx)(AutocompletePopper, (0, _extends2.default)({
619
- as: PopperComponent,
620
- disablePortal: disablePortal,
621
- style: {
622
- width: anchorEl ? anchorEl.clientWidth : null
623
- },
624
- ownerState: ownerState,
625
- role: "presentation",
626
- anchorEl: anchorEl,
627
- open: popupOpen
628
- }, popperSlotProps, {
629
- className: (0, _clsx.default)(classes.popper, popperSlotProps == null ? void 0 : popperSlotProps.className),
630
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(AutocompletePaper, (0, _extends2.default)({
631
- ownerState: ownerState,
632
- as: PaperComponent
633
- }, paperSlotProps, {
634
- className: (0, _clsx.default)(classes.paper, paperSlotProps == null ? void 0 : paperSlotProps.className),
635
- children: [loading && groupedOptions.length === 0 ? /*#__PURE__*/(0, _jsxRuntime.jsx)(AutocompleteLoading, {
636
- className: classes.loading,
637
- ownerState: ownerState,
638
- children: loadingText
639
- }) : null, groupedOptions.length === 0 && !freeSolo && !loading ? /*#__PURE__*/(0, _jsxRuntime.jsx)(AutocompleteNoOptions, {
640
- className: classes.noOptions,
641
- ownerState: ownerState,
642
- role: "presentation",
643
- onMouseDown: event => {
644
- // Prevent input blur when interacting with the "no options" content
645
- event.preventDefault();
646
- },
647
- children: noOptionsText
648
- }) : null, groupedOptions.length > 0 ? /*#__PURE__*/(0, _jsxRuntime.jsx)(AutocompleteListbox, (0, _extends2.default)({
649
- as: ListboxComponent,
650
- className: classes.listbox,
651
- ownerState: ownerState
652
- }, otherListboxProps, ListboxProps, {
653
- ref: combinedListboxRef,
654
- children: groupedOptions.map((option, index) => {
655
- if (groupBy) {
656
- return renderGroup({
657
- key: option.key,
658
- group: option.group,
659
- children: option.options.map((option2, index2) => renderListOption(option2, option.index + index2))
660
- });
661
- }
662
- return renderListOption(option, index);
663
- })
664
- })) : null]
665
- }))
666
- })) : null]
701
+ })), anchorEl ? autocompletePopper : null]
667
702
  });
668
703
  });
669
704
  process.env.NODE_ENV !== "production" ? Autocomplete.propTypes /* remove-proptypes */ = {
@@ -915,7 +950,7 @@ process.env.NODE_ENV !== "production" ? Autocomplete.propTypes /* remove-proptyp
915
950
  ListboxProps: _propTypes.default.object,
916
951
  /**
917
952
  * If `true`, the component is in a loading state.
918
- * This shows the `loadingText` in place of suggestions (only if there are no suggestions to show, e.g. `options` are empty).
953
+ * This shows the `loadingText` in place of suggestions (only if there are no suggestions to show, for example `options` are empty).
919
954
  * @default false
920
955
  */
921
956
  loading: _propTypes.default.bool,
@@ -221,7 +221,7 @@ process.env.NODE_ENV !== "production" ? CircularProgress.propTypes /* remove-pro
221
221
  /**
222
222
  * The size of the component.
223
223
  * If using a number, the pixel unit is assumed.
224
- * If using a string, you need to provide the CSS unit, e.g. '3rem'.
224
+ * If using a string, you need to provide the CSS unit, for example '3rem'.
225
225
  * @default 40
226
226
  */
227
227
  size: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
@@ -15,6 +15,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
15
15
  var _clsx = _interopRequireDefault(require("clsx"));
16
16
  var _integerPropType = _interopRequireDefault(require("@mui/utils/integerPropType"));
17
17
  var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
18
+ var _RtlProvider = require("@mui/system/RtlProvider");
18
19
  var _Modal = _interopRequireDefault(require("../Modal"));
19
20
  var _Slide = _interopRequireDefault(require("../Slide"));
20
21
  var _Paper = _interopRequireDefault(require("../Paper"));
@@ -129,8 +130,10 @@ const oppositeDirection = {
129
130
  function isHorizontal(anchor) {
130
131
  return ['left', 'right'].indexOf(anchor) !== -1;
131
132
  }
132
- function getAnchor(theme, anchor) {
133
- return theme.direction === 'rtl' && isHorizontal(anchor) ? oppositeDirection[anchor] : anchor;
133
+ function getAnchor({
134
+ direction
135
+ }, anchor) {
136
+ return direction === 'rtl' && isHorizontal(anchor) ? oppositeDirection[anchor] : anchor;
134
137
  }
135
138
 
136
139
  /**
@@ -143,6 +146,7 @@ const Drawer = /*#__PURE__*/React.forwardRef(function Drawer(inProps, ref) {
143
146
  name: 'MuiDrawer'
144
147
  });
145
148
  const theme = (0, _useTheme.default)();
149
+ const isRtl = (0, _RtlProvider.useRtl)();
146
150
  const defaultTransitionDuration = {
147
151
  enter: theme.transitions.duration.enteringScreen,
148
152
  exit: theme.transitions.duration.leavingScreen
@@ -176,7 +180,9 @@ const Drawer = /*#__PURE__*/React.forwardRef(function Drawer(inProps, ref) {
176
180
  React.useEffect(() => {
177
181
  mounted.current = true;
178
182
  }, []);
179
- const anchorInvariant = getAnchor(theme, anchorProp);
183
+ const anchorInvariant = getAnchor({
184
+ direction: isRtl ? 'rtl' : 'ltr'
185
+ }, anchorProp);
180
186
  const anchor = anchorProp;
181
187
  const ownerState = (0, _extends2.default)({}, props, {
182
188
  anchor,
package/node/Icon/Icon.js CHANGED
@@ -112,7 +112,7 @@ process.env.NODE_ENV !== "production" ? Icon.propTypes /* remove-proptypes */ =
112
112
  // └─────────────────────────────────────────────────────────────────────┘
113
113
  /**
114
114
  * The base class applied to the icon. Defaults to 'material-icons', but can be changed to any
115
- * other base class that suits the icon font you're using (e.g. material-icons-rounded, fas, etc).
115
+ * other base class that suits the icon font you're using (for example material-icons-rounded, fas, etc).
116
116
  * @default 'material-icons'
117
117
  */
118
118
  baseClassName: _propTypes.default.string,
@@ -14,8 +14,8 @@ var _clsx = _interopRequireDefault(require("clsx"));
14
14
  var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
15
15
  var _system = require("@mui/system");
16
16
  var _colorManipulator = require("@mui/system/colorManipulator");
17
+ var _RtlProvider = require("@mui/system/RtlProvider");
17
18
  var _capitalize = _interopRequireDefault(require("../utils/capitalize"));
18
- var _useTheme = _interopRequireDefault(require("../styles/useTheme"));
19
19
  var _styled = _interopRequireDefault(require("../styles/styled"));
20
20
  var _useThemeProps = _interopRequireDefault(require("../styles/useThemeProps"));
21
21
  var _linearProgressClasses = require("./linearProgressClasses");
@@ -255,7 +255,7 @@ const LinearProgress = /*#__PURE__*/React.forwardRef(function LinearProgress(inP
255
255
  variant
256
256
  });
257
257
  const classes = useUtilityClasses(ownerState);
258
- const theme = (0, _useTheme.default)();
258
+ const isRtl = (0, _RtlProvider.useRtl)();
259
259
  const rootProps = {};
260
260
  const inlineStyles = {
261
261
  bar1: {},
@@ -267,7 +267,7 @@ const LinearProgress = /*#__PURE__*/React.forwardRef(function LinearProgress(inP
267
267
  rootProps['aria-valuemin'] = 0;
268
268
  rootProps['aria-valuemax'] = 100;
269
269
  let transform = value - 100;
270
- if (theme.direction === 'rtl') {
270
+ if (isRtl) {
271
271
  transform = -transform;
272
272
  }
273
273
  inlineStyles.bar1.transform = `translateX(${transform}%)`;
@@ -278,7 +278,7 @@ const LinearProgress = /*#__PURE__*/React.forwardRef(function LinearProgress(inP
278
278
  if (variant === 'buffer') {
279
279
  if (valueBuffer !== undefined) {
280
280
  let transform = (valueBuffer || 0) - 100;
281
- if (theme.direction === 'rtl') {
281
+ if (isRtl) {
282
282
  transform = -transform;
283
283
  }
284
284
  inlineStyles.bar2.transform = `translateX(${transform}%)`;
package/node/Menu/Menu.js CHANGED
@@ -15,10 +15,10 @@ var _clsx = _interopRequireDefault(require("clsx"));
15
15
  var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
16
16
  var _utils = require("@mui/base/utils");
17
17
  var _HTMLElementType = _interopRequireDefault(require("@mui/utils/HTMLElementType"));
18
+ var _RtlProvider = require("@mui/system/RtlProvider");
18
19
  var _MenuList = _interopRequireDefault(require("../MenuList"));
19
20
  var _Popover = _interopRequireWildcard(require("../Popover"));
20
21
  var _styled = _interopRequireWildcard(require("../styles/styled"));
21
- var _useTheme = _interopRequireDefault(require("../styles/useTheme"));
22
22
  var _useThemeProps = _interopRequireDefault(require("../styles/useThemeProps"));
23
23
  var _menuClasses = require("./menuClasses");
24
24
  var _jsxRuntime = require("react/jsx-runtime");
@@ -97,8 +97,7 @@ const Menu = /*#__PURE__*/React.forwardRef(function Menu(inProps, ref) {
97
97
  } = props,
98
98
  TransitionProps = (0, _objectWithoutPropertiesLoose2.default)(props.TransitionProps, _excluded),
99
99
  other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded2);
100
- const theme = (0, _useTheme.default)();
101
- const isRtl = theme.direction === 'rtl';
100
+ const isRtl = (0, _RtlProvider.useRtl)();
102
101
  const ownerState = (0, _extends2.default)({}, props, {
103
102
  autoFocus,
104
103
  disableAutoFocusItem,
@@ -114,7 +113,9 @@ const Menu = /*#__PURE__*/React.forwardRef(function Menu(inProps, ref) {
114
113
  const menuListActionsRef = React.useRef(null);
115
114
  const handleEntering = (element, isAppearing) => {
116
115
  if (menuListActionsRef.current) {
117
- menuListActionsRef.current.adjustStyleForScrollbar(element, theme);
116
+ menuListActionsRef.current.adjustStyleForScrollbar(element, {
117
+ direction: isRtl ? 'rtl' : 'ltr'
118
+ });
118
119
  }
119
120
  if (onEntering) {
120
121
  onEntering(element, isAppearing);
@@ -115,13 +115,15 @@ const MenuList = /*#__PURE__*/React.forwardRef(function MenuList(props, ref) {
115
115
  }
116
116
  }, [autoFocus]);
117
117
  React.useImperativeHandle(actions, () => ({
118
- adjustStyleForScrollbar: (containerElement, theme) => {
118
+ adjustStyleForScrollbar: (containerElement, {
119
+ direction
120
+ }) => {
119
121
  // Let's ignore that piece of logic if users are already overriding the width
120
122
  // of the menu.
121
123
  const noExplicitWidth = !listRef.current.style.width;
122
124
  if (containerElement.clientHeight < listRef.current.clientHeight && noExplicitWidth) {
123
125
  const scrollbarSize = `${(0, _getScrollbarSize.default)((0, _ownerDocument.default)(containerElement))}px`;
124
- listRef.current.style[theme.direction === 'rtl' ? 'paddingLeft' : 'paddingRight'] = scrollbarSize;
126
+ listRef.current.style[direction === 'rtl' ? 'paddingLeft' : 'paddingRight'] = scrollbarSize;
125
127
  listRef.current.style.width = `calc(100% + ${scrollbarSize})`;
126
128
  }
127
129
  return listRef.current;
@@ -13,9 +13,9 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
13
13
  var _clsx = _interopRequireDefault(require("clsx"));
14
14
  var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
15
15
  var _colorManipulator = require("@mui/system/colorManipulator");
16
+ var _RtlProvider = require("@mui/system/RtlProvider");
16
17
  var _useThemeProps = _interopRequireDefault(require("../styles/useThemeProps"));
17
18
  var _paginationItemClasses = _interopRequireWildcard(require("./paginationItemClasses"));
18
- var _useTheme = _interopRequireDefault(require("../styles/useTheme"));
19
19
  var _ButtonBase = _interopRequireDefault(require("../ButtonBase"));
20
20
  var _capitalize = _interopRequireDefault(require("../utils/capitalize"));
21
21
  var _FirstPage = _interopRequireDefault(require("../internal/svg-icons/FirstPage"));
@@ -241,9 +241,9 @@ const PaginationItem = /*#__PURE__*/React.forwardRef(function PaginationItem(inP
241
241
  type,
242
242
  variant
243
243
  });
244
- const theme = (0, _useTheme.default)();
244
+ const isRtl = (0, _RtlProvider.useRtl)();
245
245
  const classes = useUtilityClasses(ownerState);
246
- const normalizedIcons = theme.direction === 'rtl' ? {
246
+ const normalizedIcons = isRtl ? {
247
247
  previous: slots.next || components.next || _NavigateNext.default,
248
248
  next: slots.previous || components.previous || _NavigateBefore.default,
249
249
  last: slots.first || components.first || _FirstPage.default,