@mui/material 5.13.2 → 5.13.4

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 (198) hide show
  1. package/Accordion/accordionClasses.d.ts +18 -18
  2. package/AccordionActions/accordionActionsClasses.d.ts +10 -10
  3. package/AccordionDetails/accordionDetailsClasses.d.ts +8 -8
  4. package/AccordionSummary/accordionSummaryClasses.d.ts +22 -22
  5. package/Alert/alertClasses.d.ts +44 -44
  6. package/AlertTitle/alertTitleClasses.d.ts +8 -8
  7. package/AppBar/appBarClasses.d.ts +28 -28
  8. package/Autocomplete/Autocomplete.d.ts +1 -0
  9. package/Autocomplete/Autocomplete.js +14 -2
  10. package/Autocomplete/autocompleteClasses.d.ts +58 -56
  11. package/Avatar/avatarClasses.d.ts +20 -20
  12. package/AvatarGroup/avatarGroupClasses.d.ts +10 -10
  13. package/Backdrop/backdropClasses.d.ts +10 -10
  14. package/Badge/badgeClasses.d.ts +56 -56
  15. package/BottomNavigation/BottomNavigation.js +0 -0
  16. package/BottomNavigation/bottomNavigationClasses.d.ts +8 -8
  17. package/BottomNavigationAction/bottomNavigationActionClasses.d.ts +14 -14
  18. package/Breadcrumbs/breadcrumbsClasses.d.ts +14 -14
  19. package/Button/buttonClasses.d.ts +100 -100
  20. package/ButtonBase/buttonBaseClasses.d.ts +12 -12
  21. package/ButtonBase/touchRippleClasses.d.ts +20 -20
  22. package/ButtonGroup/ButtonGroupContext.d.ts +18 -18
  23. package/ButtonGroup/buttonGroupClasses.d.ts +58 -58
  24. package/CHANGELOG.md +97 -0
  25. package/Card/cardClasses.d.ts +8 -8
  26. package/CardActionArea/cardActionAreaClasses.d.ts +12 -12
  27. package/CardActions/cardActionsClasses.d.ts +10 -10
  28. package/CardContent/cardContentClasses.d.ts +8 -8
  29. package/CardHeader/cardHeaderClasses.d.ts +18 -18
  30. package/CardMedia/cardMediaClasses.d.ts +12 -12
  31. package/Checkbox/checkboxClasses.d.ts +18 -18
  32. package/Chip/chipClasses.d.ts +96 -96
  33. package/CircularProgress/circularProgressClasses.d.ts +26 -26
  34. package/ClickAwayListener/index.d.ts +2 -2
  35. package/Collapse/collapseClasses.d.ts +18 -18
  36. package/Container/containerClasses.d.ts +6 -6
  37. package/Dialog/DialogContext.d.ts +6 -6
  38. package/Dialog/dialogClasses.d.ts +36 -36
  39. package/DialogActions/dialogActionsClasses.d.ts +10 -10
  40. package/DialogContent/dialogContentClasses.d.ts +10 -10
  41. package/DialogContentText/dialogContentTextClasses.d.ts +8 -8
  42. package/DialogTitle/dialogTitleClasses.d.ts +8 -8
  43. package/Divider/dividerClasses.d.ts +34 -34
  44. package/Drawer/drawerClasses.d.ts +30 -30
  45. package/Fab/fabClasses.d.ts +26 -26
  46. package/FilledInput/filledInputClasses.d.ts +42 -42
  47. package/FormControl/FormControlContext.d.ts +17 -17
  48. package/FormControl/formControlClasses.d.ts +14 -14
  49. package/FormControl/useFormControl.d.ts +2 -2
  50. package/FormControlLabel/formControlLabelClasses.d.ts +24 -24
  51. package/FormGroup/formGroupClasses.d.ts +12 -12
  52. package/FormHelperText/formHelperTextClasses.d.ts +22 -22
  53. package/FormLabel/formLabelClasses.d.ts +22 -22
  54. package/Grid/gridClasses.d.ts +48 -48
  55. package/Hidden/Hidden.js +10 -10
  56. package/Hidden/withWidth.js +1 -1
  57. package/Icon/iconClasses.d.ts +24 -24
  58. package/IconButton/iconButtonClasses.d.ts +34 -34
  59. package/ImageList/imageListClasses.d.ts +16 -16
  60. package/ImageListItem/imageListItemClasses.d.ts +18 -18
  61. package/ImageListItemBar/imageListItemBarClasses.d.ts +30 -30
  62. package/Input/inputClasses.d.ts +38 -38
  63. package/InputAdornment/inputAdornmentClasses.d.ts +24 -24
  64. package/InputBase/inputBaseClasses.d.ts +46 -46
  65. package/InputLabel/inputLabelClasses.d.ts +32 -32
  66. package/LinearProgress/linearProgressClasses.d.ts +42 -42
  67. package/Link/getTextDecoration.d.ts +15 -15
  68. package/Link/linkClasses.d.ts +18 -18
  69. package/List/listClasses.d.ts +14 -14
  70. package/ListItem/listItemClasses.d.ts +30 -30
  71. package/ListItemAvatar/listItemAvatarClasses.d.ts +10 -10
  72. package/ListItemButton/listItemButtonClasses.d.ts +22 -22
  73. package/ListItemIcon/listItemIconClasses.d.ts +10 -10
  74. package/ListItemSecondaryAction/listItemSecondaryActionClasses.d.ts +10 -10
  75. package/ListItemText/listItemTextClasses.d.ts +18 -18
  76. package/ListSubheader/listSubheaderClasses.d.ts +18 -18
  77. package/Menu/Menu.d.ts +3 -0
  78. package/Menu/Menu.js +11 -9
  79. package/Menu/menuClasses.d.ts +12 -12
  80. package/MenuItem/menuItemClasses.d.ts +20 -20
  81. package/MenuList/MenuList.js +7 -0
  82. package/MobileStepper/MobileStepper.js +9 -1
  83. package/MobileStepper/mobileStepperClasses.d.ts +22 -22
  84. package/Modal/Modal.js +1 -1
  85. package/NativeSelect/nativeSelectClasses.d.ts +34 -34
  86. package/OutlinedInput/outlinedInputClasses.d.ts +38 -38
  87. package/Pagination/paginationClasses.d.ts +14 -14
  88. package/PaginationItem/paginationItemClasses.d.ts +42 -42
  89. package/Paper/paperClasses.d.ts +39 -39
  90. package/Popover/Popover.d.ts +34 -3
  91. package/Popover/Popover.js +76 -28
  92. package/Popover/popoverClasses.d.ts +10 -10
  93. package/Popper/Popper.d.ts +65 -65
  94. package/Radio/radioClasses.d.ts +16 -16
  95. package/RadioGroup/RadioGroupContext.d.ts +11 -11
  96. package/RadioGroup/useRadioGroup.d.ts +4 -4
  97. package/Rating/ratingClasses.d.ts +40 -40
  98. package/ScopedCssBaseline/scopedCssBaselineClasses.d.ts +8 -8
  99. package/Select/selectClasses.d.ts +32 -32
  100. package/Skeleton/skeletonClasses.d.ts +26 -26
  101. package/Slider/SliderValueLabel.d.ts +15 -15
  102. package/Slider/SliderValueLabel.types.d.ts +24 -24
  103. package/Slider/sliderClasses.d.ts +58 -58
  104. package/Snackbar/snackbarClasses.d.ts +20 -20
  105. package/SnackbarContent/snackbarContentClasses.d.ts +12 -12
  106. package/SpeedDial/speedDialClasses.d.ts +22 -22
  107. package/SpeedDialAction/speedDialActionClasses.d.ts +20 -20
  108. package/SpeedDialIcon/speedDialIconClasses.d.ts +18 -18
  109. package/Stack/stackClasses.d.ts +6 -6
  110. package/Step/StepContext.d.ts +20 -20
  111. package/Step/stepClasses.d.ts +16 -16
  112. package/StepButton/stepButtonClasses.d.ts +14 -14
  113. package/StepConnector/stepConnectorClasses.d.ts +26 -26
  114. package/StepContent/stepContentClasses.d.ts +12 -12
  115. package/StepIcon/stepIconClasses.d.ts +16 -16
  116. package/StepLabel/stepLabelClasses.d.ts +28 -28
  117. package/Stepper/StepperContext.d.ts +18 -18
  118. package/Stepper/stepperClasses.d.ts +14 -14
  119. package/SvgIcon/svgIconClasses.d.ts +26 -26
  120. package/Switch/switchClasses.d.ts +32 -32
  121. package/Tab/tabClasses.d.ts +26 -26
  122. package/TabScrollButton/tabScrollButtonClasses.d.ts +12 -12
  123. package/Table/tableClasses.d.ts +10 -10
  124. package/TableBody/tableBodyClasses.d.ts +8 -8
  125. package/TableCell/tableCellClasses.d.ts +32 -32
  126. package/TableContainer/tableContainerClasses.d.ts +8 -8
  127. package/TableFooter/tableFooterClasses.d.ts +8 -8
  128. package/TableHead/tableHeadClasses.d.ts +8 -8
  129. package/TablePagination/tablePaginationClasses.d.ts +28 -28
  130. package/TableRow/tableRowClasses.d.ts +16 -16
  131. package/TableSortLabel/tableSortLabelClasses.d.ts +16 -16
  132. package/Tabs/tabsClasses.d.ts +32 -32
  133. package/TextField/textFieldClasses.d.ts +8 -8
  134. package/ToggleButton/toggleButtonClasses.d.ts +24 -24
  135. package/ToggleButtonGroup/toggleButtonGroupClasses.d.ts +18 -18
  136. package/Toolbar/toolbarClasses.d.ts +14 -14
  137. package/Tooltip/tooltipClasses.d.ts +30 -30
  138. package/Typography/typographyClasses.d.ts +50 -50
  139. package/Unstable_Grid2/Grid2.d.ts +4 -4
  140. package/Unstable_Grid2/Grid2Props.d.ts +15 -15
  141. package/Unstable_Grid2/grid2Classes.d.ts +5 -5
  142. package/Unstable_Grid2/index.d.ts +4 -4
  143. package/className/index.d.ts +1 -1
  144. package/darkScrollbar/index.d.ts +28 -28
  145. package/generateUtilityClass/index.d.ts +2 -2
  146. package/generateUtilityClasses/index.d.ts +1 -1
  147. package/index.js +1 -1
  148. package/internal/switchBaseClasses.d.ts +12 -12
  149. package/legacy/Autocomplete/Autocomplete.js +12 -2
  150. package/legacy/BottomNavigation/BottomNavigation.js +0 -0
  151. package/legacy/Hidden/Hidden.js +10 -10
  152. package/legacy/Hidden/withWidth.js +1 -1
  153. package/legacy/Menu/Menu.js +11 -9
  154. package/legacy/MenuList/MenuList.js +7 -0
  155. package/legacy/MobileStepper/MobileStepper.js +9 -1
  156. package/legacy/Modal/Modal.js +1 -1
  157. package/legacy/Popover/Popover.js +73 -28
  158. package/legacy/index.js +1 -1
  159. package/locale/index.d.ts +80 -80
  160. package/modern/Autocomplete/Autocomplete.js +14 -2
  161. package/modern/BottomNavigation/BottomNavigation.js +0 -0
  162. package/modern/Hidden/Hidden.js +10 -10
  163. package/modern/Hidden/withWidth.js +1 -1
  164. package/modern/Menu/Menu.js +11 -9
  165. package/modern/MenuList/MenuList.js +7 -0
  166. package/modern/MobileStepper/MobileStepper.js +9 -1
  167. package/modern/Modal/Modal.js +1 -1
  168. package/modern/Popover/Popover.js +75 -28
  169. package/modern/index.js +1 -1
  170. package/node/Autocomplete/Autocomplete.js +14 -2
  171. package/node/BottomNavigation/BottomNavigation.js +0 -0
  172. package/node/Hidden/Hidden.js +10 -10
  173. package/node/Hidden/withWidth.js +1 -1
  174. package/node/Menu/Menu.js +13 -10
  175. package/node/MenuList/MenuList.js +7 -0
  176. package/node/MobileStepper/MobileStepper.js +9 -1
  177. package/node/Modal/Modal.js +1 -1
  178. package/node/Popover/Popover.js +75 -25
  179. package/node/index.js +1 -1
  180. package/package.json +3 -3
  181. package/styles/CssVarsProvider.d.ts +20 -20
  182. package/styles/excludeVariablesFromRoot.d.ts +5 -5
  183. package/styles/getOverlayAlpha.d.ts +2 -2
  184. package/styles/identifier.d.ts +2 -2
  185. package/styles/shouldSkipGeneratingVar.d.ts +1 -1
  186. package/transitions/index.d.ts +1 -1
  187. package/transitions/transition.d.ts +13 -13
  188. package/transitions/utils.d.ts +23 -23
  189. package/types/OverridableComponentAugmentation.d.ts +31 -31
  190. package/umd/material-ui.development.js +140 -243
  191. package/umd/material-ui.production.min.js +16 -16
  192. package/useMediaQuery/useMediaQuery.d.ts +46 -46
  193. package/useTouchRipple/index.d.ts +1 -1
  194. package/useTouchRipple/useTouchRipple.d.ts +28 -28
  195. package/utils/getScrollbarSize.d.ts +2 -2
  196. package/utils/ownerDocument.d.ts +2 -2
  197. package/utils/ownerWindow.d.ts +2 -2
  198. package/utils/setRef.d.ts +2 -2
@@ -19,7 +19,7 @@ export var isWidthUp = function isWidthUp(breakpoint, width) {
19
19
  return breakpointKeys.indexOf(breakpoint) < breakpointKeys.indexOf(width);
20
20
  };
21
21
 
22
- // By default, returns true if screen width is the same or less than the given breakpoint.
22
+ // By default, returns true if screen width is less than the given breakpoint.
23
23
  export var isWidthDown = function isWidthDown(breakpoint, width) {
24
24
  var inclusive = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
25
25
  if (inclusive) {
@@ -7,8 +7,7 @@ import clsx from 'clsx';
7
7
  import { unstable_composeClasses as composeClasses } from '@mui/base';
8
8
  import { HTMLElementType } from '@mui/utils';
9
9
  import MenuList from '../MenuList';
10
- import Paper from '../Paper';
11
- import Popover from '../Popover';
10
+ import Popover, { PopoverPaper } from '../Popover';
12
11
  import styled, { rootShouldForwardProp } from '../styles/styled';
13
12
  import useTheme from '../styles/useTheme';
14
13
  import useThemeProps from '../styles/useThemeProps';
@@ -41,7 +40,7 @@ var MenuRoot = styled(Popover, {
41
40
  return styles.root;
42
41
  }
43
42
  })({});
44
- var MenuPaper = styled(Paper, {
43
+ export var MenuPaper = styled(PopoverPaper, {
45
44
  name: 'MuiMenu',
46
45
  slot: 'Paper',
47
46
  overridesResolver: function overridesResolver(props, styles) {
@@ -156,13 +155,16 @@ var Menu = /*#__PURE__*/React.forwardRef(function Menu(inProps, ref) {
156
155
  horizontal: isRtl ? 'right' : 'left'
157
156
  },
158
157
  transformOrigin: isRtl ? RTL_ORIGIN : LTR_ORIGIN,
159
- PaperProps: _extends({
160
- as: MenuPaper
161
- }, PaperProps, {
162
- classes: _extends({}, PaperProps.classes, {
163
- root: classes.paper
158
+ slots: {
159
+ paper: MenuPaper
160
+ },
161
+ slotProps: {
162
+ paper: _extends({}, PaperProps, {
163
+ classes: _extends({}, PaperProps.classes, {
164
+ root: classes.paper
165
+ })
164
166
  })
165
- }),
167
+ },
166
168
  className: classes.root,
167
169
  open: open,
168
170
  ref: ref,
@@ -182,6 +182,13 @@ var MenuList = /*#__PURE__*/React.forwardRef(function MenuList(props, ref) {
182
182
  // item and use the first valid item as a fallback
183
183
  React.Children.forEach(children, function (child, index) {
184
184
  if (! /*#__PURE__*/React.isValidElement(child)) {
185
+ if (activeItemIndex === index) {
186
+ activeItemIndex += 1;
187
+ if (activeItemIndex >= children.length) {
188
+ // there are no focusable items within the list.
189
+ activeItemIndex = -1;
190
+ }
191
+ }
185
192
  return;
186
193
  }
187
194
  if (process.env.NODE_ENV !== 'production') {
@@ -131,6 +131,14 @@ var MobileStepper = /*#__PURE__*/React.forwardRef(function MobileStepper(inProps
131
131
  position: position,
132
132
  variant: variant
133
133
  });
134
+ var value;
135
+ if (variant === 'progress') {
136
+ if (steps === 1) {
137
+ value = 100;
138
+ } else {
139
+ value = Math.ceil(activeStep / (steps - 1) * 100);
140
+ }
141
+ }
134
142
  var classes = useUtilityClasses(ownerState);
135
143
  return /*#__PURE__*/_jsxs(MobileStepperRoot, _extends({
136
144
  square: true,
@@ -155,7 +163,7 @@ var MobileStepper = /*#__PURE__*/React.forwardRef(function MobileStepper(inProps
155
163
  ownerState: ownerState,
156
164
  className: classes.progress,
157
165
  variant: "determinate",
158
- value: Math.ceil(activeStep / (steps - 1) * 100)
166
+ value: value
159
167
  }, LinearProgressProps)), nextButton]
160
168
  }));
161
169
  });
@@ -139,7 +139,7 @@ var Modal = /*#__PURE__*/React.forwardRef(function Modal(inProps, ref) {
139
139
  },
140
140
  backdrop: function backdrop() {
141
141
  return _extends({}, BackdropProps, resolveComponentProps(backdropSlotProps, ownerState), {
142
- className: clsx(backdropSlotProps == null ? void 0 : backdropSlotProps.className, classes == null ? void 0 : classes.backdrop)
142
+ className: clsx(backdropSlotProps == null ? void 0 : backdropSlotProps.className, BackdropProps == null ? void 0 : BackdropProps.className, classes == null ? void 0 : classes.backdrop)
143
143
  });
144
144
  }
145
145
  },
@@ -3,7 +3,7 @@ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutPr
3
3
  import * as React from 'react';
4
4
  import PropTypes from 'prop-types';
5
5
  import clsx from 'clsx';
6
- import { unstable_composeClasses as composeClasses } from '@mui/base';
6
+ import { unstable_composeClasses as composeClasses, useSlotProps, isHostComponent } from '@mui/base';
7
7
  import { chainPropTypes, integerPropType, elementTypeAcceptingRef, refType, HTMLElementType } from '@mui/utils';
8
8
  import styled from '../styles/styled';
9
9
  import useThemeProps from '../styles/useThemeProps';
@@ -13,7 +13,7 @@ import ownerWindow from '../utils/ownerWindow';
13
13
  import useForkRef from '../utils/useForkRef';
14
14
  import Grow from '../Grow';
15
15
  import Modal from '../Modal';
16
- import Paper from '../Paper';
16
+ import PaperBase from '../Paper';
17
17
  import { getPopoverUtilityClass } from './popoverClasses';
18
18
  import { jsx as _jsx } from "react/jsx-runtime";
19
19
  export function getOffsetTop(rect, vertical) {
@@ -54,14 +54,14 @@ var useUtilityClasses = function useUtilityClasses(ownerState) {
54
54
  };
55
55
  return composeClasses(slots, getPopoverUtilityClass, classes);
56
56
  };
57
- var PopoverRoot = styled(Modal, {
57
+ export var PopoverRoot = styled(Modal, {
58
58
  name: 'MuiPopover',
59
59
  slot: 'Root',
60
60
  overridesResolver: function overridesResolver(props, styles) {
61
61
  return styles.root;
62
62
  }
63
63
  })({});
64
- var PopoverPaper = styled(Paper, {
64
+ export var PopoverPaper = styled(PaperBase, {
65
65
  name: 'MuiPopover',
66
66
  slot: 'Paper',
67
67
  overridesResolver: function overridesResolver(props, styles) {
@@ -81,6 +81,7 @@ var PopoverPaper = styled(Paper, {
81
81
  outline: 0
82
82
  });
83
83
  var Popover = /*#__PURE__*/React.forwardRef(function Popover(inProps, ref) {
84
+ var _slotProps$paper, _slots$root, _slots$paper;
84
85
  var props = useThemeProps({
85
86
  props: inProps,
86
87
  name: 'MuiPopover'
@@ -104,7 +105,9 @@ var Popover = /*#__PURE__*/React.forwardRef(function Popover(inProps, ref) {
104
105
  marginThreshold = _props$marginThreshol === void 0 ? 16 : _props$marginThreshol,
105
106
  open = props.open,
106
107
  _props$PaperProps = props.PaperProps,
107
- PaperProps = _props$PaperProps === void 0 ? {} : _props$PaperProps,
108
+ PaperPropsProp = _props$PaperProps === void 0 ? {} : _props$PaperProps,
109
+ slots = props.slots,
110
+ slotProps = props.slotProps,
108
111
  _props$transformOrigi = props.transformOrigin,
109
112
  transformOrigin = _props$transformOrigi === void 0 ? {
110
113
  vertical: 'top',
@@ -118,15 +121,16 @@ var Popover = /*#__PURE__*/React.forwardRef(function Popover(inProps, ref) {
118
121
  _props$TransitionProp2 = _props$TransitionProp === void 0 ? {} : _props$TransitionProp,
119
122
  onEntering = _props$TransitionProp2.onEntering,
120
123
  TransitionProps = _objectWithoutProperties(_props$TransitionProp2, ["onEntering"]),
121
- other = _objectWithoutProperties(props, ["action", "anchorEl", "anchorOrigin", "anchorPosition", "anchorReference", "children", "className", "container", "elevation", "marginThreshold", "open", "PaperProps", "transformOrigin", "TransitionComponent", "transitionDuration", "TransitionProps"]);
124
+ other = _objectWithoutProperties(props, ["action", "anchorEl", "anchorOrigin", "anchorPosition", "anchorReference", "children", "className", "container", "elevation", "marginThreshold", "open", "PaperProps", "slots", "slotProps", "transformOrigin", "TransitionComponent", "transitionDuration", "TransitionProps"]);
125
+ var externalPaperSlotProps = (_slotProps$paper = slotProps == null ? void 0 : slotProps.paper) != null ? _slotProps$paper : PaperPropsProp;
122
126
  var paperRef = React.useRef();
123
- var handlePaperRef = useForkRef(paperRef, PaperProps.ref);
127
+ var handlePaperRef = useForkRef(paperRef, externalPaperSlotProps.ref);
124
128
  var ownerState = _extends({}, props, {
125
129
  anchorOrigin: anchorOrigin,
126
130
  anchorReference: anchorReference,
127
131
  elevation: elevation,
128
132
  marginThreshold: marginThreshold,
129
- PaperProps: PaperProps,
133
+ externalPaperSlotProps: externalPaperSlotProps,
130
134
  transformOrigin: transformOrigin,
131
135
  TransitionComponent: TransitionComponent,
132
136
  transitionDuration: transitionDurationProp,
@@ -295,16 +299,44 @@ var Popover = /*#__PURE__*/React.forwardRef(function Popover(inProps, ref) {
295
299
  // If the anchorEl prop is provided, use its parent body element as the container
296
300
  // If neither are provided let the Modal take care of choosing the container
297
301
  var container = containerProp || (anchorEl ? ownerDocument(resolveAnchorEl(anchorEl)).body : undefined);
298
- return /*#__PURE__*/_jsx(PopoverRoot, _extends({
299
- BackdropProps: {
300
- invisible: true
302
+ var RootSlot = (_slots$root = slots == null ? void 0 : slots.root) != null ? _slots$root : PopoverRoot;
303
+ var PaperSlot = (_slots$paper = slots == null ? void 0 : slots.paper) != null ? _slots$paper : PopoverPaper;
304
+ var paperProps = useSlotProps({
305
+ elementType: PaperSlot,
306
+ externalSlotProps: _extends({}, externalPaperSlotProps, {
307
+ style: isPositioned ? externalPaperSlotProps.style : _extends({}, externalPaperSlotProps.style, {
308
+ opacity: 0
309
+ })
310
+ }),
311
+ additionalProps: {
312
+ elevation: elevation,
313
+ ref: handlePaperRef
301
314
  },
302
- className: clsx(classes.root, className),
303
- container: container,
304
- open: open,
305
- ref: ref,
306
- ownerState: ownerState
307
- }, other, {
315
+ ownerState: ownerState,
316
+ className: clsx(classes.paper, externalPaperSlotProps == null ? void 0 : externalPaperSlotProps.className)
317
+ });
318
+ var _useSlotProps = useSlotProps({
319
+ elementType: RootSlot,
320
+ externalSlotProps: (slotProps == null ? void 0 : slotProps.root) || {},
321
+ externalForwardedProps: other,
322
+ additionalProps: {
323
+ ref: ref,
324
+ slotProps: {
325
+ backdrop: {
326
+ invisible: true
327
+ }
328
+ },
329
+ container: container,
330
+ open: open
331
+ },
332
+ ownerState: ownerState,
333
+ className: clsx(classes.root, className)
334
+ }),
335
+ rootSlotPropsProp = _useSlotProps.slotProps,
336
+ rootProps = _objectWithoutProperties(_useSlotProps, ["slotProps"]);
337
+ return /*#__PURE__*/_jsx(RootSlot, _extends({}, rootProps, !isHostComponent(RootSlot) && {
338
+ slotProps: rootSlotPropsProp
339
+ }, {
308
340
  children: /*#__PURE__*/_jsx(TransitionComponent, _extends({
309
341
  appear: true,
310
342
  in: open,
@@ -312,17 +344,7 @@ var Popover = /*#__PURE__*/React.forwardRef(function Popover(inProps, ref) {
312
344
  onExited: handleExited,
313
345
  timeout: transitionDuration
314
346
  }, TransitionProps, {
315
- children: /*#__PURE__*/_jsx(PopoverPaper, _extends({
316
- elevation: elevation
317
- }, PaperProps, {
318
- ref: handlePaperRef,
319
- className: clsx(classes.paper, PaperProps.className)
320
- }, isPositioned ? undefined : {
321
- style: _extends({}, PaperProps.style, {
322
- opacity: 0
323
- })
324
- }, {
325
- ownerState: ownerState,
347
+ children: /*#__PURE__*/_jsx(PaperSlot, _extends({}, paperProps, {
326
348
  children: children
327
349
  }))
328
350
  }))
@@ -428,11 +450,34 @@ process.env.NODE_ENV !== "production" ? Popover.propTypes /* remove-proptypes */
428
450
  open: PropTypes.bool.isRequired,
429
451
  /**
430
452
  * Props applied to the [`Paper`](/material-ui/api/paper/) element.
453
+ *
454
+ * This prop is an alias for `slotProps.paper` and will be overriden by it if both are used.
455
+ * @deprecated Use `slotProps.paper` instead.
456
+ *
431
457
  * @default {}
432
458
  */
433
459
  PaperProps: PropTypes /* @typescript-to-proptypes-ignore */.shape({
434
460
  component: elementTypeAcceptingRef
435
461
  }),
462
+ /**
463
+ * The extra props for the slot components.
464
+ * You can override the existing props or add new ones.
465
+ *
466
+ * @default {}
467
+ */
468
+ slotProps: PropTypes.shape({
469
+ paper: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
470
+ root: PropTypes.oneOfType([PropTypes.func, PropTypes.object])
471
+ }),
472
+ /**
473
+ * The components used for each slot inside.
474
+ *
475
+ * @default {}
476
+ */
477
+ slots: PropTypes.shape({
478
+ paper: PropTypes.elementType,
479
+ root: PropTypes.elementType
480
+ }),
436
481
  /**
437
482
  * The system prop that allows defining system overrides as well as additional CSS styles.
438
483
  */
package/legacy/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/material v5.13.2
2
+ * @mui/material v5.13.4
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
package/locale/index.d.ts CHANGED
@@ -1,80 +1,80 @@
1
- import { ComponentsPropsList } from '../styles/props';
2
- export interface Localization {
3
- components?: {
4
- MuiAlert?: {
5
- defaultProps: Pick<ComponentsPropsList['MuiAlert'], 'closeText'>;
6
- };
7
- MuiBreadcrumbs?: {
8
- defaultProps: Pick<ComponentsPropsList['MuiBreadcrumbs'], 'expandText'>;
9
- };
10
- MuiTablePagination?: {
11
- defaultProps: Pick<ComponentsPropsList['MuiTablePagination'], 'labelRowsPerPage' | 'labelDisplayedRows' | 'getItemAriaLabel'>;
12
- };
13
- MuiRating?: {
14
- defaultProps: Pick<ComponentsPropsList['MuiRating'], 'emptyLabelText' | 'getLabelText'>;
15
- };
16
- MuiAutocomplete?: {
17
- defaultProps: Pick<ComponentsPropsList['MuiAutocomplete'], 'clearText' | 'closeText' | 'loadingText' | 'noOptionsText' | 'openText'>;
18
- };
19
- MuiPagination?: {
20
- defaultProps: Pick<ComponentsPropsList['MuiPagination'], 'aria-label' | 'getItemAriaLabel'>;
21
- };
22
- };
23
- }
24
- export declare const amET: Localization;
25
- export declare const arEG: Localization;
26
- export declare const arSA: Localization;
27
- export declare const arSD: Localization;
28
- export declare const azAZ: Localization;
29
- export declare const bnBD: Localization;
30
- export declare const beBY: Localization;
31
- export declare const bgBG: Localization;
32
- export declare const caES: Localization;
33
- export declare const csCZ: Localization;
34
- export declare const daDK: Localization;
35
- export declare const deDE: Localization;
36
- export declare const elGR: Localization;
37
- export declare const enUS: Localization;
38
- export declare const esES: Localization;
39
- export declare const etEE: Localization;
40
- export declare const faIR: Localization;
41
- export declare const fiFI: Localization;
42
- export declare const frFR: Localization;
43
- export declare const heIL: Localization;
44
- export declare const hiIN: Localization;
45
- export declare const hrHR: Localization;
46
- export declare const huHU: Localization;
47
- export declare const hyAM: Localization;
48
- export declare const idID: Localization;
49
- export declare const isIS: Localization;
50
- export declare const itIT: Localization;
51
- export declare const jaJP: Localization;
52
- export declare const khKH: Localization;
53
- export declare const koKR: Localization;
54
- export declare const kuCKB: Localization;
55
- export declare const kuLatn: Localization;
56
- export declare const kkKZ: Localization;
57
- export declare const mkMK: Localization;
58
- export declare const myMY: Localization;
59
- export declare const msMS: Localization;
60
- export declare const neNP: Localization;
61
- export declare const nbNO: Localization;
62
- export declare const nlNL: Localization;
63
- export declare const plPL: Localization;
64
- export declare const ptBR: Localization;
65
- export declare const ptPT: Localization;
66
- export declare const roRO: Localization;
67
- export declare const srRS: Localization;
68
- export declare const ruRU: Localization;
69
- export declare const siLK: Localization;
70
- export declare const skSK: Localization;
71
- export declare const svSE: Localization;
72
- export declare const thTH: Localization;
73
- export declare const trTR: Localization;
74
- export declare const tlTL: Localization;
75
- export declare const ukUA: Localization;
76
- export declare const urPK: Localization;
77
- export declare const viVN: Localization;
78
- export declare const zhCN: Localization;
79
- export declare const zhHK: Localization;
80
- export declare const zhTW: Localization;
1
+ import { ComponentsPropsList } from '../styles/props';
2
+ export interface Localization {
3
+ components?: {
4
+ MuiAlert?: {
5
+ defaultProps: Pick<ComponentsPropsList['MuiAlert'], 'closeText'>;
6
+ };
7
+ MuiBreadcrumbs?: {
8
+ defaultProps: Pick<ComponentsPropsList['MuiBreadcrumbs'], 'expandText'>;
9
+ };
10
+ MuiTablePagination?: {
11
+ defaultProps: Pick<ComponentsPropsList['MuiTablePagination'], 'labelRowsPerPage' | 'labelDisplayedRows' | 'getItemAriaLabel'>;
12
+ };
13
+ MuiRating?: {
14
+ defaultProps: Pick<ComponentsPropsList['MuiRating'], 'emptyLabelText' | 'getLabelText'>;
15
+ };
16
+ MuiAutocomplete?: {
17
+ defaultProps: Pick<ComponentsPropsList['MuiAutocomplete'], 'clearText' | 'closeText' | 'loadingText' | 'noOptionsText' | 'openText'>;
18
+ };
19
+ MuiPagination?: {
20
+ defaultProps: Pick<ComponentsPropsList['MuiPagination'], 'aria-label' | 'getItemAriaLabel'>;
21
+ };
22
+ };
23
+ }
24
+ export declare const amET: Localization;
25
+ export declare const arEG: Localization;
26
+ export declare const arSA: Localization;
27
+ export declare const arSD: Localization;
28
+ export declare const azAZ: Localization;
29
+ export declare const bnBD: Localization;
30
+ export declare const beBY: Localization;
31
+ export declare const bgBG: Localization;
32
+ export declare const caES: Localization;
33
+ export declare const csCZ: Localization;
34
+ export declare const daDK: Localization;
35
+ export declare const deDE: Localization;
36
+ export declare const elGR: Localization;
37
+ export declare const enUS: Localization;
38
+ export declare const esES: Localization;
39
+ export declare const etEE: Localization;
40
+ export declare const faIR: Localization;
41
+ export declare const fiFI: Localization;
42
+ export declare const frFR: Localization;
43
+ export declare const heIL: Localization;
44
+ export declare const hiIN: Localization;
45
+ export declare const hrHR: Localization;
46
+ export declare const huHU: Localization;
47
+ export declare const hyAM: Localization;
48
+ export declare const idID: Localization;
49
+ export declare const isIS: Localization;
50
+ export declare const itIT: Localization;
51
+ export declare const jaJP: Localization;
52
+ export declare const khKH: Localization;
53
+ export declare const koKR: Localization;
54
+ export declare const kuCKB: Localization;
55
+ export declare const kuLatn: Localization;
56
+ export declare const kkKZ: Localization;
57
+ export declare const mkMK: Localization;
58
+ export declare const myMY: Localization;
59
+ export declare const msMS: Localization;
60
+ export declare const neNP: Localization;
61
+ export declare const nbNO: Localization;
62
+ export declare const nlNL: Localization;
63
+ export declare const plPL: Localization;
64
+ export declare const ptBR: Localization;
65
+ export declare const ptPT: Localization;
66
+ export declare const roRO: Localization;
67
+ export declare const srRS: Localization;
68
+ export declare const ruRU: Localization;
69
+ export declare const siLK: Localization;
70
+ export declare const skSK: Localization;
71
+ export declare const svSE: Localization;
72
+ export declare const thTH: Localization;
73
+ export declare const trTR: Localization;
74
+ export declare const tlTL: Localization;
75
+ export declare const ukUA: Localization;
76
+ export declare const urPK: Localization;
77
+ export declare const viVN: Localization;
78
+ export declare const zhCN: Localization;
79
+ export declare const zhHK: Localization;
80
+ export declare const zhTW: Localization;
@@ -1,7 +1,8 @@
1
1
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
2
2
  import _extends from "@babel/runtime/helpers/esm/extends";
3
3
  var _ClearIcon, _ArrowDropDownIcon;
4
- const _excluded = ["autoComplete", "autoHighlight", "autoSelect", "blurOnSelect", "ChipProps", "className", "clearIcon", "clearOnBlur", "clearOnEscape", "clearText", "closeText", "componentsProps", "defaultValue", "disableClearable", "disableCloseOnSelect", "disabled", "disabledItemsFocusable", "disableListWrap", "disablePortal", "filterOptions", "filterSelectedOptions", "forcePopupIcon", "freeSolo", "fullWidth", "getLimitTagsText", "getOptionDisabled", "getOptionLabel", "isOptionEqualToValue", "groupBy", "handleHomeEndKeys", "id", "includeInputInList", "inputValue", "limitTags", "ListboxComponent", "ListboxProps", "loading", "loadingText", "multiple", "noOptionsText", "onChange", "onClose", "onHighlightChange", "onInputChange", "onOpen", "open", "openOnFocus", "openText", "options", "PaperComponent", "PopperComponent", "popupIcon", "readOnly", "renderGroup", "renderInput", "renderOption", "renderTags", "selectOnFocus", "size", "slotProps", "value"];
4
+ const _excluded = ["autoComplete", "autoHighlight", "autoSelect", "blurOnSelect", "ChipProps", "className", "clearIcon", "clearOnBlur", "clearOnEscape", "clearText", "closeText", "componentsProps", "defaultValue", "disableClearable", "disableCloseOnSelect", "disabled", "disabledItemsFocusable", "disableListWrap", "disablePortal", "filterOptions", "filterSelectedOptions", "forcePopupIcon", "freeSolo", "fullWidth", "getLimitTagsText", "getOptionDisabled", "getOptionLabel", "isOptionEqualToValue", "groupBy", "handleHomeEndKeys", "id", "includeInputInList", "inputValue", "limitTags", "ListboxComponent", "ListboxProps", "loading", "loadingText", "multiple", "noOptionsText", "onChange", "onClose", "onHighlightChange", "onInputChange", "onOpen", "open", "openOnFocus", "openText", "options", "PaperComponent", "PopperComponent", "popupIcon", "readOnly", "renderGroup", "renderInput", "renderOption", "renderTags", "selectOnFocus", "size", "slotProps", "value"],
5
+ _excluded2 = ["ref"];
5
6
  import * as React from 'react';
6
7
  import PropTypes from 'prop-types';
7
8
  import clsx from 'clsx';
@@ -23,6 +24,7 @@ import useThemeProps from '../styles/useThemeProps';
23
24
  import styled from '../styles/styled';
24
25
  import autocompleteClasses, { getAutocompleteUtilityClass } from './autocompleteClasses';
25
26
  import capitalize from '../utils/capitalize';
27
+ import useForkRef from '../utils/useForkRef';
26
28
  import { jsx as _jsx } from "react/jsx-runtime";
27
29
  import { jsxs as _jsxs } from "react/jsx-runtime";
28
30
  const useUtilityClasses = ownerState => {
@@ -452,6 +454,15 @@ const Autocomplete = /*#__PURE__*/React.forwardRef(function Autocomplete(inProps
452
454
  const {
453
455
  onMouseDown: handleInputMouseDown
454
456
  } = getInputProps();
457
+ const {
458
+ ref: externalListboxRef
459
+ } = ListboxProps ?? {};
460
+ const _getListboxProps = getListboxProps(),
461
+ {
462
+ ref: listboxRef
463
+ } = _getListboxProps,
464
+ otherListboxProps = _objectWithoutPropertiesLoose(_getListboxProps, _excluded2);
465
+ const combinedListboxRef = useForkRef(listboxRef, externalListboxRef);
455
466
 
456
467
  // If you modify this, make sure to keep the `AutocompleteOwnerState` type in sync.
457
468
  const ownerState = _extends({}, props, {
@@ -610,7 +621,8 @@ const Autocomplete = /*#__PURE__*/React.forwardRef(function Autocomplete(inProps
610
621
  as: ListboxComponent,
611
622
  className: classes.listbox,
612
623
  ownerState: ownerState
613
- }, getListboxProps(), ListboxProps, {
624
+ }, otherListboxProps, ListboxProps, {
625
+ ref: combinedListboxRef,
614
626
  children: groupedOptions.map((option, index) => {
615
627
  if (groupBy) {
616
628
  return renderGroup({
File without changes
@@ -80,22 +80,22 @@ process.env.NODE_ENV !== "production" ? Hidden.propTypes /* remove-proptypes */
80
80
  */
81
81
  initialWidth: PropTypes.oneOf(['xs', 'sm', 'md', 'lg', 'xl']),
82
82
  /**
83
- * If `true`, screens this size and down are hidden.
83
+ * If `true`, component is hidden on screens below (but not including) this size.
84
84
  * @default false
85
85
  */
86
86
  lgDown: PropTypes.bool,
87
87
  /**
88
- * If `true`, screens this size and up are hidden.
88
+ * If `true`, component is hidden on screens this size and above.
89
89
  * @default false
90
90
  */
91
91
  lgUp: PropTypes.bool,
92
92
  /**
93
- * If `true`, screens this size and down are hidden.
93
+ * If `true`, component is hidden on screens below (but not including) this size.
94
94
  * @default false
95
95
  */
96
96
  mdDown: PropTypes.bool,
97
97
  /**
98
- * If `true`, screens this size and up are hidden.
98
+ * If `true`, component is hidden on screens this size and above.
99
99
  * @default false
100
100
  */
101
101
  mdUp: PropTypes.bool,
@@ -104,32 +104,32 @@ process.env.NODE_ENV !== "production" ? Hidden.propTypes /* remove-proptypes */
104
104
  */
105
105
  only: PropTypes.oneOfType([PropTypes.oneOf(['xs', 'sm', 'md', 'lg', 'xl']), PropTypes.arrayOf(PropTypes.oneOf(['xs', 'sm', 'md', 'lg', 'xl']).isRequired)]),
106
106
  /**
107
- * If `true`, screens this size and down are hidden.
107
+ * If `true`, component is hidden on screens below (but not including) this size.
108
108
  * @default false
109
109
  */
110
110
  smDown: PropTypes.bool,
111
111
  /**
112
- * If `true`, screens this size and up are hidden.
112
+ * If `true`, component is hidden on screens this size and above.
113
113
  * @default false
114
114
  */
115
115
  smUp: PropTypes.bool,
116
116
  /**
117
- * If `true`, screens this size and down are hidden.
117
+ * If `true`, component is hidden on screens below (but not including) this size.
118
118
  * @default false
119
119
  */
120
120
  xlDown: PropTypes.bool,
121
121
  /**
122
- * If `true`, screens this size and up are hidden.
122
+ * If `true`, component is hidden on screens this size and above.
123
123
  * @default false
124
124
  */
125
125
  xlUp: PropTypes.bool,
126
126
  /**
127
- * If `true`, screens this size and down are hidden.
127
+ * If `true`, component is hidden on screens below (but not including) this size.
128
128
  * @default false
129
129
  */
130
130
  xsDown: PropTypes.bool,
131
131
  /**
132
- * If `true`, screens this size and up are hidden.
132
+ * If `true`, component is hidden on screens this size and above.
133
133
  * @default false
134
134
  */
135
135
  xsUp: PropTypes.bool
@@ -19,7 +19,7 @@ export const isWidthUp = (breakpoint, width, inclusive = true) => {
19
19
  return breakpointKeys.indexOf(breakpoint) < breakpointKeys.indexOf(width);
20
20
  };
21
21
 
22
- // By default, returns true if screen width is the same or less than the given breakpoint.
22
+ // By default, returns true if screen width is less than the given breakpoint.
23
23
  export const isWidthDown = (breakpoint, width, inclusive = false) => {
24
24
  if (inclusive) {
25
25
  return breakpointKeys.indexOf(width) <= breakpointKeys.indexOf(breakpoint);
@@ -9,8 +9,7 @@ import clsx from 'clsx';
9
9
  import { unstable_composeClasses as composeClasses } from '@mui/base';
10
10
  import { HTMLElementType } from '@mui/utils';
11
11
  import MenuList from '../MenuList';
12
- import Paper from '../Paper';
13
- import Popover from '../Popover';
12
+ import Popover, { PopoverPaper } from '../Popover';
14
13
  import styled, { rootShouldForwardProp } from '../styles/styled';
15
14
  import useTheme from '../styles/useTheme';
16
15
  import useThemeProps from '../styles/useThemeProps';
@@ -41,7 +40,7 @@ const MenuRoot = styled(Popover, {
41
40
  slot: 'Root',
42
41
  overridesResolver: (props, styles) => styles.root
43
42
  })({});
44
- const MenuPaper = styled(Paper, {
43
+ export const MenuPaper = styled(PopoverPaper, {
45
44
  name: 'MuiMenu',
46
45
  slot: 'Paper',
47
46
  overridesResolver: (props, styles) => styles.paper
@@ -148,13 +147,16 @@ const Menu = /*#__PURE__*/React.forwardRef(function Menu(inProps, ref) {
148
147
  horizontal: isRtl ? 'right' : 'left'
149
148
  },
150
149
  transformOrigin: isRtl ? RTL_ORIGIN : LTR_ORIGIN,
151
- PaperProps: _extends({
152
- as: MenuPaper
153
- }, PaperProps, {
154
- classes: _extends({}, PaperProps.classes, {
155
- root: classes.paper
150
+ slots: {
151
+ paper: MenuPaper
152
+ },
153
+ slotProps: {
154
+ paper: _extends({}, PaperProps, {
155
+ classes: _extends({}, PaperProps.classes, {
156
+ root: classes.paper
157
+ })
156
158
  })
157
- }),
159
+ },
158
160
  className: classes.root,
159
161
  open: open,
160
162
  ref: ref,
@@ -180,6 +180,13 @@ const MenuList = /*#__PURE__*/React.forwardRef(function MenuList(props, ref) {
180
180
  // item and use the first valid item as a fallback
181
181
  React.Children.forEach(children, (child, index) => {
182
182
  if (! /*#__PURE__*/React.isValidElement(child)) {
183
+ if (activeItemIndex === index) {
184
+ activeItemIndex += 1;
185
+ if (activeItemIndex >= children.length) {
186
+ // there are no focusable items within the list.
187
+ activeItemIndex = -1;
188
+ }
189
+ }
183
190
  return;
184
191
  }
185
192
  if (process.env.NODE_ENV !== 'production') {