@mui/material 6.0.0-alpha.9 → 6.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (752) hide show
  1. package/Accordion/Accordion.d.ts +3 -5
  2. package/Accordion/Accordion.js +3 -5
  3. package/AccordionActions/AccordionActions.d.ts +2 -2
  4. package/AccordionActions/AccordionActions.js +3 -3
  5. package/AccordionDetails/AccordionDetails.d.ts +2 -2
  6. package/AccordionDetails/AccordionDetails.js +3 -3
  7. package/AccordionSummary/AccordionSummary.d.ts +3 -3
  8. package/AccordionSummary/AccordionSummary.js +3 -3
  9. package/Alert/Alert.d.ts +15 -6
  10. package/Alert/Alert.js +3 -3
  11. package/AlertTitle/AlertTitle.d.ts +3 -3
  12. package/AlertTitle/AlertTitle.js +3 -3
  13. package/AppBar/AppBar.d.ts +3 -3
  14. package/AppBar/AppBar.js +5 -9
  15. package/Autocomplete/Autocomplete.d.ts +9 -15
  16. package/Autocomplete/Autocomplete.js +14 -27
  17. package/Avatar/Avatar.d.ts +2 -3
  18. package/Avatar/Avatar.js +3 -4
  19. package/AvatarGroup/AvatarGroup.d.ts +2 -2
  20. package/AvatarGroup/AvatarGroup.js +3 -3
  21. package/Backdrop/Backdrop.d.ts +5 -8
  22. package/Backdrop/Backdrop.js +5 -8
  23. package/Badge/Badge.d.ts +4 -4
  24. package/Badge/Badge.js +5 -5
  25. package/Badge/useBadge.d.ts +13 -0
  26. package/Badge/useBadge.js +41 -0
  27. package/Badge/useBadge.types.d.ts +40 -0
  28. package/Badge/useBadge.types.js +1 -0
  29. package/BottomNavigation/BottomNavigation.d.ts +2 -2
  30. package/BottomNavigation/BottomNavigation.js +3 -3
  31. package/BottomNavigationAction/BottomNavigationAction.d.ts +3 -3
  32. package/BottomNavigationAction/BottomNavigationAction.js +3 -3
  33. package/Box/Box.d.ts +2 -2
  34. package/Breadcrumbs/Breadcrumbs.d.ts +4 -4
  35. package/Breadcrumbs/Breadcrumbs.js +4 -4
  36. package/Button/Button.d.ts +4 -4
  37. package/Button/Button.js +3 -3
  38. package/ButtonBase/ButtonBase.d.ts +2 -2
  39. package/ButtonBase/ButtonBase.js +23 -52
  40. package/ButtonBase/TouchRipple.js +3 -3
  41. package/ButtonGroup/ButtonGroup.d.ts +2 -2
  42. package/ButtonGroup/ButtonGroup.js +3 -3
  43. package/CHANGELOG.md +363 -3
  44. package/Card/Card.d.ts +3 -3
  45. package/Card/Card.js +3 -3
  46. package/CardActionArea/CardActionArea.d.ts +3 -3
  47. package/CardActionArea/CardActionArea.js +3 -3
  48. package/CardActions/CardActions.d.ts +2 -2
  49. package/CardActions/CardActions.js +3 -3
  50. package/CardContent/CardContent.d.ts +2 -2
  51. package/CardContent/CardContent.js +3 -3
  52. package/CardHeader/CardHeader.d.ts +2 -2
  53. package/CardHeader/CardHeader.js +3 -3
  54. package/CardMedia/CardMedia.d.ts +2 -2
  55. package/CardMedia/CardMedia.js +3 -3
  56. package/Checkbox/Checkbox.d.ts +4 -4
  57. package/Checkbox/Checkbox.js +3 -3
  58. package/Chip/Chip.d.ts +5 -5
  59. package/Chip/Chip.js +3 -5
  60. package/CircularProgress/CircularProgress.d.ts +2 -2
  61. package/CircularProgress/CircularProgress.js +3 -3
  62. package/ClickAwayListener/ClickAwayListener.d.ts +47 -0
  63. package/ClickAwayListener/ClickAwayListener.js +178 -0
  64. package/ClickAwayListener/index.d.ts +2 -2
  65. package/ClickAwayListener/index.js +1 -1
  66. package/Collapse/Collapse.d.ts +5 -5
  67. package/Collapse/Collapse.js +3 -4
  68. package/Container/Container.d.ts +2 -2
  69. package/CssBaseline/CssBaseline.d.ts +2 -2
  70. package/CssBaseline/CssBaseline.js +66 -8
  71. package/DefaultPropsProvider/DefaultPropsProvider.d.ts +15 -0
  72. package/DefaultPropsProvider/DefaultPropsProvider.js +29 -0
  73. package/DefaultPropsProvider/index.d.ts +1 -0
  74. package/DefaultPropsProvider/index.js +1 -0
  75. package/DefaultPropsProvider/package.json +6 -0
  76. package/Dialog/Dialog.d.ts +3 -3
  77. package/Dialog/Dialog.js +4 -7
  78. package/DialogActions/DialogActions.d.ts +2 -2
  79. package/DialogActions/DialogActions.js +3 -3
  80. package/DialogContent/DialogContent.d.ts +2 -2
  81. package/DialogContent/DialogContent.js +3 -3
  82. package/DialogContentText/DialogContentText.d.ts +3 -3
  83. package/DialogContentText/DialogContentText.js +3 -3
  84. package/DialogTitle/DialogTitle.d.ts +3 -3
  85. package/DialogTitle/DialogTitle.js +3 -3
  86. package/Divider/Divider.d.ts +3 -3
  87. package/Divider/Divider.js +3 -3
  88. package/Drawer/Drawer.d.ts +3 -3
  89. package/Drawer/Drawer.js +3 -4
  90. package/Fab/Fab.d.ts +3 -3
  91. package/Fab/Fab.js +3 -3
  92. package/Fade/Fade.d.ts +3 -3
  93. package/Fade/Fade.js +1 -1
  94. package/FilledInput/FilledInput.d.ts +3 -3
  95. package/FilledInput/FilledInput.js +13 -11
  96. package/FilledInput/filledInputClasses.d.ts +1 -13
  97. package/FilledInput/filledInputClasses.js +1 -1
  98. package/FormControl/FormControl.d.ts +6 -6
  99. package/FormControl/FormControl.js +3 -3
  100. package/FormControlLabel/FormControlLabel.d.ts +4 -4
  101. package/FormControlLabel/FormControlLabel.js +3 -3
  102. package/FormGroup/FormGroup.d.ts +3 -3
  103. package/FormGroup/FormGroup.js +3 -3
  104. package/FormHelperText/FormHelperText.d.ts +2 -2
  105. package/FormHelperText/FormHelperText.js +3 -3
  106. package/FormLabel/FormLabel.d.ts +4 -4
  107. package/FormLabel/FormLabel.js +3 -3
  108. package/GlobalStyles/GlobalStyles.d.ts +3 -3
  109. package/Grid/Grid.d.ts +2 -2
  110. package/Grid/Grid.js +7 -13
  111. package/Grow/Grow.d.ts +5 -5
  112. package/Grow/Grow.js +1 -1
  113. package/Hidden/Hidden.d.ts +2 -2
  114. package/Hidden/hiddenCssClasses.d.ts +3 -0
  115. package/Icon/Icon.d.ts +3 -3
  116. package/Icon/Icon.js +3 -3
  117. package/IconButton/IconButton.d.ts +4 -4
  118. package/IconButton/IconButton.js +3 -5
  119. package/ImageList/ImageList.d.ts +2 -2
  120. package/ImageList/ImageList.js +3 -11
  121. package/ImageListItem/ImageListItem.d.ts +2 -2
  122. package/ImageListItem/ImageListItem.js +3 -3
  123. package/ImageListItemBar/ImageListItemBar.d.ts +2 -2
  124. package/ImageListItemBar/ImageListItemBar.js +3 -3
  125. package/InitColorSchemeScript/InitColorSchemeScript.d.ts +10 -0
  126. package/InitColorSchemeScript/InitColorSchemeScript.js +16 -0
  127. package/InitColorSchemeScript/index.d.ts +1 -0
  128. package/InitColorSchemeScript/index.js +1 -0
  129. package/InitColorSchemeScript/package.json +6 -0
  130. package/Input/Input.d.ts +3 -3
  131. package/Input/Input.js +5 -9
  132. package/InputAdornment/InputAdornment.d.ts +2 -2
  133. package/InputAdornment/InputAdornment.js +3 -5
  134. package/InputBase/InputBase.d.ts +4 -6
  135. package/InputBase/InputBase.js +33 -42
  136. package/InputLabel/InputLabel.d.ts +3 -3
  137. package/InputLabel/InputLabel.js +3 -3
  138. package/LinearProgress/LinearProgress.d.ts +2 -2
  139. package/LinearProgress/LinearProgress.js +3 -3
  140. package/Link/Link.d.ts +4 -4
  141. package/Link/Link.js +7 -18
  142. package/List/List.d.ts +3 -3
  143. package/List/List.js +3 -3
  144. package/ListItem/ListItem.d.ts +3 -3
  145. package/ListItem/ListItem.js +4 -4
  146. package/ListItemAvatar/ListItemAvatar.d.ts +2 -2
  147. package/ListItemAvatar/ListItemAvatar.js +3 -3
  148. package/ListItemButton/ListItemButton.d.ts +3 -3
  149. package/ListItemButton/ListItemButton.js +3 -3
  150. package/ListItemIcon/ListItemIcon.d.ts +2 -2
  151. package/ListItemIcon/ListItemIcon.js +3 -3
  152. package/ListItemSecondaryAction/ListItemSecondaryAction.d.ts +2 -2
  153. package/ListItemSecondaryAction/ListItemSecondaryAction.js +3 -3
  154. package/ListItemText/ListItemText.d.ts +2 -2
  155. package/ListItemText/ListItemText.js +3 -3
  156. package/ListSubheader/ListSubheader.d.ts +2 -2
  157. package/ListSubheader/ListSubheader.js +3 -3
  158. package/Menu/Menu.d.ts +4 -4
  159. package/Menu/Menu.js +5 -8
  160. package/MenuItem/MenuItem.d.ts +3 -3
  161. package/MenuItem/MenuItem.js +3 -3
  162. package/MenuList/MenuList.d.ts +4 -4
  163. package/MobileStepper/MobileStepper.d.ts +3 -3
  164. package/MobileStepper/MobileStepper.js +3 -3
  165. package/Modal/Modal.d.ts +11 -13
  166. package/Modal/Modal.js +33 -25
  167. package/Modal/ModalManager.d.ts +25 -0
  168. package/Modal/ModalManager.js +211 -0
  169. package/Modal/index.d.ts +1 -1
  170. package/Modal/index.js +1 -1
  171. package/Modal/useModal.d.ts +13 -0
  172. package/Modal/useModal.js +195 -0
  173. package/Modal/useModal.types.d.ts +115 -0
  174. package/Modal/useModal.types.js +1 -0
  175. package/NativeSelect/NativeSelect.d.ts +3 -3
  176. package/NativeSelect/NativeSelectInput.js +0 -4
  177. package/NoSsr/NoSsr.d.ts +25 -0
  178. package/NoSsr/NoSsr.js +73 -0
  179. package/NoSsr/NoSsr.types.d.ts +18 -0
  180. package/NoSsr/NoSsr.types.js +1 -0
  181. package/NoSsr/index.d.ts +3 -2
  182. package/NoSsr/index.js +1 -1
  183. package/OutlinedInput/OutlinedInput.d.ts +3 -3
  184. package/OutlinedInput/OutlinedInput.js +4 -5
  185. package/Pagination/Pagination.d.ts +2 -2
  186. package/Pagination/Pagination.js +3 -3
  187. package/PaginationItem/PaginationItem.d.ts +2 -2
  188. package/PaginationItem/PaginationItem.js +3 -3
  189. package/Paper/Paper.d.ts +3 -3
  190. package/Paper/Paper.js +3 -4
  191. package/PigmentContainer/PigmentContainer.d.ts +55 -0
  192. package/PigmentContainer/PigmentContainer.js +98 -0
  193. package/PigmentContainer/index.d.ts +3 -0
  194. package/PigmentContainer/index.js +3 -0
  195. package/PigmentContainer/package.json +6 -0
  196. package/PigmentGrid/PigmentGrid.d.ts +108 -0
  197. package/PigmentGrid/PigmentGrid.js +149 -0
  198. package/PigmentGrid/index.d.ts +3 -0
  199. package/PigmentGrid/index.js +3 -0
  200. package/{useTouchRipple → PigmentGrid}/package.json +1 -1
  201. package/PigmentHidden/PigmentHidden.d.ts +97 -0
  202. package/PigmentHidden/PigmentHidden.js +278 -0
  203. package/PigmentHidden/index.d.ts +2 -0
  204. package/PigmentHidden/index.js +2 -0
  205. package/PigmentHidden/package.json +6 -0
  206. package/PigmentStack/PigmentStack.d.ts +51 -0
  207. package/PigmentStack/PigmentStack.js +81 -0
  208. package/PigmentStack/index.d.ts +3 -0
  209. package/PigmentStack/index.js +3 -0
  210. package/PigmentStack/package.json +6 -0
  211. package/Popover/Popover.d.ts +20 -25
  212. package/Popover/Popover.js +30 -29
  213. package/Popper/BasePopper.d.ts +7 -0
  214. package/Popper/BasePopper.js +370 -0
  215. package/Popper/BasePopper.types.d.ts +130 -0
  216. package/Popper/BasePopper.types.js +1 -0
  217. package/Popper/Popper.d.ts +5 -5
  218. package/Popper/Popper.js +11 -10
  219. package/Popper/index.d.ts +2 -1
  220. package/Popper/index.js +2 -1
  221. package/Popper/popperClasses.d.ts +8 -0
  222. package/Popper/popperClasses.js +7 -0
  223. package/Portal/Portal.d.ts +16 -0
  224. package/Portal/Portal.js +92 -0
  225. package/Portal/Portal.types.d.ts +23 -0
  226. package/Portal/Portal.types.js +1 -0
  227. package/Portal/index.d.ts +3 -2
  228. package/Portal/index.js +1 -1
  229. package/Radio/Radio.d.ts +3 -3
  230. package/Radio/Radio.js +3 -3
  231. package/RadioGroup/RadioGroup.d.ts +3 -3
  232. package/Rating/Rating.d.ts +2 -2
  233. package/Rating/Rating.js +8 -15
  234. package/ScopedCssBaseline/ScopedCssBaseline.d.ts +2 -2
  235. package/ScopedCssBaseline/ScopedCssBaseline.js +24 -11
  236. package/Select/Select.d.ts +3 -3
  237. package/Skeleton/Skeleton.d.ts +2 -2
  238. package/Skeleton/Skeleton.js +3 -3
  239. package/Slide/Slide.d.ts +4 -4
  240. package/Slide/Slide.js +1 -1
  241. package/Slider/Slider.d.ts +5 -5
  242. package/Slider/Slider.js +6 -5
  243. package/Slider/useSlider.d.ts +14 -0
  244. package/Slider/useSlider.js +647 -0
  245. package/Slider/useSlider.types.d.ts +228 -0
  246. package/Slider/useSlider.types.js +1 -0
  247. package/Snackbar/Snackbar.d.ts +3 -3
  248. package/Snackbar/Snackbar.js +6 -7
  249. package/Snackbar/useSnackbar.d.ts +14 -0
  250. package/Snackbar/useSnackbar.js +133 -0
  251. package/Snackbar/useSnackbar.types.d.ts +60 -0
  252. package/Snackbar/useSnackbar.types.js +1 -0
  253. package/SnackbarContent/SnackbarContent.d.ts +3 -3
  254. package/SnackbarContent/SnackbarContent.js +3 -3
  255. package/SpeedDial/SpeedDial.d.ts +2 -4
  256. package/SpeedDial/SpeedDial.js +3 -6
  257. package/SpeedDialAction/SpeedDialAction.d.ts +3 -3
  258. package/SpeedDialAction/SpeedDialAction.js +3 -3
  259. package/SpeedDialIcon/SpeedDialIcon.d.ts +2 -2
  260. package/SpeedDialIcon/SpeedDialIcon.js +3 -3
  261. package/Stack/Stack.d.ts +2 -2
  262. package/Step/Step.d.ts +2 -2
  263. package/Step/Step.js +3 -3
  264. package/StepButton/StepButton.d.ts +3 -3
  265. package/StepButton/StepButton.js +3 -3
  266. package/StepConnector/StepConnector.d.ts +3 -3
  267. package/StepConnector/StepConnector.js +3 -3
  268. package/StepContent/StepContent.d.ts +2 -2
  269. package/StepContent/StepContent.js +3 -3
  270. package/StepIcon/StepIcon.d.ts +2 -2
  271. package/StepIcon/StepIcon.js +3 -3
  272. package/StepLabel/StepLabel.d.ts +2 -4
  273. package/StepLabel/StepLabel.js +3 -7
  274. package/Stepper/Stepper.d.ts +2 -2
  275. package/Stepper/Stepper.js +7 -5
  276. package/Stepper/stepperClasses.d.ts +2 -0
  277. package/Stepper/stepperClasses.js +1 -1
  278. package/SvgIcon/SvgIcon.d.ts +3 -3
  279. package/SvgIcon/SvgIcon.js +3 -3
  280. package/SwipeableDrawer/SwipeableDrawer.d.ts +3 -3
  281. package/SwipeableDrawer/SwipeableDrawer.js +4 -4
  282. package/Switch/Switch.d.ts +4 -4
  283. package/Switch/Switch.js +3 -3
  284. package/Tab/Tab.d.ts +4 -4
  285. package/Tab/Tab.js +14 -10
  286. package/Tab/tabClasses.d.ts +5 -1
  287. package/Tab/tabClasses.js +1 -1
  288. package/TabScrollButton/TabScrollButton.d.ts +3 -3
  289. package/TabScrollButton/TabScrollButton.js +4 -4
  290. package/Table/Table.d.ts +2 -2
  291. package/Table/Table.js +3 -3
  292. package/TableBody/TableBody.d.ts +2 -2
  293. package/TableBody/TableBody.js +3 -3
  294. package/TableCell/TableCell.d.ts +2 -2
  295. package/TableCell/TableCell.js +3 -3
  296. package/TableContainer/TableContainer.d.ts +2 -2
  297. package/TableContainer/TableContainer.js +3 -3
  298. package/TableFooter/TableFooter.d.ts +2 -2
  299. package/TableFooter/TableFooter.js +3 -3
  300. package/TableHead/TableHead.d.ts +2 -2
  301. package/TableHead/TableHead.js +3 -3
  302. package/TablePagination/TablePagination.d.ts +4 -4
  303. package/TablePagination/TablePagination.js +4 -4
  304. package/TableRow/TableRow.d.ts +2 -2
  305. package/TableRow/TableRow.js +3 -3
  306. package/TableSortLabel/TableSortLabel.d.ts +3 -3
  307. package/TableSortLabel/TableSortLabel.js +4 -4
  308. package/TableSortLabel/tableSortLabelClasses.d.ts +10 -2
  309. package/TableSortLabel/tableSortLabelClasses.js +1 -1
  310. package/Tabs/Tabs.d.ts +3 -3
  311. package/Tabs/Tabs.js +6 -15
  312. package/TextField/TextField.d.ts +10 -10
  313. package/TextField/TextField.js +3 -3
  314. package/TextareaAutosize/TextareaAutosize.d.ts +14 -0
  315. package/TextareaAutosize/TextareaAutosize.js +222 -0
  316. package/TextareaAutosize/TextareaAutosize.types.d.ts +13 -0
  317. package/TextareaAutosize/TextareaAutosize.types.js +1 -0
  318. package/TextareaAutosize/index.d.ts +3 -2
  319. package/TextareaAutosize/index.js +1 -1
  320. package/ToggleButton/ToggleButton.d.ts +3 -3
  321. package/ToggleButton/ToggleButton.js +3 -3
  322. package/ToggleButtonGroup/ToggleButtonGroup.d.ts +2 -2
  323. package/ToggleButtonGroup/ToggleButtonGroup.js +3 -3
  324. package/Toolbar/Toolbar.d.ts +2 -2
  325. package/Toolbar/Toolbar.js +3 -3
  326. package/Tooltip/Tooltip.d.ts +2 -2
  327. package/Tooltip/Tooltip.js +8 -19
  328. package/Typography/Typography.d.ts +3 -3
  329. package/Typography/Typography.js +4 -4
  330. package/Unstable_TrapFocus/FocusTrap.d.ts +10 -0
  331. package/Unstable_TrapFocus/FocusTrap.js +330 -0
  332. package/Unstable_TrapFocus/FocusTrap.types.d.ts +51 -0
  333. package/Unstable_TrapFocus/FocusTrap.types.js +1 -0
  334. package/Unstable_TrapFocus/index.d.ts +2 -2
  335. package/Unstable_TrapFocus/index.js +1 -1
  336. package/Zoom/Zoom.d.ts +3 -3
  337. package/Zoom/Zoom.js +1 -1
  338. package/index.d.ts +1 -1
  339. package/index.js +2 -2
  340. package/modern/Accordion/Accordion.js +3 -5
  341. package/modern/AccordionActions/AccordionActions.js +3 -3
  342. package/modern/AccordionDetails/AccordionDetails.js +3 -3
  343. package/modern/AccordionSummary/AccordionSummary.js +3 -3
  344. package/modern/Alert/Alert.js +3 -3
  345. package/modern/AlertTitle/AlertTitle.js +3 -3
  346. package/modern/AppBar/AppBar.js +5 -9
  347. package/modern/Autocomplete/Autocomplete.js +14 -27
  348. package/modern/Avatar/Avatar.js +3 -4
  349. package/modern/AvatarGroup/AvatarGroup.js +3 -3
  350. package/modern/Backdrop/Backdrop.js +5 -8
  351. package/modern/Badge/Badge.js +5 -5
  352. package/modern/Badge/useBadge.js +41 -0
  353. package/modern/Badge/useBadge.types.js +1 -0
  354. package/modern/BottomNavigation/BottomNavigation.js +3 -3
  355. package/modern/BottomNavigationAction/BottomNavigationAction.js +3 -3
  356. package/modern/Breadcrumbs/Breadcrumbs.js +4 -4
  357. package/modern/Button/Button.js +3 -3
  358. package/modern/ButtonBase/ButtonBase.js +23 -52
  359. package/modern/ButtonBase/TouchRipple.js +3 -3
  360. package/modern/ButtonGroup/ButtonGroup.js +3 -3
  361. package/modern/Card/Card.js +3 -3
  362. package/modern/CardActionArea/CardActionArea.js +3 -3
  363. package/modern/CardActions/CardActions.js +3 -3
  364. package/modern/CardContent/CardContent.js +3 -3
  365. package/modern/CardHeader/CardHeader.js +3 -3
  366. package/modern/CardMedia/CardMedia.js +3 -3
  367. package/modern/Checkbox/Checkbox.js +3 -3
  368. package/modern/Chip/Chip.js +3 -5
  369. package/modern/CircularProgress/CircularProgress.js +3 -3
  370. package/modern/ClickAwayListener/ClickAwayListener.js +178 -0
  371. package/modern/ClickAwayListener/index.js +1 -1
  372. package/modern/Collapse/Collapse.js +3 -4
  373. package/modern/CssBaseline/CssBaseline.js +66 -8
  374. package/modern/DefaultPropsProvider/DefaultPropsProvider.js +29 -0
  375. package/modern/DefaultPropsProvider/index.js +1 -0
  376. package/modern/Dialog/Dialog.js +4 -7
  377. package/modern/DialogActions/DialogActions.js +3 -3
  378. package/modern/DialogContent/DialogContent.js +3 -3
  379. package/modern/DialogContentText/DialogContentText.js +3 -3
  380. package/modern/DialogTitle/DialogTitle.js +3 -3
  381. package/modern/Divider/Divider.js +3 -3
  382. package/modern/Drawer/Drawer.js +3 -4
  383. package/modern/Fab/Fab.js +3 -3
  384. package/modern/Fade/Fade.js +1 -1
  385. package/modern/FilledInput/FilledInput.js +13 -11
  386. package/modern/FilledInput/filledInputClasses.js +1 -1
  387. package/modern/FormControl/FormControl.js +3 -3
  388. package/modern/FormControlLabel/FormControlLabel.js +3 -3
  389. package/modern/FormGroup/FormGroup.js +3 -3
  390. package/modern/FormHelperText/FormHelperText.js +3 -3
  391. package/modern/FormLabel/FormLabel.js +3 -3
  392. package/modern/Grid/Grid.js +7 -13
  393. package/modern/Grow/Grow.js +1 -1
  394. package/modern/Icon/Icon.js +3 -3
  395. package/modern/IconButton/IconButton.js +3 -5
  396. package/modern/ImageList/ImageList.js +3 -11
  397. package/modern/ImageListItem/ImageListItem.js +3 -3
  398. package/modern/ImageListItemBar/ImageListItemBar.js +3 -3
  399. package/modern/InitColorSchemeScript/InitColorSchemeScript.js +16 -0
  400. package/modern/InitColorSchemeScript/index.js +1 -0
  401. package/modern/Input/Input.js +5 -9
  402. package/modern/InputAdornment/InputAdornment.js +3 -5
  403. package/modern/InputBase/InputBase.js +33 -42
  404. package/modern/InputLabel/InputLabel.js +3 -3
  405. package/modern/LinearProgress/LinearProgress.js +3 -3
  406. package/modern/Link/Link.js +7 -18
  407. package/modern/List/List.js +3 -3
  408. package/modern/ListItem/ListItem.js +4 -4
  409. package/modern/ListItemAvatar/ListItemAvatar.js +3 -3
  410. package/modern/ListItemButton/ListItemButton.js +3 -3
  411. package/modern/ListItemIcon/ListItemIcon.js +3 -3
  412. package/modern/ListItemSecondaryAction/ListItemSecondaryAction.js +3 -3
  413. package/modern/ListItemText/ListItemText.js +3 -3
  414. package/modern/ListSubheader/ListSubheader.js +3 -3
  415. package/modern/Menu/Menu.js +5 -8
  416. package/modern/MenuItem/MenuItem.js +3 -3
  417. package/modern/MobileStepper/MobileStepper.js +3 -3
  418. package/modern/Modal/Modal.js +33 -25
  419. package/modern/Modal/ModalManager.js +211 -0
  420. package/modern/Modal/index.js +1 -1
  421. package/modern/Modal/useModal.js +195 -0
  422. package/modern/Modal/useModal.types.js +1 -0
  423. package/modern/NativeSelect/NativeSelectInput.js +0 -4
  424. package/modern/NoSsr/NoSsr.js +73 -0
  425. package/modern/NoSsr/NoSsr.types.js +1 -0
  426. package/modern/NoSsr/index.js +1 -1
  427. package/modern/OutlinedInput/OutlinedInput.js +4 -5
  428. package/modern/Pagination/Pagination.js +3 -3
  429. package/modern/PaginationItem/PaginationItem.js +3 -3
  430. package/modern/Paper/Paper.js +3 -4
  431. package/modern/PigmentContainer/PigmentContainer.js +98 -0
  432. package/modern/PigmentContainer/index.js +3 -0
  433. package/modern/PigmentGrid/PigmentGrid.js +149 -0
  434. package/modern/PigmentGrid/index.js +3 -0
  435. package/modern/PigmentHidden/PigmentHidden.js +278 -0
  436. package/modern/PigmentHidden/index.js +2 -0
  437. package/modern/PigmentStack/PigmentStack.js +81 -0
  438. package/modern/PigmentStack/index.js +3 -0
  439. package/modern/Popover/Popover.js +30 -29
  440. package/modern/Popper/BasePopper.js +370 -0
  441. package/modern/Popper/BasePopper.types.js +1 -0
  442. package/modern/Popper/Popper.js +11 -10
  443. package/modern/Popper/index.js +2 -1
  444. package/modern/Popper/popperClasses.js +7 -0
  445. package/modern/Portal/Portal.js +92 -0
  446. package/modern/Portal/Portal.types.js +1 -0
  447. package/modern/Portal/index.js +1 -1
  448. package/modern/Radio/Radio.js +3 -3
  449. package/modern/Rating/Rating.js +8 -15
  450. package/modern/ScopedCssBaseline/ScopedCssBaseline.js +24 -11
  451. package/modern/Skeleton/Skeleton.js +3 -3
  452. package/modern/Slide/Slide.js +1 -1
  453. package/modern/Slider/Slider.js +6 -5
  454. package/modern/Slider/useSlider.js +647 -0
  455. package/modern/Slider/useSlider.types.js +1 -0
  456. package/modern/Snackbar/Snackbar.js +6 -7
  457. package/modern/Snackbar/useSnackbar.js +133 -0
  458. package/modern/Snackbar/useSnackbar.types.js +1 -0
  459. package/modern/SnackbarContent/SnackbarContent.js +3 -3
  460. package/modern/SpeedDial/SpeedDial.js +3 -6
  461. package/modern/SpeedDialAction/SpeedDialAction.js +3 -3
  462. package/modern/SpeedDialIcon/SpeedDialIcon.js +3 -3
  463. package/modern/Step/Step.js +3 -3
  464. package/modern/StepButton/StepButton.js +3 -3
  465. package/modern/StepConnector/StepConnector.js +3 -3
  466. package/modern/StepContent/StepContent.js +3 -3
  467. package/modern/StepIcon/StepIcon.js +3 -3
  468. package/modern/StepLabel/StepLabel.js +3 -7
  469. package/modern/Stepper/Stepper.js +7 -5
  470. package/modern/Stepper/stepperClasses.js +1 -1
  471. package/modern/SvgIcon/SvgIcon.js +3 -3
  472. package/modern/SwipeableDrawer/SwipeableDrawer.js +4 -4
  473. package/modern/Switch/Switch.js +3 -3
  474. package/modern/Tab/Tab.js +14 -10
  475. package/modern/Tab/tabClasses.js +1 -1
  476. package/modern/TabScrollButton/TabScrollButton.js +4 -4
  477. package/modern/Table/Table.js +3 -3
  478. package/modern/TableBody/TableBody.js +3 -3
  479. package/modern/TableCell/TableCell.js +3 -3
  480. package/modern/TableContainer/TableContainer.js +3 -3
  481. package/modern/TableFooter/TableFooter.js +3 -3
  482. package/modern/TableHead/TableHead.js +3 -3
  483. package/modern/TablePagination/TablePagination.js +4 -4
  484. package/modern/TableRow/TableRow.js +3 -3
  485. package/modern/TableSortLabel/TableSortLabel.js +4 -4
  486. package/modern/TableSortLabel/tableSortLabelClasses.js +1 -1
  487. package/modern/Tabs/Tabs.js +6 -15
  488. package/modern/TextField/TextField.js +3 -3
  489. package/modern/TextareaAutosize/TextareaAutosize.js +222 -0
  490. package/modern/TextareaAutosize/TextareaAutosize.types.js +1 -0
  491. package/modern/TextareaAutosize/index.js +1 -1
  492. package/modern/ToggleButton/ToggleButton.js +3 -3
  493. package/modern/ToggleButtonGroup/ToggleButtonGroup.js +3 -3
  494. package/modern/Toolbar/Toolbar.js +3 -3
  495. package/modern/Tooltip/Tooltip.js +8 -19
  496. package/modern/Typography/Typography.js +4 -4
  497. package/modern/Unstable_TrapFocus/FocusTrap.js +330 -0
  498. package/modern/Unstable_TrapFocus/FocusTrap.types.js +1 -0
  499. package/modern/Unstable_TrapFocus/index.js +1 -1
  500. package/modern/Zoom/Zoom.js +1 -1
  501. package/modern/index.js +2 -2
  502. package/modern/styles/CssVarsProvider.js +19 -7
  503. package/modern/styles/createTheme.js +1 -1
  504. package/modern/styles/createTransitions.js +2 -2
  505. package/modern/styles/extendTheme.js +3 -0
  506. package/modern/styles/index.js +1 -1
  507. package/modern/styles/stringifyTheme.js +55 -0
  508. package/modern/useAutocomplete/useAutocomplete.js +976 -2
  509. package/modern/useLazyRipple/index.js +3 -0
  510. package/modern/useLazyRipple/useLazyRipple.js +85 -0
  511. package/modern/usePagination/usePagination.js +1 -1
  512. package/modern/utils/PolymorphicComponent.js +1 -0
  513. package/modern/utils/areArraysEqual.js +4 -0
  514. package/modern/utils/index.js +1 -2
  515. package/modern/utils/isHostComponent.js +7 -0
  516. package/modern/utils/omitEventHandlers.js +18 -0
  517. package/modern/utils/shouldSpreadAdditionalProps.js +1 -1
  518. package/modern/utils/useSlot.js +3 -1
  519. package/modern/zero-styled/index.js +24 -5
  520. package/node/Accordion/Accordion.js +2 -4
  521. package/node/AccordionActions/AccordionActions.js +2 -2
  522. package/node/AccordionDetails/AccordionDetails.js +2 -2
  523. package/node/AccordionSummary/AccordionSummary.js +2 -2
  524. package/node/Alert/Alert.js +2 -2
  525. package/node/AlertTitle/AlertTitle.js +2 -2
  526. package/node/AppBar/AppBar.js +4 -8
  527. package/node/Autocomplete/Autocomplete.js +15 -28
  528. package/node/Avatar/Avatar.js +2 -3
  529. package/node/AvatarGroup/AvatarGroup.js +2 -2
  530. package/node/Backdrop/Backdrop.js +4 -7
  531. package/node/Badge/Badge.js +7 -7
  532. package/node/Badge/useBadge.js +46 -0
  533. package/node/Badge/useBadge.types.js +5 -0
  534. package/node/BottomNavigation/BottomNavigation.js +2 -2
  535. package/node/BottomNavigationAction/BottomNavigationAction.js +2 -2
  536. package/node/Breadcrumbs/Breadcrumbs.js +4 -4
  537. package/node/Button/Button.js +2 -2
  538. package/node/ButtonBase/ButtonBase.js +22 -51
  539. package/node/ButtonBase/TouchRipple.js +2 -2
  540. package/node/ButtonGroup/ButtonGroup.js +2 -2
  541. package/node/Card/Card.js +2 -2
  542. package/node/CardActionArea/CardActionArea.js +2 -2
  543. package/node/CardActions/CardActions.js +2 -2
  544. package/node/CardContent/CardContent.js +2 -2
  545. package/node/CardHeader/CardHeader.js +2 -2
  546. package/node/CardMedia/CardMedia.js +2 -2
  547. package/node/Checkbox/Checkbox.js +2 -2
  548. package/node/Chip/Chip.js +2 -4
  549. package/node/CircularProgress/CircularProgress.js +2 -2
  550. package/node/ClickAwayListener/ClickAwayListener.js +184 -0
  551. package/node/ClickAwayListener/index.js +1 -1
  552. package/node/Collapse/Collapse.js +3 -4
  553. package/node/CssBaseline/CssBaseline.js +70 -10
  554. package/node/DefaultPropsProvider/DefaultPropsProvider.js +38 -0
  555. package/node/DefaultPropsProvider/index.js +20 -0
  556. package/node/Dialog/Dialog.js +4 -7
  557. package/node/DialogActions/DialogActions.js +2 -2
  558. package/node/DialogContent/DialogContent.js +2 -2
  559. package/node/DialogContentText/DialogContentText.js +2 -2
  560. package/node/DialogTitle/DialogTitle.js +2 -2
  561. package/node/Divider/Divider.js +2 -2
  562. package/node/Drawer/Drawer.js +3 -4
  563. package/node/Fab/Fab.js +2 -2
  564. package/node/Fade/Fade.js +2 -2
  565. package/node/FilledInput/FilledInput.js +12 -10
  566. package/node/FilledInput/filledInputClasses.js +1 -1
  567. package/node/FormControl/FormControl.js +2 -2
  568. package/node/FormControlLabel/FormControlLabel.js +2 -2
  569. package/node/FormGroup/FormGroup.js +2 -2
  570. package/node/FormHelperText/FormHelperText.js +2 -2
  571. package/node/FormLabel/FormLabel.js +2 -2
  572. package/node/Grid/Grid.js +7 -13
  573. package/node/Grow/Grow.js +2 -2
  574. package/node/Icon/Icon.js +2 -2
  575. package/node/IconButton/IconButton.js +2 -4
  576. package/node/ImageList/ImageList.js +2 -10
  577. package/node/ImageListItem/ImageListItem.js +2 -2
  578. package/node/ImageListItemBar/ImageListItemBar.js +2 -2
  579. package/node/InitColorSchemeScript/InitColorSchemeScript.js +25 -0
  580. package/node/InitColorSchemeScript/index.js +13 -0
  581. package/node/Input/Input.js +4 -8
  582. package/node/InputAdornment/InputAdornment.js +2 -4
  583. package/node/InputBase/InputBase.js +37 -46
  584. package/node/InputLabel/InputLabel.js +2 -2
  585. package/node/LinearProgress/LinearProgress.js +2 -2
  586. package/node/Link/Link.js +7 -18
  587. package/node/List/List.js +2 -2
  588. package/node/ListItem/ListItem.js +5 -5
  589. package/node/ListItemAvatar/ListItemAvatar.js +2 -2
  590. package/node/ListItemButton/ListItemButton.js +2 -2
  591. package/node/ListItemIcon/ListItemIcon.js +2 -2
  592. package/node/ListItemSecondaryAction/ListItemSecondaryAction.js +2 -2
  593. package/node/ListItemText/ListItemText.js +2 -2
  594. package/node/ListSubheader/ListSubheader.js +2 -2
  595. package/node/Menu/Menu.js +6 -9
  596. package/node/MenuItem/MenuItem.js +2 -2
  597. package/node/MobileStepper/MobileStepper.js +2 -2
  598. package/node/Modal/Modal.js +33 -26
  599. package/node/Modal/ModalManager.js +219 -0
  600. package/node/Modal/index.js +2 -2
  601. package/node/Modal/useModal.js +205 -0
  602. package/node/Modal/useModal.types.js +5 -0
  603. package/node/NativeSelect/NativeSelectInput.js +0 -4
  604. package/node/NoSsr/NoSsr.js +81 -0
  605. package/node/NoSsr/NoSsr.types.js +5 -0
  606. package/node/NoSsr/index.js +3 -2
  607. package/node/OutlinedInput/OutlinedInput.js +3 -4
  608. package/node/Pagination/Pagination.js +2 -2
  609. package/node/PaginationItem/PaginationItem.js +2 -2
  610. package/node/Paper/Paper.js +3 -4
  611. package/node/PigmentContainer/PigmentContainer.js +108 -0
  612. package/node/PigmentContainer/index.js +36 -0
  613. package/node/PigmentGrid/PigmentGrid.js +159 -0
  614. package/node/PigmentGrid/index.js +36 -0
  615. package/node/PigmentHidden/PigmentHidden.js +287 -0
  616. package/node/PigmentHidden/index.js +26 -0
  617. package/node/PigmentStack/PigmentStack.js +91 -0
  618. package/node/PigmentStack/index.js +36 -0
  619. package/node/Popover/Popover.js +31 -30
  620. package/node/Popper/BasePopper.js +379 -0
  621. package/node/Popper/BasePopper.types.js +5 -0
  622. package/node/Popper/Popper.js +12 -11
  623. package/node/Popper/index.js +14 -1
  624. package/node/Popper/popperClasses.js +15 -0
  625. package/node/Portal/Portal.js +100 -0
  626. package/node/Portal/Portal.types.js +5 -0
  627. package/node/Portal/index.js +3 -2
  628. package/node/Radio/Radio.js +2 -2
  629. package/node/Rating/Rating.js +6 -13
  630. package/node/ScopedCssBaseline/ScopedCssBaseline.js +27 -13
  631. package/node/Skeleton/Skeleton.js +2 -2
  632. package/node/Slide/Slide.js +2 -2
  633. package/node/Slider/Slider.js +16 -15
  634. package/node/Slider/useSlider.js +670 -0
  635. package/node/Slider/useSlider.types.js +5 -0
  636. package/node/Snackbar/Snackbar.js +9 -10
  637. package/node/Snackbar/useSnackbar.js +141 -0
  638. package/node/Snackbar/useSnackbar.types.js +5 -0
  639. package/node/SnackbarContent/SnackbarContent.js +2 -2
  640. package/node/SpeedDial/SpeedDial.js +3 -6
  641. package/node/SpeedDialAction/SpeedDialAction.js +2 -2
  642. package/node/SpeedDialIcon/SpeedDialIcon.js +2 -2
  643. package/node/Step/Step.js +2 -2
  644. package/node/StepButton/StepButton.js +2 -2
  645. package/node/StepConnector/StepConnector.js +2 -2
  646. package/node/StepContent/StepContent.js +2 -2
  647. package/node/StepIcon/StepIcon.js +2 -2
  648. package/node/StepLabel/StepLabel.js +2 -6
  649. package/node/Stepper/Stepper.js +6 -4
  650. package/node/Stepper/stepperClasses.js +1 -1
  651. package/node/SvgIcon/SvgIcon.js +2 -2
  652. package/node/SwipeableDrawer/SwipeableDrawer.js +6 -6
  653. package/node/Switch/Switch.js +2 -2
  654. package/node/Tab/Tab.js +13 -9
  655. package/node/Tab/tabClasses.js +1 -1
  656. package/node/TabScrollButton/TabScrollButton.js +5 -5
  657. package/node/Table/Table.js +2 -2
  658. package/node/TableBody/TableBody.js +2 -2
  659. package/node/TableCell/TableCell.js +2 -2
  660. package/node/TableContainer/TableContainer.js +2 -2
  661. package/node/TableFooter/TableFooter.js +2 -2
  662. package/node/TableHead/TableHead.js +2 -2
  663. package/node/TablePagination/TablePagination.js +4 -4
  664. package/node/TableRow/TableRow.js +2 -2
  665. package/node/TableSortLabel/TableSortLabel.js +3 -3
  666. package/node/TableSortLabel/tableSortLabelClasses.js +1 -1
  667. package/node/Tabs/Tabs.js +8 -17
  668. package/node/TextField/TextField.js +2 -2
  669. package/node/TextareaAutosize/TextareaAutosize.js +230 -0
  670. package/node/TextareaAutosize/TextareaAutosize.types.js +5 -0
  671. package/node/TextareaAutosize/index.js +3 -2
  672. package/node/ToggleButton/ToggleButton.js +2 -2
  673. package/node/ToggleButtonGroup/ToggleButtonGroup.js +2 -2
  674. package/node/Toolbar/Toolbar.js +2 -2
  675. package/node/Tooltip/Tooltip.js +12 -23
  676. package/node/Typography/Typography.js +4 -4
  677. package/node/Unstable_TrapFocus/FocusTrap.js +339 -0
  678. package/node/Unstable_TrapFocus/FocusTrap.types.js +5 -0
  679. package/node/Unstable_TrapFocus/index.js +3 -2
  680. package/node/Zoom/Zoom.js +2 -2
  681. package/node/index.js +3 -3
  682. package/node/styles/CssVarsProvider.js +20 -8
  683. package/node/styles/createTheme.js +1 -1
  684. package/node/styles/createTransitions.js +2 -2
  685. package/node/styles/extendTheme.js +3 -0
  686. package/node/styles/index.js +8 -1
  687. package/node/styles/stringifyTheme.js +62 -0
  688. package/node/useAutocomplete/useAutocomplete.js +985 -18
  689. package/node/{useTouchRipple → useLazyRipple}/index.js +2 -2
  690. package/node/useLazyRipple/useLazyRipple.js +104 -0
  691. package/node/usePagination/usePagination.js +1 -1
  692. package/node/utils/PolymorphicComponent.js +5 -0
  693. package/node/utils/areArraysEqual.js +10 -0
  694. package/node/utils/index.js +2 -9
  695. package/node/utils/isHostComponent.js +13 -0
  696. package/node/utils/omitEventHandlers.js +24 -0
  697. package/node/utils/shouldSpreadAdditionalProps.js +3 -2
  698. package/node/utils/useSlot.js +6 -4
  699. package/node/zero-styled/index.js +33 -5
  700. package/package.json +23 -8
  701. package/styles/CssVarsProvider.d.ts +3 -2
  702. package/styles/CssVarsProvider.js +19 -7
  703. package/styles/createTheme.js +1 -1
  704. package/styles/createTransitions.js +2 -2
  705. package/styles/extendTheme.js +3 -0
  706. package/styles/index.d.ts +1 -0
  707. package/styles/index.js +1 -1
  708. package/styles/overrides.d.ts +1 -1
  709. package/styles/responsiveFontSizes.d.ts +3 -4
  710. package/styles/stringifyTheme.d.ts +20 -0
  711. package/styles/stringifyTheme.js +55 -0
  712. package/useAutocomplete/useAutocomplete.d.ts +468 -2
  713. package/useAutocomplete/useAutocomplete.js +976 -2
  714. package/useLazyRipple/index.d.ts +1 -0
  715. package/useLazyRipple/index.js +3 -0
  716. package/useLazyRipple/package.json +6 -0
  717. package/useLazyRipple/useLazyRipple.d.ts +32 -0
  718. package/useLazyRipple/useLazyRipple.js +85 -0
  719. package/usePagination/usePagination.js +1 -1
  720. package/utils/PolymorphicComponent.d.ts +17 -0
  721. package/utils/PolymorphicComponent.js +1 -0
  722. package/utils/areArraysEqual.d.ts +3 -0
  723. package/utils/areArraysEqual.js +4 -0
  724. package/utils/index.d.ts +2 -2
  725. package/utils/index.js +1 -2
  726. package/utils/isHostComponent.d.ts +6 -0
  727. package/utils/isHostComponent.js +7 -0
  728. package/utils/omitEventHandlers.d.ts +9 -0
  729. package/utils/omitEventHandlers.js +18 -0
  730. package/utils/shouldSpreadAdditionalProps.js +1 -1
  731. package/utils/types.d.ts +2 -1
  732. package/utils/useSlot.js +3 -1
  733. package/zero-styled/index.d.ts +10 -2
  734. package/zero-styled/index.js +24 -5
  735. package/modern/useMediaQuery/useMediaQueryTheme.js +0 -8
  736. package/modern/useTouchRipple/index.js +0 -3
  737. package/modern/useTouchRipple/useTouchRipple.js +0 -94
  738. package/modern/utils/scrollLeft.js +0 -1
  739. package/modern/utils/useIsFocusVisible.js +0 -4
  740. package/node/useMediaQuery/useMediaQueryTheme.js +0 -13
  741. package/node/useTouchRipple/useTouchRipple.js +0 -105
  742. package/node/utils/scrollLeft.js +0 -18
  743. package/node/utils/useIsFocusVisible.js +0 -10
  744. package/useMediaQuery/useMediaQueryTheme.d.ts +0 -3
  745. package/useMediaQuery/useMediaQueryTheme.js +0 -8
  746. package/useTouchRipple/index.d.ts +0 -1
  747. package/useTouchRipple/index.js +0 -3
  748. package/useTouchRipple/useTouchRipple.d.ts +0 -28
  749. package/useTouchRipple/useTouchRipple.js +0 -94
  750. package/utils/scrollLeft.js +0 -1
  751. package/utils/useIsFocusVisible.d.ts +0 -3
  752. package/utils/useIsFocusVisible.js +0 -4
@@ -6,7 +6,8 @@ import { isFragment } from 'react-is';
6
6
  import clsx from 'clsx';
7
7
  import chainPropTypes from '@mui/utils/chainPropTypes';
8
8
  import composeClasses from '@mui/utils/composeClasses';
9
- import { styled, createUseThemeProps } from '../zero-styled';
9
+ import { styled } from '../zero-styled';
10
+ import { useDefaultProps } from '../DefaultPropsProvider';
10
11
  import Avatar, { avatarClasses } from '../Avatar';
11
12
  import avatarGroupClasses, { getAvatarGroupUtilityClass } from './avatarGroupClasses';
12
13
  import useSlot from '../utils/useSlot';
@@ -15,7 +16,6 @@ const SPACINGS = {
15
16
  small: -16,
16
17
  medium: -8
17
18
  };
18
- const useThemeProps = createUseThemeProps('MuiAlert');
19
19
  const useUtilityClasses = ownerState => {
20
20
  const {
21
21
  classes
@@ -48,7 +48,7 @@ const AvatarGroupRoot = styled('div', {
48
48
  }
49
49
  }));
50
50
  const AvatarGroup = /*#__PURE__*/React.forwardRef(function AvatarGroup(inProps, ref) {
51
- const props = useThemeProps({
51
+ const props = useDefaultProps({
52
52
  props: inProps,
53
53
  name: 'MuiAvatarGroup'
54
54
  });
@@ -52,8 +52,7 @@ export interface BackdropOwnProps
52
52
  /**
53
53
  * The components used for each slot inside.
54
54
  *
55
- * This prop is an alias for the `slots` prop.
56
- * It's recommended to use the `slots` prop instead.
55
+ * @deprecated Use the `slots` prop instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
57
56
  *
58
57
  * @default {}
59
58
  */
@@ -64,8 +63,7 @@ export interface BackdropOwnProps
64
63
  * The extra props for the slot components.
65
64
  * You can override the existing props or add new ones.
66
65
  *
67
- * This prop is an alias for the `slotProps` prop.
68
- * It's recommended to use the `slotProps` prop instead, as `componentsProps` will be deprecated in the future.
66
+ * @deprecated Use the `slotProps` prop instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
69
67
  *
70
68
  * @default {}
71
69
  */
@@ -99,7 +97,6 @@ export interface BackdropOwnProps
99
97
  * The component used for the transition.
100
98
  * [Follow this guide](/material-ui/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.
101
99
  * @default Fade
102
- * @deprecated Use `slots.transition` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
103
100
  */
104
101
  TransitionComponent?: React.JSXElementConstructor<
105
102
  TransitionProps & {
@@ -124,12 +121,12 @@ export declare const BackdropRoot: React.FC<BackdropRootProps>;
124
121
  *
125
122
  * Demos:
126
123
  *
127
- * - [Backdrop](https://mui.com/material-ui/react-backdrop/)
124
+ * - [Backdrop](https://next.mui.com/material-ui/react-backdrop/)
128
125
  *
129
126
  * API:
130
127
  *
131
- * - [Backdrop API](https://mui.com/material-ui/api/backdrop/)
132
- * - inherits [Fade API](https://mui.com/material-ui/api/fade/)
128
+ * - [Backdrop API](https://next.mui.com/material-ui/api/backdrop/)
129
+ * - inherits [Fade API](https://next.mui.com/material-ui/api/fade/)
133
130
  */
134
131
  declare const Backdrop: OverridableComponent<BackdropTypeMap>;
135
132
 
@@ -4,12 +4,12 @@ import * as React from 'react';
4
4
  import PropTypes from 'prop-types';
5
5
  import clsx from 'clsx';
6
6
  import composeClasses from '@mui/utils/composeClasses';
7
- import { styled, createUseThemeProps } from '../zero-styled';
7
+ import { styled } from '../zero-styled';
8
+ import { useDefaultProps } from '../DefaultPropsProvider';
8
9
  import useSlot from '../utils/useSlot';
9
10
  import Fade from '../Fade';
10
11
  import { getBackdropUtilityClass } from './backdropClasses';
11
12
  import { jsx as _jsx } from "react/jsx-runtime";
12
- const useThemeProps = createUseThemeProps('MuiBackdrop');
13
13
  const useUtilityClasses = ownerState => {
14
14
  const {
15
15
  classes,
@@ -50,7 +50,7 @@ const BackdropRoot = styled('div', {
50
50
  }]
51
51
  });
52
52
  const Backdrop = /*#__PURE__*/React.forwardRef(function Backdrop(inProps, ref) {
53
- const props = useThemeProps({
53
+ const props = useDefaultProps({
54
54
  props: inProps,
55
55
  name: 'MuiBackdrop'
56
56
  });
@@ -138,8 +138,7 @@ process.env.NODE_ENV !== "production" ? Backdrop.propTypes /* remove-proptypes *
138
138
  /**
139
139
  * The components used for each slot inside.
140
140
  *
141
- * This prop is an alias for the `slots` prop.
142
- * It's recommended to use the `slots` prop instead.
141
+ * @deprecated Use the `slots` prop instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
143
142
  *
144
143
  * @default {}
145
144
  */
@@ -150,8 +149,7 @@ process.env.NODE_ENV !== "production" ? Backdrop.propTypes /* remove-proptypes *
150
149
  * The extra props for the slot components.
151
150
  * You can override the existing props or add new ones.
152
151
  *
153
- * This prop is an alias for the `slotProps` prop.
154
- * It's recommended to use the `slotProps` prop instead, as `componentsProps` will be deprecated in the future.
152
+ * @deprecated Use the `slotProps` prop instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
155
153
  *
156
154
  * @default {}
157
155
  */
@@ -192,7 +190,6 @@ process.env.NODE_ENV !== "production" ? Backdrop.propTypes /* remove-proptypes *
192
190
  * The component used for the transition.
193
191
  * [Follow this guide](/material-ui/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.
194
192
  * @default Fade
195
- * @deprecated Use `slots.transition` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
196
193
  */
197
194
  TransitionComponent: PropTypes.elementType,
198
195
  /**
package/Badge/Badge.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { SxProps } from '@mui/system';
3
3
  import { OverridableStringUnion, Simplify } from '@mui/types';
4
- import { SlotComponentProps } from '@mui/base/utils';
4
+ import { SlotComponentProps } from '../utils/types';
5
5
  import { Theme } from '../styles';
6
6
  import { OverridableComponent, OverrideProps } from '../OverridableComponent';
7
7
  import { BadgeClasses } from './badgeClasses';
@@ -162,12 +162,12 @@ export declare const BadgeMark: React.FC<BadgeBadgeProps>;
162
162
  *
163
163
  * Demos:
164
164
  *
165
- * - [Avatar](https://mui.com/material-ui/react-avatar/)
166
- * - [Badge](https://mui.com/material-ui/react-badge/)
165
+ * - [Avatar](https://next.mui.com/material-ui/react-avatar/)
166
+ * - [Badge](https://next.mui.com/material-ui/react-badge/)
167
167
  *
168
168
  * API:
169
169
  *
170
- * - [Badge API](https://mui.com/material-ui/api/badge/)
170
+ * - [Badge API](https://next.mui.com/material-ui/api/badge/)
171
171
  */
172
172
  declare const Badge: OverridableComponent<BadgeTypeMap>;
173
173
 
package/Badge/Badge.js CHANGED
@@ -5,15 +5,15 @@ import PropTypes from 'prop-types';
5
5
  import clsx from 'clsx';
6
6
  import usePreviousProps from '@mui/utils/usePreviousProps';
7
7
  import composeClasses from '@mui/utils/composeClasses';
8
- import { useBadge } from '@mui/base/useBadge';
9
- import { useSlotProps } from '@mui/base/utils';
10
- import { styled, createUseThemeProps } from '../zero-styled';
8
+ import useSlotProps from '@mui/utils/useSlotProps';
9
+ import useBadge from './useBadge';
10
+ import { styled } from '../zero-styled';
11
+ import { useDefaultProps } from '../DefaultPropsProvider';
11
12
  import capitalize from '../utils/capitalize';
12
13
  import badgeClasses, { getBadgeUtilityClass } from './badgeClasses';
13
14
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
14
15
  const RADIUS_STANDARD = 10;
15
16
  const RADIUS_DOT = 4;
16
- const useThemeProps = createUseThemeProps('MuiBadge');
17
17
  const useUtilityClasses = ownerState => {
18
18
  const {
19
19
  color,
@@ -209,7 +209,7 @@ const BadgeBadge = styled('span', {
209
209
  }]
210
210
  }));
211
211
  const Badge = /*#__PURE__*/React.forwardRef(function Badge(inProps, ref) {
212
- const props = useThemeProps({
212
+ const props = useDefaultProps({
213
213
  props: inProps,
214
214
  name: 'MuiBadge'
215
215
  });
@@ -0,0 +1,13 @@
1
+ import { UseBadgeParameters, UseBadgeReturnValue } from './useBadge.types';
2
+ /**
3
+ *
4
+ * Demos:
5
+ *
6
+ * - [Badge](https://next.mui.com/base-ui/react-badge/#hook)
7
+ *
8
+ * API:
9
+ *
10
+ * - [useBadge API](https://next.mui.com/base-ui/react-badge/hooks-api/#use-badge)
11
+ */
12
+ declare function useBadge(parameters: UseBadgeParameters): UseBadgeReturnValue;
13
+ export default useBadge;
@@ -0,0 +1,41 @@
1
+ 'use client';
2
+
3
+ import { usePreviousProps } from '@mui/utils';
4
+ /**
5
+ *
6
+ * Demos:
7
+ *
8
+ * - [Badge](https://next.mui.com/base-ui/react-badge/#hook)
9
+ *
10
+ * API:
11
+ *
12
+ * - [useBadge API](https://next.mui.com/base-ui/react-badge/hooks-api/#use-badge)
13
+ */
14
+ function useBadge(parameters) {
15
+ const {
16
+ badgeContent: badgeContentProp,
17
+ invisible: invisibleProp = false,
18
+ max: maxProp = 99,
19
+ showZero = false
20
+ } = parameters;
21
+ const prevProps = usePreviousProps({
22
+ badgeContent: badgeContentProp,
23
+ max: maxProp
24
+ });
25
+ let invisible = invisibleProp;
26
+ if (invisibleProp === false && badgeContentProp === 0 && !showZero) {
27
+ invisible = true;
28
+ }
29
+ const {
30
+ badgeContent,
31
+ max = maxProp
32
+ } = invisible ? prevProps : parameters;
33
+ const displayValue = badgeContent && Number(badgeContent) > max ? `${max}+` : badgeContent;
34
+ return {
35
+ badgeContent,
36
+ invisible,
37
+ max,
38
+ displayValue
39
+ };
40
+ }
41
+ export default useBadge;
@@ -0,0 +1,40 @@
1
+ /// <reference types="react" />
2
+ export interface UseBadgeParameters {
3
+ /**
4
+ * The content rendered within the badge.
5
+ */
6
+ badgeContent?: React.ReactNode;
7
+ /**
8
+ * If `true`, the badge is invisible.
9
+ * @default false
10
+ */
11
+ invisible?: boolean;
12
+ /**
13
+ * Max count to show.
14
+ * @default 99
15
+ */
16
+ max?: number;
17
+ /**
18
+ * Controls whether the badge is hidden when `badgeContent` is zero.
19
+ * @default false
20
+ */
21
+ showZero?: boolean;
22
+ }
23
+ export interface UseBadgeReturnValue {
24
+ /**
25
+ * Defines the content that's displayed inside the badge.
26
+ */
27
+ badgeContent: React.ReactNode;
28
+ /**
29
+ * If `true`, the component will not be visible.
30
+ */
31
+ invisible: boolean;
32
+ /**
33
+ * Maximum number to be displayed in the badge.
34
+ */
35
+ max: number;
36
+ /**
37
+ * Value to be displayed in the badge. If `badgeContent` is greater than `max`, it will return `max+`.
38
+ */
39
+ displayValue: React.ReactNode;
40
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -47,11 +47,11 @@ export interface BottomNavigationTypeMap<
47
47
  *
48
48
  * Demos:
49
49
  *
50
- * - [Bottom Navigation](https://mui.com/material-ui/react-bottom-navigation/)
50
+ * - [Bottom Navigation](https://next.mui.com/material-ui/react-bottom-navigation/)
51
51
  *
52
52
  * API:
53
53
  *
54
- * - [BottomNavigation API](https://mui.com/material-ui/api/bottom-navigation/)
54
+ * - [BottomNavigation API](https://next.mui.com/material-ui/api/bottom-navigation/)
55
55
  */
56
56
  declare const BottomNavigation: OverridableComponent<BottomNavigationTypeMap>;
57
57
 
@@ -5,10 +5,10 @@ import { isFragment } from 'react-is';
5
5
  import PropTypes from 'prop-types';
6
6
  import clsx from 'clsx';
7
7
  import composeClasses from '@mui/utils/composeClasses';
8
- import { styled, createUseThemeProps } from '../zero-styled';
8
+ import { styled } from '../zero-styled';
9
+ import { useDefaultProps } from '../DefaultPropsProvider';
9
10
  import { getBottomNavigationUtilityClass } from './bottomNavigationClasses';
10
11
  import { jsx as _jsx } from "react/jsx-runtime";
11
- const useThemeProps = createUseThemeProps('MuiBottomNavigation');
12
12
  const useUtilityClasses = ownerState => {
13
13
  const {
14
14
  classes
@@ -31,7 +31,7 @@ const BottomNavigationRoot = styled('div', {
31
31
  backgroundColor: (theme.vars || theme).palette.background.paper
32
32
  }));
33
33
  const BottomNavigation = /*#__PURE__*/React.forwardRef(function BottomNavigation(inProps, ref) {
34
- const props = useThemeProps({
34
+ const props = useDefaultProps({
35
35
  props: inProps,
36
36
  name: 'MuiBottomNavigation'
37
37
  });
@@ -53,12 +53,12 @@ export type BottomNavigationActionTypeMap<
53
53
  *
54
54
  * Demos:
55
55
  *
56
- * - [Bottom Navigation](https://mui.com/material-ui/react-bottom-navigation/)
56
+ * - [Bottom Navigation](https://next.mui.com/material-ui/react-bottom-navigation/)
57
57
  *
58
58
  * API:
59
59
  *
60
- * - [BottomNavigationAction API](https://mui.com/material-ui/api/bottom-navigation-action/)
61
- * - inherits [ButtonBase API](https://mui.com/material-ui/api/button-base/)
60
+ * - [BottomNavigationAction API](https://next.mui.com/material-ui/api/bottom-navigation-action/)
61
+ * - inherits [ButtonBase API](https://next.mui.com/material-ui/api/button-base/)
62
62
  */
63
63
  declare const BottomNavigationAction: ExtendButtonBase<
64
64
  BottomNavigationActionTypeMap<{}, ButtonBaseTypeMap['defaultComponent']>
@@ -4,12 +4,12 @@ import * as React from 'react';
4
4
  import PropTypes from 'prop-types';
5
5
  import clsx from 'clsx';
6
6
  import composeClasses from '@mui/utils/composeClasses';
7
- import { styled, createUseThemeProps } from '../zero-styled';
7
+ import { styled } from '../zero-styled';
8
+ import { useDefaultProps } from '../DefaultPropsProvider';
8
9
  import ButtonBase from '../ButtonBase';
9
10
  import unsupportedProp from '../utils/unsupportedProp';
10
11
  import bottomNavigationActionClasses, { getBottomNavigationActionUtilityClass } from './bottomNavigationActionClasses';
11
12
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
12
- const useThemeProps = createUseThemeProps('MuiBottomNavigationAction');
13
13
  const useUtilityClasses = ownerState => {
14
14
  const {
15
15
  classes,
@@ -92,7 +92,7 @@ const BottomNavigationActionLabel = styled('span', {
92
92
  }]
93
93
  }));
94
94
  const BottomNavigationAction = /*#__PURE__*/React.forwardRef(function BottomNavigationAction(inProps, ref) {
95
- const props = useThemeProps({
95
+ const props = useDefaultProps({
96
96
  props: inProps,
97
97
  name: 'MuiBottomNavigationAction'
98
98
  });
package/Box/Box.d.ts CHANGED
@@ -7,11 +7,11 @@ import { Theme as MaterialTheme } from '../styles';
7
7
  *
8
8
  * Demos:
9
9
  *
10
- * - [Box](https://mui.com/material-ui/react-box/)
10
+ * - [Box](https://next.mui.com/material-ui/react-box/)
11
11
  *
12
12
  * API:
13
13
  *
14
- * - [Box API](https://mui.com/material-ui/api/box/)
14
+ * - [Box API](https://next.mui.com/material-ui/api/box/)
15
15
  */
16
16
  declare const Box: OverridableComponent<BoxTypeMap<{}, 'div', MaterialTheme>>;
17
17
 
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { SxProps } from '@mui/system';
3
- import { SlotComponentProps } from '@mui/base';
3
+ import { SlotComponentProps } from '../utils/types';
4
4
  import { Theme } from '../styles';
5
5
  import { OverridableComponent, OverrideProps } from '../OverridableComponent';
6
6
  import { BreadcrumbsClasses } from './breadcrumbsClasses';
@@ -91,12 +91,12 @@ export interface BreadcrumbsTypeMap<
91
91
  *
92
92
  * Demos:
93
93
  *
94
- * - [Breadcrumbs](https://mui.com/material-ui/react-breadcrumbs/)
94
+ * - [Breadcrumbs](https://next.mui.com/material-ui/react-breadcrumbs/)
95
95
  *
96
96
  * API:
97
97
  *
98
- * - [Breadcrumbs API](https://mui.com/material-ui/api/breadcrumbs/)
99
- * - inherits [Typography API](https://mui.com/material-ui/api/typography/)
98
+ * - [Breadcrumbs API](https://next.mui.com/material-ui/api/breadcrumbs/)
99
+ * - inherits [Typography API](https://next.mui.com/material-ui/api/typography/)
100
100
  */
101
101
  declare const Breadcrumbs: OverridableComponent<BreadcrumbsTypeMap>;
102
102
 
@@ -5,14 +5,14 @@ import { isFragment } from 'react-is';
5
5
  import PropTypes from 'prop-types';
6
6
  import clsx from 'clsx';
7
7
  import integerPropType from '@mui/utils/integerPropType';
8
- import { useSlotProps } from '@mui/base/utils';
9
8
  import composeClasses from '@mui/utils/composeClasses';
10
- import { styled, createUseThemeProps } from '../zero-styled';
9
+ import useSlotProps from '@mui/utils/useSlotProps';
10
+ import { styled } from '../zero-styled';
11
+ import { useDefaultProps } from '../DefaultPropsProvider';
11
12
  import Typography from '../Typography';
12
13
  import BreadcrumbCollapsed from './BreadcrumbCollapsed';
13
14
  import breadcrumbsClasses, { getBreadcrumbsUtilityClass } from './breadcrumbsClasses';
14
15
  import { jsx as _jsx } from "react/jsx-runtime";
15
- const useThemeProps = createUseThemeProps('MuiBreadcrumbs');
16
16
  const useUtilityClasses = ownerState => {
17
17
  const {
18
18
  classes
@@ -72,7 +72,7 @@ function insertSeparators(items, className, separator, ownerState) {
72
72
  }, []);
73
73
  }
74
74
  const Breadcrumbs = /*#__PURE__*/React.forwardRef(function Breadcrumbs(inProps, ref) {
75
- const props = useThemeProps({
75
+ const props = useDefaultProps({
76
76
  props: inProps,
77
77
  name: 'MuiBreadcrumbs'
78
78
  });
@@ -111,13 +111,13 @@ export type ExtendButton<TypeMap extends OverridableTypeMap> = ((
111
111
  *
112
112
  * Demos:
113
113
  *
114
- * - [Button Group](https://mui.com/material-ui/react-button-group/)
115
- * - [Button](https://mui.com/material-ui/react-button/)
114
+ * - [Button Group](https://next.mui.com/material-ui/react-button-group/)
115
+ * - [Button](https://next.mui.com/material-ui/react-button/)
116
116
  *
117
117
  * API:
118
118
  *
119
- * - [Button API](https://mui.com/material-ui/api/button/)
120
- * - inherits [ButtonBase API](https://mui.com/material-ui/api/button-base/)
119
+ * - [Button API](https://next.mui.com/material-ui/api/button/)
120
+ * - inherits [ButtonBase API](https://next.mui.com/material-ui/api/button-base/)
121
121
  */
122
122
  declare const Button: ExtendButtonBase<ButtonTypeMap>;
123
123
 
package/Button/Button.js CHANGED
@@ -7,14 +7,14 @@ import resolveProps from '@mui/utils/resolveProps';
7
7
  import composeClasses from '@mui/utils/composeClasses';
8
8
  import { alpha } from '@mui/system/colorManipulator';
9
9
  import rootShouldForwardProp from '../styles/rootShouldForwardProp';
10
- import { styled, createUseThemeProps } from '../zero-styled';
10
+ import { styled } from '../zero-styled';
11
+ import { useDefaultProps } from '../DefaultPropsProvider';
11
12
  import ButtonBase from '../ButtonBase';
12
13
  import capitalize from '../utils/capitalize';
13
14
  import buttonClasses, { getButtonUtilityClass } from './buttonClasses';
14
15
  import ButtonGroupContext from '../ButtonGroup/ButtonGroupContext';
15
16
  import ButtonGroupButtonContext from '../ButtonGroup/ButtonGroupButtonContext';
16
17
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
17
- const useThemeProps = createUseThemeProps('MuiButton');
18
18
  const useUtilityClasses = ownerState => {
19
19
  const {
20
20
  color,
@@ -313,7 +313,7 @@ const Button = /*#__PURE__*/React.forwardRef(function Button(inProps, ref) {
313
313
  const contextProps = React.useContext(ButtonGroupContext);
314
314
  const buttonGroupButtonContextPositionClassName = React.useContext(ButtonGroupButtonContext);
315
315
  const resolvedProps = resolveProps(contextProps, inProps);
316
- const props = useThemeProps({
316
+ const props = useDefaultProps({
317
317
  props: resolvedProps,
318
318
  name: 'MuiButton'
319
319
  });
@@ -115,11 +115,11 @@ export type ExtendButtonBase<TypeMap extends OverridableTypeMap> = ((
115
115
  *
116
116
  * Demos:
117
117
  *
118
- * - [Button](https://mui.com/material-ui/react-button/)
118
+ * - [Button](https://next.mui.com/material-ui/react-button/)
119
119
  *
120
120
  * API:
121
121
  *
122
- * - [ButtonBase API](https://mui.com/material-ui/api/button-base/)
122
+ * - [ButtonBase API](https://next.mui.com/material-ui/api/button-base/)
123
123
  */
124
124
  declare const ButtonBase: ExtendButtonBase<ButtonBaseTypeMap>;
125
125
 
@@ -6,14 +6,15 @@ import clsx from 'clsx';
6
6
  import refType from '@mui/utils/refType';
7
7
  import elementTypeAcceptingRef from '@mui/utils/elementTypeAcceptingRef';
8
8
  import composeClasses from '@mui/utils/composeClasses';
9
- import { styled, createUseThemeProps } from '../zero-styled';
9
+ import isFocusVisible from '@mui/utils/isFocusVisible';
10
+ import { styled } from '../zero-styled';
11
+ import { useDefaultProps } from '../DefaultPropsProvider';
10
12
  import useForkRef from '../utils/useForkRef';
11
13
  import useEventCallback from '../utils/useEventCallback';
12
- import useIsFocusVisible from '../utils/useIsFocusVisible';
14
+ import useLazyRipple from '../useLazyRipple';
13
15
  import TouchRipple from './TouchRipple';
14
16
  import buttonBaseClasses, { getButtonBaseUtilityClass } from './buttonBaseClasses';
15
17
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
16
- const useThemeProps = createUseThemeProps('MuiButtonBase');
17
18
  const useUtilityClasses = ownerState => {
18
19
  const {
19
20
  disabled,
@@ -80,7 +81,7 @@ export const ButtonBaseRoot = styled('button', {
80
81
  * It contains a load of style reset and some focus/ripple logic.
81
82
  */
82
83
  const ButtonBase = /*#__PURE__*/React.forwardRef(function ButtonBase(inProps, ref) {
83
- const props = useThemeProps({
84
+ const props = useDefaultProps({
84
85
  props: inProps,
85
86
  name: 'MuiButtonBase'
86
87
  });
@@ -117,14 +118,8 @@ const ButtonBase = /*#__PURE__*/React.forwardRef(function ButtonBase(inProps, re
117
118
  ...other
118
119
  } = props;
119
120
  const buttonRef = React.useRef(null);
120
- const rippleRef = React.useRef(null);
121
- const handleRippleRef = useForkRef(rippleRef, touchRippleRef);
122
- const {
123
- isFocusVisibleRef,
124
- onFocus: handleFocusVisible,
125
- onBlur: handleBlurVisible,
126
- ref: focusVisibleRef
127
- } = useIsFocusVisible();
121
+ const ripple = useLazyRipple();
122
+ const handleRippleRef = useForkRef(ripple.ref, touchRippleRef);
128
123
  const [focusVisible, setFocusVisible] = React.useState(false);
129
124
  if (disabled && focusVisible) {
130
125
  setFocusVisible(false);
@@ -135,24 +130,20 @@ const ButtonBase = /*#__PURE__*/React.forwardRef(function ButtonBase(inProps, re
135
130
  buttonRef.current.focus();
136
131
  }
137
132
  }), []);
138
- const [mountedState, setMountedState] = React.useState(false);
139
- React.useEffect(() => {
140
- setMountedState(true);
141
- }, []);
142
- const enableTouchRipple = mountedState && !disableRipple && !disabled;
133
+ const enableTouchRipple = ripple.shouldMount && !disableRipple && !disabled;
143
134
  React.useEffect(() => {
144
- if (focusVisible && focusRipple && !disableRipple && mountedState) {
145
- rippleRef.current.pulsate();
135
+ if (focusVisible && focusRipple && !disableRipple) {
136
+ ripple.pulsate();
146
137
  }
147
- }, [disableRipple, focusRipple, focusVisible, mountedState]);
138
+ }, [disableRipple, focusRipple, focusVisible, ripple]);
148
139
  function useRippleHandler(rippleAction, eventCallback, skipRippleAction = disableTouchRipple) {
149
140
  return useEventCallback(event => {
150
141
  if (eventCallback) {
151
142
  eventCallback(event);
152
143
  }
153
144
  const ignore = skipRippleAction;
154
- if (!ignore && rippleRef.current) {
155
- rippleRef.current[rippleAction](event);
145
+ if (!ignore) {
146
+ ripple[rippleAction](event);
156
147
  }
157
148
  return true;
158
149
  });
@@ -173,8 +164,7 @@ const ButtonBase = /*#__PURE__*/React.forwardRef(function ButtonBase(inProps, re
173
164
  const handleTouchEnd = useRippleHandler('stop', onTouchEnd);
174
165
  const handleTouchMove = useRippleHandler('stop', onTouchMove);
175
166
  const handleBlur = useRippleHandler('stop', event => {
176
- handleBlurVisible(event);
177
- if (isFocusVisibleRef.current === false) {
167
+ if (!isFocusVisible(event.target)) {
178
168
  setFocusVisible(false);
179
169
  }
180
170
  if (onBlur) {
@@ -186,8 +176,7 @@ const ButtonBase = /*#__PURE__*/React.forwardRef(function ButtonBase(inProps, re
186
176
  if (!buttonRef.current) {
187
177
  buttonRef.current = event.currentTarget;
188
178
  }
189
- handleFocusVisible(event);
190
- if (isFocusVisibleRef.current === true) {
179
+ if (isFocusVisible(event.target)) {
191
180
  setFocusVisible(true);
192
181
  if (onFocusVisible) {
193
182
  onFocusVisible(event);
@@ -201,17 +190,11 @@ const ButtonBase = /*#__PURE__*/React.forwardRef(function ButtonBase(inProps, re
201
190
  const button = buttonRef.current;
202
191
  return component && component !== 'button' && !(button.tagName === 'A' && button.href);
203
192
  };
204
-
205
- /**
206
- * IE11 shim for https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/repeat
207
- */
208
- const keydownRef = React.useRef(false);
209
193
  const handleKeyDown = useEventCallback(event => {
210
194
  // Check if key is already down to avoid repeats being counted as multiple activations
211
- if (focusRipple && !keydownRef.current && focusVisible && rippleRef.current && event.key === ' ') {
212
- keydownRef.current = true;
213
- rippleRef.current.stop(event, () => {
214
- rippleRef.current.start(event);
195
+ if (focusRipple && !event.repeat && focusVisible && event.key === ' ') {
196
+ ripple.stop(event, () => {
197
+ ripple.start(event);
215
198
  });
216
199
  }
217
200
  if (event.target === event.currentTarget && isNonNativeButton() && event.key === ' ') {
@@ -232,10 +215,9 @@ const ButtonBase = /*#__PURE__*/React.forwardRef(function ButtonBase(inProps, re
232
215
  const handleKeyUp = useEventCallback(event => {
233
216
  // calling preventDefault in keyUp on a <button> will not dispatch a click event if Space is pressed
234
217
  // https://codesandbox.io/p/sandbox/button-keyup-preventdefault-dn7f0
235
- if (focusRipple && event.key === ' ' && rippleRef.current && focusVisible && !event.defaultPrevented) {
236
- keydownRef.current = false;
237
- rippleRef.current.stop(event, () => {
238
- rippleRef.current.pulsate(event);
218
+ if (focusRipple && event.key === ' ' && focusVisible && !event.defaultPrevented) {
219
+ ripple.stop(event, () => {
220
+ ripple.pulsate(event);
239
221
  });
240
222
  }
241
223
  if (onKeyUp) {
@@ -263,15 +245,7 @@ const ButtonBase = /*#__PURE__*/React.forwardRef(function ButtonBase(inProps, re
263
245
  buttonProps['aria-disabled'] = disabled;
264
246
  }
265
247
  }
266
- const handleRef = useForkRef(ref, focusVisibleRef, buttonRef);
267
- if (process.env.NODE_ENV !== 'production') {
268
- // eslint-disable-next-line react-hooks/rules-of-hooks
269
- React.useEffect(() => {
270
- if (enableTouchRipple && !rippleRef.current) {
271
- console.error(['MUI: The `component` prop provided to ButtonBase is invalid.', 'Please make sure the children prop is rendered in this custom component.'].join('\n'));
272
- }
273
- }, [enableTouchRipple]);
274
- }
248
+ const handleRef = useForkRef(ref, buttonRef);
275
249
  const ownerState = {
276
250
  ...props,
277
251
  centerRipple,
@@ -306,10 +280,7 @@ const ButtonBase = /*#__PURE__*/React.forwardRef(function ButtonBase(inProps, re
306
280
  type: type,
307
281
  ...buttonProps,
308
282
  ...other,
309
- children: [children, enableTouchRipple ?
310
- /*#__PURE__*/
311
- /* TouchRipple is only needed client-side, x2 boost on the server. */
312
- _jsx(TouchRipple, {
283
+ children: [children, enableTouchRipple ? /*#__PURE__*/_jsx(TouchRipple, {
313
284
  ref: handleRippleRef,
314
285
  center: centerRipple,
315
286
  ...TouchRippleProps