@mui/material 5.11.10 → 5.11.12
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.d.ts +4 -1
- package/Autocomplete/Autocomplete.js +5 -2
- package/Autocomplete/autocompleteClasses.d.ts +2 -0
- package/Autocomplete/autocompleteClasses.js +1 -1
- package/Badge/Badge.js +1 -1
- package/CHANGELOG.md +233 -0
- package/Container/Container.js +0 -1
- package/DialogTitle/DialogTitle.js +2 -2
- package/InputBase/InputBase.js +2 -2
- package/InputLabel/InputLabel.js +3 -1
- package/ListSubheader/ListSubheader.js +1 -0
- package/Menu/Menu.js +1 -1
- package/MenuList/MenuList.js +7 -0
- package/Modal/Modal.d.ts +9 -1
- package/Modal/Modal.js +14 -9
- package/OutlinedInput/OutlinedInput.js +1 -1
- package/README.md +0 -2
- package/Rating/Rating.js +2 -2
- package/Select/SelectInput.js +2 -22
- package/Slider/Slider.d.ts +5 -1
- package/Slider/Slider.js +16 -11
- package/Snackbar/Snackbar.js +21 -125
- package/Stack/Stack.d.ts +0 -1
- package/Stack/Stack.js +9 -120
- package/Stack/index.d.ts +3 -0
- package/Stack/index.js +2 -1
- package/Stack/stackClasses.d.ts +6 -0
- package/Stack/stackClasses.js +7 -0
- package/Unstable_Grid2/Grid2.js +2 -3
- package/index.js +1 -1
- package/legacy/Autocomplete/Autocomplete.js +5 -2
- package/legacy/Autocomplete/autocompleteClasses.js +1 -1
- package/legacy/Badge/Badge.js +1 -1
- package/legacy/Container/Container.js +0 -1
- package/legacy/DialogTitle/DialogTitle.js +2 -2
- package/legacy/InputBase/InputBase.js +2 -2
- package/legacy/InputLabel/InputLabel.js +3 -1
- package/legacy/ListSubheader/ListSubheader.js +1 -0
- package/legacy/Menu/Menu.js +1 -1
- package/legacy/MenuList/MenuList.js +7 -0
- package/legacy/Modal/Modal.js +14 -9
- package/legacy/OutlinedInput/OutlinedInput.js +1 -1
- package/legacy/Rating/Rating.js +2 -2
- package/legacy/Select/SelectInput.js +2 -22
- package/legacy/Slider/Slider.js +16 -12
- package/legacy/Snackbar/Snackbar.js +20 -119
- package/legacy/Stack/Stack.js +13 -122
- package/legacy/Stack/index.js +2 -1
- package/legacy/Stack/stackClasses.js +7 -0
- package/legacy/Unstable_Grid2/Grid2.js +2 -3
- package/legacy/index.js +1 -1
- package/legacy/styles/CssVarsProvider.js +1 -8
- package/legacy/styles/createTheme.js +1 -0
- package/legacy/styles/experimental_extendTheme.js +64 -40
- package/legacy/useAutocomplete/useAutocomplete.js +2 -2
- package/modern/Autocomplete/Autocomplete.js +5 -2
- package/modern/Autocomplete/autocompleteClasses.js +1 -1
- package/modern/Badge/Badge.js +1 -1
- package/modern/Container/Container.js +0 -1
- package/modern/DialogTitle/DialogTitle.js +2 -2
- package/modern/InputBase/InputBase.js +2 -2
- package/modern/InputLabel/InputLabel.js +3 -1
- package/modern/ListSubheader/ListSubheader.js +1 -0
- package/modern/Menu/Menu.js +1 -1
- package/modern/MenuList/MenuList.js +7 -0
- package/modern/Modal/Modal.js +14 -9
- package/modern/OutlinedInput/OutlinedInput.js +1 -1
- package/modern/Rating/Rating.js +2 -2
- package/modern/Select/SelectInput.js +2 -18
- package/modern/Slider/Slider.js +16 -11
- package/modern/Snackbar/Snackbar.js +21 -125
- package/modern/Stack/Stack.js +9 -120
- package/modern/Stack/index.js +2 -1
- package/modern/Stack/stackClasses.js +7 -0
- package/modern/Unstable_Grid2/Grid2.js +2 -3
- package/modern/index.js +1 -1
- package/modern/styles/CssVarsProvider.js +1 -5
- package/modern/styles/createTheme.js +1 -0
- package/modern/styles/experimental_extendTheme.js +62 -41
- package/modern/useAutocomplete/useAutocomplete.js +2 -2
- package/node/Autocomplete/Autocomplete.js +5 -2
- package/node/Autocomplete/autocompleteClasses.js +1 -1
- package/node/Badge/Badge.js +2 -2
- package/node/Container/Container.js +0 -2
- package/node/DialogTitle/DialogTitle.js +2 -2
- package/node/InputBase/InputBase.js +2 -2
- package/node/InputLabel/InputLabel.js +3 -1
- package/node/ListSubheader/ListSubheader.js +1 -0
- package/node/Menu/Menu.js +1 -1
- package/node/MenuList/MenuList.js +7 -0
- package/node/Modal/Modal.js +14 -9
- package/node/OutlinedInput/OutlinedInput.js +1 -1
- package/node/Rating/Rating.js +2 -2
- package/node/Select/SelectInput.js +2 -22
- package/node/Slider/Slider.js +19 -14
- package/node/Snackbar/Snackbar.js +20 -124
- package/node/Stack/Stack.js +9 -122
- package/node/Stack/index.js +8 -1
- package/node/Stack/stackClasses.js +16 -0
- package/node/Unstable_Grid2/Grid2.js +0 -1
- package/node/index.js +1 -1
- package/node/styles/CssVarsProvider.js +1 -9
- package/node/styles/createTheme.js +1 -0
- package/node/styles/experimental_extendTheme.js +66 -40
- package/node/useAutocomplete/useAutocomplete.js +8 -6
- package/package.json +6 -6
- package/styles/CssVarsProvider.d.ts +1 -2
- package/styles/CssVarsProvider.js +1 -8
- package/styles/createTheme.js +1 -0
- package/styles/experimental_extendTheme.d.ts +16 -0
- package/styles/experimental_extendTheme.js +65 -41
- package/umd/material-ui.development.js +3958 -3813
- package/umd/material-ui.production.min.js +21 -21
- package/useAutocomplete/useAutocomplete.d.ts +2 -2
- package/useAutocomplete/useAutocomplete.js +2 -2
package/Slider/Slider.js
CHANGED
|
@@ -6,7 +6,7 @@ import PropTypes from 'prop-types';
|
|
|
6
6
|
import clsx from 'clsx';
|
|
7
7
|
import { chainPropTypes } from '@mui/utils';
|
|
8
8
|
import { isHostComponent, useSlotProps, unstable_composeClasses as composeClasses } from '@mui/base';
|
|
9
|
-
import {
|
|
9
|
+
import useSlider, { valueToPercent } from '@mui/base/useSlider';
|
|
10
10
|
import { alpha, lighten, darken } from '@mui/system';
|
|
11
11
|
import useThemeProps from '../styles/useThemeProps';
|
|
12
12
|
import styled, { slotShouldForwardProp } from '../styles/styled';
|
|
@@ -17,7 +17,6 @@ import SliderValueLabel from './SliderValueLabel';
|
|
|
17
17
|
import sliderClasses, { getSliderUtilityClass } from './sliderClasses';
|
|
18
18
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
19
19
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
20
|
-
const valueToPercent = (value, min, max) => (value - min) * 100 / (max - min);
|
|
21
20
|
function Identity(x) {
|
|
22
21
|
return x;
|
|
23
22
|
}
|
|
@@ -458,7 +457,6 @@ const Slider = /*#__PURE__*/React.forwardRef(function Slider(inputProps, ref) {
|
|
|
458
457
|
componentsProps = {},
|
|
459
458
|
color = 'primary',
|
|
460
459
|
classes: classesProp,
|
|
461
|
-
// eslint-disable-next-line react/prop-types
|
|
462
460
|
className,
|
|
463
461
|
disableSwap = false,
|
|
464
462
|
disabled = false,
|
|
@@ -565,7 +563,8 @@ const Slider = /*#__PURE__*/React.forwardRef(function Slider(inputProps, ref) {
|
|
|
565
563
|
elementType: ThumbSlot,
|
|
566
564
|
getSlotProps: getThumbProps,
|
|
567
565
|
externalSlotProps: thumbSlotProps,
|
|
568
|
-
ownerState: _extends({}, ownerState, thumbSlotProps == null ? void 0 : thumbSlotProps.ownerState)
|
|
566
|
+
ownerState: _extends({}, ownerState, thumbSlotProps == null ? void 0 : thumbSlotProps.ownerState),
|
|
567
|
+
className: classes.thumb
|
|
569
568
|
});
|
|
570
569
|
const valueLabelProps = useSlotProps({
|
|
571
570
|
elementType: ValueLabelSlot,
|
|
@@ -582,7 +581,8 @@ const Slider = /*#__PURE__*/React.forwardRef(function Slider(inputProps, ref) {
|
|
|
582
581
|
const markLabelProps = useSlotProps({
|
|
583
582
|
elementType: MarkLabelSlot,
|
|
584
583
|
externalSlotProps: markLabelSlotProps,
|
|
585
|
-
ownerState
|
|
584
|
+
ownerState,
|
|
585
|
+
className: classes.markLabel
|
|
586
586
|
});
|
|
587
587
|
const inputSliderProps = useSlotProps({
|
|
588
588
|
elementType: InputSlot,
|
|
@@ -623,8 +623,10 @@ const Slider = /*#__PURE__*/React.forwardRef(function Slider(inputProps, ref) {
|
|
|
623
623
|
const percent = valueToPercent(value, min, max);
|
|
624
624
|
const style = axisProps[axis].offset(percent);
|
|
625
625
|
const ValueLabelComponent = valueLabelDisplay === 'off' ? Forward : ValueLabelSlot;
|
|
626
|
-
return
|
|
627
|
-
|
|
626
|
+
return (
|
|
627
|
+
/*#__PURE__*/
|
|
628
|
+
/* TODO v6: Change component structure. It will help in avoiding the complicated React.cloneElement API added in SliderValueLabel component. Should be: Thumb -> Input, ValueLabel. Follow Joy UI's Slider structure. */
|
|
629
|
+
_jsx(ValueLabelComponent, _extends({}, !isHostComponent(ValueLabelComponent) && {
|
|
628
630
|
valueLabelFormat,
|
|
629
631
|
valueLabelDisplay,
|
|
630
632
|
value: typeof valueLabelFormat === 'function' ? valueLabelFormat(scale(value), index) : valueLabelFormat,
|
|
@@ -633,8 +635,7 @@ const Slider = /*#__PURE__*/React.forwardRef(function Slider(inputProps, ref) {
|
|
|
633
635
|
disabled
|
|
634
636
|
}, valueLabelProps, {
|
|
635
637
|
children: /*#__PURE__*/_jsx(ThumbSlot, _extends({
|
|
636
|
-
"data-index": index
|
|
637
|
-
"data-focusvisible": focusedThumbIndex === index
|
|
638
|
+
"data-index": index
|
|
638
639
|
}, thumbProps, {
|
|
639
640
|
className: clsx(classes.thumb, thumbProps.className, active === index && classes.active, focusedThumbIndex === index && classes.focusVisible),
|
|
640
641
|
style: _extends({}, style, {
|
|
@@ -649,8 +650,8 @@ const Slider = /*#__PURE__*/React.forwardRef(function Slider(inputProps, ref) {
|
|
|
649
650
|
value: values[index]
|
|
650
651
|
}, inputSliderProps))
|
|
651
652
|
}))
|
|
652
|
-
}))
|
|
653
|
-
|
|
653
|
+
}), index)
|
|
654
|
+
);
|
|
654
655
|
})]
|
|
655
656
|
}));
|
|
656
657
|
});
|
|
@@ -691,6 +692,10 @@ process.env.NODE_ENV !== "production" ? Slider.propTypes /* remove-proptypes */
|
|
|
691
692
|
* Override or extend the styles applied to the component.
|
|
692
693
|
*/
|
|
693
694
|
classes: PropTypes.object,
|
|
695
|
+
/**
|
|
696
|
+
* @ignore
|
|
697
|
+
*/
|
|
698
|
+
className: PropTypes.string,
|
|
694
699
|
/**
|
|
695
700
|
* The color of the component.
|
|
696
701
|
* It supports both default and custom theme colors, which can be added as shown in the
|
package/Snackbar/Snackbar.js
CHANGED
|
@@ -4,13 +4,12 @@ const _excluded = ["onEnter", "onExited"],
|
|
|
4
4
|
_excluded2 = ["action", "anchorOrigin", "autoHideDuration", "children", "className", "ClickAwayListenerProps", "ContentProps", "disableWindowBlurListener", "message", "onBlur", "onClose", "onFocus", "onMouseEnter", "onMouseLeave", "open", "resumeHideDuration", "TransitionComponent", "transitionDuration", "TransitionProps"];
|
|
5
5
|
import * as React from 'react';
|
|
6
6
|
import PropTypes from 'prop-types';
|
|
7
|
-
import
|
|
8
|
-
import { unstable_composeClasses as composeClasses } from '@mui/base';
|
|
7
|
+
import { unstable_composeClasses as composeClasses, useSlotProps } from '@mui/base';
|
|
9
8
|
import ClickAwayListener from '@mui/base/ClickAwayListener';
|
|
9
|
+
import useSnackbar from '@mui/base/useSnackbar';
|
|
10
10
|
import styled from '../styles/styled';
|
|
11
11
|
import useTheme from '../styles/useTheme';
|
|
12
12
|
import useThemeProps from '../styles/useThemeProps';
|
|
13
|
-
import useEventCallback from '../utils/useEventCallback';
|
|
14
13
|
import capitalize from '../utils/capitalize';
|
|
15
14
|
import Grow from '../Grow';
|
|
16
15
|
import SnackbarContent from '../SnackbarContent';
|
|
@@ -100,13 +99,7 @@ const Snackbar = /*#__PURE__*/React.forwardRef(function Snackbar(inProps, ref) {
|
|
|
100
99
|
ContentProps,
|
|
101
100
|
disableWindowBlurListener = false,
|
|
102
101
|
message,
|
|
103
|
-
onBlur,
|
|
104
|
-
onClose,
|
|
105
|
-
onFocus,
|
|
106
|
-
onMouseEnter,
|
|
107
|
-
onMouseLeave,
|
|
108
102
|
open,
|
|
109
|
-
resumeHideDuration,
|
|
110
103
|
TransitionComponent = Grow,
|
|
111
104
|
transitionDuration = defaultTransitionDuration,
|
|
112
105
|
TransitionProps: {
|
|
@@ -120,76 +113,27 @@ const Snackbar = /*#__PURE__*/React.forwardRef(function Snackbar(inProps, ref) {
|
|
|
120
113
|
anchorOrigin: {
|
|
121
114
|
vertical,
|
|
122
115
|
horizontal
|
|
123
|
-
}
|
|
116
|
+
},
|
|
117
|
+
autoHideDuration,
|
|
118
|
+
disableWindowBlurListener,
|
|
119
|
+
TransitionComponent,
|
|
120
|
+
transitionDuration
|
|
124
121
|
});
|
|
125
122
|
const classes = useUtilityClasses(ownerState);
|
|
126
|
-
const
|
|
123
|
+
const {
|
|
124
|
+
getRootProps,
|
|
125
|
+
onClickAway
|
|
126
|
+
} = useSnackbar(_extends({}, ownerState, {
|
|
127
|
+
ref
|
|
128
|
+
}));
|
|
127
129
|
const [exited, setExited] = React.useState(true);
|
|
128
|
-
const
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
130
|
+
const rootProps = useSlotProps({
|
|
131
|
+
elementType: SnackbarRoot,
|
|
132
|
+
getSlotProps: getRootProps,
|
|
133
|
+
externalForwardedProps: other,
|
|
134
|
+
ownerState,
|
|
135
|
+
className: [classes.root, className]
|
|
132
136
|
});
|
|
133
|
-
const setAutoHideTimer = useEventCallback(autoHideDurationParam => {
|
|
134
|
-
if (!onClose || autoHideDurationParam == null) {
|
|
135
|
-
return;
|
|
136
|
-
}
|
|
137
|
-
clearTimeout(timerAutoHide.current);
|
|
138
|
-
timerAutoHide.current = setTimeout(() => {
|
|
139
|
-
handleClose(null, 'timeout');
|
|
140
|
-
}, autoHideDurationParam);
|
|
141
|
-
});
|
|
142
|
-
React.useEffect(() => {
|
|
143
|
-
if (open) {
|
|
144
|
-
setAutoHideTimer(autoHideDuration);
|
|
145
|
-
}
|
|
146
|
-
return () => {
|
|
147
|
-
clearTimeout(timerAutoHide.current);
|
|
148
|
-
};
|
|
149
|
-
}, [open, autoHideDuration, setAutoHideTimer]);
|
|
150
|
-
|
|
151
|
-
// Pause the timer when the user is interacting with the Snackbar
|
|
152
|
-
// or when the user hide the window.
|
|
153
|
-
const handlePause = () => {
|
|
154
|
-
clearTimeout(timerAutoHide.current);
|
|
155
|
-
};
|
|
156
|
-
|
|
157
|
-
// Restart the timer when the user is no longer interacting with the Snackbar
|
|
158
|
-
// or when the window is shown back.
|
|
159
|
-
const handleResume = React.useCallback(() => {
|
|
160
|
-
if (autoHideDuration != null) {
|
|
161
|
-
setAutoHideTimer(resumeHideDuration != null ? resumeHideDuration : autoHideDuration * 0.5);
|
|
162
|
-
}
|
|
163
|
-
}, [autoHideDuration, resumeHideDuration, setAutoHideTimer]);
|
|
164
|
-
const handleFocus = event => {
|
|
165
|
-
if (onFocus) {
|
|
166
|
-
onFocus(event);
|
|
167
|
-
}
|
|
168
|
-
handlePause();
|
|
169
|
-
};
|
|
170
|
-
const handleMouseEnter = event => {
|
|
171
|
-
if (onMouseEnter) {
|
|
172
|
-
onMouseEnter(event);
|
|
173
|
-
}
|
|
174
|
-
handlePause();
|
|
175
|
-
};
|
|
176
|
-
const handleBlur = event => {
|
|
177
|
-
if (onBlur) {
|
|
178
|
-
onBlur(event);
|
|
179
|
-
}
|
|
180
|
-
handleResume();
|
|
181
|
-
};
|
|
182
|
-
const handleMouseLeave = event => {
|
|
183
|
-
if (onMouseLeave) {
|
|
184
|
-
onMouseLeave(event);
|
|
185
|
-
}
|
|
186
|
-
handleResume();
|
|
187
|
-
};
|
|
188
|
-
const handleClickAway = event => {
|
|
189
|
-
if (onClose) {
|
|
190
|
-
onClose(event, 'clickaway');
|
|
191
|
-
}
|
|
192
|
-
};
|
|
193
137
|
const handleExited = node => {
|
|
194
138
|
setExited(true);
|
|
195
139
|
if (onExited) {
|
|
@@ -202,63 +146,15 @@ const Snackbar = /*#__PURE__*/React.forwardRef(function Snackbar(inProps, ref) {
|
|
|
202
146
|
onEnter(node, isAppearing);
|
|
203
147
|
}
|
|
204
148
|
};
|
|
205
|
-
React.useEffect(() => {
|
|
206
|
-
// TODO: window global should be refactored here
|
|
207
|
-
if (!disableWindowBlurListener && open) {
|
|
208
|
-
window.addEventListener('focus', handleResume);
|
|
209
|
-
window.addEventListener('blur', handlePause);
|
|
210
|
-
return () => {
|
|
211
|
-
window.removeEventListener('focus', handleResume);
|
|
212
|
-
window.removeEventListener('blur', handlePause);
|
|
213
|
-
};
|
|
214
|
-
}
|
|
215
|
-
return undefined;
|
|
216
|
-
}, [disableWindowBlurListener, handleResume, open]);
|
|
217
|
-
React.useEffect(() => {
|
|
218
|
-
if (!open) {
|
|
219
|
-
return undefined;
|
|
220
|
-
}
|
|
221
|
-
|
|
222
|
-
/**
|
|
223
|
-
* @param {KeyboardEvent} nativeEvent
|
|
224
|
-
*/
|
|
225
|
-
function handleKeyDown(nativeEvent) {
|
|
226
|
-
if (!nativeEvent.defaultPrevented) {
|
|
227
|
-
// IE11, Edge (prior to using Bink?) use 'Esc'
|
|
228
|
-
if (nativeEvent.key === 'Escape' || nativeEvent.key === 'Esc') {
|
|
229
|
-
// not calling `preventDefault` since we don't know if people may ignore this event e.g. a permanently open snackbar
|
|
230
|
-
if (onClose) {
|
|
231
|
-
onClose(nativeEvent, 'escapeKeyDown');
|
|
232
|
-
}
|
|
233
|
-
}
|
|
234
|
-
}
|
|
235
|
-
}
|
|
236
|
-
document.addEventListener('keydown', handleKeyDown);
|
|
237
|
-
return () => {
|
|
238
|
-
document.removeEventListener('keydown', handleKeyDown);
|
|
239
|
-
};
|
|
240
|
-
}, [exited, open, onClose]);
|
|
241
149
|
|
|
242
150
|
// So we only render active snackbars.
|
|
243
151
|
if (!open && exited) {
|
|
244
152
|
return null;
|
|
245
153
|
}
|
|
246
154
|
return /*#__PURE__*/_jsx(ClickAwayListener, _extends({
|
|
247
|
-
onClickAway:
|
|
155
|
+
onClickAway: onClickAway
|
|
248
156
|
}, ClickAwayListenerProps, {
|
|
249
|
-
children: /*#__PURE__*/_jsx(SnackbarRoot, _extends({
|
|
250
|
-
className: clsx(classes.root, className),
|
|
251
|
-
onBlur: handleBlur,
|
|
252
|
-
onFocus: handleFocus,
|
|
253
|
-
onMouseEnter: handleMouseEnter,
|
|
254
|
-
onMouseLeave: handleMouseLeave,
|
|
255
|
-
ownerState: ownerState,
|
|
256
|
-
ref: ref
|
|
257
|
-
// ClickAwayListener adds an `onClick` prop which results in the alert not being announced.
|
|
258
|
-
// See https://github.com/mui/material-ui/issues/29080
|
|
259
|
-
,
|
|
260
|
-
role: "presentation"
|
|
261
|
-
}, other, {
|
|
157
|
+
children: /*#__PURE__*/_jsx(SnackbarRoot, _extends({}, rootProps, {
|
|
262
158
|
children: /*#__PURE__*/_jsx(TransitionComponent, _extends({
|
|
263
159
|
appear: true,
|
|
264
160
|
in: open,
|
package/Stack/Stack.d.ts
CHANGED
package/Stack/Stack.js
CHANGED
|
@@ -1,128 +1,17 @@
|
|
|
1
|
-
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
2
|
-
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
|
-
const _excluded = ["component", "direction", "spacing", "divider", "children"];
|
|
4
|
-
import * as React from 'react';
|
|
5
1
|
import PropTypes from 'prop-types';
|
|
6
|
-
import {
|
|
7
|
-
import { deepmerge } from '@mui/utils';
|
|
2
|
+
import { createStack } from '@mui/system';
|
|
8
3
|
import styled from '../styles/styled';
|
|
9
4
|
import useThemeProps from '../styles/useThemeProps';
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
*/
|
|
18
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
19
|
-
function joinChildren(children, separator) {
|
|
20
|
-
const childrenArray = React.Children.toArray(children).filter(Boolean);
|
|
21
|
-
return childrenArray.reduce((output, child, index) => {
|
|
22
|
-
output.push(child);
|
|
23
|
-
if (index < childrenArray.length - 1) {
|
|
24
|
-
output.push( /*#__PURE__*/React.cloneElement(separator, {
|
|
25
|
-
key: `separator-${index}`
|
|
26
|
-
}));
|
|
27
|
-
}
|
|
28
|
-
return output;
|
|
29
|
-
}, []);
|
|
30
|
-
}
|
|
31
|
-
const getSideFromDirection = direction => {
|
|
32
|
-
return {
|
|
33
|
-
row: 'Left',
|
|
34
|
-
'row-reverse': 'Right',
|
|
35
|
-
column: 'Top',
|
|
36
|
-
'column-reverse': 'Bottom'
|
|
37
|
-
}[direction];
|
|
38
|
-
};
|
|
39
|
-
export const style = ({
|
|
40
|
-
ownerState,
|
|
41
|
-
theme
|
|
42
|
-
}) => {
|
|
43
|
-
let styles = _extends({
|
|
44
|
-
display: 'flex',
|
|
45
|
-
flexDirection: 'column'
|
|
46
|
-
}, handleBreakpoints({
|
|
47
|
-
theme
|
|
48
|
-
}, resolveBreakpointValues({
|
|
49
|
-
values: ownerState.direction,
|
|
50
|
-
breakpoints: theme.breakpoints.values
|
|
51
|
-
}), propValue => ({
|
|
52
|
-
flexDirection: propValue
|
|
53
|
-
})));
|
|
54
|
-
if (ownerState.spacing) {
|
|
55
|
-
const transformer = createUnarySpacing(theme);
|
|
56
|
-
const base = Object.keys(theme.breakpoints.values).reduce((acc, breakpoint) => {
|
|
57
|
-
if (typeof ownerState.spacing === 'object' && ownerState.spacing[breakpoint] != null || typeof ownerState.direction === 'object' && ownerState.direction[breakpoint] != null) {
|
|
58
|
-
acc[breakpoint] = true;
|
|
59
|
-
}
|
|
60
|
-
return acc;
|
|
61
|
-
}, {});
|
|
62
|
-
const directionValues = resolveBreakpointValues({
|
|
63
|
-
values: ownerState.direction,
|
|
64
|
-
base
|
|
65
|
-
});
|
|
66
|
-
const spacingValues = resolveBreakpointValues({
|
|
67
|
-
values: ownerState.spacing,
|
|
68
|
-
base
|
|
69
|
-
});
|
|
70
|
-
if (typeof directionValues === 'object') {
|
|
71
|
-
Object.keys(directionValues).forEach((breakpoint, index, breakpoints) => {
|
|
72
|
-
const directionValue = directionValues[breakpoint];
|
|
73
|
-
if (!directionValue) {
|
|
74
|
-
const previousDirectionValue = index > 0 ? directionValues[breakpoints[index - 1]] : 'column';
|
|
75
|
-
directionValues[breakpoint] = previousDirectionValue;
|
|
76
|
-
}
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
const styleFromPropValue = (propValue, breakpoint) => {
|
|
80
|
-
return {
|
|
81
|
-
'& > :not(style) + :not(style)': {
|
|
82
|
-
margin: 0,
|
|
83
|
-
[`margin${getSideFromDirection(breakpoint ? directionValues[breakpoint] : ownerState.direction)}`]: getValue(transformer, propValue)
|
|
84
|
-
}
|
|
85
|
-
};
|
|
86
|
-
};
|
|
87
|
-
styles = deepmerge(styles, handleBreakpoints({
|
|
88
|
-
theme
|
|
89
|
-
}, spacingValues, styleFromPropValue));
|
|
90
|
-
}
|
|
91
|
-
styles = mergeBreakpointsInOrder(theme.breakpoints, styles);
|
|
92
|
-
return styles;
|
|
93
|
-
};
|
|
94
|
-
const StackRoot = styled('div', {
|
|
95
|
-
name: 'MuiStack',
|
|
96
|
-
slot: 'Root',
|
|
97
|
-
overridesResolver: (props, styles) => {
|
|
98
|
-
return [styles.root];
|
|
99
|
-
}
|
|
100
|
-
})(style);
|
|
101
|
-
const Stack = /*#__PURE__*/React.forwardRef(function Stack(inProps, ref) {
|
|
102
|
-
const themeProps = useThemeProps({
|
|
5
|
+
const Stack = createStack({
|
|
6
|
+
createStyledComponent: styled('div', {
|
|
7
|
+
name: 'MuiStack',
|
|
8
|
+
slot: 'Root',
|
|
9
|
+
overridesResolver: (props, styles) => styles.root
|
|
10
|
+
}),
|
|
11
|
+
useThemeProps: inProps => useThemeProps({
|
|
103
12
|
props: inProps,
|
|
104
13
|
name: 'MuiStack'
|
|
105
|
-
})
|
|
106
|
-
const props = extendSxProp(themeProps);
|
|
107
|
-
const {
|
|
108
|
-
component = 'div',
|
|
109
|
-
direction = 'column',
|
|
110
|
-
spacing = 0,
|
|
111
|
-
divider,
|
|
112
|
-
children
|
|
113
|
-
} = props,
|
|
114
|
-
other = _objectWithoutPropertiesLoose(props, _excluded);
|
|
115
|
-
const ownerState = {
|
|
116
|
-
direction,
|
|
117
|
-
spacing
|
|
118
|
-
};
|
|
119
|
-
return /*#__PURE__*/_jsx(StackRoot, _extends({
|
|
120
|
-
as: component,
|
|
121
|
-
ownerState: ownerState,
|
|
122
|
-
ref: ref
|
|
123
|
-
}, other, {
|
|
124
|
-
children: divider ? joinChildren(children, divider) : children
|
|
125
|
-
}));
|
|
14
|
+
})
|
|
126
15
|
});
|
|
127
16
|
process.env.NODE_ENV !== "production" ? Stack.propTypes /* remove-proptypes */ = {
|
|
128
17
|
// ----------------------------- Warning --------------------------------
|
package/Stack/index.d.ts
CHANGED
package/Stack/index.js
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
export { default } from './Stack';
|
|
1
|
+
export { default } from './Stack';
|
|
2
|
+
export { default as stackClasses } from './stackClasses';
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { StackClasses } from '@mui/system';
|
|
2
|
+
export type { StackClassKey } from '@mui/system';
|
|
3
|
+
export type { StackClasses };
|
|
4
|
+
export declare function getStackUtilityClass(slot: string): string;
|
|
5
|
+
declare const stackClasses: StackClasses;
|
|
6
|
+
export default stackClasses;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { unstable_generateUtilityClasses as generateUtilityClasses } from '@mui/utils';
|
|
2
|
+
import generateUtilityClass from '../generateUtilityClass';
|
|
3
|
+
export function getStackUtilityClass(slot) {
|
|
4
|
+
return generateUtilityClass('MuiStack', slot);
|
|
5
|
+
}
|
|
6
|
+
const stackClasses = generateUtilityClasses('MuiStack', ['root']);
|
|
7
|
+
export default stackClasses;
|
package/Unstable_Grid2/Grid2.js
CHANGED
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import PropTypes from 'prop-types';
|
|
2
|
-
import { createGrid } from '@mui/system/Unstable_Grid';
|
|
2
|
+
import { createGrid as createGrid2 } from '@mui/system/Unstable_Grid';
|
|
3
3
|
import { styled, useThemeProps } from '../styles';
|
|
4
|
-
const Grid2 =
|
|
4
|
+
const Grid2 = createGrid2({
|
|
5
5
|
createStyledComponent: styled('div', {
|
|
6
6
|
name: 'MuiGrid2',
|
|
7
7
|
overridesResolver: (props, styles) => styles.root
|
|
8
8
|
}),
|
|
9
9
|
componentName: 'MuiGrid2',
|
|
10
|
-
// eslint-disable-next-line material-ui/mui-name-matches-component-name
|
|
11
10
|
useThemeProps: inProps => useThemeProps({
|
|
12
11
|
props: inProps,
|
|
13
12
|
name: 'MuiGrid2'
|
package/index.js
CHANGED
|
@@ -28,6 +28,7 @@ import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
28
28
|
var useUtilityClasses = function useUtilityClasses(ownerState) {
|
|
29
29
|
var classes = ownerState.classes,
|
|
30
30
|
disablePortal = ownerState.disablePortal,
|
|
31
|
+
expanded = ownerState.expanded,
|
|
31
32
|
focused = ownerState.focused,
|
|
32
33
|
fullWidth = ownerState.fullWidth,
|
|
33
34
|
hasClearIcon = ownerState.hasClearIcon,
|
|
@@ -36,7 +37,7 @@ var useUtilityClasses = function useUtilityClasses(ownerState) {
|
|
|
36
37
|
popupOpen = ownerState.popupOpen,
|
|
37
38
|
size = ownerState.size;
|
|
38
39
|
var slots = {
|
|
39
|
-
root: ['root', focused && 'focused', fullWidth && 'fullWidth', hasClearIcon && 'hasClearIcon', hasPopupIcon && 'hasPopupIcon'],
|
|
40
|
+
root: ['root', expanded && 'expanded', focused && 'focused', fullWidth && 'fullWidth', hasClearIcon && 'hasClearIcon', hasPopupIcon && 'hasPopupIcon'],
|
|
40
41
|
inputRoot: ['inputRoot'],
|
|
41
42
|
input: ['input', inputFocused && 'inputFocused'],
|
|
42
43
|
tag: ['tag', "tagSize".concat(capitalize(size))],
|
|
@@ -453,6 +454,7 @@ var Autocomplete = /*#__PURE__*/React.forwardRef(function Autocomplete(inProps,
|
|
|
453
454
|
getOptionProps = _useAutocomplete.getOptionProps,
|
|
454
455
|
value = _useAutocomplete.value,
|
|
455
456
|
dirty = _useAutocomplete.dirty,
|
|
457
|
+
expanded = _useAutocomplete.expanded,
|
|
456
458
|
id = _useAutocomplete.id,
|
|
457
459
|
popupOpen = _useAutocomplete.popupOpen,
|
|
458
460
|
focused = _useAutocomplete.focused,
|
|
@@ -467,6 +469,7 @@ var Autocomplete = /*#__PURE__*/React.forwardRef(function Autocomplete(inProps,
|
|
|
467
469
|
// If you modify this, make sure to keep the `AutocompleteOwnerState` type in sync.
|
|
468
470
|
var ownerState = _extends({}, props, {
|
|
469
471
|
disablePortal: disablePortal,
|
|
472
|
+
expanded: expanded,
|
|
470
473
|
focused: focused,
|
|
471
474
|
fullWidth: fullWidth,
|
|
472
475
|
hasClearIcon: hasClearIcon,
|
|
@@ -923,7 +926,7 @@ process.env.NODE_ENV !== "production" ? Autocomplete.propTypes /* remove-proptyp
|
|
|
923
926
|
*
|
|
924
927
|
* @param {React.SyntheticEvent} event The event source of the callback.
|
|
925
928
|
* @param {T} option The highlighted option.
|
|
926
|
-
* @param {string} reason Can be: `"keyboard"`, `"auto"`, `"mouse"`.
|
|
929
|
+
* @param {string} reason Can be: `"keyboard"`, `"auto"`, `"mouse"`, `"touch"`.
|
|
927
930
|
*/
|
|
928
931
|
onHighlightChange: PropTypes.func,
|
|
929
932
|
/**
|
|
@@ -3,5 +3,5 @@ import generateUtilityClass from '../generateUtilityClass';
|
|
|
3
3
|
export function getAutocompleteUtilityClass(slot) {
|
|
4
4
|
return generateUtilityClass('MuiAutocomplete', slot);
|
|
5
5
|
}
|
|
6
|
-
var autocompleteClasses = generateUtilityClasses('MuiAutocomplete', ['root', 'fullWidth', 'focused', 'focusVisible', 'tag', 'tagSizeSmall', 'tagSizeMedium', 'hasPopupIcon', 'hasClearIcon', 'inputRoot', 'input', 'inputFocused', 'endAdornment', 'clearIndicator', 'popupIndicator', 'popupIndicatorOpen', 'popper', 'popperDisablePortal', 'paper', 'listbox', 'loading', 'noOptions', 'option', 'groupLabel', 'groupUl']);
|
|
6
|
+
var autocompleteClasses = generateUtilityClasses('MuiAutocomplete', ['root', 'expanded', 'fullWidth', 'focused', 'focusVisible', 'tag', 'tagSizeSmall', 'tagSizeMedium', 'hasPopupIcon', 'hasClearIcon', 'inputRoot', 'input', 'inputFocused', 'endAdornment', 'clearIndicator', 'popupIndicator', 'popupIndicatorOpen', 'popper', 'popperDisablePortal', 'paper', 'listbox', 'loading', 'noOptions', 'option', 'groupLabel', 'groupUl']);
|
|
7
7
|
export default autocompleteClasses;
|
package/legacy/Badge/Badge.js
CHANGED
|
@@ -6,7 +6,7 @@ import PropTypes from 'prop-types';
|
|
|
6
6
|
import clsx from 'clsx';
|
|
7
7
|
import { usePreviousProps } from '@mui/utils';
|
|
8
8
|
import composeClasses from '@mui/base/composeClasses';
|
|
9
|
-
import
|
|
9
|
+
import useBadge from '@mui/base/useBadge';
|
|
10
10
|
import { useSlotProps } from '@mui/base';
|
|
11
11
|
import styled from '../styles/styled';
|
|
12
12
|
import useThemeProps from '../styles/useThemeProps';
|
|
@@ -39,14 +39,14 @@ var DialogTitle = /*#__PURE__*/React.forwardRef(function DialogTitle(inProps, re
|
|
|
39
39
|
var classes = useUtilityClasses(ownerState);
|
|
40
40
|
var _React$useContext = React.useContext(DialogContext),
|
|
41
41
|
_React$useContext$tit = _React$useContext.titleId,
|
|
42
|
-
|
|
42
|
+
titleId = _React$useContext$tit === void 0 ? idProp : _React$useContext$tit;
|
|
43
43
|
return /*#__PURE__*/_jsx(DialogTitleRoot, _extends({
|
|
44
44
|
component: "h2",
|
|
45
45
|
className: clsx(classes.root, className),
|
|
46
46
|
ownerState: ownerState,
|
|
47
47
|
ref: ref,
|
|
48
48
|
variant: "h6",
|
|
49
|
-
id:
|
|
49
|
+
id: idProp != null ? idProp : titleId
|
|
50
50
|
}, other));
|
|
51
51
|
});
|
|
52
52
|
process.env.NODE_ENV !== "production" ? DialogTitle.propTypes /* remove-proptypes */ = {
|
|
@@ -439,7 +439,7 @@ var InputBase = /*#__PURE__*/React.forwardRef(function InputBase(inProps, ref) {
|
|
|
439
439
|
ref: ref,
|
|
440
440
|
onClick: handleClick
|
|
441
441
|
}, other, {
|
|
442
|
-
className: clsx(classes.root, rootProps.className, className),
|
|
442
|
+
className: clsx(classes.root, rootProps.className, className, readOnly && 'MuiInputBase-readOnly'),
|
|
443
443
|
children: [startAdornment, /*#__PURE__*/_jsx(FormControlContext.Provider, {
|
|
444
444
|
value: null,
|
|
445
445
|
children: /*#__PURE__*/_jsx(Input, _extends({
|
|
@@ -466,7 +466,7 @@ var InputBase = /*#__PURE__*/React.forwardRef(function InputBase(inProps, ref) {
|
|
|
466
466
|
ownerState: _extends({}, ownerState, inputProps.ownerState)
|
|
467
467
|
}, {
|
|
468
468
|
ref: handleInputRef,
|
|
469
|
-
className: clsx(classes.input, inputProps.className),
|
|
469
|
+
className: clsx(classes.input, inputProps.className, readOnly && 'MuiInputBase-readOnly'),
|
|
470
470
|
onBlur: handleBlur,
|
|
471
471
|
onChange: handleChange,
|
|
472
472
|
onFocus: handleFocus
|
|
@@ -94,7 +94,9 @@ var InputLabelRoot = styled(FormLabel, {
|
|
|
94
94
|
}, ownerState.shrink && {
|
|
95
95
|
userSelect: 'none',
|
|
96
96
|
pointerEvents: 'auto',
|
|
97
|
-
|
|
97
|
+
// Theoretically, we should have (8+5)*2/0.75 = 34px
|
|
98
|
+
// but it feels a better when it bleeds a bit on the left, so 32px.
|
|
99
|
+
maxWidth: 'calc(133% - 32px)',
|
|
98
100
|
transform: 'translate(14px, -9px) scale(0.75)'
|
|
99
101
|
}));
|
|
100
102
|
});
|
|
@@ -86,6 +86,7 @@ var ListSubheader = /*#__PURE__*/React.forwardRef(function ListSubheader(inProps
|
|
|
86
86
|
ownerState: ownerState
|
|
87
87
|
}, other));
|
|
88
88
|
});
|
|
89
|
+
ListSubheader.muiSkipListHighlight = true;
|
|
89
90
|
process.env.NODE_ENV !== "production" ? ListSubheader.propTypes /* remove-proptypes */ = {
|
|
90
91
|
// ----------------------------- Warning --------------------------------
|
|
91
92
|
// | These PropTypes are generated from the TypeScript type definitions |
|
package/legacy/Menu/Menu.js
CHANGED
|
@@ -157,7 +157,7 @@ var Menu = /*#__PURE__*/React.forwardRef(function Menu(inProps, ref) {
|
|
|
157
157
|
},
|
|
158
158
|
transformOrigin: isRtl ? RTL_ORIGIN : LTR_ORIGIN,
|
|
159
159
|
PaperProps: _extends({
|
|
160
|
-
|
|
160
|
+
as: MenuPaper
|
|
161
161
|
}, PaperProps, {
|
|
162
162
|
classes: _extends({}, PaperProps.classes, {
|
|
163
163
|
root: classes.paper
|
|
@@ -196,6 +196,13 @@ var MenuList = /*#__PURE__*/React.forwardRef(function MenuList(props, ref) {
|
|
|
196
196
|
activeItemIndex = index;
|
|
197
197
|
}
|
|
198
198
|
}
|
|
199
|
+
if (activeItemIndex === index && (child.props.disabled || child.props.muiSkipListHighlight || child.type.muiSkipListHighlight)) {
|
|
200
|
+
activeItemIndex += 1;
|
|
201
|
+
if (activeItemIndex >= children.length) {
|
|
202
|
+
// there are no focusable items within the list.
|
|
203
|
+
activeItemIndex = -1;
|
|
204
|
+
}
|
|
205
|
+
}
|
|
199
206
|
});
|
|
200
207
|
var items = React.Children.map(children, function (child, index) {
|
|
201
208
|
if (index === activeItemIndex) {
|