@mui/material 6.0.0-alpha.4 → 6.0.0-alpha.6

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 (272) 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/Avatar/Avatar.d.ts +1 -1
  8. package/Avatar/Avatar.js +1 -1
  9. package/Backdrop/Backdrop.d.ts +1 -1
  10. package/Backdrop/Backdrop.js +1 -1
  11. package/Badge/Badge.d.ts +2 -2
  12. package/Badge/Badge.js +2 -2
  13. package/Breadcrumbs/BreadcrumbCollapsed.js +1 -1
  14. package/Button/Button.js +1 -1
  15. package/Button/buttonClasses.d.ts +33 -33
  16. package/ButtonGroup/buttonGroupClasses.d.ts +17 -17
  17. package/CHANGELOG.md +86 -0
  18. package/Checkbox/Checkbox.js +3 -1
  19. package/Chip/chipClasses.d.ts +28 -26
  20. package/Chip/chipClasses.js +1 -1
  21. package/Collapse/Collapse.js +66 -35
  22. package/Dialog/Dialog.js +105 -61
  23. package/DialogActions/DialogActions.js +16 -12
  24. package/DialogContent/DialogContent.js +25 -15
  25. package/DialogContentText/DialogContentText.js +3 -2
  26. package/DialogTitle/DialogTitle.js +2 -2
  27. package/Divider/Divider.d.ts +1 -1
  28. package/Divider/Divider.js +1 -1
  29. package/Drawer/Drawer.js +73 -32
  30. package/Fab/Fab.js +1 -1
  31. package/FilledInput/FilledInput.d.ts +1 -0
  32. package/FilledInput/FilledInput.js +170 -87
  33. package/FormControlLabel/FormControlLabel.d.ts +21 -14
  34. package/FormControlLabel/FormControlLabel.js +22 -4
  35. package/FormHelperText/FormHelperText.js +2 -2
  36. package/FormLabel/FormLabel.js +23 -13
  37. package/Grow/Grow.js +3 -1
  38. package/Icon/Icon.js +63 -23
  39. package/ImageList/ImageList.js +2 -2
  40. package/ImageListItem/ImageListItem.js +2 -2
  41. package/ImageListItemBar/ImageListItemBar.js +2 -2
  42. package/Input/Input.d.ts +1 -0
  43. package/Input/Input.js +84 -61
  44. package/InputAdornment/InputAdornment.js +37 -21
  45. package/InputBase/InputBase.js +58 -28
  46. package/InputLabel/InputLabel.js +120 -58
  47. package/Link/Link.js +99 -54
  48. package/Link/getTextDecoration.d.ts +2 -8
  49. package/Link/getTextDecoration.js +16 -8
  50. package/List/List.js +22 -13
  51. package/ListItem/ListItem.js +2 -2
  52. package/ListItemAvatar/ListItemAvatar.js +2 -2
  53. package/ListItemButton/ListItemButton.js +3 -2
  54. package/ListItemIcon/ListItemIcon.js +14 -9
  55. package/ListItemSecondaryAction/ListItemSecondaryAction.js +2 -2
  56. package/ListItemText/ListItemText.js +2 -2
  57. package/ListSubheader/ListSubheader.js +5 -3
  58. package/Menu/Menu.js +3 -2
  59. package/MenuItem/MenuItem.js +47 -27
  60. package/NativeSelect/NativeSelectInput.js +78 -49
  61. package/OutlinedInput/NotchedOutline.js +60 -43
  62. package/OutlinedInput/OutlinedInput.js +97 -39
  63. package/Pagination/Pagination.js +2 -2
  64. package/PaginationItem/PaginationItem.d.ts +26 -14
  65. package/PaginationItem/PaginationItem.js +64 -20
  66. package/PaginationItem/paginationItemClasses.d.ts +4 -4
  67. package/Paper/Paper.js +44 -21
  68. package/Radio/Radio.js +5 -3
  69. package/Radio/RadioButtonIcon.js +1 -1
  70. package/Rating/Rating.js +3 -2
  71. package/Select/Select.js +2 -1
  72. package/Select/SelectInput.js +8 -6
  73. package/Skeleton/Skeleton.js +109 -61
  74. package/Slider/Slider.d.ts +2 -2
  75. package/Slider/Slider.js +2 -2
  76. package/Snackbar/Snackbar.js +66 -40
  77. package/SnackbarContent/SnackbarContent.js +2 -2
  78. package/SpeedDial/SpeedDial.d.ts +28 -1
  79. package/SpeedDial/SpeedDial.js +107 -49
  80. package/SpeedDialAction/SpeedDialAction.js +50 -24
  81. package/SpeedDialIcon/SpeedDialIcon.js +37 -16
  82. package/StepConnector/stepConnectorClasses.d.ts +2 -2
  83. package/StepLabel/StepLabel.d.ts +3 -3
  84. package/StepLabel/StepLabel.js +3 -3
  85. package/SvgIcon/SvgIcon.js +73 -21
  86. package/SwipeableDrawer/SwipeArea.js +39 -18
  87. package/Tab/Tab.js +127 -55
  88. package/TabScrollButton/TabScrollButton.js +27 -15
  89. package/Table/Table.js +2 -2
  90. package/TableBody/TableBody.js +2 -2
  91. package/TableCell/TableCell.js +2 -2
  92. package/TableContainer/TableContainer.js +2 -2
  93. package/TableFooter/TableFooter.js +2 -2
  94. package/TableHead/TableHead.js +2 -2
  95. package/TablePagination/TablePagination.js +2 -2
  96. package/TableRow/TableRow.js +2 -2
  97. package/TableSortLabel/TableSortLabel.js +2 -2
  98. package/Tabs/Tabs.js +107 -54
  99. package/TextField/TextField.js +2 -2
  100. package/ToggleButtonGroup/toggleButtonGroupClasses.d.ts +2 -2
  101. package/Toolbar/Toolbar.js +3 -7
  102. package/Tooltip/Tooltip.js +185 -88
  103. package/Typography/Typography.js +89 -39
  104. package/index.js +1 -1
  105. package/internal/SwitchBase.js +39 -11
  106. package/modern/Accordion/Accordion.js +2 -2
  107. package/modern/Alert/Alert.js +2 -2
  108. package/modern/Avatar/Avatar.js +1 -1
  109. package/modern/Backdrop/Backdrop.js +1 -1
  110. package/modern/Badge/Badge.js +2 -2
  111. package/modern/Breadcrumbs/BreadcrumbCollapsed.js +1 -1
  112. package/modern/Button/Button.js +1 -1
  113. package/modern/Checkbox/Checkbox.js +3 -1
  114. package/modern/Chip/chipClasses.js +1 -1
  115. package/modern/Collapse/Collapse.js +66 -35
  116. package/modern/Dialog/Dialog.js +105 -61
  117. package/modern/DialogActions/DialogActions.js +16 -12
  118. package/modern/DialogContent/DialogContent.js +25 -15
  119. package/modern/DialogContentText/DialogContentText.js +3 -2
  120. package/modern/DialogTitle/DialogTitle.js +2 -2
  121. package/modern/Divider/Divider.js +1 -1
  122. package/modern/Drawer/Drawer.js +73 -32
  123. package/modern/Fab/Fab.js +1 -1
  124. package/modern/FilledInput/FilledInput.js +170 -87
  125. package/modern/FormControlLabel/FormControlLabel.js +22 -4
  126. package/modern/FormHelperText/FormHelperText.js +2 -2
  127. package/modern/FormLabel/FormLabel.js +23 -13
  128. package/modern/Grow/Grow.js +3 -1
  129. package/modern/Icon/Icon.js +63 -23
  130. package/modern/ImageList/ImageList.js +2 -2
  131. package/modern/ImageListItem/ImageListItem.js +2 -2
  132. package/modern/ImageListItemBar/ImageListItemBar.js +2 -2
  133. package/modern/Input/Input.js +84 -61
  134. package/modern/InputAdornment/InputAdornment.js +37 -21
  135. package/modern/InputBase/InputBase.js +58 -28
  136. package/modern/InputLabel/InputLabel.js +120 -58
  137. package/modern/Link/Link.js +99 -54
  138. package/modern/Link/getTextDecoration.js +16 -8
  139. package/modern/List/List.js +22 -13
  140. package/modern/ListItem/ListItem.js +2 -2
  141. package/modern/ListItemAvatar/ListItemAvatar.js +2 -2
  142. package/modern/ListItemButton/ListItemButton.js +3 -2
  143. package/modern/ListItemIcon/ListItemIcon.js +14 -9
  144. package/modern/ListItemSecondaryAction/ListItemSecondaryAction.js +2 -2
  145. package/modern/ListItemText/ListItemText.js +2 -2
  146. package/modern/ListSubheader/ListSubheader.js +5 -3
  147. package/modern/Menu/Menu.js +3 -2
  148. package/modern/MenuItem/MenuItem.js +47 -27
  149. package/modern/NativeSelect/NativeSelectInput.js +78 -49
  150. package/modern/OutlinedInput/NotchedOutline.js +60 -43
  151. package/modern/OutlinedInput/OutlinedInput.js +97 -39
  152. package/modern/Pagination/Pagination.js +2 -2
  153. package/modern/PaginationItem/PaginationItem.js +64 -20
  154. package/modern/Paper/Paper.js +44 -21
  155. package/modern/Radio/Radio.js +5 -3
  156. package/modern/Radio/RadioButtonIcon.js +1 -1
  157. package/modern/Rating/Rating.js +3 -2
  158. package/modern/Select/Select.js +2 -1
  159. package/modern/Select/SelectInput.js +8 -6
  160. package/modern/Skeleton/Skeleton.js +109 -61
  161. package/modern/Slider/Slider.js +2 -2
  162. package/modern/Snackbar/Snackbar.js +66 -40
  163. package/modern/SnackbarContent/SnackbarContent.js +2 -2
  164. package/modern/SpeedDial/SpeedDial.js +107 -49
  165. package/modern/SpeedDialAction/SpeedDialAction.js +50 -24
  166. package/modern/SpeedDialIcon/SpeedDialIcon.js +37 -16
  167. package/modern/StepLabel/StepLabel.js +3 -3
  168. package/modern/SvgIcon/SvgIcon.js +73 -21
  169. package/modern/SwipeableDrawer/SwipeArea.js +39 -18
  170. package/modern/Tab/Tab.js +127 -55
  171. package/modern/TabScrollButton/TabScrollButton.js +27 -15
  172. package/modern/Table/Table.js +2 -2
  173. package/modern/TableBody/TableBody.js +2 -2
  174. package/modern/TableCell/TableCell.js +2 -2
  175. package/modern/TableContainer/TableContainer.js +2 -2
  176. package/modern/TableFooter/TableFooter.js +2 -2
  177. package/modern/TableHead/TableHead.js +2 -2
  178. package/modern/TablePagination/TablePagination.js +2 -2
  179. package/modern/TableRow/TableRow.js +2 -2
  180. package/modern/TableSortLabel/TableSortLabel.js +2 -2
  181. package/modern/Tabs/Tabs.js +107 -54
  182. package/modern/TextField/TextField.js +2 -2
  183. package/modern/Toolbar/Toolbar.js +3 -7
  184. package/modern/Tooltip/Tooltip.js +185 -88
  185. package/modern/Typography/Typography.js +89 -39
  186. package/modern/index.js +1 -1
  187. package/modern/internal/SwitchBase.js +39 -11
  188. package/node/Accordion/Accordion.js +2 -2
  189. package/node/Alert/Alert.js +2 -2
  190. package/node/Avatar/Avatar.js +1 -1
  191. package/node/Backdrop/Backdrop.js +1 -1
  192. package/node/Badge/Badge.js +2 -2
  193. package/node/Breadcrumbs/BreadcrumbCollapsed.js +3 -3
  194. package/node/Button/Button.js +2 -2
  195. package/node/Checkbox/Checkbox.js +3 -1
  196. package/node/Chip/chipClasses.js +1 -1
  197. package/node/Collapse/Collapse.js +70 -39
  198. package/node/Dialog/Dialog.js +110 -66
  199. package/node/DialogActions/DialogActions.js +18 -14
  200. package/node/DialogContent/DialogContent.js +27 -17
  201. package/node/DialogContentText/DialogContentText.js +6 -5
  202. package/node/DialogTitle/DialogTitle.js +4 -4
  203. package/node/Divider/Divider.js +1 -1
  204. package/node/Drawer/Drawer.js +78 -37
  205. package/node/Fab/Fab.js +2 -2
  206. package/node/FilledInput/FilledInput.js +176 -91
  207. package/node/FormControlLabel/FormControlLabel.js +23 -5
  208. package/node/FormHelperText/FormHelperText.js +4 -4
  209. package/node/FormLabel/FormLabel.js +26 -16
  210. package/node/Grow/Grow.js +3 -1
  211. package/node/Icon/Icon.js +65 -25
  212. package/node/ImageList/ImageList.js +4 -4
  213. package/node/ImageListItem/ImageListItem.js +4 -4
  214. package/node/ImageListItemBar/ImageListItemBar.js +8 -8
  215. package/node/Input/Input.js +87 -64
  216. package/node/InputAdornment/InputAdornment.js +39 -23
  217. package/node/InputBase/InputBase.js +61 -31
  218. package/node/InputLabel/InputLabel.js +123 -61
  219. package/node/Link/Link.js +101 -56
  220. package/node/Link/getTextDecoration.js +18 -10
  221. package/node/List/List.js +24 -15
  222. package/node/ListItem/ListItem.js +5 -5
  223. package/node/ListItemAvatar/ListItemAvatar.js +4 -4
  224. package/node/ListItemButton/ListItemButton.js +6 -5
  225. package/node/ListItemIcon/ListItemIcon.js +16 -11
  226. package/node/ListItemSecondaryAction/ListItemSecondaryAction.js +4 -4
  227. package/node/ListItemText/ListItemText.js +4 -4
  228. package/node/ListSubheader/ListSubheader.js +7 -5
  229. package/node/Menu/Menu.js +8 -7
  230. package/node/MenuItem/MenuItem.js +50 -30
  231. package/node/NativeSelect/NativeSelectInput.js +80 -53
  232. package/node/OutlinedInput/NotchedOutline.js +64 -47
  233. package/node/OutlinedInput/OutlinedInput.js +101 -43
  234. package/node/Pagination/Pagination.js +5 -5
  235. package/node/PaginationItem/PaginationItem.js +65 -20
  236. package/node/Paper/Paper.js +49 -28
  237. package/node/Radio/Radio.js +6 -4
  238. package/node/Radio/RadioButtonIcon.js +2 -2
  239. package/node/Rating/Rating.js +9 -8
  240. package/node/Select/Select.js +6 -5
  241. package/node/Select/SelectInput.js +9 -7
  242. package/node/Skeleton/Skeleton.js +113 -65
  243. package/node/Slider/Slider.js +2 -2
  244. package/node/Snackbar/Snackbar.js +68 -42
  245. package/node/SnackbarContent/SnackbarContent.js +6 -6
  246. package/node/SpeedDial/SpeedDial.js +111 -53
  247. package/node/SpeedDialAction/SpeedDialAction.js +54 -28
  248. package/node/SpeedDialIcon/SpeedDialIcon.js +39 -18
  249. package/node/StepLabel/StepLabel.js +3 -3
  250. package/node/SvgIcon/SvgIcon.js +79 -24
  251. package/node/SwipeableDrawer/SwipeArea.js +41 -20
  252. package/node/Tab/Tab.js +129 -57
  253. package/node/TabScrollButton/TabScrollButton.js +29 -17
  254. package/node/Table/Table.js +4 -4
  255. package/node/TableBody/TableBody.js +4 -4
  256. package/node/TableCell/TableCell.js +4 -4
  257. package/node/TableContainer/TableContainer.js +4 -4
  258. package/node/TableFooter/TableFooter.js +4 -4
  259. package/node/TableHead/TableHead.js +4 -4
  260. package/node/TablePagination/TablePagination.js +10 -10
  261. package/node/TableRow/TableRow.js +4 -4
  262. package/node/TableSortLabel/TableSortLabel.js +5 -5
  263. package/node/Tabs/Tabs.js +113 -60
  264. package/node/TextField/TextField.js +4 -4
  265. package/node/Toolbar/Toolbar.js +5 -9
  266. package/node/Tooltip/Tooltip.js +189 -92
  267. package/node/Typography/Typography.js +90 -40
  268. package/node/index.js +1 -1
  269. package/node/internal/SwitchBase.js +41 -13
  270. package/package.json +6 -6
  271. package/umd/material-ui.development.js +2777 -1334
  272. package/umd/material-ui.production.min.js +4 -4
package/Link/Link.js CHANGED
@@ -1,22 +1,24 @@
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", "color", "component", "onBlur", "onFocus", "TypographyClasses", "underline", "variant", "sx"];
6
6
  import * as React from 'react';
7
7
  import PropTypes from 'prop-types';
8
8
  import clsx from 'clsx';
9
+ import { alpha } from '@mui/system/colorManipulator';
9
10
  import elementTypeAcceptingRef from '@mui/utils/elementTypeAcceptingRef';
10
11
  import composeClasses from '@mui/utils/composeClasses';
11
12
  import capitalize from '../utils/capitalize';
12
- import styled from '../styles/styled';
13
- import useThemeProps from '../styles/useThemeProps';
13
+ import { styled, createUseThemeProps } from '../zero-styled';
14
14
  import useIsFocusVisible from '../utils/useIsFocusVisible';
15
15
  import useForkRef from '../utils/useForkRef';
16
16
  import Typography from '../Typography';
17
17
  import linkClasses, { getLinkUtilityClass } from './linkClasses';
18
18
  import getTextDecoration, { colorTransformations } from './getTextDecoration';
19
+ import useTheme from '../styles/useTheme';
19
20
  import { jsx as _jsx } from "react/jsx-runtime";
21
+ const useThemeProps = createUseThemeProps('MuiLink');
20
22
  const useUtilityClasses = ownerState => {
21
23
  const {
22
24
  classes,
@@ -39,60 +41,92 @@ const LinkRoot = styled(Typography, {
39
41
  return [styles.root, styles[`underline${capitalize(ownerState.underline)}`], ownerState.component === 'button' && styles.button];
40
42
  }
41
43
  })(({
42
- theme,
43
- ownerState
44
+ theme
44
45
  }) => {
45
- return _extends({}, ownerState.underline === 'none' && {
46
- textDecoration: 'none'
47
- }, ownerState.underline === 'hover' && {
48
- textDecoration: 'none',
49
- '&:hover': {
50
- textDecoration: 'underline'
51
- }
52
- }, ownerState.underline === 'always' && _extends({
53
- textDecoration: 'underline'
54
- }, ownerState.color !== 'inherit' && {
55
- textDecorationColor: getTextDecoration({
56
- theme,
57
- ownerState
58
- })
59
- }, {
60
- '&:hover': {
61
- textDecorationColor: 'inherit'
62
- }
63
- }), ownerState.component === 'button' && {
64
- position: 'relative',
65
- WebkitTapHighlightColor: 'transparent',
66
- backgroundColor: 'transparent',
67
- // Reset default value
68
- // We disable the focus ring for mouse, touch and keyboard users.
69
- outline: 0,
70
- border: 0,
71
- margin: 0,
72
- // Remove the margin in Safari
73
- borderRadius: 0,
74
- padding: 0,
75
- // Remove the padding in Firefox
76
- cursor: 'pointer',
77
- userSelect: 'none',
78
- verticalAlign: 'middle',
79
- MozAppearance: 'none',
80
- // Reset
81
- WebkitAppearance: 'none',
82
- // Reset
83
- '&::-moz-focus-inner': {
84
- borderStyle: 'none' // Remove Firefox dotted outline.
85
- },
86
- [`&.${linkClasses.focusVisible}`]: {
87
- outline: 'auto'
88
- }
89
- });
46
+ return {
47
+ variants: [{
48
+ props: {
49
+ underline: 'none'
50
+ },
51
+ style: {
52
+ textDecoration: 'none'
53
+ }
54
+ }, {
55
+ props: {
56
+ underline: 'hover'
57
+ },
58
+ style: {
59
+ textDecoration: 'none',
60
+ '&:hover': {
61
+ textDecoration: 'underline'
62
+ }
63
+ }
64
+ }, {
65
+ props: {
66
+ underline: 'always'
67
+ },
68
+ style: {
69
+ textDecoration: 'underline',
70
+ '&:hover': {
71
+ textDecorationColor: 'inherit'
72
+ }
73
+ }
74
+ }, {
75
+ props: ({
76
+ underline,
77
+ ownerState
78
+ }) => underline === 'always' && ownerState.color !== 'inherit',
79
+ style: {
80
+ textDecorationColor: 'var(--Link-underlineColor)'
81
+ }
82
+ }, ...Object.entries(theme.palette).filter(([, value]) => value.main).map(([color]) => ({
83
+ props: {
84
+ underline: 'always',
85
+ color
86
+ },
87
+ style: {
88
+ '--Link-underlineColor': theme.vars ? `rgba(${theme.vars.palette[color].mainChannel} / 0.4)` : alpha(theme.palette[color].main, 0.4)
89
+ }
90
+ })), {
91
+ props: {
92
+ component: 'button'
93
+ },
94
+ style: {
95
+ position: 'relative',
96
+ WebkitTapHighlightColor: 'transparent',
97
+ backgroundColor: 'transparent',
98
+ // Reset default value
99
+ // We disable the focus ring for mouse, touch and keyboard users.
100
+ outline: 0,
101
+ border: 0,
102
+ margin: 0,
103
+ // Remove the margin in Safari
104
+ borderRadius: 0,
105
+ padding: 0,
106
+ // Remove the padding in Firefox
107
+ cursor: 'pointer',
108
+ userSelect: 'none',
109
+ verticalAlign: 'middle',
110
+ MozAppearance: 'none',
111
+ // Reset
112
+ WebkitAppearance: 'none',
113
+ // Reset
114
+ '&::-moz-focus-inner': {
115
+ borderStyle: 'none' // Remove Firefox dotted outline.
116
+ },
117
+ [`&.${linkClasses.focusVisible}`]: {
118
+ outline: 'auto'
119
+ }
120
+ }
121
+ }]
122
+ };
90
123
  });
91
124
  const Link = /*#__PURE__*/React.forwardRef(function Link(inProps, ref) {
92
125
  const props = useThemeProps({
93
126
  props: inProps,
94
127
  name: 'MuiLink'
95
128
  });
129
+ const theme = useTheme();
96
130
  const {
97
131
  className,
98
132
  color = 'primary',
@@ -148,11 +182,18 @@ const Link = /*#__PURE__*/React.forwardRef(function Link(inProps, ref) {
148
182
  onFocus: handleFocus,
149
183
  ref: handlerRef,
150
184
  ownerState: ownerState,
151
- variant: variant,
152
- sx: [...(!Object.keys(colorTransformations).includes(color) ? [{
185
+ variant: variant
186
+ }, other, {
187
+ sx: [...(colorTransformations[color] === undefined ? [{
153
188
  color
154
- }] : []), ...(Array.isArray(sx) ? sx : [sx])]
155
- }, other));
189
+ }] : []), ...(Array.isArray(sx) ? sx : [sx])],
190
+ style: _extends({}, other.style, underline === 'always' && color !== 'inherit' && {
191
+ '--Link-underlineColor': getTextDecoration({
192
+ theme,
193
+ ownerState
194
+ })
195
+ })
196
+ }));
156
197
  });
157
198
  process.env.NODE_ENV !== "production" ? Link.propTypes /* remove-proptypes */ = {
158
199
  // ┌────────────────────────────── Warning ──────────────────────────────┐
@@ -189,6 +230,10 @@ process.env.NODE_ENV !== "production" ? Link.propTypes /* remove-proptypes */ =
189
230
  * @ignore
190
231
  */
191
232
  onFocus: PropTypes.func,
233
+ /**
234
+ * @ignore
235
+ */
236
+ style: PropTypes.object,
192
237
  /**
193
238
  * The system prop that allows defining system overrides as well as additional CSS styles.
194
239
  */
@@ -1,15 +1,9 @@
1
1
  import type { Theme } from '../styles';
2
- export declare const colorTransformations: {
3
- primary: string;
4
- textPrimary: string;
5
- secondary: string;
6
- textSecondary: string;
7
- error: string;
8
- };
2
+ export declare const colorTransformations: Record<string, string | null | undefined>;
9
3
  declare const getTextDecoration: <T extends Theme>({ theme, ownerState, }: {
10
4
  theme: T;
11
5
  ownerState: {
12
6
  color: string;
13
7
  };
14
- }) => string;
8
+ }) => string | null;
15
9
  export default getTextDecoration;
@@ -1,20 +1,28 @@
1
- import { getPath } from '@mui/system';
1
+ import { getPath } from '@mui/system/style';
2
2
  import { alpha } from '@mui/system/colorManipulator';
3
+ // TODO v7: remove this transformation
3
4
  export const colorTransformations = {
4
- primary: 'primary.main',
5
5
  textPrimary: 'text.primary',
6
- secondary: 'secondary.main',
7
6
  textSecondary: 'text.secondary',
8
- error: 'error.main'
9
- };
10
- const transformDeprecatedColors = color => {
11
- return colorTransformations[color] || color;
7
+ // For main palette, the color will be applied by the styles above.
8
+ primary: null,
9
+ secondary: null,
10
+ error: null,
11
+ info: null,
12
+ success: null,
13
+ warning: null
12
14
  };
13
15
  const getTextDecoration = ({
14
16
  theme,
15
17
  ownerState
16
18
  }) => {
17
- const transformedColor = transformDeprecatedColors(ownerState.color);
19
+ let transformedColor = colorTransformations[ownerState.color];
20
+ if (transformedColor === null) {
21
+ return null;
22
+ }
23
+ if (transformedColor === undefined) {
24
+ transformedColor = ownerState.color;
25
+ }
18
26
  const color = getPath(theme, `palette.${transformedColor}`, false) || ownerState.color;
19
27
  const channelColor = getPath(theme, `palette.${transformedColor}Channel`);
20
28
  if ('vars' in theme && channelColor) {
package/List/List.js CHANGED
@@ -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 = ["children", "className", "component", "dense", "disablePadding", "subheader"];
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 ListContext from './ListContext';
13
12
  import { getListUtilityClass } from './listClasses';
14
13
  import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
14
+ const useThemeProps = createUseThemeProps('MuiList');
15
15
  const useUtilityClasses = ownerState => {
16
16
  const {
17
17
  classes,
@@ -33,19 +33,28 @@ const ListRoot = styled('ul', {
33
33
  } = props;
34
34
  return [styles.root, !ownerState.disablePadding && styles.padding, ownerState.dense && styles.dense, ownerState.subheader && styles.subheader];
35
35
  }
36
- })(({
37
- ownerState
38
- }) => _extends({
36
+ })({
39
37
  listStyle: 'none',
40
38
  margin: 0,
41
39
  padding: 0,
42
- position: 'relative'
43
- }, !ownerState.disablePadding && {
44
- paddingTop: 8,
45
- paddingBottom: 8
46
- }, ownerState.subheader && {
47
- paddingTop: 0
48
- }));
40
+ position: 'relative',
41
+ variants: [{
42
+ props: ({
43
+ ownerState
44
+ }) => !ownerState.disablePadding,
45
+ style: {
46
+ paddingTop: 8,
47
+ paddingBottom: 8
48
+ }
49
+ }, {
50
+ props: ({
51
+ ownerState
52
+ }) => ownerState.subheader,
53
+ style: {
54
+ paddingTop: 0
55
+ }
56
+ }]
57
+ });
49
58
  const List = /*#__PURE__*/React.forwardRef(function List(inProps, ref) {
50
59
  const props = useThemeProps({
51
60
  props: inProps,
@@ -12,8 +12,7 @@ import composeClasses from '@mui/utils/composeClasses';
12
12
  import elementTypeAcceptingRef from '@mui/utils/elementTypeAcceptingRef';
13
13
  import chainPropTypes from '@mui/utils/chainPropTypes';
14
14
  import { alpha } from '@mui/system/colorManipulator';
15
- import styled from '../styles/styled';
16
- import useThemeProps from '../styles/useThemeProps';
15
+ import { styled, createUseThemeProps } from '../zero-styled';
17
16
  import ButtonBase from '../ButtonBase';
18
17
  import isMuiElement from '../utils/isMuiElement';
19
18
  import useEnhancedEffect from '../utils/useEnhancedEffect';
@@ -23,6 +22,7 @@ import listItemClasses, { getListItemUtilityClass } from './listItemClasses';
23
22
  import { listItemButtonClasses } from '../ListItemButton';
24
23
  import ListItemSecondaryAction from '../ListItemSecondaryAction';
25
24
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
25
+ const useThemeProps = createUseThemeProps('MuiListItem');
26
26
  export const overridesResolver = (props, styles) => {
27
27
  const {
28
28
  ownerState
@@ -8,10 +8,10 @@ import PropTypes from 'prop-types';
8
8
  import clsx from 'clsx';
9
9
  import composeClasses from '@mui/utils/composeClasses';
10
10
  import ListContext from '../List/ListContext';
11
- import styled from '../styles/styled';
12
- import useThemeProps from '../styles/useThemeProps';
11
+ import { styled, createUseThemeProps } from '../zero-styled';
13
12
  import { getListItemAvatarUtilityClass } from './listItemAvatarClasses';
14
13
  import { jsx as _jsx } from "react/jsx-runtime";
14
+ const useThemeProps = createUseThemeProps('MuiListItemAvatar');
15
15
  const useUtilityClasses = ownerState => {
16
16
  const {
17
17
  alignItems,
@@ -8,14 +8,15 @@ import PropTypes from 'prop-types';
8
8
  import clsx from 'clsx';
9
9
  import composeClasses from '@mui/utils/composeClasses';
10
10
  import { alpha } from '@mui/system/colorManipulator';
11
- import styled, { rootShouldForwardProp } from '../styles/styled';
12
- import useThemeProps from '../styles/useThemeProps';
11
+ import { styled, createUseThemeProps } from '../zero-styled';
12
+ import rootShouldForwardProp from '../styles/rootShouldForwardProp';
13
13
  import ButtonBase from '../ButtonBase';
14
14
  import useEnhancedEffect from '../utils/useEnhancedEffect';
15
15
  import useForkRef from '../utils/useForkRef';
16
16
  import ListContext from '../List/ListContext';
17
17
  import listItemButtonClasses, { getListItemButtonUtilityClass } from './listItemButtonClasses';
18
18
  import { jsx as _jsx } from "react/jsx-runtime";
19
+ const useThemeProps = createUseThemeProps('MuiListItemButton');
19
20
  export const overridesResolver = (props, styles) => {
20
21
  const {
21
22
  ownerState
@@ -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"];
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 { getListItemIconUtilityClass } from './listItemIconClasses';
13
12
  import ListContext from '../List/ListContext';
14
13
  import { jsx as _jsx } from "react/jsx-runtime";
14
+ const useThemeProps = createUseThemeProps('MuiListItemIcon');
15
15
  const useUtilityClasses = ownerState => {
16
16
  const {
17
17
  alignItems,
@@ -32,15 +32,20 @@ const ListItemIconRoot = styled('div', {
32
32
  return [styles.root, ownerState.alignItems === 'flex-start' && styles.alignItemsFlexStart];
33
33
  }
34
34
  })(({
35
- theme,
36
- ownerState
37
- }) => _extends({
35
+ theme
36
+ }) => ({
38
37
  minWidth: 56,
39
38
  color: (theme.vars || theme).palette.action.active,
40
39
  flexShrink: 0,
41
- display: 'inline-flex'
42
- }, ownerState.alignItems === 'flex-start' && {
43
- marginTop: 8
40
+ display: 'inline-flex',
41
+ variants: [{
42
+ props: {
43
+ alignItems: 'flex-start'
44
+ },
45
+ style: {
46
+ marginTop: 8
47
+ }
48
+ }]
44
49
  }));
45
50
 
46
51
  /**
@@ -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';
10
+ import { styled, createUseThemeProps } from '../zero-styled';
12
11
  import ListContext from '../List/ListContext';
13
12
  import { getListItemSecondaryActionClassesUtilityClass } from './listItemSecondaryActionClasses';
14
13
  import { jsx as _jsx } from "react/jsx-runtime";
14
+ const useThemeProps = createUseThemeProps('MuiListItemSecondaryAction');
15
15
  const useUtilityClasses = ownerState => {
16
16
  const {
17
17
  disableGutters,
@@ -9,10 +9,10 @@ import clsx from 'clsx';
9
9
  import composeClasses from '@mui/utils/composeClasses';
10
10
  import Typography from '../Typography';
11
11
  import ListContext from '../List/ListContext';
12
- import useThemeProps from '../styles/useThemeProps';
13
- import styled from '../styles/styled';
12
+ import { styled, createUseThemeProps } from '../zero-styled';
14
13
  import listItemTextClasses, { getListItemTextUtilityClass } from './listItemTextClasses';
15
14
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
15
+ const useThemeProps = createUseThemeProps('MuiListItemText');
16
16
  const useUtilityClasses = ownerState => {
17
17
  const {
18
18
  classes,
@@ -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';
10
+ import { styled, createUseThemeProps } from '../zero-styled';
12
11
  import capitalize from '../utils/capitalize';
13
12
  import { getListSubheaderUtilityClass } from './listSubheaderClasses';
14
13
  import { jsx as _jsx } from "react/jsx-runtime";
14
+ const useThemeProps = createUseThemeProps('MuiListSubheader');
15
15
  const useUtilityClasses = ownerState => {
16
16
  const {
17
17
  classes,
@@ -114,7 +114,9 @@ const ListSubheader = /*#__PURE__*/React.forwardRef(function ListSubheader(inPro
114
114
  ownerState: ownerState
115
115
  }, other));
116
116
  });
117
- ListSubheader.muiSkipListHighlight = true;
117
+ if (ListSubheader) {
118
+ ListSubheader.muiSkipListHighlight = true;
119
+ }
118
120
  process.env.NODE_ENV !== "production" ? ListSubheader.propTypes /* remove-proptypes */ = {
119
121
  // ┌────────────────────────────── Warning ──────────────────────────────┐
120
122
  // │ These PropTypes are generated from the TypeScript type definitions. │
package/Menu/Menu.js CHANGED
@@ -14,10 +14,11 @@ import HTMLElementType from '@mui/utils/HTMLElementType';
14
14
  import { useRtl } from '@mui/system/RtlProvider';
15
15
  import MenuList from '../MenuList';
16
16
  import Popover, { PopoverPaper } from '../Popover';
17
- import styled, { rootShouldForwardProp } from '../styles/styled';
18
- import useThemeProps from '../styles/useThemeProps';
17
+ import rootShouldForwardProp from '../styles/rootShouldForwardProp';
18
+ import { styled, createUseThemeProps } from '../zero-styled';
19
19
  import { getMenuUtilityClass } from './menuClasses';
20
20
  import { jsx as _jsx } from "react/jsx-runtime";
21
+ const useThemeProps = createUseThemeProps('MuiMenu');
21
22
  const RTL_ORIGIN = {
22
23
  vertical: 'top',
23
24
  horizontal: 'right'
@@ -8,8 +8,8 @@ import PropTypes from 'prop-types';
8
8
  import clsx from 'clsx';
9
9
  import composeClasses from '@mui/utils/composeClasses';
10
10
  import { alpha } from '@mui/system/colorManipulator';
11
- import styled, { rootShouldForwardProp } from '../styles/styled';
12
- import useThemeProps from '../styles/useThemeProps';
11
+ import rootShouldForwardProp from '../styles/rootShouldForwardProp';
12
+ import { styled, createUseThemeProps } from '../zero-styled';
13
13
  import ListContext from '../List/ListContext';
14
14
  import ButtonBase from '../ButtonBase';
15
15
  import useEnhancedEffect from '../utils/useEnhancedEffect';
@@ -19,6 +19,7 @@ import { listItemIconClasses } from '../ListItemIcon';
19
19
  import { listItemTextClasses } from '../ListItemText';
20
20
  import menuItemClasses, { getMenuItemUtilityClass } from './menuItemClasses';
21
21
  import { jsx as _jsx } from "react/jsx-runtime";
22
+ const useThemeProps = createUseThemeProps('MuiMenuItem');
22
23
  export const overridesResolver = (props, styles) => {
23
24
  const {
24
25
  ownerState
@@ -46,8 +47,7 @@ const MenuItemRoot = styled(ButtonBase, {
46
47
  slot: 'Root',
47
48
  overridesResolver
48
49
  })(({
49
- theme,
50
- ownerState
50
+ theme
51
51
  }) => _extends({}, theme.typography.body1, {
52
52
  display: 'flex',
53
53
  justifyContent: 'flex-start',
@@ -58,14 +58,7 @@ const MenuItemRoot = styled(ButtonBase, {
58
58
  paddingTop: 6,
59
59
  paddingBottom: 6,
60
60
  boxSizing: 'border-box',
61
- whiteSpace: 'nowrap'
62
- }, !ownerState.disableGutters && {
63
- paddingLeft: 16,
64
- paddingRight: 16
65
- }, ownerState.divider && {
66
- borderBottom: `1px solid ${(theme.vars || theme).palette.divider}`,
67
- backgroundClip: 'padding-box'
68
- }, {
61
+ whiteSpace: 'nowrap',
69
62
  '&:hover': {
70
63
  textDecoration: 'none',
71
64
  backgroundColor: (theme.vars || theme).palette.action.hover,
@@ -109,21 +102,48 @@ const MenuItemRoot = styled(ButtonBase, {
109
102
  },
110
103
  [`& .${listItemIconClasses.root}`]: {
111
104
  minWidth: 36
112
- }
113
- }, !ownerState.dense && {
114
- [theme.breakpoints.up('sm')]: {
115
- minHeight: 'auto'
116
- }
117
- }, ownerState.dense && _extends({
118
- minHeight: 32,
119
- // https://m2.material.io/components/menus#specs > Dense
120
- paddingTop: 4,
121
- paddingBottom: 4
122
- }, theme.typography.body2, {
123
- [`& .${listItemIconClasses.root} svg`]: {
124
- fontSize: '1.25rem'
125
- }
126
- })));
105
+ },
106
+ variants: [{
107
+ props: ({
108
+ ownerState
109
+ }) => !ownerState.disableGutters,
110
+ style: {
111
+ paddingLeft: 16,
112
+ paddingRight: 16
113
+ }
114
+ }, {
115
+ props: ({
116
+ ownerState
117
+ }) => ownerState.divider,
118
+ style: {
119
+ borderBottom: `1px solid ${(theme.vars || theme).palette.divider}`,
120
+ backgroundClip: 'padding-box'
121
+ }
122
+ }, {
123
+ props: ({
124
+ ownerState
125
+ }) => !ownerState.dense,
126
+ style: {
127
+ [theme.breakpoints.up('sm')]: {
128
+ minHeight: 'auto'
129
+ }
130
+ }
131
+ }, {
132
+ props: ({
133
+ ownerState
134
+ }) => ownerState.dense,
135
+ style: _extends({
136
+ minHeight: 32,
137
+ // https://m2.material.io/components/menus#specs > Dense
138
+ paddingTop: 4,
139
+ paddingBottom: 4
140
+ }, theme.typography.body2, {
141
+ [`& .${listItemIconClasses.root} svg`]: {
142
+ fontSize: '1.25rem'
143
+ }
144
+ })
145
+ }]
146
+ }));
127
147
  const MenuItem = /*#__PURE__*/React.forwardRef(function MenuItem(inProps, ref) {
128
148
  const props = useThemeProps({
129
149
  props: inProps,