@mui/material 6.0.0-alpha.7 → 6.0.0-alpha.9

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 (542) hide show
  1. package/Accordion/Accordion.js +33 -33
  2. package/AccordionActions/AccordionActions.d.ts +1 -1
  3. package/AccordionActions/AccordionActions.js +11 -12
  4. package/AccordionDetails/AccordionDetails.d.ts +1 -1
  5. package/AccordionDetails/AccordionDetails.js +7 -9
  6. package/AccordionSummary/AccordionSummary.js +14 -16
  7. package/Alert/Alert.d.ts +1 -1
  8. package/Alert/Alert.js +56 -51
  9. package/AlertTitle/AlertTitle.d.ts +3 -3
  10. package/AlertTitle/AlertTitle.js +7 -9
  11. package/AppBar/AppBar.js +34 -32
  12. package/Autocomplete/Autocomplete.d.ts +1 -1
  13. package/Autocomplete/Autocomplete.js +164 -136
  14. package/Avatar/Avatar.js +44 -36
  15. package/AvatarGroup/AvatarGroup.d.ts +51 -18
  16. package/AvatarGroup/AvatarGroup.js +60 -41
  17. package/Backdrop/Backdrop.js +33 -30
  18. package/Badge/Badge.js +31 -30
  19. package/BottomNavigation/BottomNavigation.js +15 -17
  20. package/BottomNavigationAction/BottomNavigationAction.js +15 -18
  21. package/Breadcrumbs/BreadcrumbCollapsed.js +35 -34
  22. package/Breadcrumbs/Breadcrumbs.js +19 -21
  23. package/Button/Button.d.ts +1 -1
  24. package/Button/Button.js +32 -29
  25. package/ButtonBase/ButtonBase.d.ts +1 -1
  26. package/ButtonBase/ButtonBase.js +43 -42
  27. package/ButtonBase/TouchRipple.js +9 -12
  28. package/ButtonGroup/ButtonGroup.js +23 -25
  29. package/CHANGELOG.md +113 -2
  30. package/Card/Card.js +11 -12
  31. package/CardActionArea/CardActionArea.js +9 -12
  32. package/CardActions/CardActions.d.ts +1 -1
  33. package/CardActions/CardActions.js +11 -12
  34. package/CardContent/CardContent.js +11 -12
  35. package/CardHeader/CardHeader.d.ts +1 -1
  36. package/CardHeader/CardHeader.js +30 -31
  37. package/CardMedia/CardMedia.js +19 -20
  38. package/Checkbox/Checkbox.d.ts +1 -1
  39. package/Checkbox/Checkbox.js +29 -26
  40. package/Chip/Chip.d.ts +3 -3
  41. package/Chip/Chip.js +38 -37
  42. package/CircularProgress/CircularProgress.d.ts +1 -1
  43. package/CircularProgress/CircularProgress.js +24 -23
  44. package/Collapse/Collapse.d.ts +1 -1
  45. package/Collapse/Collapse.js +44 -42
  46. package/CssBaseline/CssBaseline.d.ts +1 -1
  47. package/CssBaseline/CssBaseline.js +17 -14
  48. package/Dialog/Dialog.d.ts +1 -1
  49. package/Dialog/Dialog.js +41 -42
  50. package/DialogActions/DialogActions.d.ts +1 -1
  51. package/DialogActions/DialogActions.js +11 -12
  52. package/DialogContent/DialogContent.d.ts +1 -1
  53. package/DialogContent/DialogContent.js +11 -12
  54. package/DialogContentText/DialogContentText.js +13 -11
  55. package/DialogTitle/DialogTitle.js +8 -10
  56. package/Divider/Divider.js +19 -21
  57. package/Drawer/Drawer.d.ts +1 -1
  58. package/Drawer/Drawer.js +50 -49
  59. package/Fab/Fab.js +26 -23
  60. package/Fade/Fade.d.ts +1 -1
  61. package/Fade/Fade.js +31 -30
  62. package/FilledInput/FilledInput.d.ts +1 -1
  63. package/FilledInput/FilledInput.js +48 -44
  64. package/FilledInput/filledInputClasses.js +4 -2
  65. package/FormControl/FormControl.js +27 -25
  66. package/FormControlLabel/FormControlLabel.d.ts +1 -1
  67. package/FormControlLabel/FormControlLabel.js +32 -26
  68. package/FormGroup/FormGroup.d.ts +1 -1
  69. package/FormGroup/FormGroup.js +11 -12
  70. package/FormHelperText/FormHelperText.js +26 -18
  71. package/FormLabel/FormLabel.js +27 -19
  72. package/GlobalStyles/GlobalStyles.d.ts +1 -1
  73. package/GlobalStyles/GlobalStyles.js +3 -3
  74. package/Grid/Grid.d.ts +1 -0
  75. package/Grid/Grid.js +50 -41
  76. package/Grow/Grow.d.ts +1 -1
  77. package/Grow/Grow.js +31 -30
  78. package/Hidden/Hidden.d.ts +2 -0
  79. package/Hidden/Hidden.js +23 -22
  80. package/Hidden/HiddenCss.js +29 -29
  81. package/Hidden/withWidth.js +19 -19
  82. package/Icon/Icon.js +15 -16
  83. package/IconButton/IconButton.js +18 -20
  84. package/ImageList/ImageList.js +24 -24
  85. package/ImageListItem/ImageListItem.js +19 -20
  86. package/ImageListItemBar/ImageListItemBar.d.ts +1 -1
  87. package/ImageListItemBar/ImageListItemBar.js +15 -17
  88. package/Input/Input.d.ts +1 -1
  89. package/Input/Input.js +21 -20
  90. package/Input/inputClasses.js +4 -2
  91. package/InputAdornment/InputAdornment.js +16 -18
  92. package/InputBase/InputBase.d.ts +1 -1
  93. package/InputBase/InputBase.js +90 -73
  94. package/InputLabel/InputLabel.js +20 -16
  95. package/LinearProgress/LinearProgress.d.ts +1 -1
  96. package/LinearProgress/LinearProgress.js +21 -23
  97. package/Link/Link.js +27 -26
  98. package/List/List.js +15 -17
  99. package/ListItem/ListItem.d.ts +4 -12
  100. package/ListItem/ListItem.js +64 -63
  101. package/ListItemAvatar/ListItemAvatar.d.ts +1 -1
  102. package/ListItemAvatar/ListItemAvatar.js +10 -11
  103. package/ListItemButton/ListItemButton.js +23 -22
  104. package/ListItemIcon/ListItemIcon.d.ts +1 -1
  105. package/ListItemIcon/ListItemIcon.js +10 -11
  106. package/ListItemSecondaryAction/ListItemSecondaryAction.d.ts +5 -1
  107. package/ListItemSecondaryAction/ListItemSecondaryAction.js +12 -11
  108. package/ListItemText/ListItemText.d.ts +3 -1
  109. package/ListItemText/ListItemText.js +25 -27
  110. package/ListSubheader/ListSubheader.js +15 -16
  111. package/Menu/Menu.d.ts +1 -1
  112. package/Menu/Menu.js +34 -36
  113. package/MenuItem/MenuItem.js +28 -26
  114. package/MenuList/MenuList.js +17 -20
  115. package/MobileStepper/MobileStepper.d.ts +1 -1
  116. package/MobileStepper/MobileStepper.js +21 -22
  117. package/Modal/Modal.d.ts +1 -1
  118. package/Modal/Modal.js +47 -38
  119. package/NativeSelect/NativeSelect.d.ts +1 -1
  120. package/NativeSelect/NativeSelect.js +26 -22
  121. package/NativeSelect/NativeSelectInput.js +15 -16
  122. package/OutlinedInput/NotchedOutline.js +14 -14
  123. package/OutlinedInput/OutlinedInput.d.ts +3 -1
  124. package/OutlinedInput/OutlinedInput.js +46 -42
  125. package/OutlinedInput/outlinedInputClasses.js +4 -2
  126. package/OverridableComponent.d.ts +2 -2
  127. package/Pagination/Pagination.d.ts +1 -1
  128. package/Pagination/Pagination.js +36 -32
  129. package/PaginationItem/PaginationItem.js +31 -30
  130. package/Paper/Paper.js +26 -23
  131. package/Popover/Popover.d.ts +1 -1
  132. package/Popover/Popover.js +71 -71
  133. package/Popper/Popper.d.ts +4 -0
  134. package/Popper/Popper.js +29 -27
  135. package/Radio/Radio.d.ts +1 -1
  136. package/Radio/Radio.js +24 -22
  137. package/Radio/RadioButtonIcon.js +3 -3
  138. package/RadioGroup/RadioGroup.d.ts +1 -1
  139. package/RadioGroup/RadioGroup.js +15 -18
  140. package/Rating/Rating.d.ts +1 -1
  141. package/Rating/Rating.js +54 -47
  142. package/ScopedCssBaseline/ScopedCssBaseline.js +18 -15
  143. package/Select/Select.d.ts +1 -1
  144. package/Select/Select.js +63 -57
  145. package/Select/SelectInput.js +64 -59
  146. package/Skeleton/Skeleton.js +20 -21
  147. package/Slide/Slide.d.ts +1 -1
  148. package/Slide/Slide.js +37 -33
  149. package/Slider/Slider.d.ts +1 -1
  150. package/Slider/Slider.js +155 -106
  151. package/Slider/SliderValueLabel.types.d.ts +1 -1
  152. package/Snackbar/Snackbar.d.ts +1 -1
  153. package/Snackbar/Snackbar.js +52 -45
  154. package/SnackbarContent/SnackbarContent.d.ts +1 -1
  155. package/SnackbarContent/SnackbarContent.js +13 -15
  156. package/SpeedDial/SpeedDial.d.ts +1 -1
  157. package/SpeedDial/SpeedDial.js +59 -60
  158. package/SpeedDialAction/SpeedDialAction.d.ts +1 -1
  159. package/SpeedDialAction/SpeedDialAction.js +34 -33
  160. package/SpeedDialIcon/SpeedDialIcon.d.ts +3 -1
  161. package/SpeedDialIcon/SpeedDialIcon.js +10 -12
  162. package/Step/Step.js +18 -20
  163. package/StepButton/StepButton.js +16 -17
  164. package/StepConnector/StepConnector.d.ts +2 -2
  165. package/StepConnector/StepConnector.js +10 -12
  166. package/StepContent/StepContent.d.ts +1 -1
  167. package/StepContent/StepContent.js +18 -20
  168. package/StepIcon/StepIcon.d.ts +1 -1
  169. package/StepIcon/StepIcon.js +22 -22
  170. package/StepLabel/StepLabel.d.ts +1 -1
  171. package/StepLabel/StepLabel.js +33 -30
  172. package/Stepper/Stepper.js +21 -22
  173. package/SvgIcon/SvgIcon.js +21 -21
  174. package/SwipeableDrawer/SwipeArea.js +15 -16
  175. package/SwipeableDrawer/SwipeableDrawer.js +49 -43
  176. package/Switch/Switch.d.ts +1 -1
  177. package/Switch/Switch.js +23 -20
  178. package/Tab/Tab.d.ts +1 -1
  179. package/Tab/Tab.js +32 -33
  180. package/TabScrollButton/TabScrollButton.d.ts +1 -1
  181. package/TabScrollButton/TabScrollButton.js +27 -21
  182. package/Table/Table.js +17 -17
  183. package/TableBody/TableBody.js +11 -12
  184. package/TableCell/TableCell.d.ts +1 -1
  185. package/TableCell/TableCell.js +19 -19
  186. package/TableContainer/TableContainer.js +11 -12
  187. package/TableFooter/TableFooter.js +11 -12
  188. package/TableHead/TableHead.js +11 -12
  189. package/TablePagination/TablePagination.js +56 -52
  190. package/TablePagination/TablePaginationActions.js +51 -38
  191. package/TableRow/TableRow.js +13 -14
  192. package/TableSortLabel/TableSortLabel.js +15 -17
  193. package/Tabs/ScrollbarSize.js +7 -9
  194. package/Tabs/Tabs.js +52 -49
  195. package/TextField/TextField.d.ts +59 -4
  196. package/TextField/TextField.js +137 -67
  197. package/ToggleButton/ToggleButton.js +30 -32
  198. package/ToggleButtonGroup/ToggleButtonGroup.d.ts +1 -1
  199. package/ToggleButtonGroup/ToggleButtonGroup.js +19 -21
  200. package/Toolbar/Toolbar.js +13 -14
  201. package/Tooltip/Tooltip.d.ts +3 -5
  202. package/Tooltip/Tooltip.js +77 -64
  203. package/Typography/Typography.js +37 -35
  204. package/Zoom/Zoom.d.ts +1 -1
  205. package/Zoom/Zoom.js +31 -30
  206. package/index.js +1 -1
  207. package/internal/SwitchBase.js +37 -37
  208. package/locale/index.d.ts +1 -0
  209. package/locale/index.js +74 -1
  210. package/modern/Accordion/Accordion.js +33 -33
  211. package/modern/AccordionActions/AccordionActions.js +11 -12
  212. package/modern/AccordionDetails/AccordionDetails.js +7 -9
  213. package/modern/AccordionSummary/AccordionSummary.js +14 -16
  214. package/modern/Alert/Alert.js +56 -51
  215. package/modern/AlertTitle/AlertTitle.js +7 -9
  216. package/modern/AppBar/AppBar.js +34 -32
  217. package/modern/Autocomplete/Autocomplete.js +164 -136
  218. package/modern/Avatar/Avatar.js +44 -36
  219. package/modern/AvatarGroup/AvatarGroup.js +60 -41
  220. package/modern/Backdrop/Backdrop.js +33 -30
  221. package/modern/Badge/Badge.js +31 -30
  222. package/modern/BottomNavigation/BottomNavigation.js +15 -17
  223. package/modern/BottomNavigationAction/BottomNavigationAction.js +15 -18
  224. package/modern/Breadcrumbs/BreadcrumbCollapsed.js +35 -34
  225. package/modern/Breadcrumbs/Breadcrumbs.js +19 -21
  226. package/modern/Button/Button.js +32 -29
  227. package/modern/ButtonBase/ButtonBase.js +43 -42
  228. package/modern/ButtonBase/TouchRipple.js +9 -12
  229. package/modern/ButtonGroup/ButtonGroup.js +23 -25
  230. package/modern/Card/Card.js +11 -12
  231. package/modern/CardActionArea/CardActionArea.js +9 -12
  232. package/modern/CardActions/CardActions.js +11 -12
  233. package/modern/CardContent/CardContent.js +11 -12
  234. package/modern/CardHeader/CardHeader.js +30 -31
  235. package/modern/CardMedia/CardMedia.js +19 -20
  236. package/modern/Checkbox/Checkbox.js +29 -26
  237. package/modern/Chip/Chip.js +38 -37
  238. package/modern/CircularProgress/CircularProgress.js +24 -23
  239. package/modern/Collapse/Collapse.js +44 -42
  240. package/modern/CssBaseline/CssBaseline.js +17 -14
  241. package/modern/Dialog/Dialog.js +41 -42
  242. package/modern/DialogActions/DialogActions.js +11 -12
  243. package/modern/DialogContent/DialogContent.js +11 -12
  244. package/modern/DialogContentText/DialogContentText.js +13 -11
  245. package/modern/DialogTitle/DialogTitle.js +8 -10
  246. package/modern/Divider/Divider.js +19 -21
  247. package/modern/Drawer/Drawer.js +50 -49
  248. package/modern/Fab/Fab.js +26 -23
  249. package/modern/Fade/Fade.js +31 -30
  250. package/modern/FilledInput/FilledInput.js +48 -44
  251. package/modern/FilledInput/filledInputClasses.js +4 -2
  252. package/modern/FormControl/FormControl.js +27 -25
  253. package/modern/FormControlLabel/FormControlLabel.js +32 -26
  254. package/modern/FormGroup/FormGroup.js +11 -12
  255. package/modern/FormHelperText/FormHelperText.js +26 -18
  256. package/modern/FormLabel/FormLabel.js +27 -19
  257. package/modern/GlobalStyles/GlobalStyles.js +3 -3
  258. package/modern/Grid/Grid.js +50 -41
  259. package/modern/Grow/Grow.js +31 -30
  260. package/modern/Hidden/Hidden.js +23 -22
  261. package/modern/Hidden/HiddenCss.js +29 -29
  262. package/modern/Hidden/withWidth.js +19 -19
  263. package/modern/Icon/Icon.js +15 -16
  264. package/modern/IconButton/IconButton.js +18 -20
  265. package/modern/ImageList/ImageList.js +24 -24
  266. package/modern/ImageListItem/ImageListItem.js +19 -20
  267. package/modern/ImageListItemBar/ImageListItemBar.js +15 -17
  268. package/modern/Input/Input.js +21 -20
  269. package/modern/Input/inputClasses.js +4 -2
  270. package/modern/InputAdornment/InputAdornment.js +16 -18
  271. package/modern/InputBase/InputBase.js +90 -73
  272. package/modern/InputLabel/InputLabel.js +20 -16
  273. package/modern/LinearProgress/LinearProgress.js +21 -23
  274. package/modern/Link/Link.js +27 -26
  275. package/modern/List/List.js +15 -17
  276. package/modern/ListItem/ListItem.js +64 -63
  277. package/modern/ListItemAvatar/ListItemAvatar.js +10 -11
  278. package/modern/ListItemButton/ListItemButton.js +23 -22
  279. package/modern/ListItemIcon/ListItemIcon.js +10 -11
  280. package/modern/ListItemSecondaryAction/ListItemSecondaryAction.js +12 -11
  281. package/modern/ListItemText/ListItemText.js +25 -27
  282. package/modern/ListSubheader/ListSubheader.js +15 -16
  283. package/modern/Menu/Menu.js +34 -36
  284. package/modern/MenuItem/MenuItem.js +28 -26
  285. package/modern/MenuList/MenuList.js +17 -20
  286. package/modern/MobileStepper/MobileStepper.js +21 -22
  287. package/modern/Modal/Modal.js +47 -38
  288. package/modern/NativeSelect/NativeSelect.js +26 -22
  289. package/modern/NativeSelect/NativeSelectInput.js +15 -16
  290. package/modern/OutlinedInput/NotchedOutline.js +14 -14
  291. package/modern/OutlinedInput/OutlinedInput.js +46 -42
  292. package/modern/OutlinedInput/outlinedInputClasses.js +4 -2
  293. package/modern/Pagination/Pagination.js +36 -32
  294. package/modern/PaginationItem/PaginationItem.js +31 -30
  295. package/modern/Paper/Paper.js +26 -23
  296. package/modern/Popover/Popover.js +71 -71
  297. package/modern/Popper/Popper.js +29 -27
  298. package/modern/Radio/Radio.js +24 -22
  299. package/modern/Radio/RadioButtonIcon.js +3 -3
  300. package/modern/RadioGroup/RadioGroup.js +15 -18
  301. package/modern/Rating/Rating.js +54 -47
  302. package/modern/ScopedCssBaseline/ScopedCssBaseline.js +18 -15
  303. package/modern/Select/Select.js +63 -57
  304. package/modern/Select/SelectInput.js +64 -59
  305. package/modern/Skeleton/Skeleton.js +20 -21
  306. package/modern/Slide/Slide.js +37 -33
  307. package/modern/Slider/Slider.js +155 -106
  308. package/modern/Snackbar/Snackbar.js +52 -45
  309. package/modern/SnackbarContent/SnackbarContent.js +13 -15
  310. package/modern/SpeedDial/SpeedDial.js +59 -60
  311. package/modern/SpeedDialAction/SpeedDialAction.js +34 -33
  312. package/modern/SpeedDialIcon/SpeedDialIcon.js +10 -12
  313. package/modern/Step/Step.js +18 -20
  314. package/modern/StepButton/StepButton.js +16 -17
  315. package/modern/StepConnector/StepConnector.js +10 -12
  316. package/modern/StepContent/StepContent.js +18 -20
  317. package/modern/StepIcon/StepIcon.js +22 -22
  318. package/modern/StepLabel/StepLabel.js +33 -30
  319. package/modern/Stepper/Stepper.js +21 -22
  320. package/modern/SvgIcon/SvgIcon.js +21 -21
  321. package/modern/SwipeableDrawer/SwipeArea.js +15 -16
  322. package/modern/SwipeableDrawer/SwipeableDrawer.js +49 -43
  323. package/modern/Switch/Switch.js +23 -20
  324. package/modern/Tab/Tab.js +32 -33
  325. package/modern/TabScrollButton/TabScrollButton.js +27 -21
  326. package/modern/Table/Table.js +17 -17
  327. package/modern/TableBody/TableBody.js +11 -12
  328. package/modern/TableCell/TableCell.js +19 -19
  329. package/modern/TableContainer/TableContainer.js +11 -12
  330. package/modern/TableFooter/TableFooter.js +11 -12
  331. package/modern/TableHead/TableHead.js +11 -12
  332. package/modern/TablePagination/TablePagination.js +56 -52
  333. package/modern/TablePagination/TablePaginationActions.js +51 -38
  334. package/modern/TableRow/TableRow.js +13 -14
  335. package/modern/TableSortLabel/TableSortLabel.js +15 -17
  336. package/modern/Tabs/ScrollbarSize.js +7 -9
  337. package/modern/Tabs/Tabs.js +52 -49
  338. package/modern/TextField/TextField.js +137 -67
  339. package/modern/ToggleButton/ToggleButton.js +30 -32
  340. package/modern/ToggleButtonGroup/ToggleButtonGroup.js +19 -21
  341. package/modern/Toolbar/Toolbar.js +13 -14
  342. package/modern/Tooltip/Tooltip.js +77 -64
  343. package/modern/Typography/Typography.js +37 -35
  344. package/modern/Zoom/Zoom.js +31 -30
  345. package/modern/index.js +1 -1
  346. package/modern/internal/SwitchBase.js +37 -37
  347. package/modern/locale/index.js +74 -1
  348. package/modern/styles/CssVarsProvider.js +20 -9
  349. package/modern/styles/ThemeProvider.js +7 -10
  350. package/modern/styles/adaptV4Theme.js +31 -31
  351. package/modern/styles/createMixins.js +4 -4
  352. package/modern/styles/createPalette.js +16 -13
  353. package/modern/styles/createTheme.js +16 -11
  354. package/modern/styles/createTransitions.js +17 -14
  355. package/modern/styles/createTypography.js +31 -29
  356. package/modern/styles/experimental_extendTheme.js +8 -344
  357. package/modern/styles/extendTheme.js +355 -0
  358. package/modern/styles/index.js +2 -1
  359. package/modern/styles/responsiveFontSizes.js +20 -11
  360. package/modern/usePagination/usePagination.js +18 -20
  361. package/modern/useScrollTrigger/useScrollTrigger.js +8 -10
  362. package/modern/utils/createSvgIcon.js +4 -5
  363. package/modern/utils/useSlot.js +41 -40
  364. package/node/Accordion/Accordion.js +33 -33
  365. package/node/AccordionActions/AccordionActions.js +11 -12
  366. package/node/AccordionDetails/AccordionDetails.js +7 -9
  367. package/node/AccordionSummary/AccordionSummary.js +14 -16
  368. package/node/Alert/Alert.js +56 -51
  369. package/node/AlertTitle/AlertTitle.js +7 -9
  370. package/node/AppBar/AppBar.js +125 -129
  371. package/node/Autocomplete/Autocomplete.js +165 -137
  372. package/node/Avatar/Avatar.js +44 -36
  373. package/node/AvatarGroup/AvatarGroup.js +60 -41
  374. package/node/Backdrop/Backdrop.js +33 -30
  375. package/node/Badge/Badge.js +179 -184
  376. package/node/BottomNavigation/BottomNavigation.js +15 -17
  377. package/node/BottomNavigationAction/BottomNavigationAction.js +15 -18
  378. package/node/Breadcrumbs/BreadcrumbCollapsed.js +35 -34
  379. package/node/Breadcrumbs/Breadcrumbs.js +19 -21
  380. package/node/Button/Button.js +32 -29
  381. package/node/ButtonBase/ButtonBase.js +43 -42
  382. package/node/ButtonBase/TouchRipple.js +9 -12
  383. package/node/ButtonGroup/ButtonGroup.js +23 -25
  384. package/node/Card/Card.js +11 -12
  385. package/node/CardActionArea/CardActionArea.js +9 -12
  386. package/node/CardActions/CardActions.js +11 -12
  387. package/node/CardContent/CardContent.js +11 -12
  388. package/node/CardHeader/CardHeader.js +30 -31
  389. package/node/CardMedia/CardMedia.js +19 -20
  390. package/node/Checkbox/Checkbox.js +29 -26
  391. package/node/Chip/Chip.js +38 -37
  392. package/node/CircularProgress/CircularProgress.js +24 -23
  393. package/node/Collapse/Collapse.js +44 -42
  394. package/node/CssBaseline/CssBaseline.js +17 -14
  395. package/node/Dialog/Dialog.js +41 -42
  396. package/node/DialogActions/DialogActions.js +11 -12
  397. package/node/DialogContent/DialogContent.js +11 -12
  398. package/node/DialogContentText/DialogContentText.js +13 -11
  399. package/node/DialogTitle/DialogTitle.js +8 -10
  400. package/node/Divider/Divider.js +19 -21
  401. package/node/Drawer/Drawer.js +50 -49
  402. package/node/Fab/Fab.js +27 -24
  403. package/node/Fade/Fade.js +31 -30
  404. package/node/FilledInput/FilledInput.js +48 -44
  405. package/node/FilledInput/filledInputClasses.js +4 -2
  406. package/node/FormControl/FormControl.js +27 -25
  407. package/node/FormControlLabel/FormControlLabel.js +32 -26
  408. package/node/FormGroup/FormGroup.js +11 -12
  409. package/node/FormHelperText/FormHelperText.js +26 -18
  410. package/node/FormLabel/FormLabel.js +27 -19
  411. package/node/GlobalStyles/GlobalStyles.js +3 -3
  412. package/node/Grid/Grid.js +50 -41
  413. package/node/Grow/Grow.js +31 -30
  414. package/node/Hidden/Hidden.js +26 -26
  415. package/node/Hidden/HiddenCss.js +29 -29
  416. package/node/Hidden/withWidth.js +19 -19
  417. package/node/Icon/Icon.js +15 -16
  418. package/node/IconButton/IconButton.js +18 -20
  419. package/node/ImageList/ImageList.js +24 -24
  420. package/node/ImageListItem/ImageListItem.js +19 -20
  421. package/node/ImageListItemBar/ImageListItemBar.js +15 -17
  422. package/node/Input/Input.js +21 -20
  423. package/node/Input/inputClasses.js +4 -2
  424. package/node/InputAdornment/InputAdornment.js +16 -18
  425. package/node/InputBase/InputBase.js +90 -73
  426. package/node/InputLabel/InputLabel.js +20 -16
  427. package/node/LinearProgress/LinearProgress.js +21 -23
  428. package/node/Link/Link.js +27 -26
  429. package/node/List/List.js +15 -17
  430. package/node/ListItem/ListItem.js +64 -63
  431. package/node/ListItemAvatar/ListItemAvatar.js +10 -11
  432. package/node/ListItemButton/ListItemButton.js +23 -22
  433. package/node/ListItemIcon/ListItemIcon.js +10 -11
  434. package/node/ListItemSecondaryAction/ListItemSecondaryAction.js +12 -11
  435. package/node/ListItemText/ListItemText.js +25 -27
  436. package/node/ListSubheader/ListSubheader.js +15 -16
  437. package/node/Menu/Menu.js +34 -36
  438. package/node/MenuItem/MenuItem.js +28 -26
  439. package/node/MenuList/MenuList.js +17 -20
  440. package/node/MobileStepper/MobileStepper.js +21 -22
  441. package/node/Modal/Modal.js +47 -38
  442. package/node/NativeSelect/NativeSelect.js +26 -22
  443. package/node/NativeSelect/NativeSelectInput.js +15 -16
  444. package/node/OutlinedInput/NotchedOutline.js +14 -14
  445. package/node/OutlinedInput/OutlinedInput.js +46 -42
  446. package/node/OutlinedInput/outlinedInputClasses.js +4 -2
  447. package/node/Pagination/Pagination.js +36 -32
  448. package/node/PaginationItem/PaginationItem.js +31 -30
  449. package/node/Paper/Paper.js +26 -23
  450. package/node/Popover/Popover.js +71 -71
  451. package/node/Popper/Popper.js +29 -27
  452. package/node/Radio/Radio.js +24 -22
  453. package/node/Radio/RadioButtonIcon.js +3 -3
  454. package/node/RadioGroup/RadioGroup.js +15 -18
  455. package/node/Rating/Rating.js +54 -47
  456. package/node/ScopedCssBaseline/ScopedCssBaseline.js +18 -15
  457. package/node/Select/Select.js +63 -57
  458. package/node/Select/SelectInput.js +64 -59
  459. package/node/Skeleton/Skeleton.js +20 -21
  460. package/node/Slide/Slide.js +39 -34
  461. package/node/Slider/Slider.js +299 -266
  462. package/node/Snackbar/Snackbar.js +52 -45
  463. package/node/SnackbarContent/SnackbarContent.js +13 -15
  464. package/node/SpeedDial/SpeedDial.js +59 -60
  465. package/node/SpeedDialAction/SpeedDialAction.js +34 -33
  466. package/node/SpeedDialIcon/SpeedDialIcon.js +10 -12
  467. package/node/Step/Step.js +18 -20
  468. package/node/StepButton/StepButton.js +16 -17
  469. package/node/StepConnector/StepConnector.js +10 -12
  470. package/node/StepContent/StepContent.js +18 -20
  471. package/node/StepIcon/StepIcon.js +22 -22
  472. package/node/StepLabel/StepLabel.js +33 -30
  473. package/node/Stepper/Stepper.js +21 -22
  474. package/node/SvgIcon/SvgIcon.js +21 -21
  475. package/node/SwipeableDrawer/SwipeArea.js +15 -16
  476. package/node/SwipeableDrawer/SwipeableDrawer.js +51 -44
  477. package/node/Switch/Switch.js +23 -20
  478. package/node/Tab/Tab.js +32 -33
  479. package/node/TabScrollButton/TabScrollButton.js +27 -21
  480. package/node/Table/Table.js +17 -17
  481. package/node/TableBody/TableBody.js +11 -12
  482. package/node/TableCell/TableCell.js +19 -19
  483. package/node/TableContainer/TableContainer.js +11 -12
  484. package/node/TableFooter/TableFooter.js +11 -12
  485. package/node/TableHead/TableHead.js +11 -12
  486. package/node/TablePagination/TablePagination.js +56 -52
  487. package/node/TablePagination/TablePaginationActions.js +54 -42
  488. package/node/TableRow/TableRow.js +13 -14
  489. package/node/TableSortLabel/TableSortLabel.js +15 -17
  490. package/node/Tabs/ScrollbarSize.js +7 -9
  491. package/node/Tabs/Tabs.js +52 -49
  492. package/node/TextField/TextField.js +137 -67
  493. package/node/ToggleButton/ToggleButton.js +30 -32
  494. package/node/ToggleButtonGroup/ToggleButtonGroup.js +19 -21
  495. package/node/Toolbar/Toolbar.js +13 -14
  496. package/node/Tooltip/Tooltip.js +77 -64
  497. package/node/Typography/Typography.js +37 -35
  498. package/node/Zoom/Zoom.js +31 -30
  499. package/node/index.js +1 -1
  500. package/node/internal/SwitchBase.js +37 -37
  501. package/node/locale/index.js +75 -2
  502. package/node/styles/CssVarsProvider.js +25 -10
  503. package/node/styles/ThemeProvider.js +7 -10
  504. package/node/styles/adaptV4Theme.js +31 -32
  505. package/node/styles/createMixins.js +4 -5
  506. package/node/styles/createPalette.js +16 -13
  507. package/node/styles/createTheme.js +16 -11
  508. package/node/styles/createTransitions.js +17 -15
  509. package/node/styles/createTypography.js +31 -29
  510. package/node/styles/experimental_extendTheme.js +9 -350
  511. package/node/styles/extendTheme.js +367 -0
  512. package/node/styles/index.js +10 -0
  513. package/node/styles/responsiveFontSizes.js +20 -11
  514. package/node/usePagination/usePagination.js +18 -20
  515. package/node/useScrollTrigger/useScrollTrigger.js +8 -11
  516. package/node/utils/createSvgIcon.js +4 -5
  517. package/node/utils/useSlot.js +41 -40
  518. package/package.json +6 -6
  519. package/styles/CssVarsProvider.d.ts +3 -2
  520. package/styles/CssVarsProvider.js +20 -9
  521. package/styles/ThemeProvider.js +7 -10
  522. package/styles/adaptV4Theme.js +31 -31
  523. package/styles/createMixins.js +4 -4
  524. package/styles/createPalette.js +16 -13
  525. package/styles/createTheme.js +16 -11
  526. package/styles/createTransitions.js +17 -14
  527. package/styles/createTypography.js +31 -29
  528. package/styles/experimental_extendTheme.js +8 -344
  529. package/styles/{experimental_extendTheme.d.ts → extendTheme.d.ts} +1 -2
  530. package/styles/extendTheme.js +355 -0
  531. package/styles/index.d.ts +2 -2
  532. package/styles/index.js +2 -1
  533. package/styles/responsiveFontSizes.js +20 -11
  534. package/themeCssVarsAugmentation/index.d.ts +1 -1
  535. package/types/OverridableComponentAugmentation.d.ts +2 -2
  536. package/usePagination/usePagination.d.ts +1 -1
  537. package/usePagination/usePagination.js +18 -20
  538. package/useScrollTrigger/useScrollTrigger.js +8 -10
  539. package/utils/createSvgIcon.js +4 -5
  540. package/utils/useSlot.js +41 -40
  541. package/umd/material-ui.development.js +0 -54226
  542. package/umd/material-ui.production.min.js +0 -25
package/Tabs/Tabs.js CHANGED
@@ -1,8 +1,5 @@
1
1
  'use client';
2
2
 
3
- import _extends from "@babel/runtime/helpers/esm/extends";
4
- import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
5
- const _excluded = ["aria-label", "aria-labelledby", "action", "centered", "children", "className", "component", "allowScrollButtonsMobile", "indicatorColor", "onChange", "orientation", "ScrollButtonComponent", "scrollButtons", "selectionFollowsFocus", "slots", "slotProps", "TabIndicatorProps", "TabScrollButtonProps", "textColor", "value", "variant", "visibleScrollbar"];
6
3
  import * as React from 'react';
7
4
  import { isFragment } from 'react-is';
8
5
  import PropTypes from 'prop-types';
@@ -264,30 +261,30 @@ const Tabs = /*#__PURE__*/React.forwardRef(function Tabs(inProps, ref) {
264
261
  const theme = useTheme();
265
262
  const isRtl = useRtl();
266
263
  const {
267
- 'aria-label': ariaLabel,
268
- 'aria-labelledby': ariaLabelledBy,
269
- action,
270
- centered = false,
271
- children: childrenProp,
272
- className,
273
- component = 'div',
274
- allowScrollButtonsMobile = false,
275
- indicatorColor = 'primary',
276
- onChange,
277
- orientation = 'horizontal',
278
- ScrollButtonComponent = TabScrollButton,
279
- scrollButtons = 'auto',
280
- selectionFollowsFocus,
281
- slots = {},
282
- slotProps = {},
283
- TabIndicatorProps = {},
284
- TabScrollButtonProps = {},
285
- textColor = 'primary',
286
- value,
287
- variant = 'standard',
288
- visibleScrollbar = false
289
- } = props,
290
- other = _objectWithoutPropertiesLoose(props, _excluded);
264
+ 'aria-label': ariaLabel,
265
+ 'aria-labelledby': ariaLabelledBy,
266
+ action,
267
+ centered = false,
268
+ children: childrenProp,
269
+ className,
270
+ component = 'div',
271
+ allowScrollButtonsMobile = false,
272
+ indicatorColor = 'primary',
273
+ onChange,
274
+ orientation = 'horizontal',
275
+ ScrollButtonComponent = TabScrollButton,
276
+ scrollButtons = 'auto',
277
+ selectionFollowsFocus,
278
+ slots = {},
279
+ slotProps = {},
280
+ TabIndicatorProps = {},
281
+ TabScrollButtonProps = {},
282
+ textColor = 'primary',
283
+ value,
284
+ variant = 'standard',
285
+ visibleScrollbar = false,
286
+ ...other
287
+ } = props;
291
288
  const scrollable = variant === 'scrollable';
292
289
  const vertical = orientation === 'vertical';
293
290
  const scrollStart = vertical ? 'scrollTop' : 'scrollLeft';
@@ -295,7 +292,8 @@ const Tabs = /*#__PURE__*/React.forwardRef(function Tabs(inProps, ref) {
295
292
  const end = vertical ? 'bottom' : 'right';
296
293
  const clientSize = vertical ? 'clientHeight' : 'clientWidth';
297
294
  const size = vertical ? 'height' : 'width';
298
- const ownerState = _extends({}, props, {
295
+ const ownerState = {
296
+ ...props,
299
297
  component,
300
298
  allowScrollButtonsMobile,
301
299
  indicatorColor,
@@ -311,7 +309,7 @@ const Tabs = /*#__PURE__*/React.forwardRef(function Tabs(inProps, ref) {
311
309
  scrollableY: scrollable && vertical,
312
310
  centered: centered && !scrollable,
313
311
  scrollButtonsHideMobile: !allowScrollButtonsMobile
314
- });
312
+ };
315
313
  const classes = useUtilityClasses(ownerState);
316
314
  const startScrollButtonIconProps = useSlotProps({
317
315
  elementType: slots.StartScrollButtonIcon,
@@ -485,7 +483,7 @@ const Tabs = /*#__PURE__*/React.forwardRef(function Tabs(inProps, ref) {
485
483
  }) : null;
486
484
  const scrollButtonsActive = displayStartScroll || displayEndScroll;
487
485
  const showScrollButtons = scrollable && (scrollButtons === 'auto' && scrollButtonsActive || scrollButtons === true);
488
- conditionalElements.scrollButtonStart = showScrollButtons ? /*#__PURE__*/_jsx(ScrollButtonComponent, _extends({
486
+ conditionalElements.scrollButtonStart = showScrollButtons ? /*#__PURE__*/_jsx(ScrollButtonComponent, {
489
487
  slots: {
490
488
  StartScrollButtonIcon: slots.StartScrollButtonIcon
491
489
  },
@@ -495,11 +493,11 @@ const Tabs = /*#__PURE__*/React.forwardRef(function Tabs(inProps, ref) {
495
493
  orientation: orientation,
496
494
  direction: isRtl ? 'right' : 'left',
497
495
  onClick: handleStartScrollClick,
498
- disabled: !displayStartScroll
499
- }, TabScrollButtonProps, {
496
+ disabled: !displayStartScroll,
497
+ ...TabScrollButtonProps,
500
498
  className: clsx(classes.scrollButtons, TabScrollButtonProps.className)
501
- })) : null;
502
- conditionalElements.scrollButtonEnd = showScrollButtons ? /*#__PURE__*/_jsx(ScrollButtonComponent, _extends({
499
+ }) : null;
500
+ conditionalElements.scrollButtonEnd = showScrollButtons ? /*#__PURE__*/_jsx(ScrollButtonComponent, {
503
501
  slots: {
504
502
  EndScrollButtonIcon: slots.EndScrollButtonIcon
505
503
  },
@@ -509,10 +507,10 @@ const Tabs = /*#__PURE__*/React.forwardRef(function Tabs(inProps, ref) {
509
507
  orientation: orientation,
510
508
  direction: isRtl ? 'left' : 'right',
511
509
  onClick: handleEndScrollClick,
512
- disabled: !displayEndScroll
513
- }, TabScrollButtonProps, {
510
+ disabled: !displayEndScroll,
511
+ ...TabScrollButtonProps,
514
512
  className: clsx(classes.scrollButtons, TabScrollButtonProps.className)
515
- })) : null;
513
+ }) : null;
516
514
  return conditionalElements;
517
515
  };
518
516
  const scrollSelectedIntoView = useEventCallback(animation => {
@@ -639,11 +637,15 @@ const Tabs = /*#__PURE__*/React.forwardRef(function Tabs(inProps, ref) {
639
637
  updateIndicator: updateIndicatorState,
640
638
  updateScrollButtons: updateScrollButtonState
641
639
  }), [updateIndicatorState, updateScrollButtonState]);
642
- const indicator = /*#__PURE__*/_jsx(TabsIndicator, _extends({}, TabIndicatorProps, {
640
+ const indicator = /*#__PURE__*/_jsx(TabsIndicator, {
641
+ ...TabIndicatorProps,
643
642
  className: clsx(classes.indicator, TabIndicatorProps.className),
644
643
  ownerState: ownerState,
645
- style: _extends({}, indicatorStyle, TabIndicatorProps.style)
646
- }));
644
+ style: {
645
+ ...indicatorStyle,
646
+ ...TabIndicatorProps.style
647
+ }
648
+ });
647
649
  let childIndex = 0;
648
650
  const children = React.Children.map(childrenProp, child => {
649
651
  if (! /*#__PURE__*/React.isValidElement(child)) {
@@ -658,17 +660,18 @@ const Tabs = /*#__PURE__*/React.forwardRef(function Tabs(inProps, ref) {
658
660
  valueToIndex.set(childValue, childIndex);
659
661
  const selected = childValue === value;
660
662
  childIndex += 1;
661
- return /*#__PURE__*/React.cloneElement(child, _extends({
663
+ return /*#__PURE__*/React.cloneElement(child, {
662
664
  fullWidth: variant === 'fullWidth',
663
665
  indicator: selected && !mounted && indicator,
664
666
  selected,
665
667
  selectionFollowsFocus,
666
668
  onChange,
667
669
  textColor,
668
- value: childValue
669
- }, childIndex === 1 && value === false && !child.props.tabIndex ? {
670
- tabIndex: 0
671
- } : {}));
670
+ value: childValue,
671
+ ...(childIndex === 1 && value === false && !child.props.tabIndex ? {
672
+ tabIndex: 0
673
+ } : {})
674
+ });
672
675
  });
673
676
  const handleKeyDown = event => {
674
677
  const list = tabListRef.current;
@@ -709,12 +712,12 @@ const Tabs = /*#__PURE__*/React.forwardRef(function Tabs(inProps, ref) {
709
712
  }
710
713
  };
711
714
  const conditionalElements = getConditionalElements();
712
- return /*#__PURE__*/_jsxs(TabsRoot, _extends({
715
+ return /*#__PURE__*/_jsxs(TabsRoot, {
713
716
  className: clsx(classes.root, className),
714
717
  ownerState: ownerState,
715
718
  ref: ref,
716
- as: component
717
- }, other, {
719
+ as: component,
720
+ ...other,
718
721
  children: [conditionalElements.scrollButtonStart, conditionalElements.scrollbarSizeListener, /*#__PURE__*/_jsxs(TabsScroller, {
719
722
  className: classes.scroller,
720
723
  ownerState: ownerState,
@@ -735,7 +738,7 @@ const Tabs = /*#__PURE__*/React.forwardRef(function Tabs(inProps, ref) {
735
738
  children: children
736
739
  }), mounted && indicator]
737
740
  }), conditionalElements.scrollButtonEnd]
738
- }));
741
+ });
739
742
  });
740
743
  process.env.NODE_ENV !== "production" ? Tabs.propTypes /* remove-proptypes */ = {
741
744
  // ┌────────────────────────────── Warning ──────────────────────────────┐
@@ -12,10 +12,50 @@ import { InputLabelProps } from '../InputLabel';
12
12
  import { SelectProps } from '../Select';
13
13
  import { Theme } from '../styles';
14
14
  import { TextFieldClasses } from './textFieldClasses';
15
+ import { CreateSlotsAndSlotProps, SlotProps } from '../utils/types';
15
16
 
16
17
  export interface TextFieldPropsColorOverrides {}
17
18
  export interface TextFieldPropsSizeOverrides {}
18
19
 
20
+ export interface TextFieldSlots {
21
+ /**
22
+ * The component that renders the input.
23
+ * @default OutlinedInput
24
+ */
25
+ input?: React.ElementType;
26
+ /**
27
+ * The component that renders the input's label.
28
+ * @default InputLabel
29
+ */
30
+ inputLabel?: React.ElementType;
31
+ /**
32
+ * The html input element.
33
+ * @default 'input'
34
+ */
35
+ htmlInput?: React.ElementType;
36
+ /**
37
+ * The component that renders the helper text.
38
+ * @default FormHelperText
39
+ */
40
+ formHelperText?: React.ElementType;
41
+ /**
42
+ * The component that renders the select.
43
+ * @default Select
44
+ */
45
+ select?: React.ElementType;
46
+ }
47
+
48
+ export type TextFieldSlotsAndSlotProps<InputPropsType> = CreateSlotsAndSlotProps<
49
+ TextFieldSlots,
50
+ {
51
+ input: SlotProps<React.ElementType<InputPropsType>, {}, TextFieldOwnerState>;
52
+ inputLabel: SlotProps<React.ElementType<InputLabelProps>, {}, TextFieldOwnerState>;
53
+ htmlInput: SlotProps<React.ElementType<InputBaseProps['inputProps']>, {}, TextFieldOwnerState>;
54
+ formHelperText: SlotProps<React.ElementType<FormHelperTextProps>, {}, TextFieldOwnerState>;
55
+ select: SlotProps<React.ElementType<SelectProps>, {}, TextFieldOwnerState>;
56
+ }
57
+ >;
58
+
19
59
  export interface BaseTextFieldProps
20
60
  extends StandardProps<
21
61
  FormControlProps,
@@ -67,6 +107,7 @@ export interface BaseTextFieldProps
67
107
  error?: boolean;
68
108
  /**
69
109
  * Props applied to the [`FormHelperText`](/material-ui/api/form-helper-text/) element.
110
+ * @deprecated Use `slotProps.formHelperText` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
70
111
  */
71
112
  FormHelperTextProps?: Partial<FormHelperTextProps>;
72
113
  /**
@@ -86,10 +127,12 @@ export interface BaseTextFieldProps
86
127
  /**
87
128
  * Props applied to the [`InputLabel`](/material-ui/api/input-label/) element.
88
129
  * Pointer events like `onClick` are enabled if and only if `shrink` is `true`.
130
+ * @deprecated Use `slotProps.inputLabel` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
89
131
  */
90
132
  InputLabelProps?: Partial<InputLabelProps>;
91
133
  /**
92
134
  * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.
135
+ * @deprecated Use `slotProps.htmlInput` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
93
136
  */
94
137
  inputProps?: InputBaseProps['inputProps'];
95
138
  /**
@@ -140,6 +183,7 @@ export interface BaseTextFieldProps
140
183
  select?: boolean;
141
184
  /**
142
185
  * Props applied to the [`Select`](/material-ui/api/select/) element.
186
+ * @deprecated Use `slotProps.select` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
143
187
  */
144
188
  SelectProps?: Partial<SelectProps>;
145
189
  /**
@@ -160,7 +204,9 @@ export interface BaseTextFieldProps
160
204
  value?: unknown;
161
205
  }
162
206
 
163
- export interface StandardTextFieldProps extends BaseTextFieldProps {
207
+ export interface StandardTextFieldProps
208
+ extends BaseTextFieldProps,
209
+ TextFieldSlotsAndSlotProps<StandardInputProps> {
164
210
  /**
165
211
  * Callback fired when the value is changed.
166
212
  *
@@ -178,11 +224,14 @@ export interface StandardTextFieldProps extends BaseTextFieldProps {
178
224
  * It will be a [`FilledInput`](/material-ui/api/filled-input/),
179
225
  * [`OutlinedInput`](/material-ui/api/outlined-input/) or [`Input`](/material-ui/api/input/)
180
226
  * component depending on the `variant` prop value.
227
+ * @deprecated Use `slotProps.input` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
181
228
  */
182
229
  InputProps?: Partial<StandardInputProps>;
183
230
  }
184
231
 
185
- export interface FilledTextFieldProps extends BaseTextFieldProps {
232
+ export interface FilledTextFieldProps
233
+ extends BaseTextFieldProps,
234
+ TextFieldSlotsAndSlotProps<FilledInputProps> {
186
235
  /**
187
236
  * Callback fired when the value is changed.
188
237
  *
@@ -200,11 +249,14 @@ export interface FilledTextFieldProps extends BaseTextFieldProps {
200
249
  * It will be a [`FilledInput`](/material-ui/api/filled-input/),
201
250
  * [`OutlinedInput`](/material-ui/api/outlined-input/) or [`Input`](/material-ui/api/input/)
202
251
  * component depending on the `variant` prop value.
252
+ * @deprecated Use `slotProps.input` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
203
253
  */
204
254
  InputProps?: Partial<FilledInputProps>;
205
255
  }
206
256
 
207
- export interface OutlinedTextFieldProps extends BaseTextFieldProps {
257
+ export interface OutlinedTextFieldProps
258
+ extends BaseTextFieldProps,
259
+ TextFieldSlotsAndSlotProps<OutlinedInputProps> {
208
260
  /**
209
261
  * Callback fired when the value is changed.
210
262
  *
@@ -222,6 +274,7 @@ export interface OutlinedTextFieldProps extends BaseTextFieldProps {
222
274
  * It will be a [`FilledInput`](/material-ui/api/filled-input/),
223
275
  * [`OutlinedInput`](/material-ui/api/outlined-input/) or [`Input`](/material-ui/api/input/)
224
276
  * component depending on the `variant` prop value.
277
+ * @deprecated Use `slotProps.input` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
225
278
  */
226
279
  InputProps?: Partial<OutlinedInputProps>;
227
280
  }
@@ -235,6 +288,8 @@ export type TextFieldProps<Variant extends TextFieldVariants = TextFieldVariants
235
288
  ? StandardTextFieldProps
236
289
  : OutlinedTextFieldProps;
237
290
 
291
+ export type TextFieldOwnerState = BaseTextFieldProps;
292
+
238
293
  /**
239
294
  * The `TextField` is a convenience wrapper for the most common cases (80%).
240
295
  * It cannot be all things to all people, otherwise the API would grow out of control.
@@ -285,4 +340,4 @@ export default function TextField<Variant extends TextFieldVariants>(
285
340
  */
286
341
  variant?: Variant;
287
342
  } & Omit<TextFieldProps, 'variant'>,
288
- ): JSX.Element;
343
+ ): React.JSX.Element;
@@ -1,8 +1,5 @@
1
1
  'use client';
2
2
 
3
- import _extends from "@babel/runtime/helpers/esm/extends";
4
- import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
5
- const _excluded = ["autoComplete", "autoFocus", "children", "className", "color", "defaultValue", "disabled", "error", "FormHelperTextProps", "fullWidth", "helperText", "id", "InputLabelProps", "inputProps", "InputProps", "inputRef", "label", "maxRows", "minRows", "multiline", "name", "onBlur", "onChange", "onFocus", "placeholder", "required", "rows", "select", "SelectProps", "type", "value", "variant"];
6
3
  import * as React from 'react';
7
4
  import PropTypes from 'prop-types';
8
5
  import clsx from 'clsx';
@@ -18,6 +15,7 @@ import FormControl from '../FormControl';
18
15
  import FormHelperText from '../FormHelperText';
19
16
  import Select from '../Select';
20
17
  import { getTextFieldUtilityClass } from './textFieldClasses';
18
+ import useSlot from '../utils/useSlot';
21
19
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
22
20
  const useThemeProps = createUseThemeProps('MuiTextField');
23
21
  const variantComponent = {
@@ -78,41 +76,44 @@ const TextField = /*#__PURE__*/React.forwardRef(function TextField(inProps, ref)
78
76
  name: 'MuiTextField'
79
77
  });
80
78
  const {
81
- autoComplete,
82
- autoFocus = false,
83
- children,
84
- className,
85
- color = 'primary',
86
- defaultValue,
87
- disabled = false,
88
- error = false,
89
- FormHelperTextProps,
90
- fullWidth = false,
91
- helperText,
92
- id: idOverride,
93
- InputLabelProps,
94
- inputProps,
95
- InputProps,
96
- inputRef,
97
- label,
98
- maxRows,
99
- minRows,
100
- multiline = false,
101
- name,
102
- onBlur,
103
- onChange,
104
- onFocus,
105
- placeholder,
106
- required = false,
107
- rows,
108
- select = false,
109
- SelectProps,
110
- type,
111
- value,
112
- variant = 'outlined'
113
- } = props,
114
- other = _objectWithoutPropertiesLoose(props, _excluded);
115
- const ownerState = _extends({}, props, {
79
+ autoComplete,
80
+ autoFocus = false,
81
+ children,
82
+ className,
83
+ color = 'primary',
84
+ defaultValue,
85
+ disabled = false,
86
+ error = false,
87
+ FormHelperTextProps: FormHelperTextPropsProp,
88
+ fullWidth = false,
89
+ helperText,
90
+ id: idOverride,
91
+ InputLabelProps: InputLabelPropsProp,
92
+ inputProps: inputPropsProp,
93
+ InputProps: InputPropsProp,
94
+ inputRef,
95
+ label,
96
+ maxRows,
97
+ minRows,
98
+ multiline = false,
99
+ name,
100
+ onBlur,
101
+ onChange,
102
+ onFocus,
103
+ placeholder,
104
+ required = false,
105
+ rows,
106
+ select = false,
107
+ SelectProps: SelectPropsProp,
108
+ slots = {},
109
+ slotProps = {},
110
+ type,
111
+ value,
112
+ variant = 'outlined',
113
+ ...other
114
+ } = props;
115
+ const ownerState = {
116
+ ...props,
116
117
  autoFocus,
117
118
  color,
118
119
  disabled,
@@ -122,32 +123,70 @@ const TextField = /*#__PURE__*/React.forwardRef(function TextField(inProps, ref)
122
123
  required,
123
124
  select,
124
125
  variant
125
- });
126
+ };
126
127
  const classes = useUtilityClasses(ownerState);
127
128
  if (process.env.NODE_ENV !== 'production') {
128
129
  if (select && !children) {
129
130
  console.error('MUI: `children` must be passed when using the `TextField` component with `select`.');
130
131
  }
131
132
  }
132
- const InputMore = {};
133
+ const id = useId(idOverride);
134
+ const helperTextId = helperText && id ? `${id}-helper-text` : undefined;
135
+ const inputLabelId = label && id ? `${id}-label` : undefined;
136
+ const InputComponent = variantComponent[variant];
137
+ const externalForwardedProps = {
138
+ slots,
139
+ slotProps: {
140
+ input: InputPropsProp,
141
+ inputLabel: InputLabelPropsProp,
142
+ htmlInput: inputPropsProp,
143
+ formHelperText: FormHelperTextPropsProp,
144
+ select: SelectPropsProp,
145
+ ...slotProps
146
+ }
147
+ };
148
+ const inputAdditionalProps = {};
149
+ const inputLabelSlotProps = externalForwardedProps.slotProps.inputLabel;
133
150
  if (variant === 'outlined') {
134
- if (InputLabelProps && typeof InputLabelProps.shrink !== 'undefined') {
135
- InputMore.notched = InputLabelProps.shrink;
151
+ if (inputLabelSlotProps && typeof inputLabelSlotProps.shrink !== 'undefined') {
152
+ inputAdditionalProps.notched = inputLabelSlotProps.shrink;
136
153
  }
137
- InputMore.label = label;
154
+ inputAdditionalProps.label = label;
138
155
  }
139
156
  if (select) {
140
157
  // unset defaults from textbox inputs
141
- if (!SelectProps || !SelectProps.native) {
142
- InputMore.id = undefined;
158
+ if (!SelectPropsProp || !SelectPropsProp.native) {
159
+ inputAdditionalProps.id = undefined;
143
160
  }
144
- InputMore['aria-describedby'] = undefined;
161
+ inputAdditionalProps['aria-describedby'] = undefined;
145
162
  }
146
- const id = useId(idOverride);
147
- const helperTextId = helperText && id ? `${id}-helper-text` : undefined;
148
- const inputLabelId = label && id ? `${id}-label` : undefined;
149
- const InputComponent = variantComponent[variant];
150
- const InputElement = /*#__PURE__*/_jsx(InputComponent, _extends({
163
+ const [InputSlot, inputProps] = useSlot('input', {
164
+ elementType: InputComponent,
165
+ externalForwardedProps,
166
+ additionalProps: inputAdditionalProps,
167
+ ownerState
168
+ });
169
+ const [InputLabelSlot, inputLabelProps] = useSlot('inputLabel', {
170
+ elementType: InputLabel,
171
+ externalForwardedProps,
172
+ ownerState
173
+ });
174
+ const [HtmlInputSlot, htmlInputProps] = useSlot('htmlInput', {
175
+ elementType: 'input',
176
+ externalForwardedProps,
177
+ ownerState
178
+ });
179
+ const [FormHelperTextSlot, formHelperTextProps] = useSlot('formHelperText', {
180
+ elementType: FormHelperText,
181
+ externalForwardedProps,
182
+ ownerState
183
+ });
184
+ const [SelectSlot, selectProps] = useSlot('select', {
185
+ elementType: Select,
186
+ externalForwardedProps,
187
+ ownerState
188
+ });
189
+ const InputElement = /*#__PURE__*/_jsx(InputSlot, {
151
190
  "aria-describedby": helperTextId,
152
191
  autoComplete: autoComplete,
153
192
  autoFocus: autoFocus,
@@ -166,9 +205,13 @@ const TextField = /*#__PURE__*/React.forwardRef(function TextField(inProps, ref)
166
205
  onChange: onChange,
167
206
  onFocus: onFocus,
168
207
  placeholder: placeholder,
169
- inputProps: inputProps
170
- }, InputMore, InputProps));
171
- return /*#__PURE__*/_jsxs(TextFieldRoot, _extends({
208
+ inputProps: htmlInputProps,
209
+ slots: {
210
+ input: slots.htmlInput ? HtmlInputSlot : undefined
211
+ },
212
+ ...inputProps
213
+ });
214
+ return /*#__PURE__*/_jsxs(TextFieldRoot, {
172
215
  className: clsx(classes.root, className),
173
216
  disabled: disabled,
174
217
  error: error,
@@ -177,27 +220,27 @@ const TextField = /*#__PURE__*/React.forwardRef(function TextField(inProps, ref)
177
220
  required: required,
178
221
  color: color,
179
222
  variant: variant,
180
- ownerState: ownerState
181
- }, other, {
182
- children: [label != null && label !== '' && /*#__PURE__*/_jsx(InputLabel, _extends({
223
+ ownerState: ownerState,
224
+ ...other,
225
+ children: [label != null && label !== '' && /*#__PURE__*/_jsx(InputLabelSlot, {
183
226
  htmlFor: id,
184
- id: inputLabelId
185
- }, InputLabelProps, {
227
+ id: inputLabelId,
228
+ ...inputLabelProps,
186
229
  children: label
187
- })), select ? /*#__PURE__*/_jsx(Select, _extends({
230
+ }), select ? /*#__PURE__*/_jsx(SelectSlot, {
188
231
  "aria-describedby": helperTextId,
189
232
  id: id,
190
233
  labelId: inputLabelId,
191
234
  value: value,
192
- input: InputElement
193
- }, SelectProps, {
235
+ input: InputElement,
236
+ ...selectProps,
194
237
  children: children
195
- })) : InputElement, helperText && /*#__PURE__*/_jsx(FormHelperText, _extends({
196
- id: helperTextId
197
- }, FormHelperTextProps, {
238
+ }) : InputElement, helperText && /*#__PURE__*/_jsx(FormHelperTextSlot, {
239
+ id: helperTextId,
240
+ ...formHelperTextProps,
198
241
  children: helperText
199
- }))]
200
- }));
242
+ })]
243
+ });
201
244
  });
202
245
  process.env.NODE_ENV !== "production" ? TextField.propTypes /* remove-proptypes */ = {
203
246
  // ┌────────────────────────────── Warning ──────────────────────────────┐
@@ -250,6 +293,7 @@ process.env.NODE_ENV !== "production" ? TextField.propTypes /* remove-proptypes
250
293
  error: PropTypes.bool,
251
294
  /**
252
295
  * Props applied to the [`FormHelperText`](/material-ui/api/form-helper-text/) element.
296
+ * @deprecated Use `slotProps.formHelperText` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
253
297
  */
254
298
  FormHelperTextProps: PropTypes.object,
255
299
  /**
@@ -269,10 +313,12 @@ process.env.NODE_ENV !== "production" ? TextField.propTypes /* remove-proptypes
269
313
  /**
270
314
  * Props applied to the [`InputLabel`](/material-ui/api/input-label/) element.
271
315
  * Pointer events like `onClick` are enabled if and only if `shrink` is `true`.
316
+ * @deprecated Use `slotProps.inputLabel` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
272
317
  */
273
318
  InputLabelProps: PropTypes.object,
274
319
  /**
275
320
  * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.
321
+ * @deprecated Use `slotProps.htmlInput` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
276
322
  */
277
323
  inputProps: PropTypes.object,
278
324
  /**
@@ -280,6 +326,7 @@ process.env.NODE_ENV !== "production" ? TextField.propTypes /* remove-proptypes
280
326
  * It will be a [`FilledInput`](/material-ui/api/filled-input/),
281
327
  * [`OutlinedInput`](/material-ui/api/outlined-input/) or [`Input`](/material-ui/api/input/)
282
328
  * component depending on the `variant` prop value.
329
+ * @deprecated Use `slotProps.input` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
283
330
  */
284
331
  InputProps: PropTypes.object,
285
332
  /**
@@ -348,12 +395,35 @@ process.env.NODE_ENV !== "production" ? TextField.propTypes /* remove-proptypes
348
395
  select: PropTypes.bool,
349
396
  /**
350
397
  * Props applied to the [`Select`](/material-ui/api/select/) element.
398
+ * @deprecated Use `slotProps.select` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
351
399
  */
352
400
  SelectProps: PropTypes.object,
353
401
  /**
354
402
  * The size of the component.
355
403
  */
356
404
  size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),
405
+ /**
406
+ * The props used for each slot inside.
407
+ * @default {}
408
+ */
409
+ slotProps: PropTypes /* @typescript-to-proptypes-ignore */.shape({
410
+ formHelperText: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
411
+ htmlInput: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
412
+ input: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
413
+ inputLabel: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
414
+ select: PropTypes.oneOfType([PropTypes.func, PropTypes.object])
415
+ }),
416
+ /**
417
+ * The components used for each slot inside.
418
+ * @default {}
419
+ */
420
+ slots: PropTypes.shape({
421
+ formHelperText: PropTypes.elementType,
422
+ htmlInput: PropTypes.elementType,
423
+ input: PropTypes.elementType,
424
+ inputLabel: PropTypes.elementType,
425
+ select: PropTypes.elementType
426
+ }),
357
427
  /**
358
428
  * The system prop that allows defining system overrides as well as additional CSS styles.
359
429
  */