@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
package/Menu/Menu.d.ts CHANGED
@@ -86,12 +86,12 @@ export declare const MenuPaper: React.FC<PaperProps>;
86
86
  *
87
87
  * Demos:
88
88
  *
89
- * - [App Bar](https://mui.com/material-ui/react-app-bar/)
90
- * - [Menu](https://mui.com/material-ui/react-menu/)
89
+ * - [App Bar](https://next.mui.com/material-ui/react-app-bar/)
90
+ * - [Menu](https://next.mui.com/material-ui/react-menu/)
91
91
  *
92
92
  * API:
93
93
  *
94
- * - [Menu API](https://mui.com/material-ui/api/menu/)
95
- * - inherits [Popover API](https://mui.com/material-ui/api/popover/)
94
+ * - [Menu API](https://next.mui.com/material-ui/api/menu/)
95
+ * - inherits [Popover API](https://next.mui.com/material-ui/api/popover/)
96
96
  */
97
97
  export default function Menu(props: MenuProps): React.JSX.Element;
package/Menu/Menu.js CHANGED
@@ -5,16 +5,16 @@ 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 { useSlotProps } from '@mui/base/utils';
9
8
  import HTMLElementType from '@mui/utils/HTMLElementType';
10
9
  import { useRtl } from '@mui/system/RtlProvider';
10
+ import useSlotProps from '@mui/utils/useSlotProps';
11
11
  import MenuList from '../MenuList';
12
12
  import Popover, { PopoverPaper } from '../Popover';
13
13
  import rootShouldForwardProp from '../styles/rootShouldForwardProp';
14
- import { styled, createUseThemeProps } from '../zero-styled';
14
+ import { styled } from '../zero-styled';
15
+ import { useDefaultProps } from '../DefaultPropsProvider';
15
16
  import { getMenuUtilityClass } from './menuClasses';
16
17
  import { jsx as _jsx } from "react/jsx-runtime";
17
- const useThemeProps = createUseThemeProps('MuiMenu');
18
18
  const RTL_ORIGIN = {
19
19
  vertical: 'top',
20
20
  horizontal: 'right'
@@ -61,7 +61,7 @@ const MenuMenuList = styled(MenuList, {
61
61
  outline: 0
62
62
  });
63
63
  const Menu = /*#__PURE__*/React.forwardRef(function Menu(inProps, ref) {
64
- const props = useThemeProps({
64
+ const props = useDefaultProps({
65
65
  props: inProps,
66
66
  name: 'MuiMenu'
67
67
  });
@@ -259,9 +259,7 @@ process.env.NODE_ENV !== "production" ? Menu.propTypes /* remove-proptypes */ =
259
259
  */
260
260
  PopoverClasses: PropTypes.object,
261
261
  /**
262
- * The extra props for the slot components.
263
- * You can override the existing props or add new ones.
264
- *
262
+ * The props used for each slot inside.
265
263
  * @default {}
266
264
  */
267
265
  slotProps: PropTypes.shape({
@@ -270,7 +268,6 @@ process.env.NODE_ENV !== "production" ? Menu.propTypes /* remove-proptypes */ =
270
268
  }),
271
269
  /**
272
270
  * The components used for each slot inside.
273
- *
274
271
  * @default {}
275
272
  */
276
273
  slots: PropTypes.shape({
@@ -60,12 +60,12 @@ export type MenuItemTypeMap<
60
60
  *
61
61
  * Demos:
62
62
  *
63
- * - [Menu](https://mui.com/material-ui/react-menu/)
63
+ * - [Menu](https://next.mui.com/material-ui/react-menu/)
64
64
  *
65
65
  * API:
66
66
  *
67
- * - [MenuItem API](https://mui.com/material-ui/api/menu-item/)
68
- * - inherits [ButtonBase API](https://mui.com/material-ui/api/button-base/)
67
+ * - [MenuItem API](https://next.mui.com/material-ui/api/menu-item/)
68
+ * - inherits [ButtonBase API](https://next.mui.com/material-ui/api/button-base/)
69
69
  */
70
70
  declare const MenuItem: ExtendButtonBase<MenuItemTypeMap>;
71
71
 
@@ -6,7 +6,8 @@ import clsx from 'clsx';
6
6
  import composeClasses from '@mui/utils/composeClasses';
7
7
  import { alpha } from '@mui/system/colorManipulator';
8
8
  import rootShouldForwardProp from '../styles/rootShouldForwardProp';
9
- import { styled, createUseThemeProps } from '../zero-styled';
9
+ import { styled } from '../zero-styled';
10
+ import { useDefaultProps } from '../DefaultPropsProvider';
10
11
  import ListContext from '../List/ListContext';
11
12
  import ButtonBase from '../ButtonBase';
12
13
  import useEnhancedEffect from '../utils/useEnhancedEffect';
@@ -16,7 +17,6 @@ import { listItemIconClasses } from '../ListItemIcon';
16
17
  import { listItemTextClasses } from '../ListItemText';
17
18
  import menuItemClasses, { getMenuItemUtilityClass } from './menuItemClasses';
18
19
  import { jsx as _jsx } from "react/jsx-runtime";
19
- const useThemeProps = createUseThemeProps('MuiMenuItem');
20
20
  export const overridesResolver = (props, styles) => {
21
21
  const {
22
22
  ownerState
@@ -146,7 +146,7 @@ const MenuItemRoot = styled(ButtonBase, {
146
146
  }]
147
147
  }));
148
148
  const MenuItem = /*#__PURE__*/React.forwardRef(function MenuItem(inProps, ref) {
149
- const props = useThemeProps({
149
+ const props = useDefaultProps({
150
150
  props: inProps,
151
151
  name: 'MuiMenuItem'
152
152
  });
@@ -48,18 +48,18 @@ export type MenuListClassKey = keyof NonNullable<MenuListTypeMap['props']['class
48
48
 
49
49
  /**
50
50
  * A permanently displayed menu following https://www.w3.org/WAI/ARIA/apg/patterns/menu-button/.
51
- * It's exposed to help customization of the [`Menu`](https://mui.com/material-ui/api/menu/) component if you
51
+ * It's exposed to help customization of the [`Menu`](https://next.mui.com/material-ui/api/menu/) component if you
52
52
  * use it separately you need to move focus into the component manually. Once
53
53
  * the focus is placed inside the component it is fully keyboard accessible.
54
54
  *
55
55
  * Demos:
56
56
  *
57
- * - [Menu](https://mui.com/material-ui/react-menu/)
57
+ * - [Menu](https://next.mui.com/material-ui/react-menu/)
58
58
  *
59
59
  * API:
60
60
  *
61
- * - [MenuList API](https://mui.com/material-ui/api/menu-list/)
62
- * - inherits [List API](https://mui.com/material-ui/api/list/)
61
+ * - [MenuList API](https://next.mui.com/material-ui/api/menu-list/)
62
+ * - inherits [List API](https://next.mui.com/material-ui/api/list/)
63
63
  */
64
64
  declare const MenuList: ExtendList<MenuListTypeMap>;
65
65
 
@@ -52,11 +52,11 @@ export interface MobileStepperProps extends StandardProps<PaperProps, 'children'
52
52
  *
53
53
  * Demos:
54
54
  *
55
- * - [Stepper](https://mui.com/material-ui/react-stepper/)
55
+ * - [Stepper](https://next.mui.com/material-ui/react-stepper/)
56
56
  *
57
57
  * API:
58
58
  *
59
- * - [MobileStepper API](https://mui.com/material-ui/api/mobile-stepper/)
60
- * - inherits [Paper API](https://mui.com/material-ui/api/paper/)
59
+ * - [MobileStepper API](https://next.mui.com/material-ui/api/mobile-stepper/)
60
+ * - inherits [Paper API](https://next.mui.com/material-ui/api/paper/)
61
61
  */
62
62
  export default function MobileStepper(props: MobileStepperProps): React.JSX.Element;
@@ -8,11 +8,11 @@ import composeClasses from '@mui/utils/composeClasses';
8
8
  import Paper from '../Paper';
9
9
  import capitalize from '../utils/capitalize';
10
10
  import LinearProgress from '../LinearProgress';
11
- import { styled, createUseThemeProps } from '../zero-styled';
11
+ import { styled } from '../zero-styled';
12
+ import { useDefaultProps } from '../DefaultPropsProvider';
12
13
  import slotShouldForwardProp from '../styles/slotShouldForwardProp';
13
14
  import { getMobileStepperUtilityClass } from './mobileStepperClasses';
14
15
  import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
15
- const useThemeProps = createUseThemeProps('MuiMobileStepper');
16
16
  const useUtilityClasses = ownerState => {
17
17
  const {
18
18
  classes,
@@ -138,7 +138,7 @@ const MobileStepperProgress = styled(LinearProgress, {
138
138
  }]
139
139
  });
140
140
  const MobileStepper = /*#__PURE__*/React.forwardRef(function MobileStepper(inProps, ref) {
141
- const props = useThemeProps({
141
+ const props = useDefaultProps({
142
142
  props: inProps,
143
143
  name: 'MuiMobileStepper'
144
144
  });
package/Modal/Modal.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { SxProps } from '@mui/system';
3
3
  import { OverrideProps } from '@mui/types';
4
- import { SlotComponentProps } from '@mui/base';
4
+ import { SlotComponentProps } from '../utils/types';
5
5
  import { PortalProps } from '../Portal';
6
6
  import { Theme } from '../styles';
7
7
  import Backdrop, { BackdropProps } from '../Backdrop';
@@ -50,7 +50,7 @@ export interface ModalOwnProps {
50
50
  /**
51
51
  * A single child content element.
52
52
  */
53
- children: React.ReactElement<any>;
53
+ children: React.ReactElement<unknown>;
54
54
  /**
55
55
  * Override or extend the styles applied to the component.
56
56
  */
@@ -67,8 +67,7 @@ export interface ModalOwnProps {
67
67
  /**
68
68
  * The components used for each slot inside.
69
69
  *
70
- * This prop is an alias for the `slots` prop.
71
- * It's recommended to use the `slots` prop instead.
70
+ * @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.
72
71
  *
73
72
  * @default {}
74
73
  */
@@ -80,8 +79,7 @@ export interface ModalOwnProps {
80
79
  * The extra props for the slot components.
81
80
  * You can override the existing props or add new ones.
82
81
  *
83
- * This prop is an alias for the `slotProps` prop.
84
- * It's recommended to use the `slotProps` prop instead, as `componentsProps` will be deprecated in the future.
82
+ * @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.
85
83
  *
86
84
  * @default {}
87
85
  */
@@ -213,23 +211,23 @@ export declare const ModalRoot: React.FC<ModalRootProps>;
213
211
  /**
214
212
  * Modal is a lower-level construct that is leveraged by the following components:
215
213
  *
216
- * * [Dialog](https://mui.com/material-ui/api/dialog/)
217
- * * [Drawer](https://mui.com/material-ui/api/drawer/)
218
- * * [Menu](https://mui.com/material-ui/api/menu/)
219
- * * [Popover](https://mui.com/material-ui/api/popover/)
214
+ * * [Dialog](https://next.mui.com/material-ui/api/dialog/)
215
+ * * [Drawer](https://next.mui.com/material-ui/api/drawer/)
216
+ * * [Menu](https://next.mui.com/material-ui/api/menu/)
217
+ * * [Popover](https://next.mui.com/material-ui/api/popover/)
220
218
  *
221
- * If you are creating a modal dialog, you probably want to use the [Dialog](https://mui.com/material-ui/api/dialog/) component
219
+ * If you are creating a modal dialog, you probably want to use the [Dialog](https://next.mui.com/material-ui/api/dialog/) component
222
220
  * rather than directly using Modal.
223
221
  *
224
222
  * This component shares many concepts with [react-overlays](https://react-bootstrap.github.io/react-overlays/#modals).
225
223
  *
226
224
  * Demos:
227
225
  *
228
- * - [Modal](https://mui.com/material-ui/react-modal/)
226
+ * - [Modal](https://next.mui.com/material-ui/react-modal/)
229
227
  *
230
228
  * API:
231
229
  *
232
- * - [Modal API](https://mui.com/material-ui/api/modal/)
230
+ * - [Modal API](https://next.mui.com/material-ui/api/modal/)
233
231
  */
234
232
  declare const Modal: OverridableComponent<ModalTypeMap>;
235
233
 
package/Modal/Modal.js CHANGED
@@ -5,16 +5,17 @@ import PropTypes from 'prop-types';
5
5
  import clsx from 'clsx';
6
6
  import HTMLElementType from '@mui/utils/HTMLElementType';
7
7
  import elementAcceptingRef from '@mui/utils/elementAcceptingRef';
8
- import { useSlotProps } from '@mui/base/utils';
9
- import { unstable_useModal as useModal } from '@mui/base/unstable_useModal';
10
8
  import composeClasses from '@mui/utils/composeClasses';
11
9
  import FocusTrap from '../Unstable_TrapFocus';
12
10
  import Portal from '../Portal';
13
- import { styled, createUseThemeProps } from '../zero-styled';
11
+ import { styled } from '../zero-styled';
12
+ import { useDefaultProps } from '../DefaultPropsProvider';
14
13
  import Backdrop from '../Backdrop';
14
+ import useModal from './useModal';
15
15
  import { getModalUtilityClass } from './modalClasses';
16
+ import useSlot from '../utils/useSlot';
17
+ import { useForkRef } from '../utils';
16
18
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
17
- const useThemeProps = createUseThemeProps('MuiModal');
18
19
  const useUtilityClasses = ownerState => {
19
20
  const {
20
21
  open,
@@ -78,7 +79,7 @@ const ModalBackdrop = styled(Backdrop, {
78
79
  * This component shares many concepts with [react-overlays](https://react-bootstrap.github.io/react-overlays/#modals).
79
80
  */
80
81
  const Modal = /*#__PURE__*/React.forwardRef(function Modal(inProps, ref) {
81
- const props = useThemeProps({
82
+ const props = useDefaultProps({
82
83
  name: 'MuiModal',
83
84
  props: inProps
84
85
  });
@@ -106,8 +107,8 @@ const Modal = /*#__PURE__*/React.forwardRef(function Modal(inProps, ref) {
106
107
  onTransitionEnter,
107
108
  onTransitionExited,
108
109
  open,
109
- slotProps,
110
- slots,
110
+ slotProps = {},
111
+ slots = {},
111
112
  // eslint-disable-next-line react/prop-types
112
113
  theme,
113
114
  ...other
@@ -155,25 +156,31 @@ const Modal = /*#__PURE__*/React.forwardRef(function Modal(inProps, ref) {
155
156
  childProps.onEnter = onEnter;
156
157
  childProps.onExited = onExited;
157
158
  }
158
- const RootSlot = slots?.root ?? components.Root ?? ModalRoot;
159
- const BackdropSlot = slots?.backdrop ?? components.Backdrop ?? BackdropComponent;
160
- const rootSlotProps = slotProps?.root ?? componentsProps.root;
161
- const backdropSlotProps = slotProps?.backdrop ?? componentsProps.backdrop;
162
- const rootProps = useSlotProps({
163
- elementType: RootSlot,
164
- externalSlotProps: rootSlotProps,
165
- externalForwardedProps: other,
159
+ const externalForwardedProps = {
160
+ slots: {
161
+ root: components.Root,
162
+ backdrop: components.Backdrop,
163
+ ...slots
164
+ },
165
+ slotProps: {
166
+ ...componentsProps,
167
+ ...slotProps
168
+ }
169
+ };
170
+ const [RootSlot, rootProps] = useSlot('root', {
171
+ elementType: ModalRoot,
172
+ externalForwardedProps,
166
173
  getSlotProps: getRootProps,
167
174
  additionalProps: {
168
175
  ref,
169
176
  as: component
170
177
  },
171
178
  ownerState,
172
- className: clsx(className, rootSlotProps?.className, classes?.root, !ownerState.open && ownerState.exited && classes?.hidden)
179
+ className: clsx(className, classes?.root, !ownerState.open && ownerState.exited && classes?.hidden)
173
180
  });
174
- const backdropProps = useSlotProps({
175
- elementType: BackdropSlot,
176
- externalSlotProps: backdropSlotProps,
181
+ const [BackdropSlot, backdropProps] = useSlot('backdrop', {
182
+ elementType: BackdropComponent,
183
+ externalForwardedProps,
177
184
  additionalProps: BackdropProps,
178
185
  getSlotProps: otherHandlers => {
179
186
  return getBackdropProps({
@@ -188,9 +195,10 @@ const Modal = /*#__PURE__*/React.forwardRef(function Modal(inProps, ref) {
188
195
  }
189
196
  });
190
197
  },
191
- className: clsx(backdropSlotProps?.className, BackdropProps?.className, classes?.backdrop),
198
+ className: clsx(BackdropProps?.className, classes?.backdrop),
192
199
  ownerState
193
200
  });
201
+ const backdropRef = useForkRef(BackdropProps?.ref, backdropProps.ref);
194
202
  if (!keepMounted && !open && (!hasTransition || exited)) {
195
203
  return null;
196
204
  }
@@ -200,8 +208,10 @@ const Modal = /*#__PURE__*/React.forwardRef(function Modal(inProps, ref) {
200
208
  disablePortal: disablePortal,
201
209
  children: /*#__PURE__*/_jsxs(RootSlot, {
202
210
  ...rootProps,
211
+ ...other,
203
212
  children: [!hideBackdrop && BackdropComponent ? /*#__PURE__*/_jsx(BackdropSlot, {
204
- ...backdropProps
213
+ ...backdropProps,
214
+ ref: backdropRef
205
215
  }) : null, /*#__PURE__*/_jsx(FocusTrap, {
206
216
  disableEnforceFocus: disableEnforceFocus,
207
217
  disableAutoFocus: disableAutoFocus,
@@ -263,8 +273,7 @@ process.env.NODE_ENV !== "production" ? Modal.propTypes /* remove-proptypes */ =
263
273
  /**
264
274
  * The components used for each slot inside.
265
275
  *
266
- * This prop is an alias for the `slots` prop.
267
- * It's recommended to use the `slots` prop instead.
276
+ * @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.
268
277
  *
269
278
  * @default {}
270
279
  */
@@ -276,8 +285,7 @@ process.env.NODE_ENV !== "production" ? Modal.propTypes /* remove-proptypes */ =
276
285
  * The extra props for the slot components.
277
286
  * You can override the existing props or add new ones.
278
287
  *
279
- * This prop is an alias for the `slotProps` prop.
280
- * It's recommended to use the `slotProps` prop instead, as `componentsProps` will be deprecated in the future.
288
+ * @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.
281
289
  *
282
290
  * @default {}
283
291
  */
@@ -0,0 +1,25 @@
1
+ export interface ManagedModalProps {
2
+ disableScrollLock?: boolean;
3
+ }
4
+ export declare function ariaHidden(element: Element, show: boolean): void;
5
+ interface Modal {
6
+ mount: Element;
7
+ modalRef: Element;
8
+ }
9
+ /**
10
+ * @ignore - do not document.
11
+ *
12
+ * Proper state management for containers and the modals in those containers.
13
+ * Simplified, but inspired by react-overlay's ModalManager class.
14
+ * Used by the Modal to ensure proper styling of containers.
15
+ */
16
+ export declare class ModalManager {
17
+ private containers;
18
+ private modals;
19
+ constructor();
20
+ add(modal: Modal, container: HTMLElement): number;
21
+ mount(modal: Modal, props: ManagedModalProps): void;
22
+ remove(modal: Modal, ariaHiddenState?: boolean): number;
23
+ isTopModal(modal: Modal): boolean;
24
+ }
25
+ export {};
@@ -0,0 +1,211 @@
1
+ import { unstable_ownerWindow as ownerWindow, unstable_ownerDocument as ownerDocument, unstable_getScrollbarSize as getScrollbarSize } from '@mui/utils';
2
+ // Is a vertical scrollbar displayed?
3
+ function isOverflowing(container) {
4
+ const doc = ownerDocument(container);
5
+ if (doc.body === container) {
6
+ return ownerWindow(container).innerWidth > doc.documentElement.clientWidth;
7
+ }
8
+ return container.scrollHeight > container.clientHeight;
9
+ }
10
+ export function ariaHidden(element, show) {
11
+ if (show) {
12
+ element.setAttribute('aria-hidden', 'true');
13
+ } else {
14
+ element.removeAttribute('aria-hidden');
15
+ }
16
+ }
17
+ function getPaddingRight(element) {
18
+ return parseInt(ownerWindow(element).getComputedStyle(element).paddingRight, 10) || 0;
19
+ }
20
+ function isAriaHiddenForbiddenOnElement(element) {
21
+ // The forbidden HTML tags are the ones from ARIA specification that
22
+ // can be children of body and can't have aria-hidden attribute.
23
+ // cf. https://www.w3.org/TR/html-aria/#docconformance
24
+ const forbiddenTagNames = ['TEMPLATE', 'SCRIPT', 'STYLE', 'LINK', 'MAP', 'META', 'NOSCRIPT', 'PICTURE', 'COL', 'COLGROUP', 'PARAM', 'SLOT', 'SOURCE', 'TRACK'];
25
+ const isForbiddenTagName = forbiddenTagNames.indexOf(element.tagName) !== -1;
26
+ const isInputHidden = element.tagName === 'INPUT' && element.getAttribute('type') === 'hidden';
27
+ return isForbiddenTagName || isInputHidden;
28
+ }
29
+ function ariaHiddenSiblings(container, mountElement, currentElement, elementsToExclude, show) {
30
+ const blacklist = [mountElement, currentElement, ...elementsToExclude];
31
+ [].forEach.call(container.children, element => {
32
+ const isNotExcludedElement = blacklist.indexOf(element) === -1;
33
+ const isNotForbiddenElement = !isAriaHiddenForbiddenOnElement(element);
34
+ if (isNotExcludedElement && isNotForbiddenElement) {
35
+ ariaHidden(element, show);
36
+ }
37
+ });
38
+ }
39
+ function findIndexOf(items, callback) {
40
+ let idx = -1;
41
+ items.some((item, index) => {
42
+ if (callback(item)) {
43
+ idx = index;
44
+ return true;
45
+ }
46
+ return false;
47
+ });
48
+ return idx;
49
+ }
50
+ function handleContainer(containerInfo, props) {
51
+ const restoreStyle = [];
52
+ const container = containerInfo.container;
53
+ if (!props.disableScrollLock) {
54
+ if (isOverflowing(container)) {
55
+ // Compute the size before applying overflow hidden to avoid any scroll jumps.
56
+ const scrollbarSize = getScrollbarSize(ownerDocument(container));
57
+ restoreStyle.push({
58
+ value: container.style.paddingRight,
59
+ property: 'padding-right',
60
+ el: container
61
+ });
62
+ // Use computed style, here to get the real padding to add our scrollbar width.
63
+ container.style.paddingRight = `${getPaddingRight(container) + scrollbarSize}px`;
64
+
65
+ // .mui-fixed is a global helper.
66
+ const fixedElements = ownerDocument(container).querySelectorAll('.mui-fixed');
67
+ [].forEach.call(fixedElements, element => {
68
+ restoreStyle.push({
69
+ value: element.style.paddingRight,
70
+ property: 'padding-right',
71
+ el: element
72
+ });
73
+ element.style.paddingRight = `${getPaddingRight(element) + scrollbarSize}px`;
74
+ });
75
+ }
76
+ let scrollContainer;
77
+ if (container.parentNode instanceof DocumentFragment) {
78
+ scrollContainer = ownerDocument(container).body;
79
+ } else {
80
+ // Support html overflow-y: auto for scroll stability between pages
81
+ // https://css-tricks.com/snippets/css/force-vertical-scrollbar/
82
+ const parent = container.parentElement;
83
+ const containerWindow = ownerWindow(container);
84
+ scrollContainer = parent?.nodeName === 'HTML' && containerWindow.getComputedStyle(parent).overflowY === 'scroll' ? parent : container;
85
+ }
86
+
87
+ // Block the scroll even if no scrollbar is visible to account for mobile keyboard
88
+ // screensize shrink.
89
+ restoreStyle.push({
90
+ value: scrollContainer.style.overflow,
91
+ property: 'overflow',
92
+ el: scrollContainer
93
+ }, {
94
+ value: scrollContainer.style.overflowX,
95
+ property: 'overflow-x',
96
+ el: scrollContainer
97
+ }, {
98
+ value: scrollContainer.style.overflowY,
99
+ property: 'overflow-y',
100
+ el: scrollContainer
101
+ });
102
+ scrollContainer.style.overflow = 'hidden';
103
+ }
104
+ const restore = () => {
105
+ restoreStyle.forEach(({
106
+ value,
107
+ el,
108
+ property
109
+ }) => {
110
+ if (value) {
111
+ el.style.setProperty(property, value);
112
+ } else {
113
+ el.style.removeProperty(property);
114
+ }
115
+ });
116
+ };
117
+ return restore;
118
+ }
119
+ function getHiddenSiblings(container) {
120
+ const hiddenSiblings = [];
121
+ [].forEach.call(container.children, element => {
122
+ if (element.getAttribute('aria-hidden') === 'true') {
123
+ hiddenSiblings.push(element);
124
+ }
125
+ });
126
+ return hiddenSiblings;
127
+ }
128
+ /**
129
+ * @ignore - do not document.
130
+ *
131
+ * Proper state management for containers and the modals in those containers.
132
+ * Simplified, but inspired by react-overlay's ModalManager class.
133
+ * Used by the Modal to ensure proper styling of containers.
134
+ */
135
+ export class ModalManager {
136
+ constructor() {
137
+ this.modals = [];
138
+ this.containers = [];
139
+ }
140
+ add(modal, container) {
141
+ let modalIndex = this.modals.indexOf(modal);
142
+ if (modalIndex !== -1) {
143
+ return modalIndex;
144
+ }
145
+ modalIndex = this.modals.length;
146
+ this.modals.push(modal);
147
+
148
+ // If the modal we are adding is already in the DOM.
149
+ if (modal.modalRef) {
150
+ ariaHidden(modal.modalRef, false);
151
+ }
152
+ const hiddenSiblings = getHiddenSiblings(container);
153
+ ariaHiddenSiblings(container, modal.mount, modal.modalRef, hiddenSiblings, true);
154
+ const containerIndex = findIndexOf(this.containers, item => item.container === container);
155
+ if (containerIndex !== -1) {
156
+ this.containers[containerIndex].modals.push(modal);
157
+ return modalIndex;
158
+ }
159
+ this.containers.push({
160
+ modals: [modal],
161
+ container,
162
+ restore: null,
163
+ hiddenSiblings
164
+ });
165
+ return modalIndex;
166
+ }
167
+ mount(modal, props) {
168
+ const containerIndex = findIndexOf(this.containers, item => item.modals.indexOf(modal) !== -1);
169
+ const containerInfo = this.containers[containerIndex];
170
+ if (!containerInfo.restore) {
171
+ containerInfo.restore = handleContainer(containerInfo, props);
172
+ }
173
+ }
174
+ remove(modal, ariaHiddenState = true) {
175
+ const modalIndex = this.modals.indexOf(modal);
176
+ if (modalIndex === -1) {
177
+ return modalIndex;
178
+ }
179
+ const containerIndex = findIndexOf(this.containers, item => item.modals.indexOf(modal) !== -1);
180
+ const containerInfo = this.containers[containerIndex];
181
+ containerInfo.modals.splice(containerInfo.modals.indexOf(modal), 1);
182
+ this.modals.splice(modalIndex, 1);
183
+
184
+ // If that was the last modal in a container, clean up the container.
185
+ if (containerInfo.modals.length === 0) {
186
+ // The modal might be closed before it had the chance to be mounted in the DOM.
187
+ if (containerInfo.restore) {
188
+ containerInfo.restore();
189
+ }
190
+ if (modal.modalRef) {
191
+ // In case the modal wasn't in the DOM yet.
192
+ ariaHidden(modal.modalRef, ariaHiddenState);
193
+ }
194
+ ariaHiddenSiblings(containerInfo.container, modal.mount, modal.modalRef, containerInfo.hiddenSiblings, false);
195
+ this.containers.splice(containerIndex, 1);
196
+ } else {
197
+ // Otherwise make sure the next top modal is visible to a screen reader.
198
+ const nextTop = containerInfo.modals[containerInfo.modals.length - 1];
199
+ // as soon as a modal is adding its modalRef is undefined. it can't set
200
+ // aria-hidden because the dom element doesn't exist either
201
+ // when modal was unmounted before modalRef gets null
202
+ if (nextTop.modalRef) {
203
+ ariaHidden(nextTop.modalRef, false);
204
+ }
205
+ }
206
+ return modalIndex;
207
+ }
208
+ isTopModal(modal) {
209
+ return this.modals.length > 0 && this.modals[this.modals.length - 1] === modal;
210
+ }
211
+ }
package/Modal/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { ModalManager } from '@mui/base/unstable_useModal'; // exporting ModalManager
1
+ export { ModalManager } from './ModalManager';
2
2
 
3
3
  export { default } from './Modal';
4
4
  export * from './Modal';
package/Modal/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  'use client';
2
2
 
3
- export { ModalManager } from '@mui/base/unstable_useModal';
3
+ export { ModalManager } from './ModalManager';
4
4
  export { default } from './Modal';
5
5
  export { default as modalClasses } from './modalClasses';
6
6
  export * from './modalClasses';
@@ -0,0 +1,13 @@
1
+ import { UseModalParameters, UseModalReturnValue } from './useModal.types';
2
+ /**
3
+ *
4
+ * Demos:
5
+ *
6
+ * - [Modal](https://next.mui.com/base-ui/react-modal/#hook)
7
+ *
8
+ * API:
9
+ *
10
+ * - [useModal API](https://next.mui.com/base-ui/react-modal/hooks-api/#use-modal)
11
+ */
12
+ declare function useModal(parameters: UseModalParameters): UseModalReturnValue;
13
+ export default useModal;