@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
@@ -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;
@@ -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,
@@ -10,10 +10,10 @@ import composeClasses from '@mui/utils/composeClasses';
10
10
  import formControlState from '../FormControl/formControlState';
11
11
  import useFormControl from '../FormControl/useFormControl';
12
12
  import capitalize from '../utils/capitalize';
13
- import useThemeProps from '../styles/useThemeProps';
14
- import styled from '../styles/styled';
13
+ import { styled, createUseThemeProps } from '../zero-styled';
15
14
  import formLabelClasses, { getFormLabelUtilityClasses } from './formLabelClasses';
16
15
  import { jsxs as _jsxs } from "react/jsx-runtime";
16
+ const useThemeProps = createUseThemeProps('MuiFormLabel');
17
17
  const useUtilityClasses = ownerState => {
18
18
  const {
19
19
  classes,
@@ -39,23 +39,33 @@ export const FormLabelRoot = styled('label', {
39
39
  return _extends({}, styles.root, ownerState.color === 'secondary' && styles.colorSecondary, ownerState.filled && styles.filled);
40
40
  }
41
41
  })(({
42
- theme,
43
- ownerState
42
+ theme
44
43
  }) => _extends({
45
44
  color: (theme.vars || theme).palette.text.secondary
46
45
  }, theme.typography.body1, {
47
46
  lineHeight: '1.4375em',
48
47
  padding: 0,
49
48
  position: 'relative',
50
- [`&.${formLabelClasses.focused}`]: {
51
- color: (theme.vars || theme).palette[ownerState.color].main
52
- },
53
- [`&.${formLabelClasses.disabled}`]: {
54
- color: (theme.vars || theme).palette.text.disabled
55
- },
56
- [`&.${formLabelClasses.error}`]: {
57
- color: (theme.vars || theme).palette.error.main
58
- }
49
+ variants: [...Object.entries(theme.palette).filter(([, value]) => value.main).map(([color]) => ({
50
+ props: {
51
+ color
52
+ },
53
+ style: {
54
+ [`&.${formLabelClasses.focused}`]: {
55
+ color: (theme.vars || theme).palette[color].main
56
+ }
57
+ }
58
+ })), {
59
+ props: {},
60
+ style: {
61
+ [`&.${formLabelClasses.disabled}`]: {
62
+ color: (theme.vars || theme).palette.text.disabled
63
+ },
64
+ [`&.${formLabelClasses.error}`]: {
65
+ color: (theme.vars || theme).palette.error.main
66
+ }
67
+ }
68
+ }]
59
69
  }));
60
70
  const AsteriskComponent = styled('span', {
61
71
  name: 'MuiFormLabel',
@@ -251,5 +251,7 @@ process.env.NODE_ENV !== "production" ? Grow.propTypes /* remove-proptypes */ =
251
251
  exit: PropTypes.number
252
252
  })])
253
253
  } : void 0;
254
- Grow.muiSupportAuto = true;
254
+ if (Grow) {
255
+ Grow.muiSupportAuto = true;
256
+ }
255
257
  export default Grow;
@@ -7,11 +7,11 @@ 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';
12
10
  import capitalize from '../utils/capitalize';
11
+ import { styled, createUseThemeProps } from '../zero-styled';
13
12
  import { getIconUtilityClass } from './iconClasses';
14
13
  import { jsx as _jsx } from "react/jsx-runtime";
14
+ const useThemeProps = createUseThemeProps('MuiIcon');
15
15
  const useUtilityClasses = ownerState => {
16
16
  const {
17
17
  color,
@@ -33,8 +33,7 @@ const IconRoot = styled('span', {
33
33
  return [styles.root, ownerState.color !== 'inherit' && styles[`color${capitalize(ownerState.color)}`], styles[`fontSize${capitalize(ownerState.fontSize)}`]];
34
34
  }
35
35
  })(({
36
- theme,
37
- ownerState
36
+ theme
38
37
  }) => ({
39
38
  userSelect: 'none',
40
39
  width: '1em',
@@ -47,24 +46,63 @@ const IconRoot = styled('span', {
47
46
  textAlign: 'center',
48
47
  // support non-square icon
49
48
  flexShrink: 0,
50
- fontSize: {
51
- inherit: 'inherit',
52
- small: theme.typography.pxToRem(20),
53
- medium: theme.typography.pxToRem(24),
54
- large: theme.typography.pxToRem(36)
55
- }[ownerState.fontSize],
56
- // TODO v5 deprecate, v6 remove for sx
57
- color: {
58
- primary: (theme.vars || theme).palette.primary.main,
59
- secondary: (theme.vars || theme).palette.secondary.main,
60
- info: (theme.vars || theme).palette.info.main,
61
- success: (theme.vars || theme).palette.success.main,
62
- warning: (theme.vars || theme).palette.warning.main,
63
- action: (theme.vars || theme).palette.action.active,
64
- error: (theme.vars || theme).palette.error.main,
65
- disabled: (theme.vars || theme).palette.action.disabled,
66
- inherit: undefined
67
- }[ownerState.color]
49
+ variants: [{
50
+ props: {
51
+ fontSize: 'inherit'
52
+ },
53
+ style: {
54
+ fontSize: 'inherit'
55
+ }
56
+ }, {
57
+ props: {
58
+ fontSize: 'small'
59
+ },
60
+ style: {
61
+ fontSize: theme.typography.pxToRem(20)
62
+ }
63
+ }, {
64
+ props: {
65
+ fontSize: 'medium'
66
+ },
67
+ style: {
68
+ fontSize: theme.typography.pxToRem(24)
69
+ }
70
+ }, {
71
+ props: {
72
+ fontSize: 'large'
73
+ },
74
+ style: {
75
+ fontSize: theme.typography.pxToRem(36)
76
+ }
77
+ }, {
78
+ props: {
79
+ color: 'action'
80
+ },
81
+ style: {
82
+ color: (theme.vars || theme).palette.action.active
83
+ }
84
+ }, {
85
+ props: {
86
+ color: 'disabled'
87
+ },
88
+ style: {
89
+ color: (theme.vars || theme).palette.action.disabled
90
+ }
91
+ }, {
92
+ props: {
93
+ color: 'inherit'
94
+ },
95
+ style: {
96
+ color: undefined
97
+ }
98
+ }, ...Object.entries(theme.palette).filter(([, palette]) => palette.main).map(([color]) => ({
99
+ props: {
100
+ color
101
+ },
102
+ style: {
103
+ color: (theme.vars || theme).palette[color].main
104
+ }
105
+ }))]
68
106
  }));
69
107
  const Icon = /*#__PURE__*/React.forwardRef(function Icon(inProps, ref) {
70
108
  const props = useThemeProps({
@@ -142,5 +180,7 @@ process.env.NODE_ENV !== "production" ? Icon.propTypes /* remove-proptypes */ =
142
180
  */
143
181
  sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])
144
182
  } : void 0;
145
- Icon.muiName = 'Icon';
183
+ if (Icon) {
184
+ Icon.muiName = 'Icon';
185
+ }
146
186
  export default Icon;
@@ -8,11 +8,11 @@ import integerPropType from '@mui/utils/integerPropType';
8
8
  import clsx from 'clsx';
9
9
  import PropTypes from 'prop-types';
10
10
  import * as React from 'react';
11
- import styled from '../styles/styled';
12
- import useThemeProps from '../styles/useThemeProps';
11
+ import { styled, createUseThemeProps } from '../zero-styled';
13
12
  import { getImageListUtilityClass } from './imageListClasses';
14
13
  import ImageListContext from './ImageListContext';
15
14
  import { jsx as _jsx } from "react/jsx-runtime";
15
+ const useThemeProps = createUseThemeProps('MuiImageList');
16
16
  const useUtilityClasses = ownerState => {
17
17
  const {
18
18
  classes,
@@ -10,11 +10,11 @@ import PropTypes from 'prop-types';
10
10
  import * as React from 'react';
11
11
  import { isFragment } from 'react-is';
12
12
  import ImageListContext from '../ImageList/ImageListContext';
13
- import styled from '../styles/styled';
14
- import useThemeProps from '../styles/useThemeProps';
13
+ import { styled, createUseThemeProps } from '../zero-styled';
15
14
  import isMuiElement from '../utils/isMuiElement';
16
15
  import imageListItemClasses, { getImageListItemUtilityClass } from './imageListItemClasses';
17
16
  import { jsx as _jsx } from "react/jsx-runtime";
17
+ const useThemeProps = createUseThemeProps('MuiImageListItem');
18
18
  const useUtilityClasses = ownerState => {
19
19
  const {
20
20
  classes,
@@ -7,11 +7,11 @@ import composeClasses from '@mui/utils/composeClasses';
7
7
  import clsx from 'clsx';
8
8
  import PropTypes from 'prop-types';
9
9
  import * as React from 'react';
10
- import styled from '../styles/styled';
11
- import useThemeProps from '../styles/useThemeProps';
10
+ import { styled, createUseThemeProps } from '../zero-styled';
12
11
  import capitalize from '../utils/capitalize';
13
12
  import { getImageListItemBarUtilityClass } from './imageListItemBarClasses';
14
13
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
14
+ const useThemeProps = createUseThemeProps('MuiImageListItemBar');
15
15
  const useUtilityClasses = ownerState => {
16
16
  const {
17
17
  classes,