@mui/material 5.8.2 → 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 (154) hide show
  1. package/Alert/Alert.js +3 -1
  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 +225 -8
  9. package/Checkbox/Checkbox.js +4 -4
  10. package/Chip/Chip.js +31 -30
  11. package/Dialog/Dialog.js +11 -6
  12. package/FilledInput/FilledInput.js +28 -13
  13. package/Grid/Grid.d.ts +73 -52
  14. package/Grid/Grid.js +94 -40
  15. package/Grow/Grow.js +1 -2
  16. package/Hidden/withWidth.js +0 -2
  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 +25 -10
  25. package/Popover/Popover.d.ts +7 -0
  26. package/Popover/index.js +1 -0
  27. package/README.md +13 -12
  28. package/Skeleton/Skeleton.js +8 -3
  29. package/Slider/Slider.d.ts +3 -1
  30. package/Slider/Slider.js +35 -20
  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 +6 -0
  42. package/Tooltip/Tooltip.js +1 -1
  43. package/index.js +1 -1
  44. package/legacy/Alert/Alert.js +3 -1
  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/Checkbox/Checkbox.js +4 -4
  50. package/legacy/Chip/Chip.js +31 -30
  51. package/legacy/Dialog/Dialog.js +11 -6
  52. package/legacy/FilledInput/FilledInput.js +28 -14
  53. package/legacy/Grid/Grid.js +97 -48
  54. package/legacy/Grow/Grow.js +1 -2
  55. package/legacy/Hidden/withWidth.js +0 -2
  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 +21 -9
  62. package/legacy/Popover/index.js +1 -0
  63. package/legacy/Skeleton/Skeleton.js +2 -2
  64. package/legacy/Slider/Slider.js +35 -20
  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 +6 -0
  75. package/legacy/Tooltip/Tooltip.js +1 -1
  76. package/legacy/index.js +1 -1
  77. package/legacy/styles/CssVarsProvider.js +4 -1
  78. package/legacy/styles/experimental_extendTheme.js +113 -18
  79. package/modern/Alert/Alert.js +3 -1
  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/Checkbox/Checkbox.js +4 -4
  85. package/modern/Chip/Chip.js +31 -30
  86. package/modern/Dialog/Dialog.js +11 -6
  87. package/modern/FilledInput/FilledInput.js +27 -12
  88. package/modern/Grid/Grid.js +94 -40
  89. package/modern/Grow/Grow.js +1 -2
  90. package/modern/Hidden/withWidth.js +0 -2
  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 +25 -10
  97. package/modern/Popover/index.js +1 -0
  98. package/modern/Skeleton/Skeleton.js +7 -2
  99. package/modern/Slider/Slider.js +35 -20
  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 +6 -0
  110. package/modern/Tooltip/Tooltip.js +1 -1
  111. package/modern/index.js +1 -1
  112. package/modern/styles/CssVarsProvider.js +4 -1
  113. package/modern/styles/experimental_extendTheme.js +114 -18
  114. package/node/Alert/Alert.js +3 -1
  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/Checkbox/Checkbox.js +4 -4
  120. package/node/Chip/Chip.js +31 -30
  121. package/node/Dialog/Dialog.js +11 -6
  122. package/node/FilledInput/FilledInput.js +28 -13
  123. package/node/Grid/Grid.js +95 -40
  124. package/node/Grow/Grow.js +1 -2
  125. package/node/Hidden/withWidth.js +0 -3
  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 +25 -10
  132. package/node/Popover/index.js +13 -3
  133. package/node/Skeleton/Skeleton.js +7 -2
  134. package/node/Slider/Slider.js +35 -20
  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 +6 -0
  145. package/node/Tooltip/Tooltip.js +1 -1
  146. package/node/index.js +1 -1
  147. package/node/styles/CssVarsProvider.js +4 -1
  148. package/node/styles/experimental_extendTheme.js +112 -17
  149. package/package.json +6 -7
  150. package/styles/CssVarsProvider.js +4 -1
  151. package/styles/createPalette.d.ts +65 -2
  152. package/styles/experimental_extendTheme.js +114 -18
  153. package/umd/material-ui.development.js +767 -414
  154. package/umd/material-ui.production.min.js +27 -22
package/node/Grid/Grid.js CHANGED
@@ -11,6 +11,7 @@ exports.generateDirection = generateDirection;
11
11
  exports.generateGrid = generateGrid;
12
12
  exports.generateRowGap = generateRowGap;
13
13
  exports.resolveSpacingClasses = resolveSpacingClasses;
14
+ exports.resolveSpacingStyles = resolveSpacingStyles;
14
15
 
15
16
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
16
17
 
@@ -32,13 +33,15 @@ var _styled = _interopRequireDefault(require("../styles/styled"));
32
33
 
33
34
  var _useThemeProps = _interopRequireDefault(require("../styles/useThemeProps"));
34
35
 
36
+ var _useTheme = _interopRequireDefault(require("../styles/useTheme"));
37
+
35
38
  var _GridContext = _interopRequireDefault(require("./GridContext"));
36
39
 
37
40
  var _gridClasses = _interopRequireWildcard(require("./gridClasses"));
38
41
 
39
42
  var _jsxRuntime = require("react/jsx-runtime");
40
43
 
41
- const _excluded = ["className", "columns", "columnSpacing", "component", "container", "direction", "item", "lg", "md", "rowSpacing", "sm", "spacing", "wrap", "xl", "xs", "zeroMinWidth"];
44
+ const _excluded = ["className", "columns", "columnSpacing", "component", "container", "direction", "item", "rowSpacing", "spacing", "wrap", "zeroMinWidth"];
42
45
 
43
46
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
44
47
 
@@ -226,26 +229,27 @@ function generateColumnGap({
226
229
  return styles;
227
230
  }
228
231
 
229
- function resolveSpacingClasses(spacing, container, styles = {}) {
230
- // in case of grid item or undefined/null or `spacing` <= 0
231
- if (!container || !spacing || spacing <= 0) {
232
+ function resolveSpacingStyles(spacing, breakpoints, styles = {}) {
233
+ // undefined/null or `spacing` <= 0
234
+ if (!spacing || spacing <= 0) {
232
235
  return [];
233
236
  } // in case of string/number `spacing`
234
237
 
235
238
 
236
239
  if (typeof spacing === 'string' && !Number.isNaN(Number(spacing)) || typeof spacing === 'number') {
237
- return [styles[`spacing-xs-${String(spacing)}`] || `spacing-xs-${String(spacing)}`];
240
+ return [styles[`spacing-xs-${String(spacing)}`]];
238
241
  } // in case of object `spacing`
239
242
 
240
243
 
241
- const {
242
- xs,
243
- sm,
244
- md,
245
- lg,
246
- xl
247
- } = spacing;
248
- 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)}`)];
244
+ const spacingStyles = [];
245
+ breakpoints.forEach(breakpoint => {
246
+ const value = spacing[breakpoint];
247
+
248
+ if (Number(value) > 0) {
249
+ spacingStyles.push(styles[`spacing-${breakpoint}-${String(value)}`]);
250
+ }
251
+ });
252
+ return spacingStyles;
249
253
  } // Default CSS values
250
254
  // flex: '0 1 auto',
251
255
  // flexDirection: 'row',
@@ -258,20 +262,33 @@ const GridRoot = (0, _styled.default)('div', {
258
262
  name: 'MuiGrid',
259
263
  slot: 'Root',
260
264
  overridesResolver: (props, styles) => {
265
+ const {
266
+ ownerState
267
+ } = props;
261
268
  const {
262
269
  container,
263
270
  direction,
264
271
  item,
265
- lg,
266
- md,
267
- sm,
268
272
  spacing,
269
273
  wrap,
270
- xl,
271
- xs,
272
- zeroMinWidth
273
- } = props.ownerState;
274
- 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)}`]];
274
+ zeroMinWidth,
275
+ breakpoints
276
+ } = ownerState;
277
+ let spacingStyles = []; // in case of grid item
278
+
279
+ if (container) {
280
+ spacingStyles = resolveSpacingStyles(spacing, breakpoints, styles);
281
+ }
282
+
283
+ const breakpointsStyles = [];
284
+ breakpoints.forEach(breakpoint => {
285
+ const value = ownerState[breakpoint];
286
+
287
+ if (value) {
288
+ breakpointsStyles.push(styles[`grid-${breakpoint}-${String(value)}`]);
289
+ }
290
+ });
291
+ 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];
275
292
  }
276
293
  })(({
277
294
  ownerState
@@ -290,23 +307,57 @@ const GridRoot = (0, _styled.default)('div', {
290
307
  flexWrap: ownerState.wrap
291
308
  }), generateDirection, generateRowGap, generateColumnGap, generateGrid);
292
309
 
310
+ function resolveSpacingClasses(spacing, breakpoints) {
311
+ // undefined/null or `spacing` <= 0
312
+ if (!spacing || spacing <= 0) {
313
+ return [];
314
+ } // in case of string/number `spacing`
315
+
316
+
317
+ if (typeof spacing === 'string' && !Number.isNaN(Number(spacing)) || typeof spacing === 'number') {
318
+ return [`spacing-xs-${String(spacing)}`];
319
+ } // in case of object `spacing`
320
+
321
+
322
+ const classes = [];
323
+ breakpoints.forEach(breakpoint => {
324
+ const value = spacing[breakpoint];
325
+
326
+ if (Number(value) > 0) {
327
+ const className = `spacing-${breakpoint}-${String(value)}`;
328
+ classes.push(className);
329
+ }
330
+ });
331
+ return classes;
332
+ }
333
+
293
334
  const useUtilityClasses = ownerState => {
294
335
  const {
295
336
  classes,
296
337
  container,
297
338
  direction,
298
339
  item,
299
- lg,
300
- md,
301
- sm,
302
340
  spacing,
303
341
  wrap,
304
- xl,
305
- xs,
306
- zeroMinWidth
342
+ zeroMinWidth,
343
+ breakpoints
307
344
  } = ownerState;
345
+ let spacingClasses = []; // in case of grid item
346
+
347
+ if (container) {
348
+ spacingClasses = resolveSpacingClasses(spacing, breakpoints);
349
+ }
350
+
351
+ const breakpointsClasses = [];
352
+ breakpoints.forEach(breakpoint => {
353
+ const value = ownerState[breakpoint];
354
+
355
+ if (value) {
356
+ breakpointsClasses.push(`grid-${breakpoint}-${String(value)}`);
357
+ }
358
+ });
308
359
  const slots = {
309
- 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)}`]
360
+ root: ['root', container && 'container', item && 'item', zeroMinWidth && 'zeroMinWidth', ...spacingClasses, direction !== 'row' && `direction-xs-${String(direction)}`, wrap !== 'wrap' && `wrap-xs-${String(wrap)}`, ...breakpointsClasses]
310
361
  };
311
362
  return (0, _base.unstable_composeClasses)(slots, _gridClasses.getGridUtilityClass, classes);
312
363
  };
@@ -316,6 +367,9 @@ const Grid = /*#__PURE__*/React.forwardRef(function Grid(inProps, ref) {
316
367
  props: inProps,
317
368
  name: 'MuiGrid'
318
369
  });
370
+ const {
371
+ breakpoints
372
+ } = (0, _useTheme.default)();
319
373
  const props = (0, _system.unstable_extendSxProp)(themeProps);
320
374
  const {
321
375
  className,
@@ -325,14 +379,9 @@ const Grid = /*#__PURE__*/React.forwardRef(function Grid(inProps, ref) {
325
379
  container = false,
326
380
  direction = 'row',
327
381
  item = false,
328
- lg = false,
329
- md = false,
330
382
  rowSpacing: rowSpacingProp,
331
- sm = false,
332
383
  spacing = 0,
333
384
  wrap = 'wrap',
334
- xl = false,
335
- xs = false,
336
385
  zeroMinWidth = false
337
386
  } = props,
338
387
  other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
@@ -341,20 +390,26 @@ const Grid = /*#__PURE__*/React.forwardRef(function Grid(inProps, ref) {
341
390
  const columnsContext = React.useContext(_GridContext.default); // columns set with default breakpoint unit of 12
342
391
 
343
392
  const columns = container ? columnsProp || 12 : columnsContext;
393
+ const breakpointsValues = {};
394
+ const otherFiltered = (0, _extends2.default)({}, other);
395
+ breakpoints.keys.forEach(breakpoint => {
396
+ if (other[breakpoint] != null) {
397
+ breakpointsValues[breakpoint] = other[breakpoint];
398
+ delete otherFiltered[breakpoint];
399
+ }
400
+ });
344
401
  const ownerState = (0, _extends2.default)({}, props, {
345
402
  columns,
346
403
  container,
347
404
  direction,
348
405
  item,
349
- lg,
350
- md,
351
- sm,
352
406
  rowSpacing,
353
407
  columnSpacing,
354
408
  wrap,
355
- xl,
356
- xs,
357
- zeroMinWidth
409
+ zeroMinWidth,
410
+ spacing
411
+ }, breakpointsValues, {
412
+ breakpoints: breakpoints.keys
358
413
  });
359
414
  const classes = useUtilityClasses(ownerState);
360
415
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridContext.default.Provider, {
@@ -364,7 +419,7 @@ const Grid = /*#__PURE__*/React.forwardRef(function Grid(inProps, ref) {
364
419
  className: (0, _clsx.default)(classes.root, className),
365
420
  as: component,
366
421
  ref: ref
367
- }, other))
422
+ }, otherFiltered))
368
423
  });
369
424
  });
370
425
  process.env.NODE_ENV !== "production" ? Grid.propTypes
package/node/Grow/Grow.js CHANGED
@@ -50,10 +50,9 @@ const styles = {
50
50
  /*
51
51
  TODO v6: remove
52
52
  Conditionally apply a workaround for the CSS transition bug in Safari 15.4 / WebKit browsers.
53
- Remove this workaround once the WebKit bug fix is released.
54
53
  */
55
54
 
56
- const isWebKit154 = typeof navigator !== 'undefined' && /^((?!chrome|android).)*(safari|mobile)/i.test(navigator.userAgent) && /(os |version\/)15(.|_)[4-9]/i.test(navigator.userAgent);
55
+ const isWebKit154 = typeof navigator !== 'undefined' && /^((?!chrome|android).)*(safari|mobile)/i.test(navigator.userAgent) && /(os |version\/)15(.|_)4/i.test(navigator.userAgent);
57
56
  /**
58
57
  * The Grow transition is used by the [Tooltip](/material-ui/react-tooltip/) and
59
58
  * [Popover](/material-ui/react-popover/) components.
@@ -19,8 +19,6 @@ var _utils = require("@mui/utils");
19
19
 
20
20
  var _system = require("@mui/system");
21
21
 
22
- var _hoistNonReactStatics = _interopRequireDefault(require("hoist-non-react-statics"));
23
-
24
22
  var _useTheme = _interopRequireDefault(require("../styles/useTheme"));
25
23
 
26
24
  var _useEnhancedEffect = _interopRequireDefault(require("../utils/useEnhancedEffect"));
@@ -141,7 +139,6 @@ const withWidth = (options = {}) => Component => {
141
139
  WithWidth.displayName = `WithWidth(${(0, _utils.getDisplayName)(Component)})`;
142
140
  }
143
141
 
144
- (0, _hoistNonReactStatics.default)(WithWidth, Component);
145
142
  return WithWidth;
146
143
  };
147
144
 
@@ -133,7 +133,7 @@ const InputBaseComponent = (0, _styled.default)('input', {
133
133
  const placeholder = (0, _extends2.default)({
134
134
  color: 'currentColor'
135
135
  }, theme.vars ? {
136
- opacity: theme.vars.opacity.placeholder
136
+ opacity: theme.vars.opacity.inputPlaceholder
137
137
  } : {
138
138
  opacity: light ? 0.42 : 0.5
139
139
  }, {
@@ -145,7 +145,7 @@ const InputBaseComponent = (0, _styled.default)('input', {
145
145
  opacity: '0 !important'
146
146
  };
147
147
  const placeholderVisible = theme.vars ? {
148
- opacity: theme.vars.opacity.placeholder
148
+ opacity: theme.vars.opacity.inputPlaceholder
149
149
  } : {
150
150
  opacity: light ? 0.42 : 0.5
151
151
  };
@@ -110,6 +110,10 @@ const getColorShade = (theme, color) => {
110
110
  return 'currentColor';
111
111
  }
112
112
 
113
+ if (theme.vars) {
114
+ return theme.vars.palette.LinearProgress[`${color}Bg`];
115
+ }
116
+
113
117
  return theme.palette.mode === 'light' ? (0, _system.lighten)(theme.palette[color].main, 0.62) : (0, _system.darken)(theme.palette[color].main, 0.5);
114
118
  };
115
119
 
@@ -202,7 +206,7 @@ const LinearProgressBar1 = (0, _styled.default)('span', {
202
206
  top: 0,
203
207
  transition: 'transform 0.2s linear',
204
208
  transformOrigin: 'left',
205
- backgroundColor: ownerState.color === 'inherit' ? 'currentColor' : theme.palette[ownerState.color].main
209
+ backgroundColor: ownerState.color === 'inherit' ? 'currentColor' : (theme.vars || theme).palette[ownerState.color].main
206
210
  }, ownerState.variant === 'determinate' && {
207
211
  transition: `transform .${TRANSITION_DURATION}s linear`
208
212
  }, ownerState.variant === 'buffer' && {
@@ -235,7 +239,7 @@ const LinearProgressBar2 = (0, _styled.default)('span', {
235
239
  transition: 'transform 0.2s linear',
236
240
  transformOrigin: 'left'
237
241
  }, ownerState.variant !== 'buffer' && {
238
- backgroundColor: ownerState.color === 'inherit' ? 'currentColor' : theme.palette[ownerState.color].main
242
+ backgroundColor: ownerState.color === 'inherit' ? 'currentColor' : (theme.vars || theme).palette[ownerState.color].main
239
243
  }, ownerState.color === 'inherit' && {
240
244
  opacity: 0.3
241
245
  }, ownerState.variant === 'buffer' && {
package/node/Link/Link.js CHANGED
@@ -21,8 +21,6 @@ var _utils = require("@mui/utils");
21
21
 
22
22
  var _base = require("@mui/base");
23
23
 
24
- var _system = require("@mui/system");
25
-
26
24
  var _capitalize = _interopRequireDefault(require("../utils/capitalize"));
27
25
 
28
26
  var _styled = _interopRequireDefault(require("../styles/styled"));
@@ -37,6 +35,8 @@ var _Typography = _interopRequireDefault(require("../Typography"));
37
35
 
38
36
  var _linkClasses = _interopRequireWildcard(require("./linkClasses"));
39
37
 
38
+ var _getTextDecoration = _interopRequireWildcard(require("./getTextDecoration"));
39
+
40
40
  var _jsxRuntime = require("react/jsx-runtime");
41
41
 
42
42
  const _excluded = ["className", "color", "component", "onBlur", "onFocus", "TypographyClasses", "underline", "variant", "sx"];
@@ -45,18 +45,6 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
45
45
 
46
46
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
47
47
 
48
- const colorTransformations = {
49
- primary: 'primary.main',
50
- textPrimary: 'text.primary',
51
- secondary: 'secondary.main',
52
- textSecondary: 'text.secondary',
53
- error: 'error.main'
54
- };
55
-
56
- const transformDeprecatedColors = color => {
57
- return colorTransformations[color] || color;
58
- };
59
-
60
48
  const useUtilityClasses = ownerState => {
61
49
  const {
62
50
  classes,
@@ -83,7 +71,6 @@ const LinkRoot = (0, _styled.default)(_Typography.default, {
83
71
  theme,
84
72
  ownerState
85
73
  }) => {
86
- const color = (0, _system.getPath)(theme, `palette.${transformDeprecatedColors(ownerState.color)}`) || ownerState.color;
87
74
  return (0, _extends2.default)({}, ownerState.underline === 'none' && {
88
75
  textDecoration: 'none'
89
76
  }, ownerState.underline === 'hover' && {
@@ -91,13 +78,18 @@ const LinkRoot = (0, _styled.default)(_Typography.default, {
91
78
  '&:hover': {
92
79
  textDecoration: 'underline'
93
80
  }
94
- }, ownerState.underline === 'always' && {
95
- textDecoration: 'underline',
96
- textDecorationColor: color !== 'inherit' ? (0, _system.alpha)(color, 0.4) : undefined,
81
+ }, ownerState.underline === 'always' && (0, _extends2.default)({
82
+ textDecoration: 'underline'
83
+ }, ownerState.color !== 'inherit' && {
84
+ textDecorationColor: (0, _getTextDecoration.default)({
85
+ theme,
86
+ ownerState
87
+ })
88
+ }, {
97
89
  '&:hover': {
98
90
  textDecorationColor: 'inherit'
99
91
  }
100
- }, ownerState.component === 'button' && {
92
+ }), ownerState.component === 'button' && {
101
93
  position: 'relative',
102
94
  WebkitTapHighlightColor: 'transparent',
103
95
  backgroundColor: 'transparent',
@@ -194,7 +186,7 @@ const Link = /*#__PURE__*/React.forwardRef(function Link(inProps, ref) {
194
186
  ref: handlerRef,
195
187
  ownerState: ownerState,
196
188
  variant: variant,
197
- sx: [...(!Object.keys(colorTransformations).includes(color) ? [{
189
+ sx: [...(!Object.keys(_getTextDecoration.colorTransformations).includes(color) ? [{
198
190
  color
199
191
  }] : []), ...(Array.isArray(sx) ? sx : [sx])]
200
192
  }, other));
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = exports.colorTransformations = void 0;
7
+
8
+ var _system = require("@mui/system");
9
+
10
+ const colorTransformations = {
11
+ primary: 'primary.main',
12
+ textPrimary: 'text.primary',
13
+ secondary: 'secondary.main',
14
+ textSecondary: 'text.secondary',
15
+ error: 'error.main'
16
+ };
17
+ exports.colorTransformations = colorTransformations;
18
+
19
+ const transformDeprecatedColors = color => {
20
+ return colorTransformations[color] || color;
21
+ };
22
+
23
+ const getTextDecoration = ({
24
+ theme,
25
+ ownerState
26
+ }) => {
27
+ const transformedColor = transformDeprecatedColors(ownerState.color);
28
+ const color = (0, _system.getPath)(theme, `palette.${transformedColor}`, false) || ownerState.color;
29
+ const channelColor = (0, _system.getPath)(theme, `palette.${transformedColor}Channel`);
30
+
31
+ if ('vars' in theme && channelColor) {
32
+ return `rgba(${channelColor} / 0.4)`;
33
+ }
34
+
35
+ return (0, _system.alpha)(color, 0.4);
36
+ };
37
+
38
+ var _default = getTextDecoration;
39
+ exports.default = _default;
@@ -29,7 +29,7 @@ var _Backdrop = _interopRequireDefault(require("../Backdrop"));
29
29
 
30
30
  var _jsxRuntime = require("react/jsx-runtime");
31
31
 
32
- const _excluded = ["BackdropComponent", "closeAfterTransition", "children", "components", "componentsProps", "disableAutoFocus", "disableEnforceFocus", "disableEscapeKeyDown", "disablePortal", "disableRestoreFocus", "disableScrollLock", "hideBackdrop", "keepMounted"];
32
+ const _excluded = ["BackdropComponent", "BackdropProps", "closeAfterTransition", "children", "component", "components", "componentsProps", "disableAutoFocus", "disableEnforceFocus", "disableEscapeKeyDown", "disablePortal", "disableRestoreFocus", "disableScrollLock", "hideBackdrop", "keepMounted", "theme"];
33
33
 
34
34
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
35
35
 
@@ -88,7 +88,7 @@ const ModalBackdrop = (0, _styled.default)(_Backdrop.default, {
88
88
  */
89
89
 
90
90
  const Modal = /*#__PURE__*/React.forwardRef(function Modal(inProps, ref) {
91
- var _componentsProps$root;
91
+ var _ref, _components$Root;
92
92
 
93
93
  const props = (0, _useThemeProps.default)({
94
94
  name: 'MuiModal',
@@ -96,8 +96,10 @@ const Modal = /*#__PURE__*/React.forwardRef(function Modal(inProps, ref) {
96
96
  });
97
97
  const {
98
98
  BackdropComponent = ModalBackdrop,
99
+ BackdropProps,
99
100
  closeAfterTransition = false,
100
101
  children,
102
+ component,
101
103
  components = {},
102
104
  componentsProps = {},
103
105
  disableAutoFocus = false,
@@ -107,7 +109,9 @@ const Modal = /*#__PURE__*/React.forwardRef(function Modal(inProps, ref) {
107
109
  disableRestoreFocus = false,
108
110
  disableScrollLock = false,
109
111
  hideBackdrop = false,
110
- keepMounted = false
112
+ keepMounted = false,
113
+ // eslint-disable-next-line react/prop-types
114
+ theme
111
115
  } = props,
112
116
  other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
113
117
  const [exited, setExited] = React.useState(true);
@@ -126,16 +130,19 @@ const Modal = /*#__PURE__*/React.forwardRef(function Modal(inProps, ref) {
126
130
  exited
127
131
  });
128
132
  const classes = extendUtilityClasses(ownerState);
133
+ const Root = (_ref = (_components$Root = components.Root) != null ? _components$Root : component) != null ? _ref : ModalRoot;
129
134
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ModalUnstyled.default, (0, _extends2.default)({
130
135
  components: (0, _extends2.default)({
131
- Root: ModalRoot
136
+ Root,
137
+ Backdrop: BackdropComponent
132
138
  }, components),
133
139
  componentsProps: {
134
- root: (0, _extends2.default)({}, componentsProps.root, (!components.Root || !(0, _base.isHostComponent)(components.Root)) && {
135
- ownerState: (0, _extends2.default)({}, (_componentsProps$root = componentsProps.root) == null ? void 0 : _componentsProps$root.ownerState)
136
- })
140
+ root: (0, _extends2.default)({}, componentsProps.root, !(0, _base.isHostComponent)(Root) && {
141
+ as: component,
142
+ theme
143
+ }),
144
+ backdrop: (0, _extends2.default)({}, BackdropProps, componentsProps.backdrop)
137
145
  },
138
- BackdropComponent: BackdropComponent,
139
146
  onTransitionEnter: () => setExited(false),
140
147
  onTransitionExited: () => setExited(true),
141
148
  ref: ref
@@ -155,6 +162,7 @@ process.env.NODE_ENV !== "production" ? Modal.propTypes
155
162
 
156
163
  /**
157
164
  * A backdrop component. This prop enables custom backdrop rendering.
165
+ * @deprecated Use `components.Backdrop` instead.
158
166
  * @default styled(Backdrop, {
159
167
  * name: 'MuiModal',
160
168
  * slot: 'Backdrop',
@@ -169,6 +177,7 @@ process.env.NODE_ENV !== "production" ? Modal.propTypes
169
177
 
170
178
  /**
171
179
  * Props applied to the [`Backdrop`](/material-ui/api/backdrop/) element.
180
+ * @deprecated Use `componentsProps.backdrop` instead.
172
181
  */
173
182
  BackdropProps: _propTypes.default.object,
174
183
 
@@ -188,12 +197,19 @@ process.env.NODE_ENV !== "production" ? Modal.propTypes
188
197
  */
189
198
  closeAfterTransition: _propTypes.default.bool,
190
199
 
200
+ /**
201
+ * The component used for the root node.
202
+ * Either a string to use a HTML element or a component.
203
+ */
204
+ component: _propTypes.default.elementType,
205
+
191
206
  /**
192
207
  * The components used for each slot inside the Modal.
193
208
  * Either a string to use a HTML element or a component.
194
209
  * @default {}
195
210
  */
196
211
  components: _propTypes.default.shape({
212
+ Backdrop: _propTypes.default.elementType,
197
213
  Root: _propTypes.default.elementType
198
214
  }),
199
215
 
@@ -202,6 +218,7 @@ process.env.NODE_ENV !== "production" ? Modal.propTypes
202
218
  * @default {}
203
219
  */
204
220
  componentsProps: _propTypes.default.shape({
221
+ backdrop: _propTypes.default.object,
205
222
  root: _propTypes.default.object
206
223
  }),
207
224
 
@@ -66,25 +66,25 @@ const OutlinedInputRoot = (0, _styled.default)(_InputBase.InputBaseRoot, {
66
66
  const borderColor = theme.palette.mode === 'light' ? 'rgba(0, 0, 0, 0.23)' : 'rgba(255, 255, 255, 0.23)';
67
67
  return (0, _extends2.default)({
68
68
  position: 'relative',
69
- borderRadius: theme.shape.borderRadius,
69
+ borderRadius: (theme.vars || theme).shape.borderRadius,
70
70
  [`&:hover .${_outlinedInputClasses.default.notchedOutline}`]: {
71
- borderColor: theme.palette.text.primary
71
+ borderColor: (theme.vars || theme).palette.text.primary
72
72
  },
73
73
  // Reset on touch devices, it doesn't add specificity
74
74
  '@media (hover: none)': {
75
75
  [`&:hover .${_outlinedInputClasses.default.notchedOutline}`]: {
76
- borderColor
76
+ borderColor: theme.vars ? `rgba(${theme.vars.palette.common.onBackgroundChannel} / 0.23)` : borderColor
77
77
  }
78
78
  },
79
79
  [`&.${_outlinedInputClasses.default.focused} .${_outlinedInputClasses.default.notchedOutline}`]: {
80
- borderColor: theme.palette[ownerState.color].main,
80
+ borderColor: (theme.vars || theme).palette[ownerState.color].main,
81
81
  borderWidth: 2
82
82
  },
83
83
  [`&.${_outlinedInputClasses.default.error} .${_outlinedInputClasses.default.notchedOutline}`]: {
84
- borderColor: theme.palette.error.main
84
+ borderColor: (theme.vars || theme).palette.error.main
85
85
  },
86
86
  [`&.${_outlinedInputClasses.default.disabled} .${_outlinedInputClasses.default.notchedOutline}`]: {
87
- borderColor: theme.palette.action.disabled
87
+ borderColor: (theme.vars || theme).palette.action.disabled
88
88
  }
89
89
  }, ownerState.startAdornment && {
90
90
  paddingLeft: 14
@@ -102,9 +102,12 @@ const NotchedOutlineRoot = (0, _styled.default)(_NotchedOutline.default, {
102
102
  overridesResolver: (props, styles) => styles.notchedOutline
103
103
  })(({
104
104
  theme
105
- }) => ({
106
- borderColor: theme.palette.mode === 'light' ? 'rgba(0, 0, 0, 0.23)' : 'rgba(255, 255, 255, 0.23)'
107
- }));
105
+ }) => {
106
+ const borderColor = theme.palette.mode === 'light' ? 'rgba(0, 0, 0, 0.23)' : 'rgba(255, 255, 255, 0.23)';
107
+ return {
108
+ borderColor: theme.vars ? `rgba(${theme.vars.palette.common.onBackgroundChannel} / 0.23)` : borderColor
109
+ };
110
+ });
108
111
  const OutlinedInputInput = (0, _styled.default)(_InputBase.InputBaseComponent, {
109
112
  name: 'MuiOutlinedInput',
110
113
  slot: 'Input',
@@ -113,13 +116,25 @@ const OutlinedInputInput = (0, _styled.default)(_InputBase.InputBaseComponent, {
113
116
  theme,
114
117
  ownerState
115
118
  }) => (0, _extends2.default)({
116
- padding: '16.5px 14px',
119
+ padding: '16.5px 14px'
120
+ }, !theme.vars && {
117
121
  '&:-webkit-autofill': {
118
122
  WebkitBoxShadow: theme.palette.mode === 'light' ? null : '0 0 0 100px #266798 inset',
119
123
  WebkitTextFillColor: theme.palette.mode === 'light' ? null : '#fff',
120
124
  caretColor: theme.palette.mode === 'light' ? null : '#fff',
121
125
  borderRadius: 'inherit'
122
126
  }
127
+ }, theme.vars && {
128
+ '&:-webkit-autofill': {
129
+ borderRadius: 'inherit'
130
+ },
131
+ [theme.getColorSchemeSelector('dark')]: {
132
+ '&:-webkit-autofill': {
133
+ WebkitBoxShadow: '0 0 0 100px #266798 inset',
134
+ WebkitTextFillColor: '#fff',
135
+ caretColor: '#fff'
136
+ }
137
+ }
123
138
  }, ownerState.size === 'small' && {
124
139
  padding: '8.5px 14px'
125
140
  }, ownerState.multiline && {
@@ -1,7 +1,5 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
3
  Object.defineProperty(exports, "__esModule", {
6
4
  value: true
7
5
  });
@@ -21,7 +19,19 @@ Object.defineProperty(exports, "popoverClasses", {
21
19
  }
22
20
  });
23
21
 
24
- var _Popover = _interopRequireDefault(require("./Popover"));
22
+ var _Popover = _interopRequireWildcard(require("./Popover"));
23
+
24
+ Object.keys(_Popover).forEach(function (key) {
25
+ if (key === "default" || key === "__esModule") return;
26
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
27
+ if (key in exports && exports[key] === _Popover[key]) return;
28
+ Object.defineProperty(exports, key, {
29
+ enumerable: true,
30
+ get: function () {
31
+ return _Popover[key];
32
+ }
33
+ });
34
+ });
25
35
 
26
36
  var _popoverClasses = _interopRequireWildcard(require("./popoverClasses"));
27
37
 
@@ -97,7 +97,7 @@ const SkeletonRoot = (0, _styled.default)('span', {
97
97
  return (0, _extends2.default)({
98
98
  display: 'block',
99
99
  // Create a "on paper" color with sufficient contrast retaining the color
100
- backgroundColor: (0, _styles.alpha)(theme.palette.text.primary, theme.palette.mode === 'light' ? 0.11 : 0.13),
100
+ backgroundColor: theme.vars ? theme.vars.palette.Skeleton.bg : (0, _styles.alpha)(theme.palette.text.primary, theme.palette.mode === 'light' ? 0.11 : 0.13),
101
101
  height: '1.2em'
102
102
  }, ownerState.variant === 'text' && {
103
103
  marginTop: 0,
@@ -136,7 +136,12 @@ const SkeletonRoot = (0, _styled.default)('span', {
136
136
 
137
137
  &::after {
138
138
  animation: ${waveKeyframe} 1.6s linear 0.5s infinite;
139
- background: linear-gradient(90deg, transparent, ${theme.palette.action.hover}, transparent);
139
+ background: linear-gradient(
140
+ 90deg,
141
+ transparent,
142
+ ${(theme.vars || theme).palette.action.hover},
143
+ transparent
144
+ );
140
145
  content: '';
141
146
  position: absolute;
142
147
  transform: translateX(-100%); /* Avoid flash during server-side hydration */