@mui/material 5.15.3 → 5.15.5

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 (555) hide show
  1. package/Accordion/Accordion.d.ts +30 -2
  2. package/Accordion/Accordion.js +43 -10
  3. package/AccordionActions/AccordionActions.js +4 -4
  4. package/AccordionDetails/AccordionDetails.js +4 -4
  5. package/AccordionSummary/AccordionSummary.js +4 -4
  6. package/AccordionSummary/accordionSummaryClasses.d.ts +4 -1
  7. package/Alert/Alert.d.ts +4 -2
  8. package/Alert/Alert.js +5 -5
  9. package/AlertTitle/AlertTitle.js +4 -4
  10. package/AppBar/AppBar.js +4 -4
  11. package/Autocomplete/Autocomplete.js +4 -4
  12. package/Avatar/Avatar.js +4 -4
  13. package/AvatarGroup/AvatarGroup.js +4 -4
  14. package/Backdrop/Backdrop.js +4 -4
  15. package/Badge/Badge.js +5 -5
  16. package/BottomNavigation/BottomNavigation.js +4 -4
  17. package/BottomNavigationAction/BottomNavigationAction.js +4 -4
  18. package/Box/Box.js +4 -4
  19. package/Breadcrumbs/Breadcrumbs.js +4 -4
  20. package/Button/Button.js +4 -4
  21. package/ButtonBase/ButtonBase.js +4 -4
  22. package/ButtonGroup/ButtonGroup.js +4 -4
  23. package/ButtonGroup/ButtonGroupContext.d.ts +2 -2
  24. package/CHANGELOG.md +184 -1
  25. package/Card/Card.js +4 -4
  26. package/CardActionArea/CardActionArea.js +4 -4
  27. package/CardActions/CardActions.js +4 -4
  28. package/CardContent/CardContent.js +4 -4
  29. package/CardHeader/CardHeader.js +4 -4
  30. package/CardMedia/CardMedia.js +4 -4
  31. package/Checkbox/Checkbox.js +4 -4
  32. package/Chip/Chip.js +4 -4
  33. package/CircularProgress/CircularProgress.js +4 -4
  34. package/ClickAwayListener/index.d.ts +2 -1
  35. package/Collapse/Collapse.js +4 -4
  36. package/Container/Container.js +4 -4
  37. package/CssBaseline/CssBaseline.js +4 -4
  38. package/Dialog/Dialog.js +4 -4
  39. package/DialogActions/DialogActions.js +4 -4
  40. package/DialogContent/DialogContent.js +4 -4
  41. package/DialogContentText/DialogContentText.js +4 -4
  42. package/DialogTitle/DialogTitle.js +4 -4
  43. package/Divider/Divider.d.ts +1 -0
  44. package/Divider/Divider.js +5 -4
  45. package/Divider/dividerClasses.d.ts +6 -2
  46. package/Drawer/Drawer.js +4 -4
  47. package/Fab/Fab.js +4 -4
  48. package/Fade/Fade.js +4 -4
  49. package/FilledInput/FilledInput.js +4 -4
  50. package/FormControl/FormControl.d.ts +1 -1
  51. package/FormControl/FormControl.js +4 -4
  52. package/FormControlLabel/FormControlLabel.js +4 -4
  53. package/FormGroup/FormGroup.js +4 -4
  54. package/FormHelperText/FormHelperText.js +4 -4
  55. package/FormLabel/FormLabel.d.ts +1 -1
  56. package/FormLabel/FormLabel.js +4 -4
  57. package/GlobalStyles/GlobalStyles.js +4 -4
  58. package/Grid/Grid.js +4 -4
  59. package/Grow/Grow.js +4 -4
  60. package/Hidden/Hidden.js +4 -4
  61. package/Icon/Icon.js +4 -4
  62. package/IconButton/IconButton.js +4 -4
  63. package/ImageList/ImageList.js +4 -4
  64. package/ImageListItem/ImageListItem.js +4 -4
  65. package/ImageListItemBar/ImageListItemBar.js +4 -4
  66. package/Input/Input.js +4 -4
  67. package/InputAdornment/InputAdornment.js +4 -4
  68. package/InputBase/InputBase.js +4 -4
  69. package/InputLabel/InputLabel.d.ts +1 -5
  70. package/InputLabel/InputLabel.js +4 -4
  71. package/LinearProgress/LinearProgress.js +4 -4
  72. package/Link/Link.js +4 -4
  73. package/List/List.js +4 -4
  74. package/ListItem/ListItem.js +4 -4
  75. package/ListItemAvatar/ListItemAvatar.js +4 -4
  76. package/ListItemButton/ListItemButton.js +4 -4
  77. package/ListItemIcon/ListItemIcon.js +4 -4
  78. package/ListItemSecondaryAction/ListItemSecondaryAction.js +4 -4
  79. package/ListItemText/ListItemText.js +4 -4
  80. package/ListSubheader/ListSubheader.js +4 -4
  81. package/Menu/Menu.js +4 -4
  82. package/MenuItem/MenuItem.js +4 -4
  83. package/MenuList/MenuList.js +4 -4
  84. package/MobileStepper/MobileStepper.js +4 -4
  85. package/Modal/Modal.js +4 -4
  86. package/NativeSelect/NativeSelect.js +4 -4
  87. package/OutlinedInput/OutlinedInput.js +4 -4
  88. package/Pagination/Pagination.js +4 -4
  89. package/PaginationItem/PaginationItem.js +4 -4
  90. package/Paper/Paper.js +4 -4
  91. package/Popover/Popover.js +4 -4
  92. package/Popper/Popper.js +4 -4
  93. package/Radio/Radio.js +4 -4
  94. package/RadioGroup/RadioGroup.js +4 -4
  95. package/Rating/Rating.js +5 -14
  96. package/ScopedCssBaseline/ScopedCssBaseline.js +4 -4
  97. package/Select/Select.js +4 -4
  98. package/Skeleton/Skeleton.js +4 -4
  99. package/Slide/Slide.js +4 -4
  100. package/Slider/Slider.js +4 -4
  101. package/Snackbar/Snackbar.js +4 -4
  102. package/SnackbarContent/SnackbarContent.js +4 -4
  103. package/SpeedDial/SpeedDial.js +5 -13
  104. package/SpeedDialAction/SpeedDialAction.js +4 -4
  105. package/SpeedDialIcon/SpeedDialIcon.js +4 -4
  106. package/Stack/Stack.js +4 -4
  107. package/Step/Step.js +4 -4
  108. package/StepButton/StepButton.js +4 -4
  109. package/StepConnector/StepConnector.js +4 -4
  110. package/StepContent/StepContent.js +4 -4
  111. package/StepIcon/StepIcon.js +4 -4
  112. package/StepLabel/StepLabel.js +4 -4
  113. package/Stepper/Stepper.js +4 -4
  114. package/SvgIcon/SvgIcon.js +4 -4
  115. package/SwipeableDrawer/SwipeableDrawer.js +4 -4
  116. package/Switch/Switch.js +4 -4
  117. package/Tab/Tab.js +4 -4
  118. package/TabScrollButton/TabScrollButton.js +4 -4
  119. package/Table/Table.js +4 -4
  120. package/TableBody/TableBody.js +4 -4
  121. package/TableCell/TableCell.js +4 -4
  122. package/TableContainer/TableContainer.js +4 -4
  123. package/TableFooter/TableFooter.js +4 -4
  124. package/TableHead/TableHead.js +4 -4
  125. package/TablePagination/TablePagination.js +4 -4
  126. package/TableRow/TableRow.js +4 -4
  127. package/TableSortLabel/TableSortLabel.js +4 -4
  128. package/Tabs/Tabs.js +4 -4
  129. package/TextField/TextField.d.ts +1 -1
  130. package/TextField/TextField.js +4 -4
  131. package/ToggleButton/ToggleButton.js +24 -8
  132. package/ToggleButtonGroup/ToggleButtonGroup.js +88 -46
  133. package/ToggleButtonGroup/ToggleButtonGroupButtonContext.d.ts +6 -0
  134. package/ToggleButtonGroup/ToggleButtonGroupButtonContext.js +9 -0
  135. package/ToggleButtonGroup/ToggleButtonGroupContext.d.ts +16 -0
  136. package/ToggleButtonGroup/ToggleButtonGroupContext.js +9 -0
  137. package/ToggleButtonGroup/toggleButtonGroupClasses.d.ts +6 -0
  138. package/ToggleButtonGroup/toggleButtonGroupClasses.js +1 -1
  139. package/Toolbar/Toolbar.js +4 -4
  140. package/Tooltip/Tooltip.js +4 -4
  141. package/Typography/Typography.js +4 -4
  142. package/Unstable_Grid2/Grid2.js +4 -4
  143. package/Zoom/Zoom.js +4 -4
  144. package/index.js +1 -1
  145. package/legacy/Accordion/Accordion.js +48 -11
  146. package/legacy/AccordionActions/AccordionActions.js +4 -4
  147. package/legacy/AccordionDetails/AccordionDetails.js +4 -4
  148. package/legacy/AccordionSummary/AccordionSummary.js +4 -4
  149. package/legacy/Alert/Alert.js +5 -5
  150. package/legacy/AlertTitle/AlertTitle.js +4 -4
  151. package/legacy/AppBar/AppBar.js +4 -4
  152. package/legacy/Autocomplete/Autocomplete.js +4 -4
  153. package/legacy/Avatar/Avatar.js +4 -4
  154. package/legacy/AvatarGroup/AvatarGroup.js +4 -4
  155. package/legacy/Backdrop/Backdrop.js +4 -4
  156. package/legacy/Badge/Badge.js +5 -5
  157. package/legacy/BottomNavigation/BottomNavigation.js +4 -4
  158. package/legacy/BottomNavigationAction/BottomNavigationAction.js +4 -4
  159. package/legacy/Box/Box.js +4 -4
  160. package/legacy/Breadcrumbs/Breadcrumbs.js +4 -4
  161. package/legacy/Button/Button.js +4 -4
  162. package/legacy/ButtonBase/ButtonBase.js +4 -4
  163. package/legacy/ButtonGroup/ButtonGroup.js +4 -4
  164. package/legacy/Card/Card.js +4 -4
  165. package/legacy/CardActionArea/CardActionArea.js +4 -4
  166. package/legacy/CardActions/CardActions.js +4 -4
  167. package/legacy/CardContent/CardContent.js +4 -4
  168. package/legacy/CardHeader/CardHeader.js +4 -4
  169. package/legacy/CardMedia/CardMedia.js +4 -4
  170. package/legacy/Checkbox/Checkbox.js +4 -4
  171. package/legacy/Chip/Chip.js +4 -4
  172. package/legacy/CircularProgress/CircularProgress.js +4 -4
  173. package/legacy/Collapse/Collapse.js +4 -4
  174. package/legacy/Container/Container.js +4 -4
  175. package/legacy/CssBaseline/CssBaseline.js +4 -4
  176. package/legacy/Dialog/Dialog.js +4 -4
  177. package/legacy/DialogActions/DialogActions.js +4 -4
  178. package/legacy/DialogContent/DialogContent.js +4 -4
  179. package/legacy/DialogContentText/DialogContentText.js +4 -4
  180. package/legacy/DialogTitle/DialogTitle.js +4 -4
  181. package/legacy/Divider/Divider.js +5 -4
  182. package/legacy/Drawer/Drawer.js +4 -4
  183. package/legacy/Fab/Fab.js +4 -4
  184. package/legacy/Fade/Fade.js +4 -4
  185. package/legacy/FilledInput/FilledInput.js +4 -4
  186. package/legacy/FormControl/FormControl.js +4 -4
  187. package/legacy/FormControlLabel/FormControlLabel.js +4 -4
  188. package/legacy/FormGroup/FormGroup.js +4 -4
  189. package/legacy/FormHelperText/FormHelperText.js +4 -4
  190. package/legacy/FormLabel/FormLabel.js +4 -4
  191. package/legacy/GlobalStyles/GlobalStyles.js +4 -4
  192. package/legacy/Grid/Grid.js +4 -4
  193. package/legacy/Grow/Grow.js +4 -4
  194. package/legacy/Hidden/Hidden.js +4 -4
  195. package/legacy/Icon/Icon.js +4 -4
  196. package/legacy/IconButton/IconButton.js +4 -4
  197. package/legacy/ImageList/ImageList.js +4 -4
  198. package/legacy/ImageListItem/ImageListItem.js +4 -4
  199. package/legacy/ImageListItemBar/ImageListItemBar.js +4 -4
  200. package/legacy/Input/Input.js +4 -4
  201. package/legacy/InputAdornment/InputAdornment.js +4 -4
  202. package/legacy/InputBase/InputBase.js +4 -4
  203. package/legacy/InputLabel/InputLabel.js +4 -4
  204. package/legacy/LinearProgress/LinearProgress.js +4 -4
  205. package/legacy/Link/Link.js +4 -4
  206. package/legacy/List/List.js +4 -4
  207. package/legacy/ListItem/ListItem.js +4 -4
  208. package/legacy/ListItemAvatar/ListItemAvatar.js +4 -4
  209. package/legacy/ListItemButton/ListItemButton.js +4 -4
  210. package/legacy/ListItemIcon/ListItemIcon.js +4 -4
  211. package/legacy/ListItemSecondaryAction/ListItemSecondaryAction.js +4 -4
  212. package/legacy/ListItemText/ListItemText.js +4 -4
  213. package/legacy/ListSubheader/ListSubheader.js +4 -4
  214. package/legacy/Menu/Menu.js +4 -4
  215. package/legacy/MenuItem/MenuItem.js +4 -4
  216. package/legacy/MenuList/MenuList.js +4 -4
  217. package/legacy/MobileStepper/MobileStepper.js +4 -4
  218. package/legacy/Modal/Modal.js +4 -4
  219. package/legacy/NativeSelect/NativeSelect.js +4 -4
  220. package/legacy/OutlinedInput/OutlinedInput.js +4 -4
  221. package/legacy/Pagination/Pagination.js +4 -4
  222. package/legacy/PaginationItem/PaginationItem.js +4 -4
  223. package/legacy/Paper/Paper.js +4 -4
  224. package/legacy/Popover/Popover.js +4 -4
  225. package/legacy/Popper/Popper.js +4 -4
  226. package/legacy/Radio/Radio.js +4 -4
  227. package/legacy/RadioGroup/RadioGroup.js +4 -4
  228. package/legacy/Rating/Rating.js +5 -14
  229. package/legacy/ScopedCssBaseline/ScopedCssBaseline.js +4 -4
  230. package/legacy/Select/Select.js +4 -4
  231. package/legacy/Skeleton/Skeleton.js +4 -4
  232. package/legacy/Slide/Slide.js +4 -4
  233. package/legacy/Slider/Slider.js +4 -4
  234. package/legacy/Snackbar/Snackbar.js +4 -4
  235. package/legacy/SnackbarContent/SnackbarContent.js +4 -4
  236. package/legacy/SpeedDial/SpeedDial.js +5 -13
  237. package/legacy/SpeedDialAction/SpeedDialAction.js +4 -4
  238. package/legacy/SpeedDialIcon/SpeedDialIcon.js +4 -4
  239. package/legacy/Stack/Stack.js +4 -4
  240. package/legacy/Step/Step.js +4 -4
  241. package/legacy/StepButton/StepButton.js +4 -4
  242. package/legacy/StepConnector/StepConnector.js +4 -4
  243. package/legacy/StepContent/StepContent.js +4 -4
  244. package/legacy/StepIcon/StepIcon.js +4 -4
  245. package/legacy/StepLabel/StepLabel.js +4 -4
  246. package/legacy/Stepper/Stepper.js +4 -4
  247. package/legacy/SvgIcon/SvgIcon.js +4 -4
  248. package/legacy/SwipeableDrawer/SwipeableDrawer.js +4 -4
  249. package/legacy/Switch/Switch.js +4 -4
  250. package/legacy/Tab/Tab.js +4 -4
  251. package/legacy/TabScrollButton/TabScrollButton.js +4 -4
  252. package/legacy/Table/Table.js +4 -4
  253. package/legacy/TableBody/TableBody.js +4 -4
  254. package/legacy/TableCell/TableCell.js +4 -4
  255. package/legacy/TableContainer/TableContainer.js +4 -4
  256. package/legacy/TableFooter/TableFooter.js +4 -4
  257. package/legacy/TableHead/TableHead.js +4 -4
  258. package/legacy/TablePagination/TablePagination.js +4 -4
  259. package/legacy/TableRow/TableRow.js +4 -4
  260. package/legacy/TableSortLabel/TableSortLabel.js +4 -4
  261. package/legacy/Tabs/Tabs.js +4 -4
  262. package/legacy/TextField/TextField.js +4 -4
  263. package/legacy/ToggleButton/ToggleButton.js +19 -6
  264. package/legacy/ToggleButtonGroup/ToggleButtonGroup.js +81 -55
  265. package/legacy/ToggleButtonGroup/ToggleButtonGroupButtonContext.js +9 -0
  266. package/legacy/ToggleButtonGroup/ToggleButtonGroupContext.js +9 -0
  267. package/legacy/ToggleButtonGroup/toggleButtonGroupClasses.js +1 -1
  268. package/legacy/Toolbar/Toolbar.js +4 -4
  269. package/legacy/Tooltip/Tooltip.js +4 -4
  270. package/legacy/Typography/Typography.js +4 -4
  271. package/legacy/Unstable_Grid2/Grid2.js +4 -4
  272. package/legacy/Zoom/Zoom.js +4 -4
  273. package/legacy/index.js +1 -1
  274. package/legacy/styles/CssVarsProvider.js +3 -0
  275. package/legacy/utils/types.js +1 -0
  276. package/legacy/utils/useSlot.js +71 -0
  277. package/legacy/zero-styled/index.js +2 -0
  278. package/modern/Accordion/Accordion.js +43 -10
  279. package/modern/AccordionActions/AccordionActions.js +4 -4
  280. package/modern/AccordionDetails/AccordionDetails.js +4 -4
  281. package/modern/AccordionSummary/AccordionSummary.js +4 -4
  282. package/modern/Alert/Alert.js +5 -5
  283. package/modern/AlertTitle/AlertTitle.js +4 -4
  284. package/modern/AppBar/AppBar.js +4 -4
  285. package/modern/Autocomplete/Autocomplete.js +4 -4
  286. package/modern/Avatar/Avatar.js +4 -4
  287. package/modern/AvatarGroup/AvatarGroup.js +4 -4
  288. package/modern/Backdrop/Backdrop.js +4 -4
  289. package/modern/Badge/Badge.js +5 -5
  290. package/modern/BottomNavigation/BottomNavigation.js +4 -4
  291. package/modern/BottomNavigationAction/BottomNavigationAction.js +4 -4
  292. package/modern/Box/Box.js +4 -4
  293. package/modern/Breadcrumbs/Breadcrumbs.js +4 -4
  294. package/modern/Button/Button.js +4 -4
  295. package/modern/ButtonBase/ButtonBase.js +4 -4
  296. package/modern/ButtonGroup/ButtonGroup.js +4 -4
  297. package/modern/Card/Card.js +4 -4
  298. package/modern/CardActionArea/CardActionArea.js +4 -4
  299. package/modern/CardActions/CardActions.js +4 -4
  300. package/modern/CardContent/CardContent.js +4 -4
  301. package/modern/CardHeader/CardHeader.js +4 -4
  302. package/modern/CardMedia/CardMedia.js +4 -4
  303. package/modern/Checkbox/Checkbox.js +4 -4
  304. package/modern/Chip/Chip.js +4 -4
  305. package/modern/CircularProgress/CircularProgress.js +4 -4
  306. package/modern/Collapse/Collapse.js +4 -4
  307. package/modern/Container/Container.js +4 -4
  308. package/modern/CssBaseline/CssBaseline.js +4 -4
  309. package/modern/Dialog/Dialog.js +4 -4
  310. package/modern/DialogActions/DialogActions.js +4 -4
  311. package/modern/DialogContent/DialogContent.js +4 -4
  312. package/modern/DialogContentText/DialogContentText.js +4 -4
  313. package/modern/DialogTitle/DialogTitle.js +4 -4
  314. package/modern/Divider/Divider.js +5 -4
  315. package/modern/Drawer/Drawer.js +4 -4
  316. package/modern/Fab/Fab.js +4 -4
  317. package/modern/Fade/Fade.js +4 -4
  318. package/modern/FilledInput/FilledInput.js +4 -4
  319. package/modern/FormControl/FormControl.js +4 -4
  320. package/modern/FormControlLabel/FormControlLabel.js +4 -4
  321. package/modern/FormGroup/FormGroup.js +4 -4
  322. package/modern/FormHelperText/FormHelperText.js +4 -4
  323. package/modern/FormLabel/FormLabel.js +4 -4
  324. package/modern/GlobalStyles/GlobalStyles.js +4 -4
  325. package/modern/Grid/Grid.js +4 -4
  326. package/modern/Grow/Grow.js +4 -4
  327. package/modern/Hidden/Hidden.js +4 -4
  328. package/modern/Icon/Icon.js +4 -4
  329. package/modern/IconButton/IconButton.js +4 -4
  330. package/modern/ImageList/ImageList.js +4 -4
  331. package/modern/ImageListItem/ImageListItem.js +4 -4
  332. package/modern/ImageListItemBar/ImageListItemBar.js +4 -4
  333. package/modern/Input/Input.js +4 -4
  334. package/modern/InputAdornment/InputAdornment.js +4 -4
  335. package/modern/InputBase/InputBase.js +4 -4
  336. package/modern/InputLabel/InputLabel.js +4 -4
  337. package/modern/LinearProgress/LinearProgress.js +4 -4
  338. package/modern/Link/Link.js +4 -4
  339. package/modern/List/List.js +4 -4
  340. package/modern/ListItem/ListItem.js +4 -4
  341. package/modern/ListItemAvatar/ListItemAvatar.js +4 -4
  342. package/modern/ListItemButton/ListItemButton.js +4 -4
  343. package/modern/ListItemIcon/ListItemIcon.js +4 -4
  344. package/modern/ListItemSecondaryAction/ListItemSecondaryAction.js +4 -4
  345. package/modern/ListItemText/ListItemText.js +4 -4
  346. package/modern/ListSubheader/ListSubheader.js +4 -4
  347. package/modern/Menu/Menu.js +4 -4
  348. package/modern/MenuItem/MenuItem.js +4 -4
  349. package/modern/MenuList/MenuList.js +4 -4
  350. package/modern/MobileStepper/MobileStepper.js +4 -4
  351. package/modern/Modal/Modal.js +4 -4
  352. package/modern/NativeSelect/NativeSelect.js +4 -4
  353. package/modern/OutlinedInput/OutlinedInput.js +4 -4
  354. package/modern/Pagination/Pagination.js +4 -4
  355. package/modern/PaginationItem/PaginationItem.js +4 -4
  356. package/modern/Paper/Paper.js +4 -4
  357. package/modern/Popover/Popover.js +4 -4
  358. package/modern/Popper/Popper.js +4 -4
  359. package/modern/Radio/Radio.js +4 -4
  360. package/modern/RadioGroup/RadioGroup.js +4 -4
  361. package/modern/Rating/Rating.js +5 -14
  362. package/modern/ScopedCssBaseline/ScopedCssBaseline.js +4 -4
  363. package/modern/Select/Select.js +4 -4
  364. package/modern/Skeleton/Skeleton.js +4 -4
  365. package/modern/Slide/Slide.js +4 -4
  366. package/modern/Slider/Slider.js +4 -4
  367. package/modern/Snackbar/Snackbar.js +4 -4
  368. package/modern/SnackbarContent/SnackbarContent.js +4 -4
  369. package/modern/SpeedDial/SpeedDial.js +5 -13
  370. package/modern/SpeedDialAction/SpeedDialAction.js +4 -4
  371. package/modern/SpeedDialIcon/SpeedDialIcon.js +4 -4
  372. package/modern/Stack/Stack.js +4 -4
  373. package/modern/Step/Step.js +4 -4
  374. package/modern/StepButton/StepButton.js +4 -4
  375. package/modern/StepConnector/StepConnector.js +4 -4
  376. package/modern/StepContent/StepContent.js +4 -4
  377. package/modern/StepIcon/StepIcon.js +4 -4
  378. package/modern/StepLabel/StepLabel.js +4 -4
  379. package/modern/Stepper/Stepper.js +4 -4
  380. package/modern/SvgIcon/SvgIcon.js +4 -4
  381. package/modern/SwipeableDrawer/SwipeableDrawer.js +4 -4
  382. package/modern/Switch/Switch.js +4 -4
  383. package/modern/Tab/Tab.js +4 -4
  384. package/modern/TabScrollButton/TabScrollButton.js +4 -4
  385. package/modern/Table/Table.js +4 -4
  386. package/modern/TableBody/TableBody.js +4 -4
  387. package/modern/TableCell/TableCell.js +4 -4
  388. package/modern/TableContainer/TableContainer.js +4 -4
  389. package/modern/TableFooter/TableFooter.js +4 -4
  390. package/modern/TableHead/TableHead.js +4 -4
  391. package/modern/TablePagination/TablePagination.js +4 -4
  392. package/modern/TableRow/TableRow.js +4 -4
  393. package/modern/TableSortLabel/TableSortLabel.js +4 -4
  394. package/modern/Tabs/Tabs.js +4 -4
  395. package/modern/TextField/TextField.js +4 -4
  396. package/modern/ToggleButton/ToggleButton.js +24 -8
  397. package/modern/ToggleButtonGroup/ToggleButtonGroup.js +88 -46
  398. package/modern/ToggleButtonGroup/ToggleButtonGroupButtonContext.js +9 -0
  399. package/modern/ToggleButtonGroup/ToggleButtonGroupContext.js +9 -0
  400. package/modern/ToggleButtonGroup/toggleButtonGroupClasses.js +1 -1
  401. package/modern/Toolbar/Toolbar.js +4 -4
  402. package/modern/Tooltip/Tooltip.js +4 -4
  403. package/modern/Typography/Typography.js +4 -4
  404. package/modern/Unstable_Grid2/Grid2.js +4 -4
  405. package/modern/Zoom/Zoom.js +4 -4
  406. package/modern/index.js +1 -1
  407. package/modern/styles/CssVarsProvider.js +3 -0
  408. package/modern/utils/types.js +1 -0
  409. package/modern/utils/useSlot.js +82 -0
  410. package/modern/zero-styled/index.js +2 -0
  411. package/node/Accordion/Accordion.js +43 -10
  412. package/node/AccordionActions/AccordionActions.js +4 -4
  413. package/node/AccordionDetails/AccordionDetails.js +4 -4
  414. package/node/AccordionSummary/AccordionSummary.js +4 -4
  415. package/node/Alert/Alert.js +5 -5
  416. package/node/AlertTitle/AlertTitle.js +4 -4
  417. package/node/AppBar/AppBar.js +4 -4
  418. package/node/Autocomplete/Autocomplete.js +4 -4
  419. package/node/Avatar/Avatar.js +4 -4
  420. package/node/AvatarGroup/AvatarGroup.js +4 -4
  421. package/node/Backdrop/Backdrop.js +4 -4
  422. package/node/Badge/Badge.js +7 -7
  423. package/node/BottomNavigation/BottomNavigation.js +4 -4
  424. package/node/BottomNavigationAction/BottomNavigationAction.js +4 -4
  425. package/node/Box/Box.js +4 -4
  426. package/node/Breadcrumbs/Breadcrumbs.js +4 -4
  427. package/node/Button/Button.js +4 -4
  428. package/node/ButtonBase/ButtonBase.js +4 -4
  429. package/node/ButtonGroup/ButtonGroup.js +4 -4
  430. package/node/Card/Card.js +4 -4
  431. package/node/CardActionArea/CardActionArea.js +4 -4
  432. package/node/CardActions/CardActions.js +4 -4
  433. package/node/CardContent/CardContent.js +4 -4
  434. package/node/CardHeader/CardHeader.js +4 -4
  435. package/node/CardMedia/CardMedia.js +4 -4
  436. package/node/Checkbox/Checkbox.js +4 -4
  437. package/node/Chip/Chip.js +4 -4
  438. package/node/CircularProgress/CircularProgress.js +4 -4
  439. package/node/Collapse/Collapse.js +4 -4
  440. package/node/Container/Container.js +4 -4
  441. package/node/CssBaseline/CssBaseline.js +4 -4
  442. package/node/Dialog/Dialog.js +4 -4
  443. package/node/DialogActions/DialogActions.js +4 -4
  444. package/node/DialogContent/DialogContent.js +4 -4
  445. package/node/DialogContentText/DialogContentText.js +4 -4
  446. package/node/DialogTitle/DialogTitle.js +4 -4
  447. package/node/Divider/Divider.js +5 -4
  448. package/node/Drawer/Drawer.js +4 -4
  449. package/node/Fab/Fab.js +4 -4
  450. package/node/Fade/Fade.js +4 -4
  451. package/node/FilledInput/FilledInput.js +4 -4
  452. package/node/FormControl/FormControl.js +4 -4
  453. package/node/FormControlLabel/FormControlLabel.js +4 -4
  454. package/node/FormGroup/FormGroup.js +4 -4
  455. package/node/FormHelperText/FormHelperText.js +4 -4
  456. package/node/FormLabel/FormLabel.js +4 -4
  457. package/node/GlobalStyles/GlobalStyles.js +4 -4
  458. package/node/Grid/Grid.js +4 -4
  459. package/node/Grow/Grow.js +4 -4
  460. package/node/Hidden/Hidden.js +4 -4
  461. package/node/Icon/Icon.js +4 -4
  462. package/node/IconButton/IconButton.js +4 -4
  463. package/node/ImageList/ImageList.js +4 -4
  464. package/node/ImageListItem/ImageListItem.js +4 -4
  465. package/node/ImageListItemBar/ImageListItemBar.js +4 -4
  466. package/node/Input/Input.js +4 -4
  467. package/node/InputAdornment/InputAdornment.js +4 -4
  468. package/node/InputBase/InputBase.js +4 -4
  469. package/node/InputLabel/InputLabel.js +4 -4
  470. package/node/LinearProgress/LinearProgress.js +4 -4
  471. package/node/Link/Link.js +4 -4
  472. package/node/List/List.js +4 -4
  473. package/node/ListItem/ListItem.js +4 -4
  474. package/node/ListItemAvatar/ListItemAvatar.js +4 -4
  475. package/node/ListItemButton/ListItemButton.js +4 -4
  476. package/node/ListItemIcon/ListItemIcon.js +4 -4
  477. package/node/ListItemSecondaryAction/ListItemSecondaryAction.js +4 -4
  478. package/node/ListItemText/ListItemText.js +4 -4
  479. package/node/ListSubheader/ListSubheader.js +4 -4
  480. package/node/Menu/Menu.js +4 -4
  481. package/node/MenuItem/MenuItem.js +4 -4
  482. package/node/MenuList/MenuList.js +4 -4
  483. package/node/MobileStepper/MobileStepper.js +4 -4
  484. package/node/Modal/Modal.js +4 -4
  485. package/node/NativeSelect/NativeSelect.js +4 -4
  486. package/node/OutlinedInput/OutlinedInput.js +4 -4
  487. package/node/Pagination/Pagination.js +4 -4
  488. package/node/PaginationItem/PaginationItem.js +4 -4
  489. package/node/Paper/Paper.js +4 -4
  490. package/node/Popover/Popover.js +4 -4
  491. package/node/Popper/Popper.js +4 -4
  492. package/node/Radio/Radio.js +4 -4
  493. package/node/RadioGroup/RadioGroup.js +4 -4
  494. package/node/Rating/Rating.js +5 -14
  495. package/node/ScopedCssBaseline/ScopedCssBaseline.js +4 -4
  496. package/node/Select/Select.js +4 -4
  497. package/node/Skeleton/Skeleton.js +4 -4
  498. package/node/Slide/Slide.js +4 -4
  499. package/node/Slider/Slider.js +4 -4
  500. package/node/Snackbar/Snackbar.js +4 -4
  501. package/node/SnackbarContent/SnackbarContent.js +4 -4
  502. package/node/SpeedDial/SpeedDial.js +6 -14
  503. package/node/SpeedDialAction/SpeedDialAction.js +4 -4
  504. package/node/SpeedDialIcon/SpeedDialIcon.js +4 -4
  505. package/node/Stack/Stack.js +4 -4
  506. package/node/Step/Step.js +4 -4
  507. package/node/StepButton/StepButton.js +4 -4
  508. package/node/StepConnector/StepConnector.js +4 -4
  509. package/node/StepContent/StepContent.js +4 -4
  510. package/node/StepIcon/StepIcon.js +4 -4
  511. package/node/StepLabel/StepLabel.js +4 -4
  512. package/node/Stepper/Stepper.js +4 -4
  513. package/node/SvgIcon/SvgIcon.js +4 -4
  514. package/node/SwipeableDrawer/SwipeableDrawer.js +4 -4
  515. package/node/Switch/Switch.js +4 -4
  516. package/node/Tab/Tab.js +4 -4
  517. package/node/TabScrollButton/TabScrollButton.js +4 -4
  518. package/node/Table/Table.js +4 -4
  519. package/node/TableBody/TableBody.js +4 -4
  520. package/node/TableCell/TableCell.js +4 -4
  521. package/node/TableContainer/TableContainer.js +4 -4
  522. package/node/TableFooter/TableFooter.js +4 -4
  523. package/node/TableHead/TableHead.js +4 -4
  524. package/node/TablePagination/TablePagination.js +4 -4
  525. package/node/TableRow/TableRow.js +4 -4
  526. package/node/TableSortLabel/TableSortLabel.js +4 -4
  527. package/node/Tabs/Tabs.js +4 -4
  528. package/node/TextField/TextField.js +4 -4
  529. package/node/ToggleButton/ToggleButton.js +24 -8
  530. package/node/ToggleButtonGroup/ToggleButtonGroup.js +88 -46
  531. package/node/ToggleButtonGroup/ToggleButtonGroupButtonContext.js +17 -0
  532. package/node/ToggleButtonGroup/ToggleButtonGroupContext.js +17 -0
  533. package/node/ToggleButtonGroup/toggleButtonGroupClasses.js +1 -1
  534. package/node/Toolbar/Toolbar.js +4 -4
  535. package/node/Tooltip/Tooltip.js +4 -4
  536. package/node/Typography/Typography.js +4 -4
  537. package/node/Unstable_Grid2/Grid2.js +4 -4
  538. package/node/Zoom/Zoom.js +4 -4
  539. package/node/index.js +1 -1
  540. package/node/styles/CssVarsProvider.js +3 -0
  541. package/node/utils/types.js +5 -0
  542. package/node/utils/useSlot.js +88 -0
  543. package/node/zero-styled/index.js +13 -0
  544. package/package.json +11 -10
  545. package/styles/CssVarsProvider.d.ts +3 -3
  546. package/styles/CssVarsProvider.js +3 -0
  547. package/umd/material-ui.development.js +15848 -15745
  548. package/umd/material-ui.production.min.js +4 -207
  549. package/utils/types.d.ts +27 -0
  550. package/utils/types.js +1 -0
  551. package/utils/useSlot.d.ts +84 -0
  552. package/utils/useSlot.js +82 -0
  553. package/zero-styled/index.d.ts +2 -0
  554. package/zero-styled/index.js +2 -0
  555. package/zero-styled/package.json +6 -0
@@ -101,10 +101,10 @@ const TabScrollButton = /*#__PURE__*/React.forwardRef(function TabScrollButton(i
101
101
  }));
102
102
  });
103
103
  process.env.NODE_ENV !== "production" ? TabScrollButton.propTypes /* remove-proptypes */ = {
104
- // ----------------------------- Warning --------------------------------
105
- // | These PropTypes are generated from the TypeScript type definitions |
106
- // | To update them edit the d.ts file and run "yarn proptypes" |
107
- // ----------------------------------------------------------------------
104
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
105
+ // These PropTypes are generated from the TypeScript type definitions.
106
+ // To update them, edit the d.ts file and run `pnpm proptypes`.
107
+ // └─────────────────────────────────────────────────────────────────────┘
108
108
  /**
109
109
  * The content of the component.
110
110
  */
package/Table/Table.js CHANGED
@@ -86,10 +86,10 @@ const Table = /*#__PURE__*/React.forwardRef(function Table(inProps, ref) {
86
86
  });
87
87
  });
88
88
  process.env.NODE_ENV !== "production" ? Table.propTypes /* remove-proptypes */ = {
89
- // ----------------------------- Warning --------------------------------
90
- // | These PropTypes are generated from the TypeScript type definitions |
91
- // | To update them edit the d.ts file and run "yarn proptypes" |
92
- // ----------------------------------------------------------------------
89
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
90
+ // These PropTypes are generated from the TypeScript type definitions.
91
+ // To update them, edit the d.ts file and run `pnpm proptypes`.
92
+ // └─────────────────────────────────────────────────────────────────────┘
93
93
  /**
94
94
  * The content of the table, normally `TableHead` and `TableBody`.
95
95
  */
@@ -58,10 +58,10 @@ const TableBody = /*#__PURE__*/React.forwardRef(function TableBody(inProps, ref)
58
58
  });
59
59
  });
60
60
  process.env.NODE_ENV !== "production" ? TableBody.propTypes /* remove-proptypes */ = {
61
- // ----------------------------- Warning --------------------------------
62
- // | These PropTypes are generated from the TypeScript type definitions |
63
- // | To update them edit the d.ts file and run "yarn proptypes" |
64
- // ----------------------------------------------------------------------
61
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
62
+ // These PropTypes are generated from the TypeScript type definitions.
63
+ // To update them, edit the d.ts file and run `pnpm proptypes`.
64
+ // └─────────────────────────────────────────────────────────────────────┘
65
65
  /**
66
66
  * The content of the component, normally `TableRow`.
67
67
  */
@@ -154,10 +154,10 @@ const TableCell = /*#__PURE__*/React.forwardRef(function TableCell(inProps, ref)
154
154
  }, other));
155
155
  });
156
156
  process.env.NODE_ENV !== "production" ? TableCell.propTypes /* remove-proptypes */ = {
157
- // ----------------------------- Warning --------------------------------
158
- // | These PropTypes are generated from the TypeScript type definitions |
159
- // | To update them edit the d.ts file and run "yarn proptypes" |
160
- // ----------------------------------------------------------------------
157
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
158
+ // These PropTypes are generated from the TypeScript type definitions.
159
+ // To update them, edit the d.ts file and run `pnpm proptypes`.
160
+ // └─────────────────────────────────────────────────────────────────────┘
161
161
  /**
162
162
  * Set the text-align on the table cell content.
163
163
  *
@@ -50,10 +50,10 @@ const TableContainer = /*#__PURE__*/React.forwardRef(function TableContainer(inP
50
50
  }, other));
51
51
  });
52
52
  process.env.NODE_ENV !== "production" ? TableContainer.propTypes /* remove-proptypes */ = {
53
- // ----------------------------- Warning --------------------------------
54
- // | These PropTypes are generated from the TypeScript type definitions |
55
- // | To update them edit the d.ts file and run "yarn proptypes" |
56
- // ----------------------------------------------------------------------
53
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
54
+ // These PropTypes are generated from the TypeScript type definitions.
55
+ // To update them, edit the d.ts file and run `pnpm proptypes`.
56
+ // └─────────────────────────────────────────────────────────────────────┘
57
57
  /**
58
58
  * The content of the component, normally `Table`.
59
59
  */
@@ -58,10 +58,10 @@ const TableFooter = /*#__PURE__*/React.forwardRef(function TableFooter(inProps,
58
58
  });
59
59
  });
60
60
  process.env.NODE_ENV !== "production" ? TableFooter.propTypes /* remove-proptypes */ = {
61
- // ----------------------------- Warning --------------------------------
62
- // | These PropTypes are generated from the TypeScript type definitions |
63
- // | To update them edit the d.ts file and run "yarn proptypes" |
64
- // ----------------------------------------------------------------------
61
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
62
+ // These PropTypes are generated from the TypeScript type definitions.
63
+ // To update them, edit the d.ts file and run `pnpm proptypes`.
64
+ // └─────────────────────────────────────────────────────────────────────┘
65
65
  /**
66
66
  * The content of the component, normally `TableRow`.
67
67
  */
@@ -58,10 +58,10 @@ const TableHead = /*#__PURE__*/React.forwardRef(function TableHead(inProps, ref)
58
58
  });
59
59
  });
60
60
  process.env.NODE_ENV !== "production" ? TableHead.propTypes /* remove-proptypes */ = {
61
- // ----------------------------- Warning --------------------------------
62
- // | These PropTypes are generated from the TypeScript type definitions |
63
- // | To update them edit the d.ts file and run "yarn proptypes" |
64
- // ----------------------------------------------------------------------
61
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
62
+ // These PropTypes are generated from the TypeScript type definitions.
63
+ // To update them, edit the d.ts file and run `pnpm proptypes`.
64
+ // └─────────────────────────────────────────────────────────────────────┘
65
65
  /**
66
66
  * The content of the component, normally `TableRow`.
67
67
  */
@@ -255,10 +255,10 @@ const TablePagination = /*#__PURE__*/React.forwardRef(function TablePagination(i
255
255
  }));
256
256
  });
257
257
  process.env.NODE_ENV !== "production" ? TablePagination.propTypes /* remove-proptypes */ = {
258
- // ----------------------------- Warning --------------------------------
259
- // | These PropTypes are generated from the TypeScript type definitions |
260
- // | To update them edit the d.ts file and run "yarn proptypes" |
261
- // ----------------------------------------------------------------------
258
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
259
+ // These PropTypes are generated from the TypeScript type definitions.
260
+ // To update them, edit the d.ts file and run `pnpm proptypes`.
261
+ // └─────────────────────────────────────────────────────────────────────┘
262
262
  /**
263
263
  * The component used for displaying the actions.
264
264
  * Either a string to use a HTML element or a component.
@@ -88,10 +88,10 @@ const TableRow = /*#__PURE__*/React.forwardRef(function TableRow(inProps, ref) {
88
88
  }, other));
89
89
  });
90
90
  process.env.NODE_ENV !== "production" ? TableRow.propTypes /* remove-proptypes */ = {
91
- // ----------------------------- Warning --------------------------------
92
- // | These PropTypes are generated from the TypeScript type definitions |
93
- // | To update them edit the d.ts file and run "yarn proptypes" |
94
- // ----------------------------------------------------------------------
91
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
92
+ // These PropTypes are generated from the TypeScript type definitions.
93
+ // To update them, edit the d.ts file and run `pnpm proptypes`.
94
+ // └─────────────────────────────────────────────────────────────────────┘
95
95
  /**
96
96
  * Should be valid <tr> children such as `TableCell`.
97
97
  */
@@ -127,10 +127,10 @@ const TableSortLabel = /*#__PURE__*/React.forwardRef(function TableSortLabel(inP
127
127
  }));
128
128
  });
129
129
  process.env.NODE_ENV !== "production" ? TableSortLabel.propTypes /* remove-proptypes */ = {
130
- // ----------------------------- Warning --------------------------------
131
- // | These PropTypes are generated from the TypeScript type definitions |
132
- // | To update them edit the d.ts file and run "yarn proptypes" |
133
- // ----------------------------------------------------------------------
130
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
131
+ // These PropTypes are generated from the TypeScript type definitions.
132
+ // To update them, edit the d.ts file and run `pnpm proptypes`.
133
+ // └─────────────────────────────────────────────────────────────────────┘
134
134
  /**
135
135
  * If `true`, the label will have the active styling (should be true for the sorted column).
136
136
  * @default false
package/Tabs/Tabs.js CHANGED
@@ -687,10 +687,10 @@ const Tabs = /*#__PURE__*/React.forwardRef(function Tabs(inProps, ref) {
687
687
  }));
688
688
  });
689
689
  process.env.NODE_ENV !== "production" ? Tabs.propTypes /* remove-proptypes */ = {
690
- // ----------------------------- Warning --------------------------------
691
- // | These PropTypes are generated from the TypeScript type definitions |
692
- // | To update them edit the d.ts file and run "yarn proptypes" |
693
- // ----------------------------------------------------------------------
690
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
691
+ // These PropTypes are generated from the TypeScript type definitions.
692
+ // To update them, edit the d.ts file and run `pnpm proptypes`.
693
+ // └─────────────────────────────────────────────────────────────────────┘
694
694
  /**
695
695
  * Callback fired when the component mounts.
696
696
  * This is useful when you want to trigger an action programmatically.
@@ -36,7 +36,7 @@ export interface BaseTextFieldProps
36
36
  /**
37
37
  * @ignore
38
38
  */
39
- children?: React.ReactNode;
39
+ children?: FormControlProps['children'];
40
40
  /**
41
41
  * Override or extend the styles applied to the component.
42
42
  */
@@ -200,10 +200,10 @@ const TextField = /*#__PURE__*/React.forwardRef(function TextField(inProps, ref)
200
200
  }));
201
201
  });
202
202
  process.env.NODE_ENV !== "production" ? TextField.propTypes /* remove-proptypes */ = {
203
- // ----------------------------- Warning --------------------------------
204
- // | These PropTypes are generated from the TypeScript type definitions |
205
- // | To update them edit the d.ts file and run "yarn proptypes" |
206
- // ----------------------------------------------------------------------
203
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
204
+ // These PropTypes are generated from the TypeScript type definitions.
205
+ // To update them, edit the d.ts file and run `pnpm proptypes`.
206
+ // └─────────────────────────────────────────────────────────────────────┘
207
207
  /**
208
208
  * This prop helps users to fill forms faster, especially on mobile devices.
209
209
  * The name can be confusing, as it's more like an autofill.
@@ -3,10 +3,12 @@
3
3
  // @inheritedComponent ButtonBase
4
4
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
5
5
  import _extends from "@babel/runtime/helpers/esm/extends";
6
- const _excluded = ["children", "className", "color", "disabled", "disableFocusRipple", "fullWidth", "onChange", "onClick", "selected", "size", "value"];
6
+ const _excluded = ["value"],
7
+ _excluded2 = ["children", "className", "color", "disabled", "disableFocusRipple", "fullWidth", "onChange", "onClick", "selected", "size", "value"];
7
8
  import * as React from 'react';
8
9
  import PropTypes from 'prop-types';
9
10
  import clsx from 'clsx';
11
+ import { internal_resolveProps as resolveProps } from '@mui/utils';
10
12
  import { unstable_composeClasses as composeClasses } from '@mui/base/composeClasses';
11
13
  import { alpha } from '../styles';
12
14
  import ButtonBase from '../ButtonBase';
@@ -14,6 +16,9 @@ import capitalize from '../utils/capitalize';
14
16
  import useThemeProps from '../styles/useThemeProps';
15
17
  import styled from '../styles/styled';
16
18
  import toggleButtonClasses, { getToggleButtonUtilityClass } from './toggleButtonClasses';
19
+ import ToggleButtonGroupContext from '../ToggleButtonGroup/ToggleButtonGroupContext';
20
+ import ToggleButtonGroupButtonContext from '../ToggleButtonGroup/ToggleButtonGroupButtonContext';
21
+ import isValueSelected from '../ToggleButtonGroup/isValueSelected';
17
22
  import { jsx as _jsx } from "react/jsx-runtime";
18
23
  const useUtilityClasses = ownerState => {
19
24
  const {
@@ -88,8 +93,18 @@ const ToggleButtonRoot = styled(ButtonBase, {
88
93
  });
89
94
  });
90
95
  const ToggleButton = /*#__PURE__*/React.forwardRef(function ToggleButton(inProps, ref) {
96
+ // props priority: `inProps` > `contextProps` > `themeDefaultProps`
97
+ const _React$useContext = React.useContext(ToggleButtonGroupContext),
98
+ {
99
+ value: contextValue
100
+ } = _React$useContext,
101
+ contextProps = _objectWithoutPropertiesLoose(_React$useContext, _excluded);
102
+ const toggleButtonGroupButtonContextPositionClassName = React.useContext(ToggleButtonGroupButtonContext);
103
+ const resolvedProps = resolveProps(_extends({}, contextProps, {
104
+ selected: isValueSelected(inProps.value, contextValue)
105
+ }), inProps);
91
106
  const props = useThemeProps({
92
- props: inProps,
107
+ props: resolvedProps,
93
108
  name: 'MuiToggleButton'
94
109
  });
95
110
  const {
@@ -105,7 +120,7 @@ const ToggleButton = /*#__PURE__*/React.forwardRef(function ToggleButton(inProps
105
120
  size = 'medium',
106
121
  value
107
122
  } = props,
108
- other = _objectWithoutPropertiesLoose(props, _excluded);
123
+ other = _objectWithoutPropertiesLoose(props, _excluded2);
109
124
  const ownerState = _extends({}, props, {
110
125
  color,
111
126
  disabled,
@@ -125,8 +140,9 @@ const ToggleButton = /*#__PURE__*/React.forwardRef(function ToggleButton(inProps
125
140
  onChange(event, value);
126
141
  }
127
142
  };
143
+ const positionClassName = toggleButtonGroupButtonContextPositionClassName || '';
128
144
  return /*#__PURE__*/_jsx(ToggleButtonRoot, _extends({
129
- className: clsx(classes.root, className),
145
+ className: clsx(contextProps.className, classes.root, className, positionClassName),
130
146
  disabled: disabled,
131
147
  focusRipple: !disableFocusRipple,
132
148
  ref: ref,
@@ -140,10 +156,10 @@ const ToggleButton = /*#__PURE__*/React.forwardRef(function ToggleButton(inProps
140
156
  }));
141
157
  });
142
158
  process.env.NODE_ENV !== "production" ? ToggleButton.propTypes /* remove-proptypes */ = {
143
- // ----------------------------- Warning --------------------------------
144
- // | These PropTypes are generated from the TypeScript type definitions |
145
- // | To update them edit the d.ts file and run "yarn proptypes" |
146
- // ----------------------------------------------------------------------
159
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
160
+ // These PropTypes are generated from the TypeScript type definitions.
161
+ // To update them, edit the d.ts file and run `pnpm proptypes`.
162
+ // └─────────────────────────────────────────────────────────────────────┘
147
163
  /**
148
164
  * The content of the component.
149
165
  */
@@ -8,11 +8,14 @@ import { isFragment } from 'react-is';
8
8
  import PropTypes from 'prop-types';
9
9
  import clsx from 'clsx';
10
10
  import { unstable_composeClasses as composeClasses } from '@mui/base/composeClasses';
11
+ import { getValidReactChildren } from '@mui/utils';
11
12
  import styled from '../styles/styled';
12
13
  import useThemeProps from '../styles/useThemeProps';
13
14
  import capitalize from '../utils/capitalize';
14
- import isValueSelected from './isValueSelected';
15
15
  import toggleButtonGroupClasses, { getToggleButtonGroupUtilityClass } from './toggleButtonGroupClasses';
16
+ import ToggleButtonGroupContext from './ToggleButtonGroupContext';
17
+ import ToggleButtonGroupButtonContext from './ToggleButtonGroupButtonContext';
18
+ import toggleButtonClasses from '../ToggleButton/toggleButtonClasses';
16
19
  import { jsx as _jsx } from "react/jsx-runtime";
17
20
  const useUtilityClasses = ownerState => {
18
21
  const {
@@ -23,7 +26,10 @@ const useUtilityClasses = ownerState => {
23
26
  } = ownerState;
24
27
  const slots = {
25
28
  root: ['root', orientation === 'vertical' && 'vertical', fullWidth && 'fullWidth'],
26
- grouped: ['grouped', `grouped${capitalize(orientation)}`, disabled && 'disabled']
29
+ grouped: ['grouped', `grouped${capitalize(orientation)}`, disabled && 'disabled'],
30
+ firstButton: ['firstButton'],
31
+ lastButton: ['lastButton'],
32
+ middleButton: ['middleButton']
27
33
  };
28
34
  return composeClasses(slots, getToggleButtonGroupUtilityClass, classes);
29
35
  };
@@ -38,6 +44,12 @@ const ToggleButtonGroupRoot = styled('div', {
38
44
  [`& .${toggleButtonGroupClasses.grouped}`]: styles.grouped
39
45
  }, {
40
46
  [`& .${toggleButtonGroupClasses.grouped}`]: styles[`grouped${capitalize(ownerState.orientation)}`]
47
+ }, {
48
+ [`& .${toggleButtonGroupClasses.firstButton}`]: styles.firstButton
49
+ }, {
50
+ [`& .${toggleButtonGroupClasses.lastButton}`]: styles.lastButton
51
+ }, {
52
+ [`& .${toggleButtonGroupClasses.middleButton}`]: styles.middleButton
41
53
  }, styles.root, ownerState.orientation === 'vertical' && styles.vertical, ownerState.fullWidth && styles.fullWidth];
42
54
  }
43
55
  })(({
@@ -52,36 +64,46 @@ const ToggleButtonGroupRoot = styled('div', {
52
64
  width: '100%'
53
65
  }, {
54
66
  [`& .${toggleButtonGroupClasses.grouped}`]: _extends({}, ownerState.orientation === 'horizontal' ? {
55
- '&:not(:first-of-type)': {
56
- marginLeft: -1,
57
- borderLeft: '1px solid transparent',
58
- borderTopLeftRadius: 0,
59
- borderBottomLeftRadius: 0
60
- },
61
- '&:not(:last-of-type)': {
62
- borderTopRightRadius: 0,
63
- borderBottomRightRadius: 0
64
- },
65
67
  [`&.${toggleButtonGroupClasses.selected} + .${toggleButtonGroupClasses.grouped}.${toggleButtonGroupClasses.selected}`]: {
66
68
  borderLeft: 0,
67
69
  marginLeft: 0
68
70
  }
69
71
  } : {
70
- '&:not(:first-of-type)': {
71
- marginTop: -1,
72
- borderTop: '1px solid transparent',
73
- borderTopLeftRadius: 0,
74
- borderTopRightRadius: 0
75
- },
76
- '&:not(:last-of-type)': {
77
- borderBottomLeftRadius: 0,
78
- borderBottomRightRadius: 0
79
- },
80
72
  [`&.${toggleButtonGroupClasses.selected} + .${toggleButtonGroupClasses.grouped}.${toggleButtonGroupClasses.selected}`]: {
81
73
  borderTop: 0,
82
74
  marginTop: 0
83
75
  }
84
76
  })
77
+ }, ownerState.orientation === 'horizontal' ? {
78
+ [`& .${toggleButtonGroupClasses.firstButton},& .${toggleButtonGroupClasses.middleButton}`]: {
79
+ borderTopRightRadius: 0,
80
+ borderBottomRightRadius: 0
81
+ },
82
+ [`& .${toggleButtonGroupClasses.lastButton},& .${toggleButtonGroupClasses.middleButton}`]: {
83
+ marginLeft: -1,
84
+ borderLeft: '1px solid transparent',
85
+ borderTopLeftRadius: 0,
86
+ borderBottomLeftRadius: 0
87
+ }
88
+ } : {
89
+ [`& .${toggleButtonGroupClasses.firstButton},& .${toggleButtonGroupClasses.middleButton}`]: {
90
+ borderBottomLeftRadius: 0,
91
+ borderBottomRightRadius: 0
92
+ },
93
+ [`& .${toggleButtonGroupClasses.lastButton},& .${toggleButtonGroupClasses.middleButton}`]: {
94
+ marginTop: -1,
95
+ borderTop: '1px solid transparent',
96
+ borderTopLeftRadius: 0,
97
+ borderTopRightRadius: 0
98
+ }
99
+ }, ownerState.orientation === 'horizontal' ? {
100
+ [`& .${toggleButtonGroupClasses.lastButton}.${toggleButtonClasses.disabled},& .${toggleButtonGroupClasses.middleButton}.${toggleButtonClasses.disabled}`]: {
101
+ borderLeft: '1px solid transparent'
102
+ }
103
+ } : {
104
+ [`& .${toggleButtonGroupClasses.lastButton}.${toggleButtonClasses.disabled},& .${toggleButtonGroupClasses.middleButton}.${toggleButtonClasses.disabled}`]: {
105
+ borderTop: '1px solid transparent'
106
+ }
85
107
  }));
86
108
  const ToggleButtonGroup = /*#__PURE__*/React.forwardRef(function ToggleButtonGroup(inProps, ref) {
87
109
  const props = useThemeProps({
@@ -108,7 +130,7 @@ const ToggleButtonGroup = /*#__PURE__*/React.forwardRef(function ToggleButtonGro
108
130
  size
109
131
  });
110
132
  const classes = useUtilityClasses(ownerState);
111
- const handleChange = (event, buttonValue) => {
133
+ const handleChange = React.useCallback((event, buttonValue) => {
112
134
  if (!onChange) {
113
135
  return;
114
136
  }
@@ -121,12 +143,37 @@ const ToggleButtonGroup = /*#__PURE__*/React.forwardRef(function ToggleButtonGro
121
143
  newValue = value ? value.concat(buttonValue) : [buttonValue];
122
144
  }
123
145
  onChange(event, newValue);
124
- };
125
- const handleExclusiveChange = (event, buttonValue) => {
146
+ }, [onChange, value]);
147
+ const handleExclusiveChange = React.useCallback((event, buttonValue) => {
126
148
  if (!onChange) {
127
149
  return;
128
150
  }
129
151
  onChange(event, value === buttonValue ? null : buttonValue);
152
+ }, [onChange, value]);
153
+ const context = React.useMemo(() => ({
154
+ className: classes.grouped,
155
+ onChange: exclusive ? handleExclusiveChange : handleChange,
156
+ value,
157
+ size,
158
+ fullWidth,
159
+ color,
160
+ disabled
161
+ }), [classes.grouped, exclusive, handleExclusiveChange, handleChange, value, size, fullWidth, color, disabled]);
162
+ const validChildren = getValidReactChildren(children);
163
+ const childrenCount = validChildren.length;
164
+ const getButtonPositionClassName = index => {
165
+ const isFirstButton = index === 0;
166
+ const isLastButton = index === childrenCount - 1;
167
+ if (isFirstButton && isLastButton) {
168
+ return '';
169
+ }
170
+ if (isFirstButton) {
171
+ return classes.firstButton;
172
+ }
173
+ if (isLastButton) {
174
+ return classes.lastButton;
175
+ }
176
+ return classes.middleButton;
130
177
  };
131
178
  return /*#__PURE__*/_jsx(ToggleButtonGroupRoot, _extends({
132
179
  role: "group",
@@ -134,32 +181,27 @@ const ToggleButtonGroup = /*#__PURE__*/React.forwardRef(function ToggleButtonGro
134
181
  ref: ref,
135
182
  ownerState: ownerState
136
183
  }, other, {
137
- children: React.Children.map(children, child => {
138
- if (! /*#__PURE__*/React.isValidElement(child)) {
139
- return null;
140
- }
141
- if (process.env.NODE_ENV !== 'production') {
142
- if (isFragment(child)) {
143
- console.error(["MUI: The ToggleButtonGroup component doesn't accept a Fragment as a child.", 'Consider providing an array instead.'].join('\n'));
184
+ children: /*#__PURE__*/_jsx(ToggleButtonGroupContext.Provider, {
185
+ value: context,
186
+ children: validChildren.map((child, index) => {
187
+ if (process.env.NODE_ENV !== 'production') {
188
+ if (isFragment(child)) {
189
+ console.error(["MUI: The ToggleButtonGroup component doesn't accept a Fragment as a child.", 'Consider providing an array instead.'].join('\n'));
190
+ }
144
191
  }
145
- }
146
- return /*#__PURE__*/React.cloneElement(child, {
147
- className: clsx(classes.grouped, child.props.className),
148
- onChange: exclusive ? handleExclusiveChange : handleChange,
149
- selected: child.props.selected === undefined ? isValueSelected(child.props.value, value) : child.props.selected,
150
- size: child.props.size || size,
151
- fullWidth,
152
- color: child.props.color || color,
153
- disabled: child.props.disabled || disabled
154
- });
192
+ return /*#__PURE__*/_jsx(ToggleButtonGroupButtonContext.Provider, {
193
+ value: getButtonPositionClassName(index),
194
+ children: child
195
+ }, index);
196
+ })
155
197
  })
156
198
  }));
157
199
  });
158
200
  process.env.NODE_ENV !== "production" ? ToggleButtonGroup.propTypes /* remove-proptypes */ = {
159
- // ----------------------------- Warning --------------------------------
160
- // | These PropTypes are generated from the TypeScript type definitions |
161
- // | To update them edit the d.ts file and run "yarn proptypes" |
162
- // ----------------------------------------------------------------------
201
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
202
+ // These PropTypes are generated from the TypeScript type definitions.
203
+ // To update them, edit the d.ts file and run `pnpm proptypes`.
204
+ // └─────────────────────────────────────────────────────────────────────┘
163
205
  /**
164
206
  * The content of the component.
165
207
  */
@@ -0,0 +1,6 @@
1
+ import * as React from 'react';
2
+ /**
3
+ * @ignore - internal component.
4
+ */
5
+ declare const ToggleButtonGroupButtonContext: React.Context<string | undefined>;
6
+ export default ToggleButtonGroupButtonContext;
@@ -0,0 +1,9 @@
1
+ import * as React from 'react';
2
+ /**
3
+ * @ignore - internal component.
4
+ */
5
+ const ToggleButtonGroupButtonContext = /*#__PURE__*/React.createContext(undefined);
6
+ if (process.env.NODE_ENV !== 'production') {
7
+ ToggleButtonGroupButtonContext.displayName = 'ToggleButtonGroupButtonContext';
8
+ }
9
+ export default ToggleButtonGroupButtonContext;
@@ -0,0 +1,16 @@
1
+ import * as React from 'react';
2
+ import type { ToggleButtonGroupProps } from './ToggleButtonGroup';
3
+ interface ToggleButtonGroupContextType {
4
+ className?: string;
5
+ onChange?: ToggleButtonGroupProps['onChange'];
6
+ value?: ToggleButtonGroupProps['value'];
7
+ size?: ToggleButtonGroupProps['size'];
8
+ fullWidth?: ToggleButtonGroupProps['fullWidth'];
9
+ color?: ToggleButtonGroupProps['color'];
10
+ disabled?: ToggleButtonGroupProps['disabled'];
11
+ }
12
+ /**
13
+ * @ignore - internal component.
14
+ */
15
+ declare const ToggleButtonGroupContext: React.Context<ToggleButtonGroupContextType>;
16
+ export default ToggleButtonGroupContext;
@@ -0,0 +1,9 @@
1
+ import * as React from 'react';
2
+ /**
3
+ * @ignore - internal component.
4
+ */
5
+ const ToggleButtonGroupContext = /*#__PURE__*/React.createContext({});
6
+ if (process.env.NODE_ENV !== 'production') {
7
+ ToggleButtonGroupContext.displayName = 'ToggleButtonGroupContext';
8
+ }
9
+ export default ToggleButtonGroupContext;
@@ -13,6 +13,12 @@ export interface ToggleButtonGroupClasses {
13
13
  groupedVertical: string;
14
14
  /** Styles applied to the root element if `fullWidth={true}`. */
15
15
  fullWidth: string;
16
+ /** Styles applied to the first button in the toggle button group. */
17
+ firstButton: string;
18
+ /** Styles applied to the last button in the toggle button group. */
19
+ lastButton: string;
20
+ /** Styles applied to buttons in the middle of the toggle button group. */
21
+ middleButton: string;
16
22
  }
17
23
  export type ToggleButtonGroupClassKey = keyof ToggleButtonGroupClasses;
18
24
  export declare function getToggleButtonGroupUtilityClass(slot: string): string;
@@ -3,5 +3,5 @@ import generateUtilityClass from '@mui/utils/generateUtilityClass';
3
3
  export function getToggleButtonGroupUtilityClass(slot) {
4
4
  return generateUtilityClass('MuiToggleButtonGroup', slot);
5
5
  }
6
- const toggleButtonGroupClasses = generateUtilityClasses('MuiToggleButtonGroup', ['root', 'selected', 'vertical', 'disabled', 'grouped', 'groupedHorizontal', 'groupedVertical', 'fullWidth']);
6
+ const toggleButtonGroupClasses = generateUtilityClasses('MuiToggleButtonGroup', ['root', 'selected', 'vertical', 'disabled', 'grouped', 'groupedHorizontal', 'groupedVertical', 'fullWidth', 'firstButton', 'lastButton', 'middleButton']);
7
7
  export default toggleButtonGroupClasses;
@@ -77,10 +77,10 @@ const Toolbar = /*#__PURE__*/React.forwardRef(function Toolbar(inProps, ref) {
77
77
  }, other));
78
78
  });
79
79
  process.env.NODE_ENV !== "production" ? Toolbar.propTypes /* remove-proptypes */ = {
80
- // ----------------------------- Warning --------------------------------
81
- // | These PropTypes are generated from the TypeScript type definitions |
82
- // | To update them edit the d.ts file and run "yarn proptypes" |
83
- // ----------------------------------------------------------------------
80
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
81
+ // These PropTypes are generated from the TypeScript type definitions.
82
+ // To update them, edit the d.ts file and run `pnpm proptypes`.
83
+ // └─────────────────────────────────────────────────────────────────────┘
84
84
  /**
85
85
  * The Toolbar children, usually a mixture of `IconButton`, `Button` and `Typography`.
86
86
  * The Toolbar is a flex container, allowing flex item properties to be used to lay out the children.
@@ -586,10 +586,10 @@ const Tooltip = /*#__PURE__*/React.forwardRef(function Tooltip(inProps, ref) {
586
586
  });
587
587
  });
588
588
  process.env.NODE_ENV !== "production" ? Tooltip.propTypes /* remove-proptypes */ = {
589
- // ----------------------------- Warning --------------------------------
590
- // | These PropTypes are generated from the TypeScript type definitions |
591
- // | To update them edit the d.ts file and run "yarn proptypes" |
592
- // ----------------------------------------------------------------------
589
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
590
+ // These PropTypes are generated from the TypeScript type definitions.
591
+ // To update them, edit the d.ts file and run `pnpm proptypes`.
592
+ // └─────────────────────────────────────────────────────────────────────┘
593
593
  /**
594
594
  * If `true`, adds an arrow to the tooltip.
595
595
  * @default false
@@ -121,10 +121,10 @@ const Typography = /*#__PURE__*/React.forwardRef(function Typography(inProps, re
121
121
  }, other));
122
122
  });
123
123
  process.env.NODE_ENV !== "production" ? Typography.propTypes /* remove-proptypes */ = {
124
- // ----------------------------- Warning --------------------------------
125
- // | These PropTypes are generated from the TypeScript type definitions |
126
- // | To update them edit the d.ts file and run "yarn proptypes" |
127
- // ----------------------------------------------------------------------
124
+ // ┌────────────────────────────── Warning ──────────────────────────────┐
125
+ // These PropTypes are generated from the TypeScript type definitions.
126
+ // To update them, edit the d.ts file and run `pnpm proptypes`.
127
+ // └─────────────────────────────────────────────────────────────────────┘
128
128
  /**
129
129
  * Set the text-align on the component.
130
130
  * @default 'inherit'