@mui/material 5.11.10 → 5.11.12

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 (115) hide show
  1. package/Autocomplete/Autocomplete.d.ts +4 -1
  2. package/Autocomplete/Autocomplete.js +5 -2
  3. package/Autocomplete/autocompleteClasses.d.ts +2 -0
  4. package/Autocomplete/autocompleteClasses.js +1 -1
  5. package/Badge/Badge.js +1 -1
  6. package/CHANGELOG.md +233 -0
  7. package/Container/Container.js +0 -1
  8. package/DialogTitle/DialogTitle.js +2 -2
  9. package/InputBase/InputBase.js +2 -2
  10. package/InputLabel/InputLabel.js +3 -1
  11. package/ListSubheader/ListSubheader.js +1 -0
  12. package/Menu/Menu.js +1 -1
  13. package/MenuList/MenuList.js +7 -0
  14. package/Modal/Modal.d.ts +9 -1
  15. package/Modal/Modal.js +14 -9
  16. package/OutlinedInput/OutlinedInput.js +1 -1
  17. package/README.md +0 -2
  18. package/Rating/Rating.js +2 -2
  19. package/Select/SelectInput.js +2 -22
  20. package/Slider/Slider.d.ts +5 -1
  21. package/Slider/Slider.js +16 -11
  22. package/Snackbar/Snackbar.js +21 -125
  23. package/Stack/Stack.d.ts +0 -1
  24. package/Stack/Stack.js +9 -120
  25. package/Stack/index.d.ts +3 -0
  26. package/Stack/index.js +2 -1
  27. package/Stack/stackClasses.d.ts +6 -0
  28. package/Stack/stackClasses.js +7 -0
  29. package/Unstable_Grid2/Grid2.js +2 -3
  30. package/index.js +1 -1
  31. package/legacy/Autocomplete/Autocomplete.js +5 -2
  32. package/legacy/Autocomplete/autocompleteClasses.js +1 -1
  33. package/legacy/Badge/Badge.js +1 -1
  34. package/legacy/Container/Container.js +0 -1
  35. package/legacy/DialogTitle/DialogTitle.js +2 -2
  36. package/legacy/InputBase/InputBase.js +2 -2
  37. package/legacy/InputLabel/InputLabel.js +3 -1
  38. package/legacy/ListSubheader/ListSubheader.js +1 -0
  39. package/legacy/Menu/Menu.js +1 -1
  40. package/legacy/MenuList/MenuList.js +7 -0
  41. package/legacy/Modal/Modal.js +14 -9
  42. package/legacy/OutlinedInput/OutlinedInput.js +1 -1
  43. package/legacy/Rating/Rating.js +2 -2
  44. package/legacy/Select/SelectInput.js +2 -22
  45. package/legacy/Slider/Slider.js +16 -12
  46. package/legacy/Snackbar/Snackbar.js +20 -119
  47. package/legacy/Stack/Stack.js +13 -122
  48. package/legacy/Stack/index.js +2 -1
  49. package/legacy/Stack/stackClasses.js +7 -0
  50. package/legacy/Unstable_Grid2/Grid2.js +2 -3
  51. package/legacy/index.js +1 -1
  52. package/legacy/styles/CssVarsProvider.js +1 -8
  53. package/legacy/styles/createTheme.js +1 -0
  54. package/legacy/styles/experimental_extendTheme.js +64 -40
  55. package/legacy/useAutocomplete/useAutocomplete.js +2 -2
  56. package/modern/Autocomplete/Autocomplete.js +5 -2
  57. package/modern/Autocomplete/autocompleteClasses.js +1 -1
  58. package/modern/Badge/Badge.js +1 -1
  59. package/modern/Container/Container.js +0 -1
  60. package/modern/DialogTitle/DialogTitle.js +2 -2
  61. package/modern/InputBase/InputBase.js +2 -2
  62. package/modern/InputLabel/InputLabel.js +3 -1
  63. package/modern/ListSubheader/ListSubheader.js +1 -0
  64. package/modern/Menu/Menu.js +1 -1
  65. package/modern/MenuList/MenuList.js +7 -0
  66. package/modern/Modal/Modal.js +14 -9
  67. package/modern/OutlinedInput/OutlinedInput.js +1 -1
  68. package/modern/Rating/Rating.js +2 -2
  69. package/modern/Select/SelectInput.js +2 -18
  70. package/modern/Slider/Slider.js +16 -11
  71. package/modern/Snackbar/Snackbar.js +21 -125
  72. package/modern/Stack/Stack.js +9 -120
  73. package/modern/Stack/index.js +2 -1
  74. package/modern/Stack/stackClasses.js +7 -0
  75. package/modern/Unstable_Grid2/Grid2.js +2 -3
  76. package/modern/index.js +1 -1
  77. package/modern/styles/CssVarsProvider.js +1 -5
  78. package/modern/styles/createTheme.js +1 -0
  79. package/modern/styles/experimental_extendTheme.js +62 -41
  80. package/modern/useAutocomplete/useAutocomplete.js +2 -2
  81. package/node/Autocomplete/Autocomplete.js +5 -2
  82. package/node/Autocomplete/autocompleteClasses.js +1 -1
  83. package/node/Badge/Badge.js +2 -2
  84. package/node/Container/Container.js +0 -2
  85. package/node/DialogTitle/DialogTitle.js +2 -2
  86. package/node/InputBase/InputBase.js +2 -2
  87. package/node/InputLabel/InputLabel.js +3 -1
  88. package/node/ListSubheader/ListSubheader.js +1 -0
  89. package/node/Menu/Menu.js +1 -1
  90. package/node/MenuList/MenuList.js +7 -0
  91. package/node/Modal/Modal.js +14 -9
  92. package/node/OutlinedInput/OutlinedInput.js +1 -1
  93. package/node/Rating/Rating.js +2 -2
  94. package/node/Select/SelectInput.js +2 -22
  95. package/node/Slider/Slider.js +19 -14
  96. package/node/Snackbar/Snackbar.js +20 -124
  97. package/node/Stack/Stack.js +9 -122
  98. package/node/Stack/index.js +8 -1
  99. package/node/Stack/stackClasses.js +16 -0
  100. package/node/Unstable_Grid2/Grid2.js +0 -1
  101. package/node/index.js +1 -1
  102. package/node/styles/CssVarsProvider.js +1 -9
  103. package/node/styles/createTheme.js +1 -0
  104. package/node/styles/experimental_extendTheme.js +66 -40
  105. package/node/useAutocomplete/useAutocomplete.js +8 -6
  106. package/package.json +6 -6
  107. package/styles/CssVarsProvider.d.ts +1 -2
  108. package/styles/CssVarsProvider.js +1 -8
  109. package/styles/createTheme.js +1 -0
  110. package/styles/experimental_extendTheme.d.ts +16 -0
  111. package/styles/experimental_extendTheme.js +65 -41
  112. package/umd/material-ui.development.js +3958 -3813
  113. package/umd/material-ui.production.min.js +21 -21
  114. package/useAutocomplete/useAutocomplete.d.ts +2 -2
  115. package/useAutocomplete/useAutocomplete.js +2 -2
@@ -3,7 +3,7 @@ import _extends from "@babel/runtime/helpers/esm/extends";
3
3
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
4
4
  import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
5
5
  import { deepmerge } from '@mui/utils';
6
- import { private_safeColorChannel as safeColorChannel, private_safeAlpha as safeAlpha, private_safeDarken as safeDarken, private_safeLighten as safeLighten, private_safeEmphasize as safeEmphasize, unstable_createGetCssVar as systemCreateGetCssVar, unstable_defaultSxConfig as defaultSxConfig, unstable_styleFunctionSx as styleFunctionSx } from '@mui/system';
6
+ import { private_safeColorChannel as safeColorChannel, private_safeAlpha as safeAlpha, private_safeDarken as safeDarken, private_safeLighten as safeLighten, private_safeEmphasize as safeEmphasize, unstable_createGetCssVar as systemCreateGetCssVar, unstable_defaultSxConfig as defaultSxConfig, unstable_styleFunctionSx as styleFunctionSx, unstable_prepareCssVars as prepareCssVars } from '@mui/system';
7
7
  import createThemeWithoutVars from './createTheme';
8
8
  import getOverlayAlpha from './getOverlayAlpha';
9
9
  var defaultDarkOverlays = _toConsumableArray(Array(25)).map(function (_, index) {
@@ -44,6 +44,12 @@ export var createGetCssVar = function createGetCssVar() {
44
44
  var cssVarPrefix = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'mui';
45
45
  return systemCreateGetCssVar(cssVarPrefix);
46
46
  };
47
+ export var defaultShouldSkipGeneratingVar = function defaultShouldSkipGeneratingVar(keys) {
48
+ var _keys$;
49
+ return !!keys[0].match(/(typography|mixins|breakpoints|direction|transitions)/) || !!keys[0].match(/sxConfig$/) ||
50
+ // ends with sxConfig
51
+ keys[0] === 'palette' && !!((_keys$ = keys[1]) != null && _keys$.match(/(mode|contrastThreshold|tonalOffset)/));
52
+ };
47
53
  export default function extendTheme() {
48
54
  var _colorSchemesInput$li, _colorSchemesInput$da, _colorSchemesInput$li2, _colorSchemesInput$li3, _colorSchemesInput$da2, _colorSchemesInput$da3;
49
55
  var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
@@ -51,7 +57,9 @@ export default function extendTheme() {
51
57
  colorSchemesInput = _options$colorSchemes === void 0 ? {} : _options$colorSchemes,
52
58
  _options$cssVarPrefix = options.cssVarPrefix,
53
59
  cssVarPrefix = _options$cssVarPrefix === void 0 ? 'mui' : _options$cssVarPrefix,
54
- input = _objectWithoutProperties(options, ["colorSchemes", "cssVarPrefix"]);
60
+ _options$shouldSkipGe = options.shouldSkipGeneratingVar,
61
+ shouldSkipGeneratingVar = _options$shouldSkipGe === void 0 ? defaultShouldSkipGeneratingVar : _options$shouldSkipGe,
62
+ input = _objectWithoutProperties(options, ["colorSchemes", "cssVarPrefix", "shouldSkipGeneratingVar"]);
55
63
  var getCssVar = createGetCssVar(cssVarPrefix);
56
64
  var _createThemeWithoutVa = createThemeWithoutVars(_extends({}, input, colorSchemesInput.light && {
57
65
  palette: (_colorSchemesInput$li = colorSchemesInput.light) == null ? void 0 : _colorSchemesInput$li.palette
@@ -92,6 +100,12 @@ export default function extendTheme() {
92
100
  });
93
101
  Object.keys(theme.colorSchemes).forEach(function (key) {
94
102
  var palette = theme.colorSchemes[key].palette;
103
+ var setCssVarColor = function setCssVarColor(cssVar) {
104
+ var tokens = cssVar.split('-');
105
+ var color = tokens[1];
106
+ var colorToken = tokens[2];
107
+ return getCssVar(cssVar, palette[color][colorToken]);
108
+ };
95
109
 
96
110
  // attach black & white channels to common node
97
111
  if (key === 'light') {
@@ -109,10 +123,10 @@ export default function extendTheme() {
109
123
  setColor(palette.Alert, 'infoColor', safeDarken(palette.info.light, 0.6));
110
124
  setColor(palette.Alert, 'successColor', safeDarken(palette.success.light, 0.6));
111
125
  setColor(palette.Alert, 'warningColor', safeDarken(palette.warning.light, 0.6));
112
- setColor(palette.Alert, 'errorFilledBg', getCssVar('palette-error-main'));
113
- setColor(palette.Alert, 'infoFilledBg', getCssVar('palette-info-main'));
114
- setColor(palette.Alert, 'successFilledBg', getCssVar('palette-success-main'));
115
- setColor(palette.Alert, 'warningFilledBg', getCssVar('palette-warning-main'));
126
+ setColor(palette.Alert, 'errorFilledBg', setCssVarColor('palette-error-main'));
127
+ setColor(palette.Alert, 'infoFilledBg', setCssVarColor('palette-info-main'));
128
+ setColor(palette.Alert, 'successFilledBg', setCssVarColor('palette-success-main'));
129
+ setColor(palette.Alert, 'warningFilledBg', setCssVarColor('palette-warning-main'));
116
130
  setColor(palette.Alert, 'errorFilledColor', silent(function () {
117
131
  return lightPalette.getContrastText(palette.error.main);
118
132
  }));
@@ -129,15 +143,15 @@ export default function extendTheme() {
129
143
  setColor(palette.Alert, 'infoStandardBg', safeLighten(palette.info.light, 0.9));
130
144
  setColor(palette.Alert, 'successStandardBg', safeLighten(palette.success.light, 0.9));
131
145
  setColor(palette.Alert, 'warningStandardBg', safeLighten(palette.warning.light, 0.9));
132
- setColor(palette.Alert, 'errorIconColor', getCssVar('palette-error-main'));
133
- setColor(palette.Alert, 'infoIconColor', getCssVar('palette-info-main'));
134
- setColor(palette.Alert, 'successIconColor', getCssVar('palette-success-main'));
135
- setColor(palette.Alert, 'warningIconColor', getCssVar('palette-warning-main'));
136
- setColor(palette.AppBar, 'defaultBg', getCssVar('palette-grey-100'));
137
- setColor(palette.Avatar, 'defaultBg', getCssVar('palette-grey-400'));
138
- setColor(palette.Chip, 'defaultBorder', getCssVar('palette-grey-400'));
139
- setColor(palette.Chip, 'defaultAvatarColor', getCssVar('palette-grey-700'));
140
- setColor(palette.Chip, 'defaultIconColor', getCssVar('palette-grey-700'));
146
+ setColor(palette.Alert, 'errorIconColor', setCssVarColor('palette-error-main'));
147
+ setColor(palette.Alert, 'infoIconColor', setCssVarColor('palette-info-main'));
148
+ setColor(palette.Alert, 'successIconColor', setCssVarColor('palette-success-main'));
149
+ setColor(palette.Alert, 'warningIconColor', setCssVarColor('palette-warning-main'));
150
+ setColor(palette.AppBar, 'defaultBg', setCssVarColor('palette-grey-100'));
151
+ setColor(palette.Avatar, 'defaultBg', setCssVarColor('palette-grey-400'));
152
+ setColor(palette.Chip, 'defaultBorder', setCssVarColor('palette-grey-400'));
153
+ setColor(palette.Chip, 'defaultAvatarColor', setCssVarColor('palette-grey-700'));
154
+ setColor(palette.Chip, 'defaultIconColor', setCssVarColor('palette-grey-700'));
141
155
  setColor(palette.FilledInput, 'bg', 'rgba(0, 0, 0, 0.06)');
142
156
  setColor(palette.FilledInput, 'hoverBg', 'rgba(0, 0, 0, 0.09)');
143
157
  setColor(palette.FilledInput, 'disabledBg', 'rgba(0, 0, 0, 0.12)');
@@ -147,7 +161,7 @@ export default function extendTheme() {
147
161
  setColor(palette.LinearProgress, 'infoBg', safeLighten(palette.info.main, 0.62));
148
162
  setColor(palette.LinearProgress, 'successBg', safeLighten(palette.success.main, 0.62));
149
163
  setColor(palette.LinearProgress, 'warningBg', safeLighten(palette.warning.main, 0.62));
150
- setColor(palette.Skeleton, 'bg', "rgba(".concat(getCssVar('palette-text-primaryChannel'), " / 0.11)"));
164
+ setColor(palette.Skeleton, 'bg', "rgba(".concat(setCssVarColor('palette-text-primaryChannel'), " / 0.11)"));
151
165
  setColor(palette.Slider, 'primaryTrack', safeLighten(palette.primary.main, 0.62));
152
166
  setColor(palette.Slider, 'secondaryTrack', safeLighten(palette.secondary.main, 0.62));
153
167
  setColor(palette.Slider, 'errorTrack', safeLighten(palette.error.main, 0.62));
@@ -160,10 +174,10 @@ export default function extendTheme() {
160
174
  return lightPalette.getContrastText(snackbarContentBackground);
161
175
  }));
162
176
  setColor(palette.SpeedDialAction, 'fabHoverBg', safeEmphasize(palette.background.paper, 0.15));
163
- setColor(palette.StepConnector, 'border', getCssVar('palette-grey-400'));
164
- setColor(palette.StepContent, 'border', getCssVar('palette-grey-400'));
165
- setColor(palette.Switch, 'defaultColor', getCssVar('palette-common-white'));
166
- setColor(palette.Switch, 'defaultDisabledColor', getCssVar('palette-grey-100'));
177
+ setColor(palette.StepConnector, 'border', setCssVarColor('palette-grey-400'));
178
+ setColor(palette.StepContent, 'border', setCssVarColor('palette-grey-400'));
179
+ setColor(palette.Switch, 'defaultColor', setCssVarColor('palette-common-white'));
180
+ setColor(palette.Switch, 'defaultDisabledColor', setCssVarColor('palette-grey-100'));
167
181
  setColor(palette.Switch, 'primaryDisabledColor', safeLighten(palette.primary.main, 0.62));
168
182
  setColor(palette.Switch, 'secondaryDisabledColor', safeLighten(palette.secondary.main, 0.62));
169
183
  setColor(palette.Switch, 'errorDisabledColor', safeLighten(palette.error.main, 0.62));
@@ -177,10 +191,10 @@ export default function extendTheme() {
177
191
  setColor(palette.Alert, 'infoColor', safeLighten(palette.info.light, 0.6));
178
192
  setColor(palette.Alert, 'successColor', safeLighten(palette.success.light, 0.6));
179
193
  setColor(palette.Alert, 'warningColor', safeLighten(palette.warning.light, 0.6));
180
- setColor(palette.Alert, 'errorFilledBg', getCssVar('palette-error-dark'));
181
- setColor(palette.Alert, 'infoFilledBg', getCssVar('palette-info-dark'));
182
- setColor(palette.Alert, 'successFilledBg', getCssVar('palette-success-dark'));
183
- setColor(palette.Alert, 'warningFilledBg', getCssVar('palette-warning-dark'));
194
+ setColor(palette.Alert, 'errorFilledBg', setCssVarColor('palette-error-dark'));
195
+ setColor(palette.Alert, 'infoFilledBg', setCssVarColor('palette-info-dark'));
196
+ setColor(palette.Alert, 'successFilledBg', setCssVarColor('palette-success-dark'));
197
+ setColor(palette.Alert, 'warningFilledBg', setCssVarColor('palette-warning-dark'));
184
198
  setColor(palette.Alert, 'errorFilledColor', silent(function () {
185
199
  return darkPalette.getContrastText(palette.error.dark);
186
200
  }));
@@ -197,17 +211,17 @@ export default function extendTheme() {
197
211
  setColor(palette.Alert, 'infoStandardBg', safeDarken(palette.info.light, 0.9));
198
212
  setColor(palette.Alert, 'successStandardBg', safeDarken(palette.success.light, 0.9));
199
213
  setColor(palette.Alert, 'warningStandardBg', safeDarken(palette.warning.light, 0.9));
200
- setColor(palette.Alert, 'errorIconColor', getCssVar('palette-error-main'));
201
- setColor(palette.Alert, 'infoIconColor', getCssVar('palette-info-main'));
202
- setColor(palette.Alert, 'successIconColor', getCssVar('palette-success-main'));
203
- setColor(palette.Alert, 'warningIconColor', getCssVar('palette-warning-main'));
204
- setColor(palette.AppBar, 'defaultBg', getCssVar('palette-grey-900'));
205
- setColor(palette.AppBar, 'darkBg', getCssVar('palette-background-paper')); // specific for dark mode
206
- setColor(palette.AppBar, 'darkColor', getCssVar('palette-text-primary')); // specific for dark mode
207
- setColor(palette.Avatar, 'defaultBg', getCssVar('palette-grey-600'));
208
- setColor(palette.Chip, 'defaultBorder', getCssVar('palette-grey-700'));
209
- setColor(palette.Chip, 'defaultAvatarColor', getCssVar('palette-grey-300'));
210
- setColor(palette.Chip, 'defaultIconColor', getCssVar('palette-grey-300'));
214
+ setColor(palette.Alert, 'errorIconColor', setCssVarColor('palette-error-main'));
215
+ setColor(palette.Alert, 'infoIconColor', setCssVarColor('palette-info-main'));
216
+ setColor(palette.Alert, 'successIconColor', setCssVarColor('palette-success-main'));
217
+ setColor(palette.Alert, 'warningIconColor', setCssVarColor('palette-warning-main'));
218
+ setColor(palette.AppBar, 'defaultBg', setCssVarColor('palette-grey-900'));
219
+ setColor(palette.AppBar, 'darkBg', setCssVarColor('palette-background-paper')); // specific for dark mode
220
+ setColor(palette.AppBar, 'darkColor', setCssVarColor('palette-text-primary')); // specific for dark mode
221
+ setColor(palette.Avatar, 'defaultBg', setCssVarColor('palette-grey-600'));
222
+ setColor(palette.Chip, 'defaultBorder', setCssVarColor('palette-grey-700'));
223
+ setColor(palette.Chip, 'defaultAvatarColor', setCssVarColor('palette-grey-300'));
224
+ setColor(palette.Chip, 'defaultIconColor', setCssVarColor('palette-grey-300'));
211
225
  setColor(palette.FilledInput, 'bg', 'rgba(255, 255, 255, 0.09)');
212
226
  setColor(palette.FilledInput, 'hoverBg', 'rgba(255, 255, 255, 0.13)');
213
227
  setColor(palette.FilledInput, 'disabledBg', 'rgba(255, 255, 255, 0.12)');
@@ -217,7 +231,7 @@ export default function extendTheme() {
217
231
  setColor(palette.LinearProgress, 'infoBg', safeDarken(palette.info.main, 0.5));
218
232
  setColor(palette.LinearProgress, 'successBg', safeDarken(palette.success.main, 0.5));
219
233
  setColor(palette.LinearProgress, 'warningBg', safeDarken(palette.warning.main, 0.5));
220
- setColor(palette.Skeleton, 'bg', "rgba(".concat(getCssVar('palette-text-primaryChannel'), " / 0.13)"));
234
+ setColor(palette.Skeleton, 'bg', "rgba(".concat(setCssVarColor('palette-text-primaryChannel'), " / 0.13)"));
221
235
  setColor(palette.Slider, 'primaryTrack', safeDarken(palette.primary.main, 0.5));
222
236
  setColor(palette.Slider, 'secondaryTrack', safeDarken(palette.secondary.main, 0.5));
223
237
  setColor(palette.Slider, 'errorTrack', safeDarken(palette.error.main, 0.5));
@@ -230,10 +244,10 @@ export default function extendTheme() {
230
244
  return darkPalette.getContrastText(_snackbarContentBackground);
231
245
  }));
232
246
  setColor(palette.SpeedDialAction, 'fabHoverBg', safeEmphasize(palette.background.paper, 0.15));
233
- setColor(palette.StepConnector, 'border', getCssVar('palette-grey-600'));
234
- setColor(palette.StepContent, 'border', getCssVar('palette-grey-600'));
235
- setColor(palette.Switch, 'defaultColor', getCssVar('palette-grey-300'));
236
- setColor(palette.Switch, 'defaultDisabledColor', getCssVar('palette-grey-600'));
247
+ setColor(palette.StepConnector, 'border', setCssVarColor('palette-grey-600'));
248
+ setColor(palette.StepContent, 'border', setCssVarColor('palette-grey-600'));
249
+ setColor(palette.Switch, 'defaultColor', setCssVarColor('palette-grey-300'));
250
+ setColor(palette.Switch, 'defaultDisabledColor', setCssVarColor('palette-grey-600'));
237
251
  setColor(palette.Switch, 'primaryDisabledColor', safeDarken(palette.primary.main, 0.55));
238
252
  setColor(palette.Switch, 'secondaryDisabledColor', safeDarken(palette.secondary.main, 0.55));
239
253
  setColor(palette.Switch, 'errorDisabledColor', safeDarken(palette.error.main, 0.55));
@@ -291,6 +305,16 @@ export default function extendTheme() {
291
305
  theme = args.reduce(function (acc, argument) {
292
306
  return deepmerge(acc, argument);
293
307
  }, theme);
308
+ var parserConfig = {
309
+ prefix: cssVarPrefix,
310
+ shouldSkipGeneratingVar: shouldSkipGeneratingVar
311
+ };
312
+ var _prepareCssVars = prepareCssVars(theme, parserConfig),
313
+ themeVars = _prepareCssVars.vars,
314
+ generateCssVars = _prepareCssVars.generateCssVars;
315
+ theme.vars = themeVars;
316
+ theme.generateCssVars = generateCssVars;
317
+ theme.shouldSkipGeneratingVar = shouldSkipGeneratingVar;
294
318
  theme.unstable_sxConfig = _extends({}, defaultSxConfig, input == null ? void 0 : input.unstable_sxConfig);
295
319
  theme.unstable_sx = function sx(props) {
296
320
  return styleFunctionSx({
@@ -1,2 +1,2 @@
1
- export { useAutocomplete as default } from '@mui/base/AutocompleteUnstyled';
2
- export * from '@mui/base/AutocompleteUnstyled';
1
+ export { default } from '@mui/base/useAutocomplete';
2
+ export * from '@mui/base/useAutocomplete';
@@ -29,6 +29,7 @@ const useUtilityClasses = ownerState => {
29
29
  const {
30
30
  classes,
31
31
  disablePortal,
32
+ expanded,
32
33
  focused,
33
34
  fullWidth,
34
35
  hasClearIcon,
@@ -38,7 +39,7 @@ const useUtilityClasses = ownerState => {
38
39
  size
39
40
  } = ownerState;
40
41
  const slots = {
41
- root: ['root', focused && 'focused', fullWidth && 'fullWidth', hasClearIcon && 'hasClearIcon', hasPopupIcon && 'hasPopupIcon'],
42
+ root: ['root', expanded && 'expanded', focused && 'focused', fullWidth && 'fullWidth', hasClearIcon && 'hasClearIcon', hasPopupIcon && 'hasPopupIcon'],
42
43
  inputRoot: ['inputRoot'],
43
44
  input: ['input', inputFocused && 'inputFocused'],
44
45
  tag: ['tag', `tagSize${capitalize(size)}`],
@@ -434,6 +435,7 @@ const Autocomplete = /*#__PURE__*/React.forwardRef(function Autocomplete(inProps
434
435
  getOptionProps,
435
436
  value,
436
437
  dirty,
438
+ expanded,
437
439
  id,
438
440
  popupOpen,
439
441
  focused,
@@ -451,6 +453,7 @@ const Autocomplete = /*#__PURE__*/React.forwardRef(function Autocomplete(inProps
451
453
  // If you modify this, make sure to keep the `AutocompleteOwnerState` type in sync.
452
454
  const ownerState = _extends({}, props, {
453
455
  disablePortal,
456
+ expanded,
454
457
  focused,
455
458
  fullWidth,
456
459
  hasClearIcon,
@@ -897,7 +900,7 @@ process.env.NODE_ENV !== "production" ? Autocomplete.propTypes /* remove-proptyp
897
900
  *
898
901
  * @param {React.SyntheticEvent} event The event source of the callback.
899
902
  * @param {T} option The highlighted option.
900
- * @param {string} reason Can be: `"keyboard"`, `"auto"`, `"mouse"`.
903
+ * @param {string} reason Can be: `"keyboard"`, `"auto"`, `"mouse"`, `"touch"`.
901
904
  */
902
905
  onHighlightChange: PropTypes.func,
903
906
  /**
@@ -3,5 +3,5 @@ import generateUtilityClass from '../generateUtilityClass';
3
3
  export function getAutocompleteUtilityClass(slot) {
4
4
  return generateUtilityClass('MuiAutocomplete', slot);
5
5
  }
6
- const autocompleteClasses = generateUtilityClasses('MuiAutocomplete', ['root', 'fullWidth', 'focused', 'focusVisible', 'tag', 'tagSizeSmall', 'tagSizeMedium', 'hasPopupIcon', 'hasClearIcon', 'inputRoot', 'input', 'inputFocused', 'endAdornment', 'clearIndicator', 'popupIndicator', 'popupIndicatorOpen', 'popper', 'popperDisablePortal', 'paper', 'listbox', 'loading', 'noOptions', 'option', 'groupLabel', 'groupUl']);
6
+ const autocompleteClasses = generateUtilityClasses('MuiAutocomplete', ['root', 'expanded', 'fullWidth', 'focused', 'focusVisible', 'tag', 'tagSizeSmall', 'tagSizeMedium', 'hasPopupIcon', 'hasClearIcon', 'inputRoot', 'input', 'inputFocused', 'endAdornment', 'clearIndicator', 'popupIndicator', 'popupIndicatorOpen', 'popper', 'popperDisablePortal', 'paper', 'listbox', 'loading', 'noOptions', 'option', 'groupLabel', 'groupUl']);
7
7
  export default autocompleteClasses;
@@ -6,7 +6,7 @@ import PropTypes from 'prop-types';
6
6
  import clsx from 'clsx';
7
7
  import { usePreviousProps } from '@mui/utils';
8
8
  import composeClasses from '@mui/base/composeClasses';
9
- import { useBadge } from '@mui/base/BadgeUnstyled';
9
+ import useBadge from '@mui/base/useBadge';
10
10
  import { useSlotProps } from '@mui/base';
11
11
  import styled from '../styles/styled';
12
12
  import useThemeProps from '../styles/useThemeProps';
@@ -1,4 +1,3 @@
1
- /* eslint-disable material-ui/mui-name-matches-component-name */
2
1
  import PropTypes from 'prop-types';
3
2
  import { createContainer } from '@mui/system';
4
3
  import capitalize from '../utils/capitalize';
@@ -41,7 +41,7 @@ const DialogTitle = /*#__PURE__*/React.forwardRef(function DialogTitle(inProps,
41
41
  const ownerState = props;
42
42
  const classes = useUtilityClasses(ownerState);
43
43
  const {
44
- titleId: id = idProp
44
+ titleId = idProp
45
45
  } = React.useContext(DialogContext);
46
46
  return /*#__PURE__*/_jsx(DialogTitleRoot, _extends({
47
47
  component: "h2",
@@ -49,7 +49,7 @@ const DialogTitle = /*#__PURE__*/React.forwardRef(function DialogTitle(inProps,
49
49
  ownerState: ownerState,
50
50
  ref: ref,
51
51
  variant: "h6",
52
- id: id
52
+ id: idProp ?? titleId
53
53
  }, other));
54
54
  });
55
55
  process.env.NODE_ENV !== "production" ? DialogTitle.propTypes /* remove-proptypes */ = {
@@ -435,7 +435,7 @@ const InputBase = /*#__PURE__*/React.forwardRef(function InputBase(inProps, ref)
435
435
  ref: ref,
436
436
  onClick: handleClick
437
437
  }, other, {
438
- className: clsx(classes.root, rootProps.className, className),
438
+ className: clsx(classes.root, rootProps.className, className, readOnly && 'MuiInputBase-readOnly'),
439
439
  children: [startAdornment, /*#__PURE__*/_jsx(FormControlContext.Provider, {
440
440
  value: null,
441
441
  children: /*#__PURE__*/_jsx(Input, _extends({
@@ -462,7 +462,7 @@ const InputBase = /*#__PURE__*/React.forwardRef(function InputBase(inProps, ref)
462
462
  ownerState: _extends({}, ownerState, inputProps.ownerState)
463
463
  }, {
464
464
  ref: handleInputRef,
465
- className: clsx(classes.input, inputProps.className),
465
+ className: clsx(classes.input, inputProps.className, readOnly && 'MuiInputBase-readOnly'),
466
466
  onBlur: handleBlur,
467
467
  onChange: handleChange,
468
468
  onFocus: handleFocus
@@ -98,7 +98,9 @@ const InputLabelRoot = styled(FormLabel, {
98
98
  }, ownerState.shrink && {
99
99
  userSelect: 'none',
100
100
  pointerEvents: 'auto',
101
- maxWidth: 'calc(133% - 24px)',
101
+ // Theoretically, we should have (8+5)*2/0.75 = 34px
102
+ // but it feels a better when it bleeds a bit on the left, so 32px.
103
+ maxWidth: 'calc(133% - 32px)',
102
104
  transform: 'translate(14px, -9px) scale(0.75)'
103
105
  })));
104
106
  const InputLabel = /*#__PURE__*/React.forwardRef(function InputLabel(inProps, ref) {
@@ -87,6 +87,7 @@ const ListSubheader = /*#__PURE__*/React.forwardRef(function ListSubheader(inPro
87
87
  ownerState: ownerState
88
88
  }, other));
89
89
  });
90
+ ListSubheader.muiSkipListHighlight = true;
90
91
  process.env.NODE_ENV !== "production" ? ListSubheader.propTypes /* remove-proptypes */ = {
91
92
  // ----------------------------- Warning --------------------------------
92
93
  // | These PropTypes are generated from the TypeScript type definitions |
@@ -149,7 +149,7 @@ const Menu = /*#__PURE__*/React.forwardRef(function Menu(inProps, ref) {
149
149
  },
150
150
  transformOrigin: isRtl ? RTL_ORIGIN : LTR_ORIGIN,
151
151
  PaperProps: _extends({
152
- component: MenuPaper
152
+ as: MenuPaper
153
153
  }, PaperProps, {
154
154
  classes: _extends({}, PaperProps.classes, {
155
155
  root: classes.paper
@@ -194,6 +194,13 @@ const MenuList = /*#__PURE__*/React.forwardRef(function MenuList(props, ref) {
194
194
  activeItemIndex = index;
195
195
  }
196
196
  }
197
+ if (activeItemIndex === index && (child.props.disabled || child.props.muiSkipListHighlight || child.type.muiSkipListHighlight)) {
198
+ activeItemIndex += 1;
199
+ if (activeItemIndex >= children.length) {
200
+ // there are no focusable items within the list.
201
+ activeItemIndex = -1;
202
+ }
203
+ }
197
204
  });
198
205
  const items = React.Children.map(children, (child, index) => {
199
206
  if (index === activeItemIndex) {
@@ -1,8 +1,9 @@
1
1
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
2
2
  import _extends from "@babel/runtime/helpers/esm/extends";
3
- const _excluded = ["BackdropComponent", "BackdropProps", "closeAfterTransition", "children", "component", "components", "componentsProps", "disableAutoFocus", "disableEnforceFocus", "disableEscapeKeyDown", "disablePortal", "disableRestoreFocus", "disableScrollLock", "hideBackdrop", "keepMounted", "slotProps", "slots", "theme"];
3
+ const _excluded = ["BackdropComponent", "BackdropProps", "classes", "className", "closeAfterTransition", "children", "component", "components", "componentsProps", "disableAutoFocus", "disableEnforceFocus", "disableEscapeKeyDown", "disablePortal", "disableRestoreFocus", "disableScrollLock", "hideBackdrop", "keepMounted", "slotProps", "slots", "theme"];
4
4
  import * as React from 'react';
5
5
  import PropTypes from 'prop-types';
6
+ import clsx from 'clsx';
6
7
  import ModalUnstyled, { modalUnstyledClasses } from '@mui/base/ModalUnstyled';
7
8
  import { isHostComponent, resolveComponentProps } from '@mui/base/utils';
8
9
  import { elementAcceptingRef, HTMLElementType } from '@mui/utils';
@@ -11,9 +12,6 @@ import useThemeProps from '../styles/useThemeProps';
11
12
  import Backdrop from '../Backdrop';
12
13
  import { jsx as _jsx } from "react/jsx-runtime";
13
14
  export const modalClasses = modalUnstyledClasses;
14
- const extendUtilityClasses = ownerState => {
15
- return ownerState.classes;
16
- };
17
15
  const ModalRoot = styled('div', {
18
16
  name: 'MuiModal',
19
17
  slot: 'Root',
@@ -67,6 +65,8 @@ const Modal = /*#__PURE__*/React.forwardRef(function Modal(inProps, ref) {
67
65
  const {
68
66
  BackdropComponent = ModalBackdrop,
69
67
  BackdropProps,
68
+ classes,
69
+ className,
70
70
  closeAfterTransition = false,
71
71
  children,
72
72
  component,
@@ -101,7 +101,6 @@ const Modal = /*#__PURE__*/React.forwardRef(function Modal(inProps, ref) {
101
101
  const ownerState = _extends({}, props, commonProps, {
102
102
  exited
103
103
  });
104
- const classes = extendUtilityClasses(ownerState);
105
104
  const RootSlot = slots?.root ?? components.Root ?? ModalRoot;
106
105
  const BackdropSlot = slots?.backdrop ?? components.Backdrop ?? BackdropComponent;
107
106
  const rootSlotProps = slotProps?.root ?? componentsProps.root;
@@ -115,15 +114,17 @@ const Modal = /*#__PURE__*/React.forwardRef(function Modal(inProps, ref) {
115
114
  root: () => _extends({}, resolveComponentProps(rootSlotProps, ownerState), !isHostComponent(RootSlot) && {
116
115
  as: component,
117
116
  theme
117
+ }, {
118
+ className: clsx(className, rootSlotProps?.className, classes?.root, !ownerState.open && ownerState.exited && classes?.hidden)
118
119
  }),
119
- backdrop: () => _extends({}, BackdropProps, resolveComponentProps(backdropSlotProps, ownerState))
120
+ backdrop: () => _extends({}, BackdropProps, resolveComponentProps(backdropSlotProps, ownerState), {
121
+ className: clsx(backdropSlotProps?.className, classes?.backdrop)
122
+ })
120
123
  },
121
124
  onTransitionEnter: () => setExited(false),
122
125
  onTransitionExited: () => setExited(true),
123
126
  ref: ref
124
- }, other, {
125
- classes: classes
126
- }, commonProps, {
127
+ }, other, commonProps, {
127
128
  children: children
128
129
  }));
129
130
  });
@@ -160,6 +161,10 @@ process.env.NODE_ENV !== "production" ? Modal.propTypes /* remove-proptypes */ =
160
161
  * Override or extend the styles applied to the component.
161
162
  */
162
163
  classes: PropTypes.object,
164
+ /**
165
+ * @ignore
166
+ */
167
+ className: PropTypes.string,
163
168
  /**
164
169
  * When set to true the Modal waits until a nested Transition is completed before closing.
165
170
  * @default false
@@ -163,7 +163,7 @@ const OutlinedInput = /*#__PURE__*/React.forwardRef(function OutlinedInput(inPro
163
163
  ownerState: ownerState,
164
164
  className: classes.notchedOutline,
165
165
  label: label != null && label !== '' && fcs.required ? _React$Fragment || (_React$Fragment = /*#__PURE__*/_jsxs(React.Fragment, {
166
- children: [label, "\xA0", '*']
166
+ children: [label, "\u2009", '*']
167
167
  })) : label,
168
168
  notched: typeof notched !== 'undefined' ? notched : Boolean(state.startAdornment || state.filled || state.focused)
169
169
  }),
@@ -46,7 +46,7 @@ const useUtilityClasses = ownerState => {
46
46
  focusVisible
47
47
  } = ownerState;
48
48
  const slots = {
49
- root: ['root', `size${capitalize(size)}`, disabled && 'disabled', focusVisible && 'focusVisible', readOnly && 'readyOnly'],
49
+ root: ['root', `size${capitalize(size)}`, disabled && 'disabled', focusVisible && 'focusVisible', readOnly && 'readOnly'],
50
50
  label: ['label', 'pristine'],
51
51
  labelEmptyValue: [emptyValueFocused && 'labelEmptyValueActive'],
52
52
  icon: ['icon'],
@@ -444,7 +444,7 @@ const Rating = /*#__PURE__*/React.forwardRef(function Rating(inProps, ref) {
444
444
  ref: handleRef,
445
445
  onMouseMove: handleMouseMove,
446
446
  onMouseLeave: handleMouseLeave,
447
- className: clsx(classes.root, className),
447
+ className: clsx(classes.root, className, readOnly && 'MuiRating-readOnly'),
448
448
  ownerState: ownerState,
449
449
  role: readOnly ? 'img' : null,
450
450
  "aria-label": readOnly ? getLabelText(value) : null
@@ -329,7 +329,7 @@ const SelectInput = /*#__PURE__*/React.forwardRef(function SelectInput(props, re
329
329
  computeDisplay = true;
330
330
  }
331
331
  }
332
- const items = childrenArray.map((child, index, arr) => {
332
+ const items = childrenArray.map(child => {
333
333
  if (! /*#__PURE__*/React.isValidElement(child)) {
334
334
  return null;
335
335
  }
@@ -356,22 +356,6 @@ const SelectInput = /*#__PURE__*/React.forwardRef(function SelectInput(props, re
356
356
  if (selected) {
357
357
  foundMatch = true;
358
358
  }
359
- if (child.props.value === undefined) {
360
- return /*#__PURE__*/React.cloneElement(child, {
361
- 'aria-readonly': true,
362
- role: 'option'
363
- });
364
- }
365
- const isFirstSelectableElement = () => {
366
- if (value) {
367
- return selected;
368
- }
369
- const firstSelectableElement = arr.find(item => item?.props?.value !== undefined && item.props.disabled !== true);
370
- if (child === firstSelectableElement) {
371
- return true;
372
- }
373
- return selected;
374
- };
375
359
  return /*#__PURE__*/React.cloneElement(child, {
376
360
  'aria-selected': selected ? 'true' : 'false',
377
361
  onClick: handleItemClick(child),
@@ -387,7 +371,7 @@ const SelectInput = /*#__PURE__*/React.forwardRef(function SelectInput(props, re
387
371
  }
388
372
  },
389
373
  role: 'option',
390
- selected: arr[0]?.props?.value === undefined || arr[0]?.props?.disabled === true ? isFirstSelectableElement() : selected,
374
+ selected,
391
375
  value: undefined,
392
376
  // The value is most likely not a valid HTML attribute.
393
377
  'data-value': child.props.value // Instead, we provide it as a data attribute.
@@ -6,7 +6,7 @@ import PropTypes from 'prop-types';
6
6
  import clsx from 'clsx';
7
7
  import { chainPropTypes } from '@mui/utils';
8
8
  import { isHostComponent, useSlotProps, unstable_composeClasses as composeClasses } from '@mui/base';
9
- import { useSlider } from '@mui/base/SliderUnstyled';
9
+ import useSlider, { valueToPercent } from '@mui/base/useSlider';
10
10
  import { alpha, lighten, darken } from '@mui/system';
11
11
  import useThemeProps from '../styles/useThemeProps';
12
12
  import styled, { slotShouldForwardProp } from '../styles/styled';
@@ -17,7 +17,6 @@ import SliderValueLabel from './SliderValueLabel';
17
17
  import sliderClasses, { getSliderUtilityClass } from './sliderClasses';
18
18
  import { jsx as _jsx } from "react/jsx-runtime";
19
19
  import { jsxs as _jsxs } from "react/jsx-runtime";
20
- const valueToPercent = (value, min, max) => (value - min) * 100 / (max - min);
21
20
  function Identity(x) {
22
21
  return x;
23
22
  }
@@ -457,7 +456,6 @@ const Slider = /*#__PURE__*/React.forwardRef(function Slider(inputProps, ref) {
457
456
  componentsProps = {},
458
457
  color = 'primary',
459
458
  classes: classesProp,
460
- // eslint-disable-next-line react/prop-types
461
459
  className,
462
460
  disableSwap = false,
463
461
  disabled = false,
@@ -564,7 +562,8 @@ const Slider = /*#__PURE__*/React.forwardRef(function Slider(inputProps, ref) {
564
562
  elementType: ThumbSlot,
565
563
  getSlotProps: getThumbProps,
566
564
  externalSlotProps: thumbSlotProps,
567
- ownerState: _extends({}, ownerState, thumbSlotProps?.ownerState)
565
+ ownerState: _extends({}, ownerState, thumbSlotProps?.ownerState),
566
+ className: classes.thumb
568
567
  });
569
568
  const valueLabelProps = useSlotProps({
570
569
  elementType: ValueLabelSlot,
@@ -581,7 +580,8 @@ const Slider = /*#__PURE__*/React.forwardRef(function Slider(inputProps, ref) {
581
580
  const markLabelProps = useSlotProps({
582
581
  elementType: MarkLabelSlot,
583
582
  externalSlotProps: markLabelSlotProps,
584
- ownerState
583
+ ownerState,
584
+ className: classes.markLabel
585
585
  });
586
586
  const inputSliderProps = useSlotProps({
587
587
  elementType: InputSlot,
@@ -622,8 +622,10 @@ const Slider = /*#__PURE__*/React.forwardRef(function Slider(inputProps, ref) {
622
622
  const percent = valueToPercent(value, min, max);
623
623
  const style = axisProps[axis].offset(percent);
624
624
  const ValueLabelComponent = valueLabelDisplay === 'off' ? Forward : ValueLabelSlot;
625
- return /*#__PURE__*/_jsx(React.Fragment, {
626
- children: /*#__PURE__*/_jsx(ValueLabelComponent, _extends({}, !isHostComponent(ValueLabelComponent) && {
625
+ return (
626
+ /*#__PURE__*/
627
+ /* TODO v6: Change component structure. It will help in avoiding the complicated React.cloneElement API added in SliderValueLabel component. Should be: Thumb -> Input, ValueLabel. Follow Joy UI's Slider structure. */
628
+ _jsx(ValueLabelComponent, _extends({}, !isHostComponent(ValueLabelComponent) && {
627
629
  valueLabelFormat,
628
630
  valueLabelDisplay,
629
631
  value: typeof valueLabelFormat === 'function' ? valueLabelFormat(scale(value), index) : valueLabelFormat,
@@ -632,8 +634,7 @@ const Slider = /*#__PURE__*/React.forwardRef(function Slider(inputProps, ref) {
632
634
  disabled
633
635
  }, valueLabelProps, {
634
636
  children: /*#__PURE__*/_jsx(ThumbSlot, _extends({
635
- "data-index": index,
636
- "data-focusvisible": focusedThumbIndex === index
637
+ "data-index": index
637
638
  }, thumbProps, {
638
639
  className: clsx(classes.thumb, thumbProps.className, active === index && classes.active, focusedThumbIndex === index && classes.focusVisible),
639
640
  style: _extends({}, style, {
@@ -648,8 +649,8 @@ const Slider = /*#__PURE__*/React.forwardRef(function Slider(inputProps, ref) {
648
649
  value: values[index]
649
650
  }, inputSliderProps))
650
651
  }))
651
- }))
652
- }, index);
652
+ }), index)
653
+ );
653
654
  })]
654
655
  }));
655
656
  });
@@ -690,6 +691,10 @@ process.env.NODE_ENV !== "production" ? Slider.propTypes /* remove-proptypes */
690
691
  * Override or extend the styles applied to the component.
691
692
  */
692
693
  classes: PropTypes.object,
694
+ /**
695
+ * @ignore
696
+ */
697
+ className: PropTypes.string,
693
698
  /**
694
699
  * The color of the component.
695
700
  * It supports both default and custom theme colors, which can be added as shown in the