@mui/material 5.2.8 → 5.4.1

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 (161) hide show
  1. package/Autocomplete/Autocomplete.d.ts +7 -0
  2. package/Autocomplete/Autocomplete.js +20 -10
  3. package/AvatarGroup/AvatarGroup.d.ts +10 -0
  4. package/AvatarGroup/AvatarGroup.js +19 -7
  5. package/Badge/Badge.js +5 -8
  6. package/Breadcrumbs/BreadcrumbCollapsed.js +1 -3
  7. package/Button/buttonClasses.d.ts +1 -1
  8. package/ButtonBase/ButtonBase.d.ts +5 -1
  9. package/ButtonBase/ButtonBase.js +15 -2
  10. package/ButtonBase/TouchRipple.js +1 -2
  11. package/CHANGELOG.md +308 -28
  12. package/Fab/Fab.d.ts +4 -1
  13. package/Fab/Fab.js +8 -20
  14. package/Fab/fabClasses.js +1 -1
  15. package/FormControlLabel/FormControlLabel.js +11 -3
  16. package/FormControlLabel/formControlLabelClasses.d.ts +2 -0
  17. package/FormControlLabel/formControlLabelClasses.js +1 -1
  18. package/FormGroup/FormGroup.js +14 -3
  19. package/FormGroup/formGroupClasses.d.ts +2 -0
  20. package/FormGroup/formGroupClasses.js +1 -1
  21. package/FormHelperText/FormHelperText.js +7 -9
  22. package/Grid/Grid.js +2 -4
  23. package/ImageList/ImageList.js +3 -1
  24. package/InputAdornment/InputAdornment.js +6 -9
  25. package/Modal/Modal.js +1 -1
  26. package/OutlinedInput/NotchedOutline.js +14 -16
  27. package/OutlinedInput/OutlinedInput.js +1 -1
  28. package/README.md +9 -9
  29. package/Radio/RadioButtonIcon.js +2 -6
  30. package/Rating/Rating.js +1 -1
  31. package/Select/Select.d.ts +9 -1
  32. package/Select/Select.js +10 -1
  33. package/Select/SelectInput.d.ts +1 -0
  34. package/Select/SelectInput.js +37 -14
  35. package/Slider/Slider.js +112 -55
  36. package/Snackbar/Snackbar.js +4 -1
  37. package/SvgIcon/SvgIcon.js +9 -9
  38. package/SwipeableDrawer/SwipeArea.js +1 -3
  39. package/TextField/TextField.js +1 -1
  40. package/index.d.ts +8 -3
  41. package/index.js +6 -3
  42. package/internal/SwitchBase.js +2 -6
  43. package/legacy/Autocomplete/Autocomplete.js +21 -10
  44. package/legacy/AvatarGroup/AvatarGroup.js +20 -7
  45. package/legacy/Badge/Badge.js +6 -8
  46. package/legacy/Breadcrumbs/BreadcrumbCollapsed.js +1 -3
  47. package/legacy/ButtonBase/ButtonBase.js +15 -2
  48. package/legacy/ButtonBase/TouchRipple.js +1 -2
  49. package/legacy/Fab/Fab.js +8 -20
  50. package/legacy/Fab/fabClasses.js +1 -1
  51. package/legacy/FormControlLabel/FormControlLabel.js +11 -3
  52. package/legacy/FormControlLabel/formControlLabelClasses.js +1 -1
  53. package/legacy/FormGroup/FormGroup.js +14 -3
  54. package/legacy/FormGroup/formGroupClasses.js +1 -1
  55. package/legacy/FormHelperText/FormHelperText.js +7 -9
  56. package/legacy/Grid/Grid.js +2 -4
  57. package/legacy/ImageList/ImageList.js +3 -1
  58. package/legacy/InputAdornment/InputAdornment.js +6 -9
  59. package/legacy/Modal/Modal.js +1 -1
  60. package/legacy/OutlinedInput/NotchedOutline.js +14 -16
  61. package/legacy/OutlinedInput/OutlinedInput.js +1 -1
  62. package/legacy/Radio/RadioButtonIcon.js +2 -6
  63. package/legacy/Rating/Rating.js +1 -1
  64. package/legacy/Select/Select.js +11 -1
  65. package/legacy/Select/SelectInput.js +41 -17
  66. package/legacy/Slider/Slider.js +113 -56
  67. package/legacy/Snackbar/Snackbar.js +4 -1
  68. package/legacy/SvgIcon/SvgIcon.js +9 -9
  69. package/legacy/SwipeableDrawer/SwipeArea.js +1 -3
  70. package/legacy/TextField/TextField.js +1 -1
  71. package/legacy/index.js +6 -3
  72. package/legacy/internal/SwitchBase.js +2 -6
  73. package/legacy/styles/makeStyles.js +1 -1
  74. package/legacy/styles/withStyles.js +1 -1
  75. package/legacy/styles/withTheme.js +1 -1
  76. package/legacy/useMediaQuery/useMediaQuery.js +87 -32
  77. package/legacy/utils/shouldSpreadAdditionalProps.js +7 -0
  78. package/modern/Autocomplete/Autocomplete.js +19 -9
  79. package/modern/AvatarGroup/AvatarGroup.js +17 -7
  80. package/modern/Badge/Badge.js +5 -8
  81. package/modern/Breadcrumbs/BreadcrumbCollapsed.js +1 -3
  82. package/modern/ButtonBase/ButtonBase.js +15 -2
  83. package/modern/ButtonBase/TouchRipple.js +1 -2
  84. package/modern/Fab/Fab.js +8 -20
  85. package/modern/Fab/fabClasses.js +1 -1
  86. package/modern/FormControlLabel/FormControlLabel.js +11 -3
  87. package/modern/FormControlLabel/formControlLabelClasses.js +1 -1
  88. package/modern/FormGroup/FormGroup.js +14 -3
  89. package/modern/FormGroup/formGroupClasses.js +1 -1
  90. package/modern/FormHelperText/FormHelperText.js +7 -9
  91. package/modern/Grid/Grid.js +2 -4
  92. package/modern/ImageList/ImageList.js +3 -1
  93. package/modern/InputAdornment/InputAdornment.js +6 -9
  94. package/modern/Modal/Modal.js +1 -1
  95. package/modern/OutlinedInput/NotchedOutline.js +14 -16
  96. package/modern/OutlinedInput/OutlinedInput.js +1 -1
  97. package/modern/Radio/RadioButtonIcon.js +2 -6
  98. package/modern/Rating/Rating.js +1 -1
  99. package/modern/Select/Select.js +10 -1
  100. package/modern/Select/SelectInput.js +37 -14
  101. package/modern/Slider/Slider.js +112 -55
  102. package/modern/Snackbar/Snackbar.js +4 -1
  103. package/modern/SvgIcon/SvgIcon.js +8 -8
  104. package/modern/SwipeableDrawer/SwipeArea.js +1 -3
  105. package/modern/TextField/TextField.js +1 -1
  106. package/modern/index.js +6 -3
  107. package/modern/internal/SwitchBase.js +2 -6
  108. package/modern/styles/makeStyles.js +1 -1
  109. package/modern/styles/withStyles.js +1 -1
  110. package/modern/styles/withTheme.js +1 -1
  111. package/modern/useMediaQuery/useMediaQuery.js +69 -27
  112. package/modern/utils/shouldSpreadAdditionalProps.js +7 -0
  113. package/node/Autocomplete/Autocomplete.js +20 -10
  114. package/node/AvatarGroup/AvatarGroup.js +19 -7
  115. package/node/Badge/Badge.js +7 -9
  116. package/node/Breadcrumbs/BreadcrumbCollapsed.js +1 -3
  117. package/node/ButtonBase/ButtonBase.js +15 -2
  118. package/node/ButtonBase/TouchRipple.js +1 -2
  119. package/node/Fab/Fab.js +8 -20
  120. package/node/Fab/fabClasses.js +1 -1
  121. package/node/FormControlLabel/FormControlLabel.js +12 -3
  122. package/node/FormControlLabel/formControlLabelClasses.js +1 -1
  123. package/node/FormGroup/FormGroup.js +15 -3
  124. package/node/FormGroup/formGroupClasses.js +1 -1
  125. package/node/FormHelperText/FormHelperText.js +6 -9
  126. package/node/Grid/Grid.js +2 -4
  127. package/node/ImageList/ImageList.js +3 -1
  128. package/node/InputAdornment/InputAdornment.js +5 -9
  129. package/node/Modal/Modal.js +1 -1
  130. package/node/OutlinedInput/NotchedOutline.js +12 -16
  131. package/node/OutlinedInput/OutlinedInput.js +1 -1
  132. package/node/Radio/RadioButtonIcon.js +2 -6
  133. package/node/Rating/Rating.js +1 -1
  134. package/node/Select/Select.js +10 -1
  135. package/node/Select/SelectInput.js +36 -14
  136. package/node/Slider/Slider.js +98 -47
  137. package/node/Snackbar/Snackbar.js +4 -1
  138. package/node/SvgIcon/SvgIcon.js +9 -9
  139. package/node/SwipeableDrawer/SwipeArea.js +1 -3
  140. package/node/TextField/TextField.js +1 -1
  141. package/node/index.js +41 -16
  142. package/node/internal/SwitchBase.js +2 -6
  143. package/node/styles/makeStyles.js +1 -1
  144. package/node/styles/withStyles.js +1 -1
  145. package/node/styles/withTheme.js +1 -1
  146. package/node/useMediaQuery/useMediaQuery.js +69 -27
  147. package/node/utils/shouldSpreadAdditionalProps.js +15 -0
  148. package/package.json +10 -10
  149. package/styles/ThemeProvider.d.ts +1 -1
  150. package/styles/components.d.ts +452 -113
  151. package/styles/createTheme.d.ts +12 -6
  152. package/styles/makeStyles.js +1 -1
  153. package/styles/overrides.d.ts +16 -4
  154. package/styles/useThemeProps.d.ts +2 -1
  155. package/styles/withStyles.js +1 -1
  156. package/styles/withTheme.js +1 -1
  157. package/umd/material-ui.development.js +5099 -7092
  158. package/umd/material-ui.production.min.js +21 -21
  159. package/useMediaQuery/useMediaQuery.d.ts +4 -0
  160. package/useMediaQuery/useMediaQuery.js +69 -27
  161. package/utils/shouldSpreadAdditionalProps.js +7 -0
@@ -9,7 +9,7 @@ import { Components } from './components';
9
9
 
10
10
  export interface ThemeOptions extends Omit<SystemThemeOptions, 'zIndex'> {
11
11
  mixins?: MixinsOptions;
12
- components?: Components;
12
+ components?: Components<BaseTheme>;
13
13
  palette?: PaletteOptions;
14
14
  shadows?: Shadows;
15
15
  transitions?: TransitionsOptions;
@@ -18,12 +18,8 @@ export interface ThemeOptions extends Omit<SystemThemeOptions, 'zIndex'> {
18
18
  unstable_strictMode?: boolean;
19
19
  }
20
20
 
21
- /**
22
- * Our [TypeScript guide on theme customization](https://mui.com/guides/typescript/#customization-of-theme) explains in detail how you would add custom properties.
23
- */
24
- export interface Theme extends SystemTheme {
21
+ interface BaseTheme extends SystemTheme {
25
22
  mixins: Mixins;
26
- components?: Components;
27
23
  palette: Palette;
28
24
  shadows: Shadows;
29
25
  transitions: Transitions;
@@ -32,6 +28,16 @@ export interface Theme extends SystemTheme {
32
28
  unstable_strictMode?: boolean;
33
29
  }
34
30
 
31
+ // shut off automatic exporting for the `BaseTheme` above
32
+ export {};
33
+
34
+ /**
35
+ * Our [TypeScript guide on theme customization](https://mui.com/guides/typescript/#customization-of-theme) explains in detail how you would add custom properties.
36
+ */
37
+ export interface Theme extends BaseTheme {
38
+ components?: Components<BaseTheme>;
39
+ }
40
+
35
41
  /**
36
42
  * @deprecated
37
43
  * Use `import { createTheme } from '@mui/material/styles'` instead.
@@ -2,5 +2,5 @@ import { formatMuiErrorMessage as _formatMuiErrorMessage } from "@mui/utils";
2
2
  export default function makeStyles() {
3
3
  throw new Error(process.env.NODE_ENV !== "production" ? `MUI: makeStyles is not longer exported from @mui/material/styles.
4
4
  You have to import it from @mui/styles.
5
- See https://mui.com/r/migration-v4/#material-ui-core-styles for more details.` : _formatMuiErrorMessage(14));
5
+ See https://mui.com/r/migration-v4/#mui-material-styles for more details.` : _formatMuiErrorMessage(14));
6
6
  }
@@ -1,4 +1,5 @@
1
1
  import { CSSObject, CSSInterpolation } from '@mui/system';
2
+ import { ComponentsPropsList } from './props';
2
3
  import { AccordionActionsClassKey } from '../AccordionActions';
3
4
  import { AccordionClassKey } from '../Accordion';
4
5
  import { AccordionDetailsClassKey } from '../AccordionDetails';
@@ -111,14 +112,25 @@ import { TooltipClassKey } from '../Tooltip';
111
112
  import { TouchRippleClassKey } from '../ButtonBase/TouchRipple';
112
113
  import { TypographyClassKey } from '../Typography';
113
114
 
114
- export type OverridesStyleRules<ClassKey extends string = string> = Record<
115
+ export type OverridesStyleRules<
116
+ ClassKey extends string = string,
117
+ ComponentName = keyof ComponentsPropsList,
118
+ Theme = unknown,
119
+ > = Record<
115
120
  ClassKey,
116
- CSSInterpolation
121
+ | CSSInterpolation
122
+ | ((
123
+ // Record<string, unknown> is for other props that the slot receive internally
124
+ // Documenting all ownerStates could be a huge work, let's wait until we have a real needs from developers.
125
+ props: (ComponentName extends keyof ComponentsPropsList
126
+ ? { ownerState: ComponentsPropsList[ComponentName] & Record<string, unknown> }
127
+ : {}) & { theme: Theme } & Record<string, unknown>,
128
+ ) => CSSInterpolation)
117
129
  >;
118
130
 
119
- export type ComponentsOverrides = {
131
+ export type ComponentsOverrides<Theme = unknown> = {
120
132
  [Name in keyof ComponentNameToClassKey]?: Partial<
121
- OverridesStyleRules<ComponentNameToClassKey[Name]>
133
+ OverridesStyleRules<ComponentNameToClassKey[Name], Name, Theme>
122
134
  >;
123
135
  } & {
124
136
  MuiCssBaseline?: CSSObject | string;
@@ -1,7 +1,8 @@
1
+ import { Theme } from './createTheme';
1
2
  import { Components } from './components';
2
3
 
3
4
  export interface ThemeWithProps {
4
- components?: Components;
5
+ components?: Components<Omit<Theme, 'components'>>;
5
6
  }
6
7
 
7
8
  export type ThemedProps<Theme, Name extends keyof any> = Theme extends {
@@ -2,5 +2,5 @@ import { formatMuiErrorMessage as _formatMuiErrorMessage } from "@mui/utils";
2
2
  export default function withStyles() {
3
3
  throw new Error(process.env.NODE_ENV !== "production" ? `MUI: withStyles is not longer exported from @mui/material/styles.
4
4
  You have to import it from @mui/styles.
5
- See https://mui.com/r/migration-v4/#material-ui-core-styles for more details.` : _formatMuiErrorMessage(15));
5
+ See https://mui.com/r/migration-v4/#mui-material-styles for more details.` : _formatMuiErrorMessage(15));
6
6
  }
@@ -2,5 +2,5 @@ import { formatMuiErrorMessage as _formatMuiErrorMessage } from "@mui/utils";
2
2
  export default function withTheme() {
3
3
  throw new Error(process.env.NODE_ENV !== "production" ? `MUI: withTheme is not longer exported from @mui/material/styles.
4
4
  You have to import it from @mui/styles.
5
- See https://mui.com/r/migration-v4/#material-ui-core-styles for more details.` : _formatMuiErrorMessage(16));
5
+ See https://mui.com/r/migration-v4/#mui-material-styles for more details.` : _formatMuiErrorMessage(16));
6
6
  }