@mui/material 5.8.4 → 5.8.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 (257) 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/Alert.js +19 -11
  6. package/Alert/alertClasses.d.ts +44 -44
  7. package/AlertTitle/alertTitleClasses.d.ts +8 -8
  8. package/AppBar/AppBar.js +22 -5
  9. package/AppBar/appBarClasses.d.ts +28 -28
  10. package/Autocomplete/Autocomplete.d.ts +2 -0
  11. package/Autocomplete/Autocomplete.js +12 -8
  12. package/Autocomplete/autocompleteClasses.d.ts +54 -54
  13. package/Avatar/Avatar.js +7 -4
  14. package/Avatar/avatarClasses.d.ts +20 -20
  15. package/AvatarGroup/avatarGroupClasses.d.ts +10 -10
  16. package/Backdrop/backdropClasses.d.ts +10 -10
  17. package/Badge/Badge.js +2 -2
  18. package/Badge/badgeClasses.d.ts +56 -56
  19. package/BottomNavigation/BottomNavigation.js +0 -0
  20. package/BottomNavigation/bottomNavigationClasses.d.ts +8 -8
  21. package/BottomNavigationAction/bottomNavigationActionClasses.d.ts +14 -14
  22. package/Breadcrumbs/breadcrumbsClasses.d.ts +14 -14
  23. package/Button/buttonClasses.d.ts +100 -100
  24. package/ButtonBase/buttonBaseClasses.d.ts +12 -12
  25. package/ButtonBase/touchRippleClasses.d.ts +20 -20
  26. package/ButtonGroup/ButtonGroupContext.d.ts +18 -18
  27. package/ButtonGroup/buttonGroupClasses.d.ts +58 -58
  28. package/CHANGELOG.md +185 -4
  29. package/Card/cardClasses.d.ts +8 -8
  30. package/CardActionArea/cardActionAreaClasses.d.ts +12 -12
  31. package/CardActions/cardActionsClasses.d.ts +10 -10
  32. package/CardContent/cardContentClasses.d.ts +8 -8
  33. package/CardHeader/cardHeaderClasses.d.ts +18 -18
  34. package/CardMedia/cardMediaClasses.d.ts +12 -12
  35. package/Checkbox/checkboxClasses.d.ts +18 -18
  36. package/Chip/Chip.js +31 -30
  37. package/Chip/chipClasses.d.ts +80 -80
  38. package/CircularProgress/circularProgressClasses.d.ts +26 -26
  39. package/ClickAwayListener/index.d.ts +2 -2
  40. package/Collapse/collapseClasses.d.ts +18 -18
  41. package/Container/containerClasses.d.ts +6 -6
  42. package/Dialog/Dialog.js +11 -6
  43. package/Dialog/DialogContext.d.ts +6 -6
  44. package/Dialog/dialogClasses.d.ts +36 -36
  45. package/DialogActions/dialogActionsClasses.d.ts +10 -10
  46. package/DialogContent/dialogContentClasses.d.ts +10 -10
  47. package/DialogContentText/dialogContentTextClasses.d.ts +8 -8
  48. package/DialogTitle/dialogTitleClasses.d.ts +8 -8
  49. package/Divider/dividerClasses.d.ts +34 -34
  50. package/Drawer/drawerClasses.d.ts +30 -30
  51. package/Fab/fabClasses.d.ts +26 -26
  52. package/FilledInput/FilledInput.js +28 -13
  53. package/FilledInput/filledInputClasses.d.ts +40 -40
  54. package/FormControl/formControlClasses.d.ts +14 -14
  55. package/FormControlLabel/formControlLabelClasses.d.ts +20 -20
  56. package/FormGroup/formGroupClasses.d.ts +12 -12
  57. package/FormHelperText/formHelperTextClasses.d.ts +22 -22
  58. package/FormLabel/formLabelClasses.d.ts +22 -22
  59. package/Grid/gridClasses.d.ts +48 -48
  60. package/Icon/iconClasses.d.ts +24 -24
  61. package/IconButton/iconButtonClasses.d.ts +26 -26
  62. package/ImageList/imageListClasses.d.ts +16 -16
  63. package/ImageListItem/imageListItemClasses.d.ts +18 -18
  64. package/ImageListItemBar/imageListItemBarClasses.d.ts +30 -30
  65. package/Input/Input.js +1 -1
  66. package/Input/inputClasses.d.ts +34 -34
  67. package/InputAdornment/inputAdornmentClasses.d.ts +24 -24
  68. package/InputBase/InputBase.js +2 -2
  69. package/InputBase/inputBaseClasses.d.ts +44 -44
  70. package/InputLabel/inputLabelClasses.d.ts +32 -32
  71. package/LinearProgress/LinearProgress.js +6 -2
  72. package/LinearProgress/linearProgressClasses.d.ts +42 -42
  73. package/Link/getTextDecoration.d.ts +15 -15
  74. package/Link/linkClasses.d.ts +18 -18
  75. package/List/listClasses.d.ts +14 -14
  76. package/ListItem/listItemClasses.d.ts +30 -30
  77. package/ListItemAvatar/listItemAvatarClasses.d.ts +10 -10
  78. package/ListItemButton/listItemButtonClasses.d.ts +22 -22
  79. package/ListItemIcon/listItemIconClasses.d.ts +10 -10
  80. package/ListItemSecondaryAction/listItemSecondaryActionClasses.d.ts +10 -10
  81. package/ListItemText/listItemTextClasses.d.ts +18 -18
  82. package/ListSubheader/listSubheaderClasses.d.ts +18 -18
  83. package/Menu/menuClasses.d.ts +12 -12
  84. package/MenuItem/menuItemClasses.d.ts +20 -20
  85. package/MobileStepper/mobileStepperClasses.d.ts +22 -22
  86. package/Modal/Modal.d.ts +2 -0
  87. package/Modal/Modal.js +25 -8
  88. package/NativeSelect/nativeSelectClasses.d.ts +32 -32
  89. package/OutlinedInput/OutlinedInput.js +40 -10
  90. package/OutlinedInput/outlinedInputClasses.d.ts +36 -36
  91. package/Pagination/paginationClasses.d.ts +14 -14
  92. package/PaginationItem/paginationItemClasses.d.ts +42 -42
  93. package/Paper/paperClasses.d.ts +39 -39
  94. package/Popover/popoverClasses.d.ts +10 -10
  95. package/Popper/Popper.d.ts +29 -29
  96. package/Radio/radioClasses.d.ts +16 -16
  97. package/RadioGroup/RadioGroupContext.d.ts +11 -11
  98. package/RadioGroup/useRadioGroup.d.ts +4 -4
  99. package/Rating/ratingClasses.d.ts +40 -40
  100. package/ScopedCssBaseline/scopedCssBaselineClasses.d.ts +8 -8
  101. package/Select/Select.d.ts +1 -1
  102. package/Select/Select.js +1 -1
  103. package/Select/selectClasses.d.ts +30 -30
  104. package/Skeleton/Skeleton.js +8 -3
  105. package/Skeleton/skeletonClasses.d.ts +24 -24
  106. package/Slider/Slider.js +21 -21
  107. package/Snackbar/snackbarClasses.d.ts +20 -20
  108. package/SnackbarContent/SnackbarContent.js +3 -3
  109. package/SnackbarContent/snackbarContentClasses.d.ts +12 -12
  110. package/SpeedDial/speedDialClasses.d.ts +22 -22
  111. package/SpeedDialAction/SpeedDialAction.js +7 -7
  112. package/SpeedDialAction/speedDialActionClasses.d.ts +20 -20
  113. package/SpeedDialIcon/speedDialIconClasses.d.ts +18 -18
  114. package/Step/StepContext.d.ts +20 -20
  115. package/Step/stepClasses.d.ts +16 -16
  116. package/StepButton/stepButtonClasses.d.ts +14 -14
  117. package/StepConnector/StepConnector.js +14 -11
  118. package/StepConnector/stepConnectorClasses.d.ts +26 -26
  119. package/StepContent/StepContent.js +1 -1
  120. package/StepContent/stepContentClasses.d.ts +12 -12
  121. package/StepIcon/stepIconClasses.d.ts +16 -16
  122. package/StepLabel/stepLabelClasses.d.ts +28 -28
  123. package/Stepper/StepperContext.d.ts +18 -18
  124. package/Stepper/stepperClasses.d.ts +14 -14
  125. package/SvgIcon/svgIconClasses.d.ts +24 -24
  126. package/Switch/Switch.js +11 -11
  127. package/Switch/switchClasses.d.ts +32 -32
  128. package/Tab/tabClasses.d.ts +26 -26
  129. package/TabScrollButton/tabScrollButtonClasses.d.ts +12 -12
  130. package/Table/tableClasses.d.ts +10 -10
  131. package/TableBody/tableBodyClasses.d.ts +8 -8
  132. package/TableCell/TableCell.js +5 -5
  133. package/TableCell/tableCellClasses.d.ts +32 -32
  134. package/TableContainer/tableContainerClasses.d.ts +8 -8
  135. package/TableFooter/tableFooterClasses.d.ts +8 -8
  136. package/TableHead/tableHeadClasses.d.ts +8 -8
  137. package/TablePagination/tablePaginationClasses.d.ts +28 -28
  138. package/TableRow/tableRowClasses.d.ts +16 -16
  139. package/TableSortLabel/tableSortLabelClasses.d.ts +16 -16
  140. package/Tabs/Tabs.js +16 -18
  141. package/Tabs/tabsClasses.d.ts +32 -32
  142. package/TextField/textFieldClasses.d.ts +8 -8
  143. package/ToggleButton/toggleButtonClasses.d.ts +24 -24
  144. package/ToggleButtonGroup/toggleButtonGroupClasses.d.ts +18 -18
  145. package/Toolbar/toolbarClasses.d.ts +14 -14
  146. package/Tooltip/Tooltip.js +1 -1
  147. package/Tooltip/tooltipClasses.d.ts +30 -30
  148. package/Typography/typographyClasses.d.ts +50 -50
  149. package/className/index.d.ts +1 -1
  150. package/darkScrollbar/index.d.ts +28 -28
  151. package/index.js +1 -1
  152. package/internal/switchBaseClasses.d.ts +12 -12
  153. package/legacy/Alert/Alert.js +19 -11
  154. package/legacy/AppBar/AppBar.js +23 -4
  155. package/legacy/Autocomplete/Autocomplete.js +12 -8
  156. package/legacy/Avatar/Avatar.js +7 -4
  157. package/legacy/Badge/Badge.js +2 -2
  158. package/legacy/BottomNavigation/BottomNavigation.js +0 -0
  159. package/legacy/Chip/Chip.js +31 -30
  160. package/legacy/Dialog/Dialog.js +11 -6
  161. package/legacy/FilledInput/FilledInput.js +28 -14
  162. package/legacy/Input/Input.js +1 -1
  163. package/legacy/InputBase/InputBase.js +2 -2
  164. package/legacy/LinearProgress/LinearProgress.js +6 -2
  165. package/legacy/Modal/Modal.js +23 -7
  166. package/legacy/OutlinedInput/OutlinedInput.js +36 -9
  167. package/legacy/Select/Select.js +1 -1
  168. package/legacy/Skeleton/Skeleton.js +2 -2
  169. package/legacy/Slider/Slider.js +21 -21
  170. package/legacy/SnackbarContent/SnackbarContent.js +3 -3
  171. package/legacy/SpeedDialAction/SpeedDialAction.js +7 -7
  172. package/legacy/StepConnector/StepConnector.js +2 -1
  173. package/legacy/StepContent/StepContent.js +1 -1
  174. package/legacy/Switch/Switch.js +11 -11
  175. package/legacy/TableCell/TableCell.js +5 -5
  176. package/legacy/Tabs/Tabs.js +16 -18
  177. package/legacy/Tooltip/Tooltip.js +1 -1
  178. package/legacy/index.js +1 -1
  179. package/legacy/styles/CssVarsProvider.js +10 -8
  180. package/legacy/styles/experimental_extendTheme.js +170 -19
  181. package/locale/index.d.ts +71 -71
  182. package/modern/Alert/Alert.js +19 -11
  183. package/modern/AppBar/AppBar.js +22 -5
  184. package/modern/Autocomplete/Autocomplete.js +11 -7
  185. package/modern/Avatar/Avatar.js +7 -4
  186. package/modern/Badge/Badge.js +2 -2
  187. package/modern/BottomNavigation/BottomNavigation.js +0 -0
  188. package/modern/Chip/Chip.js +31 -30
  189. package/modern/Dialog/Dialog.js +11 -6
  190. package/modern/FilledInput/FilledInput.js +27 -12
  191. package/modern/Input/Input.js +1 -1
  192. package/modern/InputBase/InputBase.js +2 -2
  193. package/modern/LinearProgress/LinearProgress.js +6 -2
  194. package/modern/Modal/Modal.js +24 -7
  195. package/modern/OutlinedInput/OutlinedInput.js +40 -10
  196. package/modern/Select/Select.js +1 -1
  197. package/modern/Skeleton/Skeleton.js +7 -2
  198. package/modern/Slider/Slider.js +21 -21
  199. package/modern/SnackbarContent/SnackbarContent.js +3 -3
  200. package/modern/SpeedDialAction/SpeedDialAction.js +7 -7
  201. package/modern/StepConnector/StepConnector.js +14 -11
  202. package/modern/StepContent/StepContent.js +1 -1
  203. package/modern/Switch/Switch.js +11 -11
  204. package/modern/TableCell/TableCell.js +5 -5
  205. package/modern/Tabs/Tabs.js +16 -18
  206. package/modern/Tooltip/Tooltip.js +1 -1
  207. package/modern/index.js +1 -1
  208. package/modern/styles/CssVarsProvider.js +6 -6
  209. package/modern/styles/experimental_extendTheme.js +166 -20
  210. package/node/Alert/Alert.js +19 -11
  211. package/node/AppBar/AppBar.js +22 -5
  212. package/node/Autocomplete/Autocomplete.js +12 -8
  213. package/node/Avatar/Avatar.js +7 -4
  214. package/node/Badge/Badge.js +2 -2
  215. package/node/BottomNavigation/BottomNavigation.js +0 -0
  216. package/node/Chip/Chip.js +31 -30
  217. package/node/Dialog/Dialog.js +11 -6
  218. package/node/FilledInput/FilledInput.js +28 -13
  219. package/node/Input/Input.js +1 -1
  220. package/node/InputBase/InputBase.js +2 -2
  221. package/node/LinearProgress/LinearProgress.js +6 -2
  222. package/node/Modal/Modal.js +25 -8
  223. package/node/OutlinedInput/OutlinedInput.js +38 -10
  224. package/node/Select/Select.js +1 -1
  225. package/node/Skeleton/Skeleton.js +7 -2
  226. package/node/Slider/Slider.js +21 -21
  227. package/node/SnackbarContent/SnackbarContent.js +3 -3
  228. package/node/SpeedDialAction/SpeedDialAction.js +7 -7
  229. package/node/StepConnector/StepConnector.js +14 -11
  230. package/node/StepContent/StepContent.js +1 -1
  231. package/node/Switch/Switch.js +11 -11
  232. package/node/TableCell/TableCell.js +5 -5
  233. package/node/Tabs/Tabs.js +16 -18
  234. package/node/Tooltip/Tooltip.js +1 -1
  235. package/node/index.js +1 -1
  236. package/node/styles/CssVarsProvider.js +11 -6
  237. package/node/styles/experimental_extendTheme.js +167 -19
  238. package/package.json +7 -7
  239. package/styles/CssVarsProvider.d.ts +14 -28
  240. package/styles/CssVarsProvider.js +10 -6
  241. package/styles/createPalette.d.ts +0 -26
  242. package/styles/experimental_extendTheme.d.ts +238 -35
  243. package/styles/experimental_extendTheme.js +166 -20
  244. package/styles/index.d.ts +24 -1
  245. package/themeCssVarsAugmentation/index.d.ts +30 -0
  246. package/transitions/index.d.ts +1 -1
  247. package/transitions/transition.d.ts +13 -13
  248. package/transitions/utils.d.ts +23 -23
  249. package/umd/material-ui.development.js +954 -471
  250. package/umd/material-ui.production.min.js +27 -22
  251. package/useMediaQuery/useMediaQuery.d.ts +31 -31
  252. package/useTouchRipple/index.d.ts +1 -1
  253. package/useTouchRipple/useTouchRipple.d.ts +28 -28
  254. package/utils/getScrollbarSize.d.ts +2 -2
  255. package/utils/ownerDocument.d.ts +2 -2
  256. package/utils/ownerWindow.d.ts +2 -2
  257. package/utils/setRef.d.ts +2 -2
package/Switch/Switch.js CHANGED
@@ -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,
@@ -1,32 +1,32 @@
1
- export interface SwitchClasses {
2
- /** Styles applied to the root element. */
3
- root: string;
4
- /** Styles applied to the root element if `edge="start"`. */
5
- edgeStart: string;
6
- /** Styles applied to the root element if `edge="end"`. */
7
- edgeEnd: string;
8
- /** Styles applied to the internal `SwitchBase` component's `root` class. */
9
- switchBase: string;
10
- /** Styles applied to the internal SwitchBase component's root element if `color="primary"`. */
11
- colorPrimary: string;
12
- /** Styles applied to the internal SwitchBase component's root element if `color="secondary"`. */
13
- colorSecondary: string;
14
- /** Styles applied to the root element if `size="small"`. */
15
- sizeSmall: string;
16
- /** Styles applied to the root element if `size="medium"`. */
17
- sizeMedium: string;
18
- /** State class applied to the internal `SwitchBase` component's `checked` class. */
19
- checked: string;
20
- /** State class applied to the internal SwitchBase component's disabled class. */
21
- disabled: string;
22
- /** Styles applied to the internal SwitchBase component's input element. */
23
- input: string;
24
- /** Styles used to create the thumb passed to the internal `SwitchBase` component `icon` prop. */
25
- thumb: string;
26
- /** Styles applied to the track element. */
27
- track: string;
28
- }
29
- export declare type SwitchClassKey = keyof SwitchClasses;
30
- export declare function getSwitchUtilityClass(slot: string): string;
31
- declare const switchClasses: SwitchClasses;
32
- export default switchClasses;
1
+ export interface SwitchClasses {
2
+ /** Styles applied to the root element. */
3
+ root: string;
4
+ /** Styles applied to the root element if `edge="start"`. */
5
+ edgeStart: string;
6
+ /** Styles applied to the root element if `edge="end"`. */
7
+ edgeEnd: string;
8
+ /** Styles applied to the internal `SwitchBase` component's `root` class. */
9
+ switchBase: string;
10
+ /** Styles applied to the internal SwitchBase component's root element if `color="primary"`. */
11
+ colorPrimary: string;
12
+ /** Styles applied to the internal SwitchBase component's root element if `color="secondary"`. */
13
+ colorSecondary: string;
14
+ /** Styles applied to the root element if `size="small"`. */
15
+ sizeSmall: string;
16
+ /** Styles applied to the root element if `size="medium"`. */
17
+ sizeMedium: string;
18
+ /** State class applied to the internal `SwitchBase` component's `checked` class. */
19
+ checked: string;
20
+ /** State class applied to the internal SwitchBase component's disabled class. */
21
+ disabled: string;
22
+ /** Styles applied to the internal SwitchBase component's input element. */
23
+ input: string;
24
+ /** Styles used to create the thumb passed to the internal `SwitchBase` component `icon` prop. */
25
+ thumb: string;
26
+ /** Styles applied to the track element. */
27
+ track: string;
28
+ }
29
+ export declare type SwitchClassKey = keyof SwitchClasses;
30
+ export declare function getSwitchUtilityClass(slot: string): string;
31
+ declare const switchClasses: SwitchClasses;
32
+ export default switchClasses;
@@ -1,26 +1,26 @@
1
- export interface TabClasses {
2
- /** Styles applied to the root element. */
3
- root: string;
4
- /** Styles applied to the root element if both `icon` and `label` are provided. */
5
- labelIcon: string;
6
- /** Styles applied to the root element if the parent [`Tabs`](/material-ui/api/tabs/) has `textColor="inherit"`. */
7
- textColorInherit: string;
8
- /** Styles applied to the root element if the parent [`Tabs`](/material-ui/api/tabs/) has `textColor="primary"`. */
9
- textColorPrimary: string;
10
- /** Styles applied to the root element if the parent [`Tabs`](/material-ui/api/tabs/) has `textColor="secondary"`. */
11
- textColorSecondary: string;
12
- /** State class applied to the root element if `selected={true}` (controlled by the Tabs component). */
13
- selected: string;
14
- /** State class applied to the root element if `disabled={true}` (controlled by the Tabs component). */
15
- disabled: string;
16
- /** Styles applied to the root element if `fullWidth={true}` (controlled by the Tabs component). */
17
- fullWidth: string;
18
- /** Styles applied to the root element if `wrapped={true}`. */
19
- wrapped: string;
20
- /** Styles applied to the wrapper element of `icon` if `icon` is provided. */
21
- iconWrapper: string;
22
- }
23
- export declare type TabClassKey = keyof TabClasses;
24
- export declare function getTabUtilityClass(slot: string): string;
25
- declare const tabClasses: TabClasses;
26
- export default tabClasses;
1
+ export interface TabClasses {
2
+ /** Styles applied to the root element. */
3
+ root: string;
4
+ /** Styles applied to the root element if both `icon` and `label` are provided. */
5
+ labelIcon: string;
6
+ /** Styles applied to the root element if the parent [`Tabs`](/material-ui/api/tabs/) has `textColor="inherit"`. */
7
+ textColorInherit: string;
8
+ /** Styles applied to the root element if the parent [`Tabs`](/material-ui/api/tabs/) has `textColor="primary"`. */
9
+ textColorPrimary: string;
10
+ /** Styles applied to the root element if the parent [`Tabs`](/material-ui/api/tabs/) has `textColor="secondary"`. */
11
+ textColorSecondary: string;
12
+ /** State class applied to the root element if `selected={true}` (controlled by the Tabs component). */
13
+ selected: string;
14
+ /** State class applied to the root element if `disabled={true}` (controlled by the Tabs component). */
15
+ disabled: string;
16
+ /** Styles applied to the root element if `fullWidth={true}` (controlled by the Tabs component). */
17
+ fullWidth: string;
18
+ /** Styles applied to the root element if `wrapped={true}`. */
19
+ wrapped: string;
20
+ /** Styles applied to the wrapper element of `icon` if `icon` is provided. */
21
+ iconWrapper: string;
22
+ }
23
+ export declare type TabClassKey = keyof TabClasses;
24
+ export declare function getTabUtilityClass(slot: string): string;
25
+ declare const tabClasses: TabClasses;
26
+ export default tabClasses;
@@ -1,12 +1,12 @@
1
- export interface TabScrollButtonClasses {
2
- /** Styles applied to the root element. */
3
- root: string;
4
- /** Styles applied to the root element if `orientation="vertical"`. */
5
- vertical: string;
6
- /** State class applied to the root element if `disabled={true}`. */
7
- disabled: string;
8
- }
9
- export declare type TabScrollButtonClassKey = keyof TabScrollButtonClasses;
10
- export declare function getTabScrollButtonUtilityClass(slot: string): string;
11
- declare const tabScrollButtonClasses: TabScrollButtonClasses;
12
- export default tabScrollButtonClasses;
1
+ export interface TabScrollButtonClasses {
2
+ /** Styles applied to the root element. */
3
+ root: string;
4
+ /** Styles applied to the root element if `orientation="vertical"`. */
5
+ vertical: string;
6
+ /** State class applied to the root element if `disabled={true}`. */
7
+ disabled: string;
8
+ }
9
+ export declare type TabScrollButtonClassKey = keyof TabScrollButtonClasses;
10
+ export declare function getTabScrollButtonUtilityClass(slot: string): string;
11
+ declare const tabScrollButtonClasses: TabScrollButtonClasses;
12
+ export default tabScrollButtonClasses;
@@ -1,10 +1,10 @@
1
- export interface TableClasses {
2
- /** Styles applied to the root element. */
3
- root: string;
4
- /** Styles applied to the root element if `stickyHeader={true}`. */
5
- stickyHeader: string;
6
- }
7
- export declare type TableClassKey = keyof TableClasses;
8
- export declare function getTableUtilityClass(slot: string): string;
9
- declare const tableClasses: TableClasses;
10
- export default tableClasses;
1
+ export interface TableClasses {
2
+ /** Styles applied to the root element. */
3
+ root: string;
4
+ /** Styles applied to the root element if `stickyHeader={true}`. */
5
+ stickyHeader: string;
6
+ }
7
+ export declare type TableClassKey = keyof TableClasses;
8
+ export declare function getTableUtilityClass(slot: string): string;
9
+ declare const tableClasses: TableClasses;
10
+ export default tableClasses;
@@ -1,8 +1,8 @@
1
- export interface TableBodyClasses {
2
- /** Styles applied to the root element. */
3
- root: string;
4
- }
5
- export declare type TableBodyClassKey = keyof TableBodyClasses;
6
- export declare function getTableBodyUtilityClass(slot: string): string;
7
- declare const tableBodyClasses: TableBodyClasses;
8
- export default tableBodyClasses;
1
+ export interface TableBodyClasses {
2
+ /** Styles applied to the root element. */
3
+ root: string;
4
+ }
5
+ export declare type TableBodyClassKey = keyof TableBodyClasses;
6
+ export declare function getTableBodyUtilityClass(slot: string): string;
7
+ declare const tableBodyClasses: TableBodyClasses;
8
+ export default tableBodyClasses;
@@ -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
@@ -1,32 +1,32 @@
1
- export interface TableCellClasses {
2
- /** Styles applied to the root element. */
3
- root: string;
4
- /** Styles applied to the root element if `variant="head"` or `context.table.head`. */
5
- head: string;
6
- /** Styles applied to the root element if `variant="body"` or `context.table.body`. */
7
- body: string;
8
- /** Styles applied to the root element if `variant="footer"` or `context.table.footer`. */
9
- footer: string;
10
- /** Styles applied to the root element if `size="small"`. */
11
- sizeSmall: string;
12
- /** Styles applied to the root element if `size="medium"`. */
13
- sizeMedium: string;
14
- /** Styles applied to the root element if `padding="checkbox"`. */
15
- paddingCheckbox: string;
16
- /** Styles applied to the root element if `padding="none"`. */
17
- paddingNone: string;
18
- /** Styles applied to the root element if `align="left"`. */
19
- alignLeft: string;
20
- /** Styles applied to the root element if `align="center"`. */
21
- alignCenter: string;
22
- /** Styles applied to the root element if `align="right"`. */
23
- alignRight: string;
24
- /** Styles applied to the root element if `align="justify"`. */
25
- alignJustify: string;
26
- /** Styles applied to the root element if `context.table.stickyHeader={true}`. */
27
- stickyHeader: string;
28
- }
29
- export declare type TableCellClassKey = keyof TableCellClasses;
30
- export declare function getTableCellUtilityClass(slot: string): string;
31
- declare const tableCellClasses: TableCellClasses;
32
- export default tableCellClasses;
1
+ export interface TableCellClasses {
2
+ /** Styles applied to the root element. */
3
+ root: string;
4
+ /** Styles applied to the root element if `variant="head"` or `context.table.head`. */
5
+ head: string;
6
+ /** Styles applied to the root element if `variant="body"` or `context.table.body`. */
7
+ body: string;
8
+ /** Styles applied to the root element if `variant="footer"` or `context.table.footer`. */
9
+ footer: string;
10
+ /** Styles applied to the root element if `size="small"`. */
11
+ sizeSmall: string;
12
+ /** Styles applied to the root element if `size="medium"`. */
13
+ sizeMedium: string;
14
+ /** Styles applied to the root element if `padding="checkbox"`. */
15
+ paddingCheckbox: string;
16
+ /** Styles applied to the root element if `padding="none"`. */
17
+ paddingNone: string;
18
+ /** Styles applied to the root element if `align="left"`. */
19
+ alignLeft: string;
20
+ /** Styles applied to the root element if `align="center"`. */
21
+ alignCenter: string;
22
+ /** Styles applied to the root element if `align="right"`. */
23
+ alignRight: string;
24
+ /** Styles applied to the root element if `align="justify"`. */
25
+ alignJustify: string;
26
+ /** Styles applied to the root element if `context.table.stickyHeader={true}`. */
27
+ stickyHeader: string;
28
+ }
29
+ export declare type TableCellClassKey = keyof TableCellClasses;
30
+ export declare function getTableCellUtilityClass(slot: string): string;
31
+ declare const tableCellClasses: TableCellClasses;
32
+ export default tableCellClasses;
@@ -1,8 +1,8 @@
1
- export interface TableContainerClasses {
2
- /** Styles applied to the root element. */
3
- root: string;
4
- }
5
- export declare type TableContainerClassKey = keyof TableContainerClasses;
6
- export declare function getTableContainerUtilityClass(slot: string): string;
7
- declare const tableContainerClasses: TableContainerClasses;
8
- export default tableContainerClasses;
1
+ export interface TableContainerClasses {
2
+ /** Styles applied to the root element. */
3
+ root: string;
4
+ }
5
+ export declare type TableContainerClassKey = keyof TableContainerClasses;
6
+ export declare function getTableContainerUtilityClass(slot: string): string;
7
+ declare const tableContainerClasses: TableContainerClasses;
8
+ export default tableContainerClasses;
@@ -1,8 +1,8 @@
1
- export interface TableFooterClasses {
2
- /** Styles applied to the root element. */
3
- root: string;
4
- }
5
- export declare type TableFooterClassKey = keyof TableFooterClasses;
6
- export declare function getTableFooterUtilityClass(slot: string): string;
7
- declare const tableFooterClasses: TableFooterClasses;
8
- export default tableFooterClasses;
1
+ export interface TableFooterClasses {
2
+ /** Styles applied to the root element. */
3
+ root: string;
4
+ }
5
+ export declare type TableFooterClassKey = keyof TableFooterClasses;
6
+ export declare function getTableFooterUtilityClass(slot: string): string;
7
+ declare const tableFooterClasses: TableFooterClasses;
8
+ export default tableFooterClasses;
@@ -1,8 +1,8 @@
1
- export interface TableHeadClasses {
2
- /** Styles applied to the root element. */
3
- root: string;
4
- }
5
- export declare type TableHeadClassKey = keyof TableHeadClasses;
6
- export declare function getTableHeadUtilityClass(slot: string): string;
7
- declare const tableHeadClasses: TableHeadClasses;
8
- export default tableHeadClasses;
1
+ export interface TableHeadClasses {
2
+ /** Styles applied to the root element. */
3
+ root: string;
4
+ }
5
+ export declare type TableHeadClassKey = keyof TableHeadClasses;
6
+ export declare function getTableHeadUtilityClass(slot: string): string;
7
+ declare const tableHeadClasses: TableHeadClasses;
8
+ export default tableHeadClasses;
@@ -1,28 +1,28 @@
1
- export interface TablePaginationClasses {
2
- /** Styles applied to the root element. */
3
- root: string;
4
- /** Styles applied to the Toolbar component. */
5
- toolbar: string;
6
- /** Styles applied to the spacer element. */
7
- spacer: string;
8
- /** Styles applied to the select label Typography element. */
9
- selectLabel: string;
10
- /** Styles applied to the Select component `root` element. */
11
- selectRoot: string;
12
- /** Styles applied to the Select component `select` class. */
13
- select: string;
14
- /** Styles applied to the Select component `icon` class. */
15
- selectIcon: string;
16
- /** Styles applied to the Select component `root` element. */
17
- input: string;
18
- /** Styles applied to the MenuItem component. */
19
- menuItem: string;
20
- /** Styles applied to the displayed rows Typography element. */
21
- displayedRows: string;
22
- /** Styles applied to the internal `TablePaginationActions` component. */
23
- actions: string;
24
- }
25
- export declare type TablePaginationClassKey = keyof TablePaginationClasses;
26
- export declare function getTablePaginationUtilityClass(slot: string): string;
27
- declare const tablePaginationClasses: TablePaginationClasses;
28
- export default tablePaginationClasses;
1
+ export interface TablePaginationClasses {
2
+ /** Styles applied to the root element. */
3
+ root: string;
4
+ /** Styles applied to the Toolbar component. */
5
+ toolbar: string;
6
+ /** Styles applied to the spacer element. */
7
+ spacer: string;
8
+ /** Styles applied to the select label Typography element. */
9
+ selectLabel: string;
10
+ /** Styles applied to the Select component `root` element. */
11
+ selectRoot: string;
12
+ /** Styles applied to the Select component `select` class. */
13
+ select: string;
14
+ /** Styles applied to the Select component `icon` class. */
15
+ selectIcon: string;
16
+ /** Styles applied to the Select component `root` element. */
17
+ input: string;
18
+ /** Styles applied to the MenuItem component. */
19
+ menuItem: string;
20
+ /** Styles applied to the displayed rows Typography element. */
21
+ displayedRows: string;
22
+ /** Styles applied to the internal `TablePaginationActions` component. */
23
+ actions: string;
24
+ }
25
+ export declare type TablePaginationClassKey = keyof TablePaginationClasses;
26
+ export declare function getTablePaginationUtilityClass(slot: string): string;
27
+ declare const tablePaginationClasses: TablePaginationClasses;
28
+ export default tablePaginationClasses;
@@ -1,16 +1,16 @@
1
- export interface TableRowClasses {
2
- /** Styles applied to the root element. */
3
- root: string;
4
- /** State class applied to the root element if `selected={true}`. */
5
- selected: string;
6
- /** State class applied to the root element if `hover={true}`. */
7
- hover: string;
8
- /** Styles applied to the root element if table variant="head". */
9
- head: string;
10
- /** Styles applied to the root element if table variant="footer". */
11
- footer: string;
12
- }
13
- export declare type TableRowClassKey = keyof TableRowClasses;
14
- export declare function getTableRowUtilityClass(slot: string): string;
15
- declare const tableRowClasses: TableRowClasses;
16
- export default tableRowClasses;
1
+ export interface TableRowClasses {
2
+ /** Styles applied to the root element. */
3
+ root: string;
4
+ /** State class applied to the root element if `selected={true}`. */
5
+ selected: string;
6
+ /** State class applied to the root element if `hover={true}`. */
7
+ hover: string;
8
+ /** Styles applied to the root element if table variant="head". */
9
+ head: string;
10
+ /** Styles applied to the root element if table variant="footer". */
11
+ footer: string;
12
+ }
13
+ export declare type TableRowClassKey = keyof TableRowClasses;
14
+ export declare function getTableRowUtilityClass(slot: string): string;
15
+ declare const tableRowClasses: TableRowClasses;
16
+ export default tableRowClasses;
@@ -1,16 +1,16 @@
1
- export interface TableSortLabelClasses {
2
- /** Styles applied to the root element. */
3
- root: string;
4
- /** State class applied to the root element if `active={true}`. */
5
- active: string;
6
- /** Styles applied to the icon component. */
7
- icon: string;
8
- /** Styles applied to the icon component if `direction="desc"`. */
9
- iconDirectionDesc: string;
10
- /** Styles applied to the icon component if `direction="asc"`. */
11
- iconDirectionAsc: string;
12
- }
13
- export declare type TableSortLabelClassKey = keyof TableSortLabelClasses;
14
- export declare function getTableSortLabelUtilityClass(slot: string): string;
15
- declare const tableSortLabelClasses: TableSortLabelClasses;
16
- export default tableSortLabelClasses;
1
+ export interface TableSortLabelClasses {
2
+ /** Styles applied to the root element. */
3
+ root: string;
4
+ /** State class applied to the root element if `active={true}`. */
5
+ active: string;
6
+ /** Styles applied to the icon component. */
7
+ icon: string;
8
+ /** Styles applied to the icon component if `direction="desc"`. */
9
+ iconDirectionDesc: string;
10
+ /** Styles applied to the icon component if `direction="asc"`. */
11
+ iconDirectionAsc: string;
12
+ }
13
+ export declare type TableSortLabelClassKey = keyof TableSortLabelClasses;
14
+ export declare function getTableSortLabelUtilityClass(slot: string): string;
15
+ declare const tableSortLabelClasses: TableSortLabelClasses;
16
+ export default tableSortLabelClasses;
package/Tabs/Tabs.js CHANGED
@@ -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
 
@@ -551,8 +541,16 @@ const Tabs = /*#__PURE__*/React.forwardRef(function Tabs(inProps, ref) {
551
541
  });
552
542
  React.useEffect(() => {
553
543
  const handleResize = debounce(() => {
554
- updateIndicatorState();
555
- updateScrollButtonState();
544
+ // If the Tabs component is replaced by Suspense with a fallback, the last
545
+ // ResizeObserver's handler that runs because of the change in the layout is trying to
546
+ // access a dom node that is no longer there (as the fallback component is being shown instead).
547
+ // See https://github.com/mui/material-ui/issues/33276
548
+ // TODO: Add tests that will ensure the component is not failing when
549
+ // replaced by Suspense with a fallback, once React is updated to version 18
550
+ if (tabsRef.current) {
551
+ updateIndicatorState();
552
+ updateScrollButtonState();
553
+ }
556
554
  });
557
555
  const win = ownerWindow(tabsRef.current);
558
556
  win.addEventListener('resize', handleResize);