@mui/material 5.11.9 → 5.11.11

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 (117) hide show
  1. package/Autocomplete/Autocomplete.d.ts +3 -1
  2. package/Avatar/Avatar.js +1 -0
  3. package/Backdrop/Backdrop.d.ts +8 -0
  4. package/Backdrop/Backdrop.js +10 -5
  5. package/Badge/Badge.d.ts +0 -1
  6. package/Badge/Badge.js +47 -47
  7. package/CHANGELOG.md +135 -1
  8. package/Container/Container.js +0 -1
  9. package/Dialog/DialogContext.d.ts +2 -2
  10. package/Dialog/DialogContext.js +2 -2
  11. package/InputBase/InputBase.js +2 -2
  12. package/InputLabel/InputLabel.js +3 -1
  13. package/ListSubheader/ListSubheader.js +1 -0
  14. package/MenuList/MenuList.js +7 -0
  15. package/Modal/Modal.d.ts +9 -1
  16. package/Modal/Modal.js +14 -9
  17. package/OutlinedInput/OutlinedInput.js +1 -1
  18. package/README.md +0 -2
  19. package/Rating/Rating.js +2 -2
  20. package/Select/SelectInput.js +2 -22
  21. package/Slider/Slider.d.ts +5 -1
  22. package/Slider/Slider.js +16 -11
  23. package/Snackbar/Snackbar.js +21 -125
  24. package/Stack/Stack.d.ts +0 -1
  25. package/Stack/Stack.js +9 -120
  26. package/Stack/index.d.ts +3 -0
  27. package/Stack/index.js +2 -1
  28. package/Stack/stackClasses.d.ts +6 -0
  29. package/Stack/stackClasses.js +7 -0
  30. package/SwipeableDrawer/SwipeableDrawer.js +3 -3
  31. package/Unstable_Grid2/Grid2.js +2 -3
  32. package/index.js +1 -1
  33. package/internal/SwitchBase.js +1 -1
  34. package/legacy/Avatar/Avatar.js +1 -0
  35. package/legacy/Backdrop/Backdrop.js +9 -3
  36. package/legacy/Badge/Badge.js +48 -48
  37. package/legacy/Container/Container.js +0 -1
  38. package/legacy/Dialog/DialogContext.js +2 -2
  39. package/legacy/InputBase/InputBase.js +2 -2
  40. package/legacy/InputLabel/InputLabel.js +3 -1
  41. package/legacy/ListSubheader/ListSubheader.js +1 -0
  42. package/legacy/MenuList/MenuList.js +7 -0
  43. package/legacy/Modal/Modal.js +14 -9
  44. package/legacy/OutlinedInput/OutlinedInput.js +1 -1
  45. package/legacy/Rating/Rating.js +2 -2
  46. package/legacy/Select/SelectInput.js +2 -22
  47. package/legacy/Slider/Slider.js +16 -12
  48. package/legacy/Snackbar/Snackbar.js +20 -119
  49. package/legacy/Stack/Stack.js +13 -122
  50. package/legacy/Stack/index.js +2 -1
  51. package/legacy/Stack/stackClasses.js +7 -0
  52. package/legacy/SwipeableDrawer/SwipeableDrawer.js +3 -3
  53. package/legacy/Unstable_Grid2/Grid2.js +2 -3
  54. package/legacy/index.js +1 -1
  55. package/legacy/internal/SwitchBase.js +1 -1
  56. package/legacy/styles/createTheme.js +1 -0
  57. package/legacy/useAutocomplete/useAutocomplete.js +2 -2
  58. package/legacy/useMediaQuery/useMediaQuery.js +12 -7
  59. package/modern/Avatar/Avatar.js +1 -0
  60. package/modern/Backdrop/Backdrop.js +10 -5
  61. package/modern/Badge/Badge.js +47 -47
  62. package/modern/Container/Container.js +0 -1
  63. package/modern/Dialog/DialogContext.js +2 -2
  64. package/modern/InputBase/InputBase.js +2 -2
  65. package/modern/InputLabel/InputLabel.js +3 -1
  66. package/modern/ListSubheader/ListSubheader.js +1 -0
  67. package/modern/MenuList/MenuList.js +7 -0
  68. package/modern/Modal/Modal.js +14 -9
  69. package/modern/OutlinedInput/OutlinedInput.js +1 -1
  70. package/modern/Rating/Rating.js +2 -2
  71. package/modern/Select/SelectInput.js +2 -18
  72. package/modern/Slider/Slider.js +16 -11
  73. package/modern/Snackbar/Snackbar.js +21 -125
  74. package/modern/Stack/Stack.js +9 -120
  75. package/modern/Stack/index.js +2 -1
  76. package/modern/Stack/stackClasses.js +7 -0
  77. package/modern/SwipeableDrawer/SwipeableDrawer.js +3 -3
  78. package/modern/Unstable_Grid2/Grid2.js +2 -3
  79. package/modern/index.js +1 -1
  80. package/modern/internal/SwitchBase.js +1 -1
  81. package/modern/styles/createTheme.js +1 -0
  82. package/modern/useAutocomplete/useAutocomplete.js +2 -2
  83. package/modern/useMediaQuery/useMediaQuery.js +9 -7
  84. package/node/Avatar/Avatar.js +1 -0
  85. package/node/Backdrop/Backdrop.js +10 -5
  86. package/node/Badge/Badge.js +46 -47
  87. package/node/Container/Container.js +0 -2
  88. package/node/Dialog/DialogContext.js +4 -2
  89. package/node/InputBase/InputBase.js +2 -2
  90. package/node/InputLabel/InputLabel.js +3 -1
  91. package/node/ListSubheader/ListSubheader.js +1 -0
  92. package/node/MenuList/MenuList.js +7 -0
  93. package/node/Modal/Modal.js +14 -9
  94. package/node/OutlinedInput/OutlinedInput.js +1 -1
  95. package/node/Rating/Rating.js +2 -2
  96. package/node/Select/SelectInput.js +2 -22
  97. package/node/Slider/Slider.js +19 -14
  98. package/node/Snackbar/Snackbar.js +20 -124
  99. package/node/Stack/Stack.js +9 -122
  100. package/node/Stack/index.js +8 -1
  101. package/node/Stack/stackClasses.js +16 -0
  102. package/node/SwipeableDrawer/SwipeableDrawer.js +3 -3
  103. package/node/Unstable_Grid2/Grid2.js +0 -1
  104. package/node/index.js +1 -1
  105. package/node/internal/SwitchBase.js +1 -1
  106. package/node/styles/createTheme.js +1 -0
  107. package/node/useAutocomplete/useAutocomplete.js +8 -6
  108. package/node/useMediaQuery/useMediaQuery.js +9 -7
  109. package/package.json +6 -6
  110. package/styles/createTheme.js +1 -0
  111. package/styles/props.d.ts +2 -2
  112. package/umd/material-ui.development.js +4209 -4241
  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
  116. package/useMediaQuery/useMediaQuery.d.ts +19 -4
  117. package/useMediaQuery/useMediaQuery.js +9 -7
@@ -16,7 +16,7 @@ var _useThemeProps = _interopRequireDefault(require("../styles/useThemeProps"));
16
16
  var _Fade = _interopRequireDefault(require("../Fade"));
17
17
  var _backdropClasses = require("./backdropClasses");
18
18
  var _jsxRuntime = require("react/jsx-runtime");
19
- const _excluded = ["children", "component", "components", "componentsProps", "className", "invisible", "open", "slotProps", "slots", "transitionDuration", "TransitionComponent"];
19
+ const _excluded = ["children", "className", "component", "components", "componentsProps", "invisible", "open", "slotProps", "slots", "TransitionComponent", "transitionDuration"];
20
20
  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); }
21
21
  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; }
22
22
  const useUtilityClasses = ownerState => {
@@ -62,17 +62,16 @@ const Backdrop = /*#__PURE__*/React.forwardRef(function Backdrop(inProps, ref) {
62
62
  });
63
63
  const {
64
64
  children,
65
+ className,
65
66
  component = 'div',
66
67
  components = {},
67
68
  componentsProps = {},
68
- className,
69
69
  invisible = false,
70
70
  open,
71
71
  slotProps = {},
72
72
  slots = {},
73
- transitionDuration,
74
- // eslint-disable-next-line react/prop-types
75
- TransitionComponent = _Fade.default
73
+ TransitionComponent = _Fade.default,
74
+ transitionDuration
76
75
  } = props,
77
76
  other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
78
77
  const ownerState = (0, _extends2.default)({}, props, {
@@ -177,6 +176,12 @@ process.env.NODE_ENV !== "production" ? Backdrop.propTypes /* remove-proptypes *
177
176
  * The system prop that allows defining system overrides as well as additional CSS styles.
178
177
  */
179
178
  sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object, _propTypes.default.bool])), _propTypes.default.func, _propTypes.default.object]),
179
+ /**
180
+ * The component used for the transition.
181
+ * [Follow this guide](/material-ui/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.
182
+ * @default Fade
183
+ */
184
+ TransitionComponent: _propTypes.default.elementType,
180
185
  /**
181
186
  * The duration for the transition, in milliseconds.
182
187
  * You may specify a single timeout for all transitions, or individually with an object.
@@ -12,14 +12,14 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
12
12
  var _clsx = _interopRequireDefault(require("clsx"));
13
13
  var _utils = require("@mui/utils");
14
14
  var _composeClasses = _interopRequireDefault(require("@mui/base/composeClasses"));
15
- var _BadgeUnstyled = _interopRequireDefault(require("@mui/base/BadgeUnstyled"));
15
+ var _useBadge = _interopRequireDefault(require("@mui/base/useBadge"));
16
+ var _base = require("@mui/base");
16
17
  var _styled = _interopRequireDefault(require("../styles/styled"));
17
18
  var _useThemeProps = _interopRequireDefault(require("../styles/useThemeProps"));
18
- var _shouldSpreadAdditionalProps = _interopRequireDefault(require("../utils/shouldSpreadAdditionalProps"));
19
19
  var _capitalize = _interopRequireDefault(require("../utils/capitalize"));
20
20
  var _badgeClasses = _interopRequireWildcard(require("./badgeClasses"));
21
21
  var _jsxRuntime = require("react/jsx-runtime");
22
- const _excluded = ["anchorOrigin", "className", "component", "components", "componentsProps", "overlap", "color", "invisible", "max", "badgeContent", "slots", "slotProps", "showZero", "variant"];
22
+ const _excluded = ["anchorOrigin", "className", "classes", "component", "components", "componentsProps", "children", "overlap", "color", "invisible", "max", "badgeContent", "slots", "slotProps", "showZero", "variant"];
23
23
  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); }
24
24
  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; }
25
25
  const RADIUS_STANDARD = 10;
@@ -175,13 +175,14 @@ const Badge = /*#__PURE__*/React.forwardRef(function Badge(inProps, ref) {
175
175
  horizontal: 'right'
176
176
  },
177
177
  className,
178
- component = 'span',
178
+ component,
179
179
  components = {},
180
180
  componentsProps = {},
181
+ children,
181
182
  overlap: overlapProp = 'rectangular',
182
183
  color: colorProp = 'default',
183
184
  invisible: invisibleProp = false,
184
- max,
185
+ max: maxProp = 99,
185
186
  badgeContent: badgeContentProp,
186
187
  slots,
187
188
  slotProps,
@@ -189,73 +190,71 @@ const Badge = /*#__PURE__*/React.forwardRef(function Badge(inProps, ref) {
189
190
  variant: variantProp = 'standard'
190
191
  } = props,
191
192
  other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
193
+ const {
194
+ badgeContent,
195
+ invisible: invisibleFromHook,
196
+ max,
197
+ displayValue: displayValueFromHook
198
+ } = (0, _useBadge.default)({
199
+ max: maxProp,
200
+ invisible: invisibleProp,
201
+ badgeContent: badgeContentProp,
202
+ showZero
203
+ });
192
204
  const prevProps = (0, _utils.usePreviousProps)({
193
205
  anchorOrigin: anchorOriginProp,
194
206
  color: colorProp,
195
207
  overlap: overlapProp,
196
- variant: variantProp
208
+ variant: variantProp,
209
+ badgeContent: badgeContentProp
197
210
  });
198
- let invisible = invisibleProp;
199
- if (invisibleProp === false && (badgeContentProp === 0 && !showZero || badgeContentProp == null && variantProp !== 'dot')) {
200
- invisible = true;
201
- }
211
+ const invisible = invisibleFromHook || badgeContent == null && variantProp !== 'dot';
202
212
  const {
203
213
  color = colorProp,
204
214
  overlap = overlapProp,
205
215
  anchorOrigin = anchorOriginProp,
206
216
  variant = variantProp
207
217
  } = invisible ? prevProps : props;
218
+ const displayValue = variant !== 'dot' ? displayValueFromHook : undefined;
208
219
  const ownerState = (0, _extends2.default)({}, props, {
209
- anchorOrigin,
220
+ badgeContent,
210
221
  invisible,
222
+ max,
223
+ displayValue,
224
+ showZero,
225
+ anchorOrigin,
211
226
  color,
212
227
  overlap,
213
228
  variant
214
229
  });
215
230
  const classes = useUtilityClasses(ownerState);
216
- let displayValue;
217
- if (variant !== 'dot') {
218
- displayValue = badgeContentProp && Number(badgeContentProp) > max ? `${max}+` : badgeContentProp;
219
- }
220
231
 
221
232
  // support both `slots` and `components` for backward compatibility
222
233
  const RootSlot = (_ref = (_slots$root = slots == null ? void 0 : slots.root) != null ? _slots$root : components.Root) != null ? _ref : BadgeRoot;
223
234
  const BadgeSlot = (_ref2 = (_slots$badge = slots == null ? void 0 : slots.badge) != null ? _slots$badge : components.Badge) != null ? _ref2 : BadgeBadge;
224
235
  const rootSlotProps = (_slotProps$root = slotProps == null ? void 0 : slotProps.root) != null ? _slotProps$root : componentsProps.root;
225
236
  const badgeSlotProps = (_slotProps$badge = slotProps == null ? void 0 : slotProps.badge) != null ? _slotProps$badge : componentsProps.badge;
226
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_BadgeUnstyled.default, (0, _extends2.default)({
227
- invisible: invisibleProp,
228
- badgeContent: displayValue,
229
- showZero: showZero,
230
- max: max
231
- }, other, {
232
- slots: {
233
- root: RootSlot,
234
- badge: BadgeSlot
235
- },
236
- className: (0, _clsx.default)(rootSlotProps == null ? void 0 : rootSlotProps.className, classes.root, className),
237
- slotProps: {
238
- root: (0, _extends2.default)({}, rootSlotProps, (0, _shouldSpreadAdditionalProps.default)(RootSlot) && {
239
- as: component,
240
- ownerState: (0, _extends2.default)({}, rootSlotProps == null ? void 0 : rootSlotProps.ownerState, {
241
- anchorOrigin,
242
- color,
243
- overlap,
244
- variant
245
- })
246
- }),
247
- badge: (0, _extends2.default)({}, badgeSlotProps, {
248
- className: (0, _clsx.default)(classes.badge, badgeSlotProps == null ? void 0 : badgeSlotProps.className)
249
- }, (0, _shouldSpreadAdditionalProps.default)(BadgeSlot) && {
250
- ownerState: (0, _extends2.default)({}, badgeSlotProps == null ? void 0 : badgeSlotProps.ownerState, {
251
- anchorOrigin,
252
- color,
253
- overlap,
254
- variant
255
- })
256
- })
237
+ const rootProps = (0, _base.useSlotProps)({
238
+ elementType: RootSlot,
239
+ externalSlotProps: rootSlotProps,
240
+ externalForwardedProps: other,
241
+ additionalProps: {
242
+ ref,
243
+ as: component
257
244
  },
258
- ref: ref
245
+ ownerState,
246
+ className: (0, _clsx.default)(rootSlotProps == null ? void 0 : rootSlotProps.className, classes.root, className)
247
+ });
248
+ const badgeProps = (0, _base.useSlotProps)({
249
+ elementType: BadgeSlot,
250
+ externalSlotProps: badgeSlotProps,
251
+ ownerState,
252
+ className: (0, _clsx.default)(classes.badge, badgeSlotProps == null ? void 0 : badgeSlotProps.className)
253
+ });
254
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(RootSlot, (0, _extends2.default)({}, rootProps, {
255
+ children: [children, /*#__PURE__*/(0, _jsxRuntime.jsx)(BadgeSlot, (0, _extends2.default)({}, badgeProps, {
256
+ children: displayValue
257
+ }))]
259
258
  }));
260
259
  });
261
260
  process.env.NODE_ENV !== "production" ? Badge.propTypes /* remove-proptypes */ = {
@@ -10,8 +10,6 @@ var _system = require("@mui/system");
10
10
  var _capitalize = _interopRequireDefault(require("../utils/capitalize"));
11
11
  var _styled = _interopRequireDefault(require("../styles/styled"));
12
12
  var _useThemeProps = _interopRequireDefault(require("../styles/useThemeProps"));
13
- /* eslint-disable material-ui/mui-name-matches-component-name */
14
-
15
13
  const Container = (0, _system.createContainer)({
16
14
  createStyledComponent: (0, _styled.default)('div', {
17
15
  name: 'MuiContainer',
@@ -4,8 +4,10 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
- var _react = require("react");
8
- const DialogContext = /*#__PURE__*/(0, _react.createContext)({});
7
+ var React = _interopRequireWildcard(require("react"));
8
+ 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); }
9
+ 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; }
10
+ const DialogContext = /*#__PURE__*/React.createContext({});
9
11
  if (process.env.NODE_ENV !== 'production') {
10
12
  DialogContext.displayName = 'DialogContext';
11
13
  }
@@ -447,7 +447,7 @@ const InputBase = /*#__PURE__*/React.forwardRef(function InputBase(inProps, ref)
447
447
  ref: ref,
448
448
  onClick: handleClick
449
449
  }, other, {
450
- className: (0, _clsx.default)(classes.root, rootProps.className, className),
450
+ className: (0, _clsx.default)(classes.root, rootProps.className, className, readOnly && 'MuiInputBase-readOnly'),
451
451
  children: [startAdornment, /*#__PURE__*/(0, _jsxRuntime.jsx)(_FormControlContext.default.Provider, {
452
452
  value: null,
453
453
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Input, (0, _extends2.default)({
@@ -474,7 +474,7 @@ const InputBase = /*#__PURE__*/React.forwardRef(function InputBase(inProps, ref)
474
474
  ownerState: (0, _extends2.default)({}, ownerState, inputProps.ownerState)
475
475
  }, {
476
476
  ref: handleInputRef,
477
- className: (0, _clsx.default)(classes.input, inputProps.className),
477
+ className: (0, _clsx.default)(classes.input, inputProps.className, readOnly && 'MuiInputBase-readOnly'),
478
478
  onBlur: handleBlur,
479
479
  onChange: handleChange,
480
480
  onFocus: handleFocus
@@ -107,7 +107,9 @@ const InputLabelRoot = (0, _styled.default)(_FormLabel.default, {
107
107
  }, ownerState.shrink && {
108
108
  userSelect: 'none',
109
109
  pointerEvents: 'auto',
110
- maxWidth: 'calc(133% - 24px)',
110
+ // Theoretically, we should have (8+5)*2/0.75 = 34px
111
+ // but it feels a better when it bleeds a bit on the left, so 32px.
112
+ maxWidth: 'calc(133% - 32px)',
111
113
  transform: 'translate(14px, -9px) scale(0.75)'
112
114
  })));
113
115
  const InputLabel = /*#__PURE__*/React.forwardRef(function InputLabel(inProps, ref) {
@@ -96,6 +96,7 @@ const ListSubheader = /*#__PURE__*/React.forwardRef(function ListSubheader(inPro
96
96
  ownerState: ownerState
97
97
  }, other));
98
98
  });
99
+ ListSubheader.muiSkipListHighlight = true;
99
100
  process.env.NODE_ENV !== "production" ? ListSubheader.propTypes /* remove-proptypes */ = {
100
101
  // ----------------------------- Warning --------------------------------
101
102
  // | These PropTypes are generated from the TypeScript type definitions |
@@ -203,6 +203,13 @@ const MenuList = /*#__PURE__*/React.forwardRef(function MenuList(props, ref) {
203
203
  activeItemIndex = index;
204
204
  }
205
205
  }
206
+ if (activeItemIndex === index && (child.props.disabled || child.props.muiSkipListHighlight || child.type.muiSkipListHighlight)) {
207
+ activeItemIndex += 1;
208
+ if (activeItemIndex >= children.length) {
209
+ // there are no focusable items within the list.
210
+ activeItemIndex = -1;
211
+ }
212
+ }
206
213
  });
207
214
  const items = React.Children.map(children, (child, index) => {
208
215
  if (index === activeItemIndex) {
@@ -9,6 +9,7 @@ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runt
9
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
10
  var React = _interopRequireWildcard(require("react"));
11
11
  var _propTypes = _interopRequireDefault(require("prop-types"));
12
+ var _clsx = _interopRequireDefault(require("clsx"));
12
13
  var _ModalUnstyled = _interopRequireWildcard(require("@mui/base/ModalUnstyled"));
13
14
  var _utils = require("@mui/base/utils");
14
15
  var _utils2 = require("@mui/utils");
@@ -16,14 +17,11 @@ var _styled = _interopRequireDefault(require("../styles/styled"));
16
17
  var _useThemeProps = _interopRequireDefault(require("../styles/useThemeProps"));
17
18
  var _Backdrop = _interopRequireDefault(require("../Backdrop"));
18
19
  var _jsxRuntime = require("react/jsx-runtime");
19
- const _excluded = ["BackdropComponent", "BackdropProps", "closeAfterTransition", "children", "component", "components", "componentsProps", "disableAutoFocus", "disableEnforceFocus", "disableEscapeKeyDown", "disablePortal", "disableRestoreFocus", "disableScrollLock", "hideBackdrop", "keepMounted", "slotProps", "slots", "theme"];
20
+ const _excluded = ["BackdropComponent", "BackdropProps", "classes", "className", "closeAfterTransition", "children", "component", "components", "componentsProps", "disableAutoFocus", "disableEnforceFocus", "disableEscapeKeyDown", "disablePortal", "disableRestoreFocus", "disableScrollLock", "hideBackdrop", "keepMounted", "slotProps", "slots", "theme"];
20
21
  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); }
21
22
  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; }
22
23
  const modalClasses = _ModalUnstyled.modalUnstyledClasses;
23
24
  exports.modalClasses = modalClasses;
24
- const extendUtilityClasses = ownerState => {
25
- return ownerState.classes;
26
- };
27
25
  const ModalRoot = (0, _styled.default)('div', {
28
26
  name: 'MuiModal',
29
27
  slot: 'Root',
@@ -78,6 +76,8 @@ const Modal = /*#__PURE__*/React.forwardRef(function Modal(inProps, ref) {
78
76
  const {
79
77
  BackdropComponent = ModalBackdrop,
80
78
  BackdropProps,
79
+ classes,
80
+ className,
81
81
  closeAfterTransition = false,
82
82
  children,
83
83
  component,
@@ -112,7 +112,6 @@ const Modal = /*#__PURE__*/React.forwardRef(function Modal(inProps, ref) {
112
112
  const ownerState = (0, _extends2.default)({}, props, commonProps, {
113
113
  exited
114
114
  });
115
- const classes = extendUtilityClasses(ownerState);
116
115
  const RootSlot = (_ref = (_slots$root = slots == null ? void 0 : slots.root) != null ? _slots$root : components.Root) != null ? _ref : ModalRoot;
117
116
  const BackdropSlot = (_ref2 = (_slots$backdrop = slots == null ? void 0 : slots.backdrop) != null ? _slots$backdrop : components.Backdrop) != null ? _ref2 : BackdropComponent;
118
117
  const rootSlotProps = (_slotProps$root = slotProps == null ? void 0 : slotProps.root) != null ? _slotProps$root : componentsProps.root;
@@ -126,15 +125,17 @@ const Modal = /*#__PURE__*/React.forwardRef(function Modal(inProps, ref) {
126
125
  root: () => (0, _extends2.default)({}, (0, _utils.resolveComponentProps)(rootSlotProps, ownerState), !(0, _utils.isHostComponent)(RootSlot) && {
127
126
  as: component,
128
127
  theme
128
+ }, {
129
+ className: (0, _clsx.default)(className, rootSlotProps == null ? void 0 : rootSlotProps.className, classes == null ? void 0 : classes.root, !ownerState.open && ownerState.exited && (classes == null ? void 0 : classes.hidden))
129
130
  }),
130
- backdrop: () => (0, _extends2.default)({}, BackdropProps, (0, _utils.resolveComponentProps)(backdropSlotProps, ownerState))
131
+ backdrop: () => (0, _extends2.default)({}, BackdropProps, (0, _utils.resolveComponentProps)(backdropSlotProps, ownerState), {
132
+ className: (0, _clsx.default)(backdropSlotProps == null ? void 0 : backdropSlotProps.className, classes == null ? void 0 : classes.backdrop)
133
+ })
131
134
  },
132
135
  onTransitionEnter: () => setExited(false),
133
136
  onTransitionExited: () => setExited(true),
134
137
  ref: ref
135
- }, other, {
136
- classes: classes
137
- }, commonProps, {
138
+ }, other, commonProps, {
138
139
  children: children
139
140
  }));
140
141
  });
@@ -171,6 +172,10 @@ process.env.NODE_ENV !== "production" ? Modal.propTypes /* remove-proptypes */ =
171
172
  * Override or extend the styles applied to the component.
172
173
  */
173
174
  classes: _propTypes.default.object,
175
+ /**
176
+ * @ignore
177
+ */
178
+ className: _propTypes.default.string,
174
179
  /**
175
180
  * When set to true the Modal waits until a nested Transition is completed before closing.
176
181
  * @default false
@@ -171,7 +171,7 @@ const OutlinedInput = /*#__PURE__*/React.forwardRef(function OutlinedInput(inPro
171
171
  ownerState: ownerState,
172
172
  className: classes.notchedOutline,
173
173
  label: label != null && label !== '' && fcs.required ? _React$Fragment || (_React$Fragment = /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
174
- children: [label, "\xA0", '*']
174
+ children: [label, "\u2009", '*']
175
175
  })) : label,
176
176
  notched: typeof notched !== 'undefined' ? notched : Boolean(state.startAdornment || state.filled || state.focused)
177
177
  }),
@@ -54,7 +54,7 @@ const useUtilityClasses = ownerState => {
54
54
  focusVisible
55
55
  } = ownerState;
56
56
  const slots = {
57
- root: ['root', `size${(0, _utils2.capitalize)(size)}`, disabled && 'disabled', focusVisible && 'focusVisible', readOnly && 'readyOnly'],
57
+ root: ['root', `size${(0, _utils2.capitalize)(size)}`, disabled && 'disabled', focusVisible && 'focusVisible', readOnly && 'readOnly'],
58
58
  label: ['label', 'pristine'],
59
59
  labelEmptyValue: [emptyValueFocused && 'labelEmptyValueActive'],
60
60
  icon: ['icon'],
@@ -452,7 +452,7 @@ const Rating = /*#__PURE__*/React.forwardRef(function Rating(inProps, ref) {
452
452
  ref: handleRef,
453
453
  onMouseMove: handleMouseMove,
454
454
  onMouseLeave: handleMouseLeave,
455
- className: (0, _clsx.default)(classes.root, className),
455
+ className: (0, _clsx.default)(classes.root, className, readOnly && 'MuiRating-readOnly'),
456
456
  ownerState: ownerState,
457
457
  role: readOnly ? 'img' : null,
458
458
  "aria-label": readOnly ? getLabelText(value) : null
@@ -336,8 +336,7 @@ const SelectInput = /*#__PURE__*/React.forwardRef(function SelectInput(props, re
336
336
  computeDisplay = true;
337
337
  }
338
338
  }
339
- const items = childrenArray.map((child, index, arr) => {
340
- var _arr$, _arr$$props, _arr$2, _arr$2$props;
339
+ const items = childrenArray.map(child => {
341
340
  if (! /*#__PURE__*/React.isValidElement(child)) {
342
341
  return null;
343
342
  }
@@ -364,25 +363,6 @@ const SelectInput = /*#__PURE__*/React.forwardRef(function SelectInput(props, re
364
363
  if (selected) {
365
364
  foundMatch = true;
366
365
  }
367
- if (child.props.value === undefined) {
368
- return /*#__PURE__*/React.cloneElement(child, {
369
- 'aria-readonly': true,
370
- role: 'option'
371
- });
372
- }
373
- const isFirstSelectableElement = () => {
374
- if (value) {
375
- return selected;
376
- }
377
- const firstSelectableElement = arr.find(item => {
378
- var _item$props;
379
- return (item == null ? void 0 : (_item$props = item.props) == null ? void 0 : _item$props.value) !== undefined && item.props.disabled !== true;
380
- });
381
- if (child === firstSelectableElement) {
382
- return true;
383
- }
384
- return selected;
385
- };
386
366
  return /*#__PURE__*/React.cloneElement(child, {
387
367
  'aria-selected': selected ? 'true' : 'false',
388
368
  onClick: handleItemClick(child),
@@ -398,7 +378,7 @@ const SelectInput = /*#__PURE__*/React.forwardRef(function SelectInput(props, re
398
378
  }
399
379
  },
400
380
  role: 'option',
401
- selected: ((_arr$ = arr[0]) == null ? void 0 : (_arr$$props = _arr$.props) == null ? void 0 : _arr$$props.value) === undefined || ((_arr$2 = arr[0]) == null ? void 0 : (_arr$2$props = _arr$2.props) == null ? void 0 : _arr$2$props.disabled) === true ? isFirstSelectableElement() : selected,
381
+ selected,
402
382
  value: undefined,
403
383
  // The value is most likely not a valid HTML attribute.
404
384
  'data-value': child.props.value // Instead, we provide it as a data attribute.
@@ -12,7 +12,7 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
12
12
  var _clsx = _interopRequireDefault(require("clsx"));
13
13
  var _utils = require("@mui/utils");
14
14
  var _base = require("@mui/base");
15
- var _SliderUnstyled = require("@mui/base/SliderUnstyled");
15
+ var _useSlider = _interopRequireWildcard(require("@mui/base/useSlider"));
16
16
  var _system = require("@mui/system");
17
17
  var _useThemeProps = _interopRequireDefault(require("../styles/useThemeProps"));
18
18
  var _styled = _interopRequireWildcard(require("../styles/styled"));
@@ -25,7 +25,6 @@ var _jsxRuntime = require("react/jsx-runtime");
25
25
  const _excluded = ["aria-label", "aria-valuetext", "aria-labelledby", "component", "components", "componentsProps", "color", "classes", "className", "disableSwap", "disabled", "getAriaLabel", "getAriaValueText", "marks", "max", "min", "name", "onChange", "onChangeCommitted", "orientation", "size", "step", "scale", "slotProps", "slots", "tabIndex", "track", "value", "valueLabelDisplay", "valueLabelFormat"];
26
26
  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); }
27
27
  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; }
28
- const valueToPercent = (value, min, max) => (value - min) * 100 / (max - min);
29
28
  function Identity(x) {
30
29
  return x;
31
30
  }
@@ -466,7 +465,6 @@ const Slider = /*#__PURE__*/React.forwardRef(function Slider(inputProps, ref) {
466
465
  componentsProps = {},
467
466
  color = 'primary',
468
467
  classes: classesProp,
469
- // eslint-disable-next-line react/prop-types
470
468
  className,
471
469
  disableSwap = false,
472
470
  disabled = false,
@@ -518,7 +516,7 @@ const Slider = /*#__PURE__*/React.forwardRef(function Slider(inputProps, ref) {
518
516
  values,
519
517
  trackOffset,
520
518
  trackLeap
521
- } = (0, _SliderUnstyled.useSlider)((0, _extends2.default)({}, ownerState, {
519
+ } = (0, _useSlider.default)((0, _extends2.default)({}, ownerState, {
522
520
  ref
523
521
  }));
524
522
  ownerState.marked = marks.length > 0 && marks.some(mark => mark.label);
@@ -573,7 +571,8 @@ const Slider = /*#__PURE__*/React.forwardRef(function Slider(inputProps, ref) {
573
571
  elementType: ThumbSlot,
574
572
  getSlotProps: getThumbProps,
575
573
  externalSlotProps: thumbSlotProps,
576
- ownerState: (0, _extends2.default)({}, ownerState, thumbSlotProps == null ? void 0 : thumbSlotProps.ownerState)
574
+ ownerState: (0, _extends2.default)({}, ownerState, thumbSlotProps == null ? void 0 : thumbSlotProps.ownerState),
575
+ className: classes.thumb
577
576
  });
578
577
  const valueLabelProps = (0, _base.useSlotProps)({
579
578
  elementType: ValueLabelSlot,
@@ -590,7 +589,8 @@ const Slider = /*#__PURE__*/React.forwardRef(function Slider(inputProps, ref) {
590
589
  const markLabelProps = (0, _base.useSlotProps)({
591
590
  elementType: MarkLabelSlot,
592
591
  externalSlotProps: markLabelSlotProps,
593
- ownerState
592
+ ownerState,
593
+ className: classes.markLabel
594
594
  });
595
595
  const inputSliderProps = (0, _base.useSlotProps)({
596
596
  elementType: InputSlot,
@@ -600,7 +600,7 @@ const Slider = /*#__PURE__*/React.forwardRef(function Slider(inputProps, ref) {
600
600
  });
601
601
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(RootSlot, (0, _extends2.default)({}, rootProps, {
602
602
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(RailSlot, (0, _extends2.default)({}, railProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(TrackSlot, (0, _extends2.default)({}, trackProps)), marks.filter(mark => mark.value >= min && mark.value <= max).map((mark, index) => {
603
- const percent = valueToPercent(mark.value, min, max);
603
+ const percent = (0, _useSlider.valueToPercent)(mark.value, min, max);
604
604
  const style = axisProps[axis].offset(percent);
605
605
  let markActive;
606
606
  if (track === false) {
@@ -628,11 +628,13 @@ const Slider = /*#__PURE__*/React.forwardRef(function Slider(inputProps, ref) {
628
628
  })) : null]
629
629
  }, index);
630
630
  }), values.map((value, index) => {
631
- const percent = valueToPercent(value, min, max);
631
+ const percent = (0, _useSlider.valueToPercent)(value, min, max);
632
632
  const style = axisProps[axis].offset(percent);
633
633
  const ValueLabelComponent = valueLabelDisplay === 'off' ? Forward : ValueLabelSlot;
634
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(React.Fragment, {
635
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(ValueLabelComponent, (0, _extends2.default)({}, !(0, _base.isHostComponent)(ValueLabelComponent) && {
634
+ return (
635
+ /*#__PURE__*/
636
+ /* 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. */
637
+ (0, _jsxRuntime.jsx)(ValueLabelComponent, (0, _extends2.default)({}, !(0, _base.isHostComponent)(ValueLabelComponent) && {
636
638
  valueLabelFormat,
637
639
  valueLabelDisplay,
638
640
  value: typeof valueLabelFormat === 'function' ? valueLabelFormat(scale(value), index) : valueLabelFormat,
@@ -641,8 +643,7 @@ const Slider = /*#__PURE__*/React.forwardRef(function Slider(inputProps, ref) {
641
643
  disabled
642
644
  }, valueLabelProps, {
643
645
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(ThumbSlot, (0, _extends2.default)({
644
- "data-index": index,
645
- "data-focusvisible": focusedThumbIndex === index
646
+ "data-index": index
646
647
  }, thumbProps, {
647
648
  className: (0, _clsx.default)(classes.thumb, thumbProps.className, active === index && classes.active, focusedThumbIndex === index && classes.focusVisible),
648
649
  style: (0, _extends2.default)({}, style, {
@@ -657,8 +658,8 @@ const Slider = /*#__PURE__*/React.forwardRef(function Slider(inputProps, ref) {
657
658
  value: values[index]
658
659
  }, inputSliderProps))
659
660
  }))
660
- }))
661
- }, index);
661
+ }), index)
662
+ );
662
663
  })]
663
664
  }));
664
665
  });
@@ -699,6 +700,10 @@ process.env.NODE_ENV !== "production" ? Slider.propTypes /* remove-proptypes */
699
700
  * Override or extend the styles applied to the component.
700
701
  */
701
702
  classes: _propTypes.default.object,
703
+ /**
704
+ * @ignore
705
+ */
706
+ className: _propTypes.default.string,
702
707
  /**
703
708
  * The color of the component.
704
709
  * It supports both default and custom theme colors, which can be added as shown in the