@mui/material 6.0.1 → 6.1.0

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 (222) hide show
  1. package/Accordion/Accordion.d.ts +2 -2
  2. package/Alert/Alert.d.ts +2 -2
  3. package/Alert/Alert.js +4 -3
  4. package/AppBar/AppBar.js +2 -1
  5. package/Autocomplete/Autocomplete.d.ts +8 -6
  6. package/Autocomplete/Autocomplete.js +4 -4
  7. package/Avatar/Avatar.d.ts +1 -1
  8. package/AvatarGroup/AvatarGroup.d.ts +1 -1
  9. package/Backdrop/Backdrop.d.ts +2 -2
  10. package/Badge/Badge.js +2 -1
  11. package/Button/Button.js +2 -1
  12. package/ButtonGroup/ButtonGroup.js +3 -2
  13. package/CHANGELOG.md +127 -15130
  14. package/Checkbox/Checkbox.js +3 -2
  15. package/Chip/Chip.js +6 -5
  16. package/CircularProgress/CircularProgress.js +2 -1
  17. package/Dialog/Dialog.js +1 -0
  18. package/Fab/Fab.js +2 -1
  19. package/FilledInput/FilledInput.js +2 -1
  20. package/FormControl/FormControl.d.ts +4 -4
  21. package/FormControlLabel/FormControlLabel.d.ts +1 -1
  22. package/FormLabel/FormLabel.js +2 -1
  23. package/Grid/Grid.d.ts +0 -1
  24. package/Grid/Grid.js +0 -1
  25. package/Icon/Icon.js +2 -1
  26. package/IconButton/IconButton.js +3 -2
  27. package/Input/Input.js +2 -1
  28. package/InputAdornment/InputAdornment.js +1 -1
  29. package/InputBase/InputBase.js +1 -1
  30. package/LinearProgress/LinearProgress.js +6 -5
  31. package/Link/Link.js +2 -1
  32. package/MenuList/MenuList.js +8 -0
  33. package/Modal/Modal.d.ts +4 -4
  34. package/NoSsr/NoSsr.d.ts +4 -4
  35. package/NoSsr/NoSsr.js +4 -4
  36. package/OutlinedInput/OutlinedInput.js +2 -1
  37. package/PaginationItem/PaginationItem.d.ts +4 -4
  38. package/PaginationItem/PaginationItem.js +3 -2
  39. package/Popover/Popover.d.ts +27 -4
  40. package/Popover/Popover.js +20 -0
  41. package/Portal/Portal.js +1 -1
  42. package/Radio/Radio.js +19 -3
  43. package/Slider/Slider.js +4 -3
  44. package/SpeedDial/SpeedDial.d.ts +1 -1
  45. package/SpeedDialIcon/SpeedDialIcon.js +1 -1
  46. package/StepButton/StepButton.js +1 -1
  47. package/StepLabel/StepLabel.d.ts +2 -2
  48. package/Switch/Switch.js +2 -1
  49. package/TextField/TextField.d.ts +13 -13
  50. package/ToggleButton/ToggleButton.js +2 -1
  51. package/Typography/Typography.js +2 -1
  52. package/index.js +1 -1
  53. package/internal/svg-icons/Add.js +1 -1
  54. package/internal/svg-icons/ArrowDownward.js +1 -1
  55. package/internal/svg-icons/ArrowDropDown.js +1 -1
  56. package/internal/svg-icons/Cancel.js +1 -1
  57. package/internal/svg-icons/CheckBox.js +1 -1
  58. package/internal/svg-icons/CheckBoxOutlineBlank.js +1 -1
  59. package/internal/svg-icons/CheckCircle.js +1 -1
  60. package/internal/svg-icons/Close.js +1 -1
  61. package/internal/svg-icons/ErrorOutline.js +1 -1
  62. package/internal/svg-icons/FirstPage.js +1 -1
  63. package/internal/svg-icons/IndeterminateCheckBox.js +1 -1
  64. package/internal/svg-icons/InfoOutlined.js +1 -1
  65. package/internal/svg-icons/KeyboardArrowLeft.js +1 -1
  66. package/internal/svg-icons/KeyboardArrowRight.js +1 -1
  67. package/internal/svg-icons/LastPage.js +1 -1
  68. package/internal/svg-icons/MoreHoriz.js +1 -1
  69. package/internal/svg-icons/NavigateBefore.js +1 -1
  70. package/internal/svg-icons/NavigateNext.js +1 -1
  71. package/internal/svg-icons/Person.js +1 -1
  72. package/internal/svg-icons/RadioButtonChecked.js +1 -1
  73. package/internal/svg-icons/RadioButtonUnchecked.js +1 -1
  74. package/internal/svg-icons/ReportProblemOutlined.js +1 -1
  75. package/internal/svg-icons/Star.js +1 -1
  76. package/internal/svg-icons/StarBorder.js +1 -1
  77. package/internal/svg-icons/SuccessOutlined.js +1 -1
  78. package/internal/svg-icons/Warning.js +1 -1
  79. package/modern/Alert/Alert.js +4 -3
  80. package/modern/AppBar/AppBar.js +2 -1
  81. package/modern/Autocomplete/Autocomplete.js +4 -4
  82. package/modern/Badge/Badge.js +2 -1
  83. package/modern/Button/Button.js +2 -1
  84. package/modern/ButtonGroup/ButtonGroup.js +3 -2
  85. package/modern/Checkbox/Checkbox.js +3 -2
  86. package/modern/Chip/Chip.js +6 -5
  87. package/modern/CircularProgress/CircularProgress.js +2 -1
  88. package/modern/Dialog/Dialog.js +1 -0
  89. package/modern/Fab/Fab.js +2 -1
  90. package/modern/FilledInput/FilledInput.js +2 -1
  91. package/modern/FormLabel/FormLabel.js +2 -1
  92. package/modern/Grid/Grid.js +0 -1
  93. package/modern/Icon/Icon.js +2 -1
  94. package/modern/IconButton/IconButton.js +3 -2
  95. package/modern/Input/Input.js +2 -1
  96. package/modern/InputAdornment/InputAdornment.js +1 -1
  97. package/modern/InputBase/InputBase.js +1 -1
  98. package/modern/LinearProgress/LinearProgress.js +6 -5
  99. package/modern/Link/Link.js +2 -1
  100. package/modern/MenuList/MenuList.js +8 -0
  101. package/modern/NoSsr/NoSsr.js +4 -4
  102. package/modern/OutlinedInput/OutlinedInput.js +2 -1
  103. package/modern/PaginationItem/PaginationItem.js +3 -2
  104. package/modern/Popover/Popover.js +20 -0
  105. package/modern/Portal/Portal.js +1 -1
  106. package/modern/Radio/Radio.js +19 -3
  107. package/modern/Slider/Slider.js +4 -3
  108. package/modern/SpeedDialIcon/SpeedDialIcon.js +1 -1
  109. package/modern/StepButton/StepButton.js +1 -1
  110. package/modern/Switch/Switch.js +2 -1
  111. package/modern/ToggleButton/ToggleButton.js +2 -1
  112. package/modern/Typography/Typography.js +2 -1
  113. package/modern/index.js +1 -1
  114. package/modern/internal/svg-icons/Add.js +1 -1
  115. package/modern/internal/svg-icons/ArrowDownward.js +1 -1
  116. package/modern/internal/svg-icons/ArrowDropDown.js +1 -1
  117. package/modern/internal/svg-icons/Cancel.js +1 -1
  118. package/modern/internal/svg-icons/CheckBox.js +1 -1
  119. package/modern/internal/svg-icons/CheckBoxOutlineBlank.js +1 -1
  120. package/modern/internal/svg-icons/CheckCircle.js +1 -1
  121. package/modern/internal/svg-icons/Close.js +1 -1
  122. package/modern/internal/svg-icons/ErrorOutline.js +1 -1
  123. package/modern/internal/svg-icons/FirstPage.js +1 -1
  124. package/modern/internal/svg-icons/IndeterminateCheckBox.js +1 -1
  125. package/modern/internal/svg-icons/InfoOutlined.js +1 -1
  126. package/modern/internal/svg-icons/KeyboardArrowLeft.js +1 -1
  127. package/modern/internal/svg-icons/KeyboardArrowRight.js +1 -1
  128. package/modern/internal/svg-icons/LastPage.js +1 -1
  129. package/modern/internal/svg-icons/MoreHoriz.js +1 -1
  130. package/modern/internal/svg-icons/NavigateBefore.js +1 -1
  131. package/modern/internal/svg-icons/NavigateNext.js +1 -1
  132. package/modern/internal/svg-icons/Person.js +1 -1
  133. package/modern/internal/svg-icons/RadioButtonChecked.js +1 -1
  134. package/modern/internal/svg-icons/RadioButtonUnchecked.js +1 -1
  135. package/modern/internal/svg-icons/ReportProblemOutlined.js +1 -1
  136. package/modern/internal/svg-icons/Star.js +1 -1
  137. package/modern/internal/svg-icons/StarBorder.js +1 -1
  138. package/modern/internal/svg-icons/SuccessOutlined.js +1 -1
  139. package/modern/internal/svg-icons/Warning.js +1 -1
  140. package/modern/styles/ThemeProviderWithVars.js +5 -3
  141. package/modern/styles/createGetSelector.js +2 -2
  142. package/modern/styles/createTheme.js +22 -3
  143. package/modern/utils/createSimplePaletteValueFilter.js +41 -0
  144. package/modern/utils/createSvgIcon.js +1 -1
  145. package/modern/version/index.js +4 -5
  146. package/node/Alert/Alert.js +4 -3
  147. package/node/AppBar/AppBar.js +2 -1
  148. package/node/Autocomplete/Autocomplete.js +4 -4
  149. package/node/Badge/Badge.js +2 -1
  150. package/node/Button/Button.js +2 -1
  151. package/node/ButtonGroup/ButtonGroup.js +3 -2
  152. package/node/Checkbox/Checkbox.js +3 -2
  153. package/node/Chip/Chip.js +6 -5
  154. package/node/CircularProgress/CircularProgress.js +2 -1
  155. package/node/Dialog/Dialog.js +1 -0
  156. package/node/Fab/Fab.js +2 -1
  157. package/node/FilledInput/FilledInput.js +2 -1
  158. package/node/FormLabel/FormLabel.js +2 -1
  159. package/node/Grid/Grid.js +0 -1
  160. package/node/Icon/Icon.js +2 -1
  161. package/node/IconButton/IconButton.js +3 -2
  162. package/node/Input/Input.js +2 -1
  163. package/node/InputAdornment/InputAdornment.js +1 -1
  164. package/node/InputBase/InputBase.js +1 -1
  165. package/node/LinearProgress/LinearProgress.js +6 -5
  166. package/node/Link/Link.js +2 -1
  167. package/node/MenuList/MenuList.js +8 -0
  168. package/node/NoSsr/NoSsr.js +4 -4
  169. package/node/OutlinedInput/OutlinedInput.js +2 -1
  170. package/node/PaginationItem/PaginationItem.js +3 -2
  171. package/node/Popover/Popover.js +20 -0
  172. package/node/Portal/Portal.js +1 -1
  173. package/node/Radio/Radio.js +19 -3
  174. package/node/Slider/Slider.js +4 -3
  175. package/node/SpeedDialIcon/SpeedDialIcon.js +1 -1
  176. package/node/StepButton/StepButton.js +1 -1
  177. package/node/Switch/Switch.js +2 -1
  178. package/node/ToggleButton/ToggleButton.js +2 -1
  179. package/node/Typography/Typography.js +2 -1
  180. package/node/index.js +1 -1
  181. package/node/internal/svg-icons/Add.js +1 -1
  182. package/node/internal/svg-icons/ArrowDownward.js +1 -1
  183. package/node/internal/svg-icons/ArrowDropDown.js +1 -1
  184. package/node/internal/svg-icons/Cancel.js +1 -1
  185. package/node/internal/svg-icons/CheckBox.js +1 -1
  186. package/node/internal/svg-icons/CheckBoxOutlineBlank.js +1 -1
  187. package/node/internal/svg-icons/CheckCircle.js +1 -1
  188. package/node/internal/svg-icons/Close.js +1 -1
  189. package/node/internal/svg-icons/ErrorOutline.js +1 -1
  190. package/node/internal/svg-icons/FirstPage.js +1 -1
  191. package/node/internal/svg-icons/IndeterminateCheckBox.js +1 -1
  192. package/node/internal/svg-icons/InfoOutlined.js +1 -1
  193. package/node/internal/svg-icons/KeyboardArrowLeft.js +1 -1
  194. package/node/internal/svg-icons/KeyboardArrowRight.js +1 -1
  195. package/node/internal/svg-icons/LastPage.js +1 -1
  196. package/node/internal/svg-icons/MoreHoriz.js +1 -1
  197. package/node/internal/svg-icons/NavigateBefore.js +1 -1
  198. package/node/internal/svg-icons/NavigateNext.js +1 -1
  199. package/node/internal/svg-icons/Person.js +1 -1
  200. package/node/internal/svg-icons/RadioButtonChecked.js +1 -1
  201. package/node/internal/svg-icons/RadioButtonUnchecked.js +1 -1
  202. package/node/internal/svg-icons/ReportProblemOutlined.js +1 -1
  203. package/node/internal/svg-icons/Star.js +1 -1
  204. package/node/internal/svg-icons/StarBorder.js +1 -1
  205. package/node/internal/svg-icons/SuccessOutlined.js +1 -1
  206. package/node/internal/svg-icons/Warning.js +1 -1
  207. package/node/styles/ThemeProviderWithVars.js +5 -3
  208. package/node/styles/createTheme.js +22 -3
  209. package/node/utils/createSimplePaletteValueFilter.js +47 -0
  210. package/node/utils/createSvgIcon.js +1 -1
  211. package/node/version/index.js +5 -6
  212. package/package.json +7 -7
  213. package/styles/ThemeProviderWithVars.js +5 -3
  214. package/styles/createGetSelector.js +2 -2
  215. package/styles/createTheme.js +22 -3
  216. package/utils/createSimplePaletteValueFilter.d.ts +12 -0
  217. package/utils/createSimplePaletteValueFilter.js +41 -0
  218. package/utils/createSvgIcon.js +1 -1
  219. package/utils/memoTheme.d.ts +1 -1
  220. package/utils/types.d.ts +3 -2
  221. package/version/index.d.ts +1 -2
  222. package/version/index.js +4 -5
@@ -12,13 +12,13 @@ export interface AccordionSlots {
12
12
  * The component that renders the heading.
13
13
  * @default 'h3'
14
14
  */
15
- heading?: React.ElementType;
15
+ heading: React.ElementType;
16
16
  /**
17
17
  * The component that renders the transition.
18
18
  * [Follow this guide](https://mui.com/material-ui/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.
19
19
  * @default Collapse
20
20
  */
21
- transition?: React.JSXElementConstructor<
21
+ transition: React.JSXElementConstructor<
22
22
  TransitionProps & { children?: React.ReactElement<unknown, any> }
23
23
  >;
24
24
  }
package/Alert/Alert.d.ts CHANGED
@@ -18,12 +18,12 @@ export interface AlertSlots {
18
18
  * The component that renders the close button.
19
19
  * @default IconButton
20
20
  */
21
- closeButton?: React.ElementType;
21
+ closeButton: React.ElementType;
22
22
  /**
23
23
  * The component that renders the close icon.
24
24
  * @default svg
25
25
  */
26
- closeIcon?: React.ElementType;
26
+ closeIcon: React.ElementType;
27
27
  }
28
28
 
29
29
  export type AlertSlotsAndSlotProps = CreateSlotsAndSlotProps<
package/Alert/Alert.js CHANGED
@@ -10,6 +10,7 @@ import memoTheme from "../utils/memoTheme.js";
10
10
  import { useDefaultProps } from "../DefaultPropsProvider/index.js";
11
11
  import useSlot from "../utils/useSlot.js";
12
12
  import capitalize from "../utils/capitalize.js";
13
+ import createSimplePaletteValueFilter from "../utils/createSimplePaletteValueFilter.js";
13
14
  import Paper from "../Paper/index.js";
14
15
  import alertClasses, { getAlertUtilityClass } from "./alertClasses.js";
15
16
  import IconButton from "../IconButton/index.js";
@@ -53,7 +54,7 @@ const AlertRoot = styled(Paper, {
53
54
  backgroundColor: 'transparent',
54
55
  display: 'flex',
55
56
  padding: '6px 16px',
56
- variants: [...Object.entries(theme.palette).filter(([, value]) => value && value.main && value.light).map(([color]) => ({
57
+ variants: [...Object.entries(theme.palette).filter(createSimplePaletteValueFilter(['light'])).map(([color]) => ({
57
58
  props: {
58
59
  colorSeverity: color,
59
60
  variant: 'standard'
@@ -67,7 +68,7 @@ const AlertRoot = styled(Paper, {
67
68
  color: theme.palette[color].main
68
69
  }
69
70
  }
70
- })), ...Object.entries(theme.palette).filter(([, value]) => value && value.main && value.light).map(([color]) => ({
71
+ })), ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter(['light'])).map(([color]) => ({
71
72
  props: {
72
73
  colorSeverity: color,
73
74
  variant: 'outlined'
@@ -81,7 +82,7 @@ const AlertRoot = styled(Paper, {
81
82
  color: theme.palette[color].main
82
83
  }
83
84
  }
84
- })), ...Object.entries(theme.palette).filter(([, value]) => value && value.main && value.dark).map(([color]) => ({
85
+ })), ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter(['dark'])).map(([color]) => ({
85
86
  props: {
86
87
  colorSeverity: color,
87
88
  variant: 'filled'
package/AppBar/AppBar.js CHANGED
@@ -8,6 +8,7 @@ import { styled } from "../zero-styled/index.js";
8
8
  import memoTheme from "../utils/memoTheme.js";
9
9
  import { useDefaultProps } from "../DefaultPropsProvider/index.js";
10
10
  import capitalize from "../utils/capitalize.js";
11
+ import createSimplePaletteValueFilter from "../utils/createSimplePaletteValueFilter.js";
11
12
  import Paper from "../Paper/index.js";
12
13
  import { getAppBarUtilityClass } from "./appBarClasses.js";
13
14
  import { jsx as _jsx } from "react/jsx-runtime";
@@ -114,7 +115,7 @@ const AppBarRoot = styled(Paper, {
114
115
  '--AppBar-color': theme.vars ? theme.vars.palette.text.primary : theme.palette.getContrastText(theme.palette.grey[900])
115
116
  })
116
117
  }
117
- }, ...Object.entries(theme.palette).filter(([, palette]) => palette && palette.main && palette.contrastText).map(([color]) => ({
118
+ }, ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter(['contrastText'])).map(([color]) => ({
118
119
  props: {
119
120
  color
120
121
  },
@@ -18,6 +18,9 @@ import useAutocomplete, {
18
18
  import { AutocompleteClasses } from './autocompleteClasses';
19
19
  import { CreateSlotsAndSlotProps, SlotProps } from '../utils/types';
20
20
 
21
+ export interface AutocompletePaperSlotPropsOverrides {}
22
+ export interface AutocompletePopperSlotPropsOverrides {}
23
+
21
24
  export {
22
25
  AutocompleteChangeDetails,
23
26
  AutocompleteChangeReason,
@@ -89,17 +92,17 @@ export interface AutocompleteSlots {
89
92
  * The component used to render the listbox.
90
93
  * @default 'ul'
91
94
  */
92
- listbox?: React.JSXElementConstructor<React.HTMLAttributes<HTMLElement>>;
95
+ listbox: React.JSXElementConstructor<React.HTMLAttributes<HTMLElement>>;
93
96
  /**
94
97
  * The component used to render the body of the popup.
95
98
  * @default Paper
96
99
  */
97
- paper?: React.JSXElementConstructor<PaperProps>;
100
+ paper: React.JSXElementConstructor<PaperProps & AutocompletePaperSlotPropsOverrides>;
98
101
  /**
99
102
  * The component used to position the popup.
100
103
  * @default Popper
101
104
  */
102
- popper?: React.JSXElementConstructor<PopperProps>;
105
+ popper: React.JSXElementConstructor<PopperProps & AutocompletePopperSlotPropsOverrides>;
103
106
  }
104
107
 
105
108
  export type AutocompleteSlotsAndSlotProps<
@@ -134,15 +137,14 @@ export type AutocompleteSlotsAndSlotProps<
134
137
  {},
135
138
  AutocompleteOwnerState<Value, Multiple, DisableClearable, FreeSolo, ChipComponent>
136
139
  >;
137
-
138
140
  paper: SlotProps<
139
141
  React.ElementType<Partial<PaperProps>>,
140
- {},
142
+ AutocompletePaperSlotPropsOverrides,
141
143
  AutocompleteOwnerState<Value, Multiple, DisableClearable, FreeSolo, ChipComponent>
142
144
  >;
143
145
  popper: SlotProps<
144
146
  React.ElementType<Partial<PopperProps>>,
145
- {},
147
+ AutocompletePopperSlotPropsOverrides,
146
148
  AutocompleteOwnerState<Value, Multiple, DisableClearable, FreeSolo, ChipComponent>
147
149
  >;
148
150
  popupIndicator: SlotProps<
@@ -604,7 +604,7 @@ const Autocomplete = /*#__PURE__*/React.forwardRef(function Autocomplete(inProps
604
604
  const more = startAdornment.length - limitTags;
605
605
  if (!focused && more > 0) {
606
606
  startAdornment = startAdornment.splice(0, limitTags);
607
- startAdornment.push( /*#__PURE__*/_jsx("span", {
607
+ startAdornment.push(/*#__PURE__*/_jsx("span", {
608
608
  className: classes.tag,
609
609
  children: getLimitTagsText(more)
610
610
  }, startAdornment.length));
@@ -662,7 +662,7 @@ const Autocomplete = /*#__PURE__*/React.forwardRef(function Autocomplete(inProps
662
662
  });
663
663
  let autocompletePopper = null;
664
664
  if (groupedOptions.length > 0) {
665
- autocompletePopper = renderAutocompletePopperChildren( /*#__PURE__*/_jsx(AutocompleteListbox, {
665
+ autocompletePopper = renderAutocompletePopperChildren(/*#__PURE__*/_jsx(AutocompleteListbox, {
666
666
  as: ListboxSlot,
667
667
  ...listboxProps,
668
668
  children: groupedOptions.map((option, index) => {
@@ -677,13 +677,13 @@ const Autocomplete = /*#__PURE__*/React.forwardRef(function Autocomplete(inProps
677
677
  })
678
678
  }));
679
679
  } else if (loading && groupedOptions.length === 0) {
680
- autocompletePopper = renderAutocompletePopperChildren( /*#__PURE__*/_jsx(AutocompleteLoading, {
680
+ autocompletePopper = renderAutocompletePopperChildren(/*#__PURE__*/_jsx(AutocompleteLoading, {
681
681
  className: classes.loading,
682
682
  ownerState: ownerState,
683
683
  children: loadingText
684
684
  }));
685
685
  } else if (groupedOptions.length === 0 && !freeSolo && !loading) {
686
- autocompletePopper = renderAutocompletePopperChildren( /*#__PURE__*/_jsx(AutocompleteNoOptions, {
686
+ autocompletePopper = renderAutocompletePopperChildren(/*#__PURE__*/_jsx(AutocompleteNoOptions, {
687
687
  className: classes.noOptions,
688
688
  ownerState: ownerState,
689
689
  role: "presentation",
@@ -12,7 +12,7 @@ export interface AvatarSlots {
12
12
  * [Follow this guide](https://mui.com/material-ui/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.
13
13
  * @default Collapse
14
14
  */
15
- img?: React.JSXElementConstructor<React.ImgHTMLAttributes<HTMLImageElement>>;
15
+ img: React.JSXElementConstructor<React.ImgHTMLAttributes<HTMLImageElement>>;
16
16
  }
17
17
 
18
18
  export interface AvatarPropsVariantOverrides {}
@@ -16,7 +16,7 @@ export interface AvatarGroupPropsVariantOverrides {}
16
16
  export interface AvatarGroupComponentsPropsOverrides {}
17
17
 
18
18
  export interface AvatarGroupSlots {
19
- surplus?: React.ElementType;
19
+ surplus: React.ElementType;
20
20
  }
21
21
 
22
22
  export type AvatarGroupSlotsAndSlotProps = CreateSlotsAndSlotProps<
@@ -12,13 +12,13 @@ export interface BackdropSlots {
12
12
  * The component that renders the root.
13
13
  * @default 'div'
14
14
  */
15
- root?: React.ElementType;
15
+ root: React.ElementType;
16
16
  /**
17
17
  * The component that renders the transition.
18
18
  * [Follow this guide](https://mui.com/material-ui/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.
19
19
  * @default Fade
20
20
  */
21
- transition?: React.JSXElementConstructor<
21
+ transition: React.JSXElementConstructor<
22
22
  TransitionProps & { children: React.ReactElement<unknown, any> }
23
23
  >;
24
24
  }
package/Badge/Badge.js CHANGED
@@ -9,6 +9,7 @@ import useSlotProps from '@mui/utils/useSlotProps';
9
9
  import useBadge from "./useBadge.js";
10
10
  import { styled } from "../zero-styled/index.js";
11
11
  import memoTheme from "../utils/memoTheme.js";
12
+ import createSimplePaletteValueFilter from "../utils/createSimplePaletteValueFilter.js";
12
13
  import { useDefaultProps } from "../DefaultPropsProvider/index.js";
13
14
  import capitalize from "../utils/capitalize.js";
14
15
  import badgeClasses, { getBadgeUtilityClass } from "./badgeClasses.js";
@@ -75,7 +76,7 @@ const BadgeBadge = styled('span', {
75
76
  easing: theme.transitions.easing.easeInOut,
76
77
  duration: theme.transitions.duration.enteringScreen
77
78
  }),
78
- variants: [...Object.entries(theme.palette).filter(([, palette]) => palette && palette.main && palette.contrastText).map(([color]) => ({
79
+ variants: [...Object.entries(theme.palette).filter(createSimplePaletteValueFilter(['contrastText'])).map(([color]) => ({
79
80
  props: {
80
81
  color
81
82
  },
package/Button/Button.js CHANGED
@@ -12,6 +12,7 @@ import memoTheme from "../utils/memoTheme.js";
12
12
  import { useDefaultProps } from "../DefaultPropsProvider/index.js";
13
13
  import ButtonBase from "../ButtonBase/index.js";
14
14
  import capitalize from "../utils/capitalize.js";
15
+ import createSimplePaletteValueFilter from "../utils/createSimplePaletteValueFilter.js";
15
16
  import buttonClasses, { getButtonUtilityClass } from "./buttonClasses.js";
16
17
  import ButtonGroupContext from "../ButtonGroup/ButtonGroupContext.js";
17
18
  import ButtonGroupButtonContext from "../ButtonGroup/ButtonGroupButtonContext.js";
@@ -146,7 +147,7 @@ const ButtonRoot = styled(ButtonBase, {
146
147
  color: `var(--variant-textColor)`,
147
148
  backgroundColor: `var(--variant-textBg)`
148
149
  }
149
- }, ...Object.entries(theme.palette).filter(([, palette]) => palette && palette.main && palette.dark && palette.contrastText).map(([color]) => ({
150
+ }, ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter(['dark', 'contrastText'])).map(([color]) => ({
150
151
  props: {
151
152
  color
152
153
  },
@@ -9,6 +9,7 @@ import getValidReactChildren from '@mui/utils/getValidReactChildren';
9
9
  import capitalize from "../utils/capitalize.js";
10
10
  import { styled } from "../zero-styled/index.js";
11
11
  import memoTheme from "../utils/memoTheme.js";
12
+ import createSimplePaletteValueFilter from "../utils/createSimplePaletteValueFilter.js";
12
13
  import { useDefaultProps } from "../DefaultPropsProvider/index.js";
13
14
  import buttonGroupClasses, { getButtonGroupUtilityClass } from "./buttonGroupClasses.js";
14
15
  import ButtonGroupContext from "./ButtonGroupContext.js";
@@ -140,7 +141,7 @@ const ButtonGroupRoot = styled('div', {
140
141
  }
141
142
  }
142
143
  }
143
- }, ...Object.entries(theme.palette).filter(([, value]) => value && value.main).flatMap(([color]) => [{
144
+ }, ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter()).flatMap(([color]) => [{
144
145
  props: {
145
146
  variant: 'text',
146
147
  color
@@ -208,7 +209,7 @@ const ButtonGroupRoot = styled('div', {
208
209
  }
209
210
  }
210
211
  }
211
- }, ...Object.entries(theme.palette).filter(([, value]) => value && value.dark).map(([color]) => ({
212
+ }, ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter(['dark'])).map(([color]) => ({
212
213
  props: {
213
214
  variant: 'contained',
214
215
  color