@mui/material 6.4.8 → 6.4.10

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 (197) hide show
  1. package/Accordion/Accordion.d.ts +3 -3
  2. package/AccordionActions/AccordionActions.d.ts +2 -2
  3. package/AccordionDetails/AccordionDetails.d.ts +2 -2
  4. package/AccordionSummary/AccordionSummary.d.ts +3 -3
  5. package/Alert/Alert.d.ts +3 -3
  6. package/AlertTitle/AlertTitle.d.ts +3 -3
  7. package/AppBar/AppBar.d.ts +3 -3
  8. package/Autocomplete/Autocomplete.d.ts +2 -2
  9. package/Autocomplete/Autocomplete.js +1 -1
  10. package/Avatar/Avatar.d.ts +2 -2
  11. package/AvatarGroup/AvatarGroup.d.ts +2 -2
  12. package/Backdrop/Backdrop.d.ts +3 -3
  13. package/Badge/Badge.d.ts +3 -3
  14. package/BottomNavigation/BottomNavigation.d.ts +2 -2
  15. package/BottomNavigationAction/BottomNavigationAction.d.ts +3 -3
  16. package/Box/Box.d.ts +2 -2
  17. package/Breadcrumbs/Breadcrumbs.d.ts +3 -3
  18. package/Button/Button.d.ts +4 -4
  19. package/ButtonBase/ButtonBase.d.ts +2 -2
  20. package/ButtonGroup/ButtonGroup.d.ts +2 -2
  21. package/CHANGELOG.md +54 -0
  22. package/Card/Card.d.ts +3 -3
  23. package/CardActionArea/CardActionArea.d.ts +3 -3
  24. package/CardActions/CardActions.d.ts +2 -2
  25. package/CardContent/CardContent.d.ts +2 -2
  26. package/CardHeader/CardHeader.d.ts +2 -2
  27. package/CardMedia/CardMedia.d.ts +2 -2
  28. package/Checkbox/Checkbox.d.ts +4 -4
  29. package/Chip/Chip.d.ts +2 -2
  30. package/CircularProgress/CircularProgress.d.ts +2 -2
  31. package/ClickAwayListener/ClickAwayListener.d.ts +3 -3
  32. package/ClickAwayListener/ClickAwayListener.js +3 -3
  33. package/Collapse/Collapse.d.ts +5 -5
  34. package/Container/Container.d.ts +2 -2
  35. package/CssBaseline/CssBaseline.d.ts +2 -2
  36. package/Dialog/Dialog.d.ts +3 -3
  37. package/DialogActions/DialogActions.d.ts +2 -2
  38. package/DialogContent/DialogContent.d.ts +2 -2
  39. package/DialogContentText/DialogContentText.d.ts +3 -3
  40. package/DialogTitle/DialogTitle.d.ts +3 -3
  41. package/Divider/Divider.d.ts +3 -3
  42. package/Drawer/Drawer.d.ts +3 -3
  43. package/Fab/Fab.d.ts +3 -3
  44. package/Fade/Fade.d.ts +3 -3
  45. package/FilledInput/FilledInput.d.ts +3 -3
  46. package/FormControl/FormControl.d.ts +6 -6
  47. package/FormControlLabel/FormControlLabel.d.ts +4 -4
  48. package/FormGroup/FormGroup.d.ts +3 -3
  49. package/FormHelperText/FormHelperText.d.ts +2 -2
  50. package/FormLabel/FormLabel.d.ts +4 -4
  51. package/GlobalStyles/GlobalStyles.d.ts +2 -2
  52. package/Grid/Grid.d.ts +2 -2
  53. package/Grid2/Grid2.d.ts +2 -2
  54. package/Grid2/Grid2.js +2 -2
  55. package/Grow/Grow.d.ts +5 -5
  56. package/Hidden/Hidden.d.ts +2 -2
  57. package/Icon/Icon.d.ts +3 -3
  58. package/IconButton/IconButton.d.ts +4 -4
  59. package/ImageList/ImageList.d.ts +2 -2
  60. package/ImageListItem/ImageListItem.d.ts +2 -2
  61. package/ImageListItemBar/ImageListItemBar.d.ts +2 -2
  62. package/Input/Input.d.ts +3 -3
  63. package/InputAdornment/InputAdornment.d.ts +2 -2
  64. package/InputBase/InputBase.d.ts +2 -2
  65. package/InputLabel/InputLabel.d.ts +3 -3
  66. package/LinearProgress/LinearProgress.d.ts +2 -2
  67. package/Link/Link.d.ts +4 -4
  68. package/List/List.d.ts +3 -3
  69. package/ListItem/ListItem.d.ts +3 -3
  70. package/ListItemAvatar/ListItemAvatar.d.ts +2 -2
  71. package/ListItemButton/ListItemButton.d.ts +3 -3
  72. package/ListItemIcon/ListItemIcon.d.ts +2 -2
  73. package/ListItemSecondaryAction/ListItemSecondaryAction.d.ts +2 -2
  74. package/ListItemText/ListItemText.d.ts +2 -2
  75. package/ListSubheader/ListSubheader.d.ts +2 -2
  76. package/Menu/Menu.d.ts +4 -4
  77. package/MenuItem/MenuItem.d.ts +3 -3
  78. package/MenuList/MenuList.d.ts +4 -4
  79. package/MobileStepper/MobileStepper.d.ts +3 -3
  80. package/Modal/Modal.d.ts +7 -7
  81. package/NativeSelect/NativeSelect.d.ts +3 -3
  82. package/NoSsr/NoSsr.d.ts +2 -2
  83. package/NoSsr/NoSsr.js +2 -2
  84. package/OutlinedInput/OutlinedInput.d.ts +3 -3
  85. package/Pagination/Pagination.d.ts +2 -2
  86. package/PaginationItem/PaginationItem.d.ts +2 -2
  87. package/Paper/Paper.d.ts +3 -3
  88. package/PigmentContainer/PigmentContainer.d.ts +2 -2
  89. package/PigmentContainer/PigmentContainer.js +2 -2
  90. package/PigmentGrid/PigmentGrid.d.ts +2 -2
  91. package/PigmentGrid/PigmentGrid.js +2 -2
  92. package/PigmentHidden/PigmentHidden.d.ts +2 -2
  93. package/PigmentHidden/PigmentHidden.js +2 -2
  94. package/PigmentStack/PigmentStack.d.ts +2 -2
  95. package/PigmentStack/PigmentStack.js +2 -2
  96. package/Popover/Popover.d.ts +5 -6
  97. package/Popover/Popover.js +1 -1
  98. package/Popper/Popper.d.ts +4 -4
  99. package/Popper/Popper.js +4 -4
  100. package/Portal/Portal.d.ts +2 -2
  101. package/Portal/Portal.js +2 -2
  102. package/README.md +4 -2
  103. package/Radio/Radio.d.ts +3 -3
  104. package/RadioGroup/RadioGroup.d.ts +3 -3
  105. package/Rating/Rating.d.ts +2 -2
  106. package/ScopedCssBaseline/ScopedCssBaseline.d.ts +2 -2
  107. package/Select/Select.d.ts +3 -3
  108. package/Skeleton/Skeleton.d.ts +2 -2
  109. package/Slide/Slide.d.ts +4 -4
  110. package/Slider/Slider.d.ts +2 -2
  111. package/Snackbar/Snackbar.d.ts +2 -2
  112. package/SnackbarContent/SnackbarContent.d.ts +3 -3
  113. package/SpeedDial/SpeedDial.d.ts +2 -2
  114. package/SpeedDialAction/SpeedDialAction.d.ts +3 -3
  115. package/SpeedDialIcon/SpeedDialIcon.d.ts +2 -2
  116. package/Stack/Stack.d.ts +2 -2
  117. package/Step/Step.d.ts +2 -2
  118. package/StepButton/StepButton.d.ts +3 -3
  119. package/StepConnector/StepConnector.d.ts +2 -2
  120. package/StepContent/StepContent.d.ts +2 -2
  121. package/StepIcon/StepIcon.d.ts +3 -3
  122. package/StepLabel/StepLabel.d.ts +21 -3
  123. package/StepLabel/StepLabel.js +14 -5
  124. package/Stepper/Stepper.d.ts +2 -2
  125. package/SvgIcon/SvgIcon.d.ts +3 -3
  126. package/SwipeableDrawer/SwipeableDrawer.d.ts +3 -3
  127. package/Switch/Switch.d.ts +78 -5
  128. package/Switch/Switch.js +71 -9
  129. package/Tab/Tab.d.ts +3 -3
  130. package/TabScrollButton/TabScrollButton.d.ts +2 -2
  131. package/Table/Table.d.ts +2 -2
  132. package/TableBody/TableBody.d.ts +2 -2
  133. package/TableCell/TableCell.d.ts +2 -2
  134. package/TableContainer/TableContainer.d.ts +2 -2
  135. package/TableFooter/TableFooter.d.ts +2 -2
  136. package/TableHead/TableHead.d.ts +2 -2
  137. package/TablePagination/TablePagination.d.ts +4 -4
  138. package/TableRow/TableRow.d.ts +2 -2
  139. package/TableSortLabel/TableSortLabel.d.ts +3 -3
  140. package/Tabs/Tabs.d.ts +2 -2
  141. package/Tabs/Tabs.js +4 -0
  142. package/TextField/TextField.d.ts +40 -10
  143. package/TextField/TextField.js +22 -11
  144. package/TextareaAutosize/TextareaAutosize.d.ts +2 -2
  145. package/TextareaAutosize/TextareaAutosize.js +2 -2
  146. package/ToggleButton/ToggleButton.d.ts +3 -3
  147. package/ToggleButtonGroup/ToggleButtonGroup.d.ts +2 -2
  148. package/Toolbar/Toolbar.d.ts +2 -2
  149. package/Tooltip/Tooltip.d.ts +2 -2
  150. package/Typography/Typography.d.ts +3 -3
  151. package/Zoom/Zoom.d.ts +3 -3
  152. package/index.js +1 -1
  153. package/modern/Autocomplete/Autocomplete.js +1 -1
  154. package/modern/ClickAwayListener/ClickAwayListener.js +3 -3
  155. package/modern/Grid2/Grid2.js +2 -2
  156. package/modern/NoSsr/NoSsr.js +2 -2
  157. package/modern/PigmentContainer/PigmentContainer.js +2 -2
  158. package/modern/PigmentGrid/PigmentGrid.js +2 -2
  159. package/modern/PigmentHidden/PigmentHidden.js +2 -2
  160. package/modern/PigmentStack/PigmentStack.js +2 -2
  161. package/modern/Popover/Popover.js +1 -1
  162. package/modern/Popper/Popper.js +4 -4
  163. package/modern/Portal/Portal.js +2 -2
  164. package/modern/StepLabel/StepLabel.js +14 -5
  165. package/modern/Switch/Switch.js +71 -9
  166. package/modern/Tabs/Tabs.js +4 -0
  167. package/modern/TextField/TextField.js +22 -11
  168. package/modern/TextareaAutosize/TextareaAutosize.js +2 -2
  169. package/modern/index.js +1 -1
  170. package/modern/styles/createThemeNoVars.js +1 -3
  171. package/modern/useAutocomplete/useAutocomplete.js +5 -5
  172. package/modern/version/index.js +2 -2
  173. package/node/Autocomplete/Autocomplete.js +1 -1
  174. package/node/ClickAwayListener/ClickAwayListener.js +3 -3
  175. package/node/Grid2/Grid2.js +2 -2
  176. package/node/NoSsr/NoSsr.js +2 -2
  177. package/node/PigmentContainer/PigmentContainer.js +2 -2
  178. package/node/PigmentGrid/PigmentGrid.js +2 -2
  179. package/node/PigmentHidden/PigmentHidden.js +2 -2
  180. package/node/PigmentStack/PigmentStack.js +2 -2
  181. package/node/Popover/Popover.js +1 -1
  182. package/node/Popper/Popper.js +4 -4
  183. package/node/Portal/Portal.js +2 -2
  184. package/node/StepLabel/StepLabel.js +14 -5
  185. package/node/Switch/Switch.js +71 -9
  186. package/node/Tabs/Tabs.js +4 -0
  187. package/node/TextField/TextField.js +22 -11
  188. package/node/TextareaAutosize/TextareaAutosize.js +2 -2
  189. package/node/index.js +1 -1
  190. package/node/styles/createThemeNoVars.js +1 -3
  191. package/node/useAutocomplete/useAutocomplete.js +5 -5
  192. package/node/version/index.js +2 -2
  193. package/package.json +6 -6
  194. package/styles/createThemeNoVars.js +1 -3
  195. package/useAutocomplete/useAutocomplete.d.ts +2 -2
  196. package/useAutocomplete/useAutocomplete.js +5 -5
  197. package/version/index.js +2 -2
@@ -33,11 +33,11 @@ export interface SnackbarContentProps extends StandardProps<PaperProps, 'childre
33
33
  *
34
34
  * Demos:
35
35
  *
36
- * - [Snackbar](https://mui.com/material-ui/react-snackbar/)
36
+ * - [Snackbar](https://v6.mui.com/material-ui/react-snackbar/)
37
37
  *
38
38
  * API:
39
39
  *
40
- * - [SnackbarContent API](https://mui.com/material-ui/api/snackbar-content/)
41
- * - inherits [Paper API](https://mui.com/material-ui/api/paper/)
40
+ * - [SnackbarContent API](https://v6.mui.com/material-ui/api/snackbar-content/)
41
+ * - inherits [Paper API](https://v6.mui.com/material-ui/api/paper/)
42
42
  */
43
43
  export default function SnackbarContent(props: SnackbarContentProps): React.JSX.Element;
@@ -135,10 +135,10 @@ export interface SpeedDialOwnerState extends SpeedDialProps {}
135
135
  *
136
136
  * Demos:
137
137
  *
138
- * - [Speed Dial](https://mui.com/material-ui/react-speed-dial/)
138
+ * - [Speed Dial](https://v6.mui.com/material-ui/react-speed-dial/)
139
139
  *
140
140
  * API:
141
141
  *
142
- * - [SpeedDial API](https://mui.com/material-ui/api/speed-dial/)
142
+ * - [SpeedDial API](https://v6.mui.com/material-ui/api/speed-dial/)
143
143
  */
144
144
  export default function SpeedDial(props: SpeedDialProps): React.JSX.Element;
@@ -131,12 +131,12 @@ export interface SpeedDialActionProps
131
131
  *
132
132
  * Demos:
133
133
  *
134
- * - [Speed Dial](https://mui.com/material-ui/react-speed-dial/)
134
+ * - [Speed Dial](https://v6.mui.com/material-ui/react-speed-dial/)
135
135
  *
136
136
  * API:
137
137
  *
138
- * - [SpeedDialAction API](https://mui.com/material-ui/api/speed-dial-action/)
139
- * - inherits [Tooltip API](https://mui.com/material-ui/api/tooltip/)
138
+ * - [SpeedDialAction API](https://v6.mui.com/material-ui/api/speed-dial-action/)
139
+ * - inherits [Tooltip API](https://v6.mui.com/material-ui/api/tooltip/)
140
140
  */
141
141
  export default function SpeedDialAction(props: SpeedDialActionProps): React.JSX.Element;
142
142
 
@@ -33,11 +33,11 @@ export interface SpeedDialIconProps
33
33
  *
34
34
  * Demos:
35
35
  *
36
- * - [Speed Dial](https://mui.com/material-ui/react-speed-dial/)
36
+ * - [Speed Dial](https://v6.mui.com/material-ui/react-speed-dial/)
37
37
  *
38
38
  * API:
39
39
  *
40
- * - [SpeedDialIcon API](https://mui.com/material-ui/api/speed-dial-icon/)
40
+ * - [SpeedDialIcon API](https://v6.mui.com/material-ui/api/speed-dial-icon/)
41
41
  */
42
42
  declare const SpeedDialIcon: ((props: SpeedDialIconProps) => React.JSX.Element) & {
43
43
  muiName: string;
package/Stack/Stack.d.ts CHANGED
@@ -50,11 +50,11 @@ export interface StackTypeMap<
50
50
  *
51
51
  * Demos:
52
52
  *
53
- * - [Stack](https://mui.com/material-ui/react-stack/)
53
+ * - [Stack](https://v6.mui.com/material-ui/react-stack/)
54
54
  *
55
55
  * API:
56
56
  *
57
- * - [Stack API](https://mui.com/material-ui/api/stack/)
57
+ * - [Stack API](https://v6.mui.com/material-ui/api/stack/)
58
58
  */
59
59
  declare const Stack: OverridableComponent<StackTypeMap>;
60
60
 
package/Step/Step.d.ts CHANGED
@@ -68,11 +68,11 @@ export type StepClasskey = keyof NonNullable<StepProps['classes']>;
68
68
  *
69
69
  * Demos:
70
70
  *
71
- * - [Stepper](https://mui.com/material-ui/react-stepper/)
71
+ * - [Stepper](https://v6.mui.com/material-ui/react-stepper/)
72
72
  *
73
73
  * API:
74
74
  *
75
- * - [Step API](https://mui.com/material-ui/api/step/)
75
+ * - [Step API](https://v6.mui.com/material-ui/api/step/)
76
76
  */
77
77
  declare const Step: OverridableComponent<StepTypeMap>;
78
78
 
@@ -47,12 +47,12 @@ export type StepButtonTypeMap<
47
47
  *
48
48
  * Demos:
49
49
  *
50
- * - [Stepper](https://mui.com/material-ui/react-stepper/)
50
+ * - [Stepper](https://v6.mui.com/material-ui/react-stepper/)
51
51
  *
52
52
  * API:
53
53
  *
54
- * - [StepButton API](https://mui.com/material-ui/api/step-button/)
55
- * - inherits [ButtonBase API](https://mui.com/material-ui/api/button-base/)
54
+ * - [StepButton API](https://v6.mui.com/material-ui/api/step-button/)
55
+ * - inherits [ButtonBase API](https://v6.mui.com/material-ui/api/button-base/)
56
56
  */
57
57
  declare const StepButton: ExtendButtonBase<
58
58
  StepButtonTypeMap<{}, ButtonBaseTypeMap['defaultComponent']>
@@ -24,10 +24,10 @@ export type StepConnectorClasskey = keyof NonNullable<StepConnectorProps['classe
24
24
  *
25
25
  * Demos:
26
26
  *
27
- * - [Stepper](https://mui.com/material-ui/react-stepper/)
27
+ * - [Stepper](https://v6.mui.com/material-ui/react-stepper/)
28
28
  *
29
29
  * API:
30
30
  *
31
- * - [StepConnector API](https://mui.com/material-ui/api/step-connector/)
31
+ * - [StepConnector API](https://v6.mui.com/material-ui/api/step-connector/)
32
32
  */
33
33
  export default function StepConnector(props: StepConnectorProps): React.JSX.Element;
@@ -76,10 +76,10 @@ export type StepContentClasskey = keyof NonNullable<StepContentProps['classes']>
76
76
  *
77
77
  * Demos:
78
78
  *
79
- * - [Stepper](https://mui.com/material-ui/react-stepper/)
79
+ * - [Stepper](https://v6.mui.com/material-ui/react-stepper/)
80
80
  *
81
81
  * API:
82
82
  *
83
- * - [StepContent API](https://mui.com/material-ui/api/step-content/)
83
+ * - [StepContent API](https://v6.mui.com/material-ui/api/step-content/)
84
84
  */
85
85
  export default function StepContent(props: StepContentProps): React.JSX.Element;
@@ -43,11 +43,11 @@ export type StepIconClasskey = keyof NonNullable<StepIconProps['classes']>;
43
43
  *
44
44
  * Demos:
45
45
  *
46
- * - [Stepper](https://mui.com/material-ui/react-stepper/)
46
+ * - [Stepper](https://v6.mui.com/material-ui/react-stepper/)
47
47
  *
48
48
  * API:
49
49
  *
50
- * - [StepIcon API](https://mui.com/material-ui/api/step-icon/)
51
- * - inherits [SvgIcon API](https://mui.com/material-ui/api/svg-icon/)
50
+ * - [StepIcon API](https://v6.mui.com/material-ui/api/step-icon/)
51
+ * - inherits [SvgIcon API](https://v6.mui.com/material-ui/api/svg-icon/)
52
52
  */
53
53
  export default function StepIcon(props: StepIconProps): React.JSX.Element;
@@ -7,6 +7,11 @@ import { StepLabelClasses } from './stepLabelClasses';
7
7
  import { CreateSlotsAndSlotProps, SlotProps } from '../utils/types';
8
8
 
9
9
  export interface StepLabelSlots {
10
+ /**
11
+ * The component that renders the root.
12
+ * @default span
13
+ */
14
+ root: React.ElementType;
10
15
  /**
11
16
  * The component that renders the label.
12
17
  * @default span
@@ -21,7 +26,20 @@ export interface StepLabelSlots {
21
26
  export type StepLabelSlotsAndSlotProps = CreateSlotsAndSlotProps<
22
27
  StepLabelSlots,
23
28
  {
24
- label: SlotProps<React.ElementType<React.HTMLProps<HTMLSpanElement>>, {}, StepLabelOwnerState>;
29
+ /**
30
+ * Props forwarded to the root slot.
31
+ * By default, the avaible props are based on the span element.
32
+ */
33
+ root: SlotProps<'span', {}, StepLabelOwnerState>;
34
+ /**
35
+ * Props forwarded to the label slot.
36
+ * By default, the avaible props are based on the span element.
37
+ */
38
+ label: SlotProps<'span', {}, StepLabelOwnerState>;
39
+ /**
40
+ * Props forwarded to the stepIcon slot.
41
+ * By default, the avaible props are based on the div element.
42
+ */
25
43
  stepIcon: SlotProps<React.ElementType<StepIconProps>, {}, StepLabelOwnerState>;
26
44
  }
27
45
  >;
@@ -86,11 +104,11 @@ export type StepLabelClasskey = keyof NonNullable<StepLabelProps['classes']>;
86
104
  *
87
105
  * Demos:
88
106
  *
89
- * - [Stepper](https://mui.com/material-ui/react-stepper/)
107
+ * - [Stepper](https://v6.mui.com/material-ui/react-stepper/)
90
108
  *
91
109
  * API:
92
110
  *
93
- * - [StepLabel API](https://mui.com/material-ui/api/step-label/)
111
+ * - [StepLabel API](https://v6.mui.com/material-ui/api/step-label/)
94
112
  */
95
113
  declare const StepLabel: ((props: StepLabelProps) => React.JSX.Element) & {
96
114
  muiName: string;
@@ -162,6 +162,16 @@ const StepLabel = /*#__PURE__*/React.forwardRef(function StepLabel(inProps, ref)
162
162
  ...slotProps
163
163
  }
164
164
  };
165
+ const [RootSlot, rootProps] = useSlot('root', {
166
+ elementType: StepLabelRoot,
167
+ externalForwardedProps: {
168
+ ...externalForwardedProps,
169
+ ...other
170
+ },
171
+ ownerState,
172
+ ref,
173
+ className: clsx(classes.root, className)
174
+ });
165
175
  const [LabelSlot, labelProps] = useSlot('label', {
166
176
  elementType: StepLabelLabel,
167
177
  externalForwardedProps,
@@ -172,11 +182,8 @@ const StepLabel = /*#__PURE__*/React.forwardRef(function StepLabel(inProps, ref)
172
182
  externalForwardedProps,
173
183
  ownerState
174
184
  });
175
- return /*#__PURE__*/_jsxs(StepLabelRoot, {
176
- className: clsx(classes.root, className),
177
- ref: ref,
178
- ownerState: ownerState,
179
- ...other,
185
+ return /*#__PURE__*/_jsxs(RootSlot, {
186
+ ...rootProps,
180
187
  children: [icon || StepIconSlot ? /*#__PURE__*/_jsx(StepLabelIconContainer, {
181
188
  className: classes.iconContainer,
182
189
  ownerState: ownerState,
@@ -242,6 +249,7 @@ process.env.NODE_ENV !== "production" ? StepLabel.propTypes /* remove-proptypes
242
249
  */
243
250
  slotProps: PropTypes.shape({
244
251
  label: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
252
+ root: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
245
253
  stepIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object])
246
254
  }),
247
255
  /**
@@ -250,6 +258,7 @@ process.env.NODE_ENV !== "production" ? StepLabel.propTypes /* remove-proptypes
250
258
  */
251
259
  slots: PropTypes.shape({
252
260
  label: PropTypes.elementType,
261
+ root: PropTypes.elementType,
253
262
  stepIcon: PropTypes.elementType
254
263
  }),
255
264
  /**
@@ -70,11 +70,11 @@ export type StepperClasskey = keyof NonNullable<StepperProps['classes']>;
70
70
  *
71
71
  * Demos:
72
72
  *
73
- * - [Stepper](https://mui.com/material-ui/react-stepper/)
73
+ * - [Stepper](https://v6.mui.com/material-ui/react-stepper/)
74
74
  *
75
75
  * API:
76
76
  *
77
- * - [Stepper API](https://mui.com/material-ui/api/stepper/)
77
+ * - [Stepper API](https://v6.mui.com/material-ui/api/stepper/)
78
78
  */
79
79
  declare const Stepper: OverridableComponent<StepperTypeMap>;
80
80
 
@@ -94,12 +94,12 @@ export interface SvgIconTypeMap<
94
94
  *
95
95
  * Demos:
96
96
  *
97
- * - [Icons](https://mui.com/material-ui/icons/)
98
- * - [Material Icons](https://mui.com/material-ui/material-icons/)
97
+ * - [Icons](https://v6.mui.com/material-ui/icons/)
98
+ * - [Material Icons](https://v6.mui.com/material-ui/material-icons/)
99
99
  *
100
100
  * API:
101
101
  *
102
- * - [SvgIcon API](https://mui.com/material-ui/api/svg-icon/)
102
+ * - [SvgIcon API](https://v6.mui.com/material-ui/api/svg-icon/)
103
103
  */
104
104
  declare const SvgIcon: OverridableComponent<SvgIconTypeMap> & { muiName: string };
105
105
 
@@ -107,12 +107,12 @@ export interface SwipeableDrawerProps
107
107
  *
108
108
  * Demos:
109
109
  *
110
- * - [Drawer](https://mui.com/material-ui/react-drawer/)
110
+ * - [Drawer](https://v6.mui.com/material-ui/react-drawer/)
111
111
  *
112
112
  * API:
113
113
  *
114
- * - [SwipeableDrawer API](https://mui.com/material-ui/api/swipeable-drawer/)
115
- * - inherits [Drawer API](https://mui.com/material-ui/api/drawer/)
114
+ * - [SwipeableDrawer API](https://v6.mui.com/material-ui/api/swipeable-drawer/)
115
+ * - inherits [Drawer API](https://v6.mui.com/material-ui/api/drawer/)
116
116
  */
117
117
  declare const SwipeableDrawer: React.JSXElementConstructor<SwipeableDrawerProps>;
118
118
 
@@ -2,6 +2,7 @@ import * as React from 'react';
2
2
  import { SxProps } from '@mui/system';
3
3
  import { OverridableStringUnion } from '@mui/types';
4
4
  import { InternalStandardProps as StandardProps, Theme } from '..';
5
+ import { CreateSlotsAndSlotProps, SlotProps } from '../utils/types';
5
6
  import { SwitchBaseProps } from '../internal/SwitchBase';
6
7
  import { SwitchClasses } from './switchClasses';
7
8
 
@@ -9,8 +10,80 @@ export interface SwitchPropsSizeOverrides {}
9
10
 
10
11
  export interface SwitchPropsColorOverrides {}
11
12
 
13
+ export interface SwitchRootSlotPropsOverrides {}
14
+ export interface SwitchTrackSlotPropsOverrides {}
15
+ export interface SwitchThumbSlotPropsOverrides {}
16
+ export interface SwitchSwitchBaseSlotPropsOverrides {}
17
+ export interface SwitchInputSlotPropsOverrides {}
18
+
19
+ export interface SwitchSlots {
20
+ /**
21
+ * The component that renders the root slot.
22
+ * @default 'span'
23
+ */
24
+ root: React.ElementType;
25
+ /**
26
+ * The component that renders the track slot.
27
+ * @default 'span'
28
+ */
29
+ track: React.ElementType;
30
+ /**
31
+ * The component that renders the thumb slot.
32
+ * @default 'span'
33
+ */
34
+ thumb: React.ElementType;
35
+ /**
36
+ * The component that renders the switchBase slot.
37
+ * @default SwitchBase
38
+ */
39
+ switchBase: React.ElementType;
40
+ /**
41
+ * The component that renders the switchBase's input slot.
42
+ * @default SwitchBaseInput
43
+ */
44
+ input: React.ElementType;
45
+ }
46
+
47
+ export type SwitchSlotsAndSlotProps = CreateSlotsAndSlotProps<
48
+ SwitchSlots,
49
+ {
50
+ /**
51
+ * Props forwarded to the root slot.
52
+ * By default, the avaible props are based on the span element.
53
+ */
54
+ root: SlotProps<'span', SwitchRootSlotPropsOverrides, SwitchOwnerState>;
55
+ /**
56
+ * Props forwarded to the track slot.
57
+ * By default, the avaible props are based on the span element.
58
+ */
59
+ track: SlotProps<'span', SwitchTrackSlotPropsOverrides, SwitchOwnerState>;
60
+ /**
61
+ * Props forwarded to the thumb slot.
62
+ * By default, the avaible props are based on the span element.
63
+ */
64
+ thumb: SlotProps<'span', SwitchThumbSlotPropsOverrides, SwitchOwnerState>;
65
+ /**
66
+ * Props forwarded to the switchBase slot.
67
+ * By default, the avaible props are based on the internal SwitchBase component.
68
+ */
69
+ switchBase: SlotProps<
70
+ React.ElementType<SwitchBaseProps>,
71
+ SwitchSwitchBaseSlotPropsOverrides,
72
+ SwitchOwnerState
73
+ >;
74
+ /**
75
+ * Props forwarded to the input slot.
76
+ * By default, the avaible props are based on the input element.
77
+ */
78
+ input: SlotProps<'input', SwitchInputSlotPropsOverrides, SwitchOwnerState>;
79
+ }
80
+ >;
81
+
82
+ export interface SwitchOwnerState extends Omit<SwitchProps, 'slots' | 'slotProps'> {}
83
+
12
84
  export interface SwitchProps
13
- extends StandardProps<SwitchBaseProps, 'checkedIcon' | 'color' | 'icon'> {
85
+ extends StandardProps<SwitchBaseProps, 'checkedIcon' | 'color' | 'icon' | 'slots' | 'slotProps'>,
86
+ SwitchSlotsAndSlotProps {
14
87
  /**
15
88
  * The icon to display when the component is checked.
16
89
  */
@@ -58,12 +131,12 @@ export interface SwitchProps
58
131
  *
59
132
  * Demos:
60
133
  *
61
- * - [Switch](https://mui.com/material-ui/react-switch/)
62
- * - [Transfer List](https://mui.com/material-ui/react-transfer-list/)
134
+ * - [Switch](https://v6.mui.com/material-ui/react-switch/)
135
+ * - [Transfer List](https://v6.mui.com/material-ui/react-transfer-list/)
63
136
  *
64
137
  * API:
65
138
  *
66
- * - [Switch API](https://mui.com/material-ui/api/switch/)
67
- * - inherits [IconButton API](https://mui.com/material-ui/api/icon-button/)
139
+ * - [Switch API](https://v6.mui.com/material-ui/api/switch/)
140
+ * - inherits [IconButton API](https://v6.mui.com/material-ui/api/icon-button/)
68
141
  */
69
142
  export default function Switch(props: SwitchProps): React.JSX.Element;
package/Switch/Switch.js CHANGED
@@ -14,6 +14,7 @@ import { styled } from "../zero-styled/index.js";
14
14
  import memoTheme from "../utils/memoTheme.js";
15
15
  import { useDefaultProps } from "../DefaultPropsProvider/index.js";
16
16
  import switchClasses, { getSwitchUtilityClass } from "./switchClasses.js";
17
+ import useSlot from "../utils/useSlot.js";
17
18
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
18
19
  const useUtilityClasses = ownerState => {
19
20
  const {
@@ -212,6 +213,8 @@ const Switch = /*#__PURE__*/React.forwardRef(function Switch(inProps, ref) {
212
213
  edge = false,
213
214
  size = 'medium',
214
215
  sx,
216
+ slots = {},
217
+ slotProps = {},
215
218
  ...other
216
219
  } = props;
217
220
  const ownerState = {
@@ -221,14 +224,36 @@ const Switch = /*#__PURE__*/React.forwardRef(function Switch(inProps, ref) {
221
224
  size
222
225
  };
223
226
  const classes = useUtilityClasses(ownerState);
224
- const icon = /*#__PURE__*/_jsx(SwitchThumb, {
227
+ const externalForwardedProps = {
228
+ slots,
229
+ slotProps
230
+ };
231
+ const [RootSlot, rootSlotProps] = useSlot('root', {
232
+ className: clsx(classes.root, className),
233
+ elementType: SwitchRoot,
234
+ externalForwardedProps,
235
+ ownerState,
236
+ additionalProps: {
237
+ sx
238
+ }
239
+ });
240
+ const [ThumbSlot, thumbSlotProps] = useSlot('thumb', {
225
241
  className: classes.thumb,
226
- ownerState: ownerState
242
+ elementType: SwitchThumb,
243
+ externalForwardedProps,
244
+ ownerState
227
245
  });
228
- return /*#__PURE__*/_jsxs(SwitchRoot, {
229
- className: clsx(classes.root, className),
230
- sx: sx,
231
- ownerState: ownerState,
246
+ const icon = /*#__PURE__*/_jsx(ThumbSlot, {
247
+ ...thumbSlotProps
248
+ });
249
+ const [TrackSlot, trackSlotProps] = useSlot('track', {
250
+ className: classes.track,
251
+ elementType: SwitchTrack,
252
+ externalForwardedProps,
253
+ ownerState
254
+ });
255
+ return /*#__PURE__*/_jsxs(RootSlot, {
256
+ ...rootSlotProps,
232
257
  children: [/*#__PURE__*/_jsx(SwitchSwitchBase, {
233
258
  type: "checkbox",
234
259
  icon: icon,
@@ -239,10 +264,25 @@ const Switch = /*#__PURE__*/React.forwardRef(function Switch(inProps, ref) {
239
264
  classes: {
240
265
  ...classes,
241
266
  root: classes.switchBase
267
+ },
268
+ slots: {
269
+ ...(slots.switchBase && {
270
+ root: slots.switchBase
271
+ }),
272
+ ...(slots.input && {
273
+ input: slots.input
274
+ })
275
+ },
276
+ slotProps: {
277
+ ...(slotProps.switchBase && {
278
+ root: typeof slotProps.switchBase === 'function' ? slotProps.switchBase(ownerState) : slotProps.switchBase
279
+ }),
280
+ ...(slotProps.input && {
281
+ input: typeof slotProps.input === 'function' ? slotProps.input(ownerState) : slotProps.input
282
+ })
242
283
  }
243
- }), /*#__PURE__*/_jsx(SwitchTrack, {
244
- className: classes.track,
245
- ownerState: ownerState
284
+ }), /*#__PURE__*/_jsx(TrackSlot, {
285
+ ...trackSlotProps
246
286
  })]
247
287
  });
248
288
  });
@@ -332,6 +372,28 @@ process.env.NODE_ENV !== "production" ? Switch.propTypes /* remove-proptypes */
332
372
  * @default 'medium'
333
373
  */
334
374
  size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),
375
+ /**
376
+ * The props used for each slot inside.
377
+ * @default {}
378
+ */
379
+ slotProps: PropTypes.shape({
380
+ input: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
381
+ root: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
382
+ switchBase: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
383
+ thumb: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
384
+ track: PropTypes.oneOfType([PropTypes.func, PropTypes.object])
385
+ }),
386
+ /**
387
+ * The components used for each slot inside.
388
+ * @default {}
389
+ */
390
+ slots: PropTypes.shape({
391
+ input: PropTypes.elementType,
392
+ root: PropTypes.elementType,
393
+ switchBase: PropTypes.elementType,
394
+ thumb: PropTypes.elementType,
395
+ track: PropTypes.elementType
396
+ }),
335
397
  /**
336
398
  * The system prop that allows defining system overrides as well as additional CSS styles.
337
399
  */
package/Tab/Tab.d.ts CHANGED
@@ -66,12 +66,12 @@ export type TabTypeMap<
66
66
  *
67
67
  * Demos:
68
68
  *
69
- * - [Tabs](https://mui.com/material-ui/react-tabs/)
69
+ * - [Tabs](https://v6.mui.com/material-ui/react-tabs/)
70
70
  *
71
71
  * API:
72
72
  *
73
- * - [Tab API](https://mui.com/material-ui/api/tab/)
74
- * - inherits [ButtonBase API](https://mui.com/material-ui/api/button-base/)
73
+ * - [Tab API](https://v6.mui.com/material-ui/api/tab/)
74
+ * - inherits [ButtonBase API](https://v6.mui.com/material-ui/api/button-base/)
75
75
  */
76
76
  declare const Tab: ExtendButtonBase<TabTypeMap>;
77
77
 
@@ -69,10 +69,10 @@ export interface TabScrollButtonProps extends ButtonBaseProps {
69
69
  *
70
70
  * Demos:
71
71
  *
72
- * - [Tabs](https://mui.com/material-ui/react-tabs/)
72
+ * - [Tabs](https://v6.mui.com/material-ui/react-tabs/)
73
73
  *
74
74
  * API:
75
75
  *
76
- * - [TabScrollButton API](https://mui.com/material-ui/api/tab-scroll-button/)
76
+ * - [TabScrollButton API](https://v6.mui.com/material-ui/api/tab-scroll-button/)
77
77
  */
78
78
  export default function TabScrollButton(props: TabScrollButtonProps): React.JSX.Element;
package/Table/Table.d.ts CHANGED
@@ -48,11 +48,11 @@ export interface TableTypeMap<
48
48
  *
49
49
  * Demos:
50
50
  *
51
- * - [Table](https://mui.com/material-ui/react-table/)
51
+ * - [Table](https://v6.mui.com/material-ui/react-table/)
52
52
  *
53
53
  * API:
54
54
  *
55
- * - [Table API](https://mui.com/material-ui/api/table/)
55
+ * - [Table API](https://v6.mui.com/material-ui/api/table/)
56
56
  */
57
57
  declare const Table: OverridableComponent<TableTypeMap>;
58
58
 
@@ -30,11 +30,11 @@ export interface TableBodyTypeMap<
30
30
  *
31
31
  * Demos:
32
32
  *
33
- * - [Table](https://mui.com/material-ui/react-table/)
33
+ * - [Table](https://v6.mui.com/material-ui/react-table/)
34
34
  *
35
35
  * API:
36
36
  *
37
- * - [TableBody API](https://mui.com/material-ui/api/table-body/)
37
+ * - [TableBody API](https://v6.mui.com/material-ui/api/table-body/)
38
38
  */
39
39
  declare const TableBody: OverridableComponent<TableBodyTypeMap>;
40
40
 
@@ -77,10 +77,10 @@ export type SortDirection = 'asc' | 'desc' | false;
77
77
  *
78
78
  * Demos:
79
79
  *
80
- * - [Table](https://mui.com/material-ui/react-table/)
80
+ * - [Table](https://v6.mui.com/material-ui/react-table/)
81
81
  *
82
82
  * API:
83
83
  *
84
- * - [TableCell API](https://mui.com/material-ui/api/table-cell/)
84
+ * - [TableCell API](https://v6.mui.com/material-ui/api/table-cell/)
85
85
  */
86
86
  export default function TableCell(props: TableCellProps): React.JSX.Element;
@@ -30,11 +30,11 @@ export interface TableContainerTypeMap<
30
30
  *
31
31
  * Demos:
32
32
  *
33
- * - [Table](https://mui.com/material-ui/react-table/)
33
+ * - [Table](https://v6.mui.com/material-ui/react-table/)
34
34
  *
35
35
  * API:
36
36
  *
37
- * - [TableContainer API](https://mui.com/material-ui/api/table-container/)
37
+ * - [TableContainer API](https://v6.mui.com/material-ui/api/table-container/)
38
38
  */
39
39
  declare const TableContainer: OverridableComponent<TableContainerTypeMap>;
40
40
 
@@ -30,11 +30,11 @@ export interface TableFooterTypeMap<
30
30
  *
31
31
  * Demos:
32
32
  *
33
- * - [Table](https://mui.com/material-ui/react-table/)
33
+ * - [Table](https://v6.mui.com/material-ui/react-table/)
34
34
  *
35
35
  * API:
36
36
  *
37
- * - [TableFooter API](https://mui.com/material-ui/api/table-footer/)
37
+ * - [TableFooter API](https://v6.mui.com/material-ui/api/table-footer/)
38
38
  */
39
39
  declare const TableFooter: OverridableComponent<TableFooterTypeMap>;
40
40
 
@@ -30,11 +30,11 @@ export interface TableHeadTypeMap<
30
30
  *
31
31
  * Demos:
32
32
  *
33
- * - [Table](https://mui.com/material-ui/react-table/)
33
+ * - [Table](https://v6.mui.com/material-ui/react-table/)
34
34
  *
35
35
  * API:
36
36
  *
37
- * - [TableHead API](https://mui.com/material-ui/api/table-head/)
37
+ * - [TableHead API](https://v6.mui.com/material-ui/api/table-head/)
38
38
  */
39
39
  declare const TableHead: OverridableComponent<TableHeadTypeMap>;
40
40
 
@@ -282,13 +282,13 @@ export interface TablePaginationTypeMap<AdditionalProps, RootComponent extends R
282
282
  *
283
283
  * Demos:
284
284
  *
285
- * - [Pagination](https://mui.com/material-ui/react-pagination/)
286
- * - [Table](https://mui.com/material-ui/react-table/)
285
+ * - [Pagination](https://v6.mui.com/material-ui/react-pagination/)
286
+ * - [Table](https://v6.mui.com/material-ui/react-table/)
287
287
  *
288
288
  * API:
289
289
  *
290
- * - [TablePagination API](https://mui.com/material-ui/api/table-pagination/)
291
- * - inherits [TableCell API](https://mui.com/material-ui/api/table-cell/)
290
+ * - [TablePagination API](https://v6.mui.com/material-ui/api/table-pagination/)
291
+ * - inherits [TableCell API](https://v6.mui.com/material-ui/api/table-cell/)
292
292
  */
293
293
  declare const TablePagination: OverridableComponent<
294
294
  TablePaginationTypeMap<{}, React.JSXElementConstructor<TablePaginationBaseProps>>