@mui/material 5.11.15 → 5.12.0

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 (115) hide show
  1. package/Autocomplete/Autocomplete.js +9 -1
  2. package/Badge/badgeClasses.d.ts +18 -18
  3. package/Box/Box.js +2 -0
  4. package/CHANGELOG.md +139 -26
  5. package/CardActionArea/CardActionArea.js +2 -0
  6. package/GlobalStyles/GlobalStyles.js +4 -4
  7. package/Menu/Menu.js +1 -1
  8. package/NativeSelect/NativeSelectInput.d.ts +1 -0
  9. package/NativeSelect/NativeSelectInput.js +12 -5
  10. package/NativeSelect/nativeSelectClasses.d.ts +2 -0
  11. package/NativeSelect/nativeSelectClasses.js +1 -1
  12. package/OverridableComponent.d.ts +1 -1
  13. package/PaginationItem/paginationItemClasses.d.ts +2 -2
  14. package/Popper/Popper.js +0 -4
  15. package/README.md +5 -5
  16. package/Select/Select.d.ts +1 -1
  17. package/Select/Select.js +15 -10
  18. package/Select/SelectInput.d.ts +1 -0
  19. package/Select/SelectInput.js +14 -4
  20. package/Select/selectClasses.d.ts +2 -0
  21. package/Select/selectClasses.js +1 -1
  22. package/Slider/Slider.js +6 -6
  23. package/Slider/sliderClasses.d.ts +22 -22
  24. package/Tabs/Tabs.js +1 -1
  25. package/Toolbar/Toolbar.d.ts +1 -1
  26. package/Toolbar/Toolbar.js +1 -1
  27. package/Unstable_Grid2/Grid2.js +1 -0
  28. package/darkScrollbar/index.js +1 -1
  29. package/index.js +1 -1
  30. package/legacy/Autocomplete/Autocomplete.js +8 -3
  31. package/legacy/Box/Box.js +2 -0
  32. package/legacy/CardActionArea/CardActionArea.js +2 -0
  33. package/legacy/GlobalStyles/GlobalStyles.js +4 -4
  34. package/legacy/Menu/Menu.js +1 -1
  35. package/legacy/NativeSelect/NativeSelectInput.js +12 -5
  36. package/legacy/NativeSelect/nativeSelectClasses.js +1 -1
  37. package/legacy/Popper/Popper.js +0 -4
  38. package/legacy/Select/Select.js +15 -10
  39. package/legacy/Select/SelectInput.js +14 -5
  40. package/legacy/Select/selectClasses.js +1 -1
  41. package/legacy/Slider/Slider.js +6 -6
  42. package/legacy/Tabs/Tabs.js +1 -1
  43. package/legacy/Toolbar/Toolbar.js +1 -1
  44. package/legacy/Unstable_Grid2/Grid2.js +1 -0
  45. package/legacy/darkScrollbar/index.js +1 -1
  46. package/legacy/index.js +1 -1
  47. package/legacy/styles/CssVarsProvider.js +2 -0
  48. package/legacy/styles/ThemeProvider.js +19 -1
  49. package/legacy/styles/identifier.js +1 -0
  50. package/legacy/styles/index.js +1 -0
  51. package/legacy/styles/styled.js +2 -0
  52. package/legacy/styles/useTheme.js +2 -1
  53. package/legacy/styles/useThemeProps.js +3 -1
  54. package/modern/Autocomplete/Autocomplete.js +9 -1
  55. package/modern/Box/Box.js +2 -0
  56. package/modern/CardActionArea/CardActionArea.js +2 -0
  57. package/modern/GlobalStyles/GlobalStyles.js +4 -4
  58. package/modern/Menu/Menu.js +1 -1
  59. package/modern/NativeSelect/NativeSelectInput.js +12 -5
  60. package/modern/NativeSelect/nativeSelectClasses.js +1 -1
  61. package/modern/Popper/Popper.js +0 -4
  62. package/modern/Select/Select.js +15 -10
  63. package/modern/Select/SelectInput.js +14 -4
  64. package/modern/Select/selectClasses.js +1 -1
  65. package/modern/Slider/Slider.js +6 -6
  66. package/modern/Tabs/Tabs.js +1 -1
  67. package/modern/Toolbar/Toolbar.js +1 -1
  68. package/modern/Unstable_Grid2/Grid2.js +1 -0
  69. package/modern/darkScrollbar/index.js +1 -1
  70. package/modern/index.js +1 -1
  71. package/modern/styles/CssVarsProvider.js +2 -0
  72. package/modern/styles/ThemeProvider.js +22 -1
  73. package/modern/styles/identifier.js +1 -0
  74. package/modern/styles/index.js +1 -0
  75. package/modern/styles/styled.js +2 -0
  76. package/modern/styles/useTheme.js +2 -1
  77. package/modern/styles/useThemeProps.js +3 -1
  78. package/node/Autocomplete/Autocomplete.js +9 -1
  79. package/node/Box/Box.js +2 -0
  80. package/node/CardActionArea/CardActionArea.js +2 -0
  81. package/node/GlobalStyles/GlobalStyles.js +4 -4
  82. package/node/Menu/Menu.js +1 -1
  83. package/node/NativeSelect/NativeSelectInput.js +12 -5
  84. package/node/NativeSelect/nativeSelectClasses.js +1 -1
  85. package/node/Popper/Popper.js +0 -4
  86. package/node/Select/Select.js +15 -10
  87. package/node/Select/SelectInput.js +14 -4
  88. package/node/Select/selectClasses.js +1 -1
  89. package/node/Slider/Slider.js +6 -6
  90. package/node/Tabs/Tabs.js +1 -1
  91. package/node/Toolbar/Toolbar.js +1 -1
  92. package/node/Unstable_Grid2/Grid2.js +1 -0
  93. package/node/darkScrollbar/index.js +1 -1
  94. package/node/index.js +1 -1
  95. package/node/styles/CssVarsProvider.js +2 -0
  96. package/node/styles/ThemeProvider.js +26 -7
  97. package/node/styles/identifier.js +8 -0
  98. package/node/styles/index.js +8 -0
  99. package/node/styles/styled.js +2 -0
  100. package/node/styles/useTheme.js +2 -1
  101. package/node/styles/useThemeProps.js +3 -1
  102. package/package.json +7 -7
  103. package/styles/CssVarsProvider.d.ts +5 -0
  104. package/styles/CssVarsProvider.js +2 -0
  105. package/styles/ThemeProvider.js +22 -1
  106. package/styles/experimental_extendTheme.d.ts +1 -1
  107. package/styles/identifier.d.ts +2 -0
  108. package/styles/identifier.js +1 -0
  109. package/styles/index.d.ts +1 -0
  110. package/styles/index.js +1 -0
  111. package/styles/styled.js +2 -0
  112. package/styles/useTheme.js +2 -1
  113. package/styles/useThemeProps.js +3 -1
  114. package/umd/material-ui.development.js +660 -533
  115. package/umd/material-ui.production.min.js +21 -21
@@ -28,7 +28,7 @@ var SelectSelect = styled('div', {
28
28
  overridesResolver: function overridesResolver(props, styles) {
29
29
  var ownerState = props.ownerState;
30
30
  return [// Win specificity over the input base
31
- _defineProperty({}, "&.".concat(selectClasses.select), styles.select), _defineProperty({}, "&.".concat(selectClasses.select), styles[ownerState.variant]), _defineProperty({}, "&.".concat(selectClasses.multiple), styles.multiple)];
31
+ _defineProperty({}, "&.".concat(selectClasses.select), styles.select), _defineProperty({}, "&.".concat(selectClasses.select), styles[ownerState.variant]), _defineProperty({}, "&.".concat(selectClasses.error), styles.error), _defineProperty({}, "&.".concat(selectClasses.multiple), styles.multiple)];
32
32
  }
33
33
  })(nativeSelectSelectStyles, _defineProperty({}, "&.".concat(selectClasses.select), {
34
34
  height: 'auto',
@@ -81,9 +81,10 @@ var useUtilityClasses = function useUtilityClasses(ownerState) {
81
81
  variant = ownerState.variant,
82
82
  disabled = ownerState.disabled,
83
83
  multiple = ownerState.multiple,
84
- open = ownerState.open;
84
+ open = ownerState.open,
85
+ error = ownerState.error;
85
86
  var slots = {
86
- select: ['select', variant, disabled && 'disabled', multiple && 'multiple'],
87
+ select: ['select', variant, disabled && 'disabled', multiple && 'multiple', error && 'error'],
87
88
  icon: ['icon', "icon".concat(capitalize(variant)), open && 'iconOpen', disabled && 'disabled'],
88
89
  nativeInput: ['nativeInput']
89
90
  };
@@ -104,6 +105,8 @@ var SelectInput = /*#__PURE__*/React.forwardRef(function SelectInput(props, ref)
104
105
  defaultValue = props.defaultValue,
105
106
  disabled = props.disabled,
106
107
  displayEmpty = props.displayEmpty,
108
+ _props$error = props.error,
109
+ error = _props$error === void 0 ? false : _props$error,
107
110
  IconComponent = props.IconComponent,
108
111
  inputRefProp = props.inputRef,
109
112
  labelId = props.labelId,
@@ -126,7 +129,7 @@ var SelectInput = /*#__PURE__*/React.forwardRef(function SelectInput(props, ref)
126
129
  valueProp = props.value,
127
130
  _props$variant = props.variant,
128
131
  variant = _props$variant === void 0 ? 'standard' : _props$variant,
129
- other = _objectWithoutProperties(props, ["aria-describedby", "aria-label", "autoFocus", "autoWidth", "children", "className", "defaultOpen", "defaultValue", "disabled", "displayEmpty", "IconComponent", "inputRef", "labelId", "MenuProps", "multiple", "name", "onBlur", "onChange", "onClose", "onFocus", "onOpen", "open", "readOnly", "renderValue", "SelectDisplayProps", "tabIndex", "type", "value", "variant"]);
132
+ other = _objectWithoutProperties(props, ["aria-describedby", "aria-label", "autoFocus", "autoWidth", "children", "className", "defaultOpen", "defaultValue", "disabled", "displayEmpty", "error", "IconComponent", "inputRef", "labelId", "MenuProps", "multiple", "name", "onBlur", "onChange", "onClose", "onFocus", "onOpen", "open", "readOnly", "renderValue", "SelectDisplayProps", "tabIndex", "type", "value", "variant"]);
130
133
  var _useControlled = useControlled({
131
134
  controlled: valueProp,
132
135
  default: defaultValue,
@@ -435,7 +438,8 @@ var SelectInput = /*#__PURE__*/React.forwardRef(function SelectInput(props, ref)
435
438
  var ownerState = _extends({}, props, {
436
439
  variant: variant,
437
440
  value: value,
438
- open: open
441
+ open: open,
442
+ error: error
439
443
  });
440
444
  var classes = useUtilityClasses(ownerState);
441
445
  return /*#__PURE__*/_jsxs(React.Fragment, {
@@ -465,6 +469,7 @@ var SelectInput = /*#__PURE__*/React.forwardRef(function SelectInput(props, ref)
465
469
  children: "\u200B"
466
470
  })) : display
467
471
  })), /*#__PURE__*/_jsx(SelectNativeInput, _extends({
472
+ "aria-invalid": error,
468
473
  value: Array.isArray(value) ? value.join(',') : value,
469
474
  name: name,
470
475
  ref: inputRef,
@@ -556,6 +561,10 @@ process.env.NODE_ENV !== "production" ? SelectInput.propTypes = {
556
561
  * If `true`, the selected item is displayed even if its value is empty.
557
562
  */
558
563
  displayEmpty: PropTypes.bool,
564
+ /**
565
+ * If `true`, the `select input` will indicate an error.
566
+ */
567
+ error: PropTypes.bool,
559
568
  /**
560
569
  * The icon that displays the arrow.
561
570
  */
@@ -3,5 +3,5 @@ import generateUtilityClass from '../generateUtilityClass';
3
3
  export function getSelectUtilityClasses(slot) {
4
4
  return generateUtilityClass('MuiSelect', slot);
5
5
  }
6
- var selectClasses = generateUtilityClasses('MuiSelect', ['select', 'multiple', 'filled', 'outlined', 'standard', 'disabled', 'focused', 'icon', 'iconOpen', 'iconFilled', 'iconOutlined', 'iconStandard', 'nativeInput']);
6
+ var selectClasses = generateUtilityClasses('MuiSelect', ['select', 'multiple', 'filled', 'outlined', 'standard', 'disabled', 'focused', 'icon', 'iconOpen', 'iconFilled', 'iconOutlined', 'iconStandard', 'nativeInput', 'error']);
7
7
  export default selectClasses;
@@ -268,13 +268,13 @@ var StyledSliderValueLabel = styled(SliderValueLabel, {
268
268
  var theme = _ref5.theme,
269
269
  ownerState = _ref5.ownerState;
270
270
  return _extends((_extends4 = {}, _defineProperty(_extends4, "&.".concat(sliderClasses.valueLabelOpen), {
271
- transform: 'translateY(-100%) scale(1)'
271
+ transform: "".concat(ownerState.orientation === 'vertical' ? 'translateY(-50%)' : 'translateY(-100%)', " scale(1)")
272
272
  }), _defineProperty(_extends4, "zIndex", 1), _defineProperty(_extends4, "whiteSpace", 'nowrap'), _extends4), theme.typography.body2, {
273
273
  fontWeight: 500,
274
274
  transition: theme.transitions.create(['transform'], {
275
275
  duration: theme.transitions.duration.shortest
276
276
  }),
277
- transform: 'translateY(-100%) scale(0)',
277
+ transform: "".concat(ownerState.orientation === 'vertical' ? 'translateY(-50%)' : 'translateY(-100%)', " scale(0)"),
278
278
  position: 'absolute',
279
279
  backgroundColor: (theme.vars || theme).palette.grey[600],
280
280
  borderRadius: 2,
@@ -297,18 +297,18 @@ var StyledSliderValueLabel = styled(SliderValueLabel, {
297
297
  left: '50%'
298
298
  }
299
299
  }, ownerState.orientation === 'vertical' && {
300
- right: '30px',
301
- top: '24px',
300
+ right: ownerState.size === 'small' ? '20px' : '30px',
301
+ top: '50%',
302
302
  transformOrigin: 'right center',
303
303
  '&:before': {
304
304
  position: 'absolute',
305
305
  content: '""',
306
306
  width: 8,
307
307
  height: 8,
308
- transform: 'translate(-50%, 50%) rotate(45deg)',
308
+ transform: 'translate(-50%, -50%) rotate(45deg)',
309
309
  backgroundColor: 'inherit',
310
310
  right: '-20%',
311
- top: '25%'
311
+ top: '50%'
312
312
  }
313
313
  }, ownerState.size === 'small' && {
314
314
  fontSize: theme.typography.pxToRem(12),
@@ -425,7 +425,7 @@ var Tabs = /*#__PURE__*/React.forwardRef(function Tabs(inProps, ref) {
425
425
  moveTabsScroll(getScrollSize());
426
426
  };
427
427
 
428
- // TODO Remove <ScrollbarSize /> as browser support for hidding the scrollbar
428
+ // TODO Remove <ScrollbarSize /> as browser support for hiding the scrollbar
429
429
  // with CSS improves.
430
430
  var handleScrollbarSizeChange = React.useCallback(function (scrollbarWidth) {
431
431
  setScrollerStyle({
@@ -79,7 +79,7 @@ process.env.NODE_ENV !== "production" ? Toolbar.propTypes /* remove-proptypes */
79
79
  // ----------------------------------------------------------------------
80
80
  /**
81
81
  * The Toolbar children, usually a mixture of `IconButton`, `Button` and `Typography`.
82
- * The Toolbar is a flex container, allowing flex item properites to be used to lay out the children.
82
+ * The Toolbar is a flex container, allowing flex item properties to be used to lay out the children.
83
83
  */
84
84
  children: PropTypes.node,
85
85
  /**
@@ -4,6 +4,7 @@ import { styled, useThemeProps as _useThemeProps } from '../styles';
4
4
  var Grid2 = createGrid2({
5
5
  createStyledComponent: styled('div', {
6
6
  name: 'MuiGrid2',
7
+ slot: 'Root',
7
8
  overridesResolver: function overridesResolver(props, styles) {
8
9
  return styles.root;
9
10
  }
@@ -1,4 +1,4 @@
1
- // track, thumb and active are derieved from macOS 10.15.7
1
+ // track, thumb and active are derived from macOS 10.15.7
2
2
  var scrollBar = {
3
3
  track: '#2b2b2b',
4
4
  thumb: '#6b6b6b',
package/legacy/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/material v5.11.15
2
+ * @mui/material v5.12.0
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the
@@ -3,8 +3,10 @@ import { unstable_createCssVarsProvider as createCssVarsProvider, unstable_style
3
3
  import experimental_extendTheme from './experimental_extendTheme';
4
4
  import createTypography from './createTypography';
5
5
  import excludeVariablesFromRoot from './excludeVariablesFromRoot';
6
+ import THEME_ID from './identifier';
6
7
  var defaultTheme = experimental_extendTheme();
7
8
  var _createCssVarsProvide = createCssVarsProvider({
9
+ themeId: THEME_ID,
8
10
  theme: defaultTheme,
9
11
  attribute: 'data-mui-color-scheme',
10
12
  modeStorageKey: 'mui-mode',
@@ -1 +1,19 @@
1
- export { ThemeProvider as default } from '@mui/system';
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
+ import * as React from 'react';
4
+ import PropTypes from 'prop-types';
5
+ import { ThemeProvider as SystemThemeProvider } from '@mui/system';
6
+ import THEME_ID from './identifier';
7
+ import { jsx as _jsx } from "react/jsx-runtime";
8
+ export default function ThemeProvider(_ref) {
9
+ var themeInput = _ref.theme,
10
+ props = _objectWithoutProperties(_ref, ["theme"]);
11
+ var scopedTheme = themeInput[THEME_ID];
12
+ return /*#__PURE__*/_jsx(SystemThemeProvider, _extends({}, props, {
13
+ themeId: scopedTheme ? THEME_ID : undefined,
14
+ theme: scopedTheme || themeInput
15
+ }));
16
+ }
17
+ process.env.NODE_ENV !== "production" ? ThemeProvider.propTypes = {
18
+ theme: PropTypes.object
19
+ } : void 0;
@@ -0,0 +1 @@
1
+ export default '$$material';
@@ -1,4 +1,5 @@
1
1
  import { formatMuiErrorMessage as _formatMuiErrorMessage } from "@mui/utils";
2
+ export { default as THEME_ID } from './identifier';
2
3
  export { default as adaptV4Theme } from './adaptV4Theme';
3
4
  export { hexToRgb, rgbToHex, hslToRgb, decomposeColor, recomposeColor, getContrastRatio, getLuminance, emphasize, alpha, darken, lighten, css, keyframes } from '@mui/system';
4
5
  // TODO: Remove this function in v6.
@@ -1,10 +1,12 @@
1
1
  import { createStyled, shouldForwardProp } from '@mui/system';
2
2
  import defaultTheme from './defaultTheme';
3
+ import THEME_ID from './identifier';
3
4
  export var rootShouldForwardProp = function rootShouldForwardProp(prop) {
4
5
  return shouldForwardProp(prop) && prop !== 'classes';
5
6
  };
6
7
  export var slotShouldForwardProp = shouldForwardProp;
7
8
  var styled = createStyled({
9
+ themeId: THEME_ID,
8
10
  defaultTheme: defaultTheme,
9
11
  rootShouldForwardProp: rootShouldForwardProp
10
12
  });
@@ -1,11 +1,12 @@
1
1
  import * as React from 'react';
2
2
  import { useTheme as useThemeSystem } from '@mui/system';
3
3
  import defaultTheme from './defaultTheme';
4
+ import THEME_ID from './identifier';
4
5
  export default function useTheme() {
5
6
  var theme = useThemeSystem(defaultTheme);
6
7
  if (process.env.NODE_ENV !== 'production') {
7
8
  // eslint-disable-next-line react-hooks/rules-of-hooks
8
9
  React.useDebugValue(theme);
9
10
  }
10
- return theme;
11
+ return theme[THEME_ID] || theme;
11
12
  }
@@ -1,11 +1,13 @@
1
1
  import { useThemeProps as systemUseThemeProps } from '@mui/system';
2
2
  import defaultTheme from './defaultTheme';
3
+ import THEME_ID from './identifier';
3
4
  export default function useThemeProps(_ref) {
4
5
  var props = _ref.props,
5
6
  name = _ref.name;
6
7
  return systemUseThemeProps({
7
8
  props: props,
8
9
  name: name,
9
- defaultTheme: defaultTheme
10
+ defaultTheme: defaultTheme,
11
+ themeId: THEME_ID
10
12
  });
11
13
  }
@@ -449,6 +449,9 @@ const Autocomplete = /*#__PURE__*/React.forwardRef(function Autocomplete(inProps
449
449
  }));
450
450
  const hasClearIcon = !disableClearable && !disabled && dirty && !readOnly;
451
451
  const hasPopupIcon = (!freeSolo || forcePopupIcon === true) && forcePopupIcon !== false;
452
+ const {
453
+ onMouseDown: handleInputMouseDown
454
+ } = getInputProps();
452
455
 
453
456
  // If you modify this, make sure to keep the `AutocompleteOwnerState` type in sync.
454
457
  const ownerState = _extends({}, props, {
@@ -539,7 +542,12 @@ const Autocomplete = /*#__PURE__*/React.forwardRef(function Autocomplete(inProps
539
542
  InputProps: _extends({
540
543
  ref: setAnchorEl,
541
544
  className: classes.inputRoot,
542
- startAdornment
545
+ startAdornment,
546
+ onClick: event => {
547
+ if (event.target === event.currentTarget) {
548
+ handleInputMouseDown(event);
549
+ }
550
+ }
543
551
  }, (hasClearIcon || hasPopupIcon) && {
544
552
  endAdornment: /*#__PURE__*/_jsxs(AutocompleteEndAdornment, {
545
553
  className: classes.endAdornment,
package/modern/Box/Box.js CHANGED
@@ -2,8 +2,10 @@ import { createBox } from '@mui/system';
2
2
  import PropTypes from 'prop-types';
3
3
  import { unstable_ClassNameGenerator as ClassNameGenerator } from '../className';
4
4
  import { createTheme } from '../styles';
5
+ import THEME_ID from '../styles/identifier';
5
6
  const defaultTheme = createTheme();
6
7
  const Box = createBox({
8
+ themeId: THEME_ID,
7
9
  defaultTheme,
8
10
  defaultClassName: 'MuiBox-root',
9
11
  generateClassName: ClassNameGenerator.generate
@@ -30,6 +30,8 @@ const CardActionAreaRoot = styled(ButtonBase, {
30
30
  }) => ({
31
31
  display: 'block',
32
32
  textAlign: 'inherit',
33
+ borderRadius: 'inherit',
34
+ // for Safari to work https://github.com/mui/material-ui/issues/36285.
33
35
  width: '100%',
34
36
  [`&:hover .${cardActionAreaClasses.focusHighlight}`]: {
35
37
  opacity: (theme.vars || theme).palette.action.hoverOpacity,
@@ -3,10 +3,12 @@ import * as React from 'react';
3
3
  import PropTypes from 'prop-types';
4
4
  import { GlobalStyles as SystemGlobalStyles } from '@mui/system';
5
5
  import defaultTheme from '../styles/defaultTheme';
6
+ import THEME_ID from '../styles/identifier';
6
7
  import { jsx as _jsx } from "react/jsx-runtime";
7
8
  function GlobalStyles(props) {
8
9
  return /*#__PURE__*/_jsx(SystemGlobalStyles, _extends({}, props, {
9
- defaultTheme: defaultTheme
10
+ defaultTheme: defaultTheme,
11
+ themeId: THEME_ID
10
12
  }));
11
13
  }
12
14
  process.env.NODE_ENV !== "production" ? GlobalStyles.propTypes /* remove-proptypes */ = {
@@ -17,8 +19,6 @@ process.env.NODE_ENV !== "production" ? GlobalStyles.propTypes /* remove-proptyp
17
19
  /**
18
20
  * The styles you want to apply globally.
19
21
  */
20
- styles: PropTypes.oneOfType([PropTypes.func, PropTypes.number, PropTypes.object, PropTypes.shape({
21
- __emotion_styles: PropTypes.any.isRequired
22
- }), PropTypes.string, PropTypes.bool])
22
+ styles: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.array, PropTypes.func, PropTypes.number, PropTypes.object, PropTypes.string, PropTypes.bool])
23
23
  } : void 0;
24
24
  export default GlobalStyles;
@@ -47,7 +47,7 @@ const MenuPaper = styled(Paper, {
47
47
  overridesResolver: (props, styles) => styles.paper
48
48
  })({
49
49
  // specZ: The maximum height of a simple menu should be one or more rows less than the view
50
- // height. This ensures a tapable area outside of the simple menu with which to dismiss
50
+ // height. This ensures a tappable area outside of the simple menu with which to dismiss
51
51
  // the menu.
52
52
  maxHeight: 'calc(100% - 96px)',
53
53
  // Add iOS momentum scrolling for iOS < 13.0
@@ -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", "disabled", "IconComponent", "inputRef", "variant"];
3
+ const _excluded = ["className", "disabled", "error", "IconComponent", "inputRef", "variant"];
4
4
  import * as React from 'react';
5
5
  import PropTypes from 'prop-types';
6
6
  import clsx from 'clsx';
@@ -17,10 +17,11 @@ const useUtilityClasses = ownerState => {
17
17
  variant,
18
18
  disabled,
19
19
  multiple,
20
- open
20
+ open,
21
+ error
21
22
  } = ownerState;
22
23
  const slots = {
23
- select: ['select', variant, disabled && 'disabled', multiple && 'multiple'],
24
+ select: ['select', variant, disabled && 'disabled', multiple && 'multiple', error && 'error'],
24
25
  icon: ['icon', `icon${capitalize(variant)}`, open && 'iconOpen', disabled && 'disabled']
25
26
  };
26
27
  return composeClasses(slots, getNativeSelectUtilityClasses, classes);
@@ -87,7 +88,7 @@ const NativeSelectSelect = styled('select', {
87
88
  const {
88
89
  ownerState
89
90
  } = props;
90
- return [styles.select, styles[ownerState.variant], {
91
+ return [styles.select, styles[ownerState.variant], ownerState.error && styles.error, {
91
92
  [`&.${nativeSelectClasses.multiple}`]: styles.multiple
92
93
  }];
93
94
  }
@@ -133,6 +134,7 @@ const NativeSelectInput = /*#__PURE__*/React.forwardRef(function NativeSelectInp
133
134
  const {
134
135
  className,
135
136
  disabled,
137
+ error,
136
138
  IconComponent,
137
139
  inputRef,
138
140
  variant = 'standard'
@@ -140,7 +142,8 @@ const NativeSelectInput = /*#__PURE__*/React.forwardRef(function NativeSelectInp
140
142
  other = _objectWithoutPropertiesLoose(props, _excluded);
141
143
  const ownerState = _extends({}, props, {
142
144
  disabled,
143
- variant
145
+ variant,
146
+ error
144
147
  });
145
148
  const classes = useUtilityClasses(ownerState);
146
149
  return /*#__PURE__*/_jsxs(React.Fragment, {
@@ -175,6 +178,10 @@ process.env.NODE_ENV !== "production" ? NativeSelectInput.propTypes = {
175
178
  * If `true`, the select is disabled.
176
179
  */
177
180
  disabled: PropTypes.bool,
181
+ /**
182
+ * If `true`, the `select input` will indicate an error.
183
+ */
184
+ error: PropTypes.bool,
178
185
  /**
179
186
  * The icon that displays the arrow.
180
187
  */
@@ -3,5 +3,5 @@ import generateUtilityClass from '../generateUtilityClass';
3
3
  export function getNativeSelectUtilityClasses(slot) {
4
4
  return generateUtilityClass('MuiNativeSelect', slot);
5
5
  }
6
- const nativeSelectClasses = generateUtilityClasses('MuiNativeSelect', ['root', 'select', 'multiple', 'filled', 'outlined', 'standard', 'disabled', 'icon', 'iconOpen', 'iconFilled', 'iconOutlined', 'iconStandard', 'nativeInput']);
6
+ const nativeSelectClasses = generateUtilityClasses('MuiNativeSelect', ['root', 'select', 'multiple', 'filled', 'outlined', 'standard', 'disabled', 'icon', 'iconOpen', 'iconFilled', 'iconOutlined', 'iconStandard', 'nativeInput', 'error']);
7
7
  export default nativeSelectClasses;
@@ -129,10 +129,6 @@ process.env.NODE_ENV !== "production" ? Popper.propTypes /* remove-proptypes */
129
129
  * If `true`, the component is shown.
130
130
  */
131
131
  open: PropTypes.bool.isRequired,
132
- /**
133
- * @ignore
134
- */
135
- ownerState: PropTypes.any,
136
132
  /**
137
133
  * Popper placement.
138
134
  * @default 'bottom'
@@ -1,6 +1,5 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
- var _StyledInput, _StyledFilledInput;
4
3
  const _excluded = ["autoWidth", "children", "classes", "className", "defaultOpen", "displayEmpty", "IconComponent", "id", "input", "inputProps", "label", "labelId", "MenuProps", "multiple", "native", "onClose", "onOpen", "open", "renderValue", "SelectDisplayProps", "variant"];
5
4
  import * as React from 'react';
6
5
  import PropTypes from 'prop-types';
@@ -67,21 +66,26 @@ const Select = /*#__PURE__*/React.forwardRef(function Select(inProps, ref) {
67
66
  const fcs = formControlState({
68
67
  props,
69
68
  muiFormControl,
70
- states: ['variant']
69
+ states: ['variant', 'error']
71
70
  });
72
71
  const variant = fcs.variant || variantProp;
73
- const InputComponent = input || {
74
- standard: _StyledInput || (_StyledInput = /*#__PURE__*/_jsx(StyledInput, {})),
75
- outlined: /*#__PURE__*/_jsx(StyledOutlinedInput, {
76
- label: label
77
- }),
78
- filled: _StyledFilledInput || (_StyledFilledInput = /*#__PURE__*/_jsx(StyledFilledInput, {}))
79
- }[variant];
80
72
  const ownerState = _extends({}, props, {
81
73
  variant,
82
74
  classes: classesProp
83
75
  });
84
76
  const classes = useUtilityClasses(ownerState);
77
+ const InputComponent = input || {
78
+ standard: /*#__PURE__*/_jsx(StyledInput, {
79
+ ownerState: ownerState
80
+ }),
81
+ outlined: /*#__PURE__*/_jsx(StyledOutlinedInput, {
82
+ label: label,
83
+ ownerState: ownerState
84
+ }),
85
+ filled: /*#__PURE__*/_jsx(StyledFilledInput, {
86
+ ownerState: ownerState
87
+ })
88
+ }[variant];
85
89
  const inputComponentRef = useForkRef(ref, InputComponent.ref);
86
90
  return /*#__PURE__*/_jsx(React.Fragment, {
87
91
  children: /*#__PURE__*/React.cloneElement(InputComponent, _extends({
@@ -90,6 +94,7 @@ const Select = /*#__PURE__*/React.forwardRef(function Select(inProps, ref) {
90
94
  inputComponent,
91
95
  inputProps: _extends({
92
96
  children,
97
+ error: fcs.error,
93
98
  IconComponent,
94
99
  variant,
95
100
  type: undefined,
@@ -223,7 +228,7 @@ process.env.NODE_ENV !== "production" ? Select.propTypes /* remove-proptypes */
223
228
  onChange: PropTypes.func,
224
229
  /**
225
230
  * Callback fired when the component requests to be closed.
226
- * Use it in either controlled (see the `open` prop), or uncontrolled mode (to detect when the Select collapes).
231
+ * Use it in either controlled (see the `open` prop), or uncontrolled mode (to detect when the Select collapses).
227
232
  *
228
233
  * @param {object} event The event source of the callback.
229
234
  */
@@ -2,7 +2,7 @@ import _extends from "@babel/runtime/helpers/esm/extends";
2
2
  import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
3
  import { formatMuiErrorMessage as _formatMuiErrorMessage } from "@mui/utils";
4
4
  var _span;
5
- const _excluded = ["aria-describedby", "aria-label", "autoFocus", "autoWidth", "children", "className", "defaultOpen", "defaultValue", "disabled", "displayEmpty", "IconComponent", "inputRef", "labelId", "MenuProps", "multiple", "name", "onBlur", "onChange", "onClose", "onFocus", "onOpen", "open", "readOnly", "renderValue", "SelectDisplayProps", "tabIndex", "type", "value", "variant"];
5
+ const _excluded = ["aria-describedby", "aria-label", "autoFocus", "autoWidth", "children", "className", "defaultOpen", "defaultValue", "disabled", "displayEmpty", "error", "IconComponent", "inputRef", "labelId", "MenuProps", "multiple", "name", "onBlur", "onChange", "onClose", "onFocus", "onOpen", "open", "readOnly", "renderValue", "SelectDisplayProps", "tabIndex", "type", "value", "variant"];
6
6
  import * as React from 'react';
7
7
  import { isFragment } from 'react-is';
8
8
  import PropTypes from 'prop-types';
@@ -33,6 +33,8 @@ const SelectSelect = styled('div', {
33
33
  [`&.${selectClasses.select}`]: styles.select
34
34
  }, {
35
35
  [`&.${selectClasses.select}`]: styles[ownerState.variant]
36
+ }, {
37
+ [`&.${selectClasses.error}`]: styles.error
36
38
  }, {
37
39
  [`&.${selectClasses.multiple}`]: styles.multiple
38
40
  }];
@@ -90,10 +92,11 @@ const useUtilityClasses = ownerState => {
90
92
  variant,
91
93
  disabled,
92
94
  multiple,
93
- open
95
+ open,
96
+ error
94
97
  } = ownerState;
95
98
  const slots = {
96
- select: ['select', variant, disabled && 'disabled', multiple && 'multiple'],
99
+ select: ['select', variant, disabled && 'disabled', multiple && 'multiple', error && 'error'],
97
100
  icon: ['icon', `icon${capitalize(variant)}`, open && 'iconOpen', disabled && 'disabled'],
98
101
  nativeInput: ['nativeInput']
99
102
  };
@@ -115,6 +118,7 @@ const SelectInput = /*#__PURE__*/React.forwardRef(function SelectInput(props, re
115
118
  defaultValue,
116
119
  disabled,
117
120
  displayEmpty,
121
+ error = false,
118
122
  IconComponent,
119
123
  inputRef: inputRefProp,
120
124
  labelId,
@@ -420,7 +424,8 @@ const SelectInput = /*#__PURE__*/React.forwardRef(function SelectInput(props, re
420
424
  const ownerState = _extends({}, props, {
421
425
  variant,
422
426
  value,
423
- open
427
+ open,
428
+ error
424
429
  });
425
430
  const classes = useUtilityClasses(ownerState);
426
431
  return /*#__PURE__*/_jsxs(React.Fragment, {
@@ -450,6 +455,7 @@ const SelectInput = /*#__PURE__*/React.forwardRef(function SelectInput(props, re
450
455
  children: "\u200B"
451
456
  })) : display
452
457
  })), /*#__PURE__*/_jsx(SelectNativeInput, _extends({
458
+ "aria-invalid": error,
453
459
  value: Array.isArray(value) ? value.join(',') : value,
454
460
  name: name,
455
461
  ref: inputRef,
@@ -541,6 +547,10 @@ process.env.NODE_ENV !== "production" ? SelectInput.propTypes = {
541
547
  * If `true`, the selected item is displayed even if its value is empty.
542
548
  */
543
549
  displayEmpty: PropTypes.bool,
550
+ /**
551
+ * If `true`, the `select input` will indicate an error.
552
+ */
553
+ error: PropTypes.bool,
544
554
  /**
545
555
  * The icon that displays the arrow.
546
556
  */
@@ -3,5 +3,5 @@ import generateUtilityClass from '../generateUtilityClass';
3
3
  export function getSelectUtilityClasses(slot) {
4
4
  return generateUtilityClass('MuiSelect', slot);
5
5
  }
6
- const selectClasses = generateUtilityClasses('MuiSelect', ['select', 'multiple', 'filled', 'outlined', 'standard', 'disabled', 'focused', 'icon', 'iconOpen', 'iconFilled', 'iconOutlined', 'iconStandard', 'nativeInput']);
6
+ const selectClasses = generateUtilityClasses('MuiSelect', ['select', 'multiple', 'filled', 'outlined', 'standard', 'disabled', 'focused', 'icon', 'iconOpen', 'iconFilled', 'iconOutlined', 'iconStandard', 'nativeInput', 'error']);
7
7
  export default selectClasses;
@@ -269,7 +269,7 @@ const StyledSliderValueLabel = styled(SliderValueLabel, {
269
269
  ownerState
270
270
  }) => _extends({
271
271
  [`&.${sliderClasses.valueLabelOpen}`]: {
272
- transform: 'translateY(-100%) scale(1)'
272
+ transform: `${ownerState.orientation === 'vertical' ? 'translateY(-50%)' : 'translateY(-100%)'} scale(1)`
273
273
  },
274
274
  zIndex: 1,
275
275
  whiteSpace: 'nowrap'
@@ -278,7 +278,7 @@ const StyledSliderValueLabel = styled(SliderValueLabel, {
278
278
  transition: theme.transitions.create(['transform'], {
279
279
  duration: theme.transitions.duration.shortest
280
280
  }),
281
- transform: 'translateY(-100%) scale(0)',
281
+ transform: `${ownerState.orientation === 'vertical' ? 'translateY(-50%)' : 'translateY(-100%)'} scale(0)`,
282
282
  position: 'absolute',
283
283
  backgroundColor: (theme.vars || theme).palette.grey[600],
284
284
  borderRadius: 2,
@@ -301,18 +301,18 @@ const StyledSliderValueLabel = styled(SliderValueLabel, {
301
301
  left: '50%'
302
302
  }
303
303
  }, ownerState.orientation === 'vertical' && {
304
- right: '30px',
305
- top: '24px',
304
+ right: ownerState.size === 'small' ? '20px' : '30px',
305
+ top: '50%',
306
306
  transformOrigin: 'right center',
307
307
  '&:before': {
308
308
  position: 'absolute',
309
309
  content: '""',
310
310
  width: 8,
311
311
  height: 8,
312
- transform: 'translate(-50%, 50%) rotate(45deg)',
312
+ transform: 'translate(-50%, -50%) rotate(45deg)',
313
313
  backgroundColor: 'inherit',
314
314
  right: '-20%',
315
- top: '25%'
315
+ top: '50%'
316
316
  }
317
317
  }, ownerState.size === 'small' && {
318
318
  fontSize: theme.typography.pxToRem(12),
@@ -418,7 +418,7 @@ const Tabs = /*#__PURE__*/React.forwardRef(function Tabs(inProps, ref) {
418
418
  moveTabsScroll(getScrollSize());
419
419
  };
420
420
 
421
- // TODO Remove <ScrollbarSize /> as browser support for hidding the scrollbar
421
+ // TODO Remove <ScrollbarSize /> as browser support for hiding the scrollbar
422
422
  // with CSS improves.
423
423
  const handleScrollbarSizeChange = React.useCallback(scrollbarWidth => {
424
424
  setScrollerStyle({
@@ -81,7 +81,7 @@ process.env.NODE_ENV !== "production" ? Toolbar.propTypes /* remove-proptypes */
81
81
  // ----------------------------------------------------------------------
82
82
  /**
83
83
  * The Toolbar children, usually a mixture of `IconButton`, `Button` and `Typography`.
84
- * The Toolbar is a flex container, allowing flex item properites to be used to lay out the children.
84
+ * The Toolbar is a flex container, allowing flex item properties to be used to lay out the children.
85
85
  */
86
86
  children: PropTypes.node,
87
87
  /**
@@ -4,6 +4,7 @@ import { styled, useThemeProps } from '../styles';
4
4
  const Grid2 = createGrid2({
5
5
  createStyledComponent: styled('div', {
6
6
  name: 'MuiGrid2',
7
+ slot: 'Root',
7
8
  overridesResolver: (props, styles) => styles.root
8
9
  }),
9
10
  componentName: 'MuiGrid2',
@@ -1,4 +1,4 @@
1
- // track, thumb and active are derieved from macOS 10.15.7
1
+ // track, thumb and active are derived from macOS 10.15.7
2
2
  const scrollBar = {
3
3
  track: '#2b2b2b',
4
4
  thumb: '#6b6b6b',
package/modern/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mui/material v5.11.15
2
+ * @mui/material v5.12.0
3
3
  *
4
4
  * @license MIT
5
5
  * This source code is licensed under the MIT license found in the