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

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 (274) hide show
  1. package/Accordion/Accordion.d.ts +2 -2
  2. package/Accordion/Accordion.js +2 -2
  3. package/AccordionSummary/accordionSummaryClasses.d.ts +1 -1
  4. package/Alert/Alert.d.ts +2 -2
  5. package/Alert/Alert.js +2 -2
  6. package/Alert/alertClasses.d.ts +12 -12
  7. package/Autocomplete/Autocomplete.d.ts +78 -12
  8. package/Autocomplete/Autocomplete.js +120 -59
  9. package/Avatar/Avatar.d.ts +1 -1
  10. package/Avatar/Avatar.js +1 -1
  11. package/Backdrop/Backdrop.d.ts +1 -1
  12. package/Backdrop/Backdrop.js +1 -1
  13. package/Badge/Badge.d.ts +2 -2
  14. package/Badge/Badge.js +2 -2
  15. package/Breadcrumbs/BreadcrumbCollapsed.js +1 -1
  16. package/Button/Button.js +1 -1
  17. package/Button/buttonClasses.d.ts +33 -33
  18. package/ButtonGroup/buttonGroupClasses.d.ts +17 -17
  19. package/CHANGELOG.md +95 -0
  20. package/Checkbox/Checkbox.js +3 -1
  21. package/Chip/chipClasses.d.ts +28 -26
  22. package/Chip/chipClasses.js +1 -1
  23. package/CircularProgress/circularProgressClasses.d.ts +6 -2
  24. package/Collapse/Collapse.js +66 -35
  25. package/Dialog/Dialog.js +105 -61
  26. package/DialogActions/DialogActions.js +16 -12
  27. package/DialogContent/DialogContent.js +25 -15
  28. package/DialogContentText/DialogContentText.js +3 -2
  29. package/DialogTitle/DialogTitle.js +2 -2
  30. package/Divider/Divider.d.ts +1 -1
  31. package/Divider/Divider.js +1 -1
  32. package/Drawer/Drawer.js +73 -32
  33. package/Fab/Fab.js +1 -1
  34. package/FilledInput/FilledInput.d.ts +1 -0
  35. package/FilledInput/FilledInput.js +170 -87
  36. package/FormControlLabel/FormControlLabel.d.ts +1 -1
  37. package/FormControlLabel/FormControlLabel.js +1 -1
  38. package/FormHelperText/FormHelperText.js +2 -2
  39. package/FormLabel/FormLabel.js +23 -13
  40. package/Grow/Grow.js +3 -1
  41. package/Icon/Icon.js +63 -23
  42. package/ImageList/ImageList.js +2 -2
  43. package/ImageListItem/ImageListItem.js +2 -2
  44. package/ImageListItemBar/ImageListItemBar.js +2 -2
  45. package/Input/Input.d.ts +1 -0
  46. package/Input/Input.js +84 -61
  47. package/InputAdornment/InputAdornment.js +37 -21
  48. package/InputBase/InputBase.js +58 -28
  49. package/InputLabel/InputLabel.js +120 -58
  50. package/Link/Link.js +99 -54
  51. package/Link/getTextDecoration.d.ts +2 -8
  52. package/Link/getTextDecoration.js +16 -8
  53. package/List/List.js +22 -13
  54. package/ListItem/ListItem.js +2 -2
  55. package/ListItemAvatar/ListItemAvatar.js +2 -2
  56. package/ListItemButton/ListItemButton.js +3 -2
  57. package/ListItemIcon/ListItemIcon.js +14 -9
  58. package/ListItemSecondaryAction/ListItemSecondaryAction.js +2 -2
  59. package/ListItemText/ListItemText.js +2 -2
  60. package/ListSubheader/ListSubheader.js +5 -3
  61. package/Menu/Menu.js +3 -2
  62. package/MenuItem/MenuItem.js +47 -27
  63. package/NativeSelect/NativeSelectInput.js +78 -49
  64. package/OutlinedInput/NotchedOutline.js +60 -43
  65. package/OutlinedInput/OutlinedInput.js +97 -39
  66. package/Pagination/Pagination.js +2 -2
  67. package/PaginationItem/PaginationItem.d.ts +1 -1
  68. package/PaginationItem/PaginationItem.js +1 -1
  69. package/PaginationItem/paginationItemClasses.d.ts +4 -4
  70. package/Paper/Paper.js +44 -21
  71. package/Radio/Radio.js +5 -3
  72. package/Radio/RadioButtonIcon.js +1 -1
  73. package/Rating/Rating.js +3 -2
  74. package/Select/Select.js +2 -1
  75. package/Select/SelectInput.js +8 -6
  76. package/Skeleton/Skeleton.js +109 -61
  77. package/Slider/Slider.d.ts +2 -2
  78. package/Slider/Slider.js +2 -2
  79. package/Snackbar/Snackbar.js +66 -40
  80. package/SnackbarContent/SnackbarContent.js +2 -2
  81. package/SpeedDial/SpeedDial.d.ts +28 -1
  82. package/SpeedDial/SpeedDial.js +107 -49
  83. package/SpeedDialAction/SpeedDialAction.js +50 -24
  84. package/SpeedDialIcon/SpeedDialIcon.js +37 -16
  85. package/StepConnector/stepConnectorClasses.d.ts +2 -2
  86. package/StepLabel/StepLabel.d.ts +3 -3
  87. package/StepLabel/StepLabel.js +3 -3
  88. package/SwipeableDrawer/SwipeArea.js +39 -18
  89. package/Tab/Tab.js +127 -55
  90. package/TabScrollButton/TabScrollButton.js +27 -15
  91. package/Table/Table.js +2 -2
  92. package/TableBody/TableBody.js +2 -2
  93. package/TableCell/TableCell.js +2 -2
  94. package/TableContainer/TableContainer.js +2 -2
  95. package/TableFooter/TableFooter.js +2 -2
  96. package/TableHead/TableHead.js +2 -2
  97. package/TablePagination/TablePagination.js +2 -2
  98. package/TableRow/TableRow.js +2 -2
  99. package/TableSortLabel/TableSortLabel.js +2 -2
  100. package/Tabs/Tabs.js +107 -54
  101. package/TextField/TextField.js +2 -2
  102. package/ToggleButtonGroup/toggleButtonGroupClasses.d.ts +4 -2
  103. package/Toolbar/Toolbar.js +3 -7
  104. package/Tooltip/Tooltip.js +185 -88
  105. package/Typography/Typography.js +89 -39
  106. package/index.js +1 -1
  107. package/internal/SwitchBase.js +39 -11
  108. package/modern/Accordion/Accordion.js +2 -2
  109. package/modern/Alert/Alert.js +2 -2
  110. package/modern/Autocomplete/Autocomplete.js +120 -59
  111. package/modern/Avatar/Avatar.js +1 -1
  112. package/modern/Backdrop/Backdrop.js +1 -1
  113. package/modern/Badge/Badge.js +2 -2
  114. package/modern/Breadcrumbs/BreadcrumbCollapsed.js +1 -1
  115. package/modern/Button/Button.js +1 -1
  116. package/modern/Checkbox/Checkbox.js +3 -1
  117. package/modern/Chip/chipClasses.js +1 -1
  118. package/modern/Collapse/Collapse.js +66 -35
  119. package/modern/Dialog/Dialog.js +105 -61
  120. package/modern/DialogActions/DialogActions.js +16 -12
  121. package/modern/DialogContent/DialogContent.js +25 -15
  122. package/modern/DialogContentText/DialogContentText.js +3 -2
  123. package/modern/DialogTitle/DialogTitle.js +2 -2
  124. package/modern/Divider/Divider.js +1 -1
  125. package/modern/Drawer/Drawer.js +73 -32
  126. package/modern/Fab/Fab.js +1 -1
  127. package/modern/FilledInput/FilledInput.js +170 -87
  128. package/modern/FormControlLabel/FormControlLabel.js +1 -1
  129. package/modern/FormHelperText/FormHelperText.js +2 -2
  130. package/modern/FormLabel/FormLabel.js +23 -13
  131. package/modern/Grow/Grow.js +3 -1
  132. package/modern/Icon/Icon.js +63 -23
  133. package/modern/ImageList/ImageList.js +2 -2
  134. package/modern/ImageListItem/ImageListItem.js +2 -2
  135. package/modern/ImageListItemBar/ImageListItemBar.js +2 -2
  136. package/modern/Input/Input.js +84 -61
  137. package/modern/InputAdornment/InputAdornment.js +37 -21
  138. package/modern/InputBase/InputBase.js +58 -28
  139. package/modern/InputLabel/InputLabel.js +120 -58
  140. package/modern/Link/Link.js +99 -54
  141. package/modern/Link/getTextDecoration.js +16 -8
  142. package/modern/List/List.js +22 -13
  143. package/modern/ListItem/ListItem.js +2 -2
  144. package/modern/ListItemAvatar/ListItemAvatar.js +2 -2
  145. package/modern/ListItemButton/ListItemButton.js +3 -2
  146. package/modern/ListItemIcon/ListItemIcon.js +14 -9
  147. package/modern/ListItemSecondaryAction/ListItemSecondaryAction.js +2 -2
  148. package/modern/ListItemText/ListItemText.js +2 -2
  149. package/modern/ListSubheader/ListSubheader.js +5 -3
  150. package/modern/Menu/Menu.js +3 -2
  151. package/modern/MenuItem/MenuItem.js +47 -27
  152. package/modern/NativeSelect/NativeSelectInput.js +78 -49
  153. package/modern/OutlinedInput/NotchedOutline.js +60 -43
  154. package/modern/OutlinedInput/OutlinedInput.js +97 -39
  155. package/modern/Pagination/Pagination.js +2 -2
  156. package/modern/PaginationItem/PaginationItem.js +1 -1
  157. package/modern/Paper/Paper.js +44 -21
  158. package/modern/Radio/Radio.js +5 -3
  159. package/modern/Radio/RadioButtonIcon.js +1 -1
  160. package/modern/Rating/Rating.js +3 -2
  161. package/modern/Select/Select.js +2 -1
  162. package/modern/Select/SelectInput.js +8 -6
  163. package/modern/Skeleton/Skeleton.js +109 -61
  164. package/modern/Slider/Slider.js +2 -2
  165. package/modern/Snackbar/Snackbar.js +66 -40
  166. package/modern/SnackbarContent/SnackbarContent.js +2 -2
  167. package/modern/SpeedDial/SpeedDial.js +107 -49
  168. package/modern/SpeedDialAction/SpeedDialAction.js +50 -24
  169. package/modern/SpeedDialIcon/SpeedDialIcon.js +37 -16
  170. package/modern/StepLabel/StepLabel.js +3 -3
  171. package/modern/SwipeableDrawer/SwipeArea.js +39 -18
  172. package/modern/Tab/Tab.js +127 -55
  173. package/modern/TabScrollButton/TabScrollButton.js +27 -15
  174. package/modern/Table/Table.js +2 -2
  175. package/modern/TableBody/TableBody.js +2 -2
  176. package/modern/TableCell/TableCell.js +2 -2
  177. package/modern/TableContainer/TableContainer.js +2 -2
  178. package/modern/TableFooter/TableFooter.js +2 -2
  179. package/modern/TableHead/TableHead.js +2 -2
  180. package/modern/TablePagination/TablePagination.js +2 -2
  181. package/modern/TableRow/TableRow.js +2 -2
  182. package/modern/TableSortLabel/TableSortLabel.js +2 -2
  183. package/modern/Tabs/Tabs.js +107 -54
  184. package/modern/TextField/TextField.js +2 -2
  185. package/modern/Toolbar/Toolbar.js +3 -7
  186. package/modern/Tooltip/Tooltip.js +185 -88
  187. package/modern/Typography/Typography.js +89 -39
  188. package/modern/index.js +1 -1
  189. package/modern/internal/SwitchBase.js +39 -11
  190. package/node/Accordion/Accordion.js +2 -2
  191. package/node/Alert/Alert.js +2 -2
  192. package/node/Autocomplete/Autocomplete.js +120 -60
  193. package/node/Avatar/Avatar.js +1 -1
  194. package/node/Backdrop/Backdrop.js +1 -1
  195. package/node/Badge/Badge.js +2 -2
  196. package/node/Breadcrumbs/BreadcrumbCollapsed.js +3 -3
  197. package/node/Button/Button.js +2 -2
  198. package/node/Checkbox/Checkbox.js +3 -1
  199. package/node/Chip/chipClasses.js +1 -1
  200. package/node/Collapse/Collapse.js +70 -39
  201. package/node/Dialog/Dialog.js +110 -66
  202. package/node/DialogActions/DialogActions.js +18 -14
  203. package/node/DialogContent/DialogContent.js +27 -17
  204. package/node/DialogContentText/DialogContentText.js +6 -5
  205. package/node/DialogTitle/DialogTitle.js +4 -4
  206. package/node/Divider/Divider.js +1 -1
  207. package/node/Drawer/Drawer.js +78 -37
  208. package/node/Fab/Fab.js +2 -2
  209. package/node/FilledInput/FilledInput.js +176 -91
  210. package/node/FormControlLabel/FormControlLabel.js +1 -1
  211. package/node/FormHelperText/FormHelperText.js +4 -4
  212. package/node/FormLabel/FormLabel.js +26 -16
  213. package/node/Grow/Grow.js +3 -1
  214. package/node/Icon/Icon.js +65 -25
  215. package/node/ImageList/ImageList.js +4 -4
  216. package/node/ImageListItem/ImageListItem.js +4 -4
  217. package/node/ImageListItemBar/ImageListItemBar.js +8 -8
  218. package/node/Input/Input.js +87 -64
  219. package/node/InputAdornment/InputAdornment.js +39 -23
  220. package/node/InputBase/InputBase.js +61 -31
  221. package/node/InputLabel/InputLabel.js +123 -61
  222. package/node/Link/Link.js +101 -56
  223. package/node/Link/getTextDecoration.js +18 -10
  224. package/node/List/List.js +24 -15
  225. package/node/ListItem/ListItem.js +5 -5
  226. package/node/ListItemAvatar/ListItemAvatar.js +4 -4
  227. package/node/ListItemButton/ListItemButton.js +6 -5
  228. package/node/ListItemIcon/ListItemIcon.js +16 -11
  229. package/node/ListItemSecondaryAction/ListItemSecondaryAction.js +4 -4
  230. package/node/ListItemText/ListItemText.js +4 -4
  231. package/node/ListSubheader/ListSubheader.js +7 -5
  232. package/node/Menu/Menu.js +8 -7
  233. package/node/MenuItem/MenuItem.js +50 -30
  234. package/node/NativeSelect/NativeSelectInput.js +80 -53
  235. package/node/OutlinedInput/NotchedOutline.js +64 -47
  236. package/node/OutlinedInput/OutlinedInput.js +101 -43
  237. package/node/Pagination/Pagination.js +5 -5
  238. package/node/PaginationItem/PaginationItem.js +1 -1
  239. package/node/Paper/Paper.js +49 -28
  240. package/node/Radio/Radio.js +6 -4
  241. package/node/Radio/RadioButtonIcon.js +2 -2
  242. package/node/Rating/Rating.js +9 -8
  243. package/node/Select/Select.js +6 -5
  244. package/node/Select/SelectInput.js +9 -7
  245. package/node/Skeleton/Skeleton.js +113 -65
  246. package/node/Slider/Slider.js +2 -2
  247. package/node/Snackbar/Snackbar.js +68 -42
  248. package/node/SnackbarContent/SnackbarContent.js +6 -6
  249. package/node/SpeedDial/SpeedDial.js +111 -53
  250. package/node/SpeedDialAction/SpeedDialAction.js +54 -28
  251. package/node/SpeedDialIcon/SpeedDialIcon.js +39 -18
  252. package/node/StepLabel/StepLabel.js +3 -3
  253. package/node/SwipeableDrawer/SwipeArea.js +41 -20
  254. package/node/Tab/Tab.js +129 -57
  255. package/node/TabScrollButton/TabScrollButton.js +29 -17
  256. package/node/Table/Table.js +4 -4
  257. package/node/TableBody/TableBody.js +4 -4
  258. package/node/TableCell/TableCell.js +4 -4
  259. package/node/TableContainer/TableContainer.js +4 -4
  260. package/node/TableFooter/TableFooter.js +4 -4
  261. package/node/TableHead/TableHead.js +4 -4
  262. package/node/TablePagination/TablePagination.js +10 -10
  263. package/node/TableRow/TableRow.js +4 -4
  264. package/node/TableSortLabel/TableSortLabel.js +5 -5
  265. package/node/Tabs/Tabs.js +113 -60
  266. package/node/TextField/TextField.js +4 -4
  267. package/node/Toolbar/Toolbar.js +5 -9
  268. package/node/Tooltip/Tooltip.js +189 -92
  269. package/node/Typography/Typography.js +90 -40
  270. package/node/index.js +1 -1
  271. package/node/internal/SwitchBase.js +41 -13
  272. package/package.json +6 -6
  273. package/umd/material-ui.development.js +2705 -1353
  274. package/umd/material-ui.production.min.js +4 -4
@@ -1,17 +1,17 @@
1
1
  'use client';
2
2
 
3
- import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
4
3
  import _extends from "@babel/runtime/helpers/esm/extends";
4
+ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
5
5
  const _excluded = ["className", "dividers"];
6
6
  import * as React from 'react';
7
7
  import PropTypes from 'prop-types';
8
8
  import clsx from 'clsx';
9
9
  import composeClasses from '@mui/utils/composeClasses';
10
- import styled from '../styles/styled';
11
- import useThemeProps from '../styles/useThemeProps';
10
+ import { styled, createUseThemeProps } from '../zero-styled';
12
11
  import { getDialogContentUtilityClass } from './dialogContentClasses';
13
12
  import dialogTitleClasses from '../DialogTitle/dialogTitleClasses';
14
13
  import { jsx as _jsx } from "react/jsx-runtime";
14
+ const useThemeProps = createUseThemeProps('MuiDialogContent');
15
15
  const useUtilityClasses = ownerState => {
16
16
  const {
17
17
  classes,
@@ -32,22 +32,32 @@ const DialogContentRoot = styled('div', {
32
32
  return [styles.root, ownerState.dividers && styles.dividers];
33
33
  }
34
34
  })(({
35
- theme,
36
- ownerState
37
- }) => _extends({
35
+ theme
36
+ }) => ({
38
37
  flex: '1 1 auto',
39
38
  // Add iOS momentum scrolling for iOS < 13.0
40
39
  WebkitOverflowScrolling: 'touch',
41
40
  overflowY: 'auto',
42
- padding: '20px 24px'
43
- }, ownerState.dividers ? {
44
- padding: '16px 24px',
45
- borderTop: `1px solid ${(theme.vars || theme).palette.divider}`,
46
- borderBottom: `1px solid ${(theme.vars || theme).palette.divider}`
47
- } : {
48
- [`.${dialogTitleClasses.root} + &`]: {
49
- paddingTop: 0
50
- }
41
+ padding: '20px 24px',
42
+ variants: [{
43
+ props: ({
44
+ ownerState
45
+ }) => ownerState.dividers,
46
+ style: {
47
+ padding: '16px 24px',
48
+ borderTop: `1px solid ${(theme.vars || theme).palette.divider}`,
49
+ borderBottom: `1px solid ${(theme.vars || theme).palette.divider}`
50
+ }
51
+ }, {
52
+ props: ({
53
+ ownerState
54
+ }) => !ownerState.dividers,
55
+ style: {
56
+ [`.${dialogTitleClasses.root} + &`]: {
57
+ paddingTop: 0
58
+ }
59
+ }
60
+ }]
51
61
  }));
52
62
  const DialogContent = /*#__PURE__*/React.forwardRef(function DialogContent(inProps, ref) {
53
63
  const props = useThemeProps({
@@ -7,11 +7,12 @@ import * as React from 'react';
7
7
  import PropTypes from 'prop-types';
8
8
  import clsx from 'clsx';
9
9
  import composeClasses from '@mui/utils/composeClasses';
10
- import styled, { rootShouldForwardProp } from '../styles/styled';
11
- import useThemeProps from '../styles/useThemeProps';
10
+ import rootShouldForwardProp from '../styles/rootShouldForwardProp';
11
+ import { styled, createUseThemeProps } from '../zero-styled';
12
12
  import Typography from '../Typography';
13
13
  import { getDialogContentTextUtilityClass } from './dialogContentTextClasses';
14
14
  import { jsx as _jsx } from "react/jsx-runtime";
15
+ const useThemeProps = createUseThemeProps('MuiDialogContentText');
15
16
  const useUtilityClasses = ownerState => {
16
17
  const {
17
18
  classes
@@ -8,11 +8,11 @@ import PropTypes from 'prop-types';
8
8
  import clsx from 'clsx';
9
9
  import composeClasses from '@mui/utils/composeClasses';
10
10
  import Typography from '../Typography';
11
- import styled from '../styles/styled';
12
- import useThemeProps from '../styles/useThemeProps';
11
+ import { styled, createUseThemeProps } from '../zero-styled';
13
12
  import { getDialogTitleUtilityClass } from './dialogTitleClasses';
14
13
  import DialogContext from '../Dialog/DialogContext';
15
14
  import { jsx as _jsx } from "react/jsx-runtime";
15
+ const useThemeProps = createUseThemeProps('MuiDialogTitle');
16
16
  const useUtilityClasses = ownerState => {
17
17
  const {
18
18
  classes
@@ -30,7 +30,7 @@ export interface DividerOwnProps {
30
30
  /**
31
31
  * If `true`, the divider will have a lighter color.
32
32
  * @default false
33
- * @deprecated Use <Divider sx={{ opacity: 0.6 }} /> (or any opacity or color) instead. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/)
33
+ * @deprecated Use <Divider sx={{ opacity: 0.6 }} /> (or any opacity or color) instead. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
34
34
  */
35
35
  light?: boolean;
36
36
  /**
@@ -280,7 +280,7 @@ process.env.NODE_ENV !== "production" ? Divider.propTypes /* remove-proptypes */
280
280
  /**
281
281
  * If `true`, the divider will have a lighter color.
282
282
  * @default false
283
- * @deprecated Use <Divider sx={{ opacity: 0.6 }} /> (or any opacity or color) instead. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/)
283
+ * @deprecated Use <Divider sx={{ opacity: 0.6 }} /> (or any opacity or color) instead. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
284
284
  */
285
285
  light: PropTypes.bool,
286
286
  /**
package/Drawer/Drawer.js CHANGED
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
 
3
- import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
4
3
  import _extends from "@babel/runtime/helpers/esm/extends";
4
+ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
5
5
  const _excluded = ["BackdropProps"],
6
6
  _excluded2 = ["anchor", "BackdropProps", "children", "className", "elevation", "hideBackdrop", "ModalProps", "onClose", "open", "PaperProps", "SlideProps", "TransitionComponent", "transitionDuration", "variant"];
7
7
  import * as React from 'react';
@@ -15,10 +15,11 @@ import Slide from '../Slide';
15
15
  import Paper from '../Paper';
16
16
  import capitalize from '../utils/capitalize';
17
17
  import useTheme from '../styles/useTheme';
18
- import useThemeProps from '../styles/useThemeProps';
19
- import styled, { rootShouldForwardProp } from '../styles/styled';
18
+ import rootShouldForwardProp from '../styles/rootShouldForwardProp';
19
+ import { styled, createUseThemeProps } from '../zero-styled';
20
20
  import { getDrawerUtilityClass } from './drawerClasses';
21
21
  import { jsx as _jsx } from "react/jsx-runtime";
22
+ const useThemeProps = createUseThemeProps('MuiDrawer');
22
23
  const overridesResolver = (props, styles) => {
23
24
  const {
24
25
  ownerState
@@ -67,9 +68,8 @@ const DrawerPaper = styled(Paper, {
67
68
  return [styles.paper, styles[`paperAnchor${capitalize(ownerState.anchor)}`], ownerState.variant !== 'temporary' && styles[`paperAnchorDocked${capitalize(ownerState.anchor)}`]];
68
69
  }
69
70
  })(({
70
- theme,
71
- ownerState
72
- }) => _extends({
71
+ theme
72
+ }) => ({
73
73
  overflowY: 'auto',
74
74
  display: 'flex',
75
75
  flexDirection: 'column',
@@ -84,32 +84,73 @@ const DrawerPaper = styled(Paper, {
84
84
  // We disable the focus ring for mouse, touch and keyboard users.
85
85
  // At some point, it would be better to keep it for keyboard users.
86
86
  // :focus-ring CSS pseudo-class will help.
87
- outline: 0
88
- }, ownerState.anchor === 'left' && {
89
- left: 0
90
- }, ownerState.anchor === 'top' && {
91
- top: 0,
92
- left: 0,
93
- right: 0,
94
- height: 'auto',
95
- maxHeight: '100%'
96
- }, ownerState.anchor === 'right' && {
97
- right: 0
98
- }, ownerState.anchor === 'bottom' && {
99
- top: 'auto',
100
- left: 0,
101
- bottom: 0,
102
- right: 0,
103
- height: 'auto',
104
- maxHeight: '100%'
105
- }, ownerState.anchor === 'left' && ownerState.variant !== 'temporary' && {
106
- borderRight: `1px solid ${(theme.vars || theme).palette.divider}`
107
- }, ownerState.anchor === 'top' && ownerState.variant !== 'temporary' && {
108
- borderBottom: `1px solid ${(theme.vars || theme).palette.divider}`
109
- }, ownerState.anchor === 'right' && ownerState.variant !== 'temporary' && {
110
- borderLeft: `1px solid ${(theme.vars || theme).palette.divider}`
111
- }, ownerState.anchor === 'bottom' && ownerState.variant !== 'temporary' && {
112
- borderTop: `1px solid ${(theme.vars || theme).palette.divider}`
87
+ outline: 0,
88
+ variants: [{
89
+ props: {
90
+ anchor: 'left'
91
+ },
92
+ style: {
93
+ left: 0
94
+ }
95
+ }, {
96
+ props: {
97
+ anchor: 'top'
98
+ },
99
+ style: {
100
+ top: 0,
101
+ left: 0,
102
+ right: 0,
103
+ height: 'auto',
104
+ maxHeight: '100%'
105
+ }
106
+ }, {
107
+ props: {
108
+ anchor: 'right'
109
+ },
110
+ style: {
111
+ right: 0
112
+ }
113
+ }, {
114
+ props: {
115
+ anchor: 'bottom'
116
+ },
117
+ style: {
118
+ top: 'auto',
119
+ left: 0,
120
+ bottom: 0,
121
+ right: 0,
122
+ height: 'auto',
123
+ maxHeight: '100%'
124
+ }
125
+ }, {
126
+ props: ({
127
+ ownerState
128
+ }) => ownerState.anchor === 'left' && ownerState.variant !== 'temporary',
129
+ style: {
130
+ borderRight: `1px solid ${(theme.vars || theme).palette.divider}`
131
+ }
132
+ }, {
133
+ props: ({
134
+ ownerState
135
+ }) => ownerState.anchor === 'top' && ownerState.variant !== 'temporary',
136
+ style: {
137
+ borderBottom: `1px solid ${(theme.vars || theme).palette.divider}`
138
+ }
139
+ }, {
140
+ props: ({
141
+ ownerState
142
+ }) => ownerState.anchor === 'right' && ownerState.variant !== 'temporary',
143
+ style: {
144
+ borderLeft: `1px solid ${(theme.vars || theme).palette.divider}`
145
+ }
146
+ }, {
147
+ props: ({
148
+ ownerState
149
+ }) => ownerState.anchor === 'bottom' && ownerState.variant !== 'temporary',
150
+ style: {
151
+ borderTop: `1px solid ${(theme.vars || theme).palette.divider}`
152
+ }
153
+ }]
113
154
  }));
114
155
  const oppositeDirection = {
115
156
  left: 'right',
package/Fab/Fab.js CHANGED
@@ -10,7 +10,7 @@ import composeClasses from '@mui/utils/composeClasses';
10
10
  import ButtonBase from '../ButtonBase';
11
11
  import capitalize from '../utils/capitalize';
12
12
  import fabClasses, { getFabUtilityClass } from './fabClasses';
13
- import { rootShouldForwardProp } from '../styles/styled';
13
+ import rootShouldForwardProp from '../styles/rootShouldForwardProp';
14
14
  import { styled, createUseThemeProps } from '../zero-styled';
15
15
  import { jsx as _jsx } from "react/jsx-runtime";
16
16
  const useThemeProps = createUseThemeProps('MuiFab');
@@ -17,6 +17,7 @@ export interface FilledInputProps extends StandardProps<InputBaseProps> {
17
17
  hiddenLabel?: boolean;
18
18
  /**
19
19
  * If `true`, the input will not have an underline.
20
+ * @default false
20
21
  */
21
22
  disableUnderline?: boolean;
22
23
  /**
@@ -9,11 +9,12 @@ import refType from '@mui/utils/refType';
9
9
  import PropTypes from 'prop-types';
10
10
  import composeClasses from '@mui/utils/composeClasses';
11
11
  import InputBase from '../InputBase';
12
- import styled, { rootShouldForwardProp } from '../styles/styled';
13
- import useThemeProps from '../styles/useThemeProps';
12
+ import rootShouldForwardProp from '../styles/rootShouldForwardProp';
13
+ import { styled, createUseThemeProps } from '../zero-styled';
14
14
  import filledInputClasses, { getFilledInputUtilityClass } from './filledInputClasses';
15
- import { rootOverridesResolver as inputBaseRootOverridesResolver, inputOverridesResolver as inputBaseInputOverridesResolver, InputBaseRoot, InputBaseComponent as InputBaseInput } from '../InputBase/InputBase';
15
+ import { rootOverridesResolver as inputBaseRootOverridesResolver, inputOverridesResolver as inputBaseInputOverridesResolver, InputBaseRoot, InputBaseInput } from '../InputBase/InputBase';
16
16
  import { jsx as _jsx } from "react/jsx-runtime";
17
+ const useThemeProps = createUseThemeProps('MuiFilledInput');
17
18
  const useUtilityClasses = ownerState => {
18
19
  const {
19
20
  classes,
@@ -37,15 +38,14 @@ const FilledInputRoot = styled(InputBaseRoot, {
37
38
  return [...inputBaseRootOverridesResolver(props, styles), !ownerState.disableUnderline && styles.underline];
38
39
  }
39
40
  })(({
40
- theme,
41
- ownerState
41
+ theme
42
42
  }) => {
43
43
  const light = theme.palette.mode === 'light';
44
44
  const bottomLineColor = light ? 'rgba(0, 0, 0, 0.42)' : 'rgba(255, 255, 255, 0.7)';
45
45
  const backgroundColor = light ? 'rgba(0, 0, 0, 0.06)' : 'rgba(255, 255, 255, 0.09)';
46
46
  const hoverBackground = light ? 'rgba(0, 0, 0, 0.09)' : 'rgba(255, 255, 255, 0.13)';
47
47
  const disabledBackground = light ? 'rgba(0, 0, 0, 0.12)' : 'rgba(255, 255, 255, 0.12)';
48
- return _extends({
48
+ return {
49
49
  position: 'relative',
50
50
  backgroundColor: theme.vars ? theme.vars.palette.FilledInput.bg : backgroundColor,
51
51
  borderTopLeftRadius: (theme.vars || theme).shape.borderRadius,
@@ -66,76 +66,122 @@ const FilledInputRoot = styled(InputBaseRoot, {
66
66
  },
67
67
  [`&.${filledInputClasses.disabled}`]: {
68
68
  backgroundColor: theme.vars ? theme.vars.palette.FilledInput.disabledBg : disabledBackground
69
- }
70
- }, !ownerState.disableUnderline && {
71
- '&::after': {
72
- borderBottom: `2px solid ${(theme.vars || theme).palette[ownerState.color || 'primary']?.main}`,
73
- left: 0,
74
- bottom: 0,
75
- // Doing the other way around crash on IE11 "''" https://github.com/cssinjs/jss/issues/242
76
- content: '""',
77
- position: 'absolute',
78
- right: 0,
79
- transform: 'scaleX(0)',
80
- transition: theme.transitions.create('transform', {
81
- duration: theme.transitions.duration.shorter,
82
- easing: theme.transitions.easing.easeOut
83
- }),
84
- pointerEvents: 'none' // Transparent to the hover style.
85
- },
86
- [`&.${filledInputClasses.focused}:after`]: {
87
- // translateX(0) is a workaround for Safari transform scale bug
88
- // See https://github.com/mui/material-ui/issues/31766
89
- transform: 'scaleX(1) translateX(0)'
90
69
  },
91
- [`&.${filledInputClasses.error}`]: {
92
- '&::before, &::after': {
93
- borderBottomColor: (theme.vars || theme).palette.error.main
70
+ variants: [{
71
+ props: ({
72
+ ownerState
73
+ }) => !ownerState.disableUnderline,
74
+ style: {
75
+ '&::after': {
76
+ left: 0,
77
+ bottom: 0,
78
+ // Doing the other way around crash on IE11 "''" https://github.com/cssinjs/jss/issues/242
79
+ content: '""',
80
+ position: 'absolute',
81
+ right: 0,
82
+ transform: 'scaleX(0)',
83
+ transition: theme.transitions.create('transform', {
84
+ duration: theme.transitions.duration.shorter,
85
+ easing: theme.transitions.easing.easeOut
86
+ }),
87
+ pointerEvents: 'none' // Transparent to the hover style.
88
+ },
89
+ [`&.${filledInputClasses.focused}:after`]: {
90
+ // translateX(0) is a workaround for Safari transform scale bug
91
+ // See https://github.com/mui/material-ui/issues/31766
92
+ transform: 'scaleX(1) translateX(0)'
93
+ },
94
+ [`&.${filledInputClasses.error}`]: {
95
+ '&::before, &::after': {
96
+ borderBottomColor: (theme.vars || theme).palette.error.main
97
+ }
98
+ },
99
+ '&::before': {
100
+ borderBottom: `1px solid ${theme.vars ? `rgba(${theme.vars.palette.common.onBackgroundChannel} / ${theme.vars.opacity.inputUnderline})` : bottomLineColor}`,
101
+ left: 0,
102
+ bottom: 0,
103
+ // Doing the other way around crash on IE11 "''" https://github.com/cssinjs/jss/issues/242
104
+ content: '"\\00a0"',
105
+ position: 'absolute',
106
+ right: 0,
107
+ transition: theme.transitions.create('border-bottom-color', {
108
+ duration: theme.transitions.duration.shorter
109
+ }),
110
+ pointerEvents: 'none' // Transparent to the hover style.
111
+ },
112
+ [`&:hover:not(.${filledInputClasses.disabled}, .${filledInputClasses.error}):before`]: {
113
+ borderBottom: `1px solid ${(theme.vars || theme).palette.text.primary}`
114
+ },
115
+ [`&.${filledInputClasses.disabled}:before`]: {
116
+ borderBottomStyle: 'dotted'
117
+ }
94
118
  }
95
- },
96
- '&::before': {
97
- borderBottom: `1px solid ${theme.vars ? `rgba(${theme.vars.palette.common.onBackgroundChannel} / ${theme.vars.opacity.inputUnderline})` : bottomLineColor}`,
98
- left: 0,
99
- bottom: 0,
100
- // Doing the other way around crash on IE11 "''" https://github.com/cssinjs/jss/issues/242
101
- content: '"\\00a0"',
102
- position: 'absolute',
103
- right: 0,
104
- transition: theme.transitions.create('border-bottom-color', {
105
- duration: theme.transitions.duration.shorter
106
- }),
107
- pointerEvents: 'none' // Transparent to the hover style.
108
- },
109
- [`&:hover:not(.${filledInputClasses.disabled}, .${filledInputClasses.error}):before`]: {
110
- borderBottom: `1px solid ${(theme.vars || theme).palette.text.primary}`
111
- },
112
- [`&.${filledInputClasses.disabled}:before`]: {
113
- borderBottomStyle: 'dotted'
114
- }
115
- }, ownerState.startAdornment && {
116
- paddingLeft: 12
117
- }, ownerState.endAdornment && {
118
- paddingRight: 12
119
- }, ownerState.multiline && _extends({
120
- padding: '25px 12px 8px'
121
- }, ownerState.size === 'small' && {
122
- paddingTop: 21,
123
- paddingBottom: 4
124
- }, ownerState.hiddenLabel && {
125
- paddingTop: 16,
126
- paddingBottom: 17
127
- }, ownerState.hiddenLabel && ownerState.size === 'small' && {
128
- paddingTop: 8,
129
- paddingBottom: 9
130
- }));
119
+ }, ...Object.entries(theme.palette).filter(([, value]) => value.main) // check all the used fields in the style below
120
+ .map(([color]) => ({
121
+ props: {
122
+ disableUnderline: false,
123
+ color
124
+ },
125
+ style: {
126
+ '&::after': {
127
+ borderBottom: `2px solid ${(theme.vars || theme).palette[color]?.main}`
128
+ }
129
+ }
130
+ })), {
131
+ props: ({
132
+ ownerState
133
+ }) => ownerState.startAdornment,
134
+ style: {
135
+ paddingLeft: 12
136
+ }
137
+ }, {
138
+ props: ({
139
+ ownerState
140
+ }) => ownerState.endAdornment,
141
+ style: {
142
+ paddingRight: 12
143
+ }
144
+ }, {
145
+ props: ({
146
+ ownerState
147
+ }) => ownerState.multiline,
148
+ style: {
149
+ padding: '25px 12px 8px'
150
+ }
151
+ }, {
152
+ props: ({
153
+ ownerState,
154
+ size
155
+ }) => ownerState.multiline && size === 'small',
156
+ style: {
157
+ paddingTop: 21,
158
+ paddingBottom: 4
159
+ }
160
+ }, {
161
+ props: ({
162
+ ownerState
163
+ }) => ownerState.multiline && ownerState.hiddenLabel,
164
+ style: {
165
+ paddingTop: 16,
166
+ paddingBottom: 17
167
+ }
168
+ }, {
169
+ props: ({
170
+ ownerState
171
+ }) => ownerState.multiline && ownerState.hiddenLabel && ownerState.size === 'small',
172
+ style: {
173
+ paddingTop: 8,
174
+ paddingBottom: 9
175
+ }
176
+ }]
177
+ };
131
178
  });
132
179
  const FilledInputInput = styled(InputBaseInput, {
133
180
  name: 'MuiFilledInput',
134
181
  slot: 'Input',
135
182
  overridesResolver: inputBaseInputOverridesResolver
136
183
  })(({
137
- theme,
138
- ownerState
184
+ theme
139
185
  }) => _extends({
140
186
  paddingTop: 25,
141
187
  paddingRight: 12,
@@ -161,24 +207,56 @@ const FilledInputInput = styled(InputBaseInput, {
161
207
  caretColor: '#fff'
162
208
  }
163
209
  }
164
- }, ownerState.size === 'small' && {
165
- paddingTop: 21,
166
- paddingBottom: 4
167
- }, ownerState.hiddenLabel && {
168
- paddingTop: 16,
169
- paddingBottom: 17
170
- }, ownerState.startAdornment && {
171
- paddingLeft: 0
172
- }, ownerState.endAdornment && {
173
- paddingRight: 0
174
- }, ownerState.hiddenLabel && ownerState.size === 'small' && {
175
- paddingTop: 8,
176
- paddingBottom: 9
177
- }, ownerState.multiline && {
178
- paddingTop: 0,
179
- paddingBottom: 0,
180
- paddingLeft: 0,
181
- paddingRight: 0
210
+ }, {
211
+ variants: [{
212
+ props: {
213
+ size: 'small'
214
+ },
215
+ style: {
216
+ paddingTop: 21,
217
+ paddingBottom: 4
218
+ }
219
+ }, {
220
+ props: ({
221
+ ownerState
222
+ }) => ownerState.hiddenLabel,
223
+ style: {
224
+ paddingTop: 16,
225
+ paddingBottom: 17
226
+ }
227
+ }, {
228
+ props: ({
229
+ ownerState
230
+ }) => ownerState.startAdornment,
231
+ style: {
232
+ paddingLeft: 0
233
+ }
234
+ }, {
235
+ props: ({
236
+ ownerState
237
+ }) => ownerState.endAdornment,
238
+ style: {
239
+ paddingRight: 0
240
+ }
241
+ }, {
242
+ props: ({
243
+ ownerState
244
+ }) => ownerState.hiddenLabel && ownerState.size === 'small',
245
+ style: {
246
+ paddingTop: 8,
247
+ paddingBottom: 9
248
+ }
249
+ }, {
250
+ props: ({
251
+ ownerState
252
+ }) => ownerState.multiline,
253
+ style: {
254
+ paddingTop: 0,
255
+ paddingBottom: 0,
256
+ paddingLeft: 0,
257
+ paddingRight: 0
258
+ }
259
+ }]
182
260
  }));
183
261
  const FilledInput = /*#__PURE__*/React.forwardRef(function FilledInput(inProps, ref) {
184
262
  const props = useThemeProps({
@@ -186,6 +264,7 @@ const FilledInput = /*#__PURE__*/React.forwardRef(function FilledInput(inProps,
186
264
  name: 'MuiFilledInput'
187
265
  });
188
266
  const {
267
+ disableUnderline = false,
189
268
  components = {},
190
269
  componentsProps: componentsPropsProp,
191
270
  fullWidth = false,
@@ -198,6 +277,7 @@ const FilledInput = /*#__PURE__*/React.forwardRef(function FilledInput(inProps,
198
277
  } = props,
199
278
  other = _objectWithoutPropertiesLoose(props, _excluded);
200
279
  const ownerState = _extends({}, props, {
280
+ disableUnderline,
201
281
  fullWidth,
202
282
  inputComponent,
203
283
  multiline,
@@ -292,6 +372,7 @@ process.env.NODE_ENV !== "production" ? FilledInput.propTypes /* remove-proptype
292
372
  disabled: PropTypes.bool,
293
373
  /**
294
374
  * If `true`, the input will not have an underline.
375
+ * @default false
295
376
  */
296
377
  disableUnderline: PropTypes.bool,
297
378
  /**
@@ -423,5 +504,7 @@ process.env.NODE_ENV !== "production" ? FilledInput.propTypes /* remove-proptype
423
504
  */
424
505
  value: PropTypes.any
425
506
  } : void 0;
426
- FilledInput.muiName = 'Input';
507
+ if (FilledInput) {
508
+ FilledInput.muiName = 'Input';
509
+ }
427
510
  export default FilledInput;
@@ -35,7 +35,7 @@ export interface FormControlLabelProps
35
35
  /**
36
36
  * The props used for each slot inside.
37
37
  * @default {}
38
- * @deprecated use the `slotProps` prop instead. This prop will be removed in v7. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/).
38
+ * @deprecated use the `slotProps` prop instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
39
39
  */
40
40
  componentsProps?: {
41
41
  /**
@@ -207,7 +207,7 @@ process.env.NODE_ENV !== "production" ? FormControlLabel.propTypes /* remove-pro
207
207
  /**
208
208
  * The props used for each slot inside.
209
209
  * @default {}
210
- * @deprecated use the `slotProps` prop instead. This prop will be removed in v7. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/).
210
+ * @deprecated use the `slotProps` prop instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
211
211
  */
212
212
  componentsProps: PropTypes.shape({
213
213
  typography: PropTypes.object
@@ -10,11 +10,11 @@ import clsx from 'clsx';
10
10
  import composeClasses from '@mui/utils/composeClasses';
11
11
  import formControlState from '../FormControl/formControlState';
12
12
  import useFormControl from '../FormControl/useFormControl';
13
- import styled from '../styles/styled';
13
+ import { styled, createUseThemeProps } from '../zero-styled';
14
14
  import capitalize from '../utils/capitalize';
15
15
  import formHelperTextClasses, { getFormHelperTextUtilityClasses } from './formHelperTextClasses';
16
- import useThemeProps from '../styles/useThemeProps';
17
16
  import { jsx as _jsx } from "react/jsx-runtime";
17
+ const useThemeProps = createUseThemeProps('MuiFormHelperText');
18
18
  const useUtilityClasses = ownerState => {
19
19
  const {
20
20
  classes,