@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
@@ -8,7 +8,7 @@ Object.defineProperty(exports, "__esModule", {
8
8
  Object.defineProperty(exports, "default", {
9
9
  enumerable: true,
10
10
  get: function () {
11
- return _useTouchRipple.default;
11
+ return _useLazyRipple.default;
12
12
  }
13
13
  });
14
- var _useTouchRipple = _interopRequireDefault(require("./useTouchRipple"));
14
+ var _useLazyRipple = _interopRequireDefault(require("./useLazyRipple"));
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+ 'use client';
3
+
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.LazyRipple = void 0;
9
+ exports.default = useLazyRipple;
10
+ var React = _interopRequireWildcard(require("react"));
11
+ var _useLazyRef = _interopRequireDefault(require("@mui/utils/useLazyRef"));
12
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
13
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
14
+ /**
15
+ * Lazy initialization container for the Ripple instance. This improves
16
+ * performance by delaying mounting the ripple until it's needed.
17
+ */
18
+ class LazyRipple {
19
+ /** React ref to the ripple instance */
20
+
21
+ /** If the ripple component should be mounted */
22
+
23
+ /** Promise that resolves when the ripple component is mounted */
24
+
25
+ /** If the ripple component has been mounted */
26
+
27
+ /** React state hook setter */
28
+
29
+ static create() {
30
+ return new LazyRipple();
31
+ }
32
+ static use() {
33
+ /* eslint-disable */
34
+ const ripple = (0, _useLazyRef.default)(LazyRipple.create).current;
35
+ const [shouldMount, setShouldMount] = React.useState(false);
36
+ ripple.shouldMount = shouldMount;
37
+ ripple.setShouldMount = setShouldMount;
38
+ React.useEffect(ripple.mountEffect, [shouldMount]);
39
+ /* eslint-enable */
40
+
41
+ return ripple;
42
+ }
43
+ constructor() {
44
+ this.ref = {
45
+ current: null
46
+ };
47
+ this.mounted = null;
48
+ this.didMount = false;
49
+ this.shouldMount = false;
50
+ this.setShouldMount = null;
51
+ }
52
+ mount() {
53
+ if (!this.mounted) {
54
+ this.mounted = createControlledPromise();
55
+ this.shouldMount = true;
56
+ this.setShouldMount(this.shouldMount);
57
+ }
58
+ return this.mounted;
59
+ }
60
+ mountEffect = () => {
61
+ if (this.shouldMount && !this.didMount) {
62
+ if (this.ref.current !== null) {
63
+ this.didMount = true;
64
+ this.mounted.resolve();
65
+ }
66
+ }
67
+ };
68
+
69
+ /* Ripple API */
70
+
71
+ start(...args) {
72
+ this.mount().then(() => {
73
+ var _this$ref$current;
74
+ return (_this$ref$current = this.ref.current) == null ? void 0 : _this$ref$current.start(...args);
75
+ });
76
+ }
77
+ stop(...args) {
78
+ this.mount().then(() => {
79
+ var _this$ref$current2;
80
+ return (_this$ref$current2 = this.ref.current) == null ? void 0 : _this$ref$current2.stop(...args);
81
+ });
82
+ }
83
+ pulsate(...args) {
84
+ this.mount().then(() => {
85
+ var _this$ref$current3;
86
+ return (_this$ref$current3 = this.ref.current) == null ? void 0 : _this$ref$current3.pulsate(...args);
87
+ });
88
+ }
89
+ }
90
+ exports.LazyRipple = LazyRipple;
91
+ function useLazyRipple() {
92
+ return LazyRipple.use();
93
+ }
94
+ function createControlledPromise() {
95
+ let resolve;
96
+ let reject;
97
+ const p = new Promise((resolveFn, rejectFn) => {
98
+ resolve = resolveFn;
99
+ reject = rejectFn;
100
+ });
101
+ p.resolve = resolve;
102
+ p.reject = reject;
103
+ return p;
104
+ }
@@ -61,7 +61,7 @@ function usePagination(props = {}) {
61
61
  // Upper boundary when page is low
62
62
  boundaryCount + siblingCount * 2 + 2),
63
63
  // Less than endPages
64
- endPages.length > 0 ? endPages[0] - 2 : count - 1);
64
+ count - boundaryCount - 1);
65
65
 
66
66
  // Basic list of items to render
67
67
  // for example itemList = ['first', 'previous', 1, 'ellipsis', 4, 5, 6, 'ellipsis', 10, 'next', 'last']
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ function areArraysEqual(array1, array2, itemComparer = (a, b) => a === b) {
8
+ return array1.length === array2.length && array1.every((value, index) => itemComparer(value, array2[index]));
9
+ }
10
+ var _default = exports.default = areArraysEqual;
@@ -102,13 +102,7 @@ Object.defineProperty(exports, "useForkRef", {
102
102
  return _useForkRef.default;
103
103
  }
104
104
  });
105
- Object.defineProperty(exports, "useIsFocusVisible", {
106
- enumerable: true,
107
- get: function () {
108
- return _useIsFocusVisible.default;
109
- }
110
- });
111
- var _ClassNameGenerator = require("@mui/base/ClassNameGenerator");
105
+ var _utils = require("@mui/utils");
112
106
  var _capitalize = _interopRequireDefault(require("./capitalize"));
113
107
  var _createChainedFunction = _interopRequireDefault(require("./createChainedFunction"));
114
108
  var _createSvgIcon = _interopRequireDefault(require("./createSvgIcon"));
@@ -125,7 +119,6 @@ var _unsupportedProp = _interopRequireDefault(require("./unsupportedProp"));
125
119
  var _useControlled = _interopRequireDefault(require("./useControlled"));
126
120
  var _useEventCallback = _interopRequireDefault(require("./useEventCallback"));
127
121
  var _useForkRef = _interopRequireDefault(require("./useForkRef"));
128
- var _useIsFocusVisible = _interopRequireDefault(require("./useIsFocusVisible"));
129
122
  // TODO: remove this export once ClassNameGenerator is stable
130
123
  // eslint-disable-next-line @typescript-eslint/naming-convention
131
124
  const unstable_ClassNameGenerator = exports.unstable_ClassNameGenerator = {
@@ -133,6 +126,6 @@ const unstable_ClassNameGenerator = exports.unstable_ClassNameGenerator = {
133
126
  if (process.env.NODE_ENV !== 'production') {
134
127
  console.warn(['MUI: `ClassNameGenerator` import from `@mui/material/utils` is outdated and might cause unexpected issues.', '', "You should use `import { unstable_ClassNameGenerator } from '@mui/material/className'` instead", '', 'The detail of the issue: https://github.com/mui/material-ui/issues/30011#issuecomment-1024993401', '', 'The updated documentation: https://mui.com/guides/classname-generator/'].join('\n'));
135
128
  }
136
- _ClassNameGenerator.unstable_ClassNameGenerator.configure(generator);
129
+ _utils.unstable_ClassNameGenerator.configure(generator);
137
130
  }
138
131
  };
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ /**
8
+ * Determines if a given element is a DOM element name (i.e. not a React component).
9
+ */
10
+ function isHostComponent(element) {
11
+ return typeof element === 'string';
12
+ }
13
+ var _default = exports.default = isHostComponent;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ /**
8
+ * Removes event handlers from the given object.
9
+ * A field is considered an event handler if it is a function with a name beginning with `on`.
10
+ *
11
+ * @param object Object to remove event handlers from.
12
+ * @returns Object with event handlers removed.
13
+ */
14
+ function omitEventHandlers(object) {
15
+ if (object === undefined) {
16
+ return {};
17
+ }
18
+ const result = {};
19
+ Object.keys(object).filter(prop => !(prop.match(/^on[A-Z]/) && typeof object[prop] === 'function')).forEach(prop => {
20
+ result[prop] = object[prop];
21
+ });
22
+ return result;
23
+ }
24
+ var _default = exports.default = omitEventHandlers;
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
7
  exports.default = void 0;
7
- var _utils = require("@mui/base/utils");
8
+ var _isHostComponent = _interopRequireDefault(require("./isHostComponent"));
8
9
  const shouldSpreadAdditionalProps = Slot => {
9
- return !Slot || !(0, _utils.isHostComponent)(Slot);
10
+ return !Slot || !(0, _isHostComponent.default)(Slot);
10
11
  };
11
12
  var _default = exports.default = shouldSpreadAdditionalProps;
@@ -7,7 +7,9 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.default = useSlot;
9
9
  var _useForkRef = _interopRequireDefault(require("@mui/utils/useForkRef"));
10
- var _utils = require("@mui/base/utils");
10
+ var _appendOwnerState = _interopRequireDefault(require("@mui/utils/appendOwnerState"));
11
+ var _resolveComponentProps = _interopRequireDefault(require("@mui/utils/resolveComponentProps"));
12
+ var _mergeSlotProps = _interopRequireDefault(require("@mui/utils/mergeSlotProps"));
11
13
  /**
12
14
  * An internal function to create a Material UI slot.
13
15
  *
@@ -53,14 +55,14 @@ name, parameters) {
53
55
 
54
56
  // `slotProps[name]` can be a callback that receives the component's ownerState.
55
57
  // `resolvedComponentsProps` is always a plain object.
56
- const resolvedComponentsProps = (0, _utils.resolveComponentProps)(slotProps[name], ownerState);
58
+ const resolvedComponentsProps = (0, _resolveComponentProps.default)(slotProps[name], ownerState);
57
59
  const {
58
60
  props: {
59
61
  component: slotComponent,
60
62
  ...mergedProps
61
63
  },
62
64
  internalRef
63
- } = (0, _utils.mergeSlotProps)({
65
+ } = (0, _mergeSlotProps.default)({
64
66
  className,
65
67
  ...useSlotPropsParams,
66
68
  externalForwardedProps: name === 'root' ? other : undefined,
@@ -73,7 +75,7 @@ name, parameters) {
73
75
  ...slotOwnerState
74
76
  };
75
77
  const LeafComponent = name === 'root' ? slotComponent || rootComponent : slotComponent;
76
- const props = (0, _utils.appendOwnerState)(elementType, {
78
+ const props = (0, _appendOwnerState.default)(elementType, {
77
79
  ...(name === 'root' && !rootComponent && !slots[name] && internalForwardedProps),
78
80
  ...(name !== 'root' && !slots[name] && internalForwardedProps),
79
81
  ...mergedProps,
@@ -4,13 +4,14 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.createUseThemeProps = createUseThemeProps;
8
7
  Object.defineProperty(exports, "css", {
9
8
  enumerable: true,
10
9
  get: function () {
11
10
  return _system.css;
12
11
  }
13
12
  });
13
+ exports.globalCss = globalCss;
14
+ exports.internal_createExtendSxProp = internal_createExtendSxProp;
14
15
  Object.defineProperty(exports, "keyframes", {
15
16
  enumerable: true,
16
17
  get: function () {
@@ -23,10 +24,37 @@ Object.defineProperty(exports, "styled", {
23
24
  return _styled.default;
24
25
  }
25
26
  });
26
- var _useThemeProps = _interopRequireDefault(require("../styles/useThemeProps"));
27
+ Object.defineProperty(exports, "useTheme", {
28
+ enumerable: true,
29
+ get: function () {
30
+ return _useTheme.default;
31
+ }
32
+ });
33
+ var React = _interopRequireWildcard(require("react"));
34
+ var _styleFunctionSx = require("@mui/system/styleFunctionSx");
35
+ var _useTheme = _interopRequireDefault(require("../styles/useTheme"));
36
+ var _GlobalStyles = _interopRequireDefault(require("../GlobalStyles"));
37
+ var _jsxRuntime = require("react/jsx-runtime");
27
38
  var _system = require("@mui/system");
28
39
  var _styled = _interopRequireDefault(require("../styles/styled"));
29
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
30
- function createUseThemeProps(name) {
31
- return _useThemeProps.default;
40
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
41
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
42
+ function globalCss(styles) {
43
+ return function GlobalStylesWrapper(props) {
44
+ return (
45
+ /*#__PURE__*/
46
+ // Pigment CSS `globalCss` support callback with theme inside an object but `GlobalStyles` support theme as a callback value.
47
+ (0, _jsxRuntime.jsx)(_GlobalStyles.default, {
48
+ styles: typeof styles === 'function' ? theme => styles({
49
+ theme,
50
+ ...props
51
+ }) : styles
52
+ })
53
+ );
54
+ };
55
+ }
56
+
57
+ // eslint-disable-next-line @typescript-eslint/naming-convention
58
+ function internal_createExtendSxProp() {
59
+ return _styleFunctionSx.extendSxProp;
32
60
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mui/material",
3
- "version": "6.0.0-alpha.9",
3
+ "version": "6.0.0-beta.1",
4
4
  "private": false,
5
5
  "author": "MUI Team",
6
6
  "description": "Material UI is an open-source React component library that implements Google's Material Design. It's comprehensive and can be used in production out of the box.",
@@ -27,25 +27,25 @@
27
27
  "url": "https://opencollective.com/mui-org"
28
28
  },
29
29
  "dependencies": {
30
- "@babel/runtime": "^7.24.6",
30
+ "@babel/runtime": "^7.24.8",
31
31
  "@types/react-transition-group": "^4.4.10",
32
32
  "clsx": "^2.1.1",
33
33
  "csstype": "^3.1.3",
34
34
  "prop-types": "^15.8.1",
35
- "react-is": "^18.2.0",
35
+ "react-is": "^18.3.1",
36
36
  "react-transition-group": "^4.4.5",
37
- "@mui/base": "5.0.0-beta.47",
38
- "@mui/system": "^6.0.0-alpha.9",
39
- "@mui/core-downloads-tracker": "^6.0.0-alpha.9",
40
37
  "@mui/types": "^7.2.14",
41
- "@mui/utils": "^6.0.0-alpha.9"
38
+ "@mui/system": "6.0.0-beta.1",
39
+ "@mui/utils": "6.0.0-beta.1",
40
+ "@mui/core-downloads-tracker": "^6.0.0-beta.1"
42
41
  },
43
42
  "peerDependencies": {
44
43
  "@emotion/react": "^11.5.0",
45
44
  "@emotion/styled": "^11.3.0",
46
45
  "@types/react": "^17.0.0 || ^18.0.0",
47
46
  "react": "^17.0.0 || ^18.0.0",
48
- "react-dom": "^17.0.0 || ^18.0.0"
47
+ "react-dom": "^17.0.0 || ^18.0.0",
48
+ "@mui/material-pigment-css": "^6.0.0-beta.1"
49
49
  },
50
50
  "peerDependenciesMeta": {
51
51
  "@types/react": {
@@ -56,6 +56,9 @@
56
56
  },
57
57
  "@emotion/styled": {
58
58
  "optional": true
59
+ },
60
+ "@mui/material-pigment-css": {
61
+ "optional": true
59
62
  }
60
63
  },
61
64
  "sideEffects": false,
@@ -66,6 +69,18 @@
66
69
  "engines": {
67
70
  "node": ">=12.0.0"
68
71
  },
72
+ "pigment-css": {
73
+ "vite": {
74
+ "include": [
75
+ "prop-types",
76
+ "react-is",
77
+ "hoist-non-react-statics",
78
+ "react",
79
+ "react-dom",
80
+ "@emotion/react"
81
+ ]
82
+ }
83
+ },
69
84
  "module": "./index.js",
70
85
  "types": "./index.d.ts"
71
86
  }
@@ -16,6 +16,7 @@ declare const CssVarsProvider: (props: React.PropsWithChildren<Partial<import("@
16
16
  storageWindow?: Window | null | undefined;
17
17
  disableNestedContext?: boolean | undefined;
18
18
  disableStyleSheetGeneration?: boolean | undefined;
19
- }>) => React.ReactElement<any, string | React.JSXElementConstructor<any>>, useColorScheme: () => import("@mui/system").ColorSchemeContextValue<SupportedColorScheme>, getInitColorSchemeScript: typeof import("@mui/system").getInitColorSchemeScript;
19
+ }>) => React.ReactElement<any, string | React.JSXElementConstructor<any>>, useColorScheme: () => import("@mui/system").ColorSchemeContextValue<SupportedColorScheme>, deprecatedGetInitColorSchemeScript: typeof import("@mui/system/InitColorSchemeScript").default;
20
20
  declare function Experimental_CssVarsProvider(props: any): React.JSX.Element;
21
- export { useColorScheme, getInitColorSchemeScript, CssVarsProvider, Experimental_CssVarsProvider };
21
+ declare const getInitColorSchemeScript: typeof deprecatedGetInitColorSchemeScript;
22
+ export { useColorScheme, CssVarsProvider, getInitColorSchemeScript, Experimental_CssVarsProvider };
@@ -6,21 +6,22 @@ import styleFunctionSx from '@mui/system/styleFunctionSx';
6
6
  import extendTheme from './extendTheme';
7
7
  import createTypography from './createTypography';
8
8
  import THEME_ID from './identifier';
9
+ import { defaultConfig } from '../InitColorSchemeScript/InitColorSchemeScript';
9
10
  import { jsx as _jsx } from "react/jsx-runtime";
10
11
  const defaultTheme = extendTheme();
11
12
  const {
12
13
  CssVarsProvider,
13
14
  useColorScheme,
14
- getInitColorSchemeScript
15
+ getInitColorSchemeScript: deprecatedGetInitColorSchemeScript
15
16
  } = createCssVarsProvider({
16
17
  themeId: THEME_ID,
17
18
  theme: defaultTheme,
18
- attribute: 'data-mui-color-scheme',
19
- modeStorageKey: 'mui-mode',
20
- colorSchemeStorageKey: 'mui-color-scheme',
19
+ attribute: defaultConfig.attribute,
20
+ colorSchemeStorageKey: defaultConfig.colorSchemeStorageKey,
21
+ modeStorageKey: defaultConfig.modeStorageKey,
21
22
  defaultColorScheme: {
22
- light: 'light',
23
- dark: 'dark'
23
+ light: defaultConfig.defaultLightColorScheme,
24
+ dark: defaultConfig.defaultDarkColorScheme
24
25
  },
25
26
  resolveTheme: theme => {
26
27
  const newTheme = {
@@ -38,6 +39,7 @@ const {
38
39
  });
39
40
  let warnedOnce = false;
40
41
 
42
+ // TODO: remove in v7
41
43
  // eslint-disable-next-line @typescript-eslint/naming-convention
42
44
  function Experimental_CssVarsProvider(props) {
43
45
  if (!warnedOnce) {
@@ -48,4 +50,14 @@ function Experimental_CssVarsProvider(props) {
48
50
  ...props
49
51
  });
50
52
  }
51
- export { useColorScheme, getInitColorSchemeScript, CssVarsProvider, Experimental_CssVarsProvider };
53
+ let warnedInitScriptOnce = false;
54
+
55
+ // TODO: remove in v7
56
+ const getInitColorSchemeScript = params => {
57
+ if (!warnedInitScriptOnce) {
58
+ console.warn(['MUI: The getInitColorSchemeScript function has been deprecated.', '', "You should use `import InitColorSchemeScript from '@mui/material/InitColorSchemeScript'`", 'and replace the function call with `<InitColorSchemeScript />` instead.'].join('\n'));
59
+ warnedInitScriptOnce = true;
60
+ }
61
+ return deprecatedGetInitColorSchemeScript(params);
62
+ };
63
+ export { useColorScheme, CssVarsProvider, getInitColorSchemeScript, Experimental_CssVarsProvider };
@@ -45,7 +45,7 @@ Please use another name.` : _formatMuiErrorMessage(18));
45
45
  const traverse = (node, component) => {
46
46
  let key;
47
47
 
48
- // eslint-disable-next-line guard-for-in, no-restricted-syntax
48
+ // eslint-disable-next-line guard-for-in
49
49
  for (key in node) {
50
50
  const child = node[key];
51
51
  if (stateClasses.indexOf(key) !== -1 && Object.keys(child).length > 0) {
@@ -36,8 +36,8 @@ function getAutoHeightDuration(height) {
36
36
  }
37
37
  const constant = height / 36;
38
38
 
39
- // https://www.wolframalpha.com/input/?i=(4+%2B+15+*+(x+%2F+36+)+**+0.25+%2B+(x+%2F+36)+%2F+5)+*+10
40
- return Math.round((4 + 15 * constant ** 0.25 + constant / 5) * 10);
39
+ // https://www.desmos.com/calculator/vbrp3ggqet
40
+ return Math.min(Math.round((4 + 15 * constant ** 0.25 + constant / 5) * 10), 3000);
41
41
  }
42
42
  export default function createTransitions(inputTransitions) {
43
43
  const mergedEasing = {
@@ -8,6 +8,7 @@ import defaultShouldSkipGeneratingVar from './shouldSkipGeneratingVar';
8
8
  import createThemeWithoutVars from './createTheme';
9
9
  import getOverlayAlpha from './getOverlayAlpha';
10
10
  import defaultGetSelector from './createGetSelector';
11
+ import { stringifyTheme } from './stringifyTheme';
11
12
  const defaultDarkOverlays = [...Array(25)].map((_, index) => {
12
13
  if (index === 0) {
13
14
  return undefined;
@@ -351,5 +352,7 @@ export default function extendTheme(options = {}, ...args) {
351
352
  theme: this
352
353
  });
353
354
  };
355
+ theme.toRuntimeSource = stringifyTheme; // for Pigment CSS integration
356
+
354
357
  return theme;
355
358
  }
package/styles/index.d.ts CHANGED
@@ -100,6 +100,7 @@ export { default as withTheme } from './withTheme';
100
100
  export * from './CssVarsProvider';
101
101
 
102
102
  export { default as extendTheme } from './extendTheme';
103
+
103
104
  export type {
104
105
  ColorSchemeOverrides,
105
106
  SupportedColorScheme,
package/styles/index.js CHANGED
@@ -14,7 +14,7 @@ export { default as unstable_createMuiStrictModeTheme } from './createMuiStrictM
14
14
  export { default as createStyles } from './createStyles';
15
15
  export { getUnit as unstable_getUnit, toUnitless as unstable_toUnitless } from './cssUtils';
16
16
  export { default as responsiveFontSizes } from './responsiveFontSizes';
17
- export { duration, easing } from './createTransitions';
17
+ export { default as createTransitions, duration, easing } from './createTransitions';
18
18
  export { default as useTheme } from './useTheme';
19
19
  export { default as useThemeProps } from './useThemeProps';
20
20
  export { default as styled } from './styled';
@@ -1,5 +1,5 @@
1
1
  import { CSSObject, CSSInterpolation, Interpolation } from '@mui/system';
2
- import { PopperClassKey } from '@mui/base/Popper';
2
+ import { PopperClassKey } from '../Popper';
3
3
  import { ComponentsPropsList } from './props';
4
4
  import { AccordionActionsClassKey } from '../AccordionActions';
5
5
  import { AccordionClassKey } from '../Accordion';
@@ -1,6 +1,5 @@
1
1
  import { Breakpoint } from '@mui/system';
2
2
  import { Typography } from './createTypography';
3
- import { Theme } from './createTheme';
4
3
 
5
4
  export interface ResponsiveFontSizesOptions {
6
5
  breakpoints?: Breakpoint[];
@@ -9,7 +8,7 @@ export interface ResponsiveFontSizesOptions {
9
8
  variants?: Array<keyof Typography>;
10
9
  }
11
10
 
12
- export default function responsiveFontSizes(
13
- theme: Theme,
11
+ export default function responsiveFontSizes<T extends { typography: Typography }>(
12
+ theme: T,
14
13
  options?: ResponsiveFontSizesOptions,
15
- ): Theme;
14
+ ): T;
@@ -0,0 +1,20 @@
1
+ /**
2
+ * `baseTheme` usually comes from `createTheme` or `extendTheme`.
3
+ *
4
+ * This function is intended to be used with zero-runtime CSS-in-JS like Pigment CSS
5
+ * For example, in a Next.js project:
6
+ *
7
+ * ```js
8
+ * // next.config.js
9
+ * const { extendTheme } = require('@mui/material/styles');
10
+ *
11
+ * const theme = extendTheme();
12
+ * // `.toRuntimeSource` is Pigment CSS specific to create a theme that is available at runtime.
13
+ * theme.toRuntimeSource = stringifyTheme;
14
+ *
15
+ * module.exports = withPigment({
16
+ * theme,
17
+ * });
18
+ * ```
19
+ */
20
+ export declare function stringifyTheme(baseTheme?: Record<string, any>): string;
@@ -0,0 +1,55 @@
1
+ /* eslint-disable import/prefer-default-export */
2
+ import { isPlainObject } from '@mui/utils/deepmerge';
3
+ function isSerializable(val) {
4
+ return isPlainObject(val) || typeof val === 'undefined' || typeof val === 'string' || typeof val === 'boolean' || typeof val === 'number' || Array.isArray(val);
5
+ }
6
+
7
+ /**
8
+ * `baseTheme` usually comes from `createTheme` or `extendTheme`.
9
+ *
10
+ * This function is intended to be used with zero-runtime CSS-in-JS like Pigment CSS
11
+ * For example, in a Next.js project:
12
+ *
13
+ * ```js
14
+ * // next.config.js
15
+ * const { extendTheme } = require('@mui/material/styles');
16
+ *
17
+ * const theme = extendTheme();
18
+ * // `.toRuntimeSource` is Pigment CSS specific to create a theme that is available at runtime.
19
+ * theme.toRuntimeSource = stringifyTheme;
20
+ *
21
+ * module.exports = withPigment({
22
+ * theme,
23
+ * });
24
+ * ```
25
+ */
26
+ export function stringifyTheme(baseTheme = {}) {
27
+ const serializableTheme = {
28
+ ...baseTheme
29
+ };
30
+ function serializeTheme(object) {
31
+ const array = Object.entries(object);
32
+ // eslint-disable-next-line no-plusplus
33
+ for (let index = 0; index < array.length; index++) {
34
+ const [key, value] = array[index];
35
+ if (!isSerializable(value) || key.startsWith('unstable_')) {
36
+ delete object[key];
37
+ } else if (isPlainObject(value)) {
38
+ object[key] = {
39
+ ...value
40
+ };
41
+ serializeTheme(object[key]);
42
+ }
43
+ }
44
+ }
45
+ serializeTheme(serializableTheme);
46
+ return `import { createBreakpoints } from '@mui/system';
47
+ import { createTransitions } from '@mui/material/styles';
48
+
49
+ const theme = ${JSON.stringify(serializableTheme, null, 2)};
50
+
51
+ theme.breakpoints = createBreakpoints(theme.breakpoints || {});
52
+ theme.transitions = createTransitions(theme.transitions || {});
53
+
54
+ export default theme;`;
55
+ }