@mui/material 9.0.0-alpha.3 → 9.0.0-beta.0

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 (480) hide show
  1. package/Accordion/Accordion.d.mts +0 -14
  2. package/Accordion/Accordion.d.ts +0 -14
  3. package/Accordion/Accordion.js +3 -25
  4. package/Accordion/Accordion.mjs +3 -25
  5. package/AccordionSummary/AccordionSummary.js +1 -1
  6. package/AccordionSummary/AccordionSummary.mjs +1 -1
  7. package/AccordionSummary/accordionSummaryClasses.d.mts +0 -5
  8. package/AccordionSummary/accordionSummaryClasses.d.ts +0 -5
  9. package/AccordionSummary/accordionSummaryClasses.js +1 -1
  10. package/AccordionSummary/accordionSummaryClasses.mjs +1 -1
  11. package/Alert/Alert.d.mts +0 -23
  12. package/Alert/Alert.d.ts +0 -23
  13. package/Alert/Alert.js +4 -36
  14. package/Alert/Alert.mjs +4 -36
  15. package/Alert/alertClasses.d.mts +0 -72
  16. package/Alert/alertClasses.d.ts +0 -72
  17. package/Alert/alertClasses.js +1 -1
  18. package/Alert/alertClasses.mjs +1 -1
  19. package/Autocomplete/Autocomplete.d.mts +10 -60
  20. package/Autocomplete/Autocomplete.d.ts +10 -60
  21. package/Autocomplete/Autocomplete.js +33 -99
  22. package/Autocomplete/Autocomplete.mjs +33 -99
  23. package/Avatar/Avatar.d.mts +0 -8
  24. package/Avatar/Avatar.d.ts +0 -8
  25. package/Avatar/Avatar.js +13 -35
  26. package/Avatar/Avatar.mjs +13 -35
  27. package/AvatarGroup/AvatarGroup.d.mts +0 -15
  28. package/AvatarGroup/AvatarGroup.d.ts +0 -15
  29. package/AvatarGroup/AvatarGroup.js +1 -18
  30. package/AvatarGroup/AvatarGroup.mjs +1 -18
  31. package/Backdrop/Backdrop.d.mts +1 -31
  32. package/Backdrop/Backdrop.d.ts +1 -31
  33. package/Backdrop/Backdrop.js +2 -42
  34. package/Backdrop/Backdrop.mjs +2 -42
  35. package/Badge/Badge.d.mts +0 -20
  36. package/Badge/Badge.d.ts +0 -20
  37. package/Badge/Badge.js +2 -35
  38. package/Badge/Badge.mjs +2 -35
  39. package/Button/Button.js +6 -6
  40. package/Button/Button.mjs +6 -6
  41. package/Button/buttonClasses.d.mts +0 -132
  42. package/Button/buttonClasses.d.ts +0 -132
  43. package/Button/buttonClasses.js +1 -1
  44. package/Button/buttonClasses.mjs +1 -1
  45. package/ButtonBase/ButtonBase.js +16 -2
  46. package/ButtonBase/ButtonBase.mjs +16 -2
  47. package/ButtonGroup/ButtonGroup.js +1 -9
  48. package/ButtonGroup/ButtonGroup.mjs +1 -9
  49. package/ButtonGroup/buttonGroupClasses.d.mts +0 -68
  50. package/ButtonGroup/buttonGroupClasses.d.ts +0 -68
  51. package/ButtonGroup/buttonGroupClasses.js +1 -1
  52. package/ButtonGroup/buttonGroupClasses.mjs +1 -1
  53. package/CHANGELOG.md +224 -3
  54. package/CardHeader/CardHeader.d.mts +13 -21
  55. package/CardHeader/CardHeader.d.ts +13 -21
  56. package/CardHeader/CardHeader.js +3 -21
  57. package/CardHeader/CardHeader.mjs +3 -21
  58. package/Checkbox/Checkbox.js +1 -7
  59. package/Checkbox/Checkbox.mjs +1 -7
  60. package/Chip/Chip.js +48 -54
  61. package/Chip/Chip.mjs +48 -54
  62. package/Chip/chipClasses.d.mts +0 -104
  63. package/Chip/chipClasses.d.ts +0 -104
  64. package/Chip/chipClasses.js +1 -1
  65. package/Chip/chipClasses.mjs +1 -1
  66. package/CircularProgress/CircularProgress.js +2 -2
  67. package/CircularProgress/CircularProgress.mjs +2 -2
  68. package/CircularProgress/circularProgressClasses.d.mts +0 -8
  69. package/CircularProgress/circularProgressClasses.d.ts +0 -8
  70. package/CircularProgress/circularProgressClasses.js +1 -1
  71. package/CircularProgress/circularProgressClasses.mjs +1 -1
  72. package/Dialog/Dialog.d.mts +0 -21
  73. package/Dialog/Dialog.d.ts +0 -21
  74. package/Dialog/Dialog.js +36 -73
  75. package/Dialog/Dialog.mjs +36 -73
  76. package/Dialog/dialogClasses.d.mts +0 -8
  77. package/Dialog/dialogClasses.d.ts +0 -8
  78. package/Dialog/dialogClasses.js +1 -1
  79. package/Dialog/dialogClasses.mjs +1 -1
  80. package/Divider/Divider.d.mts +0 -6
  81. package/Divider/Divider.d.ts +0 -6
  82. package/Divider/Divider.js +2 -18
  83. package/Divider/Divider.mjs +2 -18
  84. package/Divider/dividerClasses.d.mts +0 -8
  85. package/Divider/dividerClasses.d.ts +0 -8
  86. package/Divider/dividerClasses.js +1 -1
  87. package/Divider/dividerClasses.mjs +1 -1
  88. package/Drawer/Drawer.d.mts +0 -12
  89. package/Drawer/Drawer.d.ts +0 -12
  90. package/Drawer/Drawer.js +6 -40
  91. package/Drawer/Drawer.mjs +6 -40
  92. package/Drawer/drawerClasses.d.mts +0 -32
  93. package/Drawer/drawerClasses.d.ts +0 -32
  94. package/Drawer/drawerClasses.js +1 -1
  95. package/Drawer/drawerClasses.mjs +1 -1
  96. package/FilledInput/FilledInput.js +3 -32
  97. package/FilledInput/FilledInput.mjs +3 -32
  98. package/FormControlLabel/FormControlLabel.d.mts +1 -14
  99. package/FormControlLabel/FormControlLabel.d.ts +1 -14
  100. package/FormControlLabel/FormControlLabel.js +1 -13
  101. package/FormControlLabel/FormControlLabel.mjs +1 -13
  102. package/ImageListItemBar/ImageListItemBar.js +4 -17
  103. package/ImageListItemBar/ImageListItemBar.mjs +4 -17
  104. package/ImageListItemBar/imageListItemBarClasses.d.mts +0 -16
  105. package/ImageListItemBar/imageListItemBarClasses.d.ts +0 -16
  106. package/ImageListItemBar/imageListItemBarClasses.js +1 -1
  107. package/ImageListItemBar/imageListItemBarClasses.mjs +1 -1
  108. package/Input/Input.js +5 -33
  109. package/Input/Input.mjs +5 -33
  110. package/Input/inputClasses.d.mts +0 -16
  111. package/Input/inputClasses.d.ts +0 -16
  112. package/InputBase/InputBase.d.mts +0 -27
  113. package/InputBase/InputBase.d.ts +0 -27
  114. package/InputBase/InputBase.js +6 -35
  115. package/InputBase/InputBase.mjs +6 -35
  116. package/InputBase/inputBaseClasses.d.mts +0 -20
  117. package/InputBase/inputBaseClasses.d.ts +0 -20
  118. package/InputBase/inputBaseClasses.js +1 -1
  119. package/InputBase/inputBaseClasses.mjs +1 -1
  120. package/InputLabel/InputLabel.js +1 -1
  121. package/InputLabel/InputLabel.mjs +1 -1
  122. package/LinearProgress/LinearProgress.js +6 -18
  123. package/LinearProgress/LinearProgress.mjs +6 -18
  124. package/LinearProgress/linearProgressClasses.d.mts +0 -36
  125. package/LinearProgress/linearProgressClasses.d.ts +0 -36
  126. package/LinearProgress/linearProgressClasses.js +1 -1
  127. package/LinearProgress/linearProgressClasses.mjs +1 -1
  128. package/Link/Link.d.mts +1 -1
  129. package/Link/Link.d.ts +1 -1
  130. package/ListItem/ListItem.d.mts +2 -36
  131. package/ListItem/ListItem.d.ts +2 -36
  132. package/ListItem/ListItem.js +27 -152
  133. package/ListItem/ListItem.mjs +27 -152
  134. package/ListItem/listItemClasses.d.mts +2 -4
  135. package/ListItem/listItemClasses.d.ts +2 -4
  136. package/ListItem/listItemClasses.js +1 -1
  137. package/ListItem/listItemClasses.mjs +1 -1
  138. package/ListItemButton/ListItemButton.d.mts +1 -2
  139. package/ListItemButton/ListItemButton.d.ts +1 -2
  140. package/ListItemButton/ListItemButton.js +1 -2
  141. package/ListItemButton/ListItemButton.mjs +1 -2
  142. package/ListItemSecondaryAction/ListItemSecondaryAction.d.mts +10 -6
  143. package/ListItemSecondaryAction/ListItemSecondaryAction.d.ts +10 -6
  144. package/ListItemSecondaryAction/ListItemSecondaryAction.js +7 -2
  145. package/ListItemSecondaryAction/ListItemSecondaryAction.mjs +7 -2
  146. package/ListItemText/ListItemText.d.mts +12 -20
  147. package/ListItemText/ListItemText.d.ts +12 -20
  148. package/ListItemText/ListItemText.js +2 -20
  149. package/ListItemText/ListItemText.mjs +2 -20
  150. package/Menu/Menu.d.mts +0 -13
  151. package/Menu/Menu.d.ts +0 -13
  152. package/Menu/Menu.js +5 -44
  153. package/Menu/Menu.mjs +5 -44
  154. package/MenuItem/MenuItem.js +21 -1
  155. package/MenuItem/MenuItem.mjs +23 -1
  156. package/MenuList/MenuList.js +2 -4
  157. package/MenuList/MenuList.mjs +2 -4
  158. package/MobileStepper/MobileStepper.d.mts +0 -5
  159. package/MobileStepper/MobileStepper.d.ts +0 -5
  160. package/MobileStepper/MobileStepper.js +1 -10
  161. package/MobileStepper/MobileStepper.mjs +1 -10
  162. package/Modal/Modal.d.mts +1 -41
  163. package/Modal/Modal.d.ts +1 -41
  164. package/Modal/Modal.js +5 -58
  165. package/Modal/Modal.mjs +5 -58
  166. package/OutlinedInput/OutlinedInput.js +2 -14
  167. package/OutlinedInput/OutlinedInput.mjs +2 -14
  168. package/OutlinedInput/outlinedInputClasses.d.mts +0 -16
  169. package/OutlinedInput/outlinedInputClasses.d.ts +0 -16
  170. package/PaginationItem/PaginationItem.d.mts +0 -15
  171. package/PaginationItem/PaginationItem.d.ts +0 -15
  172. package/PaginationItem/PaginationItem.js +3 -24
  173. package/PaginationItem/PaginationItem.mjs +3 -24
  174. package/PaginationItem/paginationItemClasses.d.mts +0 -16
  175. package/PaginationItem/paginationItemClasses.d.ts +0 -16
  176. package/PaginationItem/paginationItemClasses.js +1 -1
  177. package/PaginationItem/paginationItemClasses.mjs +1 -1
  178. package/Popover/Popover.d.mts +4 -48
  179. package/Popover/Popover.d.ts +4 -48
  180. package/Popover/Popover.js +4 -64
  181. package/Popover/Popover.mjs +4 -64
  182. package/Popper/Popper.d.mts +0 -17
  183. package/Popper/Popper.d.ts +0 -17
  184. package/Popper/Popper.js +2 -26
  185. package/Popper/Popper.mjs +2 -26
  186. package/Popper/index.d.mts +1 -0
  187. package/Popper/index.d.ts +1 -0
  188. package/Popper/index.js +11 -2
  189. package/Popper/index.mjs +1 -0
  190. package/Radio/Radio.js +1 -13
  191. package/Radio/Radio.mjs +1 -13
  192. package/Rating/Rating.d.mts +0 -9
  193. package/Rating/Rating.d.ts +0 -9
  194. package/Rating/Rating.js +1 -17
  195. package/Rating/Rating.mjs +1 -17
  196. package/Select/SelectInput.js +52 -58
  197. package/Select/SelectInput.mjs +49 -55
  198. package/Select/index.d.mts +1 -0
  199. package/Select/index.d.ts +1 -0
  200. package/Select/index.js +12 -0
  201. package/Select/index.mjs +1 -0
  202. package/Select/selectClasses.d.mts +0 -12
  203. package/Select/selectClasses.d.ts +0 -12
  204. package/Select/selectClasses.js +1 -1
  205. package/Select/selectClasses.mjs +1 -1
  206. package/Select/utils/SelectFocusSourceContext.d.mts +4 -0
  207. package/Select/utils/SelectFocusSourceContext.d.ts +4 -0
  208. package/Select/utils/SelectFocusSourceContext.js +19 -0
  209. package/Select/utils/SelectFocusSourceContext.mjs +13 -0
  210. package/Select/utils/areEqualValues.d.mts +1 -0
  211. package/Select/utils/areEqualValues.d.ts +1 -0
  212. package/Select/utils/areEqualValues.js +14 -0
  213. package/Select/utils/areEqualValues.mjs +8 -0
  214. package/Select/utils/getOpenInteractionType.d.mts +1 -0
  215. package/Select/utils/getOpenInteractionType.d.ts +1 -0
  216. package/Select/utils/getOpenInteractionType.js +18 -0
  217. package/Select/utils/getOpenInteractionType.mjs +12 -0
  218. package/Select/utils/index.d.mts +4 -0
  219. package/Select/utils/index.d.ts +4 -0
  220. package/Select/utils/index.js +40 -0
  221. package/Select/utils/index.mjs +4 -0
  222. package/Select/utils/isEmpty.d.mts +1 -0
  223. package/Select/utils/isEmpty.d.ts +1 -0
  224. package/Select/utils/isEmpty.js +9 -0
  225. package/Select/utils/isEmpty.mjs +3 -0
  226. package/Slider/Slider.d.mts +105 -78
  227. package/Slider/Slider.d.ts +105 -78
  228. package/Slider/Slider.js +44 -127
  229. package/Slider/Slider.mjs +44 -127
  230. package/Slider/sliderClasses.d.mts +0 -28
  231. package/Slider/sliderClasses.d.ts +0 -28
  232. package/Slider/sliderClasses.js +1 -1
  233. package/Slider/sliderClasses.mjs +1 -1
  234. package/Slider/useSlider.js +50 -14
  235. package/Slider/useSlider.mjs +50 -14
  236. package/Snackbar/Snackbar.d.mts +1 -27
  237. package/Snackbar/Snackbar.d.ts +1 -27
  238. package/Snackbar/Snackbar.js +5 -58
  239. package/Snackbar/Snackbar.mjs +5 -58
  240. package/SpeedDial/SpeedDial.d.mts +0 -13
  241. package/SpeedDial/SpeedDial.d.ts +0 -13
  242. package/SpeedDial/SpeedDial.js +15 -40
  243. package/SpeedDial/SpeedDial.mjs +15 -40
  244. package/SpeedDialAction/SpeedDialAction.d.mts +0 -28
  245. package/SpeedDialAction/SpeedDialAction.d.ts +0 -28
  246. package/SpeedDialAction/SpeedDialAction.js +5 -46
  247. package/SpeedDialAction/SpeedDialAction.mjs +5 -46
  248. package/Stack/Stack.d.mts +2 -2
  249. package/Stack/Stack.d.ts +2 -2
  250. package/StepConnector/StepConnector.js +2 -8
  251. package/StepConnector/StepConnector.mjs +2 -8
  252. package/StepConnector/stepConnectorClasses.d.mts +0 -8
  253. package/StepConnector/stepConnectorClasses.d.ts +0 -8
  254. package/StepConnector/stepConnectorClasses.js +1 -1
  255. package/StepConnector/stepConnectorClasses.mjs +1 -1
  256. package/StepContent/StepContent.d.mts +1 -16
  257. package/StepContent/StepContent.d.ts +1 -16
  258. package/StepContent/StepContent.js +3 -22
  259. package/StepContent/StepContent.mjs +3 -22
  260. package/StepLabel/StepLabel.d.mts +0 -22
  261. package/StepLabel/StepLabel.d.ts +0 -22
  262. package/StepLabel/StepLabel.js +2 -31
  263. package/StepLabel/StepLabel.mjs +2 -31
  264. package/SvgIcon/createSvgIcon.d.mts +2 -0
  265. package/SvgIcon/createSvgIcon.d.ts +2 -0
  266. package/SvgIcon/createSvgIcon.js +31 -0
  267. package/SvgIcon/createSvgIcon.mjs +26 -0
  268. package/SvgIcon/index.d.mts +1 -0
  269. package/SvgIcon/index.d.ts +1 -0
  270. package/SvgIcon/index.js +8 -0
  271. package/SvgIcon/index.mjs +1 -0
  272. package/SwipeableDrawer/SwipeableDrawer.d.mts +0 -5
  273. package/SwipeableDrawer/SwipeableDrawer.d.ts +0 -5
  274. package/SwipeableDrawer/SwipeableDrawer.js +6 -37
  275. package/SwipeableDrawer/SwipeableDrawer.mjs +6 -37
  276. package/Switch/Switch.js +0 -11
  277. package/Switch/Switch.mjs +0 -11
  278. package/Tab/Tab.js +1 -3
  279. package/Tab/Tab.mjs +1 -3
  280. package/Tab/tabClasses.d.mts +0 -4
  281. package/Tab/tabClasses.d.ts +0 -4
  282. package/Tab/tabClasses.js +1 -1
  283. package/Tab/tabClasses.mjs +1 -1
  284. package/TablePagination/TablePagination.d.mts +1 -25
  285. package/TablePagination/TablePagination.d.ts +1 -25
  286. package/TablePagination/TablePagination.js +5 -31
  287. package/TablePagination/TablePagination.mjs +5 -31
  288. package/TablePaginationActions/TablePaginationActions.d.mts +0 -10
  289. package/TablePaginationActions/TablePaginationActions.d.ts +0 -10
  290. package/TablePaginationActions/TablePaginationActions.js +2 -14
  291. package/TablePaginationActions/TablePaginationActions.mjs +2 -14
  292. package/TableSortLabel/TableSortLabel.js +2 -7
  293. package/TableSortLabel/TableSortLabel.mjs +2 -7
  294. package/TableSortLabel/tableSortLabelClasses.d.mts +0 -8
  295. package/TableSortLabel/tableSortLabelClasses.d.ts +0 -8
  296. package/TableSortLabel/tableSortLabelClasses.js +1 -1
  297. package/TableSortLabel/tableSortLabelClasses.mjs +1 -1
  298. package/Tabs/Tabs.d.mts +2 -33
  299. package/Tabs/Tabs.d.ts +2 -33
  300. package/Tabs/Tabs.js +11 -41
  301. package/Tabs/Tabs.mjs +11 -41
  302. package/Tabs/tabsClasses.d.mts +0 -6
  303. package/Tabs/tabsClasses.d.ts +0 -6
  304. package/Tabs/tabsClasses.js +1 -1
  305. package/Tabs/tabsClasses.mjs +1 -1
  306. package/TextField/TextField.d.mts +6 -49
  307. package/TextField/TextField.d.ts +6 -49
  308. package/TextField/TextField.js +18 -53
  309. package/TextField/TextField.mjs +18 -53
  310. package/ToggleButtonGroup/ToggleButtonGroup.js +1 -4
  311. package/ToggleButtonGroup/ToggleButtonGroup.mjs +1 -4
  312. package/ToggleButtonGroup/toggleButtonGroupClasses.d.mts +0 -8
  313. package/ToggleButtonGroup/toggleButtonGroupClasses.d.ts +0 -8
  314. package/ToggleButtonGroup/toggleButtonGroupClasses.js +1 -1
  315. package/ToggleButtonGroup/toggleButtonGroupClasses.mjs +1 -1
  316. package/Tooltip/Tooltip.d.mts +1 -55
  317. package/Tooltip/Tooltip.d.ts +1 -55
  318. package/Tooltip/Tooltip.js +9 -87
  319. package/Tooltip/Tooltip.mjs +9 -87
  320. package/Typography/Typography.d.mts +3 -9
  321. package/Typography/Typography.d.ts +3 -9
  322. package/Typography/Typography.js +5 -43
  323. package/Typography/Typography.mjs +6 -44
  324. package/Typography/typographyClasses.d.mts +0 -5
  325. package/Typography/typographyClasses.d.ts +0 -5
  326. package/Typography/typographyClasses.js +1 -1
  327. package/Typography/typographyClasses.mjs +1 -1
  328. package/index.d.mts +0 -2
  329. package/index.d.ts +0 -2
  330. package/index.js +1 -9
  331. package/index.mjs +1 -2
  332. package/internal/SwitchBase.d.mts +0 -10
  333. package/internal/SwitchBase.d.ts +0 -10
  334. package/internal/SwitchBase.js +1 -16
  335. package/internal/SwitchBase.mjs +1 -16
  336. package/locale/amET.js +4 -1
  337. package/locale/amET.mjs +3 -1
  338. package/locale/arEG.js +4 -1
  339. package/locale/arEG.mjs +3 -1
  340. package/locale/arSA.js +4 -1
  341. package/locale/arSA.mjs +3 -1
  342. package/locale/arSD.js +4 -1
  343. package/locale/arSD.mjs +3 -1
  344. package/locale/beBY.js +4 -1
  345. package/locale/beBY.mjs +3 -1
  346. package/locale/bnBD.js +4 -1
  347. package/locale/bnBD.mjs +3 -1
  348. package/locale/caES.js +4 -1
  349. package/locale/caES.mjs +3 -1
  350. package/locale/csCZ.js +4 -1
  351. package/locale/csCZ.mjs +3 -1
  352. package/locale/daDK.js +4 -1
  353. package/locale/daDK.mjs +3 -1
  354. package/locale/deDE.js +4 -1
  355. package/locale/deDE.mjs +3 -1
  356. package/locale/elGR.js +4 -1
  357. package/locale/elGR.mjs +3 -1
  358. package/locale/esES.js +4 -1
  359. package/locale/esES.mjs +3 -1
  360. package/locale/etEE.js +4 -1
  361. package/locale/etEE.mjs +3 -1
  362. package/locale/faIR.js +4 -1
  363. package/locale/faIR.mjs +3 -1
  364. package/locale/fiFI.js +4 -1
  365. package/locale/fiFI.mjs +3 -1
  366. package/locale/frFR.js +4 -1
  367. package/locale/frFR.mjs +3 -1
  368. package/locale/heIL.js +4 -1
  369. package/locale/heIL.mjs +3 -1
  370. package/locale/hiIN.js +4 -1
  371. package/locale/hiIN.mjs +3 -1
  372. package/locale/hrHR.js +5 -1
  373. package/locale/hrHR.mjs +4 -1
  374. package/locale/isIS.js +4 -1
  375. package/locale/isIS.mjs +3 -1
  376. package/locale/itIT.js +4 -1
  377. package/locale/itIT.mjs +3 -1
  378. package/locale/jaJP.js +4 -1
  379. package/locale/jaJP.mjs +3 -1
  380. package/locale/khKH.js +4 -1
  381. package/locale/khKH.mjs +3 -1
  382. package/locale/kkKZ.js +4 -1
  383. package/locale/kkKZ.mjs +3 -1
  384. package/locale/koKR.js +4 -1
  385. package/locale/koKR.mjs +3 -1
  386. package/locale/kuCKB.js +4 -1
  387. package/locale/kuCKB.mjs +3 -1
  388. package/locale/kuLatn.js +4 -1
  389. package/locale/kuLatn.mjs +3 -1
  390. package/locale/mkMK.js +5 -1
  391. package/locale/mkMK.mjs +4 -1
  392. package/locale/msMS.js +5 -1
  393. package/locale/msMS.mjs +4 -1
  394. package/locale/myMY.js +5 -1
  395. package/locale/myMY.mjs +4 -1
  396. package/locale/nbNO.js +4 -1
  397. package/locale/nbNO.mjs +3 -1
  398. package/locale/neNP.js +5 -1
  399. package/locale/neNP.mjs +4 -1
  400. package/locale/nlNL.js +4 -1
  401. package/locale/nlNL.mjs +3 -1
  402. package/locale/nnNO.js +4 -1
  403. package/locale/nnNO.mjs +3 -1
  404. package/locale/plPL.js +4 -1
  405. package/locale/plPL.mjs +3 -1
  406. package/locale/psAF.js +4 -1
  407. package/locale/psAF.mjs +3 -1
  408. package/locale/ptBR.js +4 -1
  409. package/locale/ptBR.mjs +3 -1
  410. package/locale/ptPT.js +4 -1
  411. package/locale/ptPT.mjs +3 -1
  412. package/locale/roRO.js +4 -1
  413. package/locale/roRO.mjs +3 -1
  414. package/locale/ruRU.js +4 -1
  415. package/locale/ruRU.mjs +3 -1
  416. package/locale/siLK.js +4 -1
  417. package/locale/siLK.mjs +3 -1
  418. package/locale/skSK.js +4 -1
  419. package/locale/skSK.mjs +3 -1
  420. package/locale/srRS.js +5 -1
  421. package/locale/srRS.mjs +4 -1
  422. package/locale/svSE.js +4 -1
  423. package/locale/svSE.mjs +3 -1
  424. package/locale/thTH.js +4 -1
  425. package/locale/thTH.mjs +3 -1
  426. package/locale/tlTL.js +5 -1
  427. package/locale/tlTL.mjs +4 -1
  428. package/locale/trTR.js +4 -1
  429. package/locale/trTR.mjs +3 -1
  430. package/locale/ukUA.js +4 -1
  431. package/locale/ukUA.mjs +3 -1
  432. package/locale/urPK.js +4 -1
  433. package/locale/urPK.mjs +3 -1
  434. package/locale/utils/buildFormatNumber.d.mts +2 -0
  435. package/locale/utils/buildFormatNumber.d.ts +2 -0
  436. package/locale/utils/buildFormatNumber.js +23 -0
  437. package/locale/utils/buildFormatNumber.mjs +17 -0
  438. package/locale/viVN.js +4 -1
  439. package/locale/viVN.mjs +3 -1
  440. package/locale/zhCN.js +4 -1
  441. package/locale/zhCN.mjs +3 -1
  442. package/locale/zhHK.js +4 -1
  443. package/locale/zhHK.mjs +3 -1
  444. package/locale/zhTW.js +4 -1
  445. package/locale/zhTW.mjs +3 -1
  446. package/package.json +7 -21
  447. package/styles/components.d.mts +0 -5
  448. package/styles/components.d.ts +0 -5
  449. package/styles/createThemeWithVars.js +1 -0
  450. package/styles/createThemeWithVars.mjs +1 -0
  451. package/styles/overrides.d.mts +0 -2
  452. package/styles/overrides.d.ts +0 -2
  453. package/styles/props.d.mts +0 -2
  454. package/styles/props.d.ts +0 -2
  455. package/styles/stringifyTheme.js +1 -1
  456. package/styles/stringifyTheme.mjs +1 -1
  457. package/useAutocomplete/useAutocomplete.d.mts +0 -12
  458. package/useAutocomplete/useAutocomplete.d.ts +0 -12
  459. package/useAutocomplete/useAutocomplete.js +29 -28
  460. package/useAutocomplete/useAutocomplete.mjs +29 -28
  461. package/utils/createSvgIcon.d.mts +4 -2
  462. package/utils/createSvgIcon.d.ts +4 -2
  463. package/utils/createSvgIcon.js +6 -24
  464. package/utils/createSvgIcon.mjs +2 -24
  465. package/version/index.js +2 -2
  466. package/version/index.mjs +2 -2
  467. package/GridLegacy/GridLegacy.d.mts +0 -160
  468. package/GridLegacy/GridLegacy.d.ts +0 -160
  469. package/GridLegacy/GridLegacy.js +0 -601
  470. package/GridLegacy/GridLegacy.mjs +0 -588
  471. package/GridLegacy/GridLegacyContext.js +0 -17
  472. package/GridLegacy/GridLegacyContext.mjs +0 -12
  473. package/GridLegacy/gridLegacyClasses.d.mts +0 -48
  474. package/GridLegacy/gridLegacyClasses.d.ts +0 -48
  475. package/GridLegacy/gridLegacyClasses.js +0 -27
  476. package/GridLegacy/gridLegacyClasses.mjs +0 -19
  477. package/GridLegacy/index.d.mts +0 -4
  478. package/GridLegacy/index.d.ts +0 -4
  479. package/GridLegacy/index.js +0 -35
  480. package/GridLegacy/index.mjs +0 -3
package/Slider/Slider.mjs CHANGED
@@ -6,14 +6,13 @@ import clsx from 'clsx';
6
6
  import chainPropTypes from '@mui/utils/chainPropTypes';
7
7
  import composeClasses from '@mui/utils/composeClasses';
8
8
  import { useRtl } from '@mui/system/RtlProvider';
9
- import useSlotProps from '@mui/utils/useSlotProps';
10
9
  import isHostComponent from '@mui/utils/isHostComponent';
11
10
  import { useSlider, valueToPercent } from "./useSlider.mjs";
12
11
  import { styled } from "../zero-styled/index.mjs";
13
12
  import memoTheme from "../utils/memoTheme.mjs";
14
13
  import { useDefaultProps } from "../DefaultPropsProvider/index.mjs";
14
+ import useSlot from "../utils/useSlot.mjs";
15
15
  import slotShouldForwardProp from "../styles/slotShouldForwardProp.mjs";
16
- import shouldSpreadAdditionalProps from "../utils/shouldSpreadAdditionalProps.mjs";
17
16
  import capitalize from "../utils/capitalize.mjs";
18
17
  import createSimplePaletteValueFilter from "../utils/createSimplePaletteValueFilter.mjs";
19
18
  import BaseSliderValueLabel from "./SliderValueLabel.mjs";
@@ -233,13 +232,7 @@ export const SliderTrack = styled('span', {
233
232
  }));
234
233
  export const SliderThumb = styled('span', {
235
234
  name: 'MuiSlider',
236
- slot: 'Thumb',
237
- overridesResolver: (props, styles) => {
238
- const {
239
- ownerState
240
- } = props;
241
- return [styles.thumb, styles[`thumbColor${capitalize(ownerState.color)}`], ownerState.size !== 'medium' && styles[`thumbSize${capitalize(ownerState.size)}`]];
242
- }
235
+ slot: 'Thumb'
243
236
  })(memoTheme(({
244
237
  theme
245
238
  }) => ({
@@ -537,7 +530,7 @@ const useUtilityClasses = ownerState => {
537
530
  markLabel: ['markLabel'],
538
531
  markLabelActive: ['markLabelActive'],
539
532
  valueLabel: ['valueLabel'],
540
- thumb: ['thumb', disabled && 'disabled', size && `thumbSize${capitalize(size)}`, color && `thumbColor${capitalize(color)}`],
533
+ thumb: ['thumb', disabled && 'disabled'],
541
534
  active: ['active'],
542
535
  disabled: ['disabled'],
543
536
  focusVisible: ['focusVisible']
@@ -547,9 +540,9 @@ const useUtilityClasses = ownerState => {
547
540
  const Forward = ({
548
541
  children
549
542
  }) => children;
550
- const Slider = /*#__PURE__*/React.forwardRef(function Slider(inputProps, ref) {
543
+ const Slider = /*#__PURE__*/React.forwardRef(function Slider(inProps, ref) {
551
544
  const props = useDefaultProps({
552
- props: inputProps,
545
+ props: inProps,
553
546
  name: 'MuiSlider'
554
547
  });
555
548
  const isRtl = useRtl();
@@ -557,10 +550,6 @@ const Slider = /*#__PURE__*/React.forwardRef(function Slider(inputProps, ref) {
557
550
  'aria-label': ariaLabel,
558
551
  'aria-valuetext': ariaValuetext,
559
552
  'aria-labelledby': ariaLabelledby,
560
- // eslint-disable-next-line react/prop-types
561
- component = 'span',
562
- components = {},
563
- componentsProps = {},
564
553
  color = 'primary',
565
554
  classes: classesProp,
566
555
  className,
@@ -579,8 +568,8 @@ const Slider = /*#__PURE__*/React.forwardRef(function Slider(inputProps, ref) {
579
568
  size = 'medium',
580
569
  step = 1,
581
570
  scale = Identity,
582
- slotProps,
583
- slots,
571
+ slotProps = {},
572
+ slots = {},
584
573
  tabIndex,
585
574
  track = 'normal',
586
575
  value: valueProp,
@@ -631,96 +620,67 @@ const Slider = /*#__PURE__*/React.forwardRef(function Slider(inputProps, ref) {
631
620
  ownerState.dragging = dragging;
632
621
  ownerState.focusedThumbIndex = focusedThumbIndex;
633
622
  const classes = useUtilityClasses(ownerState);
634
-
635
- // support both `slots` and `components` for backward compatibility
636
- const RootSlot = slots?.root ?? components.Root ?? SliderRoot;
637
- const RailSlot = slots?.rail ?? components.Rail ?? SliderRail;
638
- const TrackSlot = slots?.track ?? components.Track ?? SliderTrack;
639
- const ThumbSlot = slots?.thumb ?? components.Thumb ?? SliderThumb;
640
- const ValueLabelSlot = slots?.valueLabel ?? components.ValueLabel ?? SliderValueLabel;
641
- const MarkSlot = slots?.mark ?? components.Mark ?? SliderMark;
642
- const MarkLabelSlot = slots?.markLabel ?? components.MarkLabel ?? SliderMarkLabel;
643
- const InputSlot = slots?.input ?? components.Input ?? 'input';
644
- const rootSlotProps = slotProps?.root ?? componentsProps.root;
645
- const railSlotProps = slotProps?.rail ?? componentsProps.rail;
646
- const trackSlotProps = slotProps?.track ?? componentsProps.track;
647
- const thumbSlotProps = slotProps?.thumb ?? componentsProps.thumb;
648
- const valueLabelSlotProps = slotProps?.valueLabel ?? componentsProps.valueLabel;
649
- const markSlotProps = slotProps?.mark ?? componentsProps.mark;
650
- const markLabelSlotProps = slotProps?.markLabel ?? componentsProps.markLabel;
651
- const inputSlotProps = slotProps?.input ?? componentsProps.input;
652
- const rootProps = useSlotProps({
653
- elementType: RootSlot,
623
+ const externalForwardedProps = {
624
+ slots,
625
+ slotProps
626
+ };
627
+ const [RootSlot, rootProps] = useSlot('root', {
628
+ elementType: SliderRoot,
654
629
  getSlotProps: getRootProps,
655
- externalSlotProps: rootSlotProps,
656
- externalForwardedProps: other,
657
- additionalProps: {
658
- ...(shouldSpreadAdditionalProps(RootSlot) && {
659
- as: component
660
- })
661
- },
662
- ownerState: {
663
- ...ownerState,
664
- ...rootSlotProps?.ownerState
630
+ externalForwardedProps: {
631
+ ...externalForwardedProps,
632
+ ...other
665
633
  },
634
+ ownerState,
666
635
  className: [classes.root, className]
667
636
  });
668
- const railProps = useSlotProps({
669
- elementType: RailSlot,
670
- externalSlotProps: railSlotProps,
637
+ const [RailSlot, railProps] = useSlot('rail', {
638
+ elementType: SliderRail,
639
+ externalForwardedProps,
671
640
  ownerState,
672
641
  className: classes.rail
673
642
  });
674
- const trackProps = useSlotProps({
675
- elementType: TrackSlot,
676
- externalSlotProps: trackSlotProps,
643
+ const [TrackSlot, trackProps] = useSlot('track', {
644
+ elementType: SliderTrack,
645
+ externalForwardedProps,
677
646
  additionalProps: {
678
647
  style: {
679
648
  ...axisProps[axis].offset(trackOffset),
680
649
  ...axisProps[axis].leap(trackLeap)
681
650
  }
682
651
  },
683
- ownerState: {
684
- ...ownerState,
685
- ...trackSlotProps?.ownerState
686
- },
652
+ ownerState,
687
653
  className: classes.track
688
654
  });
689
- const thumbProps = useSlotProps({
690
- elementType: ThumbSlot,
655
+ const [ThumbSlot, thumbProps] = useSlot('thumb', {
656
+ elementType: SliderThumb,
691
657
  getSlotProps: getThumbProps,
692
- externalSlotProps: thumbSlotProps,
693
- ownerState: {
694
- ...ownerState,
695
- ...thumbSlotProps?.ownerState
696
- },
658
+ externalForwardedProps,
659
+ ownerState,
697
660
  className: classes.thumb
698
661
  });
699
- const valueLabelProps = useSlotProps({
700
- elementType: ValueLabelSlot,
701
- externalSlotProps: valueLabelSlotProps,
702
- ownerState: {
703
- ...ownerState,
704
- ...valueLabelSlotProps?.ownerState
705
- },
662
+ const [ValueLabelSlot, valueLabelProps] = useSlot('valueLabel', {
663
+ elementType: SliderValueLabel,
664
+ externalForwardedProps,
665
+ ownerState,
706
666
  className: classes.valueLabel
707
667
  });
708
- const markProps = useSlotProps({
709
- elementType: MarkSlot,
710
- externalSlotProps: markSlotProps,
668
+ const [MarkSlot, markProps] = useSlot('mark', {
669
+ elementType: SliderMark,
670
+ externalForwardedProps,
711
671
  ownerState,
712
672
  className: classes.mark
713
673
  });
714
- const markLabelProps = useSlotProps({
715
- elementType: MarkLabelSlot,
716
- externalSlotProps: markLabelSlotProps,
674
+ const [MarkLabelSlot, markLabelProps] = useSlot('markLabel', {
675
+ elementType: SliderMarkLabel,
676
+ externalForwardedProps,
717
677
  ownerState,
718
678
  className: classes.markLabel
719
679
  });
720
- const inputSliderProps = useSlotProps({
721
- elementType: InputSlot,
680
+ const [InputSliderSlot, inputSliderProps] = useSlot('input', {
681
+ elementType: 'input',
722
682
  getSlotProps: getHiddenInputProps,
723
- externalSlotProps: inputSlotProps,
683
+ externalForwardedProps,
724
684
  ownerState
725
685
  });
726
686
  return /*#__PURE__*/_jsxs(RootSlot, {
@@ -788,7 +748,7 @@ const Slider = /*#__PURE__*/React.forwardRef(function Slider(inputProps, ref) {
788
748
  ...getThumbStyle(index),
789
749
  ...thumbProps.style
790
750
  },
791
- children: /*#__PURE__*/_jsx(InputSlot, {
751
+ children: /*#__PURE__*/_jsx(InputSliderSlot, {
792
752
  "data-index": index,
793
753
  "aria-label": getAriaLabel ? getAriaLabel(index) : ariaLabel,
794
754
  "aria-valuenow": scale(value),
@@ -850,48 +810,6 @@ process.env.NODE_ENV !== "production" ? Slider.propTypes /* remove-proptypes */
850
810
  * @default 'primary'
851
811
  */
852
812
  color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),
853
- /**
854
- * The components used for each slot inside.
855
- *
856
- * @deprecated use the `slots` prop instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.
857
- *
858
- * @default {}
859
- */
860
- components: PropTypes.shape({
861
- Input: PropTypes.elementType,
862
- Mark: PropTypes.elementType,
863
- MarkLabel: PropTypes.elementType,
864
- Rail: PropTypes.elementType,
865
- Root: PropTypes.elementType,
866
- Thumb: PropTypes.elementType,
867
- Track: PropTypes.elementType,
868
- ValueLabel: PropTypes.elementType
869
- }),
870
- /**
871
- * The extra props for the slot components.
872
- * You can override the existing props or add new ones.
873
- *
874
- * @deprecated use the `slotProps` prop instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.
875
- *
876
- * @default {}
877
- */
878
- componentsProps: PropTypes.shape({
879
- input: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
880
- mark: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
881
- markLabel: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
882
- rail: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
883
- root: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
884
- thumb: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
885
- track: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
886
- valueLabel: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({
887
- children: PropTypes.element,
888
- className: PropTypes.string,
889
- open: PropTypes.bool,
890
- style: PropTypes.object,
891
- value: PropTypes.node,
892
- valueLabelDisplay: PropTypes.oneOf(['auto', 'off', 'on'])
893
- })])
894
- }),
895
813
  /**
896
814
  * The default value. Use when the component is not controlled.
897
815
  */
@@ -989,7 +907,7 @@ process.env.NODE_ENV !== "production" ? Slider.propTypes /* remove-proptypes */
989
907
  */
990
908
  size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['small', 'medium']), PropTypes.string]),
991
909
  /**
992
- * The props used for each slot inside the Slider.
910
+ * The props used for each slot inside.
993
911
  * @default {}
994
912
  */
995
913
  slotProps: PropTypes.shape({
@@ -1010,8 +928,7 @@ process.env.NODE_ENV !== "production" ? Slider.propTypes /* remove-proptypes */
1010
928
  })])
1011
929
  }),
1012
930
  /**
1013
- * The components used for each slot inside the Slider.
1014
- * Either a string to use a HTML element or a component.
931
+ * The components used for each slot inside.
1015
932
  * @default {}
1016
933
  */
1017
934
  slots: PropTypes.shape({
@@ -45,34 +45,6 @@ export interface SliderClasses {
45
45
  markLabelActive: string;
46
46
  /** Styles applied to the root element if `size="small"`. */
47
47
  sizeSmall: string;
48
- /** Styles applied to the thumb element if `color="primary"`.
49
- * @deprecated Combine the [.MuiSlider-thumb](/material-ui/api/slider/#slider-classes-MuiSlider-thumb) and [.MuiSlider-colorPrimary](/material-ui/api/slider/#slider-classes-MuiSlider-colorPrimary) classes instead. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
50
- */
51
- thumbColorPrimary: string;
52
- /** Styles applied to the thumb element if `color="secondary"`.
53
- * @deprecated Combine the [.MuiSlider-thumb](/material-ui/api/slider/#slider-classes-MuiSlider-thumb) and [.MuiSlider-colorSecondary](/material-ui/api/slider/#slider-classes-MuiSlider-colorSecondary) classes instead. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
54
- */
55
- thumbColorSecondary: string;
56
- /** Styles applied to the thumb element if `color="error"`.
57
- * @deprecated Combine the [.MuiSlider-thumb](/material-ui/api/slider/#slider-classes-MuiSlider-thumb) and [.MuiSlider-colorError](/material-ui/api/slider/#slider-classes-MuiSlider-colorError) classes instead. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
58
- */
59
- thumbColorError: string;
60
- /** Styles applied to the thumb element if `color="info"`.
61
- * @deprecated Combine the [.MuiSlider-thumb](/material-ui/api/slider/#slider-classes-MuiSlider-thumb) and [.MuiSlider-colorInfo](/material-ui/api/slider/#slider-classes-MuiSlider-colorInfo) classes instead. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
62
- */
63
- thumbColorInfo: string;
64
- /** Styles applied to the thumb element if `color="success"`.
65
- * @deprecated Combine the [.MuiSlider-thumb](/material-ui/api/slider/#slider-classes-MuiSlider-thumb) and [.MuiSlider-colorSuccess](/material-ui/api/slider/#slider-classes-MuiSlider-colorSuccess) classes instead. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
66
- */
67
- thumbColorSuccess: string;
68
- /** Styles applied to the thumb element if `color="warning"`.
69
- * @deprecated Combine the [.MuiSlider-thumb](/material-ui/api/slider/#slider-classes-MuiSlider-thumb) and [.MuiSlider-colorWarning](/material-ui/api/slider/#slider-classes-MuiSlider-colorWarning) classes instead. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
70
- */
71
- thumbColorWarning: string;
72
- /** Styles applied to the thumb element if `size="small"`.
73
- * @deprecated Combine the [.MuiSlider-thumb](/material-ui/api/slider/#slider-classes-MuiSlider-thumb) and [.MuiSlider-sizeSmall](/material-ui/api/slider/#slider-classes-MuiSlider-sizeSmall) classes instead. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
74
- */
75
- thumbSizeSmall: string;
76
48
  /** Styles applied to the thumb label element. */
77
49
  valueLabel: string;
78
50
  /** Styles applied to the thumb label element if it's open. */
@@ -45,34 +45,6 @@ export interface SliderClasses {
45
45
  markLabelActive: string;
46
46
  /** Styles applied to the root element if `size="small"`. */
47
47
  sizeSmall: string;
48
- /** Styles applied to the thumb element if `color="primary"`.
49
- * @deprecated Combine the [.MuiSlider-thumb](/material-ui/api/slider/#slider-classes-MuiSlider-thumb) and [.MuiSlider-colorPrimary](/material-ui/api/slider/#slider-classes-MuiSlider-colorPrimary) classes instead. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
50
- */
51
- thumbColorPrimary: string;
52
- /** Styles applied to the thumb element if `color="secondary"`.
53
- * @deprecated Combine the [.MuiSlider-thumb](/material-ui/api/slider/#slider-classes-MuiSlider-thumb) and [.MuiSlider-colorSecondary](/material-ui/api/slider/#slider-classes-MuiSlider-colorSecondary) classes instead. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
54
- */
55
- thumbColorSecondary: string;
56
- /** Styles applied to the thumb element if `color="error"`.
57
- * @deprecated Combine the [.MuiSlider-thumb](/material-ui/api/slider/#slider-classes-MuiSlider-thumb) and [.MuiSlider-colorError](/material-ui/api/slider/#slider-classes-MuiSlider-colorError) classes instead. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
58
- */
59
- thumbColorError: string;
60
- /** Styles applied to the thumb element if `color="info"`.
61
- * @deprecated Combine the [.MuiSlider-thumb](/material-ui/api/slider/#slider-classes-MuiSlider-thumb) and [.MuiSlider-colorInfo](/material-ui/api/slider/#slider-classes-MuiSlider-colorInfo) classes instead. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
62
- */
63
- thumbColorInfo: string;
64
- /** Styles applied to the thumb element if `color="success"`.
65
- * @deprecated Combine the [.MuiSlider-thumb](/material-ui/api/slider/#slider-classes-MuiSlider-thumb) and [.MuiSlider-colorSuccess](/material-ui/api/slider/#slider-classes-MuiSlider-colorSuccess) classes instead. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
66
- */
67
- thumbColorSuccess: string;
68
- /** Styles applied to the thumb element if `color="warning"`.
69
- * @deprecated Combine the [.MuiSlider-thumb](/material-ui/api/slider/#slider-classes-MuiSlider-thumb) and [.MuiSlider-colorWarning](/material-ui/api/slider/#slider-classes-MuiSlider-colorWarning) classes instead. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
70
- */
71
- thumbColorWarning: string;
72
- /** Styles applied to the thumb element if `size="small"`.
73
- * @deprecated Combine the [.MuiSlider-thumb](/material-ui/api/slider/#slider-classes-MuiSlider-thumb) and [.MuiSlider-sizeSmall](/material-ui/api/slider/#slider-classes-MuiSlider-sizeSmall) classes instead. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
74
- */
75
- thumbSizeSmall: string;
76
48
  /** Styles applied to the thumb label element. */
77
49
  valueLabel: string;
78
50
  /** Styles applied to the thumb label element if it's open. */
@@ -11,5 +11,5 @@ var _generateUtilityClass = _interopRequireDefault(require("@mui/utils/generateU
11
11
  function getSliderUtilityClass(slot) {
12
12
  return (0, _generateUtilityClass.default)('MuiSlider', slot);
13
13
  }
14
- const sliderClasses = (0, _generateUtilityClasses.default)('MuiSlider', ['root', 'active', 'colorPrimary', 'colorSecondary', 'colorError', 'colorInfo', 'colorSuccess', 'colorWarning', 'disabled', 'dragging', 'focusVisible', 'mark', 'markActive', 'marked', 'markLabel', 'markLabelActive', 'rail', 'sizeSmall', 'thumb', 'thumbColorPrimary', 'thumbColorSecondary', 'thumbColorError', 'thumbColorSuccess', 'thumbColorInfo', 'thumbColorWarning', 'track', 'trackInverted', 'trackFalse', 'thumbSizeSmall', 'valueLabel', 'valueLabelOpen', 'valueLabelCircle', 'valueLabelLabel', 'vertical']);
14
+ const sliderClasses = (0, _generateUtilityClasses.default)('MuiSlider', ['root', 'active', 'colorPrimary', 'colorSecondary', 'colorError', 'colorInfo', 'colorSuccess', 'colorWarning', 'disabled', 'dragging', 'focusVisible', 'mark', 'markActive', 'marked', 'markLabel', 'markLabelActive', 'rail', 'sizeSmall', 'thumb', 'track', 'trackInverted', 'trackFalse', 'valueLabel', 'valueLabelOpen', 'valueLabelCircle', 'valueLabelLabel', 'vertical']);
15
15
  var _default = exports.default = sliderClasses;
@@ -3,5 +3,5 @@ import generateUtilityClass from '@mui/utils/generateUtilityClass';
3
3
  export function getSliderUtilityClass(slot) {
4
4
  return generateUtilityClass('MuiSlider', slot);
5
5
  }
6
- const sliderClasses = generateUtilityClasses('MuiSlider', ['root', 'active', 'colorPrimary', 'colorSecondary', 'colorError', 'colorInfo', 'colorSuccess', 'colorWarning', 'disabled', 'dragging', 'focusVisible', 'mark', 'markActive', 'marked', 'markLabel', 'markLabelActive', 'rail', 'sizeSmall', 'thumb', 'thumbColorPrimary', 'thumbColorSecondary', 'thumbColorError', 'thumbColorSuccess', 'thumbColorInfo', 'thumbColorWarning', 'track', 'trackInverted', 'trackFalse', 'thumbSizeSmall', 'valueLabel', 'valueLabelOpen', 'valueLabelCircle', 'valueLabelLabel', 'vertical']);
6
+ const sliderClasses = generateUtilityClasses('MuiSlider', ['root', 'active', 'colorPrimary', 'colorSecondary', 'colorError', 'colorInfo', 'colorSuccess', 'colorWarning', 'disabled', 'dragging', 'focusVisible', 'mark', 'markActive', 'marked', 'markLabel', 'markLabelActive', 'rail', 'sizeSmall', 'thumb', 'track', 'trackInverted', 'trackFalse', 'valueLabel', 'valueLabelOpen', 'valueLabelCircle', 'valueLabelLabel', 'vertical']);
7
7
  export default sliderClasses;
@@ -97,11 +97,27 @@ function setValueIndex({
97
97
  function focusThumb({
98
98
  sliderRef,
99
99
  activeIndex,
100
- setActive
100
+ setActive,
101
+ focusVisible
101
102
  }) {
102
103
  const doc = (0, _ownerDocument.default)(sliderRef.current);
103
104
  if (!sliderRef.current?.contains(doc.activeElement) || Number(doc?.activeElement?.getAttribute('data-index')) !== activeIndex) {
104
- sliderRef.current?.querySelector(`[type="range"][data-index="${activeIndex}"]`).focus();
105
+ const input = sliderRef.current?.querySelector(`[type="range"][data-index="${activeIndex}"]`);
106
+ if (input != null) {
107
+ if (focusVisible === undefined) {
108
+ input.focus({
109
+ preventScroll: true
110
+ });
111
+ } else {
112
+ input.focus({
113
+ preventScroll: true,
114
+ // Prevent pointer-driven focus rings in browsers that support this option.
115
+ // Chrome 144+ supports `focusVisible` in `HTMLElement.focus()` options.
116
+ // @ts-ignore - `focusVisible` is not yet in TypeScript's lib.dom FocusOptions.
117
+ focusVisible
118
+ });
119
+ }
120
+ }
105
121
  }
106
122
  if (setActive) {
107
123
  setActive(activeIndex);
@@ -188,6 +204,7 @@ function useSlider(parameters) {
188
204
  value: valueProp
189
205
  } = parameters;
190
206
  const touchId = React.useRef(undefined);
207
+ const focusFrame = React.useRef(null);
191
208
  // We can't use the :active browser pseudo-classes.
192
209
  // - The active state isn't triggered when clicking on the rail.
193
210
  // - The active state isn't transferred when inversing a range slider.
@@ -195,6 +212,12 @@ function useSlider(parameters) {
195
212
  const [open, setOpen] = React.useState(-1);
196
213
  const [dragging, setDragging] = React.useState(false);
197
214
  const moveCount = React.useRef(0);
215
+ const cancelFocusFrame = (0, _useEventCallback.default)(() => {
216
+ if (focusFrame.current != null) {
217
+ cancelAnimationFrame(focusFrame.current);
218
+ focusFrame.current = null;
219
+ }
220
+ });
198
221
  // lastChangedValue is updated whenever onChange is triggered.
199
222
  const lastChangedValue = React.useRef(null);
200
223
  const [valueDerived, setValueState] = (0, _useControlled.default)({
@@ -467,7 +490,8 @@ function useSlider(parameters) {
467
490
  focusThumb({
468
491
  sliderRef,
469
492
  activeIndex,
470
- setActive
493
+ setActive,
494
+ focusVisible: false
471
495
  });
472
496
  setValueState(newValue);
473
497
  if (!dragging && moveCount.current > INTENTIONAL_DRAG_COUNT_THRESHOLD) {
@@ -525,7 +549,8 @@ function useSlider(parameters) {
525
549
  focusThumb({
526
550
  sliderRef,
527
551
  activeIndex,
528
- setActive
552
+ setActive,
553
+ focusVisible: false
529
554
  });
530
555
  setValueState(newValue);
531
556
  if (handleChange && !areValuesEqual(newValue, valueDerived)) {
@@ -557,14 +582,16 @@ function useSlider(parameters) {
557
582
  });
558
583
  return () => {
559
584
  slider.removeEventListener('touchstart', handleTouchStart);
585
+ cancelFocusFrame();
560
586
  stopListening();
561
587
  };
562
- }, [stopListening, handleTouchStart]);
588
+ }, [stopListening, handleTouchStart, cancelFocusFrame]);
563
589
  React.useEffect(() => {
564
590
  if (disabled) {
565
591
  stopListening();
592
+ cancelFocusFrame();
566
593
  }
567
- }, [disabled, stopListening]);
594
+ }, [disabled, stopListening, cancelFocusFrame]);
568
595
  const createHandleMouseDown = otherHandlers => event => {
569
596
  otherHandlers.onMouseDown?.(event);
570
597
  if (disabled) {
@@ -578,9 +605,6 @@ function useSlider(parameters) {
578
605
  if (event.button !== 0) {
579
606
  return;
580
607
  }
581
-
582
- // Avoid text selection
583
- event.preventDefault();
584
608
  const finger = trackFinger(event, touchId);
585
609
  if (finger !== false) {
586
610
  const {
@@ -589,11 +613,23 @@ function useSlider(parameters) {
589
613
  } = getFingerNewValue({
590
614
  finger
591
615
  });
592
- focusThumb({
593
- sliderRef,
594
- activeIndex,
595
- setActive
596
- });
616
+ const doc = (0, _ownerDocument.default)(sliderRef.current);
617
+ const activeElement = doc.activeElement;
618
+ const pressedOnFocusedThumb = sliderRef.current?.contains(activeElement) && Number(activeElement?.getAttribute('data-index')) === activeIndex;
619
+ setActive(activeIndex);
620
+ if (pressedOnFocusedThumb) {
621
+ event.preventDefault();
622
+ } else {
623
+ cancelFocusFrame();
624
+ focusFrame.current = requestAnimationFrame(() => {
625
+ focusFrame.current = null;
626
+ focusThumb({
627
+ sliderRef,
628
+ activeIndex,
629
+ focusVisible: false
630
+ });
631
+ });
632
+ }
597
633
  setValueState(newValue);
598
634
  if (handleChange && !areValuesEqual(newValue, valueDerived)) {
599
635
  handleChange(event, newValue, activeIndex);
@@ -88,11 +88,27 @@ function setValueIndex({
88
88
  function focusThumb({
89
89
  sliderRef,
90
90
  activeIndex,
91
- setActive
91
+ setActive,
92
+ focusVisible
92
93
  }) {
93
94
  const doc = ownerDocument(sliderRef.current);
94
95
  if (!sliderRef.current?.contains(doc.activeElement) || Number(doc?.activeElement?.getAttribute('data-index')) !== activeIndex) {
95
- sliderRef.current?.querySelector(`[type="range"][data-index="${activeIndex}"]`).focus();
96
+ const input = sliderRef.current?.querySelector(`[type="range"][data-index="${activeIndex}"]`);
97
+ if (input != null) {
98
+ if (focusVisible === undefined) {
99
+ input.focus({
100
+ preventScroll: true
101
+ });
102
+ } else {
103
+ input.focus({
104
+ preventScroll: true,
105
+ // Prevent pointer-driven focus rings in browsers that support this option.
106
+ // Chrome 144+ supports `focusVisible` in `HTMLElement.focus()` options.
107
+ // @ts-ignore - `focusVisible` is not yet in TypeScript's lib.dom FocusOptions.
108
+ focusVisible
109
+ });
110
+ }
111
+ }
96
112
  }
97
113
  if (setActive) {
98
114
  setActive(activeIndex);
@@ -178,6 +194,7 @@ export function useSlider(parameters) {
178
194
  value: valueProp
179
195
  } = parameters;
180
196
  const touchId = React.useRef(undefined);
197
+ const focusFrame = React.useRef(null);
181
198
  // We can't use the :active browser pseudo-classes.
182
199
  // - The active state isn't triggered when clicking on the rail.
183
200
  // - The active state isn't transferred when inversing a range slider.
@@ -185,6 +202,12 @@ export function useSlider(parameters) {
185
202
  const [open, setOpen] = React.useState(-1);
186
203
  const [dragging, setDragging] = React.useState(false);
187
204
  const moveCount = React.useRef(0);
205
+ const cancelFocusFrame = useEventCallback(() => {
206
+ if (focusFrame.current != null) {
207
+ cancelAnimationFrame(focusFrame.current);
208
+ focusFrame.current = null;
209
+ }
210
+ });
188
211
  // lastChangedValue is updated whenever onChange is triggered.
189
212
  const lastChangedValue = React.useRef(null);
190
213
  const [valueDerived, setValueState] = useControlled({
@@ -457,7 +480,8 @@ export function useSlider(parameters) {
457
480
  focusThumb({
458
481
  sliderRef,
459
482
  activeIndex,
460
- setActive
483
+ setActive,
484
+ focusVisible: false
461
485
  });
462
486
  setValueState(newValue);
463
487
  if (!dragging && moveCount.current > INTENTIONAL_DRAG_COUNT_THRESHOLD) {
@@ -515,7 +539,8 @@ export function useSlider(parameters) {
515
539
  focusThumb({
516
540
  sliderRef,
517
541
  activeIndex,
518
- setActive
542
+ setActive,
543
+ focusVisible: false
519
544
  });
520
545
  setValueState(newValue);
521
546
  if (handleChange && !areValuesEqual(newValue, valueDerived)) {
@@ -547,14 +572,16 @@ export function useSlider(parameters) {
547
572
  });
548
573
  return () => {
549
574
  slider.removeEventListener('touchstart', handleTouchStart);
575
+ cancelFocusFrame();
550
576
  stopListening();
551
577
  };
552
- }, [stopListening, handleTouchStart]);
578
+ }, [stopListening, handleTouchStart, cancelFocusFrame]);
553
579
  React.useEffect(() => {
554
580
  if (disabled) {
555
581
  stopListening();
582
+ cancelFocusFrame();
556
583
  }
557
- }, [disabled, stopListening]);
584
+ }, [disabled, stopListening, cancelFocusFrame]);
558
585
  const createHandleMouseDown = otherHandlers => event => {
559
586
  otherHandlers.onMouseDown?.(event);
560
587
  if (disabled) {
@@ -568,9 +595,6 @@ export function useSlider(parameters) {
568
595
  if (event.button !== 0) {
569
596
  return;
570
597
  }
571
-
572
- // Avoid text selection
573
- event.preventDefault();
574
598
  const finger = trackFinger(event, touchId);
575
599
  if (finger !== false) {
576
600
  const {
@@ -579,11 +603,23 @@ export function useSlider(parameters) {
579
603
  } = getFingerNewValue({
580
604
  finger
581
605
  });
582
- focusThumb({
583
- sliderRef,
584
- activeIndex,
585
- setActive
586
- });
606
+ const doc = ownerDocument(sliderRef.current);
607
+ const activeElement = doc.activeElement;
608
+ const pressedOnFocusedThumb = sliderRef.current?.contains(activeElement) && Number(activeElement?.getAttribute('data-index')) === activeIndex;
609
+ setActive(activeIndex);
610
+ if (pressedOnFocusedThumb) {
611
+ event.preventDefault();
612
+ } else {
613
+ cancelFocusFrame();
614
+ focusFrame.current = requestAnimationFrame(() => {
615
+ focusFrame.current = null;
616
+ focusThumb({
617
+ sliderRef,
618
+ activeIndex,
619
+ focusVisible: false
620
+ });
621
+ });
622
+ }
587
623
  setValueState(newValue);
588
624
  if (handleChange && !areValuesEqual(newValue, valueDerived)) {
589
625
  handleChange(event, newValue, activeIndex);