@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
@@ -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',
package/Grow/Grow.js CHANGED
@@ -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;
package/Icon/Icon.js CHANGED
@@ -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,
package/Input/Input.d.ts CHANGED
@@ -10,6 +10,7 @@ export interface InputProps extends StandardProps<InputBaseProps> {
10
10
  classes?: Partial<InputClasses>;
11
11
  /**
12
12
  * If `true`, the `input` will not have an underline.
13
+ * @default false
13
14
  */
14
15
  disableUnderline?: boolean;
15
16
  /**
package/Input/Input.js CHANGED
@@ -9,11 +9,12 @@ import composeClasses from '@mui/utils/composeClasses';
9
9
  import deepmerge from '@mui/utils/deepmerge';
10
10
  import refType from '@mui/utils/refType';
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 inputClasses, { getInputUtilityClass } from './inputClasses';
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('MuiInput');
17
18
  const useUtilityClasses = ownerState => {
18
19
  const {
19
20
  classes,
@@ -37,70 +38,89 @@ const InputRoot = 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
  let bottomLineColor = light ? 'rgba(0, 0, 0, 0.42)' : 'rgba(255, 255, 255, 0.7)';
45
45
  if (theme.vars) {
46
46
  bottomLineColor = `rgba(${theme.vars.palette.common.onBackgroundChannel} / ${theme.vars.opacity.inputUnderline})`;
47
47
  }
48
- return _extends({
49
- position: 'relative'
50
- }, ownerState.formControl && {
51
- 'label + &': {
52
- marginTop: 16
53
- }
54
- }, !ownerState.disableUnderline && {
55
- '&::after': {
56
- borderBottom: `2px solid ${(theme.vars || theme).palette[ownerState.color].main}`,
57
- left: 0,
58
- bottom: 0,
59
- // Doing the other way around crash on IE11 "''" https://github.com/cssinjs/jss/issues/242
60
- content: '""',
61
- position: 'absolute',
62
- right: 0,
63
- transform: 'scaleX(0)',
64
- transition: theme.transitions.create('transform', {
65
- duration: theme.transitions.duration.shorter,
66
- easing: theme.transitions.easing.easeOut
67
- }),
68
- pointerEvents: 'none' // Transparent to the hover style.
69
- },
70
- [`&.${inputClasses.focused}:after`]: {
71
- // translateX(0) is a workaround for Safari transform scale bug
72
- // See https://github.com/mui/material-ui/issues/31766
73
- transform: 'scaleX(1) translateX(0)'
74
- },
75
- [`&.${inputClasses.error}`]: {
76
- '&::before, &::after': {
77
- borderBottomColor: (theme.vars || theme).palette.error.main
48
+ return {
49
+ position: 'relative',
50
+ variants: [{
51
+ props: ({
52
+ ownerState
53
+ }) => ownerState.formControl,
54
+ style: {
55
+ 'label + &': {
56
+ marginTop: 16
57
+ }
78
58
  }
79
- },
80
- '&::before': {
81
- borderBottom: `1px solid ${bottomLineColor}`,
82
- left: 0,
83
- bottom: 0,
84
- // Doing the other way around crash on IE11 "''" https://github.com/cssinjs/jss/issues/242
85
- content: '"\\00a0"',
86
- position: 'absolute',
87
- right: 0,
88
- transition: theme.transitions.create('border-bottom-color', {
89
- duration: theme.transitions.duration.shorter
90
- }),
91
- pointerEvents: 'none' // Transparent to the hover style.
92
- },
93
- [`&:hover:not(.${inputClasses.disabled}, .${inputClasses.error}):before`]: {
94
- borderBottom: `2px solid ${(theme.vars || theme).palette.text.primary}`,
95
- // Reset on touch devices, it doesn't add specificity
96
- '@media (hover: none)': {
97
- borderBottom: `1px solid ${bottomLineColor}`
59
+ }, {
60
+ props: ({
61
+ ownerState
62
+ }) => !ownerState.disableUnderline,
63
+ style: {
64
+ '&::after': {
65
+ left: 0,
66
+ bottom: 0,
67
+ // Doing the other way around crash on IE11 "''" https://github.com/cssinjs/jss/issues/242
68
+ content: '""',
69
+ position: 'absolute',
70
+ right: 0,
71
+ transform: 'scaleX(0)',
72
+ transition: theme.transitions.create('transform', {
73
+ duration: theme.transitions.duration.shorter,
74
+ easing: theme.transitions.easing.easeOut
75
+ }),
76
+ pointerEvents: 'none' // Transparent to the hover style.
77
+ },
78
+ [`&.${inputClasses.focused}:after`]: {
79
+ // translateX(0) is a workaround for Safari transform scale bug
80
+ // See https://github.com/mui/material-ui/issues/31766
81
+ transform: 'scaleX(1) translateX(0)'
82
+ },
83
+ [`&.${inputClasses.error}`]: {
84
+ '&::before, &::after': {
85
+ borderBottomColor: (theme.vars || theme).palette.error.main
86
+ }
87
+ },
88
+ '&::before': {
89
+ borderBottom: `1px solid ${bottomLineColor}`,
90
+ left: 0,
91
+ bottom: 0,
92
+ // Doing the other way around crash on IE11 "''" https://github.com/cssinjs/jss/issues/242
93
+ content: '"\\00a0"',
94
+ position: 'absolute',
95
+ right: 0,
96
+ transition: theme.transitions.create('border-bottom-color', {
97
+ duration: theme.transitions.duration.shorter
98
+ }),
99
+ pointerEvents: 'none' // Transparent to the hover style.
100
+ },
101
+ [`&:hover:not(.${inputClasses.disabled}, .${inputClasses.error}):before`]: {
102
+ borderBottom: `2px solid ${(theme.vars || theme).palette.text.primary}`,
103
+ // Reset on touch devices, it doesn't add specificity
104
+ '@media (hover: none)': {
105
+ borderBottom: `1px solid ${bottomLineColor}`
106
+ }
107
+ },
108
+ [`&.${inputClasses.disabled}:before`]: {
109
+ borderBottomStyle: 'dotted'
110
+ }
98
111
  }
99
- },
100
- [`&.${inputClasses.disabled}:before`]: {
101
- borderBottomStyle: 'dotted'
102
- }
103
- });
112
+ }, ...Object.entries(theme.palette).filter(([, value]) => value.main).map(([color]) => ({
113
+ props: {
114
+ color,
115
+ disableUnderline: false
116
+ },
117
+ style: {
118
+ '&::after': {
119
+ borderBottom: `2px solid ${(theme.vars || theme).palette[color].main}`
120
+ }
121
+ }
122
+ }))]
123
+ };
104
124
  });
105
125
  const InputInput = styled(InputBaseInput, {
106
126
  name: 'MuiInput',
@@ -113,7 +133,7 @@ const Input = /*#__PURE__*/React.forwardRef(function Input(inProps, ref) {
113
133
  name: 'MuiInput'
114
134
  });
115
135
  const {
116
- disableUnderline,
136
+ disableUnderline = false,
117
137
  components = {},
118
138
  componentsProps: componentsPropsProp,
119
139
  fullWidth = false,
@@ -213,6 +233,7 @@ process.env.NODE_ENV !== "production" ? Input.propTypes /* remove-proptypes */ =
213
233
  disabled: PropTypes.bool,
214
234
  /**
215
235
  * If `true`, the `input` will not have an underline.
236
+ * @default false
216
237
  */
217
238
  disableUnderline: PropTypes.bool,
218
239
  /**
@@ -337,5 +358,7 @@ process.env.NODE_ENV !== "production" ? Input.propTypes /* remove-proptypes */ =
337
358
  */
338
359
  value: PropTypes.any
339
360
  } : void 0;
340
- Input.muiName = 'Input';
361
+ if (Input) {
362
+ Input.muiName = 'Input';
363
+ }
341
364
  export default Input;
@@ -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
  var _span;
6
6
  const _excluded = ["children", "className", "component", "disablePointerEvents", "disableTypography", "position", "variant"];
7
7
  import * as React from 'react';
@@ -12,10 +12,10 @@ import capitalize from '../utils/capitalize';
12
12
  import Typography from '../Typography';
13
13
  import FormControlContext from '../FormControl/FormControlContext';
14
14
  import useFormControl from '../FormControl/useFormControl';
15
- import styled from '../styles/styled';
15
+ import { styled, createUseThemeProps } from '../zero-styled';
16
16
  import inputAdornmentClasses, { getInputAdornmentUtilityClass } from './inputAdornmentClasses';
17
- import useThemeProps from '../styles/useThemeProps';
18
17
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
18
+ const useThemeProps = createUseThemeProps('MuiInputAdornment');
19
19
  const overridesResolver = (props, styles) => {
20
20
  const {
21
21
  ownerState
@@ -41,30 +41,46 @@ const InputAdornmentRoot = styled('div', {
41
41
  slot: 'Root',
42
42
  overridesResolver
43
43
  })(({
44
- theme,
45
- ownerState
46
- }) => _extends({
44
+ theme
45
+ }) => ({
47
46
  display: 'flex',
48
47
  height: '0.01em',
49
48
  // Fix IE11 flexbox alignment. To remove at some point.
50
49
  maxHeight: '2em',
51
50
  alignItems: 'center',
52
51
  whiteSpace: 'nowrap',
53
- color: (theme.vars || theme).palette.action.active
54
- }, ownerState.variant === 'filled' && {
55
- // Styles applied to the root element if `variant="filled"`.
56
- [`&.${inputAdornmentClasses.positionStart}&:not(.${inputAdornmentClasses.hiddenLabel})`]: {
57
- marginTop: 16
58
- }
59
- }, ownerState.position === 'start' && {
60
- // Styles applied to the root element if `position="start"`.
61
- marginRight: 8
62
- }, ownerState.position === 'end' && {
63
- // Styles applied to the root element if `position="end"`.
64
- marginLeft: 8
65
- }, ownerState.disablePointerEvents === true && {
66
- // Styles applied to the root element if `disablePointerEvents={true}`.
67
- pointerEvents: 'none'
52
+ color: (theme.vars || theme).palette.action.active,
53
+ variants: [{
54
+ props: {
55
+ variant: 'filled'
56
+ },
57
+ style: {
58
+ [`&.${inputAdornmentClasses.positionStart}&:not(.${inputAdornmentClasses.hiddenLabel})`]: {
59
+ marginTop: 16
60
+ }
61
+ }
62
+ }, {
63
+ props: {
64
+ position: 'start'
65
+ },
66
+ style: {
67
+ marginRight: 8
68
+ }
69
+ }, {
70
+ props: {
71
+ position: 'end'
72
+ },
73
+ style: {
74
+ marginLeft: 8
75
+ }
76
+ }, {
77
+ props: {
78
+ disablePointerEvents: true
79
+ },
80
+ style: {
81
+ pointerEvents: 'none'
82
+ }
83
+ }]
68
84
  }));
69
85
  const InputAdornment = /*#__PURE__*/React.forwardRef(function InputAdornment(inProps, ref) {
70
86
  const props = useThemeProps({
@@ -15,8 +15,7 @@ import composeClasses from '@mui/utils/composeClasses';
15
15
  import formControlState from '../FormControl/formControlState';
16
16
  import FormControlContext from '../FormControl/FormControlContext';
17
17
  import useFormControl from '../FormControl/useFormControl';
18
- import styled from '../styles/styled';
19
- import useThemeProps from '../styles/useThemeProps';
18
+ import { styled, createUseThemeProps } from '../zero-styled';
20
19
  import capitalize from '../utils/capitalize';
21
20
  import useForkRef from '../utils/useForkRef';
22
21
  import useEnhancedEffect from '../utils/useEnhancedEffect';
@@ -24,6 +23,7 @@ import GlobalStyles from '../GlobalStyles';
24
23
  import { isFilled } from './utils';
25
24
  import inputBaseClasses, { getInputBaseUtilityClass } from './inputBaseClasses';
26
25
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
26
+ const useThemeProps = createUseThemeProps('MuiInputBase');
27
27
  export const rootOverridesResolver = (props, styles) => {
28
28
  const {
29
29
  ownerState
@@ -64,8 +64,7 @@ export const InputBaseRoot = styled('div', {
64
64
  slot: 'Root',
65
65
  overridesResolver: rootOverridesResolver
66
66
  })(({
67
- theme,
68
- ownerState
67
+ theme
69
68
  }) => _extends({}, theme.typography.body1, {
70
69
  color: (theme.vars || theme).palette.text.primary,
71
70
  lineHeight: '1.4375em',
@@ -79,21 +78,37 @@ export const InputBaseRoot = styled('div', {
79
78
  [`&.${inputBaseClasses.disabled}`]: {
80
79
  color: (theme.vars || theme).palette.text.disabled,
81
80
  cursor: 'default'
82
- }
83
- }, ownerState.multiline && _extends({
84
- padding: '4px 0 5px'
85
- }, ownerState.size === 'small' && {
86
- paddingTop: 1
87
- }), ownerState.fullWidth && {
88
- width: '100%'
81
+ },
82
+ variants: [{
83
+ props: ({
84
+ ownerState
85
+ }) => ownerState.multiline,
86
+ style: {
87
+ padding: '4px 0 5px'
88
+ }
89
+ }, {
90
+ props: ({
91
+ ownerState,
92
+ size
93
+ }) => ownerState.multiline && size === 'small',
94
+ style: {
95
+ paddingTop: 1
96
+ }
97
+ }, {
98
+ props: ({
99
+ ownerState
100
+ }) => ownerState.fullWidth,
101
+ style: {
102
+ width: '100%'
103
+ }
104
+ }]
89
105
  }));
90
- export const InputBaseComponent = styled('input', {
106
+ export const InputBaseInput = styled('input', {
91
107
  name: 'MuiInputBase',
92
108
  slot: 'Input',
93
109
  overridesResolver: inputOverridesResolver
94
110
  })(({
95
- theme,
96
- ownerState
111
+ theme
97
112
  }) => {
98
113
  const light = theme.palette.mode === 'light';
99
114
  const placeholder = _extends({
@@ -115,7 +130,7 @@ export const InputBaseComponent = styled('input', {
115
130
  } : {
116
131
  opacity: light ? 0.42 : 0.5
117
132
  };
118
- return _extends({
133
+ return {
119
134
  font: 'inherit',
120
135
  letterSpacing: 'inherit',
121
136
  color: 'currentColor',
@@ -177,18 +192,33 @@ export const InputBaseComponent = styled('input', {
177
192
  '&:-webkit-autofill': {
178
193
  animationDuration: '5000s',
179
194
  animationName: 'mui-auto-fill'
180
- }
181
- }, ownerState.size === 'small' && {
182
- paddingTop: 1
183
- }, ownerState.multiline && {
184
- height: 'auto',
185
- resize: 'none',
186
- padding: 0,
187
- paddingTop: 0
188
- }, ownerState.type === 'search' && {
189
- // Improve type search style.
190
- MozAppearance: 'textfield'
191
- });
195
+ },
196
+ variants: [{
197
+ props: {
198
+ size: 'small'
199
+ },
200
+ style: {
201
+ paddingTop: 1
202
+ }
203
+ }, {
204
+ props: ({
205
+ ownerState
206
+ }) => ownerState.multiline,
207
+ style: {
208
+ height: 'auto',
209
+ resize: 'none',
210
+ padding: 0,
211
+ paddingTop: 0
212
+ }
213
+ }, {
214
+ props: {
215
+ type: 'search'
216
+ },
217
+ style: {
218
+ MozAppearance: 'textfield' // Improve type search style.
219
+ }
220
+ }]
221
+ };
192
222
  });
193
223
  const inputGlobalStyles = /*#__PURE__*/_jsx(GlobalStyles, {
194
224
  styles: {
@@ -428,7 +458,7 @@ const InputBase = /*#__PURE__*/React.forwardRef(function InputBase(inProps, ref)
428
458
  const classes = useUtilityClasses(ownerState);
429
459
  const Root = slots.root || components.Root || InputBaseRoot;
430
460
  const rootProps = slotProps.root || componentsProps.root || {};
431
- const Input = slots.input || components.Input || InputBaseComponent;
461
+ const Input = slots.input || components.Input || InputBaseInput;
432
462
  inputProps = _extends({}, inputProps, slotProps.input ?? componentsProps.input);
433
463
  return /*#__PURE__*/_jsxs(React.Fragment, {
434
464
  children: [!disableInjectingGlobalStyles && inputGlobalStyles, /*#__PURE__*/_jsxs(Root, _extends({}, rootProps, !isHostComponent(Root) && {