@mui/material 5.8.4 → 5.8.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (235) hide show
  1. package/Accordion/accordionClasses.d.ts +18 -18
  2. package/AccordionActions/accordionActionsClasses.d.ts +10 -10
  3. package/AccordionDetails/accordionDetailsClasses.d.ts +8 -8
  4. package/AccordionSummary/accordionSummaryClasses.d.ts +22 -22
  5. package/Alert/alertClasses.d.ts +44 -44
  6. package/AlertTitle/alertTitleClasses.d.ts +8 -8
  7. package/AppBar/AppBar.js +22 -5
  8. package/AppBar/appBarClasses.d.ts +28 -28
  9. package/Autocomplete/autocompleteClasses.d.ts +54 -54
  10. package/Avatar/Avatar.js +7 -4
  11. package/Avatar/avatarClasses.d.ts +20 -20
  12. package/AvatarGroup/avatarGroupClasses.d.ts +10 -10
  13. package/Backdrop/backdropClasses.d.ts +10 -10
  14. package/Badge/Badge.js +2 -2
  15. package/Badge/badgeClasses.d.ts +56 -56
  16. package/BottomNavigation/BottomNavigation.js +0 -0
  17. package/BottomNavigation/bottomNavigationClasses.d.ts +8 -8
  18. package/BottomNavigationAction/bottomNavigationActionClasses.d.ts +14 -14
  19. package/Breadcrumbs/breadcrumbsClasses.d.ts +14 -14
  20. package/Button/buttonClasses.d.ts +100 -100
  21. package/ButtonBase/buttonBaseClasses.d.ts +12 -12
  22. package/ButtonBase/touchRippleClasses.d.ts +20 -20
  23. package/ButtonGroup/ButtonGroupContext.d.ts +18 -18
  24. package/ButtonGroup/buttonGroupClasses.d.ts +58 -58
  25. package/CHANGELOG.md +69 -4
  26. package/Card/cardClasses.d.ts +8 -8
  27. package/CardActionArea/cardActionAreaClasses.d.ts +12 -12
  28. package/CardActions/cardActionsClasses.d.ts +10 -10
  29. package/CardContent/cardContentClasses.d.ts +8 -8
  30. package/CardHeader/cardHeaderClasses.d.ts +18 -18
  31. package/CardMedia/cardMediaClasses.d.ts +12 -12
  32. package/Checkbox/checkboxClasses.d.ts +18 -18
  33. package/Chip/Chip.js +31 -30
  34. package/Chip/chipClasses.d.ts +80 -80
  35. package/CircularProgress/circularProgressClasses.d.ts +26 -26
  36. package/ClickAwayListener/index.d.ts +2 -2
  37. package/Collapse/collapseClasses.d.ts +18 -18
  38. package/Container/containerClasses.d.ts +6 -6
  39. package/Dialog/Dialog.js +11 -6
  40. package/Dialog/DialogContext.d.ts +6 -6
  41. package/Dialog/dialogClasses.d.ts +36 -36
  42. package/DialogActions/dialogActionsClasses.d.ts +10 -10
  43. package/DialogContent/dialogContentClasses.d.ts +10 -10
  44. package/DialogContentText/dialogContentTextClasses.d.ts +8 -8
  45. package/DialogTitle/dialogTitleClasses.d.ts +8 -8
  46. package/Divider/dividerClasses.d.ts +34 -34
  47. package/Drawer/drawerClasses.d.ts +30 -30
  48. package/Fab/fabClasses.d.ts +26 -26
  49. package/FilledInput/FilledInput.js +28 -13
  50. package/FilledInput/filledInputClasses.d.ts +40 -40
  51. package/FormControl/formControlClasses.d.ts +14 -14
  52. package/FormControlLabel/formControlLabelClasses.d.ts +20 -20
  53. package/FormGroup/formGroupClasses.d.ts +12 -12
  54. package/FormHelperText/formHelperTextClasses.d.ts +22 -22
  55. package/FormLabel/formLabelClasses.d.ts +22 -22
  56. package/Grid/gridClasses.d.ts +48 -48
  57. package/Icon/iconClasses.d.ts +24 -24
  58. package/IconButton/iconButtonClasses.d.ts +26 -26
  59. package/ImageList/imageListClasses.d.ts +16 -16
  60. package/ImageListItem/imageListItemClasses.d.ts +18 -18
  61. package/ImageListItemBar/imageListItemBarClasses.d.ts +30 -30
  62. package/Input/inputClasses.d.ts +34 -34
  63. package/InputAdornment/inputAdornmentClasses.d.ts +24 -24
  64. package/InputBase/InputBase.js +2 -2
  65. package/InputBase/inputBaseClasses.d.ts +44 -44
  66. package/InputLabel/inputLabelClasses.d.ts +32 -32
  67. package/LinearProgress/LinearProgress.js +6 -2
  68. package/LinearProgress/linearProgressClasses.d.ts +42 -42
  69. package/Link/getTextDecoration.d.ts +15 -15
  70. package/Link/linkClasses.d.ts +18 -18
  71. package/List/listClasses.d.ts +14 -14
  72. package/ListItem/listItemClasses.d.ts +30 -30
  73. package/ListItemAvatar/listItemAvatarClasses.d.ts +10 -10
  74. package/ListItemButton/listItemButtonClasses.d.ts +22 -22
  75. package/ListItemIcon/listItemIconClasses.d.ts +10 -10
  76. package/ListItemSecondaryAction/listItemSecondaryActionClasses.d.ts +10 -10
  77. package/ListItemText/listItemTextClasses.d.ts +18 -18
  78. package/ListSubheader/listSubheaderClasses.d.ts +18 -18
  79. package/Menu/menuClasses.d.ts +12 -12
  80. package/MenuItem/menuItemClasses.d.ts +20 -20
  81. package/MobileStepper/mobileStepperClasses.d.ts +22 -22
  82. package/Modal/Modal.d.ts +2 -0
  83. package/Modal/Modal.js +25 -8
  84. package/NativeSelect/nativeSelectClasses.d.ts +32 -32
  85. package/OutlinedInput/OutlinedInput.js +25 -10
  86. package/OutlinedInput/outlinedInputClasses.d.ts +36 -36
  87. package/Pagination/paginationClasses.d.ts +14 -14
  88. package/PaginationItem/paginationItemClasses.d.ts +42 -42
  89. package/Paper/paperClasses.d.ts +39 -39
  90. package/Popover/popoverClasses.d.ts +10 -10
  91. package/Popper/Popper.d.ts +29 -29
  92. package/Radio/radioClasses.d.ts +16 -16
  93. package/RadioGroup/RadioGroupContext.d.ts +11 -11
  94. package/RadioGroup/useRadioGroup.d.ts +4 -4
  95. package/Rating/ratingClasses.d.ts +40 -40
  96. package/ScopedCssBaseline/scopedCssBaselineClasses.d.ts +8 -8
  97. package/Select/selectClasses.d.ts +30 -30
  98. package/Skeleton/Skeleton.js +8 -3
  99. package/Skeleton/skeletonClasses.d.ts +24 -24
  100. package/Slider/Slider.js +12 -12
  101. package/Snackbar/snackbarClasses.d.ts +20 -20
  102. package/SnackbarContent/SnackbarContent.js +3 -3
  103. package/SnackbarContent/snackbarContentClasses.d.ts +12 -12
  104. package/SpeedDial/speedDialClasses.d.ts +22 -22
  105. package/SpeedDialAction/SpeedDialAction.js +7 -7
  106. package/SpeedDialAction/speedDialActionClasses.d.ts +20 -20
  107. package/SpeedDialIcon/speedDialIconClasses.d.ts +18 -18
  108. package/Step/StepContext.d.ts +20 -20
  109. package/Step/stepClasses.d.ts +16 -16
  110. package/StepButton/stepButtonClasses.d.ts +14 -14
  111. package/StepConnector/StepConnector.js +14 -11
  112. package/StepConnector/stepConnectorClasses.d.ts +26 -26
  113. package/StepContent/StepContent.js +1 -1
  114. package/StepContent/stepContentClasses.d.ts +12 -12
  115. package/StepIcon/stepIconClasses.d.ts +16 -16
  116. package/StepLabel/stepLabelClasses.d.ts +28 -28
  117. package/Stepper/StepperContext.d.ts +18 -18
  118. package/Stepper/stepperClasses.d.ts +14 -14
  119. package/SvgIcon/svgIconClasses.d.ts +24 -24
  120. package/Switch/Switch.js +11 -11
  121. package/Switch/switchClasses.d.ts +32 -32
  122. package/Tab/tabClasses.d.ts +26 -26
  123. package/TabScrollButton/tabScrollButtonClasses.d.ts +12 -12
  124. package/Table/tableClasses.d.ts +10 -10
  125. package/TableBody/tableBodyClasses.d.ts +8 -8
  126. package/TableCell/TableCell.js +5 -5
  127. package/TableCell/tableCellClasses.d.ts +32 -32
  128. package/TableContainer/tableContainerClasses.d.ts +8 -8
  129. package/TableFooter/tableFooterClasses.d.ts +8 -8
  130. package/TableHead/tableHeadClasses.d.ts +8 -8
  131. package/TablePagination/tablePaginationClasses.d.ts +28 -28
  132. package/TableRow/tableRowClasses.d.ts +16 -16
  133. package/TableSortLabel/tableSortLabelClasses.d.ts +16 -16
  134. package/Tabs/Tabs.js +6 -16
  135. package/Tabs/tabsClasses.d.ts +32 -32
  136. package/TextField/textFieldClasses.d.ts +8 -8
  137. package/ToggleButton/toggleButtonClasses.d.ts +24 -24
  138. package/ToggleButtonGroup/toggleButtonGroupClasses.d.ts +18 -18
  139. package/Toolbar/toolbarClasses.d.ts +14 -14
  140. package/Tooltip/Tooltip.js +1 -1
  141. package/Tooltip/tooltipClasses.d.ts +30 -30
  142. package/Typography/typographyClasses.d.ts +50 -50
  143. package/className/index.d.ts +1 -1
  144. package/darkScrollbar/index.d.ts +28 -28
  145. package/index.js +1 -1
  146. package/internal/switchBaseClasses.d.ts +12 -12
  147. package/legacy/AppBar/AppBar.js +23 -4
  148. package/legacy/Avatar/Avatar.js +7 -4
  149. package/legacy/Badge/Badge.js +2 -2
  150. package/legacy/BottomNavigation/BottomNavigation.js +0 -0
  151. package/legacy/Chip/Chip.js +31 -30
  152. package/legacy/Dialog/Dialog.js +11 -6
  153. package/legacy/FilledInput/FilledInput.js +28 -14
  154. package/legacy/InputBase/InputBase.js +2 -2
  155. package/legacy/LinearProgress/LinearProgress.js +6 -2
  156. package/legacy/Modal/Modal.js +23 -7
  157. package/legacy/OutlinedInput/OutlinedInput.js +21 -9
  158. package/legacy/Skeleton/Skeleton.js +2 -2
  159. package/legacy/Slider/Slider.js +12 -12
  160. package/legacy/SnackbarContent/SnackbarContent.js +3 -3
  161. package/legacy/SpeedDialAction/SpeedDialAction.js +7 -7
  162. package/legacy/StepConnector/StepConnector.js +2 -1
  163. package/legacy/StepContent/StepContent.js +1 -1
  164. package/legacy/Switch/Switch.js +11 -11
  165. package/legacy/TableCell/TableCell.js +5 -5
  166. package/legacy/Tabs/Tabs.js +6 -16
  167. package/legacy/Tooltip/Tooltip.js +1 -1
  168. package/legacy/index.js +1 -1
  169. package/legacy/styles/CssVarsProvider.js +1 -1
  170. package/legacy/styles/experimental_extendTheme.js +113 -18
  171. package/locale/index.d.ts +71 -71
  172. package/modern/AppBar/AppBar.js +22 -5
  173. package/modern/Avatar/Avatar.js +7 -4
  174. package/modern/Badge/Badge.js +2 -2
  175. package/modern/BottomNavigation/BottomNavigation.js +0 -0
  176. package/modern/Chip/Chip.js +31 -30
  177. package/modern/Dialog/Dialog.js +11 -6
  178. package/modern/FilledInput/FilledInput.js +27 -12
  179. package/modern/InputBase/InputBase.js +2 -2
  180. package/modern/LinearProgress/LinearProgress.js +6 -2
  181. package/modern/Modal/Modal.js +24 -7
  182. package/modern/OutlinedInput/OutlinedInput.js +25 -10
  183. package/modern/Skeleton/Skeleton.js +7 -2
  184. package/modern/Slider/Slider.js +12 -12
  185. package/modern/SnackbarContent/SnackbarContent.js +3 -3
  186. package/modern/SpeedDialAction/SpeedDialAction.js +7 -7
  187. package/modern/StepConnector/StepConnector.js +14 -11
  188. package/modern/StepContent/StepContent.js +1 -1
  189. package/modern/Switch/Switch.js +11 -11
  190. package/modern/TableCell/TableCell.js +5 -5
  191. package/modern/Tabs/Tabs.js +6 -16
  192. package/modern/Tooltip/Tooltip.js +1 -1
  193. package/modern/index.js +1 -1
  194. package/modern/styles/CssVarsProvider.js +1 -1
  195. package/modern/styles/experimental_extendTheme.js +114 -18
  196. package/node/AppBar/AppBar.js +22 -5
  197. package/node/Avatar/Avatar.js +7 -4
  198. package/node/Badge/Badge.js +2 -2
  199. package/node/BottomNavigation/BottomNavigation.js +0 -0
  200. package/node/Chip/Chip.js +31 -30
  201. package/node/Dialog/Dialog.js +11 -6
  202. package/node/FilledInput/FilledInput.js +28 -13
  203. package/node/InputBase/InputBase.js +2 -2
  204. package/node/LinearProgress/LinearProgress.js +6 -2
  205. package/node/Modal/Modal.js +25 -8
  206. package/node/OutlinedInput/OutlinedInput.js +25 -10
  207. package/node/Skeleton/Skeleton.js +7 -2
  208. package/node/Slider/Slider.js +12 -12
  209. package/node/SnackbarContent/SnackbarContent.js +3 -3
  210. package/node/SpeedDialAction/SpeedDialAction.js +7 -7
  211. package/node/StepConnector/StepConnector.js +14 -11
  212. package/node/StepContent/StepContent.js +1 -1
  213. package/node/Switch/Switch.js +11 -11
  214. package/node/TableCell/TableCell.js +5 -5
  215. package/node/Tabs/Tabs.js +6 -16
  216. package/node/Tooltip/Tooltip.js +1 -1
  217. package/node/index.js +1 -1
  218. package/node/styles/CssVarsProvider.js +1 -1
  219. package/node/styles/experimental_extendTheme.js +112 -17
  220. package/package.json +4 -4
  221. package/styles/CssVarsProvider.js +1 -1
  222. package/styles/createPalette.d.ts +65 -2
  223. package/styles/experimental_extendTheme.js +114 -18
  224. package/transitions/index.d.ts +1 -1
  225. package/transitions/transition.d.ts +13 -13
  226. package/transitions/utils.d.ts +23 -23
  227. package/umd/material-ui.development.js +548 -240
  228. package/umd/material-ui.production.min.js +27 -22
  229. package/useMediaQuery/useMediaQuery.d.ts +31 -31
  230. package/useTouchRipple/index.d.ts +1 -1
  231. package/useTouchRipple/useTouchRipple.d.ts +28 -28
  232. package/utils/getScrollbarSize.d.ts +2 -2
  233. package/utils/ownerDocument.d.ts +2 -2
  234. package/utils/ownerWindow.d.ts +2 -2
  235. package/utils/setRef.d.ts +2 -2
@@ -1,6 +1,6 @@
1
1
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
2
2
  import _extends from "@babel/runtime/helpers/esm/extends";
3
- const _excluded = ["BackdropComponent", "closeAfterTransition", "children", "components", "componentsProps", "disableAutoFocus", "disableEnforceFocus", "disableEscapeKeyDown", "disablePortal", "disableRestoreFocus", "disableScrollLock", "hideBackdrop", "keepMounted"];
3
+ const _excluded = ["BackdropComponent", "BackdropProps", "closeAfterTransition", "children", "component", "components", "componentsProps", "disableAutoFocus", "disableEnforceFocus", "disableEscapeKeyDown", "disablePortal", "disableRestoreFocus", "disableScrollLock", "hideBackdrop", "keepMounted", "theme"];
4
4
  import * as React from 'react';
5
5
  import PropTypes from 'prop-types';
6
6
  import { isHostComponent } from '@mui/base';
@@ -69,8 +69,10 @@ const Modal = /*#__PURE__*/React.forwardRef(function Modal(inProps, ref) {
69
69
 
70
70
  const {
71
71
  BackdropComponent = ModalBackdrop,
72
+ BackdropProps,
72
73
  closeAfterTransition = false,
73
74
  children,
75
+ component,
74
76
  components = {},
75
77
  componentsProps = {},
76
78
  disableAutoFocus = false,
@@ -80,7 +82,9 @@ const Modal = /*#__PURE__*/React.forwardRef(function Modal(inProps, ref) {
80
82
  disableRestoreFocus = false,
81
83
  disableScrollLock = false,
82
84
  hideBackdrop = false,
83
- keepMounted = false
85
+ keepMounted = false,
86
+ // eslint-disable-next-line react/prop-types
87
+ theme
84
88
  } = props,
85
89
  other = _objectWithoutPropertiesLoose(props, _excluded);
86
90
 
@@ -102,16 +106,19 @@ const Modal = /*#__PURE__*/React.forwardRef(function Modal(inProps, ref) {
102
106
  });
103
107
 
104
108
  const classes = extendUtilityClasses(ownerState);
109
+ const Root = components.Root ?? component ?? ModalRoot;
105
110
  return /*#__PURE__*/_jsx(ModalUnstyled, _extends({
106
111
  components: _extends({
107
- Root: ModalRoot
112
+ Root,
113
+ Backdrop: BackdropComponent
108
114
  }, components),
109
115
  componentsProps: {
110
- root: _extends({}, componentsProps.root, (!components.Root || !isHostComponent(components.Root)) && {
111
- ownerState: _extends({}, componentsProps.root?.ownerState)
112
- })
116
+ root: _extends({}, componentsProps.root, !isHostComponent(Root) && {
117
+ as: component,
118
+ theme
119
+ }),
120
+ backdrop: _extends({}, BackdropProps, componentsProps.backdrop)
113
121
  },
114
- BackdropComponent: BackdropComponent,
115
122
  onTransitionEnter: () => setExited(false),
116
123
  onTransitionExited: () => setExited(true),
117
124
  ref: ref
@@ -131,6 +138,7 @@ process.env.NODE_ENV !== "production" ? Modal.propTypes
131
138
 
132
139
  /**
133
140
  * A backdrop component. This prop enables custom backdrop rendering.
141
+ * @deprecated Use `components.Backdrop` instead.
134
142
  * @default styled(Backdrop, {
135
143
  * name: 'MuiModal',
136
144
  * slot: 'Backdrop',
@@ -145,6 +153,7 @@ process.env.NODE_ENV !== "production" ? Modal.propTypes
145
153
 
146
154
  /**
147
155
  * Props applied to the [`Backdrop`](/material-ui/api/backdrop/) element.
156
+ * @deprecated Use `componentsProps.backdrop` instead.
148
157
  */
149
158
  BackdropProps: PropTypes.object,
150
159
 
@@ -164,12 +173,19 @@ process.env.NODE_ENV !== "production" ? Modal.propTypes
164
173
  */
165
174
  closeAfterTransition: PropTypes.bool,
166
175
 
176
+ /**
177
+ * The component used for the root node.
178
+ * Either a string to use a HTML element or a component.
179
+ */
180
+ component: PropTypes.elementType,
181
+
167
182
  /**
168
183
  * The components used for each slot inside the Modal.
169
184
  * Either a string to use a HTML element or a component.
170
185
  * @default {}
171
186
  */
172
187
  components: PropTypes.shape({
188
+ Backdrop: PropTypes.elementType,
173
189
  Root: PropTypes.elementType
174
190
  }),
175
191
 
@@ -178,6 +194,7 @@ process.env.NODE_ENV !== "production" ? Modal.propTypes
178
194
  * @default {}
179
195
  */
180
196
  componentsProps: PropTypes.shape({
197
+ backdrop: PropTypes.object,
181
198
  root: PropTypes.object
182
199
  }),
183
200
 
@@ -40,25 +40,25 @@ const OutlinedInputRoot = styled(InputBaseRoot, {
40
40
  const borderColor = theme.palette.mode === 'light' ? 'rgba(0, 0, 0, 0.23)' : 'rgba(255, 255, 255, 0.23)';
41
41
  return _extends({
42
42
  position: 'relative',
43
- borderRadius: theme.shape.borderRadius,
43
+ borderRadius: (theme.vars || theme).shape.borderRadius,
44
44
  [`&:hover .${outlinedInputClasses.notchedOutline}`]: {
45
- borderColor: theme.palette.text.primary
45
+ borderColor: (theme.vars || theme).palette.text.primary
46
46
  },
47
47
  // Reset on touch devices, it doesn't add specificity
48
48
  '@media (hover: none)': {
49
49
  [`&:hover .${outlinedInputClasses.notchedOutline}`]: {
50
- borderColor
50
+ borderColor: theme.vars ? `rgba(${theme.vars.palette.common.onBackgroundChannel} / 0.23)` : borderColor
51
51
  }
52
52
  },
53
53
  [`&.${outlinedInputClasses.focused} .${outlinedInputClasses.notchedOutline}`]: {
54
- borderColor: theme.palette[ownerState.color].main,
54
+ borderColor: (theme.vars || theme).palette[ownerState.color].main,
55
55
  borderWidth: 2
56
56
  },
57
57
  [`&.${outlinedInputClasses.error} .${outlinedInputClasses.notchedOutline}`]: {
58
- borderColor: theme.palette.error.main
58
+ borderColor: (theme.vars || theme).palette.error.main
59
59
  },
60
60
  [`&.${outlinedInputClasses.disabled} .${outlinedInputClasses.notchedOutline}`]: {
61
- borderColor: theme.palette.action.disabled
61
+ borderColor: (theme.vars || theme).palette.action.disabled
62
62
  }
63
63
  }, ownerState.startAdornment && {
64
64
  paddingLeft: 14
@@ -76,9 +76,12 @@ const NotchedOutlineRoot = styled(NotchedOutline, {
76
76
  overridesResolver: (props, styles) => styles.notchedOutline
77
77
  })(({
78
78
  theme
79
- }) => ({
80
- borderColor: theme.palette.mode === 'light' ? 'rgba(0, 0, 0, 0.23)' : 'rgba(255, 255, 255, 0.23)'
81
- }));
79
+ }) => {
80
+ const borderColor = theme.palette.mode === 'light' ? 'rgba(0, 0, 0, 0.23)' : 'rgba(255, 255, 255, 0.23)';
81
+ return {
82
+ borderColor: theme.vars ? `rgba(${theme.vars.palette.common.onBackgroundChannel} / 0.23)` : borderColor
83
+ };
84
+ });
82
85
  const OutlinedInputInput = styled(InputBaseInput, {
83
86
  name: 'MuiOutlinedInput',
84
87
  slot: 'Input',
@@ -87,13 +90,25 @@ const OutlinedInputInput = styled(InputBaseInput, {
87
90
  theme,
88
91
  ownerState
89
92
  }) => _extends({
90
- padding: '16.5px 14px',
93
+ padding: '16.5px 14px'
94
+ }, !theme.vars && {
91
95
  '&:-webkit-autofill': {
92
96
  WebkitBoxShadow: theme.palette.mode === 'light' ? null : '0 0 0 100px #266798 inset',
93
97
  WebkitTextFillColor: theme.palette.mode === 'light' ? null : '#fff',
94
98
  caretColor: theme.palette.mode === 'light' ? null : '#fff',
95
99
  borderRadius: 'inherit'
96
100
  }
101
+ }, theme.vars && {
102
+ '&:-webkit-autofill': {
103
+ borderRadius: 'inherit'
104
+ },
105
+ [theme.getColorSchemeSelector('dark')]: {
106
+ '&:-webkit-autofill': {
107
+ WebkitBoxShadow: '0 0 0 100px #266798 inset',
108
+ WebkitTextFillColor: '#fff',
109
+ caretColor: '#fff'
110
+ }
111
+ }
97
112
  }, ownerState.size === 'small' && {
98
113
  padding: '8.5px 14px'
99
114
  }, ownerState.multiline && {
@@ -72,7 +72,7 @@ const SkeletonRoot = styled('span', {
72
72
  return _extends({
73
73
  display: 'block',
74
74
  // Create a "on paper" color with sufficient contrast retaining the color
75
- backgroundColor: alpha(theme.palette.text.primary, theme.palette.mode === 'light' ? 0.11 : 0.13),
75
+ backgroundColor: theme.vars ? theme.vars.palette.Skeleton.bg : alpha(theme.palette.text.primary, theme.palette.mode === 'light' ? 0.11 : 0.13),
76
76
  height: '1.2em'
77
77
  }, ownerState.variant === 'text' && {
78
78
  marginTop: 0,
@@ -111,7 +111,12 @@ const SkeletonRoot = styled('span', {
111
111
 
112
112
  &::after {
113
113
  animation: ${waveKeyframe} 1.6s linear 0.5s infinite;
114
- background: linear-gradient(90deg, transparent, ${theme.palette.action.hover}, transparent);
114
+ background: linear-gradient(
115
+ 90deg,
116
+ transparent,
117
+ ${(theme.vars || theme).palette.action.hover},
118
+ transparent
119
+ );
115
120
  content: '';
116
121
  position: absolute;
117
122
  transform: translateX(-100%); /* Avoid flash during server-side hydration */
@@ -34,7 +34,7 @@ const SliderRoot = styled('span', {
34
34
  position: 'relative',
35
35
  cursor: 'pointer',
36
36
  touchAction: 'none',
37
- color: theme.palette[ownerState.color].main,
37
+ color: (theme.vars || theme).palette[ownerState.color].main,
38
38
  WebkitTapHighlightColor: 'transparent'
39
39
  }, ownerState.orientation === 'horizontal' && _extends({
40
40
  height: 4,
@@ -69,7 +69,7 @@ const SliderRoot = styled('span', {
69
69
  [`&.${sliderClasses.disabled}`]: {
70
70
  pointerEvents: 'none',
71
71
  cursor: 'default',
72
- color: theme.palette.grey[400]
72
+ color: (theme.vars || theme).palette.grey[400]
73
73
  },
74
74
  [`&.${sliderClasses.dragging}`]: {
75
75
  [`& .${sliderClasses.thumb}, & .${sliderClasses.track}`]: {
@@ -162,8 +162,8 @@ const SliderTrack = styled('span', {
162
162
  }, ownerState.track === false && {
163
163
  display: 'none'
164
164
  }, ownerState.track === 'inverted' && {
165
- backgroundColor: color,
166
- borderColor: color
165
+ backgroundColor: theme.vars ? theme.vars.palette.Slider[`${ownerState.color}Track`] : color,
166
+ borderColor: theme.vars ? theme.vars.palette.Slider[`${ownerState.color}Track`] : color
167
167
  });
168
168
  });
169
169
  process.env.NODE_ENV !== "production" ? SliderTrack.propTypes
@@ -222,7 +222,7 @@ const SliderThumb = styled('span', {
222
222
  borderRadius: 'inherit',
223
223
  width: '100%',
224
224
  height: '100%',
225
- boxShadow: theme.shadows[2]
225
+ boxShadow: (theme.vars || theme).shadows[2]
226
226
  }, ownerState.size === 'small' && {
227
227
  boxShadow: 'none'
228
228
  }),
@@ -238,13 +238,13 @@ const SliderThumb = styled('span', {
238
238
  transform: 'translate(-50%, -50%)'
239
239
  },
240
240
  [`&:hover, &.${sliderClasses.focusVisible}`]: {
241
- boxShadow: `0px 0px 0px 8px ${alpha(theme.palette[ownerState.color].main, 0.16)}`,
241
+ boxShadow: `0px 0px 0px 8px ${theme.vars ? `rgba(${theme.vars.palette[ownerState.color].mainChannel} / 0.16)` : alpha(theme.palette[ownerState.color].main, 0.16)}`,
242
242
  '@media (hover: none)': {
243
243
  boxShadow: 'none'
244
244
  }
245
245
  },
246
246
  [`&.${sliderClasses.active}`]: {
247
- boxShadow: `0px 0px 0px 14px ${alpha(theme.palette[ownerState.color].main, 0.16)}`
247
+ boxShadow: `0px 0px 0px 14px ${theme.vars ? `rgba(${theme.vars.palette[ownerState.color].mainChannel} / 0.16)` : alpha(theme.palette[ownerState.color].main, 0.16)}`
248
248
  },
249
249
  [`&.${sliderClasses.disabled}`]: {
250
250
  '&:hover': {
@@ -287,9 +287,9 @@ const SliderValueLabel = styled(SliderValueLabelUnstyled, {
287
287
  transformOrigin: 'bottom center',
288
288
  transform: 'translateY(-100%) scale(0)',
289
289
  position: 'absolute',
290
- backgroundColor: theme.palette.grey[600],
290
+ backgroundColor: (theme.vars || theme).palette.grey[600],
291
291
  borderRadius: 2,
292
- color: theme.palette.common.white,
292
+ color: (theme.vars || theme).palette.common.white,
293
293
  display: 'flex',
294
294
  alignItems: 'center',
295
295
  justifyContent: 'center',
@@ -359,7 +359,7 @@ const SliderMark = styled('span', {
359
359
  left: '50%',
360
360
  transform: 'translate(-50%, 1px)'
361
361
  }, markActive && {
362
- backgroundColor: theme.palette.background.paper,
362
+ backgroundColor: (theme.vars || theme).palette.background.paper,
363
363
  opacity: 0.8
364
364
  }));
365
365
  process.env.NODE_ENV !== "production" ? SliderMark.propTypes
@@ -386,7 +386,7 @@ const SliderMarkLabel = styled('span', {
386
386
  ownerState,
387
387
  markLabelActive
388
388
  }) => _extends({}, theme.typography.body2, {
389
- color: theme.palette.text.secondary,
389
+ color: (theme.vars || theme).palette.text.secondary,
390
390
  position: 'absolute',
391
391
  whiteSpace: 'nowrap'
392
392
  }, ownerState.orientation === 'horizontal' && {
@@ -402,7 +402,7 @@ const SliderMarkLabel = styled('span', {
402
402
  left: 44
403
403
  }
404
404
  }, markLabelActive && {
405
- color: theme.palette.text.primary
405
+ color: (theme.vars || theme).palette.text.primary
406
406
  }));
407
407
  process.env.NODE_ENV !== "production" ? SliderMarkLabel.propTypes
408
408
  /* remove-proptypes */
@@ -35,13 +35,13 @@ const SnackbarContentRoot = styled(Paper, {
35
35
  const emphasis = theme.palette.mode === 'light' ? 0.8 : 0.98;
36
36
  const backgroundColor = emphasize(theme.palette.background.default, emphasis);
37
37
  return _extends({}, theme.typography.body2, {
38
- color: theme.palette.getContrastText(backgroundColor),
39
- backgroundColor,
38
+ color: theme.vars ? theme.vars.palette.text.primary : theme.palette.getContrastText(backgroundColor),
39
+ backgroundColor: theme.vars ? theme.vars.palette.SnackbarContent.bg : backgroundColor,
40
40
  display: 'flex',
41
41
  alignItems: 'center',
42
42
  flexWrap: 'wrap',
43
43
  padding: '6px 16px',
44
- borderRadius: theme.shape.borderRadius,
44
+ borderRadius: (theme.vars || theme).shape.borderRadius,
45
45
  flexGrow: 1,
46
46
  [theme.breakpoints.up('sm')]: {
47
47
  flexGrow: 'initial',
@@ -45,10 +45,10 @@ const SpeedDialActionFab = styled(Fab, {
45
45
  ownerState
46
46
  }) => _extends({
47
47
  margin: 8,
48
- color: theme.palette.text.secondary,
49
- backgroundColor: theme.palette.background.paper,
48
+ color: (theme.vars || theme).palette.text.secondary,
49
+ backgroundColor: (theme.vars || theme).palette.background.paper,
50
50
  '&:hover': {
51
- backgroundColor: emphasize(theme.palette.background.paper, 0.15)
51
+ backgroundColor: theme.vars ? theme.vars.palette.SpeedDialAction.fabHoverBg : emphasize(theme.palette.background.paper, 0.15)
52
52
  },
53
53
  transition: `${theme.transitions.create('transform', {
54
54
  duration: theme.transitions.duration.shorter
@@ -101,10 +101,10 @@ const SpeedDialActionStaticTooltipLabel = styled('span', {
101
101
  }) => _extends({
102
102
  position: 'absolute'
103
103
  }, theme.typography.body1, {
104
- backgroundColor: theme.palette.background.paper,
105
- borderRadius: theme.shape.borderRadius,
106
- boxShadow: theme.shadows[1],
107
- color: theme.palette.text.secondary,
104
+ backgroundColor: (theme.vars || theme).palette.background.paper,
105
+ borderRadius: (theme.vars || theme).shape.borderRadius,
106
+ boxShadow: (theme.vars || theme).shadows[1],
107
+ color: (theme.vars || theme).palette.text.secondary,
108
108
  padding: '4px 16px',
109
109
  wordBreak: 'keep-all'
110
110
  }));
@@ -63,17 +63,20 @@ const StepConnectorLine = styled('span', {
63
63
  })(({
64
64
  ownerState,
65
65
  theme
66
- }) => _extends({
67
- display: 'block',
68
- borderColor: theme.palette.mode === 'light' ? theme.palette.grey[400] : theme.palette.grey[600]
69
- }, ownerState.orientation === 'horizontal' && {
70
- borderTopStyle: 'solid',
71
- borderTopWidth: 1
72
- }, ownerState.orientation === 'vertical' && {
73
- borderLeftStyle: 'solid',
74
- borderLeftWidth: 1,
75
- minHeight: 24
76
- }));
66
+ }) => {
67
+ const borderColor = theme.palette.mode === 'light' ? theme.palette.grey[400] : theme.palette.grey[600];
68
+ return _extends({
69
+ display: 'block',
70
+ borderColor: theme.vars ? theme.vars.palette.StepConnector.border : borderColor
71
+ }, ownerState.orientation === 'horizontal' && {
72
+ borderTopStyle: 'solid',
73
+ borderTopWidth: 1
74
+ }, ownerState.orientation === 'vertical' && {
75
+ borderLeftStyle: 'solid',
76
+ borderLeftWidth: 1,
77
+ minHeight: 24
78
+ });
79
+ });
77
80
  const StepConnector = /*#__PURE__*/React.forwardRef(function StepConnector(inProps, ref) {
78
81
  const props = useThemeProps({
79
82
  props: inProps,
@@ -43,7 +43,7 @@ const StepContentRoot = styled('div', {
43
43
  paddingLeft: 8 + 12,
44
44
  // margin + half icon
45
45
  paddingRight: 8,
46
- borderLeft: `1px solid ${theme.palette.mode === 'light' ? theme.palette.grey[400] : theme.palette.grey[600]}`
46
+ borderLeft: theme.vars ? `1px solid ${theme.vars.palette.StepContent.border}` : `1px solid ${theme.palette.mode === 'light' ? theme.palette.grey[400] : theme.palette.grey[600]}`
47
47
  }, ownerState.last && {
48
48
  borderLeft: 'none'
49
49
  }));
@@ -101,7 +101,7 @@ const SwitchSwitchBase = styled(SwitchBase, {
101
101
  left: 0,
102
102
  zIndex: 1,
103
103
  // Render above the focus ripple.
104
- color: theme.palette.mode === 'light' ? theme.palette.common.white : theme.palette.grey[300],
104
+ color: theme.vars ? theme.vars.palette.Switch.defaultColor : `${theme.palette.mode === 'light' ? theme.palette.common.white : theme.palette.grey[300]}`,
105
105
  transition: theme.transitions.create(['left', 'transform'], {
106
106
  duration: theme.transitions.duration.shortest
107
107
  }),
@@ -109,13 +109,13 @@ const SwitchSwitchBase = styled(SwitchBase, {
109
109
  transform: 'translateX(20px)'
110
110
  },
111
111
  [`&.${switchClasses.disabled}`]: {
112
- color: theme.palette.mode === 'light' ? theme.palette.grey[100] : theme.palette.grey[600]
112
+ color: theme.vars ? theme.vars.palette.Switch.defaultDisabledColor : `${theme.palette.mode === 'light' ? theme.palette.grey[100] : theme.palette.grey[600]}`
113
113
  },
114
114
  [`&.${switchClasses.checked} + .${switchClasses.track}`]: {
115
115
  opacity: 0.5
116
116
  },
117
117
  [`&.${switchClasses.disabled} + .${switchClasses.track}`]: {
118
- opacity: theme.palette.mode === 'light' ? 0.12 : 0.2
118
+ opacity: theme.vars ? theme.vars.opacity.switchTrackDisabled : `${theme.palette.mode === 'light' ? 0.12 : 0.2}`
119
119
  },
120
120
  [`& .${switchClasses.input}`]: {
121
121
  left: '-100%',
@@ -126,7 +126,7 @@ const SwitchSwitchBase = styled(SwitchBase, {
126
126
  ownerState
127
127
  }) => _extends({
128
128
  '&:hover': {
129
- backgroundColor: alpha(theme.palette.action.active, theme.palette.action.hoverOpacity),
129
+ backgroundColor: theme.vars ? `rgba(${theme.vars.palette.action.activeChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(theme.palette.action.active, theme.palette.action.hoverOpacity),
130
130
  // Reset on touch devices, it doesn't add specificity
131
131
  '@media (hover: none)': {
132
132
  backgroundColor: 'transparent'
@@ -134,19 +134,19 @@ const SwitchSwitchBase = styled(SwitchBase, {
134
134
  }
135
135
  }, ownerState.color !== 'default' && {
136
136
  [`&.${switchClasses.checked}`]: {
137
- color: theme.palette[ownerState.color].main,
137
+ color: (theme.vars || theme).palette[ownerState.color].main,
138
138
  '&:hover': {
139
- backgroundColor: alpha(theme.palette[ownerState.color].main, theme.palette.action.hoverOpacity),
139
+ backgroundColor: theme.vars ? `rgba(${theme.vars.palette[ownerState.color].mainChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(theme.palette[ownerState.color].main, theme.palette.action.hoverOpacity),
140
140
  '@media (hover: none)': {
141
141
  backgroundColor: 'transparent'
142
142
  }
143
143
  },
144
144
  [`&.${switchClasses.disabled}`]: {
145
- color: theme.palette.mode === 'light' ? lighten(theme.palette[ownerState.color].main, 0.62) : darken(theme.palette[ownerState.color].main, 0.55)
145
+ color: theme.vars ? theme.vars.palette.Switch[`${ownerState.color}DisabledColor`] : `${theme.palette.mode === 'light' ? lighten(theme.palette[ownerState.color].main, 0.62) : darken(theme.palette[ownerState.color].main, 0.55)}`
146
146
  }
147
147
  },
148
148
  [`&.${switchClasses.checked} + .${switchClasses.track}`]: {
149
- backgroundColor: theme.palette[ownerState.color].main
149
+ backgroundColor: (theme.vars || theme).palette[ownerState.color].main
150
150
  }
151
151
  }));
152
152
  const SwitchTrack = styled('span', {
@@ -163,8 +163,8 @@ const SwitchTrack = styled('span', {
163
163
  transition: theme.transitions.create(['opacity', 'background-color'], {
164
164
  duration: theme.transitions.duration.shortest
165
165
  }),
166
- backgroundColor: theme.palette.mode === 'light' ? theme.palette.common.black : theme.palette.common.white,
167
- opacity: theme.palette.mode === 'light' ? 0.38 : 0.3
166
+ backgroundColor: theme.vars ? theme.vars.palette.common.onBackground : `${theme.palette.mode === 'light' ? theme.palette.common.black : theme.palette.common.white}`,
167
+ opacity: theme.vars ? theme.vars.opacity.switchTrack : `${theme.palette.mode === 'light' ? 0.38 : 0.3}`
168
168
  }));
169
169
  const SwitchThumb = styled('span', {
170
170
  name: 'MuiSwitch',
@@ -173,7 +173,7 @@ const SwitchThumb = styled('span', {
173
173
  })(({
174
174
  theme
175
175
  }) => ({
176
- boxShadow: theme.shadows[1],
176
+ boxShadow: (theme.vars || theme).shadows[1],
177
177
  backgroundColor: 'currentColor',
178
178
  width: 20,
179
179
  height: 20,
@@ -46,18 +46,18 @@ const TableCellRoot = styled('td', {
46
46
  verticalAlign: 'inherit',
47
47
  // Workaround for a rendering bug with spanned columns in Chrome 62.0.
48
48
  // Removes the alpha (sets it to 1), and lightens or darkens the theme color.
49
- borderBottom: `1px solid
49
+ borderBottom: theme.vars ? `1px solid ${theme.vars.palette.TableCell.border}` : `1px solid
50
50
  ${theme.palette.mode === 'light' ? lighten(alpha(theme.palette.divider, 1), 0.88) : darken(alpha(theme.palette.divider, 1), 0.68)}`,
51
51
  textAlign: 'left',
52
52
  padding: 16
53
53
  }, ownerState.variant === 'head' && {
54
- color: theme.palette.text.primary,
54
+ color: (theme.vars || theme).palette.text.primary,
55
55
  lineHeight: theme.typography.pxToRem(24),
56
56
  fontWeight: theme.typography.fontWeightMedium
57
57
  }, ownerState.variant === 'body' && {
58
- color: theme.palette.text.primary
58
+ color: (theme.vars || theme).palette.text.primary
59
59
  }, ownerState.variant === 'footer' && {
60
- color: theme.palette.text.secondary,
60
+ color: (theme.vars || theme).palette.text.secondary,
61
61
  lineHeight: theme.typography.pxToRem(21),
62
62
  fontSize: theme.typography.pxToRem(12)
63
63
  }, ownerState.size === 'small' && {
@@ -89,7 +89,7 @@ const TableCellRoot = styled('td', {
89
89
  position: 'sticky',
90
90
  top: 0,
91
91
  zIndex: 2,
92
- backgroundColor: theme.palette.background.default
92
+ backgroundColor: (theme.vars || theme).palette.background.default
93
93
  }));
94
94
  /**
95
95
  * The component renders a `<th>` element when the parent context is a header
@@ -417,31 +417,21 @@ const Tabs = /*#__PURE__*/React.forwardRef(function Tabs(inProps, ref) {
417
417
  scroll(scrollValue);
418
418
  };
419
419
 
420
- const getFirstVisibleTab = tabs => {
421
- const containerSize = tabsRef.current[clientSize];
422
- const containerStartBound = Math.round(tabsRef.current[scrollStart]);
423
- const containerEndBound = Math.round(containerStartBound + containerSize);
424
- const offset = vertical ? 'offsetTop' : 'offsetLeft';
425
- return tabs.find(tab => {
426
- const centerPoint = tab[offset] + tab[clientSize] / 2;
427
- return centerPoint >= containerStartBound && centerPoint <= containerEndBound;
428
- });
429
- };
430
-
431
420
  const getScrollSize = () => {
432
421
  const containerSize = tabsRef.current[clientSize];
433
422
  let totalSize = 0;
434
423
  const children = Array.from(tabListRef.current.children);
435
- const firstVisibleTab = getFirstVisibleTab(children);
436
-
437
- if (firstVisibleTab && firstVisibleTab[clientSize] > containerSize) {
438
- return firstVisibleTab[clientSize];
439
- }
440
424
 
441
425
  for (let i = 0; i < children.length; i += 1) {
442
426
  const tab = children[i];
443
427
 
444
428
  if (totalSize + tab[clientSize] > containerSize) {
429
+ // If the first item is longer than the container size, then only scroll
430
+ // by the container size.
431
+ if (i === 0) {
432
+ totalSize = containerSize;
433
+ }
434
+
445
435
  break;
446
436
  }
447
437
 
@@ -117,7 +117,7 @@ const TooltipTooltip = styled('div', {
117
117
  theme,
118
118
  ownerState
119
119
  }) => _extends({
120
- backgroundColor: theme.vars ? `rgba(${theme.vars.palette.grey.darkChannel} / 0.92)` : alpha(theme.palette.grey[700], 0.92),
120
+ backgroundColor: theme.vars ? theme.vars.palette.Tooltip.bg : alpha(theme.palette.grey[700], 0.92),
121
121
  borderRadius: (theme.vars || theme).shape.borderRadius,
122
122
  color: (theme.vars || theme).palette.common.white,
123
123
  fontFamily: theme.typography.fontFamily,
package/modern/index.js CHANGED
@@ -1,4 +1,4 @@
1
- /** @license MUI v5.8.4
1
+ /** @license MUI v5.8.5
2
2
  *
3
3
  * This source code is licensed under the MIT license found in the
4
4
  * LICENSE file in the root directory of this source tree.
@@ -18,7 +18,7 @@ const {
18
18
  light: 'light',
19
19
  dark: 'dark'
20
20
  },
21
- prefix: 'md',
21
+ prefix: 'mui',
22
22
  resolveTheme: theme => {
23
23
  const newTheme = _extends({}, theme, {
24
24
  typography: createTypography(theme.palette, theme.typography)