@mui/material 9.0.0-beta.1 → 9.0.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 (419) hide show
  1. package/Accordion/Accordion.d.mts +3 -3
  2. package/Accordion/Accordion.d.ts +3 -3
  3. package/AccordionActions/AccordionActions.d.mts +2 -2
  4. package/AccordionActions/AccordionActions.d.ts +2 -2
  5. package/AccordionDetails/AccordionDetails.d.mts +2 -2
  6. package/AccordionDetails/AccordionDetails.d.ts +2 -2
  7. package/AccordionSummary/AccordionSummary.d.mts +3 -3
  8. package/AccordionSummary/AccordionSummary.d.ts +3 -3
  9. package/Alert/Alert.d.mts +3 -3
  10. package/Alert/Alert.d.ts +3 -3
  11. package/AlertTitle/AlertTitle.d.mts +3 -3
  12. package/AlertTitle/AlertTitle.d.ts +3 -3
  13. package/AppBar/AppBar.d.mts +3 -3
  14. package/AppBar/AppBar.d.ts +3 -3
  15. package/Autocomplete/Autocomplete.d.mts +2 -2
  16. package/Autocomplete/Autocomplete.d.ts +2 -2
  17. package/Autocomplete/Autocomplete.js +65 -11
  18. package/Autocomplete/Autocomplete.mjs +65 -11
  19. package/Avatar/Avatar.d.mts +2 -2
  20. package/Avatar/Avatar.d.ts +2 -2
  21. package/Avatar/Avatar.js +4 -0
  22. package/Avatar/Avatar.mjs +4 -0
  23. package/AvatarGroup/AvatarGroup.d.mts +2 -2
  24. package/AvatarGroup/AvatarGroup.d.ts +2 -2
  25. package/Backdrop/Backdrop.d.mts +3 -3
  26. package/Backdrop/Backdrop.d.ts +3 -3
  27. package/Badge/Badge.d.mts +3 -3
  28. package/Badge/Badge.d.ts +3 -3
  29. package/Badge/Badge.js +3 -0
  30. package/Badge/Badge.mjs +3 -0
  31. package/BottomNavigation/BottomNavigation.d.mts +2 -2
  32. package/BottomNavigation/BottomNavigation.d.ts +2 -2
  33. package/BottomNavigationAction/BottomNavigationAction.d.mts +3 -3
  34. package/BottomNavigationAction/BottomNavigationAction.d.ts +3 -3
  35. package/Box/Box.d.mts +3 -3
  36. package/Box/Box.d.ts +3 -3
  37. package/Breadcrumbs/Breadcrumbs.d.mts +3 -3
  38. package/Breadcrumbs/Breadcrumbs.d.ts +3 -3
  39. package/Button/Button.d.mts +6 -6
  40. package/Button/Button.d.ts +6 -6
  41. package/Button/Button.js +19 -2
  42. package/Button/Button.mjs +19 -2
  43. package/ButtonBase/ButtonBase.d.mts +9 -2
  44. package/ButtonBase/ButtonBase.d.ts +9 -2
  45. package/ButtonBase/ButtonBase.js +5 -2
  46. package/ButtonBase/ButtonBase.mjs +5 -2
  47. package/ButtonGroup/ButtonGroup.d.mts +2 -2
  48. package/ButtonGroup/ButtonGroup.d.ts +2 -2
  49. package/CHANGELOG.md +160 -1245
  50. package/Card/Card.d.mts +3 -3
  51. package/Card/Card.d.ts +3 -3
  52. package/CardActionArea/CardActionArea.d.mts +3 -3
  53. package/CardActionArea/CardActionArea.d.ts +3 -3
  54. package/CardActions/CardActions.d.mts +2 -2
  55. package/CardActions/CardActions.d.ts +2 -2
  56. package/CardContent/CardContent.d.mts +2 -2
  57. package/CardContent/CardContent.d.ts +2 -2
  58. package/CardHeader/CardHeader.d.mts +2 -2
  59. package/CardHeader/CardHeader.d.ts +2 -2
  60. package/CardMedia/CardMedia.d.mts +2 -2
  61. package/CardMedia/CardMedia.d.ts +2 -2
  62. package/Checkbox/Checkbox.d.mts +4 -4
  63. package/Checkbox/Checkbox.d.ts +4 -4
  64. package/Checkbox/Checkbox.js +2 -1
  65. package/Checkbox/Checkbox.mjs +2 -1
  66. package/Chip/Chip.d.mts +2 -2
  67. package/Chip/Chip.d.ts +2 -2
  68. package/CircularProgress/CircularProgress.d.mts +14 -4
  69. package/CircularProgress/CircularProgress.d.ts +14 -4
  70. package/CircularProgress/CircularProgress.js +33 -6
  71. package/CircularProgress/CircularProgress.mjs +33 -6
  72. package/ClickAwayListener/ClickAwayListener.d.mts +3 -3
  73. package/ClickAwayListener/ClickAwayListener.d.ts +3 -3
  74. package/ClickAwayListener/ClickAwayListener.js +6 -9
  75. package/ClickAwayListener/ClickAwayListener.mjs +6 -9
  76. package/Collapse/Collapse.d.mts +5 -5
  77. package/Collapse/Collapse.d.ts +5 -5
  78. package/Collapse/Collapse.js +6 -18
  79. package/Collapse/Collapse.mjs +7 -19
  80. package/Container/Container.d.mts +2 -2
  81. package/Container/Container.d.ts +2 -2
  82. package/CssBaseline/CssBaseline.d.mts +2 -2
  83. package/CssBaseline/CssBaseline.d.ts +2 -2
  84. package/Dialog/Dialog.d.mts +3 -3
  85. package/Dialog/Dialog.d.ts +3 -3
  86. package/Dialog/Dialog.js +11 -6
  87. package/Dialog/Dialog.mjs +11 -6
  88. package/DialogActions/DialogActions.d.mts +2 -2
  89. package/DialogActions/DialogActions.d.ts +2 -2
  90. package/DialogContent/DialogContent.d.mts +2 -2
  91. package/DialogContent/DialogContent.d.ts +2 -2
  92. package/DialogContentText/DialogContentText.d.mts +3 -3
  93. package/DialogContentText/DialogContentText.d.ts +3 -3
  94. package/DialogTitle/DialogTitle.d.mts +3 -3
  95. package/DialogTitle/DialogTitle.d.ts +3 -3
  96. package/Divider/Divider.d.mts +4 -4
  97. package/Divider/Divider.d.ts +4 -4
  98. package/Drawer/Drawer.d.mts +3 -3
  99. package/Drawer/Drawer.d.ts +3 -3
  100. package/Drawer/Drawer.js +19 -8
  101. package/Drawer/Drawer.mjs +19 -8
  102. package/Fab/Fab.d.mts +3 -3
  103. package/Fab/Fab.d.ts +3 -3
  104. package/Fab/Fab.js +7 -1
  105. package/Fab/Fab.mjs +7 -1
  106. package/Fade/Fade.d.mts +3 -3
  107. package/Fade/Fade.d.ts +3 -3
  108. package/Fade/Fade.js +28 -32
  109. package/Fade/Fade.mjs +29 -33
  110. package/FilledInput/FilledInput.d.mts +7 -3
  111. package/FilledInput/FilledInput.d.ts +7 -3
  112. package/FilledInput/FilledInput.js +18 -20
  113. package/FilledInput/FilledInput.mjs +18 -20
  114. package/FormControl/FormControl.d.mts +7 -7
  115. package/FormControl/FormControl.d.ts +7 -7
  116. package/FormControl/useFormControl.d.mts +12 -2
  117. package/FormControl/useFormControl.d.ts +12 -2
  118. package/FormControl/useFormControl.js +13 -0
  119. package/FormControl/useFormControl.mjs +12 -0
  120. package/FormControlLabel/FormControlLabel.d.mts +4 -4
  121. package/FormControlLabel/FormControlLabel.d.ts +4 -4
  122. package/FormControlLabel/FormControlLabel.js +5 -8
  123. package/FormControlLabel/FormControlLabel.mjs +5 -8
  124. package/FormGroup/FormGroup.d.mts +3 -3
  125. package/FormGroup/FormGroup.d.ts +3 -3
  126. package/FormGroup/FormGroup.js +2 -5
  127. package/FormGroup/FormGroup.mjs +2 -5
  128. package/FormHelperText/FormHelperText.d.mts +3 -3
  129. package/FormHelperText/FormHelperText.d.ts +3 -3
  130. package/FormHelperText/FormHelperText.js +2 -5
  131. package/FormHelperText/FormHelperText.mjs +2 -5
  132. package/FormLabel/FormLabel.d.mts +5 -5
  133. package/FormLabel/FormLabel.d.ts +5 -5
  134. package/FormLabel/FormLabel.js +2 -5
  135. package/FormLabel/FormLabel.mjs +2 -5
  136. package/GlobalStyles/GlobalStyles.d.mts +2 -2
  137. package/GlobalStyles/GlobalStyles.d.ts +2 -2
  138. package/Grid/Grid.d.mts +2 -2
  139. package/Grid/Grid.d.ts +2 -2
  140. package/Grid/Grid.js +2 -2
  141. package/Grid/Grid.mjs +2 -2
  142. package/Grow/Grow.d.mts +5 -5
  143. package/Grow/Grow.d.ts +5 -5
  144. package/Grow/Grow.js +30 -38
  145. package/Grow/Grow.mjs +31 -39
  146. package/Icon/Icon.d.mts +3 -3
  147. package/Icon/Icon.d.ts +3 -3
  148. package/IconButton/IconButton.d.mts +5 -5
  149. package/IconButton/IconButton.d.ts +5 -5
  150. package/IconButton/IconButton.js +1 -8
  151. package/IconButton/IconButton.mjs +1 -8
  152. package/ImageList/ImageList.d.mts +2 -2
  153. package/ImageList/ImageList.d.ts +2 -2
  154. package/ImageListItem/ImageListItem.d.mts +2 -2
  155. package/ImageListItem/ImageListItem.d.ts +2 -2
  156. package/ImageListItemBar/ImageListItemBar.d.mts +2 -2
  157. package/ImageListItemBar/ImageListItemBar.d.ts +2 -2
  158. package/InitColorSchemeScript/InitColorSchemeScript.d.mts +2 -2
  159. package/InitColorSchemeScript/InitColorSchemeScript.d.ts +2 -2
  160. package/InitColorSchemeScript/InitColorSchemeScript.js +2 -2
  161. package/InitColorSchemeScript/InitColorSchemeScript.mjs +2 -2
  162. package/Input/Input.d.mts +7 -3
  163. package/Input/Input.d.ts +7 -3
  164. package/Input/Input.js +6 -0
  165. package/Input/Input.mjs +6 -0
  166. package/InputAdornment/InputAdornment.d.mts +2 -2
  167. package/InputAdornment/InputAdornment.d.ts +2 -2
  168. package/InputBase/InputBase.d.mts +4 -3
  169. package/InputBase/InputBase.d.ts +4 -3
  170. package/InputBase/InputBase.js +50 -15
  171. package/InputBase/InputBase.mjs +50 -15
  172. package/InputLabel/InputLabel.d.mts +4 -4
  173. package/InputLabel/InputLabel.d.ts +4 -4
  174. package/InputLabel/InputLabel.js +5 -8
  175. package/InputLabel/InputLabel.mjs +5 -8
  176. package/LinearProgress/LinearProgress.d.mts +14 -4
  177. package/LinearProgress/LinearProgress.d.ts +14 -4
  178. package/LinearProgress/LinearProgress.js +42 -10
  179. package/LinearProgress/LinearProgress.mjs +42 -10
  180. package/Link/Link.d.mts +4 -4
  181. package/Link/Link.d.ts +4 -4
  182. package/List/List.d.mts +4 -4
  183. package/List/List.d.ts +4 -4
  184. package/List/List.js +2 -1
  185. package/List/List.mjs +2 -1
  186. package/ListItem/ListItem.d.mts +3 -3
  187. package/ListItem/ListItem.d.ts +3 -3
  188. package/ListItem/ListItem.js +1 -2
  189. package/ListItem/ListItem.mjs +1 -2
  190. package/ListItemAvatar/ListItemAvatar.d.mts +2 -2
  191. package/ListItemAvatar/ListItemAvatar.d.ts +2 -2
  192. package/ListItemButton/ListItemButton.d.mts +4 -4
  193. package/ListItemButton/ListItemButton.d.ts +4 -4
  194. package/ListItemButton/ListItemButton.js +7 -1
  195. package/ListItemButton/ListItemButton.mjs +7 -1
  196. package/ListItemIcon/ListItemIcon.d.mts +3 -3
  197. package/ListItemIcon/ListItemIcon.d.ts +3 -3
  198. package/ListItemSecondaryAction/ListItemSecondaryAction.d.mts +2 -2
  199. package/ListItemSecondaryAction/ListItemSecondaryAction.d.ts +2 -2
  200. package/ListItemText/ListItemText.d.mts +3 -3
  201. package/ListItemText/ListItemText.d.ts +3 -3
  202. package/ListSubheader/ListSubheader.d.mts +3 -3
  203. package/ListSubheader/ListSubheader.d.ts +3 -3
  204. package/Menu/Menu.d.mts +4 -4
  205. package/Menu/Menu.d.ts +4 -4
  206. package/MenuItem/MenuItem.d.mts +3 -3
  207. package/MenuItem/MenuItem.d.ts +3 -3
  208. package/MenuItem/MenuItem.js +7 -1
  209. package/MenuItem/MenuItem.mjs +7 -1
  210. package/MenuList/MenuList.d.mts +4 -4
  211. package/MenuList/MenuList.d.ts +4 -4
  212. package/MenuList/MenuList.js +2 -1
  213. package/MenuList/MenuList.mjs +2 -1
  214. package/MobileStepper/MobileStepper.d.mts +3 -3
  215. package/MobileStepper/MobileStepper.d.ts +3 -3
  216. package/Modal/Modal.d.mts +7 -7
  217. package/Modal/Modal.d.ts +7 -7
  218. package/NativeSelect/NativeSelect.d.mts +3 -3
  219. package/NativeSelect/NativeSelect.d.ts +3 -3
  220. package/NativeSelect/NativeSelect.js +2 -5
  221. package/NativeSelect/NativeSelect.mjs +2 -5
  222. package/NoSsr/NoSsr.d.mts +2 -2
  223. package/NoSsr/NoSsr.d.ts +2 -2
  224. package/NoSsr/NoSsr.js +2 -2
  225. package/NoSsr/NoSsr.mjs +2 -2
  226. package/OutlinedInput/OutlinedInput.d.mts +4 -4
  227. package/OutlinedInput/OutlinedInput.d.ts +4 -4
  228. package/OutlinedInput/OutlinedInput.js +13 -23
  229. package/OutlinedInput/OutlinedInput.mjs +13 -23
  230. package/Pagination/Pagination.d.mts +2 -2
  231. package/Pagination/Pagination.d.ts +2 -2
  232. package/PaginationItem/PaginationItem.d.mts +3 -3
  233. package/PaginationItem/PaginationItem.d.ts +3 -3
  234. package/Paper/Paper.d.mts +4 -4
  235. package/Paper/Paper.d.ts +4 -4
  236. package/PigmentContainer/PigmentContainer.d.mts +2 -2
  237. package/PigmentContainer/PigmentContainer.d.ts +2 -2
  238. package/PigmentContainer/PigmentContainer.js +2 -3
  239. package/PigmentContainer/PigmentContainer.mjs +2 -3
  240. package/PigmentGrid/PigmentGrid.d.mts +2 -2
  241. package/PigmentGrid/PigmentGrid.d.ts +2 -2
  242. package/PigmentGrid/PigmentGrid.js +2 -2
  243. package/PigmentGrid/PigmentGrid.mjs +2 -2
  244. package/PigmentStack/PigmentStack.d.mts +2 -2
  245. package/PigmentStack/PigmentStack.d.ts +2 -2
  246. package/PigmentStack/PigmentStack.js +2 -2
  247. package/PigmentStack/PigmentStack.mjs +2 -2
  248. package/Popover/Popover.d.mts +4 -4
  249. package/Popover/Popover.d.ts +4 -4
  250. package/Popper/BasePopper.js +23 -1
  251. package/Popper/BasePopper.mjs +23 -1
  252. package/Popper/Popper.d.mts +4 -4
  253. package/Popper/Popper.d.ts +4 -4
  254. package/Popper/Popper.js +4 -4
  255. package/Popper/Popper.mjs +4 -4
  256. package/Portal/Portal.d.mts +2 -2
  257. package/Portal/Portal.d.ts +2 -2
  258. package/Portal/Portal.js +2 -2
  259. package/Portal/Portal.mjs +2 -2
  260. package/README.md +3 -3
  261. package/Radio/Radio.d.mts +3 -3
  262. package/Radio/Radio.d.ts +3 -3
  263. package/RadioGroup/RadioGroup.d.mts +3 -3
  264. package/RadioGroup/RadioGroup.d.ts +3 -3
  265. package/Rating/Rating.d.mts +2 -2
  266. package/Rating/Rating.d.ts +2 -2
  267. package/ScopedCssBaseline/ScopedCssBaseline.d.mts +2 -2
  268. package/ScopedCssBaseline/ScopedCssBaseline.d.ts +2 -2
  269. package/Select/Select.d.mts +3 -3
  270. package/Select/Select.d.ts +3 -3
  271. package/Select/Select.js +2 -5
  272. package/Select/Select.mjs +2 -5
  273. package/Select/SelectInput.js +164 -2
  274. package/Select/SelectInput.mjs +164 -2
  275. package/Skeleton/Skeleton.d.mts +2 -2
  276. package/Skeleton/Skeleton.d.ts +2 -2
  277. package/Slide/Slide.d.mts +4 -4
  278. package/Slide/Slide.d.ts +4 -4
  279. package/Slide/Slide.js +73 -50
  280. package/Slide/Slide.mjs +74 -52
  281. package/Slider/Slider.d.mts +4 -4
  282. package/Slider/Slider.d.ts +4 -4
  283. package/Slider/Slider.js +11 -2
  284. package/Slider/Slider.mjs +11 -2
  285. package/Slider/useSlider.d.mts +1 -1
  286. package/Slider/useSlider.d.ts +1 -1
  287. package/Slider/useSlider.js +236 -209
  288. package/Slider/useSlider.mjs +236 -209
  289. package/Slider/useSlider.types.d.mts +2 -2
  290. package/Slider/useSlider.types.d.ts +2 -2
  291. package/Snackbar/Snackbar.d.mts +2 -2
  292. package/Snackbar/Snackbar.d.ts +2 -2
  293. package/SnackbarContent/SnackbarContent.d.mts +3 -3
  294. package/SnackbarContent/SnackbarContent.d.ts +3 -3
  295. package/SpeedDial/SpeedDial.d.mts +2 -2
  296. package/SpeedDial/SpeedDial.d.ts +2 -2
  297. package/SpeedDialAction/SpeedDialAction.d.mts +3 -3
  298. package/SpeedDialAction/SpeedDialAction.d.ts +3 -3
  299. package/SpeedDialIcon/SpeedDialIcon.d.mts +2 -2
  300. package/SpeedDialIcon/SpeedDialIcon.d.ts +2 -2
  301. package/Stack/Stack.d.mts +2 -2
  302. package/Stack/Stack.d.ts +2 -2
  303. package/Step/Step.d.mts +2 -2
  304. package/Step/Step.d.ts +2 -2
  305. package/StepButton/StepButton.d.mts +3 -3
  306. package/StepButton/StepButton.d.ts +3 -3
  307. package/StepConnector/StepConnector.d.mts +2 -2
  308. package/StepConnector/StepConnector.d.ts +2 -2
  309. package/StepConnector/StepConnector.js +1 -2
  310. package/StepConnector/StepConnector.mjs +1 -2
  311. package/StepContent/StepContent.d.mts +2 -2
  312. package/StepContent/StepContent.d.ts +2 -2
  313. package/StepIcon/StepIcon.d.mts +3 -3
  314. package/StepIcon/StepIcon.d.ts +3 -3
  315. package/StepLabel/StepLabel.d.mts +2 -2
  316. package/StepLabel/StepLabel.d.ts +2 -2
  317. package/Stepper/Stepper.d.mts +2 -2
  318. package/Stepper/Stepper.d.ts +2 -2
  319. package/SvgIcon/SvgIcon.d.mts +3 -3
  320. package/SvgIcon/SvgIcon.d.ts +3 -3
  321. package/SwipeableDrawer/SwipeableDrawer.d.mts +3 -3
  322. package/SwipeableDrawer/SwipeableDrawer.d.ts +3 -3
  323. package/SwipeableDrawer/SwipeableDrawer.js +7 -6
  324. package/SwipeableDrawer/SwipeableDrawer.mjs +7 -6
  325. package/Switch/Switch.d.mts +4 -4
  326. package/Switch/Switch.d.ts +4 -4
  327. package/Switch/Switch.js +9 -4
  328. package/Switch/Switch.mjs +9 -4
  329. package/Tab/Tab.d.mts +3 -3
  330. package/Tab/Tab.d.ts +3 -3
  331. package/TabScrollButton/TabScrollButton.d.mts +2 -2
  332. package/TabScrollButton/TabScrollButton.d.ts +2 -2
  333. package/Table/Table.d.mts +2 -2
  334. package/Table/Table.d.ts +2 -2
  335. package/TableBody/TableBody.d.mts +2 -2
  336. package/TableBody/TableBody.d.ts +2 -2
  337. package/TableCell/TableCell.d.mts +2 -2
  338. package/TableCell/TableCell.d.ts +2 -2
  339. package/TableContainer/TableContainer.d.mts +2 -2
  340. package/TableContainer/TableContainer.d.ts +2 -2
  341. package/TableFooter/TableFooter.d.mts +2 -2
  342. package/TableFooter/TableFooter.d.ts +2 -2
  343. package/TableHead/TableHead.d.mts +2 -2
  344. package/TableHead/TableHead.d.ts +2 -2
  345. package/TablePagination/TablePagination.d.mts +4 -4
  346. package/TablePagination/TablePagination.d.ts +4 -4
  347. package/TablePaginationActions/TablePaginationActions.d.mts +2 -2
  348. package/TablePaginationActions/TablePaginationActions.d.ts +2 -2
  349. package/TableRow/TableRow.d.mts +2 -2
  350. package/TableRow/TableRow.d.ts +2 -2
  351. package/TableSortLabel/TableSortLabel.d.mts +3 -3
  352. package/TableSortLabel/TableSortLabel.d.ts +3 -3
  353. package/TableSortLabel/TableSortLabel.js +1 -2
  354. package/TableSortLabel/TableSortLabel.mjs +1 -2
  355. package/Tabs/ScrollbarSize.js +2 -1
  356. package/Tabs/ScrollbarSize.mjs +2 -1
  357. package/Tabs/Tabs.d.mts +2 -2
  358. package/Tabs/Tabs.d.ts +2 -2
  359. package/Tabs/Tabs.js +2 -1
  360. package/Tabs/Tabs.mjs +2 -1
  361. package/TextField/TextField.d.mts +10 -10
  362. package/TextField/TextField.d.ts +10 -10
  363. package/TextareaAutosize/TextareaAutosize.d.mts +2 -2
  364. package/TextareaAutosize/TextareaAutosize.d.ts +2 -2
  365. package/TextareaAutosize/TextareaAutosize.js +2 -2
  366. package/TextareaAutosize/TextareaAutosize.mjs +2 -2
  367. package/ToggleButton/ToggleButton.d.mts +3 -3
  368. package/ToggleButton/ToggleButton.d.ts +3 -3
  369. package/ToggleButtonGroup/ToggleButtonGroup.d.mts +2 -2
  370. package/ToggleButtonGroup/ToggleButtonGroup.d.ts +2 -2
  371. package/Toolbar/Toolbar.d.mts +2 -2
  372. package/Toolbar/Toolbar.d.ts +2 -2
  373. package/Tooltip/Tooltip.d.mts +2 -2
  374. package/Tooltip/Tooltip.d.ts +2 -2
  375. package/Tooltip/Tooltip.js +26 -108
  376. package/Tooltip/Tooltip.mjs +26 -108
  377. package/Typography/Typography.d.mts +4 -4
  378. package/Typography/Typography.d.ts +4 -4
  379. package/Unstable_TrapFocus/FocusTrap.js +18 -14
  380. package/Unstable_TrapFocus/FocusTrap.mjs +18 -14
  381. package/Zoom/Zoom.d.mts +3 -3
  382. package/Zoom/Zoom.d.ts +3 -3
  383. package/Zoom/Zoom.js +24 -30
  384. package/Zoom/Zoom.mjs +25 -31
  385. package/index.js +1 -1
  386. package/index.mjs +1 -1
  387. package/package.json +7 -7
  388. package/styles/createThemeNoVars.js +1 -1
  389. package/styles/createThemeNoVars.mjs +1 -1
  390. package/styles/responsiveFontSizes.js +19 -8
  391. package/styles/responsiveFontSizes.mjs +19 -8
  392. package/styles/useThemeProps.d.mts +3 -3
  393. package/styles/useThemeProps.d.ts +3 -3
  394. package/transitions/utils.d.mts +24 -0
  395. package/transitions/utils.d.ts +24 -0
  396. package/transitions/utils.js +91 -0
  397. package/transitions/utils.mjs +88 -0
  398. package/useAutocomplete/useAutocomplete.d.mts +4 -5
  399. package/useAutocomplete/useAutocomplete.d.ts +4 -5
  400. package/useAutocomplete/useAutocomplete.js +166 -53
  401. package/useAutocomplete/useAutocomplete.mjs +166 -53
  402. package/utils/contains.d.mts +2 -0
  403. package/utils/contains.d.ts +2 -0
  404. package/utils/contains.js +9 -0
  405. package/utils/contains.mjs +2 -0
  406. package/utils/focusable.d.mts +7 -0
  407. package/utils/focusable.d.ts +7 -0
  408. package/utils/focusable.js +20 -0
  409. package/utils/focusable.mjs +13 -0
  410. package/utils/getEventTarget.d.mts +2 -0
  411. package/utils/getEventTarget.d.ts +2 -0
  412. package/utils/getEventTarget.js +9 -0
  413. package/utils/getEventTarget.mjs +2 -0
  414. package/utils/mergeSlotProps.js +2 -8
  415. package/utils/mergeSlotProps.mjs +1 -8
  416. package/version/index.js +3 -3
  417. package/version/index.mjs +3 -3
  418. package/FormControl/formControlState.js +0 -21
  419. package/FormControl/formControlState.mjs +0 -15
@@ -6,7 +6,6 @@ import clsx from 'clsx';
6
6
  import useTimeout, { Timeout } from '@mui/utils/useTimeout';
7
7
  import elementAcceptingRef from '@mui/utils/elementAcceptingRef';
8
8
  import composeClasses from '@mui/utils/composeClasses';
9
- import { useRtl } from '@mui/system/RtlProvider';
10
9
  import isFocusVisible from '@mui/utils/isFocusVisible';
11
10
  import getReactElementRef from '@mui/utils/getReactElementRef';
12
11
  import { styled, useTheme } from "../zero-styled/index.mjs";
@@ -56,17 +55,11 @@ const TooltipPopper = styled(Popper, {
56
55
  pointerEvents: 'none',
57
56
  variants: [{
58
57
  props: ({
59
- ownerState
60
- }) => !ownerState.disableInteractive,
61
- style: {
62
- pointerEvents: 'auto'
63
- }
64
- }, {
65
- props: ({
58
+ ownerState,
66
59
  open
67
- }) => !open,
60
+ }) => open && !ownerState.disableInteractive,
68
61
  style: {
69
- pointerEvents: 'none'
62
+ pointerEvents: 'auto'
70
63
  }
71
64
  }, {
72
65
  props: ({
@@ -90,6 +83,8 @@ const TooltipPopper = styled(Popper, {
90
83
  [`&[data-popper-placement*="right"] .${tooltipClasses.arrow}`]: {
91
84
  height: '1em',
92
85
  width: '0.71em',
86
+ insetInlineStart: 0,
87
+ marginInlineStart: '-0.71em',
93
88
  '&::before': {
94
89
  transformOrigin: '100% 100%'
95
90
  }
@@ -97,51 +92,13 @@ const TooltipPopper = styled(Popper, {
97
92
  [`&[data-popper-placement*="left"] .${tooltipClasses.arrow}`]: {
98
93
  height: '1em',
99
94
  width: '0.71em',
95
+ insetInlineEnd: 0,
96
+ marginInlineEnd: '-0.71em',
100
97
  '&::before': {
101
98
  transformOrigin: '0 0'
102
99
  }
103
100
  }
104
101
  }
105
- }, {
106
- props: ({
107
- ownerState
108
- }) => ownerState.arrow && !ownerState.isRtl,
109
- style: {
110
- [`&[data-popper-placement*="right"] .${tooltipClasses.arrow}`]: {
111
- left: 0,
112
- marginLeft: '-0.71em'
113
- }
114
- }
115
- }, {
116
- props: ({
117
- ownerState
118
- }) => ownerState.arrow && !!ownerState.isRtl,
119
- style: {
120
- [`&[data-popper-placement*="right"] .${tooltipClasses.arrow}`]: {
121
- right: 0,
122
- marginRight: '-0.71em'
123
- }
124
- }
125
- }, {
126
- props: ({
127
- ownerState
128
- }) => ownerState.arrow && !ownerState.isRtl,
129
- style: {
130
- [`&[data-popper-placement*="left"] .${tooltipClasses.arrow}`]: {
131
- right: 0,
132
- marginRight: '-0.71em'
133
- }
134
- }
135
- }, {
136
- props: ({
137
- ownerState
138
- }) => ownerState.arrow && !!ownerState.isRtl,
139
- style: {
140
- [`&[data-popper-placement*="left"] .${tooltipClasses.arrow}`]: {
141
- left: 0,
142
- marginLeft: '-0.71em'
143
- }
144
- }
145
102
  }]
146
103
  })));
147
104
  const TooltipTooltip = styled('div', {
@@ -167,10 +124,12 @@ const TooltipTooltip = styled('div', {
167
124
  wordWrap: 'break-word',
168
125
  fontWeight: theme.typography.fontWeightMedium,
169
126
  [`.${tooltipClasses.popper}[data-popper-placement*="left"] &`]: {
170
- transformOrigin: 'right center'
127
+ transformOrigin: 'right center',
128
+ marginInlineEnd: '14px'
171
129
  },
172
130
  [`.${tooltipClasses.popper}[data-popper-placement*="right"] &`]: {
173
- transformOrigin: 'left center'
131
+ transformOrigin: 'left center',
132
+ marginInlineStart: '14px'
174
133
  },
175
134
  [`.${tooltipClasses.popper}[data-popper-placement*="top"] &`]: {
176
135
  transformOrigin: 'center bottom',
@@ -186,7 +145,7 @@ const TooltipTooltip = styled('div', {
186
145
  }) => ownerState.arrow,
187
146
  style: {
188
147
  position: 'relative',
189
- margin: 0
148
+ marginBlock: 0
190
149
  }
191
150
  }, {
192
151
  props: ({
@@ -201,65 +160,17 @@ const TooltipTooltip = styled('div', {
201
160
  }, {
202
161
  props: ({
203
162
  ownerState
204
- }) => !ownerState.isRtl,
205
- style: {
206
- [`.${tooltipClasses.popper}[data-popper-placement*="left"] &`]: {
207
- marginRight: '14px'
208
- },
209
- [`.${tooltipClasses.popper}[data-popper-placement*="right"] &`]: {
210
- marginLeft: '14px'
211
- }
212
- }
213
- }, {
214
- props: ({
215
- ownerState
216
- }) => !ownerState.isRtl && ownerState.touch,
163
+ }) => ownerState.touch,
217
164
  style: {
218
165
  [`.${tooltipClasses.popper}[data-popper-placement*="left"] &`]: {
219
- marginRight: '24px'
166
+ marginInlineEnd: '24px'
220
167
  },
221
168
  [`.${tooltipClasses.popper}[data-popper-placement*="right"] &`]: {
222
- marginLeft: '24px'
223
- }
224
- }
225
- }, {
226
- props: ({
227
- ownerState
228
- }) => !!ownerState.isRtl,
229
- style: {
230
- [`.${tooltipClasses.popper}[data-popper-placement*="left"] &`]: {
231
- marginLeft: '14px'
169
+ marginInlineStart: '24px'
232
170
  },
233
- [`.${tooltipClasses.popper}[data-popper-placement*="right"] &`]: {
234
- marginRight: '14px'
235
- }
236
- }
237
- }, {
238
- props: ({
239
- ownerState
240
- }) => !!ownerState.isRtl && ownerState.touch,
241
- style: {
242
- [`.${tooltipClasses.popper}[data-popper-placement*="left"] &`]: {
243
- marginLeft: '24px'
244
- },
245
- [`.${tooltipClasses.popper}[data-popper-placement*="right"] &`]: {
246
- marginRight: '24px'
247
- }
248
- }
249
- }, {
250
- props: ({
251
- ownerState
252
- }) => ownerState.touch,
253
- style: {
254
171
  [`.${tooltipClasses.popper}[data-popper-placement*="top"] &`]: {
255
172
  marginBottom: '24px'
256
- }
257
- }
258
- }, {
259
- props: ({
260
- ownerState
261
- }) => ownerState.touch,
262
- style: {
173
+ },
263
174
  [`.${tooltipClasses.popper}[data-popper-placement*="bottom"] &`]: {
264
175
  marginTop: '24px'
265
176
  }
@@ -342,7 +253,6 @@ const Tooltip = /*#__PURE__*/React.forwardRef(function Tooltip(inProps, ref) {
342
253
  children: childrenProp
343
254
  });
344
255
  const theme = useTheme();
345
- const isRtl = useRtl();
346
256
  const [childNode, setChildNode] = React.useState();
347
257
  const [arrowRef, setArrowRef] = React.useState(null);
348
258
  const ignoreNonTouchEvents = React.useRef(false);
@@ -442,7 +352,7 @@ const Tooltip = /*#__PURE__*/React.forwardRef(function Tooltip(inProps, ref) {
442
352
  const handleBlur = event => {
443
353
  // Needed for https://github.com/mui/material-ui/issues/45373
444
354
  const target = event?.target ?? childNode;
445
- if (!target || !isFocusVisible(target)) {
355
+ if (!target || target.disabled || !isFocusVisible(target)) {
446
356
  setChildIsFocusVisible(false);
447
357
 
448
358
  // InputBase can call onBlur() without an event when the input becomes disabled.
@@ -470,6 +380,15 @@ const Tooltip = /*#__PURE__*/React.forwardRef(function Tooltip(inProps, ref) {
470
380
  setChildNode(event.currentTarget);
471
381
  }
472
382
  if (isFocusVisible(event.target)) {
383
+ // Workaround for https://github.com/facebook/react/issues/9142.
384
+ // React does not fire blur when a focused element becomes disabled.
385
+ const handleNativeBlur = blurEvent => {
386
+ if (blurEvent.target.disabled) {
387
+ handleBlur(blurEvent);
388
+ }
389
+ blurEvent.target.removeEventListener('blur', handleNativeBlur);
390
+ };
391
+ event.target.addEventListener('blur', handleNativeBlur);
473
392
  setChildIsFocusVisible(true);
474
393
  handleMouseOver(event);
475
394
  }
@@ -601,7 +520,6 @@ const Tooltip = /*#__PURE__*/React.forwardRef(function Tooltip(inProps, ref) {
601
520
  }
602
521
  const ownerState = {
603
522
  ...props,
604
- isRtl,
605
523
  arrow,
606
524
  disableInteractive,
607
525
  placement,
@@ -79,13 +79,13 @@ export interface TypographyTypeMap<AdditionalProps = {}, RootComponent extends R
79
79
  *
80
80
  * Demos:
81
81
  *
82
- * - [Breadcrumbs](https://next.mui.com/material-ui/react-breadcrumbs/)
83
- * - [Menubar](https://next.mui.com/material-ui/react-menubar/)
84
- * - [Typography](https://next.mui.com/material-ui/react-typography/)
82
+ * - [Breadcrumbs](https://mui.com/material-ui/react-breadcrumbs/)
83
+ * - [Menubar](https://mui.com/material-ui/react-menubar/)
84
+ * - [Typography](https://mui.com/material-ui/react-typography/)
85
85
  *
86
86
  * API:
87
87
  *
88
- * - [Typography API](https://next.mui.com/material-ui/api/typography/)
88
+ * - [Typography API](https://mui.com/material-ui/api/typography/)
89
89
  */
90
90
  declare const Typography: OverridableComponent<TypographyTypeMap>;
91
91
  export type TypographyProps<RootComponent extends React.ElementType = TypographyTypeMap['defaultComponent'], AdditionalProps = {}> = OverrideProps<TypographyTypeMap<AdditionalProps, RootComponent>, RootComponent> & {
@@ -79,13 +79,13 @@ export interface TypographyTypeMap<AdditionalProps = {}, RootComponent extends R
79
79
  *
80
80
  * Demos:
81
81
  *
82
- * - [Breadcrumbs](https://next.mui.com/material-ui/react-breadcrumbs/)
83
- * - [Menubar](https://next.mui.com/material-ui/react-menubar/)
84
- * - [Typography](https://next.mui.com/material-ui/react-typography/)
82
+ * - [Breadcrumbs](https://mui.com/material-ui/react-breadcrumbs/)
83
+ * - [Menubar](https://mui.com/material-ui/react-menubar/)
84
+ * - [Typography](https://mui.com/material-ui/react-typography/)
85
85
  *
86
86
  * API:
87
87
  *
88
- * - [Typography API](https://next.mui.com/material-ui/api/typography/)
88
+ * - [Typography API](https://mui.com/material-ui/api/typography/)
89
89
  */
90
90
  declare const Typography: OverridableComponent<TypographyTypeMap>;
91
91
  export type TypographyProps<RootComponent extends React.ElementType = TypographyTypeMap['defaultComponent'], AdditionalProps = {}> = OverrideProps<TypographyTypeMap<AdditionalProps, RootComponent>, RootComponent> & {
@@ -15,7 +15,9 @@ var _ownerDocument = _interopRequireDefault(require("@mui/utils/ownerDocument"))
15
15
  var _getReactElementRef = _interopRequireDefault(require("@mui/utils/getReactElementRef"));
16
16
  var _exactProp = _interopRequireDefault(require("@mui/utils/exactProp"));
17
17
  var _elementAcceptingRef = _interopRequireDefault(require("@mui/utils/elementAcceptingRef"));
18
+ var _contains = _interopRequireDefault(require("../utils/contains"));
18
19
  var _getActiveElement = _interopRequireDefault(require("../utils/getActiveElement"));
20
+ var _focusable = require("../utils/focusable");
19
21
  var _jsxRuntime = require("react/jsx-runtime");
20
22
  // Inspired by https://github.com/focus-trap/tabbable
21
23
  const candidatesSelector = ['input', 'select', 'textarea', 'a[href]', 'button', '[tabindex]', 'audio[controls]', 'video[controls]', '[contenteditable]:not([contenteditable="false"])'].join(',');
@@ -114,34 +116,36 @@ function FocusTrap(props) {
114
116
  activated.current = !disableAutoFocus;
115
117
  }, [disableAutoFocus, open]);
116
118
  React.useEffect(() => {
119
+ // Reset on every mount — React 18 Strict Mode double-mounts leave this
120
+ // stuck at `true` after the cleanup of the previous mount set it.
121
+ ignoreNextEnforceFocus.current = false;
122
+
117
123
  // We might render an empty child.
118
124
  if (!open || !rootRef.current) {
119
125
  return;
120
126
  }
121
127
  const doc = (0, _ownerDocument.default)(rootRef.current);
122
128
  const activeElement = (0, _getActiveElement.default)(doc);
123
- if (!rootRef.current.contains(activeElement)) {
124
- if (!rootRef.current.hasAttribute('tabIndex')) {
129
+
130
+ // Prefer the explicitly marked focusable element. Fall back to the root
131
+ // element for generic FocusTrap usage.
132
+ const focusTarget = (0, _focusable.getFocusTarget)(rootRef.current) ?? rootRef.current;
133
+ if (!(0, _contains.default)(rootRef.current, activeElement)) {
134
+ if (!focusTarget.hasAttribute('tabIndex')) {
125
135
  if (process.env.NODE_ENV !== 'production') {
126
136
  console.error(['MUI: The modal content node does not accept focus.', 'For the benefit of assistive technologies, ' + 'the tabIndex of the node is being set to "-1".'].join('\n'));
127
137
  }
128
- rootRef.current.setAttribute('tabIndex', '-1');
138
+ focusTarget.setAttribute('tabIndex', '-1');
129
139
  }
130
140
  if (activated.current) {
131
- rootRef.current.focus();
141
+ focusTarget.focus();
132
142
  }
133
143
  }
134
144
  return () => {
135
145
  // restoreLastFocus()
136
- if (!disableRestoreFocus) {
137
- // In IE11 it is possible for document.activeElement to be null resulting
138
- // in nodeToRestore.current being null.
139
- // Not all elements in IE11 have a focus method.
140
- // Once IE11 support is dropped the focus() call can be unconditional.
141
- if (nodeToRestore.current && nodeToRestore.current.focus) {
142
- ignoreNextEnforceFocus.current = true;
143
- nodeToRestore.current.focus();
144
- }
146
+ if (!disableRestoreFocus && nodeToRestore.current) {
147
+ ignoreNextEnforceFocus.current = true;
148
+ nodeToRestore.current.focus();
145
149
  nodeToRestore.current = null;
146
150
  }
147
151
  };
@@ -188,7 +192,7 @@ function FocusTrap(props) {
188
192
  }
189
193
 
190
194
  // The focus is already inside
191
- if (rootElement.contains(activeEl)) {
195
+ if ((0, _contains.default)(rootElement, activeEl)) {
192
196
  return;
193
197
  }
194
198
 
@@ -8,7 +8,9 @@ import ownerDocument from '@mui/utils/ownerDocument';
8
8
  import getReactElementRef from '@mui/utils/getReactElementRef';
9
9
  import exactProp from '@mui/utils/exactProp';
10
10
  import elementAcceptingRef from '@mui/utils/elementAcceptingRef';
11
+ import contains from "../utils/contains.mjs";
11
12
  import getActiveElement from "../utils/getActiveElement.mjs";
13
+ import { getFocusTarget } from "../utils/focusable.mjs";
12
14
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
15
  // Inspired by https://github.com/focus-trap/tabbable
14
16
  const candidatesSelector = ['input', 'select', 'textarea', 'a[href]', 'button', '[tabindex]', 'audio[controls]', 'video[controls]', '[contenteditable]:not([contenteditable="false"])'].join(',');
@@ -107,34 +109,36 @@ function FocusTrap(props) {
107
109
  activated.current = !disableAutoFocus;
108
110
  }, [disableAutoFocus, open]);
109
111
  React.useEffect(() => {
112
+ // Reset on every mount — React 18 Strict Mode double-mounts leave this
113
+ // stuck at `true` after the cleanup of the previous mount set it.
114
+ ignoreNextEnforceFocus.current = false;
115
+
110
116
  // We might render an empty child.
111
117
  if (!open || !rootRef.current) {
112
118
  return;
113
119
  }
114
120
  const doc = ownerDocument(rootRef.current);
115
121
  const activeElement = getActiveElement(doc);
116
- if (!rootRef.current.contains(activeElement)) {
117
- if (!rootRef.current.hasAttribute('tabIndex')) {
122
+
123
+ // Prefer the explicitly marked focusable element. Fall back to the root
124
+ // element for generic FocusTrap usage.
125
+ const focusTarget = getFocusTarget(rootRef.current) ?? rootRef.current;
126
+ if (!contains(rootRef.current, activeElement)) {
127
+ if (!focusTarget.hasAttribute('tabIndex')) {
118
128
  if (process.env.NODE_ENV !== 'production') {
119
129
  console.error(['MUI: The modal content node does not accept focus.', 'For the benefit of assistive technologies, ' + 'the tabIndex of the node is being set to "-1".'].join('\n'));
120
130
  }
121
- rootRef.current.setAttribute('tabIndex', '-1');
131
+ focusTarget.setAttribute('tabIndex', '-1');
122
132
  }
123
133
  if (activated.current) {
124
- rootRef.current.focus();
134
+ focusTarget.focus();
125
135
  }
126
136
  }
127
137
  return () => {
128
138
  // restoreLastFocus()
129
- if (!disableRestoreFocus) {
130
- // In IE11 it is possible for document.activeElement to be null resulting
131
- // in nodeToRestore.current being null.
132
- // Not all elements in IE11 have a focus method.
133
- // Once IE11 support is dropped the focus() call can be unconditional.
134
- if (nodeToRestore.current && nodeToRestore.current.focus) {
135
- ignoreNextEnforceFocus.current = true;
136
- nodeToRestore.current.focus();
137
- }
139
+ if (!disableRestoreFocus && nodeToRestore.current) {
140
+ ignoreNextEnforceFocus.current = true;
141
+ nodeToRestore.current.focus();
138
142
  nodeToRestore.current = null;
139
143
  }
140
144
  };
@@ -181,7 +185,7 @@ function FocusTrap(props) {
181
185
  }
182
186
 
183
187
  // The focus is already inside
184
- if (rootElement.contains(activeEl)) {
188
+ if (contains(rootElement, activeEl)) {
185
189
  return;
186
190
  }
187
191
 
package/Zoom/Zoom.d.mts CHANGED
@@ -34,16 +34,16 @@ export interface ZoomProps extends TransitionProps {
34
34
 
35
35
  /**
36
36
  * The Zoom transition can be used for the floating variant of the
37
- * [Button](https://next.mui.com/material-ui/react-floating-action-button/#animation) component.
37
+ * [Button](https://mui.com/material-ui/react-floating-action-button/#animation) component.
38
38
  * It uses [react-transition-group](https://github.com/reactjs/react-transition-group) internally.
39
39
  *
40
40
  * Demos:
41
41
  *
42
- * - [Transitions](https://next.mui.com/material-ui/transitions/)
42
+ * - [Transitions](https://mui.com/material-ui/transitions/)
43
43
  *
44
44
  * API:
45
45
  *
46
- * - [Zoom API](https://next.mui.com/material-ui/api/zoom/)
46
+ * - [Zoom API](https://mui.com/material-ui/api/zoom/)
47
47
  * - inherits [Transition API](https://reactcommunity.org/react-transition-group/transition/#Transition-props)
48
48
  */
49
49
  export default function Zoom(props: ZoomProps): React.JSX.Element;
package/Zoom/Zoom.d.ts CHANGED
@@ -34,16 +34,16 @@ export interface ZoomProps extends TransitionProps {
34
34
 
35
35
  /**
36
36
  * The Zoom transition can be used for the floating variant of the
37
- * [Button](https://next.mui.com/material-ui/react-floating-action-button/#animation) component.
37
+ * [Button](https://mui.com/material-ui/react-floating-action-button/#animation) component.
38
38
  * It uses [react-transition-group](https://github.com/reactjs/react-transition-group) internally.
39
39
  *
40
40
  * Demos:
41
41
  *
42
- * - [Transitions](https://next.mui.com/material-ui/transitions/)
42
+ * - [Transitions](https://mui.com/material-ui/transitions/)
43
43
  *
44
44
  * API:
45
45
  *
46
- * - [Zoom API](https://next.mui.com/material-ui/api/zoom/)
46
+ * - [Zoom API](https://mui.com/material-ui/api/zoom/)
47
47
  * - inherits [Transition API](https://reactcommunity.org/react-transition-group/transition/#Transition-props)
48
48
  */
49
49
  export default function Zoom(props: ZoomProps): React.JSX.Element;
package/Zoom/Zoom.js CHANGED
@@ -22,8 +22,18 @@ const styles = {
22
22
  },
23
23
  entered: {
24
24
  transform: 'none'
25
+ },
26
+ exiting: {
27
+ transform: 'scale(0)'
28
+ },
29
+ exited: {
30
+ transform: 'scale(0)'
25
31
  }
26
32
  };
33
+ const hiddenStyles = {
34
+ transform: 'scale(0)',
35
+ visibility: 'hidden'
36
+ };
27
37
 
28
38
  /**
29
39
  * The Zoom transition can be used for the floating variant of the
@@ -50,26 +60,12 @@ const Zoom = /*#__PURE__*/React.forwardRef(function Zoom(props, ref) {
50
60
  onExiting,
51
61
  style,
52
62
  timeout = defaultTimeout,
53
- // eslint-disable-next-line react/prop-types
54
- TransitionComponent = _reactTransitionGroup.Transition,
55
63
  ...other
56
64
  } = props;
57
65
  const nodeRef = React.useRef(null);
58
66
  const handleRef = (0, _useForkRef.default)(nodeRef, (0, _getReactElementRef.default)(children), ref);
59
- const normalizedTransitionCallback = callback => maybeIsAppearing => {
60
- if (callback) {
61
- const node = nodeRef.current;
62
-
63
- // onEnterXxx and onExitXxx callbacks have a different arguments.length value.
64
- if (maybeIsAppearing === undefined) {
65
- callback(node);
66
- } else {
67
- callback(node, maybeIsAppearing);
68
- }
69
- }
70
- };
71
- const handleEntering = normalizedTransitionCallback(onEntering);
72
- const handleEnter = normalizedTransitionCallback((node, isAppearing) => {
67
+ const handleEntering = (0, _utils.normalizedTransitionCallback)(nodeRef, onEntering);
68
+ const handleEnter = (0, _utils.normalizedTransitionCallback)(nodeRef, (node, isAppearing) => {
73
69
  (0, _utils.reflow)(node); // So the animation always start from the start.
74
70
 
75
71
  const transitionProps = (0, _utils.getTransitionProps)({
@@ -79,15 +75,14 @@ const Zoom = /*#__PURE__*/React.forwardRef(function Zoom(props, ref) {
79
75
  }, {
80
76
  mode: 'enter'
81
77
  });
82
- node.style.webkitTransition = theme.transitions.create('transform', transitionProps);
83
78
  node.style.transition = theme.transitions.create('transform', transitionProps);
84
79
  if (onEnter) {
85
80
  onEnter(node, isAppearing);
86
81
  }
87
82
  });
88
- const handleEntered = normalizedTransitionCallback(onEntered);
89
- const handleExiting = normalizedTransitionCallback(onExiting);
90
- const handleExit = normalizedTransitionCallback(node => {
83
+ const handleEntered = (0, _utils.normalizedTransitionCallback)(nodeRef, onEntered);
84
+ const handleExiting = (0, _utils.normalizedTransitionCallback)(nodeRef, onExiting);
85
+ const handleExit = (0, _utils.normalizedTransitionCallback)(nodeRef, node => {
91
86
  const transitionProps = (0, _utils.getTransitionProps)({
92
87
  style,
93
88
  timeout,
@@ -95,20 +90,24 @@ const Zoom = /*#__PURE__*/React.forwardRef(function Zoom(props, ref) {
95
90
  }, {
96
91
  mode: 'exit'
97
92
  });
98
- node.style.webkitTransition = theme.transitions.create('transform', transitionProps);
99
93
  node.style.transition = theme.transitions.create('transform', transitionProps);
100
94
  if (onExit) {
101
95
  onExit(node);
102
96
  }
103
97
  });
104
- const handleExited = normalizedTransitionCallback(onExited);
98
+ const handleExited = (0, _utils.normalizedTransitionCallback)(nodeRef, node => {
99
+ node.style.transition = '';
100
+ if (onExited) {
101
+ onExited(node);
102
+ }
103
+ });
105
104
  const handleAddEndListener = next => {
106
105
  if (addEndListener) {
107
106
  // Old call signature before `react-transition-group` implemented `nodeRef`
108
107
  addEndListener(nodeRef.current, next);
109
108
  }
110
109
  };
111
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(TransitionComponent, {
110
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactTransitionGroup.Transition, {
112
111
  appear: appear,
113
112
  in: inProp,
114
113
  nodeRef: nodeRef,
@@ -125,14 +124,9 @@ const Zoom = /*#__PURE__*/React.forwardRef(function Zoom(props, ref) {
125
124
  ownerState,
126
125
  ...restChildProps
127
126
  }) => {
127
+ const childStyle = (0, _utils.getTransitionChildStyle)(state, inProp, styles, hiddenStyles, style, children.props.style);
128
128
  return /*#__PURE__*/React.cloneElement(children, {
129
- style: {
130
- transform: 'scale(0)',
131
- visibility: state === 'exited' && !inProp ? 'hidden' : undefined,
132
- ...styles[state],
133
- ...style,
134
- ...children.props.style
135
- },
129
+ style: childStyle,
136
130
  ref: handleRef,
137
131
  ...restChildProps
138
132
  });
package/Zoom/Zoom.mjs CHANGED
@@ -6,7 +6,7 @@ import { Transition } from 'react-transition-group';
6
6
  import elementAcceptingRef from '@mui/utils/elementAcceptingRef';
7
7
  import getReactElementRef from '@mui/utils/getReactElementRef';
8
8
  import { useTheme } from "../zero-styled/index.mjs";
9
- import { reflow, getTransitionProps } from "../transitions/utils.mjs";
9
+ import { normalizedTransitionCallback, reflow, getTransitionProps, getTransitionChildStyle } from "../transitions/utils.mjs";
10
10
  import useForkRef from "../utils/useForkRef.mjs";
11
11
  import { jsx as _jsx } from "react/jsx-runtime";
12
12
  const styles = {
@@ -15,8 +15,18 @@ const styles = {
15
15
  },
16
16
  entered: {
17
17
  transform: 'none'
18
+ },
19
+ exiting: {
20
+ transform: 'scale(0)'
21
+ },
22
+ exited: {
23
+ transform: 'scale(0)'
18
24
  }
19
25
  };
26
+ const hiddenStyles = {
27
+ transform: 'scale(0)',
28
+ visibility: 'hidden'
29
+ };
20
30
 
21
31
  /**
22
32
  * The Zoom transition can be used for the floating variant of the
@@ -43,26 +53,12 @@ const Zoom = /*#__PURE__*/React.forwardRef(function Zoom(props, ref) {
43
53
  onExiting,
44
54
  style,
45
55
  timeout = defaultTimeout,
46
- // eslint-disable-next-line react/prop-types
47
- TransitionComponent = Transition,
48
56
  ...other
49
57
  } = props;
50
58
  const nodeRef = React.useRef(null);
51
59
  const handleRef = useForkRef(nodeRef, getReactElementRef(children), ref);
52
- const normalizedTransitionCallback = callback => maybeIsAppearing => {
53
- if (callback) {
54
- const node = nodeRef.current;
55
-
56
- // onEnterXxx and onExitXxx callbacks have a different arguments.length value.
57
- if (maybeIsAppearing === undefined) {
58
- callback(node);
59
- } else {
60
- callback(node, maybeIsAppearing);
61
- }
62
- }
63
- };
64
- const handleEntering = normalizedTransitionCallback(onEntering);
65
- const handleEnter = normalizedTransitionCallback((node, isAppearing) => {
60
+ const handleEntering = normalizedTransitionCallback(nodeRef, onEntering);
61
+ const handleEnter = normalizedTransitionCallback(nodeRef, (node, isAppearing) => {
66
62
  reflow(node); // So the animation always start from the start.
67
63
 
68
64
  const transitionProps = getTransitionProps({
@@ -72,15 +68,14 @@ const Zoom = /*#__PURE__*/React.forwardRef(function Zoom(props, ref) {
72
68
  }, {
73
69
  mode: 'enter'
74
70
  });
75
- node.style.webkitTransition = theme.transitions.create('transform', transitionProps);
76
71
  node.style.transition = theme.transitions.create('transform', transitionProps);
77
72
  if (onEnter) {
78
73
  onEnter(node, isAppearing);
79
74
  }
80
75
  });
81
- const handleEntered = normalizedTransitionCallback(onEntered);
82
- const handleExiting = normalizedTransitionCallback(onExiting);
83
- const handleExit = normalizedTransitionCallback(node => {
76
+ const handleEntered = normalizedTransitionCallback(nodeRef, onEntered);
77
+ const handleExiting = normalizedTransitionCallback(nodeRef, onExiting);
78
+ const handleExit = normalizedTransitionCallback(nodeRef, node => {
84
79
  const transitionProps = getTransitionProps({
85
80
  style,
86
81
  timeout,
@@ -88,20 +83,24 @@ const Zoom = /*#__PURE__*/React.forwardRef(function Zoom(props, ref) {
88
83
  }, {
89
84
  mode: 'exit'
90
85
  });
91
- node.style.webkitTransition = theme.transitions.create('transform', transitionProps);
92
86
  node.style.transition = theme.transitions.create('transform', transitionProps);
93
87
  if (onExit) {
94
88
  onExit(node);
95
89
  }
96
90
  });
97
- const handleExited = normalizedTransitionCallback(onExited);
91
+ const handleExited = normalizedTransitionCallback(nodeRef, node => {
92
+ node.style.transition = '';
93
+ if (onExited) {
94
+ onExited(node);
95
+ }
96
+ });
98
97
  const handleAddEndListener = next => {
99
98
  if (addEndListener) {
100
99
  // Old call signature before `react-transition-group` implemented `nodeRef`
101
100
  addEndListener(nodeRef.current, next);
102
101
  }
103
102
  };
104
- return /*#__PURE__*/_jsx(TransitionComponent, {
103
+ return /*#__PURE__*/_jsx(Transition, {
105
104
  appear: appear,
106
105
  in: inProp,
107
106
  nodeRef: nodeRef,
@@ -118,14 +117,9 @@ const Zoom = /*#__PURE__*/React.forwardRef(function Zoom(props, ref) {
118
117
  ownerState,
119
118
  ...restChildProps
120
119
  }) => {
120
+ const childStyle = getTransitionChildStyle(state, inProp, styles, hiddenStyles, style, children.props.style);
121
121
  return /*#__PURE__*/React.cloneElement(children, {
122
- style: {
123
- transform: 'scale(0)',
124
- visibility: state === 'exited' && !inProp ? 'hidden' : undefined,
125
- ...styles[state],
126
- ...style,
127
- ...children.props.style
128
- },
122
+ style: childStyle,
129
123
  ref: handleRef,
130
124
  ...restChildProps
131
125
  });