@mui/material 6.0.0-alpha.6 → 6.0.0-alpha.8

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 (462) hide show
  1. package/Accordion/Accordion.js +33 -33
  2. package/AccordionActions/AccordionActions.js +11 -12
  3. package/AccordionDetails/AccordionDetails.js +7 -9
  4. package/AccordionSummary/AccordionSummary.js +14 -16
  5. package/Alert/Alert.js +56 -51
  6. package/AlertTitle/AlertTitle.js +7 -9
  7. package/AppBar/AppBar.js +34 -32
  8. package/Autocomplete/Autocomplete.d.ts +78 -12
  9. package/Autocomplete/Autocomplete.js +251 -162
  10. package/Avatar/Avatar.js +41 -35
  11. package/AvatarGroup/AvatarGroup.js +31 -31
  12. package/Backdrop/Backdrop.js +33 -30
  13. package/Badge/Badge.js +31 -30
  14. package/BottomNavigation/BottomNavigation.js +15 -17
  15. package/BottomNavigationAction/BottomNavigationAction.js +15 -18
  16. package/Breadcrumbs/BreadcrumbCollapsed.js +35 -34
  17. package/Breadcrumbs/Breadcrumbs.js +19 -21
  18. package/Button/Button.js +32 -29
  19. package/ButtonBase/ButtonBase.js +43 -42
  20. package/ButtonBase/TouchRipple.js +9 -12
  21. package/ButtonGroup/ButtonGroup.js +23 -25
  22. package/CHANGELOG.md +84 -2
  23. package/Card/Card.js +11 -12
  24. package/CardActionArea/CardActionArea.js +9 -12
  25. package/CardActions/CardActions.js +11 -12
  26. package/CardContent/CardContent.js +11 -12
  27. package/CardHeader/CardHeader.js +30 -31
  28. package/CardMedia/CardMedia.js +19 -20
  29. package/Checkbox/Checkbox.js +29 -26
  30. package/Chip/Chip.js +38 -37
  31. package/CircularProgress/CircularProgress.js +24 -23
  32. package/CircularProgress/circularProgressClasses.d.ts +6 -2
  33. package/Collapse/Collapse.js +44 -42
  34. package/CssBaseline/CssBaseline.js +17 -14
  35. package/Dialog/Dialog.js +41 -42
  36. package/DialogActions/DialogActions.js +11 -12
  37. package/DialogContent/DialogContent.js +11 -12
  38. package/DialogContentText/DialogContentText.js +13 -11
  39. package/DialogTitle/DialogTitle.js +8 -10
  40. package/Divider/Divider.js +19 -21
  41. package/Drawer/Drawer.js +50 -49
  42. package/Fab/Fab.js +26 -23
  43. package/Fade/Fade.js +31 -30
  44. package/FilledInput/FilledInput.js +48 -44
  45. package/FilledInput/filledInputClasses.js +4 -2
  46. package/FormControl/FormControl.js +27 -25
  47. package/FormControlLabel/FormControlLabel.js +32 -26
  48. package/FormGroup/FormGroup.js +11 -12
  49. package/FormHelperText/FormHelperText.js +26 -18
  50. package/FormLabel/FormLabel.js +27 -19
  51. package/GlobalStyles/GlobalStyles.js +3 -3
  52. package/Grid/Grid.js +49 -41
  53. package/Grow/Grow.js +31 -30
  54. package/Hidden/Hidden.js +21 -22
  55. package/Hidden/HiddenCss.js +29 -29
  56. package/Hidden/withWidth.js +19 -19
  57. package/Icon/Icon.js +15 -16
  58. package/IconButton/IconButton.js +18 -20
  59. package/ImageList/ImageList.js +24 -24
  60. package/ImageListItem/ImageListItem.js +19 -20
  61. package/ImageListItemBar/ImageListItemBar.js +15 -17
  62. package/Input/Input.js +21 -20
  63. package/Input/inputClasses.js +4 -2
  64. package/InputAdornment/InputAdornment.js +16 -18
  65. package/InputBase/InputBase.js +90 -73
  66. package/InputLabel/InputLabel.js +20 -16
  67. package/LinearProgress/LinearProgress.js +21 -23
  68. package/Link/Link.js +27 -26
  69. package/List/List.js +15 -17
  70. package/ListItem/ListItem.js +58 -49
  71. package/ListItemAvatar/ListItemAvatar.js +10 -11
  72. package/ListItemButton/ListItemButton.js +23 -22
  73. package/ListItemIcon/ListItemIcon.js +10 -11
  74. package/ListItemSecondaryAction/ListItemSecondaryAction.js +10 -11
  75. package/ListItemText/ListItemText.js +25 -27
  76. package/ListSubheader/ListSubheader.js +15 -16
  77. package/Menu/Menu.js +34 -36
  78. package/MenuItem/MenuItem.js +28 -26
  79. package/MenuList/MenuList.js +17 -20
  80. package/MobileStepper/MobileStepper.js +21 -22
  81. package/Modal/Modal.js +47 -38
  82. package/NativeSelect/NativeSelect.js +26 -22
  83. package/NativeSelect/NativeSelectInput.js +15 -16
  84. package/OutlinedInput/NotchedOutline.js +14 -14
  85. package/OutlinedInput/OutlinedInput.js +46 -42
  86. package/OutlinedInput/outlinedInputClasses.js +4 -2
  87. package/Pagination/Pagination.js +36 -32
  88. package/PaginationItem/PaginationItem.js +31 -30
  89. package/Paper/Paper.js +26 -23
  90. package/Popover/Popover.js +71 -71
  91. package/Popper/Popper.js +25 -27
  92. package/Radio/Radio.js +24 -22
  93. package/Radio/RadioButtonIcon.js +3 -3
  94. package/RadioGroup/RadioGroup.js +15 -18
  95. package/Rating/Rating.js +54 -47
  96. package/ScopedCssBaseline/ScopedCssBaseline.js +18 -15
  97. package/Select/Select.js +63 -57
  98. package/Select/SelectInput.js +64 -59
  99. package/Skeleton/Skeleton.js +20 -21
  100. package/Slide/Slide.js +37 -33
  101. package/Slider/Slider.js +155 -106
  102. package/Snackbar/Snackbar.js +52 -45
  103. package/SnackbarContent/SnackbarContent.js +13 -15
  104. package/SpeedDial/SpeedDial.js +59 -60
  105. package/SpeedDialAction/SpeedDialAction.js +34 -33
  106. package/SpeedDialIcon/SpeedDialIcon.js +10 -12
  107. package/Step/Step.js +18 -20
  108. package/StepButton/StepButton.js +16 -17
  109. package/StepConnector/StepConnector.js +10 -12
  110. package/StepContent/StepContent.js +18 -20
  111. package/StepIcon/StepIcon.js +22 -22
  112. package/StepLabel/StepLabel.js +33 -30
  113. package/Stepper/Stepper.js +21 -22
  114. package/SvgIcon/SvgIcon.js +21 -21
  115. package/SwipeableDrawer/SwipeArea.js +15 -16
  116. package/SwipeableDrawer/SwipeableDrawer.js +49 -43
  117. package/Switch/Switch.js +23 -20
  118. package/Tab/Tab.js +32 -33
  119. package/TabScrollButton/TabScrollButton.js +27 -21
  120. package/Table/Table.js +17 -17
  121. package/TableBody/TableBody.js +11 -12
  122. package/TableCell/TableCell.js +19 -19
  123. package/TableContainer/TableContainer.js +11 -12
  124. package/TableFooter/TableFooter.js +11 -12
  125. package/TableHead/TableHead.js +11 -12
  126. package/TablePagination/TablePagination.js +56 -52
  127. package/TablePagination/TablePaginationActions.js +51 -38
  128. package/TableRow/TableRow.js +13 -14
  129. package/TableSortLabel/TableSortLabel.js +15 -17
  130. package/Tabs/ScrollbarSize.js +7 -9
  131. package/Tabs/Tabs.js +52 -49
  132. package/TextField/TextField.d.ts +58 -3
  133. package/TextField/TextField.js +137 -67
  134. package/ToggleButton/ToggleButton.js +30 -32
  135. package/ToggleButtonGroup/ToggleButtonGroup.js +19 -21
  136. package/ToggleButtonGroup/toggleButtonGroupClasses.d.ts +2 -0
  137. package/Toolbar/Toolbar.js +13 -14
  138. package/Tooltip/Tooltip.js +75 -60
  139. package/Typography/Typography.js +37 -35
  140. package/Zoom/Zoom.js +31 -30
  141. package/index.js +1 -1
  142. package/internal/SwitchBase.js +37 -37
  143. package/modern/Accordion/Accordion.js +33 -33
  144. package/modern/AccordionActions/AccordionActions.js +11 -12
  145. package/modern/AccordionDetails/AccordionDetails.js +7 -9
  146. package/modern/AccordionSummary/AccordionSummary.js +14 -16
  147. package/modern/Alert/Alert.js +56 -51
  148. package/modern/AlertTitle/AlertTitle.js +7 -9
  149. package/modern/AppBar/AppBar.js +34 -32
  150. package/modern/Autocomplete/Autocomplete.js +251 -162
  151. package/modern/Avatar/Avatar.js +41 -35
  152. package/modern/AvatarGroup/AvatarGroup.js +31 -31
  153. package/modern/Backdrop/Backdrop.js +33 -30
  154. package/modern/Badge/Badge.js +31 -30
  155. package/modern/BottomNavigation/BottomNavigation.js +15 -17
  156. package/modern/BottomNavigationAction/BottomNavigationAction.js +15 -18
  157. package/modern/Breadcrumbs/BreadcrumbCollapsed.js +35 -34
  158. package/modern/Breadcrumbs/Breadcrumbs.js +19 -21
  159. package/modern/Button/Button.js +32 -29
  160. package/modern/ButtonBase/ButtonBase.js +43 -42
  161. package/modern/ButtonBase/TouchRipple.js +9 -12
  162. package/modern/ButtonGroup/ButtonGroup.js +23 -25
  163. package/modern/Card/Card.js +11 -12
  164. package/modern/CardActionArea/CardActionArea.js +9 -12
  165. package/modern/CardActions/CardActions.js +11 -12
  166. package/modern/CardContent/CardContent.js +11 -12
  167. package/modern/CardHeader/CardHeader.js +30 -31
  168. package/modern/CardMedia/CardMedia.js +19 -20
  169. package/modern/Checkbox/Checkbox.js +29 -26
  170. package/modern/Chip/Chip.js +38 -37
  171. package/modern/CircularProgress/CircularProgress.js +24 -23
  172. package/modern/Collapse/Collapse.js +44 -42
  173. package/modern/CssBaseline/CssBaseline.js +17 -14
  174. package/modern/Dialog/Dialog.js +41 -42
  175. package/modern/DialogActions/DialogActions.js +11 -12
  176. package/modern/DialogContent/DialogContent.js +11 -12
  177. package/modern/DialogContentText/DialogContentText.js +13 -11
  178. package/modern/DialogTitle/DialogTitle.js +8 -10
  179. package/modern/Divider/Divider.js +19 -21
  180. package/modern/Drawer/Drawer.js +50 -49
  181. package/modern/Fab/Fab.js +26 -23
  182. package/modern/Fade/Fade.js +31 -30
  183. package/modern/FilledInput/FilledInput.js +48 -44
  184. package/modern/FilledInput/filledInputClasses.js +4 -2
  185. package/modern/FormControl/FormControl.js +27 -25
  186. package/modern/FormControlLabel/FormControlLabel.js +32 -26
  187. package/modern/FormGroup/FormGroup.js +11 -12
  188. package/modern/FormHelperText/FormHelperText.js +26 -18
  189. package/modern/FormLabel/FormLabel.js +27 -19
  190. package/modern/GlobalStyles/GlobalStyles.js +3 -3
  191. package/modern/Grid/Grid.js +49 -41
  192. package/modern/Grow/Grow.js +31 -30
  193. package/modern/Hidden/Hidden.js +21 -22
  194. package/modern/Hidden/HiddenCss.js +29 -29
  195. package/modern/Hidden/withWidth.js +19 -19
  196. package/modern/Icon/Icon.js +15 -16
  197. package/modern/IconButton/IconButton.js +18 -20
  198. package/modern/ImageList/ImageList.js +24 -24
  199. package/modern/ImageListItem/ImageListItem.js +19 -20
  200. package/modern/ImageListItemBar/ImageListItemBar.js +15 -17
  201. package/modern/Input/Input.js +21 -20
  202. package/modern/Input/inputClasses.js +4 -2
  203. package/modern/InputAdornment/InputAdornment.js +16 -18
  204. package/modern/InputBase/InputBase.js +90 -73
  205. package/modern/InputLabel/InputLabel.js +20 -16
  206. package/modern/LinearProgress/LinearProgress.js +21 -23
  207. package/modern/Link/Link.js +27 -26
  208. package/modern/List/List.js +15 -17
  209. package/modern/ListItem/ListItem.js +58 -49
  210. package/modern/ListItemAvatar/ListItemAvatar.js +10 -11
  211. package/modern/ListItemButton/ListItemButton.js +23 -22
  212. package/modern/ListItemIcon/ListItemIcon.js +10 -11
  213. package/modern/ListItemSecondaryAction/ListItemSecondaryAction.js +10 -11
  214. package/modern/ListItemText/ListItemText.js +25 -27
  215. package/modern/ListSubheader/ListSubheader.js +15 -16
  216. package/modern/Menu/Menu.js +34 -36
  217. package/modern/MenuItem/MenuItem.js +28 -26
  218. package/modern/MenuList/MenuList.js +17 -20
  219. package/modern/MobileStepper/MobileStepper.js +21 -22
  220. package/modern/Modal/Modal.js +47 -38
  221. package/modern/NativeSelect/NativeSelect.js +26 -22
  222. package/modern/NativeSelect/NativeSelectInput.js +15 -16
  223. package/modern/OutlinedInput/NotchedOutline.js +14 -14
  224. package/modern/OutlinedInput/OutlinedInput.js +46 -42
  225. package/modern/OutlinedInput/outlinedInputClasses.js +4 -2
  226. package/modern/Pagination/Pagination.js +36 -32
  227. package/modern/PaginationItem/PaginationItem.js +31 -30
  228. package/modern/Paper/Paper.js +26 -23
  229. package/modern/Popover/Popover.js +71 -71
  230. package/modern/Popper/Popper.js +25 -27
  231. package/modern/Radio/Radio.js +24 -22
  232. package/modern/Radio/RadioButtonIcon.js +3 -3
  233. package/modern/RadioGroup/RadioGroup.js +15 -18
  234. package/modern/Rating/Rating.js +54 -47
  235. package/modern/ScopedCssBaseline/ScopedCssBaseline.js +18 -15
  236. package/modern/Select/Select.js +63 -57
  237. package/modern/Select/SelectInput.js +64 -59
  238. package/modern/Skeleton/Skeleton.js +20 -21
  239. package/modern/Slide/Slide.js +37 -33
  240. package/modern/Slider/Slider.js +155 -106
  241. package/modern/Snackbar/Snackbar.js +52 -45
  242. package/modern/SnackbarContent/SnackbarContent.js +13 -15
  243. package/modern/SpeedDial/SpeedDial.js +59 -60
  244. package/modern/SpeedDialAction/SpeedDialAction.js +34 -33
  245. package/modern/SpeedDialIcon/SpeedDialIcon.js +10 -12
  246. package/modern/Step/Step.js +18 -20
  247. package/modern/StepButton/StepButton.js +16 -17
  248. package/modern/StepConnector/StepConnector.js +10 -12
  249. package/modern/StepContent/StepContent.js +18 -20
  250. package/modern/StepIcon/StepIcon.js +22 -22
  251. package/modern/StepLabel/StepLabel.js +33 -30
  252. package/modern/Stepper/Stepper.js +21 -22
  253. package/modern/SvgIcon/SvgIcon.js +21 -21
  254. package/modern/SwipeableDrawer/SwipeArea.js +15 -16
  255. package/modern/SwipeableDrawer/SwipeableDrawer.js +49 -43
  256. package/modern/Switch/Switch.js +23 -20
  257. package/modern/Tab/Tab.js +32 -33
  258. package/modern/TabScrollButton/TabScrollButton.js +27 -21
  259. package/modern/Table/Table.js +17 -17
  260. package/modern/TableBody/TableBody.js +11 -12
  261. package/modern/TableCell/TableCell.js +19 -19
  262. package/modern/TableContainer/TableContainer.js +11 -12
  263. package/modern/TableFooter/TableFooter.js +11 -12
  264. package/modern/TableHead/TableHead.js +11 -12
  265. package/modern/TablePagination/TablePagination.js +56 -52
  266. package/modern/TablePagination/TablePaginationActions.js +51 -38
  267. package/modern/TableRow/TableRow.js +13 -14
  268. package/modern/TableSortLabel/TableSortLabel.js +15 -17
  269. package/modern/Tabs/ScrollbarSize.js +7 -9
  270. package/modern/Tabs/Tabs.js +52 -49
  271. package/modern/TextField/TextField.js +137 -67
  272. package/modern/ToggleButton/ToggleButton.js +30 -32
  273. package/modern/ToggleButtonGroup/ToggleButtonGroup.js +19 -21
  274. package/modern/Toolbar/Toolbar.js +13 -14
  275. package/modern/Tooltip/Tooltip.js +75 -60
  276. package/modern/Typography/Typography.js +37 -35
  277. package/modern/Zoom/Zoom.js +31 -30
  278. package/modern/index.js +1 -1
  279. package/modern/internal/SwitchBase.js +37 -37
  280. package/modern/styles/CssVarsProvider.js +3 -3
  281. package/modern/styles/ThemeProvider.js +7 -10
  282. package/modern/styles/adaptV4Theme.js +31 -31
  283. package/modern/styles/createMixins.js +4 -4
  284. package/modern/styles/createPalette.js +16 -13
  285. package/modern/styles/createTheme.js +16 -11
  286. package/modern/styles/createTransitions.js +17 -14
  287. package/modern/styles/createTypography.js +31 -29
  288. package/modern/styles/experimental_extendTheme.js +47 -37
  289. package/modern/styles/responsiveFontSizes.js +17 -11
  290. package/modern/usePagination/usePagination.js +18 -20
  291. package/modern/useScrollTrigger/useScrollTrigger.js +8 -10
  292. package/modern/utils/createSvgIcon.js +4 -5
  293. package/modern/utils/useSlot.js +41 -40
  294. package/node/Accordion/Accordion.js +33 -33
  295. package/node/AccordionActions/AccordionActions.js +11 -12
  296. package/node/AccordionDetails/AccordionDetails.js +7 -9
  297. package/node/AccordionSummary/AccordionSummary.js +14 -16
  298. package/node/Alert/Alert.js +56 -51
  299. package/node/AlertTitle/AlertTitle.js +7 -9
  300. package/node/AppBar/AppBar.js +125 -129
  301. package/node/Autocomplete/Autocomplete.js +252 -164
  302. package/node/Avatar/Avatar.js +41 -35
  303. package/node/AvatarGroup/AvatarGroup.js +31 -31
  304. package/node/Backdrop/Backdrop.js +33 -30
  305. package/node/Badge/Badge.js +179 -184
  306. package/node/BottomNavigation/BottomNavigation.js +15 -17
  307. package/node/BottomNavigationAction/BottomNavigationAction.js +15 -18
  308. package/node/Breadcrumbs/BreadcrumbCollapsed.js +35 -34
  309. package/node/Breadcrumbs/Breadcrumbs.js +19 -21
  310. package/node/Button/Button.js +32 -29
  311. package/node/ButtonBase/ButtonBase.js +43 -42
  312. package/node/ButtonBase/TouchRipple.js +9 -12
  313. package/node/ButtonGroup/ButtonGroup.js +23 -25
  314. package/node/Card/Card.js +11 -12
  315. package/node/CardActionArea/CardActionArea.js +9 -12
  316. package/node/CardActions/CardActions.js +11 -12
  317. package/node/CardContent/CardContent.js +11 -12
  318. package/node/CardHeader/CardHeader.js +30 -31
  319. package/node/CardMedia/CardMedia.js +19 -20
  320. package/node/Checkbox/Checkbox.js +29 -26
  321. package/node/Chip/Chip.js +38 -37
  322. package/node/CircularProgress/CircularProgress.js +24 -23
  323. package/node/Collapse/Collapse.js +44 -42
  324. package/node/CssBaseline/CssBaseline.js +17 -14
  325. package/node/Dialog/Dialog.js +41 -42
  326. package/node/DialogActions/DialogActions.js +11 -12
  327. package/node/DialogContent/DialogContent.js +11 -12
  328. package/node/DialogContentText/DialogContentText.js +13 -11
  329. package/node/DialogTitle/DialogTitle.js +8 -10
  330. package/node/Divider/Divider.js +19 -21
  331. package/node/Drawer/Drawer.js +50 -49
  332. package/node/Fab/Fab.js +27 -24
  333. package/node/Fade/Fade.js +31 -30
  334. package/node/FilledInput/FilledInput.js +48 -44
  335. package/node/FilledInput/filledInputClasses.js +4 -2
  336. package/node/FormControl/FormControl.js +27 -25
  337. package/node/FormControlLabel/FormControlLabel.js +32 -26
  338. package/node/FormGroup/FormGroup.js +11 -12
  339. package/node/FormHelperText/FormHelperText.js +26 -18
  340. package/node/FormLabel/FormLabel.js +27 -19
  341. package/node/GlobalStyles/GlobalStyles.js +3 -3
  342. package/node/Grid/Grid.js +49 -41
  343. package/node/Grow/Grow.js +31 -30
  344. package/node/Hidden/Hidden.js +24 -26
  345. package/node/Hidden/HiddenCss.js +29 -29
  346. package/node/Hidden/withWidth.js +19 -19
  347. package/node/Icon/Icon.js +15 -16
  348. package/node/IconButton/IconButton.js +18 -20
  349. package/node/ImageList/ImageList.js +24 -24
  350. package/node/ImageListItem/ImageListItem.js +19 -20
  351. package/node/ImageListItemBar/ImageListItemBar.js +15 -17
  352. package/node/Input/Input.js +21 -20
  353. package/node/Input/inputClasses.js +4 -2
  354. package/node/InputAdornment/InputAdornment.js +16 -18
  355. package/node/InputBase/InputBase.js +90 -73
  356. package/node/InputLabel/InputLabel.js +20 -16
  357. package/node/LinearProgress/LinearProgress.js +21 -23
  358. package/node/Link/Link.js +27 -26
  359. package/node/List/List.js +15 -17
  360. package/node/ListItem/ListItem.js +58 -49
  361. package/node/ListItemAvatar/ListItemAvatar.js +10 -11
  362. package/node/ListItemButton/ListItemButton.js +23 -22
  363. package/node/ListItemIcon/ListItemIcon.js +10 -11
  364. package/node/ListItemSecondaryAction/ListItemSecondaryAction.js +10 -11
  365. package/node/ListItemText/ListItemText.js +25 -27
  366. package/node/ListSubheader/ListSubheader.js +15 -16
  367. package/node/Menu/Menu.js +34 -36
  368. package/node/MenuItem/MenuItem.js +28 -26
  369. package/node/MenuList/MenuList.js +17 -20
  370. package/node/MobileStepper/MobileStepper.js +21 -22
  371. package/node/Modal/Modal.js +47 -38
  372. package/node/NativeSelect/NativeSelect.js +26 -22
  373. package/node/NativeSelect/NativeSelectInput.js +15 -16
  374. package/node/OutlinedInput/NotchedOutline.js +14 -14
  375. package/node/OutlinedInput/OutlinedInput.js +46 -42
  376. package/node/OutlinedInput/outlinedInputClasses.js +4 -2
  377. package/node/Pagination/Pagination.js +36 -32
  378. package/node/PaginationItem/PaginationItem.js +31 -30
  379. package/node/Paper/Paper.js +26 -23
  380. package/node/Popover/Popover.js +71 -71
  381. package/node/Popper/Popper.js +25 -27
  382. package/node/Radio/Radio.js +24 -22
  383. package/node/Radio/RadioButtonIcon.js +3 -3
  384. package/node/RadioGroup/RadioGroup.js +15 -18
  385. package/node/Rating/Rating.js +54 -47
  386. package/node/ScopedCssBaseline/ScopedCssBaseline.js +18 -15
  387. package/node/Select/Select.js +63 -57
  388. package/node/Select/SelectInput.js +64 -59
  389. package/node/Skeleton/Skeleton.js +20 -21
  390. package/node/Slide/Slide.js +39 -34
  391. package/node/Slider/Slider.js +298 -265
  392. package/node/Snackbar/Snackbar.js +52 -45
  393. package/node/SnackbarContent/SnackbarContent.js +13 -15
  394. package/node/SpeedDial/SpeedDial.js +59 -60
  395. package/node/SpeedDialAction/SpeedDialAction.js +34 -33
  396. package/node/SpeedDialIcon/SpeedDialIcon.js +10 -12
  397. package/node/Step/Step.js +18 -20
  398. package/node/StepButton/StepButton.js +16 -17
  399. package/node/StepConnector/StepConnector.js +10 -12
  400. package/node/StepContent/StepContent.js +18 -20
  401. package/node/StepIcon/StepIcon.js +22 -22
  402. package/node/StepLabel/StepLabel.js +33 -30
  403. package/node/Stepper/Stepper.js +21 -22
  404. package/node/SvgIcon/SvgIcon.js +21 -21
  405. package/node/SwipeableDrawer/SwipeArea.js +15 -16
  406. package/node/SwipeableDrawer/SwipeableDrawer.js +51 -44
  407. package/node/Switch/Switch.js +23 -20
  408. package/node/Tab/Tab.js +32 -33
  409. package/node/TabScrollButton/TabScrollButton.js +27 -21
  410. package/node/Table/Table.js +17 -17
  411. package/node/TableBody/TableBody.js +11 -12
  412. package/node/TableCell/TableCell.js +19 -19
  413. package/node/TableContainer/TableContainer.js +11 -12
  414. package/node/TableFooter/TableFooter.js +11 -12
  415. package/node/TableHead/TableHead.js +11 -12
  416. package/node/TablePagination/TablePagination.js +56 -52
  417. package/node/TablePagination/TablePaginationActions.js +54 -42
  418. package/node/TableRow/TableRow.js +13 -14
  419. package/node/TableSortLabel/TableSortLabel.js +15 -17
  420. package/node/Tabs/ScrollbarSize.js +7 -9
  421. package/node/Tabs/Tabs.js +52 -49
  422. package/node/TextField/TextField.js +137 -67
  423. package/node/ToggleButton/ToggleButton.js +30 -32
  424. package/node/ToggleButtonGroup/ToggleButtonGroup.js +19 -21
  425. package/node/Toolbar/Toolbar.js +13 -14
  426. package/node/Tooltip/Tooltip.js +75 -60
  427. package/node/Typography/Typography.js +37 -35
  428. package/node/Zoom/Zoom.js +31 -30
  429. package/node/index.js +1 -1
  430. package/node/internal/SwitchBase.js +37 -37
  431. package/node/styles/CssVarsProvider.js +3 -3
  432. package/node/styles/ThemeProvider.js +7 -10
  433. package/node/styles/adaptV4Theme.js +31 -32
  434. package/node/styles/createMixins.js +4 -5
  435. package/node/styles/createPalette.js +16 -13
  436. package/node/styles/createTheme.js +16 -11
  437. package/node/styles/createTransitions.js +17 -15
  438. package/node/styles/createTypography.js +31 -29
  439. package/node/styles/experimental_extendTheme.js +47 -37
  440. package/node/styles/responsiveFontSizes.js +17 -11
  441. package/node/usePagination/usePagination.js +18 -20
  442. package/node/useScrollTrigger/useScrollTrigger.js +8 -11
  443. package/node/utils/createSvgIcon.js +4 -5
  444. package/node/utils/useSlot.js +41 -40
  445. package/package.json +6 -6
  446. package/styles/CssVarsProvider.js +3 -3
  447. package/styles/ThemeProvider.js +7 -10
  448. package/styles/adaptV4Theme.js +31 -31
  449. package/styles/createMixins.js +4 -4
  450. package/styles/createPalette.js +16 -13
  451. package/styles/createTheme.js +16 -11
  452. package/styles/createTransitions.js +17 -14
  453. package/styles/createTypography.js +31 -29
  454. package/styles/experimental_extendTheme.js +47 -37
  455. package/styles/responsiveFontSizes.js +17 -11
  456. package/usePagination/usePagination.d.ts +1 -1
  457. package/usePagination/usePagination.js +18 -20
  458. package/useScrollTrigger/useScrollTrigger.js +8 -10
  459. package/utils/createSvgIcon.js +4 -5
  460. package/utils/useSlot.js +41 -40
  461. package/umd/material-ui.development.js +0 -54172
  462. package/umd/material-ui.production.min.js +0 -25
@@ -12,10 +12,50 @@ import { InputLabelProps } from '../InputLabel';
12
12
  import { SelectProps } from '../Select';
13
13
  import { Theme } from '../styles';
14
14
  import { TextFieldClasses } from './textFieldClasses';
15
+ import { CreateSlotsAndSlotProps, SlotProps } from '../utils/types';
15
16
 
16
17
  export interface TextFieldPropsColorOverrides {}
17
18
  export interface TextFieldPropsSizeOverrides {}
18
19
 
20
+ export interface TextFieldSlots {
21
+ /**
22
+ * The component that renders the input.
23
+ * @default OutlinedInput
24
+ */
25
+ input?: React.ElementType;
26
+ /**
27
+ * The component that renders the input's label.
28
+ * @default InputLabel
29
+ */
30
+ inputLabel?: React.ElementType;
31
+ /**
32
+ * The html input element.
33
+ * @default 'input'
34
+ */
35
+ htmlInput?: React.ElementType;
36
+ /**
37
+ * The component that renders the helper text.
38
+ * @default FormHelperText
39
+ */
40
+ formHelperText?: React.ElementType;
41
+ /**
42
+ * The component that renders the select.
43
+ * @default Select
44
+ */
45
+ select?: React.ElementType;
46
+ }
47
+
48
+ export type TextFieldSlotsAndSlotProps<InputPropsType> = CreateSlotsAndSlotProps<
49
+ TextFieldSlots,
50
+ {
51
+ input: SlotProps<React.ElementType<InputPropsType>, {}, TextFieldOwnerState>;
52
+ inputLabel: SlotProps<React.ElementType<InputLabelProps>, {}, TextFieldOwnerState>;
53
+ htmlInput: SlotProps<React.ElementType<InputBaseProps['inputProps']>, {}, TextFieldOwnerState>;
54
+ formHelperText: SlotProps<React.ElementType<FormHelperTextProps>, {}, TextFieldOwnerState>;
55
+ select: SlotProps<React.ElementType<SelectProps>, {}, TextFieldOwnerState>;
56
+ }
57
+ >;
58
+
19
59
  export interface BaseTextFieldProps
20
60
  extends StandardProps<
21
61
  FormControlProps,
@@ -67,6 +107,7 @@ export interface BaseTextFieldProps
67
107
  error?: boolean;
68
108
  /**
69
109
  * Props applied to the [`FormHelperText`](/material-ui/api/form-helper-text/) element.
110
+ * @deprecated Use `slotProps.formHelperText` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
70
111
  */
71
112
  FormHelperTextProps?: Partial<FormHelperTextProps>;
72
113
  /**
@@ -86,10 +127,12 @@ export interface BaseTextFieldProps
86
127
  /**
87
128
  * Props applied to the [`InputLabel`](/material-ui/api/input-label/) element.
88
129
  * Pointer events like `onClick` are enabled if and only if `shrink` is `true`.
130
+ * @deprecated Use `slotProps.inputLabel` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
89
131
  */
90
132
  InputLabelProps?: Partial<InputLabelProps>;
91
133
  /**
92
134
  * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.
135
+ * @deprecated Use `slotProps.htmlInput` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
93
136
  */
94
137
  inputProps?: InputBaseProps['inputProps'];
95
138
  /**
@@ -140,6 +183,7 @@ export interface BaseTextFieldProps
140
183
  select?: boolean;
141
184
  /**
142
185
  * Props applied to the [`Select`](/material-ui/api/select/) element.
186
+ * @deprecated Use `slotProps.select` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
143
187
  */
144
188
  SelectProps?: Partial<SelectProps>;
145
189
  /**
@@ -160,7 +204,9 @@ export interface BaseTextFieldProps
160
204
  value?: unknown;
161
205
  }
162
206
 
163
- export interface StandardTextFieldProps extends BaseTextFieldProps {
207
+ export interface StandardTextFieldProps
208
+ extends BaseTextFieldProps,
209
+ TextFieldSlotsAndSlotProps<StandardInputProps> {
164
210
  /**
165
211
  * Callback fired when the value is changed.
166
212
  *
@@ -178,11 +224,14 @@ export interface StandardTextFieldProps extends BaseTextFieldProps {
178
224
  * It will be a [`FilledInput`](/material-ui/api/filled-input/),
179
225
  * [`OutlinedInput`](/material-ui/api/outlined-input/) or [`Input`](/material-ui/api/input/)
180
226
  * component depending on the `variant` prop value.
227
+ * @deprecated Use `slotProps.input` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
181
228
  */
182
229
  InputProps?: Partial<StandardInputProps>;
183
230
  }
184
231
 
185
- export interface FilledTextFieldProps extends BaseTextFieldProps {
232
+ export interface FilledTextFieldProps
233
+ extends BaseTextFieldProps,
234
+ TextFieldSlotsAndSlotProps<FilledInputProps> {
186
235
  /**
187
236
  * Callback fired when the value is changed.
188
237
  *
@@ -200,11 +249,14 @@ export interface FilledTextFieldProps extends BaseTextFieldProps {
200
249
  * It will be a [`FilledInput`](/material-ui/api/filled-input/),
201
250
  * [`OutlinedInput`](/material-ui/api/outlined-input/) or [`Input`](/material-ui/api/input/)
202
251
  * component depending on the `variant` prop value.
252
+ * @deprecated Use `slotProps.input` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
203
253
  */
204
254
  InputProps?: Partial<FilledInputProps>;
205
255
  }
206
256
 
207
- export interface OutlinedTextFieldProps extends BaseTextFieldProps {
257
+ export interface OutlinedTextFieldProps
258
+ extends BaseTextFieldProps,
259
+ TextFieldSlotsAndSlotProps<OutlinedInputProps> {
208
260
  /**
209
261
  * Callback fired when the value is changed.
210
262
  *
@@ -222,6 +274,7 @@ export interface OutlinedTextFieldProps extends BaseTextFieldProps {
222
274
  * It will be a [`FilledInput`](/material-ui/api/filled-input/),
223
275
  * [`OutlinedInput`](/material-ui/api/outlined-input/) or [`Input`](/material-ui/api/input/)
224
276
  * component depending on the `variant` prop value.
277
+ * @deprecated Use `slotProps.input` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
225
278
  */
226
279
  InputProps?: Partial<OutlinedInputProps>;
227
280
  }
@@ -235,6 +288,8 @@ export type TextFieldProps<Variant extends TextFieldVariants = TextFieldVariants
235
288
  ? StandardTextFieldProps
236
289
  : OutlinedTextFieldProps;
237
290
 
291
+ export type TextFieldOwnerState = BaseTextFieldProps;
292
+
238
293
  /**
239
294
  * The `TextField` is a convenience wrapper for the most common cases (80%).
240
295
  * It cannot be all things to all people, otherwise the API would grow out of control.
@@ -1,8 +1,5 @@
1
1
  'use client';
2
2
 
3
- import _extends from "@babel/runtime/helpers/esm/extends";
4
- import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
5
- const _excluded = ["autoComplete", "autoFocus", "children", "className", "color", "defaultValue", "disabled", "error", "FormHelperTextProps", "fullWidth", "helperText", "id", "InputLabelProps", "inputProps", "InputProps", "inputRef", "label", "maxRows", "minRows", "multiline", "name", "onBlur", "onChange", "onFocus", "placeholder", "required", "rows", "select", "SelectProps", "type", "value", "variant"];
6
3
  import * as React from 'react';
7
4
  import PropTypes from 'prop-types';
8
5
  import clsx from 'clsx';
@@ -18,6 +15,7 @@ import FormControl from '../FormControl';
18
15
  import FormHelperText from '../FormHelperText';
19
16
  import Select from '../Select';
20
17
  import { getTextFieldUtilityClass } from './textFieldClasses';
18
+ import useSlot from '../utils/useSlot';
21
19
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
22
20
  const useThemeProps = createUseThemeProps('MuiTextField');
23
21
  const variantComponent = {
@@ -78,41 +76,44 @@ const TextField = /*#__PURE__*/React.forwardRef(function TextField(inProps, ref)
78
76
  name: 'MuiTextField'
79
77
  });
80
78
  const {
81
- autoComplete,
82
- autoFocus = false,
83
- children,
84
- className,
85
- color = 'primary',
86
- defaultValue,
87
- disabled = false,
88
- error = false,
89
- FormHelperTextProps,
90
- fullWidth = false,
91
- helperText,
92
- id: idOverride,
93
- InputLabelProps,
94
- inputProps,
95
- InputProps,
96
- inputRef,
97
- label,
98
- maxRows,
99
- minRows,
100
- multiline = false,
101
- name,
102
- onBlur,
103
- onChange,
104
- onFocus,
105
- placeholder,
106
- required = false,
107
- rows,
108
- select = false,
109
- SelectProps,
110
- type,
111
- value,
112
- variant = 'outlined'
113
- } = props,
114
- other = _objectWithoutPropertiesLoose(props, _excluded);
115
- const ownerState = _extends({}, props, {
79
+ autoComplete,
80
+ autoFocus = false,
81
+ children,
82
+ className,
83
+ color = 'primary',
84
+ defaultValue,
85
+ disabled = false,
86
+ error = false,
87
+ FormHelperTextProps: FormHelperTextPropsProp,
88
+ fullWidth = false,
89
+ helperText,
90
+ id: idOverride,
91
+ InputLabelProps: InputLabelPropsProp,
92
+ inputProps: inputPropsProp,
93
+ InputProps: InputPropsProp,
94
+ inputRef,
95
+ label,
96
+ maxRows,
97
+ minRows,
98
+ multiline = false,
99
+ name,
100
+ onBlur,
101
+ onChange,
102
+ onFocus,
103
+ placeholder,
104
+ required = false,
105
+ rows,
106
+ select = false,
107
+ SelectProps: SelectPropsProp,
108
+ slots = {},
109
+ slotProps = {},
110
+ type,
111
+ value,
112
+ variant = 'outlined',
113
+ ...other
114
+ } = props;
115
+ const ownerState = {
116
+ ...props,
116
117
  autoFocus,
117
118
  color,
118
119
  disabled,
@@ -122,32 +123,70 @@ const TextField = /*#__PURE__*/React.forwardRef(function TextField(inProps, ref)
122
123
  required,
123
124
  select,
124
125
  variant
125
- });
126
+ };
126
127
  const classes = useUtilityClasses(ownerState);
127
128
  if (process.env.NODE_ENV !== 'production') {
128
129
  if (select && !children) {
129
130
  console.error('MUI: `children` must be passed when using the `TextField` component with `select`.');
130
131
  }
131
132
  }
132
- const InputMore = {};
133
+ const id = useId(idOverride);
134
+ const helperTextId = helperText && id ? `${id}-helper-text` : undefined;
135
+ const inputLabelId = label && id ? `${id}-label` : undefined;
136
+ const InputComponent = variantComponent[variant];
137
+ const externalForwardedProps = {
138
+ slots,
139
+ slotProps: {
140
+ input: InputPropsProp,
141
+ inputLabel: InputLabelPropsProp,
142
+ htmlInput: inputPropsProp,
143
+ formHelperText: FormHelperTextPropsProp,
144
+ select: SelectPropsProp,
145
+ ...slotProps
146
+ }
147
+ };
148
+ const inputAdditionalProps = {};
149
+ const inputLabelSlotProps = externalForwardedProps.slotProps.inputLabel;
133
150
  if (variant === 'outlined') {
134
- if (InputLabelProps && typeof InputLabelProps.shrink !== 'undefined') {
135
- InputMore.notched = InputLabelProps.shrink;
151
+ if (inputLabelSlotProps && typeof inputLabelSlotProps.shrink !== 'undefined') {
152
+ inputAdditionalProps.notched = inputLabelSlotProps.shrink;
136
153
  }
137
- InputMore.label = label;
154
+ inputAdditionalProps.label = label;
138
155
  }
139
156
  if (select) {
140
157
  // unset defaults from textbox inputs
141
- if (!SelectProps || !SelectProps.native) {
142
- InputMore.id = undefined;
158
+ if (!SelectPropsProp || !SelectPropsProp.native) {
159
+ inputAdditionalProps.id = undefined;
143
160
  }
144
- InputMore['aria-describedby'] = undefined;
161
+ inputAdditionalProps['aria-describedby'] = undefined;
145
162
  }
146
- const id = useId(idOverride);
147
- const helperTextId = helperText && id ? `${id}-helper-text` : undefined;
148
- const inputLabelId = label && id ? `${id}-label` : undefined;
149
- const InputComponent = variantComponent[variant];
150
- const InputElement = /*#__PURE__*/_jsx(InputComponent, _extends({
163
+ const [InputSlot, inputProps] = useSlot('input', {
164
+ elementType: InputComponent,
165
+ externalForwardedProps,
166
+ additionalProps: inputAdditionalProps,
167
+ ownerState
168
+ });
169
+ const [InputLabelSlot, inputLabelProps] = useSlot('inputLabel', {
170
+ elementType: InputLabel,
171
+ externalForwardedProps,
172
+ ownerState
173
+ });
174
+ const [HtmlInputSlot, htmlInputProps] = useSlot('htmlInput', {
175
+ elementType: 'input',
176
+ externalForwardedProps,
177
+ ownerState
178
+ });
179
+ const [FormHelperTextSlot, formHelperTextProps] = useSlot('formHelperText', {
180
+ elementType: FormHelperText,
181
+ externalForwardedProps,
182
+ ownerState
183
+ });
184
+ const [SelectSlot, selectProps] = useSlot('select', {
185
+ elementType: Select,
186
+ externalForwardedProps,
187
+ ownerState
188
+ });
189
+ const InputElement = /*#__PURE__*/_jsx(InputSlot, {
151
190
  "aria-describedby": helperTextId,
152
191
  autoComplete: autoComplete,
153
192
  autoFocus: autoFocus,
@@ -166,9 +205,13 @@ const TextField = /*#__PURE__*/React.forwardRef(function TextField(inProps, ref)
166
205
  onChange: onChange,
167
206
  onFocus: onFocus,
168
207
  placeholder: placeholder,
169
- inputProps: inputProps
170
- }, InputMore, InputProps));
171
- return /*#__PURE__*/_jsxs(TextFieldRoot, _extends({
208
+ inputProps: htmlInputProps,
209
+ slots: {
210
+ input: slots.htmlInput ? HtmlInputSlot : undefined
211
+ },
212
+ ...inputProps
213
+ });
214
+ return /*#__PURE__*/_jsxs(TextFieldRoot, {
172
215
  className: clsx(classes.root, className),
173
216
  disabled: disabled,
174
217
  error: error,
@@ -177,27 +220,27 @@ const TextField = /*#__PURE__*/React.forwardRef(function TextField(inProps, ref)
177
220
  required: required,
178
221
  color: color,
179
222
  variant: variant,
180
- ownerState: ownerState
181
- }, other, {
182
- children: [label != null && label !== '' && /*#__PURE__*/_jsx(InputLabel, _extends({
223
+ ownerState: ownerState,
224
+ ...other,
225
+ children: [label != null && label !== '' && /*#__PURE__*/_jsx(InputLabelSlot, {
183
226
  htmlFor: id,
184
- id: inputLabelId
185
- }, InputLabelProps, {
227
+ id: inputLabelId,
228
+ ...inputLabelProps,
186
229
  children: label
187
- })), select ? /*#__PURE__*/_jsx(Select, _extends({
230
+ }), select ? /*#__PURE__*/_jsx(SelectSlot, {
188
231
  "aria-describedby": helperTextId,
189
232
  id: id,
190
233
  labelId: inputLabelId,
191
234
  value: value,
192
- input: InputElement
193
- }, SelectProps, {
235
+ input: InputElement,
236
+ ...selectProps,
194
237
  children: children
195
- })) : InputElement, helperText && /*#__PURE__*/_jsx(FormHelperText, _extends({
196
- id: helperTextId
197
- }, FormHelperTextProps, {
238
+ }) : InputElement, helperText && /*#__PURE__*/_jsx(FormHelperTextSlot, {
239
+ id: helperTextId,
240
+ ...formHelperTextProps,
198
241
  children: helperText
199
- }))]
200
- }));
242
+ })]
243
+ });
201
244
  });
202
245
  process.env.NODE_ENV !== "production" ? TextField.propTypes /* remove-proptypes */ = {
203
246
  // ┌────────────────────────────── Warning ──────────────────────────────┐
@@ -250,6 +293,7 @@ process.env.NODE_ENV !== "production" ? TextField.propTypes /* remove-proptypes
250
293
  error: PropTypes.bool,
251
294
  /**
252
295
  * Props applied to the [`FormHelperText`](/material-ui/api/form-helper-text/) element.
296
+ * @deprecated Use `slotProps.formHelperText` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
253
297
  */
254
298
  FormHelperTextProps: PropTypes.object,
255
299
  /**
@@ -269,10 +313,12 @@ process.env.NODE_ENV !== "production" ? TextField.propTypes /* remove-proptypes
269
313
  /**
270
314
  * Props applied to the [`InputLabel`](/material-ui/api/input-label/) element.
271
315
  * Pointer events like `onClick` are enabled if and only if `shrink` is `true`.
316
+ * @deprecated Use `slotProps.inputLabel` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
272
317
  */
273
318
  InputLabelProps: PropTypes.object,
274
319
  /**
275
320
  * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.
321
+ * @deprecated Use `slotProps.htmlInput` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
276
322
  */
277
323
  inputProps: PropTypes.object,
278
324
  /**
@@ -280,6 +326,7 @@ process.env.NODE_ENV !== "production" ? TextField.propTypes /* remove-proptypes
280
326
  * It will be a [`FilledInput`](/material-ui/api/filled-input/),
281
327
  * [`OutlinedInput`](/material-ui/api/outlined-input/) or [`Input`](/material-ui/api/input/)
282
328
  * component depending on the `variant` prop value.
329
+ * @deprecated Use `slotProps.input` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
283
330
  */
284
331
  InputProps: PropTypes.object,
285
332
  /**
@@ -348,12 +395,35 @@ process.env.NODE_ENV !== "production" ? TextField.propTypes /* remove-proptypes
348
395
  select: PropTypes.bool,
349
396
  /**
350
397
  * Props applied to the [`Select`](/material-ui/api/select/) element.
398
+ * @deprecated Use `slotProps.select` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
351
399
  */
352
400
  SelectProps: PropTypes.object,
353
401
  /**
354
402
  * The size of the component.
355
403
  */
356
404
  size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),
405
+ /**
406
+ * The props used for each slot inside.
407
+ * @default {}
408
+ */
409
+ slotProps: PropTypes /* @typescript-to-proptypes-ignore */.shape({
410
+ formHelperText: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
411
+ htmlInput: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
412
+ input: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
413
+ inputLabel: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
414
+ select: PropTypes.oneOfType([PropTypes.func, PropTypes.object])
415
+ }),
416
+ /**
417
+ * The components used for each slot inside.
418
+ * @default {}
419
+ */
420
+ slots: PropTypes.shape({
421
+ formHelperText: PropTypes.elementType,
422
+ htmlInput: PropTypes.elementType,
423
+ input: PropTypes.elementType,
424
+ inputLabel: PropTypes.elementType,
425
+ select: PropTypes.elementType
426
+ }),
357
427
  /**
358
428
  * The system prop that allows defining system overrides as well as additional CSS styles.
359
429
  */
@@ -1,10 +1,6 @@
1
1
  'use client';
2
2
 
3
3
  // @inheritedComponent ButtonBase
4
- import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
5
- import _extends from "@babel/runtime/helpers/esm/extends";
6
- const _excluded = ["value"],
7
- _excluded2 = ["children", "className", "color", "disabled", "disableFocusRipple", "fullWidth", "onChange", "onClick", "selected", "size", "value"];
8
4
  import * as React from 'react';
9
5
  import PropTypes from 'prop-types';
10
6
  import clsx from 'clsx';
@@ -45,7 +41,8 @@ const ToggleButtonRoot = styled(ButtonBase, {
45
41
  }
46
42
  })(({
47
43
  theme
48
- }) => _extends({}, theme.typography.button, {
44
+ }) => ({
45
+ ...theme.typography.button,
49
46
  borderRadius: (theme.vars || theme).shape.borderRadius,
50
47
  padding: 11,
51
48
  border: `1px solid ${(theme.vars || theme).palette.divider}`,
@@ -79,7 +76,7 @@ const ToggleButtonRoot = styled(ButtonBase, {
79
76
  }
80
77
  }
81
78
  }
82
- }, ...Object.keys((theme.vars || theme).palette).filter(key => theme.vars ? theme.vars.palette[key].main && theme.vars.palette[key].mainChannel : theme.palette[key].main).map(color => ({
79
+ }, ...Object.entries(theme.palette).filter(([, palette]) => palette && palette.main).map(([color]) => ({
83
80
  props: {
84
81
  color
85
82
  },
@@ -123,40 +120,41 @@ const ToggleButtonRoot = styled(ButtonBase, {
123
120
  }));
124
121
  const ToggleButton = /*#__PURE__*/React.forwardRef(function ToggleButton(inProps, ref) {
125
122
  // props priority: `inProps` > `contextProps` > `themeDefaultProps`
126
- const _React$useContext = React.useContext(ToggleButtonGroupContext),
127
- {
128
- value: contextValue
129
- } = _React$useContext,
130
- contextProps = _objectWithoutPropertiesLoose(_React$useContext, _excluded);
123
+ const {
124
+ value: contextValue,
125
+ ...contextProps
126
+ } = React.useContext(ToggleButtonGroupContext);
131
127
  const toggleButtonGroupButtonContextPositionClassName = React.useContext(ToggleButtonGroupButtonContext);
132
- const resolvedProps = resolveProps(_extends({}, contextProps, {
128
+ const resolvedProps = resolveProps({
129
+ ...contextProps,
133
130
  selected: isValueSelected(inProps.value, contextValue)
134
- }), inProps);
131
+ }, inProps);
135
132
  const props = useThemeProps({
136
133
  props: resolvedProps,
137
134
  name: 'MuiToggleButton'
138
135
  });
139
136
  const {
140
- children,
141
- className,
142
- color = 'standard',
143
- disabled = false,
144
- disableFocusRipple = false,
145
- fullWidth = false,
146
- onChange,
147
- onClick,
148
- selected,
149
- size = 'medium',
150
- value
151
- } = props,
152
- other = _objectWithoutPropertiesLoose(props, _excluded2);
153
- const ownerState = _extends({}, props, {
137
+ children,
138
+ className,
139
+ color = 'standard',
140
+ disabled = false,
141
+ disableFocusRipple = false,
142
+ fullWidth = false,
143
+ onChange,
144
+ onClick,
145
+ selected,
146
+ size = 'medium',
147
+ value,
148
+ ...other
149
+ } = props;
150
+ const ownerState = {
151
+ ...props,
154
152
  color,
155
153
  disabled,
156
154
  disableFocusRipple,
157
155
  fullWidth,
158
156
  size
159
- });
157
+ };
160
158
  const classes = useUtilityClasses(ownerState);
161
159
  const handleChange = event => {
162
160
  if (onClick) {
@@ -170,7 +168,7 @@ const ToggleButton = /*#__PURE__*/React.forwardRef(function ToggleButton(inProps
170
168
  }
171
169
  };
172
170
  const positionClassName = toggleButtonGroupButtonContextPositionClassName || '';
173
- return /*#__PURE__*/_jsx(ToggleButtonRoot, _extends({
171
+ return /*#__PURE__*/_jsx(ToggleButtonRoot, {
174
172
  className: clsx(contextProps.className, classes.root, className, positionClassName),
175
173
  disabled: disabled,
176
174
  focusRipple: !disableFocusRipple,
@@ -179,10 +177,10 @@ const ToggleButton = /*#__PURE__*/React.forwardRef(function ToggleButton(inProps
179
177
  onChange: onChange,
180
178
  value: value,
181
179
  ownerState: ownerState,
182
- "aria-pressed": selected
183
- }, other, {
180
+ "aria-pressed": selected,
181
+ ...other,
184
182
  children: children
185
- }));
183
+ });
186
184
  });
187
185
  process.env.NODE_ENV !== "production" ? ToggleButton.propTypes /* remove-proptypes */ = {
188
186
  // ┌────────────────────────────── Warning ──────────────────────────────┐
@@ -1,8 +1,5 @@
1
1
  'use client';
2
2
 
3
- import _extends from "@babel/runtime/helpers/esm/extends";
4
- import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
5
- const _excluded = ["children", "className", "color", "disabled", "exclusive", "fullWidth", "onChange", "orientation", "size", "value"];
6
3
  import * as React from 'react';
7
4
  import { isFragment } from 'react-is';
8
5
  import PropTypes from 'prop-types';
@@ -123,24 +120,25 @@ const ToggleButtonGroup = /*#__PURE__*/React.forwardRef(function ToggleButtonGro
123
120
  name: 'MuiToggleButtonGroup'
124
121
  });
125
122
  const {
126
- children,
127
- className,
128
- color = 'standard',
129
- disabled = false,
130
- exclusive = false,
131
- fullWidth = false,
132
- onChange,
133
- orientation = 'horizontal',
134
- size = 'medium',
135
- value
136
- } = props,
137
- other = _objectWithoutPropertiesLoose(props, _excluded);
138
- const ownerState = _extends({}, props, {
123
+ children,
124
+ className,
125
+ color = 'standard',
126
+ disabled = false,
127
+ exclusive = false,
128
+ fullWidth = false,
129
+ onChange,
130
+ orientation = 'horizontal',
131
+ size = 'medium',
132
+ value,
133
+ ...other
134
+ } = props;
135
+ const ownerState = {
136
+ ...props,
139
137
  disabled,
140
138
  fullWidth,
141
139
  orientation,
142
140
  size
143
- });
141
+ };
144
142
  const classes = useUtilityClasses(ownerState);
145
143
  const handleChange = React.useCallback((event, buttonValue) => {
146
144
  if (!onChange) {
@@ -187,12 +185,12 @@ const ToggleButtonGroup = /*#__PURE__*/React.forwardRef(function ToggleButtonGro
187
185
  }
188
186
  return classes.middleButton;
189
187
  };
190
- return /*#__PURE__*/_jsx(ToggleButtonGroupRoot, _extends({
188
+ return /*#__PURE__*/_jsx(ToggleButtonGroupRoot, {
191
189
  role: "group",
192
190
  className: clsx(classes.root, className),
193
191
  ref: ref,
194
- ownerState: ownerState
195
- }, other, {
192
+ ownerState: ownerState,
193
+ ...other,
196
194
  children: /*#__PURE__*/_jsx(ToggleButtonGroupContext.Provider, {
197
195
  value: context,
198
196
  children: validChildren.map((child, index) => {
@@ -207,7 +205,7 @@ const ToggleButtonGroup = /*#__PURE__*/React.forwardRef(function ToggleButtonGro
207
205
  }, index);
208
206
  })
209
207
  })
210
- }));
208
+ });
211
209
  });
212
210
  process.env.NODE_ENV !== "production" ? ToggleButtonGroup.propTypes /* remove-proptypes */ = {
213
211
  // ┌────────────────────────────── Warning ──────────────────────────────┐
@@ -1,6 +1,8 @@
1
1
  export interface ToggleButtonGroupClasses {
2
2
  /** Styles applied to the root element. */
3
3
  root: string;
4
+ /** State class applied to the root element if `selected={true}`. */
5
+ selected: string;
4
6
  /** Styles applied to the root element if `orientation="horizontal"`. */
5
7
  horizontal: string;
6
8
  /** Styles applied to the root element if `orientation="vertical"`. */