@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.
- package/Autocomplete/Autocomplete.js +9 -1
- package/Badge/badgeClasses.d.ts +18 -18
- package/Box/Box.js +2 -0
- package/CHANGELOG.md +139 -26
- package/CardActionArea/CardActionArea.js +2 -0
- package/GlobalStyles/GlobalStyles.js +4 -4
- package/Menu/Menu.js +1 -1
- package/NativeSelect/NativeSelectInput.d.ts +1 -0
- package/NativeSelect/NativeSelectInput.js +12 -5
- package/NativeSelect/nativeSelectClasses.d.ts +2 -0
- package/NativeSelect/nativeSelectClasses.js +1 -1
- package/OverridableComponent.d.ts +1 -1
- package/PaginationItem/paginationItemClasses.d.ts +2 -2
- package/Popper/Popper.js +0 -4
- package/README.md +5 -5
- package/Select/Select.d.ts +1 -1
- package/Select/Select.js +15 -10
- package/Select/SelectInput.d.ts +1 -0
- package/Select/SelectInput.js +14 -4
- package/Select/selectClasses.d.ts +2 -0
- package/Select/selectClasses.js +1 -1
- package/Slider/Slider.js +6 -6
- package/Slider/sliderClasses.d.ts +22 -22
- package/Tabs/Tabs.js +1 -1
- package/Toolbar/Toolbar.d.ts +1 -1
- package/Toolbar/Toolbar.js +1 -1
- package/Unstable_Grid2/Grid2.js +1 -0
- package/darkScrollbar/index.js +1 -1
- package/index.js +1 -1
- package/legacy/Autocomplete/Autocomplete.js +8 -3
- package/legacy/Box/Box.js +2 -0
- package/legacy/CardActionArea/CardActionArea.js +2 -0
- package/legacy/GlobalStyles/GlobalStyles.js +4 -4
- package/legacy/Menu/Menu.js +1 -1
- package/legacy/NativeSelect/NativeSelectInput.js +12 -5
- package/legacy/NativeSelect/nativeSelectClasses.js +1 -1
- package/legacy/Popper/Popper.js +0 -4
- package/legacy/Select/Select.js +15 -10
- package/legacy/Select/SelectInput.js +14 -5
- package/legacy/Select/selectClasses.js +1 -1
- package/legacy/Slider/Slider.js +6 -6
- package/legacy/Tabs/Tabs.js +1 -1
- package/legacy/Toolbar/Toolbar.js +1 -1
- package/legacy/Unstable_Grid2/Grid2.js +1 -0
- package/legacy/darkScrollbar/index.js +1 -1
- package/legacy/index.js +1 -1
- package/legacy/styles/CssVarsProvider.js +2 -0
- package/legacy/styles/ThemeProvider.js +19 -1
- package/legacy/styles/identifier.js +1 -0
- package/legacy/styles/index.js +1 -0
- package/legacy/styles/styled.js +2 -0
- package/legacy/styles/useTheme.js +2 -1
- package/legacy/styles/useThemeProps.js +3 -1
- package/modern/Autocomplete/Autocomplete.js +9 -1
- package/modern/Box/Box.js +2 -0
- package/modern/CardActionArea/CardActionArea.js +2 -0
- package/modern/GlobalStyles/GlobalStyles.js +4 -4
- package/modern/Menu/Menu.js +1 -1
- package/modern/NativeSelect/NativeSelectInput.js +12 -5
- package/modern/NativeSelect/nativeSelectClasses.js +1 -1
- package/modern/Popper/Popper.js +0 -4
- package/modern/Select/Select.js +15 -10
- package/modern/Select/SelectInput.js +14 -4
- package/modern/Select/selectClasses.js +1 -1
- package/modern/Slider/Slider.js +6 -6
- package/modern/Tabs/Tabs.js +1 -1
- package/modern/Toolbar/Toolbar.js +1 -1
- package/modern/Unstable_Grid2/Grid2.js +1 -0
- package/modern/darkScrollbar/index.js +1 -1
- package/modern/index.js +1 -1
- package/modern/styles/CssVarsProvider.js +2 -0
- package/modern/styles/ThemeProvider.js +22 -1
- package/modern/styles/identifier.js +1 -0
- package/modern/styles/index.js +1 -0
- package/modern/styles/styled.js +2 -0
- package/modern/styles/useTheme.js +2 -1
- package/modern/styles/useThemeProps.js +3 -1
- package/node/Autocomplete/Autocomplete.js +9 -1
- package/node/Box/Box.js +2 -0
- package/node/CardActionArea/CardActionArea.js +2 -0
- package/node/GlobalStyles/GlobalStyles.js +4 -4
- package/node/Menu/Menu.js +1 -1
- package/node/NativeSelect/NativeSelectInput.js +12 -5
- package/node/NativeSelect/nativeSelectClasses.js +1 -1
- package/node/Popper/Popper.js +0 -4
- package/node/Select/Select.js +15 -10
- package/node/Select/SelectInput.js +14 -4
- package/node/Select/selectClasses.js +1 -1
- package/node/Slider/Slider.js +6 -6
- package/node/Tabs/Tabs.js +1 -1
- package/node/Toolbar/Toolbar.js +1 -1
- package/node/Unstable_Grid2/Grid2.js +1 -0
- package/node/darkScrollbar/index.js +1 -1
- package/node/index.js +1 -1
- package/node/styles/CssVarsProvider.js +2 -0
- package/node/styles/ThemeProvider.js +26 -7
- package/node/styles/identifier.js +8 -0
- package/node/styles/index.js +8 -0
- package/node/styles/styled.js +2 -0
- package/node/styles/useTheme.js +2 -1
- package/node/styles/useThemeProps.js +3 -1
- package/package.json +7 -7
- package/styles/CssVarsProvider.d.ts +5 -0
- package/styles/CssVarsProvider.js +2 -0
- package/styles/ThemeProvider.js +22 -1
- package/styles/experimental_extendTheme.d.ts +1 -1
- package/styles/identifier.d.ts +2 -0
- package/styles/identifier.js +1 -0
- package/styles/index.d.ts +1 -0
- package/styles/index.js +1 -0
- package/styles/styled.js +2 -0
- package/styles/useTheme.js +2 -1
- package/styles/useThemeProps.js +3 -1
- package/umd/material-ui.development.js +660 -533
- 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;
|
package/legacy/Slider/Slider.js
CHANGED
|
@@ -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: '
|
|
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: '
|
|
311
|
+
top: '50%'
|
|
312
312
|
}
|
|
313
313
|
}, ownerState.size === 'small' && {
|
|
314
314
|
fontSize: theme.typography.pxToRem(12),
|
package/legacy/Tabs/Tabs.js
CHANGED
|
@@ -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
|
|
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
|
|
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
|
/**
|
package/legacy/index.js
CHANGED
|
@@ -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
|
-
|
|
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';
|
package/legacy/styles/index.js
CHANGED
|
@@ -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.
|
package/legacy/styles/styled.js
CHANGED
|
@@ -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
|
|
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;
|
package/modern/Menu/Menu.js
CHANGED
|
@@ -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
|
|
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;
|
package/modern/Popper/Popper.js
CHANGED
|
@@ -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'
|
package/modern/Select/Select.js
CHANGED
|
@@ -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
|
|
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;
|
package/modern/Slider/Slider.js
CHANGED
|
@@ -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: '
|
|
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: '
|
|
315
|
+
top: '50%'
|
|
316
316
|
}
|
|
317
317
|
}, ownerState.size === 'small' && {
|
|
318
318
|
fontSize: theme.typography.pxToRem(12),
|
package/modern/Tabs/Tabs.js
CHANGED
|
@@ -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
|
|
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
|
|
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
|
/**
|
package/modern/index.js
CHANGED