@mui/material 5.4.0 → 5.4.1

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 (204) 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/autocompleteClasses.d.ts +54 -54
  9. package/Avatar/avatarClasses.d.ts +20 -20
  10. package/AvatarGroup/AvatarGroup.d.ts +10 -0
  11. package/AvatarGroup/AvatarGroup.js +19 -7
  12. package/AvatarGroup/avatarGroupClasses.d.ts +10 -10
  13. package/Badge/Badge.js +3 -2
  14. package/BottomNavigation/BottomNavigation.js +0 -0
  15. package/BottomNavigation/bottomNavigationClasses.d.ts +8 -8
  16. package/BottomNavigationAction/bottomNavigationActionClasses.d.ts +14 -14
  17. package/Breadcrumbs/breadcrumbsClasses.d.ts +14 -14
  18. package/Button/buttonClasses.d.ts +76 -76
  19. package/ButtonBase/ButtonBase.d.ts +5 -1
  20. package/ButtonBase/ButtonBase.js +15 -2
  21. package/ButtonBase/buttonBaseClasses.d.ts +12 -12
  22. package/ButtonBase/touchRippleClasses.d.ts +20 -20
  23. package/ButtonGroup/ButtonGroupContext.d.ts +18 -18
  24. package/ButtonGroup/buttonGroupClasses.d.ts +58 -58
  25. package/CHANGELOG.md +100 -28
  26. package/Card/cardClasses.d.ts +8 -8
  27. package/CardActionArea/cardActionAreaClasses.d.ts +12 -12
  28. package/CardActions/cardActionsClasses.d.ts +10 -10
  29. package/CardContent/cardContentClasses.d.ts +8 -8
  30. package/CardHeader/cardHeaderClasses.d.ts +18 -18
  31. package/CardMedia/cardMediaClasses.d.ts +12 -12
  32. package/Checkbox/checkboxClasses.d.ts +18 -18
  33. package/Chip/chipClasses.d.ts +80 -80
  34. package/CircularProgress/circularProgressClasses.d.ts +26 -26
  35. package/ClickAwayListener/index.d.ts +2 -2
  36. package/Collapse/collapseClasses.d.ts +18 -18
  37. package/Container/containerClasses.d.ts +22 -22
  38. package/Dialog/DialogContext.d.ts +6 -6
  39. package/Dialog/dialogClasses.d.ts +36 -36
  40. package/DialogActions/dialogActionsClasses.d.ts +10 -10
  41. package/DialogContent/dialogContentClasses.d.ts +10 -10
  42. package/DialogContentText/dialogContentTextClasses.d.ts +8 -8
  43. package/DialogTitle/dialogTitleClasses.d.ts +8 -8
  44. package/Divider/dividerClasses.d.ts +34 -34
  45. package/Drawer/drawerClasses.d.ts +30 -30
  46. package/Fab/Fab.d.ts +4 -1
  47. package/Fab/Fab.js +8 -20
  48. package/Fab/fabClasses.d.ts +26 -26
  49. package/Fab/fabClasses.js +1 -1
  50. package/FilledInput/filledInputClasses.d.ts +40 -40
  51. package/FormControl/formControlClasses.d.ts +14 -14
  52. package/FormControlLabel/formControlLabelClasses.d.ts +20 -20
  53. package/FormGroup/formGroupClasses.d.ts +12 -12
  54. package/FormHelperText/formHelperTextClasses.d.ts +22 -22
  55. package/FormLabel/formLabelClasses.d.ts +22 -22
  56. package/Grid/gridClasses.d.ts +48 -48
  57. package/Icon/iconClasses.d.ts +24 -24
  58. package/IconButton/iconButtonClasses.d.ts +26 -26
  59. package/ImageList/ImageList.js +3 -1
  60. package/ImageList/imageListClasses.d.ts +16 -16
  61. package/ImageListItem/imageListItemClasses.d.ts +18 -18
  62. package/ImageListItemBar/imageListItemBarClasses.d.ts +30 -30
  63. package/Input/inputClasses.d.ts +34 -34
  64. package/InputAdornment/inputAdornmentClasses.d.ts +24 -24
  65. package/InputBase/inputBaseClasses.d.ts +44 -44
  66. package/InputLabel/inputLabelClasses.d.ts +32 -32
  67. package/LinearProgress/linearProgressClasses.d.ts +42 -42
  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/menuClasses.d.ts +12 -12
  78. package/MenuItem/menuItemClasses.d.ts +20 -20
  79. package/MobileStepper/mobileStepperClasses.d.ts +22 -22
  80. package/Modal/Modal.js +1 -1
  81. package/NativeSelect/nativeSelectClasses.d.ts +32 -32
  82. package/OutlinedInput/outlinedInputClasses.d.ts +36 -36
  83. package/Pagination/paginationClasses.d.ts +14 -14
  84. package/PaginationItem/paginationItemClasses.d.ts +42 -42
  85. package/Paper/paperClasses.d.ts +39 -39
  86. package/Popover/popoverClasses.d.ts +10 -10
  87. package/Popper/Popper.d.ts +17 -17
  88. package/README.md +6 -6
  89. package/Radio/radioClasses.d.ts +16 -16
  90. package/RadioGroup/RadioGroupContext.d.ts +11 -11
  91. package/RadioGroup/useRadioGroup.d.ts +4 -4
  92. package/Rating/Rating.js +1 -1
  93. package/Rating/ratingClasses.d.ts +40 -40
  94. package/ScopedCssBaseline/scopedCssBaselineClasses.d.ts +8 -8
  95. package/Select/SelectInput.js +5 -1
  96. package/Select/selectClasses.d.ts +30 -30
  97. package/Skeleton/skeletonClasses.d.ts +24 -24
  98. package/Slider/Slider.js +3 -1
  99. package/Snackbar/Snackbar.js +4 -1
  100. package/Snackbar/snackbarClasses.d.ts +20 -20
  101. package/SnackbarContent/snackbarContentClasses.d.ts +12 -12
  102. package/SpeedDial/speedDialClasses.d.ts +22 -22
  103. package/SpeedDialAction/speedDialActionClasses.d.ts +20 -20
  104. package/SpeedDialIcon/speedDialIconClasses.d.ts +18 -18
  105. package/Step/stepClasses.d.ts +16 -16
  106. package/StepButton/stepButtonClasses.d.ts +14 -14
  107. package/StepConnector/stepConnectorClasses.d.ts +26 -26
  108. package/StepContent/stepContentClasses.d.ts +12 -12
  109. package/StepIcon/stepIconClasses.d.ts +16 -16
  110. package/StepLabel/stepLabelClasses.d.ts +28 -28
  111. package/Stepper/stepperClasses.d.ts +14 -14
  112. package/SvgIcon/svgIconClasses.d.ts +24 -24
  113. package/Switch/switchClasses.d.ts +32 -32
  114. package/Tab/tabClasses.d.ts +26 -26
  115. package/TabScrollButton/tabScrollButtonClasses.d.ts +12 -12
  116. package/Table/tableClasses.d.ts +10 -10
  117. package/TableBody/tableBodyClasses.d.ts +8 -8
  118. package/TableCell/tableCellClasses.d.ts +32 -32
  119. package/TableContainer/tableContainerClasses.d.ts +8 -8
  120. package/TableFooter/tableFooterClasses.d.ts +8 -8
  121. package/TableHead/tableHeadClasses.d.ts +8 -8
  122. package/TablePagination/tablePaginationClasses.d.ts +28 -28
  123. package/TableRow/tableRowClasses.d.ts +16 -16
  124. package/TableSortLabel/tableSortLabelClasses.d.ts +16 -16
  125. package/Tabs/tabsClasses.d.ts +32 -32
  126. package/TextField/textFieldClasses.d.ts +8 -8
  127. package/ToggleButton/toggleButtonClasses.d.ts +24 -24
  128. package/ToggleButtonGroup/toggleButtonGroupClasses.d.ts +18 -18
  129. package/Toolbar/toolbarClasses.d.ts +14 -14
  130. package/Tooltip/tooltipClasses.d.ts +30 -30
  131. package/Typography/typographyClasses.d.ts +50 -50
  132. package/darkScrollbar/index.d.ts +28 -28
  133. package/index.d.ts +1 -1
  134. package/index.js +1 -1
  135. package/internal/switchBaseClasses.d.ts +12 -12
  136. package/legacy/AvatarGroup/AvatarGroup.js +20 -7
  137. package/legacy/Badge/Badge.js +4 -2
  138. package/legacy/BottomNavigation/BottomNavigation.js +0 -0
  139. package/legacy/ButtonBase/ButtonBase.js +15 -2
  140. package/legacy/Fab/Fab.js +8 -20
  141. package/legacy/Fab/fabClasses.js +1 -1
  142. package/legacy/ImageList/ImageList.js +3 -1
  143. package/legacy/Modal/Modal.js +1 -1
  144. package/legacy/Rating/Rating.js +1 -1
  145. package/legacy/Select/SelectInput.js +5 -1
  146. package/legacy/Slider/Slider.js +3 -1
  147. package/legacy/Snackbar/Snackbar.js +4 -1
  148. package/legacy/index.js +1 -1
  149. package/legacy/styles/makeStyles.js +1 -1
  150. package/legacy/styles/withStyles.js +1 -1
  151. package/legacy/styles/withTheme.js +1 -1
  152. package/legacy/useMediaQuery/useMediaQuery.js +1 -1
  153. package/locale/index.d.ts +68 -68
  154. package/modern/AvatarGroup/AvatarGroup.js +17 -7
  155. package/modern/Badge/Badge.js +3 -2
  156. package/modern/BottomNavigation/BottomNavigation.js +0 -0
  157. package/modern/ButtonBase/ButtonBase.js +15 -2
  158. package/modern/Fab/Fab.js +8 -20
  159. package/modern/Fab/fabClasses.js +1 -1
  160. package/modern/ImageList/ImageList.js +3 -1
  161. package/modern/Modal/Modal.js +1 -1
  162. package/modern/Rating/Rating.js +1 -1
  163. package/modern/Select/SelectInput.js +5 -1
  164. package/modern/Slider/Slider.js +3 -1
  165. package/modern/Snackbar/Snackbar.js +4 -1
  166. package/modern/index.js +1 -1
  167. package/modern/styles/makeStyles.js +1 -1
  168. package/modern/styles/withStyles.js +1 -1
  169. package/modern/styles/withTheme.js +1 -1
  170. package/modern/useMediaQuery/useMediaQuery.js +1 -1
  171. package/node/AvatarGroup/AvatarGroup.js +19 -7
  172. package/node/Badge/Badge.js +3 -2
  173. package/node/BottomNavigation/BottomNavigation.js +0 -0
  174. package/node/ButtonBase/ButtonBase.js +15 -2
  175. package/node/Fab/Fab.js +8 -20
  176. package/node/Fab/fabClasses.js +1 -1
  177. package/node/ImageList/ImageList.js +3 -1
  178. package/node/Modal/Modal.js +1 -1
  179. package/node/Rating/Rating.js +1 -1
  180. package/node/Select/SelectInput.js +5 -1
  181. package/node/Slider/Slider.js +3 -1
  182. package/node/Snackbar/Snackbar.js +4 -1
  183. package/node/index.js +1 -1
  184. package/node/styles/makeStyles.js +1 -1
  185. package/node/styles/withStyles.js +1 -1
  186. package/node/styles/withTheme.js +1 -1
  187. package/node/useMediaQuery/useMediaQuery.js +1 -1
  188. package/package.json +8 -8
  189. package/styles/makeStyles.js +1 -1
  190. package/styles/withStyles.js +1 -1
  191. package/styles/withTheme.js +1 -1
  192. package/transitions/index.d.ts +1 -1
  193. package/transitions/transition.d.ts +13 -13
  194. package/transitions/utils.d.ts +23 -23
  195. package/umd/material-ui.development.js +96 -50
  196. package/umd/material-ui.production.min.js +20 -20
  197. package/useMediaQuery/useMediaQuery.d.ts +31 -31
  198. package/useMediaQuery/useMediaQuery.js +1 -1
  199. package/useTouchRipple/index.d.ts +1 -1
  200. package/useTouchRipple/useTouchRipple.d.ts +28 -28
  201. package/utils/getScrollbarSize.d.ts +2 -2
  202. package/utils/ownerDocument.d.ts +2 -2
  203. package/utils/ownerWindow.d.ts +2 -2
  204. package/utils/setRef.d.ts +2 -2
@@ -63,6 +63,8 @@ var AvatarGroupAvatar = styled(Avatar, {
63
63
  };
64
64
  });
65
65
  var AvatarGroup = /*#__PURE__*/React.forwardRef(function AvatarGroup(inProps, ref) {
66
+ var _componentsProps$addi, _componentsProps$addi2;
67
+
66
68
  var props = useThemeProps({
67
69
  props: inProps,
68
70
  name: 'MuiAvatarGroup'
@@ -70,6 +72,8 @@ var AvatarGroup = /*#__PURE__*/React.forwardRef(function AvatarGroup(inProps, re
70
72
 
71
73
  var childrenProp = props.children,
72
74
  className = props.className,
75
+ _props$componentsProp = props.componentsProps,
76
+ componentsProps = _props$componentsProp === void 0 ? {} : _props$componentsProp,
73
77
  _props$max = props.max,
74
78
  max = _props$max === void 0 ? 5 : _props$max,
75
79
  _props$spacing = props.spacing,
@@ -77,7 +81,7 @@ var AvatarGroup = /*#__PURE__*/React.forwardRef(function AvatarGroup(inProps, re
77
81
  total = props.total,
78
82
  _props$variant = props.variant,
79
83
  variant = _props$variant === void 0 ? 'circular' : _props$variant,
80
- other = _objectWithoutProperties(props, ["children", "className", "max", "spacing", "total", "variant"]);
84
+ other = _objectWithoutProperties(props, ["children", "className", "componentsProps", "max", "spacing", "total", "variant"]);
81
85
 
82
86
  var clampedMax = max < 2 ? 2 : max;
83
87
 
@@ -112,15 +116,16 @@ var AvatarGroup = /*#__PURE__*/React.forwardRef(function AvatarGroup(inProps, re
112
116
  className: clsx(classes.root, className),
113
117
  ref: ref
114
118
  }, other, {
115
- children: [extraAvatars ? /*#__PURE__*/_jsxs(AvatarGroupAvatar, {
119
+ children: [extraAvatars ? /*#__PURE__*/_jsxs(AvatarGroupAvatar, _extends({
116
120
  ownerState: ownerState,
117
- className: classes.avatar,
118
- style: {
121
+ variant: variant
122
+ }, componentsProps.additionalAvatar, {
123
+ className: clsx(classes.avatar, (_componentsProps$addi = componentsProps.additionalAvatar) == null ? void 0 : _componentsProps$addi.className),
124
+ style: _extends({
119
125
  marginLeft: marginLeft
120
- },
121
- variant: variant,
126
+ }, (_componentsProps$addi2 = componentsProps.additionalAvatar) == null ? void 0 : _componentsProps$addi2.style),
122
127
  children: ["+", extraAvatars]
123
- }) : null, children.slice(0, maxAvatars).reverse().map(function (child) {
128
+ })) : null, children.slice(0, maxAvatars).reverse().map(function (child) {
124
129
  return /*#__PURE__*/React.cloneElement(child, {
125
130
  className: clsx(child.props.className, classes.avatar),
126
131
  style: _extends({
@@ -154,6 +159,14 @@ process.env.NODE_ENV !== "production" ? AvatarGroup.propTypes
154
159
  */
155
160
  className: PropTypes.string,
156
161
 
162
+ /**
163
+ * The props used for each slot inside the AvatarGroup.
164
+ * @default {}
165
+ */
166
+ componentsProps: PropTypes.shape({
167
+ additionalAvatar: PropTypes.object
168
+ }),
169
+
157
170
  /**
158
171
  * Max avatars to show before +x.
159
172
  * @default 5
@@ -168,7 +168,8 @@ var Badge = /*#__PURE__*/React.forwardRef(function Badge(inProps, ref) {
168
168
  overlapProp = _props$overlap === void 0 ? 'rectangular' : _props$overlap,
169
169
  _props$color = props.color,
170
170
  colorProp = _props$color === void 0 ? 'default' : _props$color,
171
- invisibleProp = props.invisible,
171
+ _props$invisible = props.invisible,
172
+ invisibleProp = _props$invisible === void 0 ? false : _props$invisible,
172
173
  badgeContentProp = props.badgeContent,
173
174
  _props$showZero = props.showZero,
174
175
  showZero = _props$showZero === void 0 ? false : _props$showZero,
@@ -183,7 +184,7 @@ var Badge = /*#__PURE__*/React.forwardRef(function Badge(inProps, ref) {
183
184
  });
184
185
  var invisible = invisibleProp;
185
186
 
186
- if (invisibleProp == null && (badgeContentProp === 0 && !showZero || badgeContentProp == null && variantProp !== 'dot')) {
187
+ if (invisibleProp === false && (badgeContentProp === 0 && !showZero || badgeContentProp == null && variantProp !== 'dot')) {
187
188
  invisible = true;
188
189
  }
189
190
 
@@ -303,6 +304,7 @@ process.env.NODE_ENV !== "production" ? Badge.propTypes
303
304
 
304
305
  /**
305
306
  * If `true`, the badge is invisible.
307
+ * @default false
306
308
  */
307
309
  invisible: PropTypes.bool,
308
310
 
File without changes
@@ -127,11 +127,13 @@ var ButtonBase = /*#__PURE__*/React.forwardRef(function ButtonBase(inProps, ref)
127
127
  _props$tabIndex = props.tabIndex,
128
128
  tabIndex = _props$tabIndex === void 0 ? 0 : _props$tabIndex,
129
129
  TouchRippleProps = props.TouchRippleProps,
130
+ touchRippleRef = props.touchRippleRef,
130
131
  type = props.type,
131
- other = _objectWithoutProperties(props, ["action", "centerRipple", "children", "className", "component", "disabled", "disableRipple", "disableTouchRipple", "focusRipple", "focusVisibleClassName", "LinkComponent", "onBlur", "onClick", "onContextMenu", "onDragLeave", "onFocus", "onFocusVisible", "onKeyDown", "onKeyUp", "onMouseDown", "onMouseLeave", "onMouseUp", "onTouchEnd", "onTouchMove", "onTouchStart", "tabIndex", "TouchRippleProps", "type"]);
132
+ other = _objectWithoutProperties(props, ["action", "centerRipple", "children", "className", "component", "disabled", "disableRipple", "disableTouchRipple", "focusRipple", "focusVisibleClassName", "LinkComponent", "onBlur", "onClick", "onContextMenu", "onDragLeave", "onFocus", "onFocusVisible", "onKeyDown", "onKeyUp", "onMouseDown", "onMouseLeave", "onMouseUp", "onTouchEnd", "onTouchMove", "onTouchStart", "tabIndex", "TouchRippleProps", "touchRippleRef", "type"]);
132
133
 
133
134
  var buttonRef = React.useRef(null);
134
135
  var rippleRef = React.useRef(null);
136
+ var handleRippleRef = useForkRef(rippleRef, touchRippleRef);
135
137
 
136
138
  var _useIsFocusVisible = useIsFocusVisible(),
137
139
  isFocusVisibleRef = _useIsFocusVisible.isFocusVisibleRef,
@@ -361,7 +363,7 @@ var ButtonBase = /*#__PURE__*/React.forwardRef(function ButtonBase(inProps, ref)
361
363
 
362
364
  /* TouchRipple is only needed client-side, x2 boost on the server. */
363
365
  _jsx(TouchRipple, _extends({
364
- ref: rippleRef,
366
+ ref: handleRippleRef,
365
367
  center: centerRipple
366
368
  }, TouchRippleProps)) : null]
367
369
  }));
@@ -544,6 +546,17 @@ process.env.NODE_ENV !== "production" ? ButtonBase.propTypes
544
546
  */
545
547
  TouchRippleProps: PropTypes.object,
546
548
 
549
+ /**
550
+ * A ref that points to the `TouchRippple` element.
551
+ */
552
+ touchRippleRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({
553
+ current: PropTypes.shape({
554
+ pulsate: PropTypes.func.isRequired,
555
+ start: PropTypes.func.isRequired,
556
+ stop: PropTypes.func.isRequired
557
+ })
558
+ })]),
559
+
547
560
  /**
548
561
  * @ignore
549
562
  */
package/legacy/Fab/Fab.js CHANGED
@@ -18,7 +18,7 @@ var useUtilityClasses = function useUtilityClasses(ownerState) {
18
18
  classes = ownerState.classes,
19
19
  size = ownerState.size;
20
20
  var slots = {
21
- root: ['root', variant, "size".concat(capitalize(size)), color === 'inherit' && 'colorInherit', color === 'primary' && 'primary', color === 'secondary' && 'secondary']
21
+ root: ['root', variant, "size".concat(capitalize(size)), color === 'inherit' ? 'colorInherit' : color]
22
22
  };
23
23
  return composeClasses(slots, getFabUtilityClass, classes);
24
24
  };
@@ -28,7 +28,7 @@ var FabRoot = styled(ButtonBase, {
28
28
  slot: 'Root',
29
29
  overridesResolver: function overridesResolver(props, styles) {
30
30
  var ownerState = props.ownerState;
31
- return [styles.root, styles[ownerState.variant], styles["size".concat(capitalize(ownerState.size))], ownerState.color === 'inherit' && styles.colorInherit, ownerState.color === 'primary' && styles.primary, ownerState.color === 'secondary' && styles.secondary];
31
+ return [styles.root, styles[ownerState.variant], styles["size".concat(capitalize(ownerState.size))], ownerState.color === 'inherit' && styles.colorInherit, styles[capitalize(ownerState.size)], styles[ownerState.color]];
32
32
  }
33
33
  })(function (_ref) {
34
34
  var _extends2;
@@ -96,24 +96,14 @@ var FabRoot = styled(ButtonBase, {
96
96
  }, function (_ref2) {
97
97
  var theme = _ref2.theme,
98
98
  ownerState = _ref2.ownerState;
99
- return _extends({}, ownerState.color === 'primary' && {
100
- color: theme.palette.primary.contrastText,
101
- backgroundColor: theme.palette.primary.main,
99
+ return _extends({}, ownerState.color !== 'inherit' && ownerState.color !== 'default' && theme.palette[ownerState.color] != null && {
100
+ color: theme.palette[ownerState.color].contrastText,
101
+ backgroundColor: theme.palette[ownerState.color].main,
102
102
  '&:hover': {
103
- backgroundColor: theme.palette.primary.dark,
103
+ backgroundColor: theme.palette[ownerState.color].dark,
104
104
  // Reset on touch devices, it doesn't add specificity
105
105
  '@media (hover: none)': {
106
- backgroundColor: theme.palette.primary.main
107
- }
108
- }
109
- }, ownerState.color === 'secondary' && {
110
- color: theme.palette.secondary.contrastText,
111
- backgroundColor: theme.palette.secondary.main,
112
- '&:hover': {
113
- backgroundColor: theme.palette.secondary.dark,
114
- // Reset on touch devices, it doesn't add specificity
115
- '@media (hover: none)': {
116
- backgroundColor: theme.palette.secondary.main
106
+ backgroundColor: theme.palette[ownerState.color].main
117
107
  }
118
108
  }
119
109
  });
@@ -190,9 +180,7 @@ process.env.NODE_ENV !== "production" ? Fab.propTypes
190
180
  * The color of the component. It supports those theme colors that make sense for this component.
191
181
  * @default 'default'
192
182
  */
193
- color: PropTypes
194
- /* @typescript-to-proptypes-ignore */
195
- .oneOfType([PropTypes.oneOf(['default', 'inherit', 'primary', 'secondary']), PropTypes.string]),
183
+ color: PropTypes.oneOf(['default', 'error', 'info', 'inherit', 'primary', 'secondary', 'success', 'warning']),
196
184
 
197
185
  /**
198
186
  * The component used for the root node.
@@ -2,5 +2,5 @@ import { generateUtilityClass, generateUtilityClasses } from '@mui/base';
2
2
  export function getFabUtilityClass(slot) {
3
3
  return generateUtilityClass('MuiFab', slot);
4
4
  }
5
- var fabClasses = generateUtilityClasses('MuiFab', ['root', 'primary', 'secondary', 'extended', 'circular', 'focusVisible', 'disabled', 'colorInherit', 'sizeSmall', 'sizeMedium', 'sizeLarge']);
5
+ var fabClasses = generateUtilityClasses('MuiFab', ['root', 'primary', 'secondary', 'extended', 'circular', 'focusVisible', 'disabled', 'colorInherit', 'sizeSmall', 'sizeMedium', 'sizeLarge', 'info', 'error', 'warning', 'success']);
6
6
  export default fabClasses;
@@ -168,6 +168,8 @@ process.env.NODE_ENV !== "production" ? ImageList.propTypes
168
168
  * The variant to use.
169
169
  * @default 'standard'
170
170
  */
171
- variant: PropTypes.oneOf(['masonry', 'quilted', 'standard', 'woven'])
171
+ variant: PropTypes
172
+ /* @typescript-to-proptypes-ignore */
173
+ .oneOfType([PropTypes.oneOf(['masonry', 'quilted', 'standard', 'woven']), PropTypes.string])
172
174
  } : void 0;
173
175
  export default ImageList;
@@ -243,7 +243,7 @@ process.env.NODE_ENV !== "production" ? Modal.propTypes
243
243
 
244
244
  /**
245
245
  * If `true`, the modal will not restore focus to previously focused element once
246
- * modal is hidden.
246
+ * modal is hidden or unmounted.
247
247
  * @default false
248
248
  */
249
249
  disableRestoreFocus: PropTypes.bool,
@@ -425,7 +425,7 @@ var Rating = /*#__PURE__*/React.forwardRef(function Rating(inProps, ref) {
425
425
 
426
426
  var handleChange = function handleChange(event) {
427
427
  var newValue = event.target.value === '' ? null : parseFloat(event.target.value); // Give mouse priority over keyboard
428
- // Fix https://github.com/mui-org/material-ui/issues/22827
428
+ // Fix https://github.com/mui/material-ui/issues/22827
429
429
 
430
430
  if (hover !== -1) {
431
431
  newValue = hover;
@@ -199,6 +199,10 @@ var SelectInput = /*#__PURE__*/React.forwardRef(function SelectInput(props, ref)
199
199
  }
200
200
  }, [autoFocus]);
201
201
  React.useEffect(function () {
202
+ if (!labelId) {
203
+ return undefined;
204
+ }
205
+
202
206
  var label = ownerDocument(displayRef.current).getElementById(labelId);
203
207
 
204
208
  if (label) {
@@ -298,7 +302,7 @@ var SelectInput = /*#__PURE__*/React.forwardRef(function SelectInput(props, ref)
298
302
  if (onChange) {
299
303
  // Redefine target to allow name and value to be read.
300
304
  // This allows seamless integration with the most popular form libraries.
301
- // https://github.com/mui-org/material-ui/issues/13485#issuecomment-676048492
305
+ // https://github.com/mui/material-ui/issues/13485#issuecomment-676048492
302
306
  // Clone the event to not override `target` of the original event.
303
307
  var nativeEvent = event.nativeEvent || event;
304
308
  var clonedEvent = new nativeEvent.constructor(nativeEvent.type, nativeEvent);
@@ -707,7 +707,9 @@ process.env.NODE_ENV !== "production" ? Slider.propTypes
707
707
  * The size of the slider.
708
708
  * @default 'medium'
709
709
  */
710
- size: PropTypes.oneOf(['small', 'medium']),
710
+ size: PropTypes
711
+ /* @typescript-to-proptypes-ignore */
712
+ .oneOfType([PropTypes.oneOf(['small', 'medium']), PropTypes.string]),
711
713
 
712
714
  /**
713
715
  * The granularity with which the slider can step through values. (A "discrete" slider.)
@@ -289,7 +289,10 @@ var Snackbar = /*#__PURE__*/React.forwardRef(function Snackbar(inProps, ref) {
289
289
  onMouseEnter: handleMouseEnter,
290
290
  onMouseLeave: handleMouseLeave,
291
291
  ownerState: ownerState,
292
- ref: ref
292
+ ref: ref // ClickAwayListener adds an `onClick` prop which results in the alert not being announced.
293
+ // See https://github.com/mui-org/material-ui/issues/29080
294
+ ,
295
+ role: "presentation"
293
296
  }, other, {
294
297
  children: /*#__PURE__*/_jsx(TransitionComponent, _extends({
295
298
  appear: true,
package/legacy/index.js CHANGED
@@ -1,4 +1,4 @@
1
- /** @license MUI v5.4.0
1
+ /** @license MUI v5.4.1
2
2
  *
3
3
  * This source code is licensed under the MIT license found in the
4
4
  * LICENSE file in the root directory of this source tree.
@@ -1,4 +1,4 @@
1
1
  import { formatMuiErrorMessage as _formatMuiErrorMessage } from "@mui/utils";
2
2
  export default function makeStyles() {
3
- throw new Error(process.env.NODE_ENV !== "production" ? "MUI: makeStyles is not longer exported from @mui/material/styles.\nYou have to import it from @mui/styles.\nSee https://mui.com/r/migration-v4/#material-ui-core-styles for more details." : _formatMuiErrorMessage(14));
3
+ throw new Error(process.env.NODE_ENV !== "production" ? "MUI: makeStyles is not longer exported from @mui/material/styles.\nYou have to import it from @mui/styles.\nSee https://mui.com/r/migration-v4/#mui-material-styles for more details." : _formatMuiErrorMessage(14));
4
4
  }
@@ -1,4 +1,4 @@
1
1
  import { formatMuiErrorMessage as _formatMuiErrorMessage } from "@mui/utils";
2
2
  export default function withStyles() {
3
- throw new Error(process.env.NODE_ENV !== "production" ? "MUI: withStyles is not longer exported from @mui/material/styles.\nYou have to import it from @mui/styles.\nSee https://mui.com/r/migration-v4/#material-ui-core-styles for more details." : _formatMuiErrorMessage(15));
3
+ throw new Error(process.env.NODE_ENV !== "production" ? "MUI: withStyles is not longer exported from @mui/material/styles.\nYou have to import it from @mui/styles.\nSee https://mui.com/r/migration-v4/#mui-material-styles for more details." : _formatMuiErrorMessage(15));
4
4
  }
@@ -1,4 +1,4 @@
1
1
  import { formatMuiErrorMessage as _formatMuiErrorMessage } from "@mui/utils";
2
2
  export default function withTheme() {
3
- throw new Error(process.env.NODE_ENV !== "production" ? "MUI: withTheme is not longer exported from @mui/material/styles.\nYou have to import it from @mui/styles.\nSee https://mui.com/r/migration-v4/#material-ui-core-styles for more details." : _formatMuiErrorMessage(16));
3
+ throw new Error(process.env.NODE_ENV !== "production" ? "MUI: withTheme is not longer exported from @mui/material/styles.\nYou have to import it from @mui/styles.\nSee https://mui.com/r/migration-v4/#mui-material-styles for more details." : _formatMuiErrorMessage(16));
4
4
  }
@@ -39,7 +39,7 @@ function useMediaQueryOld(query, defaultMatches, matchMedia, ssrMatchMedia, noSs
39
39
  var updateMatch = function updateMatch() {
40
40
  // Workaround Safari wrong implementation of matchMedia
41
41
  // TODO can we remove it?
42
- // https://github.com/mui-org/material-ui/pull/17315#issuecomment-528286677
42
+ // https://github.com/mui/material-ui/pull/17315#issuecomment-528286677
43
43
  if (active) {
44
44
  setMatch(queryList.matches);
45
45
  }
package/locale/index.d.ts CHANGED
@@ -1,68 +1,68 @@
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 arSD: Localization;
27
- export declare const azAZ: Localization;
28
- export declare const bnBD: Localization;
29
- export declare const bgBG: Localization;
30
- export declare const caES: Localization;
31
- export declare const csCZ: Localization;
32
- export declare const daDK: Localization;
33
- export declare const deDE: Localization;
34
- export declare const elGR: Localization;
35
- export declare const enUS: Localization;
36
- export declare const esES: Localization;
37
- export declare const etEE: Localization;
38
- export declare const faIR: Localization;
39
- export declare const fiFI: Localization;
40
- export declare const frFR: Localization;
41
- export declare const heIL: Localization;
42
- export declare const hiIN: Localization;
43
- export declare const huHU: Localization;
44
- export declare const hyAM: Localization;
45
- export declare const idID: Localization;
46
- export declare const isIS: Localization;
47
- export declare const itIT: Localization;
48
- export declare const jaJP: Localization;
49
- export declare const khKH: Localization;
50
- export declare const koKR: Localization;
51
- export declare const kzKZ: Localization;
52
- export declare const nbNO: Localization;
53
- export declare const nlNL: Localization;
54
- export declare const plPL: Localization;
55
- export declare const ptBR: Localization;
56
- export declare const ptPT: Localization;
57
- export declare const roRO: Localization;
58
- export declare const ruRU: Localization;
59
- export declare const siLK: Localization;
60
- export declare const skSK: Localization;
61
- export declare const svSE: Localization;
62
- export declare const thTH: Localization;
63
- export declare const trTR: Localization;
64
- export declare const ukUA: Localization;
65
- export declare const viVN: Localization;
66
- export declare const zhCN: Localization;
67
- export declare const zhHK: Localization;
68
- 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 arSD: Localization;
27
+ export declare const azAZ: Localization;
28
+ export declare const bnBD: Localization;
29
+ export declare const bgBG: Localization;
30
+ export declare const caES: Localization;
31
+ export declare const csCZ: Localization;
32
+ export declare const daDK: Localization;
33
+ export declare const deDE: Localization;
34
+ export declare const elGR: Localization;
35
+ export declare const enUS: Localization;
36
+ export declare const esES: Localization;
37
+ export declare const etEE: Localization;
38
+ export declare const faIR: Localization;
39
+ export declare const fiFI: Localization;
40
+ export declare const frFR: Localization;
41
+ export declare const heIL: Localization;
42
+ export declare const hiIN: Localization;
43
+ export declare const huHU: Localization;
44
+ export declare const hyAM: Localization;
45
+ export declare const idID: Localization;
46
+ export declare const isIS: Localization;
47
+ export declare const itIT: Localization;
48
+ export declare const jaJP: Localization;
49
+ export declare const khKH: Localization;
50
+ export declare const koKR: Localization;
51
+ export declare const kzKZ: Localization;
52
+ export declare const nbNO: Localization;
53
+ export declare const nlNL: Localization;
54
+ export declare const plPL: Localization;
55
+ export declare const ptBR: Localization;
56
+ export declare const ptPT: Localization;
57
+ export declare const roRO: Localization;
58
+ export declare const ruRU: Localization;
59
+ export declare const siLK: Localization;
60
+ export declare const skSK: Localization;
61
+ export declare const svSE: Localization;
62
+ export declare const thTH: Localization;
63
+ export declare const trTR: Localization;
64
+ export declare const ukUA: Localization;
65
+ export declare const viVN: Localization;
66
+ export declare const zhCN: Localization;
67
+ export declare const zhHK: Localization;
68
+ export declare const zhTW: Localization;
@@ -1,6 +1,6 @@
1
1
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
2
2
  import _extends from "@babel/runtime/helpers/esm/extends";
3
- const _excluded = ["children", "className", "max", "spacing", "total", "variant"];
3
+ const _excluded = ["children", "className", "componentsProps", "max", "spacing", "total", "variant"];
4
4
  import * as React from 'react';
5
5
  import PropTypes from 'prop-types';
6
6
  import { isFragment } from 'react-is';
@@ -71,6 +71,7 @@ const AvatarGroup = /*#__PURE__*/React.forwardRef(function AvatarGroup(inProps,
71
71
  const {
72
72
  children: childrenProp,
73
73
  className,
74
+ componentsProps = {},
74
75
  max = 5,
75
76
  spacing = 'medium',
76
77
  total,
@@ -111,15 +112,16 @@ const AvatarGroup = /*#__PURE__*/React.forwardRef(function AvatarGroup(inProps,
111
112
  className: clsx(classes.root, className),
112
113
  ref: ref
113
114
  }, other, {
114
- children: [extraAvatars ? /*#__PURE__*/_jsxs(AvatarGroupAvatar, {
115
+ children: [extraAvatars ? /*#__PURE__*/_jsxs(AvatarGroupAvatar, _extends({
115
116
  ownerState: ownerState,
116
- className: classes.avatar,
117
- style: {
117
+ variant: variant
118
+ }, componentsProps.additionalAvatar, {
119
+ className: clsx(classes.avatar, componentsProps.additionalAvatar?.className),
120
+ style: _extends({
118
121
  marginLeft
119
- },
120
- variant: variant,
122
+ }, componentsProps.additionalAvatar?.style),
121
123
  children: ["+", extraAvatars]
122
- }) : null, children.slice(0, maxAvatars).reverse().map(child => {
124
+ })) : null, children.slice(0, maxAvatars).reverse().map(child => {
123
125
  return /*#__PURE__*/React.cloneElement(child, {
124
126
  className: clsx(child.props.className, classes.avatar),
125
127
  style: _extends({
@@ -153,6 +155,14 @@ process.env.NODE_ENV !== "production" ? AvatarGroup.propTypes
153
155
  */
154
156
  className: PropTypes.string,
155
157
 
158
+ /**
159
+ * The props used for each slot inside the AvatarGroup.
160
+ * @default {}
161
+ */
162
+ componentsProps: PropTypes.shape({
163
+ additionalAvatar: PropTypes.object
164
+ }),
165
+
156
166
  /**
157
167
  * Max avatars to show before +x.
158
168
  * @default 5
@@ -169,7 +169,7 @@ const Badge = /*#__PURE__*/React.forwardRef(function Badge(inProps, ref) {
169
169
  componentsProps = {},
170
170
  overlap: overlapProp = 'rectangular',
171
171
  color: colorProp = 'default',
172
- invisible: invisibleProp,
172
+ invisible: invisibleProp = false,
173
173
  badgeContent: badgeContentProp,
174
174
  showZero = false,
175
175
  variant: variantProp = 'standard'
@@ -183,7 +183,7 @@ const Badge = /*#__PURE__*/React.forwardRef(function Badge(inProps, ref) {
183
183
  });
184
184
  let invisible = invisibleProp;
185
185
 
186
- if (invisibleProp == null && (badgeContentProp === 0 && !showZero || badgeContentProp == null && variantProp !== 'dot')) {
186
+ if (invisibleProp === false && (badgeContentProp === 0 && !showZero || badgeContentProp == null && variantProp !== 'dot')) {
187
187
  invisible = true;
188
188
  }
189
189
 
@@ -301,6 +301,7 @@ process.env.NODE_ENV !== "production" ? Badge.propTypes
301
301
 
302
302
  /**
303
303
  * If `true`, the badge is invisible.
304
+ * @default false
304
305
  */
305
306
  invisible: PropTypes.bool,
306
307
 
File without changes
@@ -1,6 +1,6 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
- const _excluded = ["action", "centerRipple", "children", "className", "component", "disabled", "disableRipple", "disableTouchRipple", "focusRipple", "focusVisibleClassName", "LinkComponent", "onBlur", "onClick", "onContextMenu", "onDragLeave", "onFocus", "onFocusVisible", "onKeyDown", "onKeyUp", "onMouseDown", "onMouseLeave", "onMouseUp", "onTouchEnd", "onTouchMove", "onTouchStart", "tabIndex", "TouchRippleProps", "type"];
3
+ const _excluded = ["action", "centerRipple", "children", "className", "component", "disabled", "disableRipple", "disableTouchRipple", "focusRipple", "focusVisibleClassName", "LinkComponent", "onBlur", "onClick", "onContextMenu", "onDragLeave", "onFocus", "onFocusVisible", "onKeyDown", "onKeyUp", "onMouseDown", "onMouseLeave", "onMouseUp", "onTouchEnd", "onTouchMove", "onTouchStart", "tabIndex", "TouchRippleProps", "touchRippleRef", "type"];
4
4
  import * as React from 'react';
5
5
  import PropTypes from 'prop-types';
6
6
  import clsx from 'clsx';
@@ -118,12 +118,14 @@ const ButtonBase = /*#__PURE__*/React.forwardRef(function ButtonBase(inProps, re
118
118
  onTouchStart,
119
119
  tabIndex = 0,
120
120
  TouchRippleProps,
121
+ touchRippleRef,
121
122
  type
122
123
  } = props,
123
124
  other = _objectWithoutPropertiesLoose(props, _excluded);
124
125
 
125
126
  const buttonRef = React.useRef(null);
126
127
  const rippleRef = React.useRef(null);
128
+ const handleRippleRef = useForkRef(rippleRef, touchRippleRef);
127
129
  const {
128
130
  isFocusVisibleRef,
129
131
  onFocus: handleFocusVisible,
@@ -343,7 +345,7 @@ const ButtonBase = /*#__PURE__*/React.forwardRef(function ButtonBase(inProps, re
343
345
 
344
346
  /* TouchRipple is only needed client-side, x2 boost on the server. */
345
347
  _jsx(TouchRipple, _extends({
346
- ref: rippleRef,
348
+ ref: handleRippleRef,
347
349
  center: centerRipple
348
350
  }, TouchRippleProps)) : null]
349
351
  }));
@@ -526,6 +528,17 @@ process.env.NODE_ENV !== "production" ? ButtonBase.propTypes
526
528
  */
527
529
  TouchRippleProps: PropTypes.object,
528
530
 
531
+ /**
532
+ * A ref that points to the `TouchRippple` element.
533
+ */
534
+ touchRippleRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({
535
+ current: PropTypes.shape({
536
+ pulsate: PropTypes.func.isRequired,
537
+ start: PropTypes.func.isRequired,
538
+ stop: PropTypes.func.isRequired
539
+ })
540
+ })]),
541
+
529
542
  /**
530
543
  * @ignore
531
544
  */