@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
@@ -0,0 +1,647 @@
1
+ 'use client';
2
+
3
+ import * as React from 'react';
4
+ import { unstable_ownerDocument as ownerDocument, unstable_useControlled as useControlled, unstable_useEnhancedEffect as useEnhancedEffect, unstable_useEventCallback as useEventCallback, unstable_useForkRef as useForkRef, unstable_isFocusVisible as isFocusVisible, visuallyHidden, clamp } from '@mui/utils';
5
+ import extractEventHandlers from '@mui/utils/extractEventHandlers';
6
+ import areArraysEqual from '../utils/areArraysEqual';
7
+ const INTENTIONAL_DRAG_COUNT_THRESHOLD = 2;
8
+ function asc(a, b) {
9
+ return a - b;
10
+ }
11
+ function findClosest(values, currentValue) {
12
+ const {
13
+ index: closestIndex
14
+ } = values.reduce((acc, value, index) => {
15
+ const distance = Math.abs(currentValue - value);
16
+ if (acc === null || distance < acc.distance || distance === acc.distance) {
17
+ return {
18
+ distance,
19
+ index
20
+ };
21
+ }
22
+ return acc;
23
+ }, null) ?? {};
24
+ return closestIndex;
25
+ }
26
+ function trackFinger(event, touchId) {
27
+ // The event is TouchEvent
28
+ if (touchId.current !== undefined && event.changedTouches) {
29
+ const touchEvent = event;
30
+ for (let i = 0; i < touchEvent.changedTouches.length; i += 1) {
31
+ const touch = touchEvent.changedTouches[i];
32
+ if (touch.identifier === touchId.current) {
33
+ return {
34
+ x: touch.clientX,
35
+ y: touch.clientY
36
+ };
37
+ }
38
+ }
39
+ return false;
40
+ }
41
+
42
+ // The event is MouseEvent
43
+ return {
44
+ x: event.clientX,
45
+ y: event.clientY
46
+ };
47
+ }
48
+ export function valueToPercent(value, min, max) {
49
+ return (value - min) * 100 / (max - min);
50
+ }
51
+ function percentToValue(percent, min, max) {
52
+ return (max - min) * percent + min;
53
+ }
54
+ function getDecimalPrecision(num) {
55
+ // This handles the case when num is very small (0.00000001), js will turn this into 1e-8.
56
+ // When num is bigger than 1 or less than -1 it won't get converted to this notation so it's fine.
57
+ if (Math.abs(num) < 1) {
58
+ const parts = num.toExponential().split('e-');
59
+ const matissaDecimalPart = parts[0].split('.')[1];
60
+ return (matissaDecimalPart ? matissaDecimalPart.length : 0) + parseInt(parts[1], 10);
61
+ }
62
+ const decimalPart = num.toString().split('.')[1];
63
+ return decimalPart ? decimalPart.length : 0;
64
+ }
65
+ function roundValueToStep(value, step, min) {
66
+ const nearest = Math.round((value - min) / step) * step + min;
67
+ return Number(nearest.toFixed(getDecimalPrecision(step)));
68
+ }
69
+ function setValueIndex({
70
+ values,
71
+ newValue,
72
+ index
73
+ }) {
74
+ const output = values.slice();
75
+ output[index] = newValue;
76
+ return output.sort(asc);
77
+ }
78
+ function focusThumb({
79
+ sliderRef,
80
+ activeIndex,
81
+ setActive
82
+ }) {
83
+ const doc = ownerDocument(sliderRef.current);
84
+ if (!sliderRef.current?.contains(doc.activeElement) || Number(doc?.activeElement?.getAttribute('data-index')) !== activeIndex) {
85
+ sliderRef.current?.querySelector(`[type="range"][data-index="${activeIndex}"]`).focus();
86
+ }
87
+ if (setActive) {
88
+ setActive(activeIndex);
89
+ }
90
+ }
91
+ function areValuesEqual(newValue, oldValue) {
92
+ if (typeof newValue === 'number' && typeof oldValue === 'number') {
93
+ return newValue === oldValue;
94
+ }
95
+ if (typeof newValue === 'object' && typeof oldValue === 'object') {
96
+ return areArraysEqual(newValue, oldValue);
97
+ }
98
+ return false;
99
+ }
100
+ const axisProps = {
101
+ horizontal: {
102
+ offset: percent => ({
103
+ left: `${percent}%`
104
+ }),
105
+ leap: percent => ({
106
+ width: `${percent}%`
107
+ })
108
+ },
109
+ 'horizontal-reverse': {
110
+ offset: percent => ({
111
+ right: `${percent}%`
112
+ }),
113
+ leap: percent => ({
114
+ width: `${percent}%`
115
+ })
116
+ },
117
+ vertical: {
118
+ offset: percent => ({
119
+ bottom: `${percent}%`
120
+ }),
121
+ leap: percent => ({
122
+ height: `${percent}%`
123
+ })
124
+ }
125
+ };
126
+ export const Identity = x => x;
127
+
128
+ // TODO: remove support for Safari < 13.
129
+ // https://caniuse.com/#search=touch-action
130
+ //
131
+ // Safari, on iOS, supports touch action since v13.
132
+ // Over 80% of the iOS phones are compatible
133
+ // in August 2020.
134
+ // Utilizing the CSS.supports method to check if touch-action is supported.
135
+ // Since CSS.supports is supported on all but Edge@12 and IE and touch-action
136
+ // is supported on both Edge@12 and IE if CSS.supports is not available that means that
137
+ // touch-action will be supported
138
+ let cachedSupportsTouchActionNone;
139
+ function doesSupportTouchActionNone() {
140
+ if (cachedSupportsTouchActionNone === undefined) {
141
+ if (typeof CSS !== 'undefined' && typeof CSS.supports === 'function') {
142
+ cachedSupportsTouchActionNone = CSS.supports('touch-action', 'none');
143
+ } else {
144
+ cachedSupportsTouchActionNone = true;
145
+ }
146
+ }
147
+ return cachedSupportsTouchActionNone;
148
+ }
149
+ /**
150
+ *
151
+ * Demos:
152
+ *
153
+ * - [Slider](https://next.mui.com/base-ui/react-slider/#hook)
154
+ *
155
+ * API:
156
+ *
157
+ * - [useSlider API](https://next.mui.com/base-ui/react-slider/hooks-api/#use-slider)
158
+ */
159
+ export function useSlider(parameters) {
160
+ const {
161
+ 'aria-labelledby': ariaLabelledby,
162
+ defaultValue,
163
+ disabled = false,
164
+ disableSwap = false,
165
+ isRtl = false,
166
+ marks: marksProp = false,
167
+ max = 100,
168
+ min = 0,
169
+ name,
170
+ onChange,
171
+ onChangeCommitted,
172
+ orientation = 'horizontal',
173
+ rootRef: ref,
174
+ scale = Identity,
175
+ step = 1,
176
+ shiftStep = 10,
177
+ tabIndex,
178
+ value: valueProp
179
+ } = parameters;
180
+ const touchId = React.useRef();
181
+ // We can't use the :active browser pseudo-classes.
182
+ // - The active state isn't triggered when clicking on the rail.
183
+ // - The active state isn't transferred when inversing a range slider.
184
+ const [active, setActive] = React.useState(-1);
185
+ const [open, setOpen] = React.useState(-1);
186
+ const [dragging, setDragging] = React.useState(false);
187
+ const moveCount = React.useRef(0);
188
+ const [valueDerived, setValueState] = useControlled({
189
+ controlled: valueProp,
190
+ default: defaultValue ?? min,
191
+ name: 'Slider'
192
+ });
193
+ const handleChange = onChange && ((event, value, thumbIndex) => {
194
+ // Redefine target to allow name and value to be read.
195
+ // This allows seamless integration with the most popular form libraries.
196
+ // https://github.com/mui/material-ui/issues/13485#issuecomment-676048492
197
+ // Clone the event to not override `target` of the original event.
198
+ const nativeEvent = event.nativeEvent || event;
199
+ // @ts-ignore The nativeEvent is function, not object
200
+ const clonedEvent = new nativeEvent.constructor(nativeEvent.type, nativeEvent);
201
+ Object.defineProperty(clonedEvent, 'target', {
202
+ writable: true,
203
+ value: {
204
+ value,
205
+ name
206
+ }
207
+ });
208
+ onChange(clonedEvent, value, thumbIndex);
209
+ });
210
+ const range = Array.isArray(valueDerived);
211
+ let values = range ? valueDerived.slice().sort(asc) : [valueDerived];
212
+ values = values.map(value => value == null ? min : clamp(value, min, max));
213
+ const marks = marksProp === true && step !== null ? [...Array(Math.floor((max - min) / step) + 1)].map((_, index) => ({
214
+ value: min + step * index
215
+ })) : marksProp || [];
216
+ const marksValues = marks.map(mark => mark.value);
217
+ const [focusedThumbIndex, setFocusedThumbIndex] = React.useState(-1);
218
+ const sliderRef = React.useRef();
219
+ const handleRef = useForkRef(ref, sliderRef);
220
+ const createHandleHiddenInputFocus = otherHandlers => event => {
221
+ const index = Number(event.currentTarget.getAttribute('data-index'));
222
+ if (isFocusVisible(event.target)) {
223
+ setFocusedThumbIndex(index);
224
+ }
225
+ setOpen(index);
226
+ otherHandlers?.onFocus?.(event);
227
+ };
228
+ const createHandleHiddenInputBlur = otherHandlers => event => {
229
+ if (!isFocusVisible(event.target)) {
230
+ setFocusedThumbIndex(-1);
231
+ }
232
+ setOpen(-1);
233
+ otherHandlers?.onBlur?.(event);
234
+ };
235
+ const changeValue = (event, valueInput) => {
236
+ const index = Number(event.currentTarget.getAttribute('data-index'));
237
+ const value = values[index];
238
+ const marksIndex = marksValues.indexOf(value);
239
+ let newValue = valueInput;
240
+ if (marks && step == null) {
241
+ const maxMarksValue = marksValues[marksValues.length - 1];
242
+ if (newValue > maxMarksValue) {
243
+ newValue = maxMarksValue;
244
+ } else if (newValue < marksValues[0]) {
245
+ newValue = marksValues[0];
246
+ } else {
247
+ newValue = newValue < value ? marksValues[marksIndex - 1] : marksValues[marksIndex + 1];
248
+ }
249
+ }
250
+ newValue = clamp(newValue, min, max);
251
+ if (range) {
252
+ // Bound the new value to the thumb's neighbours.
253
+ if (disableSwap) {
254
+ newValue = clamp(newValue, values[index - 1] || -Infinity, values[index + 1] || Infinity);
255
+ }
256
+ const previousValue = newValue;
257
+ newValue = setValueIndex({
258
+ values,
259
+ newValue,
260
+ index
261
+ });
262
+ let activeIndex = index;
263
+
264
+ // Potentially swap the index if needed.
265
+ if (!disableSwap) {
266
+ activeIndex = newValue.indexOf(previousValue);
267
+ }
268
+ focusThumb({
269
+ sliderRef,
270
+ activeIndex
271
+ });
272
+ }
273
+ setValueState(newValue);
274
+ setFocusedThumbIndex(index);
275
+ if (handleChange && !areValuesEqual(newValue, valueDerived)) {
276
+ handleChange(event, newValue, index);
277
+ }
278
+ if (onChangeCommitted) {
279
+ onChangeCommitted(event, newValue);
280
+ }
281
+ };
282
+ const createHandleHiddenInputKeyDown = otherHandlers => event => {
283
+ // The Shift + Up/Down keyboard shortcuts for moving the slider makes sense to be supported
284
+ // only if the step is defined. If the step is null, this means tha the marks are used for specifying the valid values.
285
+ if (step !== null) {
286
+ const index = Number(event.currentTarget.getAttribute('data-index'));
287
+ const value = values[index];
288
+ let newValue = null;
289
+ if ((event.key === 'ArrowLeft' || event.key === 'ArrowDown') && event.shiftKey || event.key === 'PageDown') {
290
+ newValue = Math.max(value - shiftStep, min);
291
+ } else if ((event.key === 'ArrowRight' || event.key === 'ArrowUp') && event.shiftKey || event.key === 'PageUp') {
292
+ newValue = Math.min(value + shiftStep, max);
293
+ }
294
+ if (newValue !== null) {
295
+ changeValue(event, newValue);
296
+ event.preventDefault();
297
+ }
298
+ }
299
+ otherHandlers?.onKeyDown?.(event);
300
+ };
301
+ useEnhancedEffect(() => {
302
+ if (disabled && sliderRef.current.contains(document.activeElement)) {
303
+ // This is necessary because Firefox and Safari will keep focus
304
+ // on a disabled element:
305
+ // https://codesandbox.io/p/sandbox/mui-pr-22247-forked-h151h?file=/src/App.js
306
+ // @ts-ignore
307
+ document.activeElement?.blur();
308
+ }
309
+ }, [disabled]);
310
+ if (disabled && active !== -1) {
311
+ setActive(-1);
312
+ }
313
+ if (disabled && focusedThumbIndex !== -1) {
314
+ setFocusedThumbIndex(-1);
315
+ }
316
+ const createHandleHiddenInputChange = otherHandlers => event => {
317
+ otherHandlers.onChange?.(event);
318
+ // @ts-ignore
319
+ changeValue(event, event.target.valueAsNumber);
320
+ };
321
+ const previousIndex = React.useRef();
322
+ let axis = orientation;
323
+ if (isRtl && orientation === 'horizontal') {
324
+ axis += '-reverse';
325
+ }
326
+ const getFingerNewValue = ({
327
+ finger,
328
+ move = false
329
+ }) => {
330
+ const {
331
+ current: slider
332
+ } = sliderRef;
333
+ const {
334
+ width,
335
+ height,
336
+ bottom,
337
+ left
338
+ } = slider.getBoundingClientRect();
339
+ let percent;
340
+ if (axis.indexOf('vertical') === 0) {
341
+ percent = (bottom - finger.y) / height;
342
+ } else {
343
+ percent = (finger.x - left) / width;
344
+ }
345
+ if (axis.indexOf('-reverse') !== -1) {
346
+ percent = 1 - percent;
347
+ }
348
+ let newValue;
349
+ newValue = percentToValue(percent, min, max);
350
+ if (step) {
351
+ newValue = roundValueToStep(newValue, step, min);
352
+ } else {
353
+ const closestIndex = findClosest(marksValues, newValue);
354
+ newValue = marksValues[closestIndex];
355
+ }
356
+ newValue = clamp(newValue, min, max);
357
+ let activeIndex = 0;
358
+ if (range) {
359
+ if (!move) {
360
+ activeIndex = findClosest(values, newValue);
361
+ } else {
362
+ activeIndex = previousIndex.current;
363
+ }
364
+
365
+ // Bound the new value to the thumb's neighbours.
366
+ if (disableSwap) {
367
+ newValue = clamp(newValue, values[activeIndex - 1] || -Infinity, values[activeIndex + 1] || Infinity);
368
+ }
369
+ const previousValue = newValue;
370
+ newValue = setValueIndex({
371
+ values,
372
+ newValue,
373
+ index: activeIndex
374
+ });
375
+
376
+ // Potentially swap the index if needed.
377
+ if (!(disableSwap && move)) {
378
+ activeIndex = newValue.indexOf(previousValue);
379
+ previousIndex.current = activeIndex;
380
+ }
381
+ }
382
+ return {
383
+ newValue,
384
+ activeIndex
385
+ };
386
+ };
387
+ const handleTouchMove = useEventCallback(nativeEvent => {
388
+ const finger = trackFinger(nativeEvent, touchId);
389
+ if (!finger) {
390
+ return;
391
+ }
392
+ moveCount.current += 1;
393
+
394
+ // Cancel move in case some other element consumed a mouseup event and it was not fired.
395
+ // @ts-ignore buttons doesn't not exists on touch event
396
+ if (nativeEvent.type === 'mousemove' && nativeEvent.buttons === 0) {
397
+ // eslint-disable-next-line @typescript-eslint/no-use-before-define
398
+ handleTouchEnd(nativeEvent);
399
+ return;
400
+ }
401
+ const {
402
+ newValue,
403
+ activeIndex
404
+ } = getFingerNewValue({
405
+ finger,
406
+ move: true
407
+ });
408
+ focusThumb({
409
+ sliderRef,
410
+ activeIndex,
411
+ setActive
412
+ });
413
+ setValueState(newValue);
414
+ if (!dragging && moveCount.current > INTENTIONAL_DRAG_COUNT_THRESHOLD) {
415
+ setDragging(true);
416
+ }
417
+ if (handleChange && !areValuesEqual(newValue, valueDerived)) {
418
+ handleChange(nativeEvent, newValue, activeIndex);
419
+ }
420
+ });
421
+ const handleTouchEnd = useEventCallback(nativeEvent => {
422
+ const finger = trackFinger(nativeEvent, touchId);
423
+ setDragging(false);
424
+ if (!finger) {
425
+ return;
426
+ }
427
+ const {
428
+ newValue
429
+ } = getFingerNewValue({
430
+ finger,
431
+ move: true
432
+ });
433
+ setActive(-1);
434
+ if (nativeEvent.type === 'touchend') {
435
+ setOpen(-1);
436
+ }
437
+ if (onChangeCommitted) {
438
+ onChangeCommitted(nativeEvent, newValue);
439
+ }
440
+ touchId.current = undefined;
441
+
442
+ // eslint-disable-next-line @typescript-eslint/no-use-before-define
443
+ stopListening();
444
+ });
445
+ const handleTouchStart = useEventCallback(nativeEvent => {
446
+ if (disabled) {
447
+ return;
448
+ }
449
+ // If touch-action: none; is not supported we need to prevent the scroll manually.
450
+ if (!doesSupportTouchActionNone()) {
451
+ nativeEvent.preventDefault();
452
+ }
453
+ const touch = nativeEvent.changedTouches[0];
454
+ if (touch != null) {
455
+ // A number that uniquely identifies the current finger in the touch session.
456
+ touchId.current = touch.identifier;
457
+ }
458
+ const finger = trackFinger(nativeEvent, touchId);
459
+ if (finger !== false) {
460
+ const {
461
+ newValue,
462
+ activeIndex
463
+ } = getFingerNewValue({
464
+ finger
465
+ });
466
+ focusThumb({
467
+ sliderRef,
468
+ activeIndex,
469
+ setActive
470
+ });
471
+ setValueState(newValue);
472
+ if (handleChange && !areValuesEqual(newValue, valueDerived)) {
473
+ handleChange(nativeEvent, newValue, activeIndex);
474
+ }
475
+ }
476
+ moveCount.current = 0;
477
+ const doc = ownerDocument(sliderRef.current);
478
+ doc.addEventListener('touchmove', handleTouchMove, {
479
+ passive: true
480
+ });
481
+ doc.addEventListener('touchend', handleTouchEnd, {
482
+ passive: true
483
+ });
484
+ });
485
+ const stopListening = React.useCallback(() => {
486
+ const doc = ownerDocument(sliderRef.current);
487
+ doc.removeEventListener('mousemove', handleTouchMove);
488
+ doc.removeEventListener('mouseup', handleTouchEnd);
489
+ doc.removeEventListener('touchmove', handleTouchMove);
490
+ doc.removeEventListener('touchend', handleTouchEnd);
491
+ }, [handleTouchEnd, handleTouchMove]);
492
+ React.useEffect(() => {
493
+ const {
494
+ current: slider
495
+ } = sliderRef;
496
+ slider.addEventListener('touchstart', handleTouchStart, {
497
+ passive: doesSupportTouchActionNone()
498
+ });
499
+ return () => {
500
+ slider.removeEventListener('touchstart', handleTouchStart);
501
+ stopListening();
502
+ };
503
+ }, [stopListening, handleTouchStart]);
504
+ React.useEffect(() => {
505
+ if (disabled) {
506
+ stopListening();
507
+ }
508
+ }, [disabled, stopListening]);
509
+ const createHandleMouseDown = otherHandlers => event => {
510
+ otherHandlers.onMouseDown?.(event);
511
+ if (disabled) {
512
+ return;
513
+ }
514
+ if (event.defaultPrevented) {
515
+ return;
516
+ }
517
+
518
+ // Only handle left clicks
519
+ if (event.button !== 0) {
520
+ return;
521
+ }
522
+
523
+ // Avoid text selection
524
+ event.preventDefault();
525
+ const finger = trackFinger(event, touchId);
526
+ if (finger !== false) {
527
+ const {
528
+ newValue,
529
+ activeIndex
530
+ } = getFingerNewValue({
531
+ finger
532
+ });
533
+ focusThumb({
534
+ sliderRef,
535
+ activeIndex,
536
+ setActive
537
+ });
538
+ setValueState(newValue);
539
+ if (handleChange && !areValuesEqual(newValue, valueDerived)) {
540
+ handleChange(event, newValue, activeIndex);
541
+ }
542
+ }
543
+ moveCount.current = 0;
544
+ const doc = ownerDocument(sliderRef.current);
545
+ doc.addEventListener('mousemove', handleTouchMove, {
546
+ passive: true
547
+ });
548
+ doc.addEventListener('mouseup', handleTouchEnd);
549
+ };
550
+ const trackOffset = valueToPercent(range ? values[0] : min, min, max);
551
+ const trackLeap = valueToPercent(values[values.length - 1], min, max) - trackOffset;
552
+ const getRootProps = (externalProps = {}) => {
553
+ const externalHandlers = extractEventHandlers(externalProps);
554
+ const ownEventHandlers = {
555
+ onMouseDown: createHandleMouseDown(externalHandlers || {})
556
+ };
557
+ const mergedEventHandlers = {
558
+ ...externalHandlers,
559
+ ...ownEventHandlers
560
+ };
561
+ return {
562
+ ...externalProps,
563
+ ref: handleRef,
564
+ ...mergedEventHandlers
565
+ };
566
+ };
567
+ const createHandleMouseOver = otherHandlers => event => {
568
+ otherHandlers.onMouseOver?.(event);
569
+ const index = Number(event.currentTarget.getAttribute('data-index'));
570
+ setOpen(index);
571
+ };
572
+ const createHandleMouseLeave = otherHandlers => event => {
573
+ otherHandlers.onMouseLeave?.(event);
574
+ setOpen(-1);
575
+ };
576
+ const getThumbProps = (externalProps = {}) => {
577
+ const externalHandlers = extractEventHandlers(externalProps);
578
+ const ownEventHandlers = {
579
+ onMouseOver: createHandleMouseOver(externalHandlers || {}),
580
+ onMouseLeave: createHandleMouseLeave(externalHandlers || {})
581
+ };
582
+ return {
583
+ ...externalProps,
584
+ ...externalHandlers,
585
+ ...ownEventHandlers
586
+ };
587
+ };
588
+ const getThumbStyle = index => {
589
+ return {
590
+ // So the non active thumb doesn't show its label on hover.
591
+ pointerEvents: active !== -1 && active !== index ? 'none' : undefined
592
+ };
593
+ };
594
+ const getHiddenInputProps = (externalProps = {}) => {
595
+ const externalHandlers = extractEventHandlers(externalProps);
596
+ const ownEventHandlers = {
597
+ onChange: createHandleHiddenInputChange(externalHandlers || {}),
598
+ onFocus: createHandleHiddenInputFocus(externalHandlers || {}),
599
+ onBlur: createHandleHiddenInputBlur(externalHandlers || {}),
600
+ onKeyDown: createHandleHiddenInputKeyDown(externalHandlers || {})
601
+ };
602
+ const mergedEventHandlers = {
603
+ ...externalHandlers,
604
+ ...ownEventHandlers
605
+ };
606
+ return {
607
+ tabIndex,
608
+ 'aria-labelledby': ariaLabelledby,
609
+ 'aria-orientation': orientation,
610
+ 'aria-valuemax': scale(max),
611
+ 'aria-valuemin': scale(min),
612
+ name,
613
+ type: 'range',
614
+ min: parameters.min,
615
+ max: parameters.max,
616
+ step: parameters.step === null && parameters.marks ? 'any' : parameters.step ?? undefined,
617
+ disabled,
618
+ ...externalProps,
619
+ ...mergedEventHandlers,
620
+ style: {
621
+ ...visuallyHidden,
622
+ direction: isRtl ? 'rtl' : 'ltr',
623
+ // So that VoiceOver's focus indicator matches the thumb's dimensions
624
+ width: '100%',
625
+ height: '100%'
626
+ }
627
+ };
628
+ };
629
+ return {
630
+ active,
631
+ axis: axis,
632
+ axisProps,
633
+ dragging,
634
+ focusedThumbIndex,
635
+ getHiddenInputProps,
636
+ getRootProps,
637
+ getThumbProps,
638
+ marks: marks,
639
+ open,
640
+ range,
641
+ rootRef: handleRef,
642
+ trackLeap,
643
+ trackOffset,
644
+ values,
645
+ getThumbStyle
646
+ };
647
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -2,18 +2,17 @@
2
2
 
3
3
  import * as React from 'react';
4
4
  import PropTypes from 'prop-types';
5
- import { useSlotProps } from '@mui/base/utils';
6
5
  import composeClasses from '@mui/utils/composeClasses';
7
- import { ClickAwayListener } from '@mui/base/ClickAwayListener';
8
- import { useSnackbar } from '@mui/base/useSnackbar';
9
- import { styled, createUseThemeProps } from '../zero-styled';
10
- import useTheme from '../styles/useTheme';
6
+ import useSlotProps from '@mui/utils/useSlotProps';
7
+ import useSnackbar from './useSnackbar';
8
+ import ClickAwayListener from '../ClickAwayListener';
9
+ import { styled, useTheme } from '../zero-styled';
10
+ import { useDefaultProps } from '../DefaultPropsProvider';
11
11
  import capitalize from '../utils/capitalize';
12
12
  import Grow from '../Grow';
13
13
  import SnackbarContent from '../SnackbarContent';
14
14
  import { getSnackbarUtilityClass } from './snackbarClasses';
15
15
  import { jsx as _jsx } from "react/jsx-runtime";
16
- const useThemeProps = createUseThemeProps('MuiSnackbar');
17
16
  const useUtilityClasses = ownerState => {
18
17
  const {
19
18
  classes,
@@ -99,7 +98,7 @@ const SnackbarRoot = styled('div', {
99
98
  }]
100
99
  }));
101
100
  const Snackbar = /*#__PURE__*/React.forwardRef(function Snackbar(inProps, ref) {
102
- const props = useThemeProps({
101
+ const props = useDefaultProps({
103
102
  props: inProps,
104
103
  name: 'MuiSnackbar'
105
104
  });