@mui/material 5.8.3 → 5.8.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (158) hide show
  1. package/Alert/Alert.js +19 -11
  2. package/AppBar/AppBar.js +22 -5
  3. package/Autocomplete/autocompleteClasses.d.ts +1 -1
  4. package/Avatar/Avatar.js +7 -4
  5. package/Badge/Badge.js +2 -2
  6. package/Button/buttonClasses.d.ts +24 -0
  7. package/Button/buttonClasses.js +1 -1
  8. package/CHANGELOG.md +224 -14
  9. package/Chip/Chip.js +31 -30
  10. package/Dialog/Dialog.js +11 -6
  11. package/FilledInput/FilledInput.js +28 -13
  12. package/Grid/Grid.d.ts +73 -52
  13. package/Grid/Grid.js +94 -40
  14. package/Grow/Grow.js +1 -2
  15. package/Hidden/withWidth.js +0 -2
  16. package/Input/Input.js +1 -1
  17. package/InputBase/InputBase.js +2 -2
  18. package/LinearProgress/LinearProgress.js +6 -2
  19. package/Link/Link.js +10 -17
  20. package/Link/getTextDecoration.d.ts +15 -0
  21. package/Link/getTextDecoration.js +29 -0
  22. package/Modal/Modal.d.ts +2 -0
  23. package/Modal/Modal.js +25 -8
  24. package/OutlinedInput/OutlinedInput.js +40 -10
  25. package/Popover/Popover.d.ts +7 -0
  26. package/Popover/index.js +1 -0
  27. package/README.md +6 -9
  28. package/Skeleton/Skeleton.js +8 -3
  29. package/Slider/Slider.d.ts +3 -1
  30. package/Slider/Slider.js +24 -22
  31. package/Snackbar/Snackbar.js +6 -20
  32. package/SnackbarContent/SnackbarContent.js +3 -3
  33. package/SpeedDialAction/SpeedDialAction.js +7 -7
  34. package/Stack/Stack.js +1 -1
  35. package/StepConnector/StepConnector.js +14 -11
  36. package/StepContent/StepContent.js +1 -1
  37. package/StepIcon/StepIcon.js +2 -1
  38. package/Switch/Switch.js +11 -11
  39. package/Tab/Tab.d.ts +0 -1
  40. package/TableCell/TableCell.js +5 -5
  41. package/Tabs/Tabs.js +16 -2
  42. package/Tooltip/Tooltip.js +1 -1
  43. package/index.js +1 -1
  44. package/legacy/Alert/Alert.js +19 -11
  45. package/legacy/AppBar/AppBar.js +23 -4
  46. package/legacy/Avatar/Avatar.js +7 -4
  47. package/legacy/Badge/Badge.js +2 -2
  48. package/legacy/Button/buttonClasses.js +1 -1
  49. package/legacy/Chip/Chip.js +31 -30
  50. package/legacy/Dialog/Dialog.js +11 -6
  51. package/legacy/FilledInput/FilledInput.js +28 -14
  52. package/legacy/Grid/Grid.js +97 -48
  53. package/legacy/Grow/Grow.js +1 -2
  54. package/legacy/Hidden/withWidth.js +0 -2
  55. package/legacy/Input/Input.js +1 -1
  56. package/legacy/InputBase/InputBase.js +2 -2
  57. package/legacy/LinearProgress/LinearProgress.js +6 -2
  58. package/legacy/Link/Link.js +10 -17
  59. package/legacy/Link/getTextDecoration.js +28 -0
  60. package/legacy/Modal/Modal.js +23 -7
  61. package/legacy/OutlinedInput/OutlinedInput.js +36 -9
  62. package/legacy/Popover/index.js +1 -0
  63. package/legacy/Skeleton/Skeleton.js +2 -2
  64. package/legacy/Slider/Slider.js +24 -22
  65. package/legacy/Snackbar/Snackbar.js +6 -21
  66. package/legacy/SnackbarContent/SnackbarContent.js +3 -3
  67. package/legacy/SpeedDialAction/SpeedDialAction.js +7 -7
  68. package/legacy/Stack/Stack.js +2 -1
  69. package/legacy/StepConnector/StepConnector.js +2 -1
  70. package/legacy/StepContent/StepContent.js +1 -1
  71. package/legacy/StepIcon/StepIcon.js +2 -1
  72. package/legacy/Switch/Switch.js +11 -11
  73. package/legacy/TableCell/TableCell.js +5 -5
  74. package/legacy/Tabs/Tabs.js +16 -2
  75. package/legacy/Tooltip/Tooltip.js +1 -1
  76. package/legacy/index.js +1 -1
  77. package/legacy/styles/CssVarsProvider.js +4 -2
  78. package/legacy/styles/experimental_extendTheme.js +153 -18
  79. package/modern/Alert/Alert.js +19 -11
  80. package/modern/AppBar/AppBar.js +22 -5
  81. package/modern/Avatar/Avatar.js +7 -4
  82. package/modern/Badge/Badge.js +2 -2
  83. package/modern/Button/buttonClasses.js +1 -1
  84. package/modern/Chip/Chip.js +31 -30
  85. package/modern/Dialog/Dialog.js +11 -6
  86. package/modern/FilledInput/FilledInput.js +27 -12
  87. package/modern/Grid/Grid.js +94 -40
  88. package/modern/Grow/Grow.js +1 -2
  89. package/modern/Hidden/withWidth.js +0 -2
  90. package/modern/Input/Input.js +1 -1
  91. package/modern/InputBase/InputBase.js +2 -2
  92. package/modern/LinearProgress/LinearProgress.js +6 -2
  93. package/modern/Link/Link.js +10 -17
  94. package/modern/Link/getTextDecoration.js +29 -0
  95. package/modern/Modal/Modal.js +24 -7
  96. package/modern/OutlinedInput/OutlinedInput.js +40 -10
  97. package/modern/Popover/index.js +1 -0
  98. package/modern/Skeleton/Skeleton.js +7 -2
  99. package/modern/Slider/Slider.js +24 -22
  100. package/modern/Snackbar/Snackbar.js +6 -20
  101. package/modern/SnackbarContent/SnackbarContent.js +3 -3
  102. package/modern/SpeedDialAction/SpeedDialAction.js +7 -7
  103. package/modern/Stack/Stack.js +1 -1
  104. package/modern/StepConnector/StepConnector.js +14 -11
  105. package/modern/StepContent/StepContent.js +1 -1
  106. package/modern/StepIcon/StepIcon.js +2 -1
  107. package/modern/Switch/Switch.js +11 -11
  108. package/modern/TableCell/TableCell.js +5 -5
  109. package/modern/Tabs/Tabs.js +16 -2
  110. package/modern/Tooltip/Tooltip.js +1 -1
  111. package/modern/index.js +1 -1
  112. package/modern/styles/CssVarsProvider.js +2 -2
  113. package/modern/styles/experimental_extendTheme.js +154 -18
  114. package/node/Alert/Alert.js +19 -11
  115. package/node/AppBar/AppBar.js +22 -5
  116. package/node/Avatar/Avatar.js +7 -4
  117. package/node/Badge/Badge.js +2 -2
  118. package/node/Button/buttonClasses.js +1 -1
  119. package/node/Chip/Chip.js +31 -30
  120. package/node/Dialog/Dialog.js +11 -6
  121. package/node/FilledInput/FilledInput.js +28 -13
  122. package/node/Grid/Grid.js +95 -40
  123. package/node/Grow/Grow.js +1 -2
  124. package/node/Hidden/withWidth.js +0 -3
  125. package/node/Input/Input.js +1 -1
  126. package/node/InputBase/InputBase.js +2 -2
  127. package/node/LinearProgress/LinearProgress.js +6 -2
  128. package/node/Link/Link.js +12 -20
  129. package/node/Link/getTextDecoration.js +39 -0
  130. package/node/Modal/Modal.js +25 -8
  131. package/node/OutlinedInput/OutlinedInput.js +38 -10
  132. package/node/Popover/index.js +13 -3
  133. package/node/Skeleton/Skeleton.js +7 -2
  134. package/node/Slider/Slider.js +24 -22
  135. package/node/Snackbar/Snackbar.js +6 -18
  136. package/node/SnackbarContent/SnackbarContent.js +3 -3
  137. package/node/SpeedDialAction/SpeedDialAction.js +7 -7
  138. package/node/Stack/Stack.js +1 -1
  139. package/node/StepConnector/StepConnector.js +14 -11
  140. package/node/StepContent/StepContent.js +1 -1
  141. package/node/StepIcon/StepIcon.js +2 -1
  142. package/node/Switch/Switch.js +11 -11
  143. package/node/TableCell/TableCell.js +5 -5
  144. package/node/Tabs/Tabs.js +16 -2
  145. package/node/Tooltip/Tooltip.js +1 -1
  146. package/node/index.js +1 -1
  147. package/node/styles/CssVarsProvider.js +6 -2
  148. package/node/styles/experimental_extendTheme.js +152 -17
  149. package/package.json +6 -7
  150. package/styles/CssVarsProvider.d.ts +10 -28
  151. package/styles/CssVarsProvider.js +6 -2
  152. package/styles/createPalette.d.ts +0 -26
  153. package/styles/experimental_extendTheme.d.ts +225 -37
  154. package/styles/experimental_extendTheme.js +154 -18
  155. package/styles/index.d.ts +24 -1
  156. package/themeCssVarsAugmentation/index.d.ts +61 -0
  157. package/umd/material-ui.development.js +1048 -541
  158. package/umd/material-ui.production.min.js +27 -22
@@ -78,6 +78,7 @@ const ChipRoot = styled('div', {
78
78
  ownerState
79
79
  }) => {
80
80
  const deleteIconColor = alpha(theme.palette.text.primary, 0.26);
81
+ const textColor = theme.palette.mode === 'light' ? theme.palette.grey[700] : theme.palette.grey[300];
81
82
  return _extends({
82
83
  maxWidth: '100%',
83
84
  fontFamily: theme.typography.fontFamily,
@@ -86,8 +87,8 @@ const ChipRoot = styled('div', {
86
87
  alignItems: 'center',
87
88
  justifyContent: 'center',
88
89
  height: 32,
89
- color: theme.palette.text.primary,
90
- backgroundColor: theme.palette.action.selected,
90
+ color: (theme.vars || theme).palette.text.primary,
91
+ backgroundColor: (theme.vars || theme).palette.action.selected,
91
92
  borderRadius: 32 / 2,
92
93
  whiteSpace: 'nowrap',
93
94
  transition: theme.transitions.create(['background-color', 'box-shadow']),
@@ -103,7 +104,7 @@ const ChipRoot = styled('div', {
103
104
  verticalAlign: 'middle',
104
105
  boxSizing: 'border-box',
105
106
  [`&.${chipClasses.disabled}`]: {
106
- opacity: theme.palette.action.disabledOpacity,
107
+ opacity: (theme.vars || theme).palette.action.disabledOpacity,
107
108
  pointerEvents: 'none'
108
109
  },
109
110
  [`& .${chipClasses.avatar}`]: {
@@ -111,16 +112,16 @@ const ChipRoot = styled('div', {
111
112
  marginRight: -6,
112
113
  width: 24,
113
114
  height: 24,
114
- color: theme.palette.mode === 'light' ? theme.palette.grey[700] : theme.palette.grey[300],
115
+ color: theme.vars ? theme.vars.palette.Chip.defaultAvatarColor : textColor,
115
116
  fontSize: theme.typography.pxToRem(12)
116
117
  },
117
118
  [`& .${chipClasses.avatarColorPrimary}`]: {
118
- color: theme.palette.primary.contrastText,
119
- backgroundColor: theme.palette.primary.dark
119
+ color: (theme.vars || theme).palette.primary.contrastText,
120
+ backgroundColor: (theme.vars || theme).palette.primary.dark
120
121
  },
121
122
  [`& .${chipClasses.avatarColorSecondary}`]: {
122
- color: theme.palette.secondary.contrastText,
123
- backgroundColor: theme.palette.secondary.dark
123
+ color: (theme.vars || theme).palette.secondary.contrastText,
124
+ backgroundColor: (theme.vars || theme).palette.secondary.dark
124
125
  },
125
126
  [`& .${chipClasses.avatarSmall}`]: {
126
127
  marginLeft: 4,
@@ -130,7 +131,7 @@ const ChipRoot = styled('div', {
130
131
  fontSize: theme.typography.pxToRem(10)
131
132
  },
132
133
  [`& .${chipClasses.icon}`]: _extends({
133
- color: theme.palette.mode === 'light' ? theme.palette.grey[700] : theme.palette.grey[300],
134
+ color: theme.vars ? theme.vars.palette.Chip.defaultIconColor : textColor,
134
135
  marginLeft: 5,
135
136
  marginRight: -6
136
137
  }, ownerState.size === 'small' && {
@@ -142,35 +143,35 @@ const ChipRoot = styled('div', {
142
143
  }),
143
144
  [`& .${chipClasses.deleteIcon}`]: _extends({
144
145
  WebkitTapHighlightColor: 'transparent',
145
- color: deleteIconColor,
146
+ color: theme.vars ? `rgba(${theme.vars.palette.text.primaryChannel} / 0.26)` : deleteIconColor,
146
147
  fontSize: 22,
147
148
  cursor: 'pointer',
148
149
  margin: '0 5px 0 -6px',
149
150
  '&:hover': {
150
- color: alpha(deleteIconColor, 0.4)
151
+ color: theme.vars ? `rgba(${theme.vars.palette.text.primaryChannel} / 0.4)` : alpha(deleteIconColor, 0.4)
151
152
  }
152
153
  }, ownerState.size === 'small' && {
153
154
  fontSize: 16,
154
155
  marginRight: 4,
155
156
  marginLeft: -4
156
157
  }, ownerState.color !== 'default' && {
157
- color: alpha(theme.palette[ownerState.color].contrastText, 0.7),
158
+ color: theme.vars ? `rgba(${theme.vars.palette[ownerState.color].contrastTextChannel} / 0.7)` : alpha(theme.palette[ownerState.color].contrastText, 0.7),
158
159
  '&:hover, &:active': {
159
- color: theme.palette[ownerState.color].contrastText
160
+ color: (theme.vars || theme).palette[ownerState.color].contrastText
160
161
  }
161
162
  })
162
163
  }, ownerState.size === 'small' && {
163
164
  height: 24
164
165
  }, ownerState.color !== 'default' && {
165
- backgroundColor: theme.palette[ownerState.color].main,
166
- color: theme.palette[ownerState.color].contrastText
166
+ backgroundColor: (theme.vars || theme).palette[ownerState.color].main,
167
+ color: (theme.vars || theme).palette[ownerState.color].contrastText
167
168
  }, ownerState.onDelete && {
168
169
  [`&.${chipClasses.focusVisible}`]: {
169
- backgroundColor: alpha(theme.palette.action.selected, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)
170
+ backgroundColor: theme.vars ? `rgba(${theme.vars.palette.action.selectedChannel} / calc(${theme.vars.palette.action.selectedOpacity + theme.vars.palette.action.focusOpacity}))` : alpha(theme.palette.action.selected, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)
170
171
  }
171
172
  }, ownerState.onDelete && ownerState.color !== 'default' && {
172
173
  [`&.${chipClasses.focusVisible}`]: {
173
- backgroundColor: theme.palette[ownerState.color].dark
174
+ backgroundColor: (theme.vars || theme).palette[ownerState.color].dark
174
175
  }
175
176
  });
176
177
  }, ({
@@ -181,29 +182,29 @@ const ChipRoot = styled('div', {
181
182
  WebkitTapHighlightColor: 'transparent',
182
183
  cursor: 'pointer',
183
184
  '&:hover': {
184
- backgroundColor: alpha(theme.palette.action.selected, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity)
185
+ backgroundColor: theme.vars ? `rgba(${theme.vars.palette.action.selectedChannel} / calc(${theme.vars.palette.action.selectedOpacity + theme.vars.palette.action.hoverOpacity}))` : alpha(theme.palette.action.selected, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity)
185
186
  },
186
187
  [`&.${chipClasses.focusVisible}`]: {
187
- backgroundColor: alpha(theme.palette.action.selected, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)
188
+ backgroundColor: theme.vars ? `rgba(${theme.vars.palette.action.selectedChannel} / calc(${theme.vars.palette.action.selectedOpacity + theme.vars.palette.action.focusOpacity}))` : alpha(theme.palette.action.selected, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)
188
189
  },
189
190
  '&:active': {
190
- boxShadow: theme.shadows[1]
191
+ boxShadow: (theme.vars || theme).shadows[1]
191
192
  }
192
193
  }, ownerState.clickable && ownerState.color !== 'default' && {
193
194
  [`&:hover, &.${chipClasses.focusVisible}`]: {
194
- backgroundColor: theme.palette[ownerState.color].dark
195
+ backgroundColor: (theme.vars || theme).palette[ownerState.color].dark
195
196
  }
196
197
  }), ({
197
198
  theme,
198
199
  ownerState
199
200
  }) => _extends({}, ownerState.variant === 'outlined' && {
200
201
  backgroundColor: 'transparent',
201
- border: `1px solid ${theme.palette.mode === 'light' ? theme.palette.grey[400] : theme.palette.grey[700]}`,
202
+ border: theme.vars ? `1px solid ${theme.vars.palette.Chip.defaultBorder}` : `1px solid ${theme.palette.mode === 'light' ? theme.palette.grey[400] : theme.palette.grey[700]}`,
202
203
  [`&.${chipClasses.clickable}:hover`]: {
203
- backgroundColor: theme.palette.action.hover
204
+ backgroundColor: (theme.vars || theme).palette.action.hover
204
205
  },
205
206
  [`&.${chipClasses.focusVisible}`]: {
206
- backgroundColor: theme.palette.action.focus
207
+ backgroundColor: (theme.vars || theme).palette.action.focus
207
208
  },
208
209
  [`& .${chipClasses.avatar}`]: {
209
210
  marginLeft: 4
@@ -224,18 +225,18 @@ const ChipRoot = styled('div', {
224
225
  marginRight: 3
225
226
  }
226
227
  }, ownerState.variant === 'outlined' && ownerState.color !== 'default' && {
227
- color: theme.palette[ownerState.color].main,
228
- border: `1px solid ${alpha(theme.palette[ownerState.color].main, 0.7)}`,
228
+ color: (theme.vars || theme).palette[ownerState.color].main,
229
+ border: `1px solid ${theme.vars ? `rgba(${theme.vars.palette[ownerState.color].mainChannel} / 0.7)` : alpha(theme.palette[ownerState.color].main, 0.7)}`,
229
230
  [`&.${chipClasses.clickable}:hover`]: {
230
- backgroundColor: alpha(theme.palette[ownerState.color].main, theme.palette.action.hoverOpacity)
231
+ 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)
231
232
  },
232
233
  [`&.${chipClasses.focusVisible}`]: {
233
- backgroundColor: alpha(theme.palette[ownerState.color].main, theme.palette.action.focusOpacity)
234
+ backgroundColor: theme.vars ? `rgba(${theme.vars.palette[ownerState.color].mainChannel} / ${theme.vars.palette.action.focusOpacity})` : alpha(theme.palette[ownerState.color].main, theme.palette.action.focusOpacity)
234
235
  },
235
236
  [`& .${chipClasses.deleteIcon}`]: {
236
- color: alpha(theme.palette[ownerState.color].main, 0.7),
237
+ color: theme.vars ? `rgba(${theme.vars.palette[ownerState.color].mainChannel} / 0.7)` : alpha(theme.palette[ownerState.color].main, 0.7),
237
238
  '&:hover, &:active': {
238
- color: theme.palette[ownerState.color].main
239
+ color: (theme.vars || theme).palette[ownerState.color].main
239
240
  }
240
241
  }
241
242
  }));
@@ -125,7 +125,7 @@ const DialogPaper = styled(Paper, {
125
125
  maxWidth: 'calc(100% - 64px)'
126
126
  }
127
127
  }
128
- }, ownerState.maxWidth !== 'xs' && {
128
+ }, ownerState.maxWidth && ownerState.maxWidth !== 'xs' && {
129
129
  maxWidth: `${theme.breakpoints.values[ownerState.maxWidth]}${theme.breakpoints.unit}`,
130
130
  [`&.${dialogClasses.paperScrollBody}`]: {
131
131
  [theme.breakpoints.down(theme.breakpoints.values[ownerState.maxWidth] + 32 * 2)]: {
@@ -226,12 +226,16 @@ const Dialog = /*#__PURE__*/React.forwardRef(function Dialog(inProps, ref) {
226
226
  }, [ariaLabelledby]);
227
227
  return /*#__PURE__*/_jsx(DialogRoot, _extends({
228
228
  className: clsx(classes.root, className),
229
- BackdropProps: _extends({
230
- transitionDuration,
231
- as: BackdropComponent
232
- }, BackdropProps),
233
229
  closeAfterTransition: true,
234
- BackdropComponent: DialogBackdrop,
230
+ components: {
231
+ Backdrop: DialogBackdrop
232
+ },
233
+ componentsProps: {
234
+ backdrop: _extends({
235
+ transitionDuration,
236
+ as: BackdropComponent
237
+ }, BackdropProps)
238
+ },
235
239
  disableEscapeKeyDown: disableEscapeKeyDown,
236
240
  onClose: onClose,
237
241
  open: open,
@@ -287,6 +291,7 @@ process.env.NODE_ENV !== "production" ? Dialog.propTypes
287
291
 
288
292
  /**
289
293
  * A backdrop component. This prop enables custom backdrop rendering.
294
+ * @deprecated Use `components.Backdrop` instead.
290
295
  * @default styled(Backdrop, {
291
296
  * name: 'MuiModal',
292
297
  * slot: 'Backdrop',
@@ -42,31 +42,33 @@ const FilledInputRoot = styled(InputBaseRoot, {
42
42
  const light = theme.palette.mode === 'light';
43
43
  const bottomLineColor = light ? 'rgba(0, 0, 0, 0.42)' : 'rgba(255, 255, 255, 0.7)';
44
44
  const backgroundColor = light ? 'rgba(0, 0, 0, 0.06)' : 'rgba(255, 255, 255, 0.09)';
45
+ const hoverBackground = light ? 'rgba(0, 0, 0, 0.09)' : 'rgba(255, 255, 255, 0.13)';
46
+ const disabledBackground = light ? 'rgba(0, 0, 0, 0.12)' : 'rgba(255, 255, 255, 0.12)';
45
47
  return _extends({
46
48
  position: 'relative',
47
- backgroundColor,
48
- borderTopLeftRadius: theme.shape.borderRadius,
49
- borderTopRightRadius: theme.shape.borderRadius,
49
+ backgroundColor: theme.vars ? theme.vars.palette.FilledInput.bg : backgroundColor,
50
+ borderTopLeftRadius: (theme.vars || theme).shape.borderRadius,
51
+ borderTopRightRadius: (theme.vars || theme).shape.borderRadius,
50
52
  transition: theme.transitions.create('background-color', {
51
53
  duration: theme.transitions.duration.shorter,
52
54
  easing: theme.transitions.easing.easeOut
53
55
  }),
54
56
  '&:hover': {
55
- backgroundColor: light ? 'rgba(0, 0, 0, 0.09)' : 'rgba(255, 255, 255, 0.13)',
57
+ backgroundColor: theme.vars ? theme.vars.palette.FilledInput.hoverBg : hoverBackground,
56
58
  // Reset on touch devices, it doesn't add specificity
57
59
  '@media (hover: none)': {
58
- backgroundColor
60
+ backgroundColor: theme.vars ? theme.vars.palette.FilledInput.bg : backgroundColor
59
61
  }
60
62
  },
61
63
  [`&.${filledInputClasses.focused}`]: {
62
- backgroundColor
64
+ backgroundColor: theme.vars ? theme.vars.palette.FilledInput.bg : backgroundColor
63
65
  },
64
66
  [`&.${filledInputClasses.disabled}`]: {
65
- backgroundColor: light ? 'rgba(0, 0, 0, 0.12)' : 'rgba(255, 255, 255, 0.12)'
67
+ backgroundColor: theme.vars ? theme.vars.palette.FilledInput.disabledBg : disabledBackground
66
68
  }
67
69
  }, !ownerState.disableUnderline && {
68
70
  '&:after': {
69
- borderBottom: `2px solid ${theme.palette[ownerState.color || 'primary']?.main}`,
71
+ borderBottom: `2px solid ${(theme.vars || theme).palette[ownerState.color || 'primary']?.main}`,
70
72
  left: 0,
71
73
  bottom: 0,
72
74
  // Doing the other way around crash on IE11 "''" https://github.com/cssinjs/jss/issues/242
@@ -87,12 +89,12 @@ const FilledInputRoot = styled(InputBaseRoot, {
87
89
  transform: 'scaleX(1) translateX(0)'
88
90
  },
89
91
  [`&.${filledInputClasses.error}:after`]: {
90
- borderBottomColor: theme.palette.error.main,
92
+ borderBottomColor: (theme.vars || theme).palette.error.main,
91
93
  transform: 'scaleX(1)' // error is always underlined in red
92
94
 
93
95
  },
94
96
  '&:before': {
95
- borderBottom: `1px solid ${bottomLineColor}`,
97
+ borderBottom: `1px solid ${theme.vars ? `rgba(${theme.vars.palette.common.onBackgroundChannel} / ${theme.vars.opacity.inputUnderline})` : bottomLineColor}`,
96
98
  left: 0,
97
99
  bottom: 0,
98
100
  // Doing the other way around crash on IE11 "''" https://github.com/cssinjs/jss/issues/242
@@ -106,7 +108,7 @@ const FilledInputRoot = styled(InputBaseRoot, {
106
108
 
107
109
  },
108
110
  [`&:hover:not(.${filledInputClasses.disabled}):before`]: {
109
- borderBottom: `1px solid ${theme.palette.text.primary}`
111
+ borderBottom: `1px solid ${(theme.vars || theme).palette.text.primary}`
110
112
  },
111
113
  [`&.${filledInputClasses.disabled}:before`]: {
112
114
  borderBottomStyle: 'dotted'
@@ -136,7 +138,8 @@ const FilledInputInput = styled(InputBaseInput, {
136
138
  paddingTop: 25,
137
139
  paddingRight: 12,
138
140
  paddingBottom: 8,
139
- paddingLeft: 12,
141
+ paddingLeft: 12
142
+ }, !theme.vars && {
140
143
  '&:-webkit-autofill': {
141
144
  WebkitBoxShadow: theme.palette.mode === 'light' ? null : '0 0 0 100px #266798 inset',
142
145
  WebkitTextFillColor: theme.palette.mode === 'light' ? null : '#fff',
@@ -144,6 +147,18 @@ const FilledInputInput = styled(InputBaseInput, {
144
147
  borderTopLeftRadius: 'inherit',
145
148
  borderTopRightRadius: 'inherit'
146
149
  }
150
+ }, theme.vars && {
151
+ '&:-webkit-autofill': {
152
+ borderTopLeftRadius: 'inherit',
153
+ borderTopRightRadius: 'inherit'
154
+ },
155
+ [theme.getColorSchemeSelector('dark')]: {
156
+ '&:-webkit-autofill': {
157
+ WebkitBoxShadow: '0 0 0 100px #266798 inset',
158
+ WebkitTextFillColor: '#fff',
159
+ caretColor: '#fff'
160
+ }
161
+ }
147
162
  }, ownerState.size === 'small' && {
148
163
  paddingTop: 21,
149
164
  paddingBottom: 4
@@ -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 = ["className", "columns", "columnSpacing", "component", "container", "direction", "item", "lg", "md", "rowSpacing", "sm", "spacing", "wrap", "xl", "xs", "zeroMinWidth"];
3
+ const _excluded = ["className", "columns", "columnSpacing", "component", "container", "direction", "item", "rowSpacing", "spacing", "wrap", "zeroMinWidth"];
4
4
  // A grid component using the following libs as inspiration.
5
5
  //
6
6
  // For the implementation:
@@ -19,6 +19,7 @@ import { unstable_composeClasses as composeClasses } from '@mui/base';
19
19
  import requirePropFactory from '../utils/requirePropFactory';
20
20
  import styled from '../styles/styled';
21
21
  import useThemeProps from '../styles/useThemeProps';
22
+ import useTheme from '../styles/useTheme';
22
23
  import GridContext from './GridContext';
23
24
  import gridClasses, { getGridUtilityClass } from './gridClasses';
24
25
  import { jsx as _jsx } from "react/jsx-runtime";
@@ -201,26 +202,27 @@ export function generateColumnGap({
201
202
 
202
203
  return styles;
203
204
  }
204
- export function resolveSpacingClasses(spacing, container, styles = {}) {
205
- // in case of grid item or undefined/null or `spacing` <= 0
206
- if (!container || !spacing || spacing <= 0) {
205
+ export function resolveSpacingStyles(spacing, breakpoints, styles = {}) {
206
+ // undefined/null or `spacing` <= 0
207
+ if (!spacing || spacing <= 0) {
207
208
  return [];
208
209
  } // in case of string/number `spacing`
209
210
 
210
211
 
211
212
  if (typeof spacing === 'string' && !Number.isNaN(Number(spacing)) || typeof spacing === 'number') {
212
- return [styles[`spacing-xs-${String(spacing)}`] || `spacing-xs-${String(spacing)}`];
213
+ return [styles[`spacing-xs-${String(spacing)}`]];
213
214
  } // in case of object `spacing`
214
215
 
215
216
 
216
- const {
217
- xs,
218
- sm,
219
- md,
220
- lg,
221
- xl
222
- } = spacing;
223
- return [Number(xs) > 0 && (styles[`spacing-xs-${String(xs)}`] || `spacing-xs-${String(xs)}`), Number(sm) > 0 && (styles[`spacing-sm-${String(sm)}`] || `spacing-sm-${String(sm)}`), Number(md) > 0 && (styles[`spacing-md-${String(md)}`] || `spacing-md-${String(md)}`), Number(lg) > 0 && (styles[`spacing-lg-${String(lg)}`] || `spacing-lg-${String(lg)}`), Number(xl) > 0 && (styles[`spacing-xl-${String(xl)}`] || `spacing-xl-${String(xl)}`)];
217
+ const spacingStyles = [];
218
+ breakpoints.forEach(breakpoint => {
219
+ const value = spacing[breakpoint];
220
+
221
+ if (Number(value) > 0) {
222
+ spacingStyles.push(styles[`spacing-${breakpoint}-${String(value)}`]);
223
+ }
224
+ });
225
+ return spacingStyles;
224
226
  } // Default CSS values
225
227
  // flex: '0 1 auto',
226
228
  // flexDirection: 'row',
@@ -232,20 +234,33 @@ const GridRoot = styled('div', {
232
234
  name: 'MuiGrid',
233
235
  slot: 'Root',
234
236
  overridesResolver: (props, styles) => {
237
+ const {
238
+ ownerState
239
+ } = props;
235
240
  const {
236
241
  container,
237
242
  direction,
238
243
  item,
239
- lg,
240
- md,
241
- sm,
242
244
  spacing,
243
245
  wrap,
244
- xl,
245
- xs,
246
- zeroMinWidth
247
- } = props.ownerState;
248
- return [styles.root, container && styles.container, item && styles.item, zeroMinWidth && styles.zeroMinWidth, ...resolveSpacingClasses(spacing, container, styles), direction !== 'row' && styles[`direction-xs-${String(direction)}`], wrap !== 'wrap' && styles[`wrap-xs-${String(wrap)}`], xs !== false && styles[`grid-xs-${String(xs)}`], sm !== false && styles[`grid-sm-${String(sm)}`], md !== false && styles[`grid-md-${String(md)}`], lg !== false && styles[`grid-lg-${String(lg)}`], xl !== false && styles[`grid-xl-${String(xl)}`]];
246
+ zeroMinWidth,
247
+ breakpoints
248
+ } = ownerState;
249
+ let spacingStyles = []; // in case of grid item
250
+
251
+ if (container) {
252
+ spacingStyles = resolveSpacingStyles(spacing, breakpoints, styles);
253
+ }
254
+
255
+ const breakpointsStyles = [];
256
+ breakpoints.forEach(breakpoint => {
257
+ const value = ownerState[breakpoint];
258
+
259
+ if (value) {
260
+ breakpointsStyles.push(styles[`grid-${breakpoint}-${String(value)}`]);
261
+ }
262
+ });
263
+ return [styles.root, container && styles.container, item && styles.item, zeroMinWidth && styles.zeroMinWidth, ...spacingStyles, direction !== 'row' && styles[`direction-xs-${String(direction)}`], wrap !== 'wrap' && styles[`wrap-xs-${String(wrap)}`], ...breakpointsStyles];
249
264
  }
250
265
  })(({
251
266
  ownerState
@@ -263,6 +278,29 @@ const GridRoot = styled('div', {
263
278
  }, ownerState.wrap !== 'wrap' && {
264
279
  flexWrap: ownerState.wrap
265
280
  }), generateDirection, generateRowGap, generateColumnGap, generateGrid);
281
+ export function resolveSpacingClasses(spacing, breakpoints) {
282
+ // undefined/null or `spacing` <= 0
283
+ if (!spacing || spacing <= 0) {
284
+ return [];
285
+ } // in case of string/number `spacing`
286
+
287
+
288
+ if (typeof spacing === 'string' && !Number.isNaN(Number(spacing)) || typeof spacing === 'number') {
289
+ return [`spacing-xs-${String(spacing)}`];
290
+ } // in case of object `spacing`
291
+
292
+
293
+ const classes = [];
294
+ breakpoints.forEach(breakpoint => {
295
+ const value = spacing[breakpoint];
296
+
297
+ if (Number(value) > 0) {
298
+ const className = `spacing-${breakpoint}-${String(value)}`;
299
+ classes.push(className);
300
+ }
301
+ });
302
+ return classes;
303
+ }
266
304
 
267
305
  const useUtilityClasses = ownerState => {
268
306
  const {
@@ -270,17 +308,27 @@ const useUtilityClasses = ownerState => {
270
308
  container,
271
309
  direction,
272
310
  item,
273
- lg,
274
- md,
275
- sm,
276
311
  spacing,
277
312
  wrap,
278
- xl,
279
- xs,
280
- zeroMinWidth
313
+ zeroMinWidth,
314
+ breakpoints
281
315
  } = ownerState;
316
+ let spacingClasses = []; // in case of grid item
317
+
318
+ if (container) {
319
+ spacingClasses = resolveSpacingClasses(spacing, breakpoints);
320
+ }
321
+
322
+ const breakpointsClasses = [];
323
+ breakpoints.forEach(breakpoint => {
324
+ const value = ownerState[breakpoint];
325
+
326
+ if (value) {
327
+ breakpointsClasses.push(`grid-${breakpoint}-${String(value)}`);
328
+ }
329
+ });
282
330
  const slots = {
283
- root: ['root', container && 'container', item && 'item', zeroMinWidth && 'zeroMinWidth', ...resolveSpacingClasses(spacing, container), direction !== 'row' && `direction-xs-${String(direction)}`, wrap !== 'wrap' && `wrap-xs-${String(wrap)}`, xs !== false && `grid-xs-${String(xs)}`, sm !== false && `grid-sm-${String(sm)}`, md !== false && `grid-md-${String(md)}`, lg !== false && `grid-lg-${String(lg)}`, xl !== false && `grid-xl-${String(xl)}`]
331
+ root: ['root', container && 'container', item && 'item', zeroMinWidth && 'zeroMinWidth', ...spacingClasses, direction !== 'row' && `direction-xs-${String(direction)}`, wrap !== 'wrap' && `wrap-xs-${String(wrap)}`, ...breakpointsClasses]
284
332
  };
285
333
  return composeClasses(slots, getGridUtilityClass, classes);
286
334
  };
@@ -290,6 +338,9 @@ const Grid = /*#__PURE__*/React.forwardRef(function Grid(inProps, ref) {
290
338
  props: inProps,
291
339
  name: 'MuiGrid'
292
340
  });
341
+ const {
342
+ breakpoints
343
+ } = useTheme();
293
344
  const props = extendSxProp(themeProps);
294
345
 
295
346
  const {
@@ -300,14 +351,9 @@ const Grid = /*#__PURE__*/React.forwardRef(function Grid(inProps, ref) {
300
351
  container = false,
301
352
  direction = 'row',
302
353
  item = false,
303
- lg = false,
304
- md = false,
305
354
  rowSpacing: rowSpacingProp,
306
- sm = false,
307
355
  spacing = 0,
308
356
  wrap = 'wrap',
309
- xl = false,
310
- xs = false,
311
357
  zeroMinWidth = false
312
358
  } = props,
313
359
  other = _objectWithoutPropertiesLoose(props, _excluded);
@@ -317,21 +363,29 @@ const Grid = /*#__PURE__*/React.forwardRef(function Grid(inProps, ref) {
317
363
  const columnsContext = React.useContext(GridContext); // columns set with default breakpoint unit of 12
318
364
 
319
365
  const columns = container ? columnsProp || 12 : columnsContext;
366
+ const breakpointsValues = {};
367
+
368
+ const otherFiltered = _extends({}, other);
369
+
370
+ breakpoints.keys.forEach(breakpoint => {
371
+ if (other[breakpoint] != null) {
372
+ breakpointsValues[breakpoint] = other[breakpoint];
373
+ delete otherFiltered[breakpoint];
374
+ }
375
+ });
320
376
 
321
377
  const ownerState = _extends({}, props, {
322
378
  columns,
323
379
  container,
324
380
  direction,
325
381
  item,
326
- lg,
327
- md,
328
- sm,
329
382
  rowSpacing,
330
383
  columnSpacing,
331
384
  wrap,
332
- xl,
333
- xs,
334
- zeroMinWidth
385
+ zeroMinWidth,
386
+ spacing
387
+ }, breakpointsValues, {
388
+ breakpoints: breakpoints.keys
335
389
  });
336
390
 
337
391
  const classes = useUtilityClasses(ownerState);
@@ -342,7 +396,7 @@ const Grid = /*#__PURE__*/React.forwardRef(function Grid(inProps, ref) {
342
396
  className: clsx(classes.root, className),
343
397
  as: component,
344
398
  ref: ref
345
- }, other))
399
+ }, otherFiltered))
346
400
  });
347
401
  });
348
402
  process.env.NODE_ENV !== "production" ? Grid.propTypes
@@ -27,10 +27,9 @@ const styles = {
27
27
  /*
28
28
  TODO v6: remove
29
29
  Conditionally apply a workaround for the CSS transition bug in Safari 15.4 / WebKit browsers.
30
- Remove this workaround once the WebKit bug fix is released.
31
30
  */
32
31
 
33
- const isWebKit154 = typeof navigator !== 'undefined' && /^((?!chrome|android).)*(safari|mobile)/i.test(navigator.userAgent) && /(os |version\/)15(.|_)[4-9]/i.test(navigator.userAgent);
32
+ const isWebKit154 = typeof navigator !== 'undefined' && /^((?!chrome|android).)*(safari|mobile)/i.test(navigator.userAgent) && /(os |version\/)15(.|_)4/i.test(navigator.userAgent);
34
33
  /**
35
34
  * The Grow transition is used by the [Tooltip](/material-ui/react-tooltip/) and
36
35
  * [Popover](/material-ui/react-popover/) components.
@@ -5,7 +5,6 @@ import * as React from 'react';
5
5
  import PropTypes from 'prop-types';
6
6
  import { getDisplayName } from '@mui/utils';
7
7
  import { getThemeProps } from '@mui/system';
8
- import hoistNonReactStatics from 'hoist-non-react-statics';
9
8
  import useTheme from '../styles/useTheme';
10
9
  import useEnhancedEffect from '../utils/useEnhancedEffect';
11
10
  import useMediaQuery from '../useMediaQuery';
@@ -113,7 +112,6 @@ const withWidth = (options = {}) => Component => {
113
112
  WithWidth.displayName = `WithWidth(${getDisplayName(Component)})`;
114
113
  }
115
114
 
116
- hoistNonReactStatics(WithWidth, Component);
117
115
  return WithWidth;
118
116
  };
119
117
 
@@ -43,7 +43,7 @@ const InputRoot = styled(InputBaseRoot, {
43
43
  let bottomLineColor = light ? 'rgba(0, 0, 0, 0.42)' : 'rgba(255, 255, 255, 0.7)';
44
44
 
45
45
  if (theme.vars) {
46
- bottomLineColor = `rgba(${theme.vars.palette.common.onBackgroundChannel} / ${theme.vars.opacity.inputTouchBottomLine})`;
46
+ bottomLineColor = `rgba(${theme.vars.palette.common.onBackgroundChannel} / ${theme.vars.opacity.inputUnderline})`;
47
47
  }
48
48
 
49
49
  return _extends({
@@ -97,7 +97,7 @@ export const InputBaseComponent = styled('input', {
97
97
  const placeholder = _extends({
98
98
  color: 'currentColor'
99
99
  }, theme.vars ? {
100
- opacity: theme.vars.opacity.placeholder
100
+ opacity: theme.vars.opacity.inputPlaceholder
101
101
  } : {
102
102
  opacity: light ? 0.42 : 0.5
103
103
  }, {
@@ -110,7 +110,7 @@ export const InputBaseComponent = styled('input', {
110
110
  opacity: '0 !important'
111
111
  };
112
112
  const placeholderVisible = theme.vars ? {
113
- opacity: theme.vars.opacity.placeholder
113
+ opacity: theme.vars.opacity.inputPlaceholder
114
114
  } : {
115
115
  opacity: light ? 0.42 : 0.5
116
116
  };
@@ -84,6 +84,10 @@ const getColorShade = (theme, color) => {
84
84
  return 'currentColor';
85
85
  }
86
86
 
87
+ if (theme.vars) {
88
+ return theme.vars.palette.LinearProgress[`${color}Bg`];
89
+ }
90
+
87
91
  return theme.palette.mode === 'light' ? lighten(theme.palette[color].main, 0.62) : darken(theme.palette[color].main, 0.5);
88
92
  };
89
93
 
@@ -176,7 +180,7 @@ const LinearProgressBar1 = styled('span', {
176
180
  top: 0,
177
181
  transition: 'transform 0.2s linear',
178
182
  transformOrigin: 'left',
179
- backgroundColor: ownerState.color === 'inherit' ? 'currentColor' : theme.palette[ownerState.color].main
183
+ backgroundColor: ownerState.color === 'inherit' ? 'currentColor' : (theme.vars || theme).palette[ownerState.color].main
180
184
  }, ownerState.variant === 'determinate' && {
181
185
  transition: `transform .${TRANSITION_DURATION}s linear`
182
186
  }, ownerState.variant === 'buffer' && {
@@ -209,7 +213,7 @@ const LinearProgressBar2 = styled('span', {
209
213
  transition: 'transform 0.2s linear',
210
214
  transformOrigin: 'left'
211
215
  }, ownerState.variant !== 'buffer' && {
212
- backgroundColor: ownerState.color === 'inherit' ? 'currentColor' : theme.palette[ownerState.color].main
216
+ backgroundColor: ownerState.color === 'inherit' ? 'currentColor' : (theme.vars || theme).palette[ownerState.color].main
213
217
  }, ownerState.color === 'inherit' && {
214
218
  opacity: 0.3
215
219
  }, ownerState.variant === 'buffer' && {