@mui/material 5.14.1 → 5.14.3

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 (131) hide show
  1. package/Accordion/Accordion.d.ts +11 -6
  2. package/AccordionSummary/AccordionSummary.d.ts +9 -7
  3. package/AppBar/AppBar.d.ts +11 -6
  4. package/Autocomplete/Autocomplete.d.ts +20 -16
  5. package/Autocomplete/Autocomplete.js +19 -15
  6. package/Avatar/Avatar.d.ts +11 -6
  7. package/AvatarGroup/AvatarGroup.d.ts +1 -1
  8. package/Backdrop/Backdrop.d.ts +11 -6
  9. package/Badge/Badge.d.ts +11 -6
  10. package/BottomNavigation/BottomNavigation.d.ts +11 -6
  11. package/BottomNavigationAction/BottomNavigationAction.d.ts +9 -7
  12. package/Box/Box.d.ts +3 -3
  13. package/Breadcrumbs/Breadcrumbs.d.ts +11 -6
  14. package/Button/Button.d.ts +16 -14
  15. package/Button/Button.js +1 -1
  16. package/ButtonBase/ButtonBase.d.ts +17 -12
  17. package/ButtonGroup/ButtonGroup.d.ts +11 -6
  18. package/CHANGELOG.md +152 -1
  19. package/Card/Card.d.ts +11 -6
  20. package/CardActionArea/CardActionArea.d.ts +11 -6
  21. package/CardContent/CardContent.d.ts +11 -6
  22. package/CardMedia/CardMedia.d.ts +9 -7
  23. package/Chip/Chip.d.ts +11 -6
  24. package/Chip/Chip.js +0 -2
  25. package/Container/Container.d.ts +11 -6
  26. package/DialogContentText/DialogContentText.d.ts +9 -7
  27. package/DialogTitle/DialogTitle.d.ts +9 -7
  28. package/Divider/Divider.d.ts +11 -6
  29. package/Divider/Divider.js +6 -0
  30. package/Fab/Fab.d.ts +11 -6
  31. package/Fab/Fab.js +1 -1
  32. package/FormControl/FormControl.d.ts +11 -6
  33. package/FormHelperText/FormHelperText.d.ts +11 -6
  34. package/FormLabel/FormLabel.d.ts +14 -9
  35. package/Grid/Grid.d.ts +11 -6
  36. package/Icon/Icon.d.ts +11 -6
  37. package/IconButton/IconButton.d.ts +9 -7
  38. package/ImageList/ImageList.d.ts +11 -6
  39. package/ImageListItem/ImageListItem.d.ts +11 -6
  40. package/InputAdornment/InputAdornment.d.ts +11 -6
  41. package/InputLabel/InputLabel.d.ts +9 -7
  42. package/Link/Link.d.ts +11 -6
  43. package/List/List.d.ts +17 -10
  44. package/ListItem/ListItem.d.ts +9 -7
  45. package/ListItem/ListItem.js +1 -1
  46. package/ListItemButton/ListItemButton.d.ts +9 -7
  47. package/ListItemButton/ListItemButton.js +1 -1
  48. package/ListSubheader/ListSubheader.d.ts +11 -6
  49. package/Menu/Menu.d.ts +23 -2
  50. package/Menu/Menu.js +48 -10
  51. package/MenuItem/MenuItem.d.ts +11 -6
  52. package/MenuItem/MenuItem.js +1 -1
  53. package/MenuList/MenuList.d.ts +11 -6
  54. package/Modal/Modal.d.ts +11 -6
  55. package/OverridableComponent.d.ts +14 -21
  56. package/PaginationItem/PaginationItem.d.ts +12 -7
  57. package/Paper/Paper.d.ts +14 -9
  58. package/Paper/index.d.ts +1 -1
  59. package/README.md +1 -1
  60. package/ScopedCssBaseline/ScopedCssBaseline.d.ts +11 -6
  61. package/Select/Select.d.ts +8 -8
  62. package/Select/Select.js +1 -1
  63. package/Select/SelectInput.d.ts +7 -7
  64. package/Skeleton/Skeleton.d.ts +11 -6
  65. package/Slider/Slider.d.ts +11 -6
  66. package/Stack/Stack.d.ts +11 -6
  67. package/Step/Step.d.ts +11 -6
  68. package/StepButton/StepButton.d.ts +11 -6
  69. package/Stepper/Stepper.d.ts +11 -6
  70. package/SvgIcon/SvgIcon.d.ts +11 -6
  71. package/Tab/Tab.d.ts +11 -6
  72. package/Table/Table.d.ts +11 -6
  73. package/TableBody/TableBody.d.ts +11 -6
  74. package/TableContainer/TableContainer.d.ts +11 -6
  75. package/TableFooter/TableFooter.d.ts +11 -6
  76. package/TableHead/TableHead.d.ts +11 -6
  77. package/TablePagination/TablePagination.d.ts +11 -6
  78. package/TableRow/TableRow.d.ts +11 -6
  79. package/TableSortLabel/TableSortLabel.d.ts +9 -7
  80. package/Tabs/Tabs.d.ts +11 -6
  81. package/Tabs/Tabs.js +39 -42
  82. package/ToggleButton/ToggleButton.d.ts +9 -7
  83. package/Toolbar/Toolbar.d.ts +11 -6
  84. package/Typography/Typography.d.ts +11 -6
  85. package/index.d.ts +9 -9
  86. package/index.js +1 -1
  87. package/legacy/Autocomplete/Autocomplete.js +19 -16
  88. package/legacy/Button/Button.js +1 -1
  89. package/legacy/Chip/Chip.js +0 -2
  90. package/legacy/Divider/Divider.js +6 -0
  91. package/legacy/Fab/Fab.js +1 -1
  92. package/legacy/ListItem/ListItem.js +1 -1
  93. package/legacy/ListItemButton/ListItemButton.js +1 -1
  94. package/legacy/Menu/Menu.js +49 -9
  95. package/legacy/MenuItem/MenuItem.js +1 -1
  96. package/legacy/Select/Select.js +1 -1
  97. package/legacy/Tabs/Tabs.js +48 -48
  98. package/legacy/index.js +1 -1
  99. package/modern/Autocomplete/Autocomplete.js +16 -12
  100. package/modern/Button/Button.js +1 -1
  101. package/modern/Chip/Chip.js +0 -2
  102. package/modern/Divider/Divider.js +6 -0
  103. package/modern/Fab/Fab.js +1 -1
  104. package/modern/ListItem/ListItem.js +1 -1
  105. package/modern/ListItemButton/ListItemButton.js +1 -1
  106. package/modern/Menu/Menu.js +47 -10
  107. package/modern/MenuItem/MenuItem.js +1 -1
  108. package/modern/Select/Select.js +1 -1
  109. package/modern/Tabs/Tabs.js +39 -42
  110. package/modern/index.js +1 -1
  111. package/node/Autocomplete/Autocomplete.js +19 -15
  112. package/node/Button/Button.js +1 -1
  113. package/node/Chip/Chip.js +0 -2
  114. package/node/Divider/Divider.js +6 -0
  115. package/node/Fab/Fab.js +1 -1
  116. package/node/ListItem/ListItem.js +1 -1
  117. package/node/ListItemButton/ListItemButton.js +1 -1
  118. package/node/Menu/Menu.js +47 -9
  119. package/node/MenuItem/MenuItem.js +1 -1
  120. package/node/Select/Select.js +1 -1
  121. package/node/Tabs/Tabs.js +39 -42
  122. package/node/index.js +1 -1
  123. package/package.json +6 -6
  124. package/styles/ThemeProvider.d.ts +3 -3
  125. package/styles/components.d.ts +1 -0
  126. package/styles/createTypography.d.ts +9 -10
  127. package/styles/overrides.d.ts +2 -0
  128. package/styles/props.d.ts +1 -1
  129. package/types/OverridableComponentAugmentation.d.ts +7 -7
  130. package/umd/material-ui.development.js +362 -324
  131. package/umd/material-ui.production.min.js +21 -21
@@ -6,9 +6,12 @@ import { AccordionClasses } from './accordionClasses';
6
6
  import { OverridableComponent, OverrideProps } from '../OverridableComponent';
7
7
  import { ExtendPaperTypeMap } from '../Paper/Paper';
8
8
 
9
- export type AccordionTypeMap<P = {}, D extends React.ElementType = 'div'> = ExtendPaperTypeMap<
9
+ export type AccordionTypeMap<
10
+ AdditionalProps = {},
11
+ DefaultComponent extends React.ElementType = 'div',
12
+ > = ExtendPaperTypeMap<
10
13
  {
11
- props: P & {
14
+ props: AdditionalProps & {
12
15
  /**
13
16
  * The content of the component.
14
17
  */
@@ -62,7 +65,7 @@ export type AccordionTypeMap<P = {}, D extends React.ElementType = 'div'> = Exte
62
65
  */
63
66
  TransitionProps?: TransitionProps;
64
67
  };
65
- defaultComponent: D;
68
+ defaultComponent: DefaultComponent;
66
69
  },
67
70
  'onChange' | 'classes'
68
71
  >;
@@ -81,8 +84,10 @@ export type AccordionTypeMap<P = {}, D extends React.ElementType = 'div'> = Exte
81
84
  declare const Accordion: OverridableComponent<AccordionTypeMap>;
82
85
 
83
86
  export type AccordionProps<
84
- D extends React.ElementType = AccordionTypeMap['defaultComponent'],
85
- P = {},
86
- > = OverrideProps<AccordionTypeMap<P, D>, D>;
87
+ RootComponent extends React.ElementType = AccordionTypeMap['defaultComponent'],
88
+ AdditionalProps = {},
89
+ > = OverrideProps<AccordionTypeMap<AdditionalProps, RootComponent>, RootComponent> & {
90
+ component?: React.ElementType;
91
+ };
87
92
 
88
93
  export default Accordion;
@@ -6,10 +6,10 @@ import { Theme } from '..';
6
6
  import { AccordionSummaryClasses } from './accordionSummaryClasses';
7
7
 
8
8
  export type AccordionSummaryTypeMap<
9
- P = {},
10
- D extends React.ElementType = 'div',
9
+ AdditionalProps = {},
10
+ DefaultComponent extends React.ElementType = 'div',
11
11
  > = ExtendButtonBaseTypeMap<{
12
- props: P & {
12
+ props: AdditionalProps & {
13
13
  /**
14
14
  * The content of the component.
15
15
  */
@@ -27,7 +27,7 @@ export type AccordionSummaryTypeMap<
27
27
  */
28
28
  sx?: SxProps<Theme>;
29
29
  };
30
- defaultComponent: D;
30
+ defaultComponent: DefaultComponent;
31
31
  }>;
32
32
 
33
33
  /**
@@ -44,8 +44,10 @@ export type AccordionSummaryTypeMap<
44
44
  declare const AccordionSummary: ExtendButtonBase<AccordionSummaryTypeMap>;
45
45
 
46
46
  export type AccordionSummaryProps<
47
- D extends React.ElementType = AccordionSummaryTypeMap['defaultComponent'],
48
- P = {},
49
- > = OverrideProps<AccordionSummaryTypeMap<P, D>, D>;
47
+ RootComponent extends React.ElementType = AccordionSummaryTypeMap['defaultComponent'],
48
+ AdditionalProps = {},
49
+ > = OverrideProps<AccordionSummaryTypeMap<AdditionalProps, RootComponent>, RootComponent> & {
50
+ component?: React.ElementType;
51
+ };
50
52
 
51
53
  export default AccordionSummary;
@@ -8,9 +8,12 @@ import { ExtendPaperTypeMap } from '../Paper/Paper';
8
8
 
9
9
  export interface AppBarPropsColorOverrides {}
10
10
 
11
- export type AppBarTypeMap<P = {}, D extends React.ElementType = 'header'> = ExtendPaperTypeMap<
11
+ export type AppBarTypeMap<
12
+ AdditionalProps = {},
13
+ DefaultComponent extends React.ElementType = 'header',
14
+ > = ExtendPaperTypeMap<
12
15
  {
13
- props: P & {
16
+ props: AdditionalProps & {
14
17
  /**
15
18
  * Override or extend the styles applied to the component.
16
19
  */
@@ -39,7 +42,7 @@ export type AppBarTypeMap<P = {}, D extends React.ElementType = 'header'> = Exte
39
42
  */
40
43
  sx?: SxProps<Theme>;
41
44
  };
42
- defaultComponent: D;
45
+ defaultComponent: DefaultComponent;
43
46
  },
44
47
  'position' | 'color' | 'classes'
45
48
  >;
@@ -59,8 +62,10 @@ export type AppBarTypeMap<P = {}, D extends React.ElementType = 'header'> = Exte
59
62
  declare const AppBar: OverridableComponent<AppBarTypeMap>;
60
63
 
61
64
  export type AppBarProps<
62
- D extends React.ElementType = AppBarTypeMap['defaultComponent'],
63
- P = {},
64
- > = OverrideProps<AppBarTypeMap<P, D>, D>;
65
+ RootComponent extends React.ElementType = AppBarTypeMap['defaultComponent'],
66
+ AdditionalProps = {},
67
+ > = OverrideProps<AppBarTypeMap<AdditionalProps, RootComponent>, RootComponent> & {
68
+ component?: React.ElementType;
69
+ };
65
70
 
66
71
  export default AppBar;
@@ -1,8 +1,4 @@
1
1
  import * as React from 'react';
2
- import { IconButtonProps, InternalStandardProps as StandardProps, Theme } from '@mui/material';
3
- import { ChipProps, ChipTypeMap } from '@mui/material/Chip';
4
- import { PaperProps } from '@mui/material/Paper';
5
- import { PopperProps } from '@mui/material/Popper';
6
2
  import { SxProps } from '@mui/system';
7
3
  import { OverridableStringUnion } from '@mui/types';
8
4
  import {
@@ -13,7 +9,12 @@ import {
13
9
  AutocompleteInputChangeReason,
14
10
  createFilterOptions,
15
11
  UseAutocompleteProps,
12
+ AutocompleteFreeSoloValueMapping,
16
13
  } from '@mui/base';
14
+ import { IconButtonProps, InternalStandardProps as StandardProps, Theme } from '@mui/material';
15
+ import { ChipProps, ChipTypeMap } from '@mui/material/Chip';
16
+ import { PaperProps } from '@mui/material/Paper';
17
+ import { PopperProps } from '@mui/material/Popper';
17
18
  import { AutocompleteClasses } from './autocompleteClasses';
18
19
 
19
20
  export {
@@ -25,16 +26,17 @@ export {
25
26
  };
26
27
 
27
28
  export type AutocompleteOwnerState<
28
- T,
29
+ Value,
29
30
  Multiple extends boolean | undefined,
30
31
  DisableClearable extends boolean | undefined,
31
32
  FreeSolo extends boolean | undefined,
32
33
  ChipComponent extends React.ElementType = ChipTypeMap['defaultComponent'],
33
- > = AutocompleteProps<T, Multiple, DisableClearable, FreeSolo, ChipComponent> & {
34
+ > = AutocompleteProps<Value, Multiple, DisableClearable, FreeSolo, ChipComponent> & {
34
35
  disablePortal: boolean;
35
36
  expanded: boolean;
36
37
  focused: boolean;
37
38
  fullWidth: boolean;
39
+ getOptionLabel: (option: Value | AutocompleteFreeSoloValueMapping<FreeSolo>) => string;
38
40
  hasClearIcon: boolean;
39
41
  hasPopupIcon: boolean;
40
42
  inputFocused: boolean;
@@ -81,12 +83,12 @@ export interface AutocompleteRenderInputParams {
81
83
  export interface AutocompletePropsSizeOverrides {}
82
84
 
83
85
  export interface AutocompleteProps<
84
- T,
86
+ Value,
85
87
  Multiple extends boolean | undefined,
86
88
  DisableClearable extends boolean | undefined,
87
89
  FreeSolo extends boolean | undefined,
88
90
  ChipComponent extends React.ElementType = ChipTypeMap['defaultComponent'],
89
- > extends UseAutocompleteProps<T, Multiple, DisableClearable, FreeSolo>,
91
+ > extends UseAutocompleteProps<Value, Multiple, DisableClearable, FreeSolo>,
90
92
  StandardProps<React.HTMLAttributes<HTMLDivElement>, 'defaultValue' | 'onChange' | 'children'> {
91
93
  /**
92
94
  * Props applied to the [`Chip`](/material-ui/api/chip/) element.
@@ -236,29 +238,29 @@ export interface AutocompleteProps<
236
238
  * Render the option, use `getOptionLabel` by default.
237
239
  *
238
240
  * @param {object} props The props to apply on the li element.
239
- * @param {T} option The option to render.
241
+ * @param {Value} option The option to render.
240
242
  * @param {object} state The state of each option.
241
243
  * @param {object} ownerState The state of the Autocomplete component.
242
244
  * @returns {ReactNode}
243
245
  */
244
246
  renderOption?: (
245
247
  props: React.HTMLAttributes<HTMLLIElement>,
246
- option: T,
248
+ option: Value,
247
249
  state: AutocompleteRenderOptionState,
248
- ownerState: AutocompleteOwnerState<T, Multiple, DisableClearable, FreeSolo, ChipComponent>,
250
+ ownerState: AutocompleteOwnerState<Value, Multiple, DisableClearable, FreeSolo, ChipComponent>,
249
251
  ) => React.ReactNode;
250
252
  /**
251
253
  * Render the selected value.
252
254
  *
253
- * @param {T[]} value The `value` provided to the component.
255
+ * @param {Value[]} value The `value` provided to the component.
254
256
  * @param {function} getTagProps A tag props getter.
255
257
  * @param {object} ownerState The state of the Autocomplete component.
256
258
  * @returns {ReactNode}
257
259
  */
258
260
  renderTags?: (
259
- value: T[],
261
+ value: Value[],
260
262
  getTagProps: AutocompleteRenderGetTagProps,
261
- ownerState: AutocompleteOwnerState<T, Multiple, DisableClearable, FreeSolo, ChipComponent>,
263
+ ownerState: AutocompleteOwnerState<Value, Multiple, DisableClearable, FreeSolo, ChipComponent>,
262
264
  ) => React.ReactNode;
263
265
  /**
264
266
  * The size of the component.
@@ -292,9 +294,11 @@ export interface AutocompleteProps<
292
294
  * - [Autocomplete API](https://mui.com/material-ui/api/autocomplete/)
293
295
  */
294
296
  export default function Autocomplete<
295
- T,
297
+ Value,
296
298
  Multiple extends boolean | undefined = false,
297
299
  DisableClearable extends boolean | undefined = false,
298
300
  FreeSolo extends boolean | undefined = false,
299
301
  ChipComponent extends React.ElementType = ChipTypeMap['defaultComponent'],
300
- >(props: AutocompleteProps<T, Multiple, DisableClearable, FreeSolo, ChipComponent>): JSX.Element;
302
+ >(
303
+ props: AutocompleteProps<Value, Multiple, DisableClearable, FreeSolo, ChipComponent>,
304
+ ): JSX.Element;
@@ -373,6 +373,7 @@ const Autocomplete = /*#__PURE__*/React.forwardRef(function Autocomplete(inProps
373
373
  props: inProps,
374
374
  name: 'MuiAutocomplete'
375
375
  });
376
+
376
377
  /* eslint-disable @typescript-eslint/no-unused-vars */
377
378
  const {
378
379
  autoComplete = false,
@@ -401,10 +402,7 @@ const Autocomplete = /*#__PURE__*/React.forwardRef(function Autocomplete(inProps
401
402
  freeSolo = false,
402
403
  fullWidth = false,
403
404
  getLimitTagsText = more => `+${more}`,
404
- getOptionLabel = option => {
405
- var _option$label;
406
- return (_option$label = option.label) != null ? _option$label : option;
407
- },
405
+ getOptionLabel: getOptionLabelProp,
408
406
  groupBy,
409
407
  handleHomeEndKeys = !props.freeSolo,
410
408
  includeInputInList = false,
@@ -469,6 +467,11 @@ const Autocomplete = /*#__PURE__*/React.forwardRef(function Autocomplete(inProps
469
467
  } = _getListboxProps,
470
468
  otherListboxProps = _objectWithoutPropertiesLoose(_getListboxProps, _excluded2);
471
469
  const combinedListboxRef = useForkRef(listboxRef, externalListboxRef);
470
+ const defaultGetOptionLabel = option => {
471
+ var _option$label;
472
+ return (_option$label = option.label) != null ? _option$label : option;
473
+ };
474
+ const getOptionLabel = getOptionLabelProp || defaultGetOptionLabel;
472
475
 
473
476
  // If you modify this, make sure to keep the `AutocompleteOwnerState` type in sync.
474
477
  const ownerState = _extends({}, props, {
@@ -476,6 +479,7 @@ const Autocomplete = /*#__PURE__*/React.forwardRef(function Autocomplete(inProps
476
479
  expanded,
477
480
  focused,
478
481
  fullWidth,
482
+ getOptionLabel,
479
483
  hasClearIcon,
480
484
  hasPopupIcon,
481
485
  inputFocused: focusedTag === -1,
@@ -779,9 +783,9 @@ process.env.NODE_ENV !== "production" ? Autocomplete.propTypes /* remove-proptyp
779
783
  * A function that determines the filtered options to be rendered on search.
780
784
  *
781
785
  * @default createFilterOptions()
782
- * @param {T[]} options The options to render.
786
+ * @param {Value[]} options The options to render.
783
787
  * @param {object} state The state of the component.
784
- * @returns {T[]}
788
+ * @returns {Value[]}
785
789
  */
786
790
  filterOptions: PropTypes.func,
787
791
  /**
@@ -815,7 +819,7 @@ process.env.NODE_ENV !== "production" ? Autocomplete.propTypes /* remove-proptyp
815
819
  /**
816
820
  * Used to determine the disabled state for a given option.
817
821
  *
818
- * @param {T} option The option to test.
822
+ * @param {Value} option The option to test.
819
823
  * @returns {boolean}
820
824
  */
821
825
  getOptionDisabled: PropTypes.func,
@@ -825,7 +829,7 @@ process.env.NODE_ENV !== "production" ? Autocomplete.propTypes /* remove-proptyp
825
829
  *
826
830
  * If used in free solo mode, it must accept both the type of the options and a string.
827
831
  *
828
- * @param {T} option
832
+ * @param {Value} option
829
833
  * @returns {string}
830
834
  * @default (option) => option.label ?? option
831
835
  */
@@ -834,7 +838,7 @@ process.env.NODE_ENV !== "production" ? Autocomplete.propTypes /* remove-proptyp
834
838
  * If provided, the options will be grouped under the returned string.
835
839
  * The groupBy value is also used as the text for group headings when `renderGroup` is not provided.
836
840
  *
837
- * @param {T} options The options to group.
841
+ * @param {Value} options The options to group.
838
842
  * @returns {string}
839
843
  */
840
844
  groupBy: PropTypes.func,
@@ -863,8 +867,8 @@ process.env.NODE_ENV !== "production" ? Autocomplete.propTypes /* remove-proptyp
863
867
  * Uses strict equality by default.
864
868
  * ⚠️ Both arguments need to be handled, an option can only match with one value.
865
869
  *
866
- * @param {T} option The option to test.
867
- * @param {T} value The value to test against.
870
+ * @param {Value} option The option to test.
871
+ * @param {Value} value The value to test against.
868
872
  * @returns {boolean}
869
873
  */
870
874
  isOptionEqualToValue: PropTypes.func,
@@ -912,7 +916,7 @@ process.env.NODE_ENV !== "production" ? Autocomplete.propTypes /* remove-proptyp
912
916
  * Callback fired when the value changes.
913
917
  *
914
918
  * @param {React.SyntheticEvent} event The event source of the callback.
915
- * @param {T|T[]} value The new value of the component.
919
+ * @param {Value|Value[]} value The new value of the component.
916
920
  * @param {string} reason One of "createOption", "selectOption", "removeOption", "blur" or "clear".
917
921
  * @param {string} [details]
918
922
  */
@@ -929,7 +933,7 @@ process.env.NODE_ENV !== "production" ? Autocomplete.propTypes /* remove-proptyp
929
933
  * Callback fired when the highlight option changes.
930
934
  *
931
935
  * @param {React.SyntheticEvent} event The event source of the callback.
932
- * @param {T} option The highlighted option.
936
+ * @param {Value} option The highlighted option.
933
937
  * @param {string} reason Can be: `"keyboard"`, `"auto"`, `"mouse"`, `"touch"`.
934
938
  */
935
939
  onHighlightChange: PropTypes.func,
@@ -1006,7 +1010,7 @@ process.env.NODE_ENV !== "production" ? Autocomplete.propTypes /* remove-proptyp
1006
1010
  * Render the option, use `getOptionLabel` by default.
1007
1011
  *
1008
1012
  * @param {object} props The props to apply on the li element.
1009
- * @param {T} option The option to render.
1013
+ * @param {Value} option The option to render.
1010
1014
  * @param {object} state The state of each option.
1011
1015
  * @param {object} ownerState The state of the Autocomplete component.
1012
1016
  * @returns {ReactNode}
@@ -1015,7 +1019,7 @@ process.env.NODE_ENV !== "production" ? Autocomplete.propTypes /* remove-proptyp
1015
1019
  /**
1016
1020
  * Render the selected value.
1017
1021
  *
1018
- * @param {T[]} value The `value` provided to the component.
1022
+ * @param {Value[]} value The `value` provided to the component.
1019
1023
  * @param {function} getTagProps A tag props getter.
1020
1024
  * @param {object} ownerState The state of the Autocomplete component.
1021
1025
  * @returns {ReactNode}
@@ -7,8 +7,11 @@ import { AvatarClasses } from './avatarClasses';
7
7
 
8
8
  export interface AvatarPropsVariantOverrides {}
9
9
 
10
- export interface AvatarTypeMap<P = {}, D extends React.ElementType = 'div'> {
11
- props: P & {
10
+ export interface AvatarTypeMap<
11
+ AdditionalProps = {},
12
+ DefaultComponent extends React.ElementType = 'div',
13
+ > {
14
+ props: AdditionalProps & {
12
15
  /**
13
16
  * Used in combination with `src` or `srcSet` to
14
17
  * provide an alt attribute for the rendered `img` element.
@@ -56,7 +59,7 @@ export interface AvatarTypeMap<P = {}, D extends React.ElementType = 'div'> {
56
59
  AvatarPropsVariantOverrides
57
60
  >;
58
61
  };
59
- defaultComponent: D;
62
+ defaultComponent: DefaultComponent;
60
63
  }
61
64
 
62
65
  /**
@@ -72,8 +75,10 @@ export interface AvatarTypeMap<P = {}, D extends React.ElementType = 'div'> {
72
75
  declare const Avatar: OverridableComponent<AvatarTypeMap>;
73
76
 
74
77
  export type AvatarProps<
75
- D extends React.ElementType = AvatarTypeMap['defaultComponent'],
76
- P = {},
77
- > = OverrideProps<AvatarTypeMap<P, D>, D>;
78
+ RootComponent extends React.ElementType = AvatarTypeMap['defaultComponent'],
79
+ AdditionalProps = {},
80
+ > = OverrideProps<AvatarTypeMap<AdditionalProps, RootComponent>, RootComponent> & {
81
+ component?: React.ElementType;
82
+ };
78
83
 
79
84
  export default Avatar;
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
- import { InternalStandardProps as StandardProps, Theme } from '@mui/material';
3
2
  import { OverridableStringUnion } from '@mui/types';
4
3
  import { SxProps } from '@mui/system';
4
+ import { InternalStandardProps as StandardProps, Theme } from '@mui/material';
5
5
  import { AvatarGroupClasses } from './avatarGroupClasses';
6
6
  import Avatar from '../Avatar';
7
7
 
@@ -8,8 +8,11 @@ import { OverridableComponent, OverrideProps } from '../OverridableComponent';
8
8
 
9
9
  export interface BackdropComponentsPropsOverrides {}
10
10
 
11
- export interface BackdropTypeMap<P = {}, D extends React.ElementType = 'div'> {
12
- props: P &
11
+ export interface BackdropTypeMap<
12
+ AdditionalProps = {},
13
+ DefaultComponent extends React.ElementType = 'div',
14
+ > {
15
+ props: AdditionalProps &
13
16
  Partial<Omit<FadeProps, 'children'>> & {
14
17
  /**
15
18
  * The content of the component.
@@ -92,7 +95,7 @@ export interface BackdropTypeMap<P = {}, D extends React.ElementType = 'div'> {
92
95
  TransitionProps & { children: React.ReactElement<any, any> }
93
96
  >;
94
97
  };
95
- defaultComponent: D;
98
+ defaultComponent: DefaultComponent;
96
99
  }
97
100
 
98
101
  type BackdropRootProps = NonNullable<BackdropTypeMap['props']['componentsProps']>['root'];
@@ -113,8 +116,10 @@ export declare const BackdropRoot: React.FC<BackdropRootProps>;
113
116
  declare const Backdrop: OverridableComponent<BackdropTypeMap>;
114
117
 
115
118
  export type BackdropProps<
116
- D extends React.ElementType = BackdropTypeMap['defaultComponent'],
117
- P = {},
118
- > = OverrideProps<BackdropTypeMap<P, D>, D>;
119
+ RootComponent extends React.ElementType = BackdropTypeMap['defaultComponent'],
120
+ AdditionalProps = {},
121
+ > = OverrideProps<BackdropTypeMap<AdditionalProps, RootComponent>, RootComponent> & {
122
+ component?: React.ElementType;
123
+ };
119
124
 
120
125
  export default Backdrop;
package/Badge/Badge.d.ts CHANGED
@@ -15,8 +15,11 @@ export interface BadgeOrigin {
15
15
  horizontal: 'left' | 'right';
16
16
  }
17
17
 
18
- export type BadgeTypeMap<D extends React.ElementType = 'span', P = {}> = ExtendBadgeTypeMap<{
19
- props: P & {
18
+ export type BadgeTypeMap<
19
+ DefaultComponent extends React.ElementType = 'span',
20
+ AdditionalProps = {},
21
+ > = ExtendBadgeTypeMap<{
22
+ props: AdditionalProps & {
20
23
  /**
21
24
  * The anchor of the badge.
22
25
  * @default {
@@ -80,7 +83,7 @@ export type BadgeTypeMap<D extends React.ElementType = 'span', P = {}> = ExtendB
80
83
  */
81
84
  variant?: OverridableStringUnion<'standard' | 'dot', BadgePropsVariantOverrides>;
82
85
  };
83
- defaultComponent: D;
86
+ defaultComponent: DefaultComponent;
84
87
  }>;
85
88
 
86
89
  type BadgeRootProps = NonNullable<BadgeTypeMap['props']['slotProps']>['root'];
@@ -103,8 +106,10 @@ export declare const BadgeMark: React.FC<BadgeBadgeProps>;
103
106
  declare const Badge: OverridableComponent<BadgeTypeMap>;
104
107
 
105
108
  export type BadgeProps<
106
- D extends React.ElementType = BadgeTypeMap['defaultComponent'],
107
- P = {},
108
- > = OverrideProps<BadgeTypeMap<D, P>, D>;
109
+ RootComponent extends React.ElementType = BadgeTypeMap['defaultComponent'],
110
+ AdditionalProps = {},
111
+ > = OverrideProps<BadgeTypeMap<RootComponent, AdditionalProps>, RootComponent> & {
112
+ component?: React.ElementType;
113
+ };
109
114
 
110
115
  export default Badge;
@@ -4,8 +4,11 @@ import { Theme } from '..';
4
4
  import { OverridableComponent, OverrideProps } from '../OverridableComponent';
5
5
  import { BottomNavigationClasses } from './bottomNavigationClasses';
6
6
 
7
- export interface BottomNavigationTypeMap<P = {}, D extends React.ElementType = 'div'> {
8
- props: P & {
7
+ export interface BottomNavigationTypeMap<
8
+ AdditionalProps = {},
9
+ DefaultComponent extends React.ElementType = 'div',
10
+ > {
11
+ props: AdditionalProps & {
9
12
  /**
10
13
  * The content of the component.
11
14
  */
@@ -36,7 +39,7 @@ export interface BottomNavigationTypeMap<P = {}, D extends React.ElementType = '
36
39
  */
37
40
  value?: any;
38
41
  };
39
- defaultComponent: D;
42
+ defaultComponent: DefaultComponent;
40
43
  }
41
44
  /**
42
45
  *
@@ -51,8 +54,10 @@ export interface BottomNavigationTypeMap<P = {}, D extends React.ElementType = '
51
54
  declare const BottomNavigation: OverridableComponent<BottomNavigationTypeMap>;
52
55
 
53
56
  export type BottomNavigationProps<
54
- D extends React.ElementType = BottomNavigationTypeMap['defaultComponent'],
55
- P = {},
56
- > = OverrideProps<BottomNavigationTypeMap<P, D>, D>;
57
+ RootComponent extends React.ElementType = BottomNavigationTypeMap['defaultComponent'],
58
+ AdditionalProps = {},
59
+ > = OverrideProps<BottomNavigationTypeMap<AdditionalProps, RootComponent>, RootComponent> & {
60
+ component?: React.ElementType;
61
+ };
57
62
 
58
63
  export default BottomNavigation;
@@ -6,10 +6,10 @@ import { OverrideProps } from '../OverridableComponent';
6
6
  import { BottomNavigationActionClasses } from './bottomNavigationActionClasses';
7
7
 
8
8
  export type BottomNavigationActionTypeMap<
9
- P,
10
- D extends React.ElementType,
9
+ AdditionalProps,
10
+ DefaultComponent extends React.ElementType,
11
11
  > = ExtendButtonBaseTypeMap<{
12
- props: P & {
12
+ props: AdditionalProps & {
13
13
  /**
14
14
  * This prop isn't supported.
15
15
  * Use the `component` prop if you need to change the children structure.
@@ -44,7 +44,7 @@ export type BottomNavigationActionTypeMap<
44
44
  */
45
45
  value?: any;
46
46
  };
47
- defaultComponent: D;
47
+ defaultComponent: DefaultComponent;
48
48
  }>;
49
49
 
50
50
  /**
@@ -63,8 +63,10 @@ declare const BottomNavigationAction: ExtendButtonBase<
63
63
  >;
64
64
 
65
65
  export type BottomNavigationActionProps<
66
- D extends React.ElementType = ButtonBaseTypeMap['defaultComponent'],
67
- P = {},
68
- > = OverrideProps<BottomNavigationActionTypeMap<P, D>, D>;
66
+ RootComponent extends React.ElementType = ButtonBaseTypeMap['defaultComponent'],
67
+ AdditionalProps = {},
68
+ > = OverrideProps<BottomNavigationActionTypeMap<AdditionalProps, RootComponent>, RootComponent> & {
69
+ component?: React.ElementType;
70
+ };
69
71
 
70
72
  export default BottomNavigationAction;
package/Box/Box.d.ts CHANGED
@@ -16,8 +16,8 @@ import { Theme as MaterialTheme } from '../styles';
16
16
  declare const Box: OverridableComponent<BoxTypeMap<{}, 'div', MaterialTheme>>;
17
17
 
18
18
  export type BoxProps<
19
- D extends React.ElementType = BoxTypeMap['defaultComponent'],
20
- P = {},
21
- > = OverrideProps<BoxTypeMap<P, D, MaterialTheme>, D>;
19
+ RootComponent extends React.ElementType = BoxTypeMap['defaultComponent'],
20
+ AdditionalProps = {},
21
+ > = OverrideProps<BoxTypeMap<AdditionalProps, RootComponent, MaterialTheme>, RootComponent>;
22
22
 
23
23
  export default Box;
@@ -12,8 +12,11 @@ export interface BreadcrumbsOwnerState extends BreadcrumbsProps {
12
12
  expanded: boolean;
13
13
  }
14
14
 
15
- export interface BreadcrumbsTypeMap<P = {}, D extends React.ElementType = 'nav'> {
16
- props: P & {
15
+ export interface BreadcrumbsTypeMap<
16
+ AdditionalProps = {},
17
+ DefaultComponent extends React.ElementType = 'nav',
18
+ > {
19
+ props: AdditionalProps & {
17
20
  /**
18
21
  * The content of the component.
19
22
  */
@@ -79,7 +82,7 @@ export interface BreadcrumbsTypeMap<P = {}, D extends React.ElementType = 'nav'>
79
82
  */
80
83
  sx?: SxProps<Theme>;
81
84
  };
82
- defaultComponent: D;
85
+ defaultComponent: DefaultComponent;
83
86
  }
84
87
 
85
88
  /**
@@ -95,8 +98,10 @@ export interface BreadcrumbsTypeMap<P = {}, D extends React.ElementType = 'nav'>
95
98
  declare const Breadcrumbs: OverridableComponent<BreadcrumbsTypeMap>;
96
99
 
97
100
  export type BreadcrumbsProps<
98
- D extends React.ElementType = BreadcrumbsTypeMap['defaultComponent'],
99
- P = {},
100
- > = OverrideProps<BreadcrumbsTypeMap<P, D>, D>;
101
+ RootComponent extends React.ElementType = BreadcrumbsTypeMap['defaultComponent'],
102
+ AdditionalProps = {},
103
+ > = OverrideProps<BreadcrumbsTypeMap<AdditionalProps, RootComponent>, RootComponent> & {
104
+ component?: React.ElementType;
105
+ };
101
106
 
102
107
  export default Breadcrumbs;
@@ -13,10 +13,10 @@ export interface ButtonPropsColorOverrides {}
13
13
  export interface ButtonPropsSizeOverrides {}
14
14
 
15
15
  export type ButtonTypeMap<
16
- P = {},
17
- D extends React.ElementType = 'button',
16
+ AdditionalProps = {},
17
+ DefaultComponent extends React.ElementType = 'button',
18
18
  > = ExtendButtonBaseTypeMap<{
19
- props: P & {
19
+ props: AdditionalProps & {
20
20
  /**
21
21
  * The content of the component.
22
22
  */
@@ -87,7 +87,7 @@ export type ButtonTypeMap<
87
87
  ButtonPropsVariantOverrides
88
88
  >;
89
89
  };
90
- defaultComponent: D;
90
+ defaultComponent: DefaultComponent;
91
91
  }>;
92
92
 
93
93
  /**
@@ -95,18 +95,18 @@ export type ButtonTypeMap<
95
95
  * This component has an additional overload if the `href` prop is set which
96
96
  * can make extension quite tricky
97
97
  */
98
- export interface ExtendButtonTypeMap<M extends OverridableTypeMap> {
99
- props: M['props'] &
100
- (M['props'] extends { classes?: Record<string, string> }
98
+ export interface ExtendButtonTypeMap<TypeMap extends OverridableTypeMap> {
99
+ props: TypeMap['props'] &
100
+ (TypeMap['props'] extends { classes?: Record<string, string> }
101
101
  ? DistributiveOmit<ButtonTypeMap['props'], 'classes'>
102
102
  : ButtonTypeMap['props']);
103
- defaultComponent: M['defaultComponent'];
103
+ defaultComponent: TypeMap['defaultComponent'];
104
104
  }
105
105
 
106
- export type ExtendButton<M extends OverridableTypeMap> = ((
107
- props: { href: string } & OverrideProps<ExtendButtonBaseTypeMap<M>, 'a'>,
106
+ export type ExtendButton<TypeMap extends OverridableTypeMap> = ((
107
+ props: { href: string } & OverrideProps<ExtendButtonBaseTypeMap<TypeMap>, 'a'>,
108
108
  ) => JSX.Element) &
109
- OverridableComponent<ExtendButtonBaseTypeMap<M>>;
109
+ OverridableComponent<ExtendButtonBaseTypeMap<TypeMap>>;
110
110
 
111
111
  /**
112
112
  *
@@ -123,8 +123,10 @@ export type ExtendButton<M extends OverridableTypeMap> = ((
123
123
  declare const Button: ExtendButtonBase<ButtonTypeMap>;
124
124
 
125
125
  export type ButtonProps<
126
- D extends React.ElementType = ButtonTypeMap['defaultComponent'],
127
- P = {},
128
- > = OverrideProps<ButtonTypeMap<P, D>, D>;
126
+ RootComponent extends React.ElementType = ButtonTypeMap['defaultComponent'],
127
+ AdditionalProps = {},
128
+ > = OverrideProps<ButtonTypeMap<AdditionalProps, RootComponent>, RootComponent> & {
129
+ component?: React.ElementType;
130
+ };
129
131
 
130
132
  export default Button;
package/Button/Button.js CHANGED
@@ -307,7 +307,7 @@ process.env.NODE_ENV !== "production" ? Button.propTypes /* remove-proptypes */
307
307
  * The component used for the root node.
308
308
  * Either a string to use a HTML element or a component.
309
309
  */
310
- component: PropTypes /* @typescript-to-proptypes-ignore */.elementType,
310
+ component: PropTypes.elementType,
311
311
  /**
312
312
  * If `true`, the component is disabled.
313
313
  * @default false