@mui/material 5.13.3 → 5.13.4
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/autocompleteClasses.d.ts +2 -0
- package/CHANGELOG.md +45 -0
- package/Menu/Menu.d.ts +3 -0
- package/Menu/Menu.js +11 -9
- package/MenuList/MenuList.js +7 -0
- package/MobileStepper/MobileStepper.js +9 -1
- package/Popover/Popover.d.ts +34 -3
- package/Popover/Popover.js +76 -28
- package/index.js +1 -1
- package/legacy/Menu/Menu.js +11 -9
- package/legacy/MenuList/MenuList.js +7 -0
- package/legacy/MobileStepper/MobileStepper.js +9 -1
- package/legacy/Popover/Popover.js +73 -28
- package/legacy/index.js +1 -1
- package/modern/Menu/Menu.js +11 -9
- package/modern/MenuList/MenuList.js +7 -0
- package/modern/MobileStepper/MobileStepper.js +9 -1
- package/modern/Popover/Popover.js +75 -28
- package/modern/index.js +1 -1
- package/node/Menu/Menu.js +13 -10
- package/node/MenuList/MenuList.js +7 -0
- package/node/MobileStepper/MobileStepper.js +9 -1
- package/node/Popover/Popover.js +75 -25
- package/node/index.js +1 -1
- package/package.json +3 -3
- package/umd/material-ui.development.js +107 -221
- package/umd/material-ui.production.min.js +6 -6
|
@@ -3,7 +3,7 @@ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutPr
|
|
|
3
3
|
import * as React from 'react';
|
|
4
4
|
import PropTypes from 'prop-types';
|
|
5
5
|
import clsx from 'clsx';
|
|
6
|
-
import { unstable_composeClasses as composeClasses } from '@mui/base';
|
|
6
|
+
import { unstable_composeClasses as composeClasses, useSlotProps, isHostComponent } from '@mui/base';
|
|
7
7
|
import { chainPropTypes, integerPropType, elementTypeAcceptingRef, refType, HTMLElementType } from '@mui/utils';
|
|
8
8
|
import styled from '../styles/styled';
|
|
9
9
|
import useThemeProps from '../styles/useThemeProps';
|
|
@@ -13,7 +13,7 @@ import ownerWindow from '../utils/ownerWindow';
|
|
|
13
13
|
import useForkRef from '../utils/useForkRef';
|
|
14
14
|
import Grow from '../Grow';
|
|
15
15
|
import Modal from '../Modal';
|
|
16
|
-
import
|
|
16
|
+
import PaperBase from '../Paper';
|
|
17
17
|
import { getPopoverUtilityClass } from './popoverClasses';
|
|
18
18
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
19
19
|
export function getOffsetTop(rect, vertical) {
|
|
@@ -54,14 +54,14 @@ var useUtilityClasses = function useUtilityClasses(ownerState) {
|
|
|
54
54
|
};
|
|
55
55
|
return composeClasses(slots, getPopoverUtilityClass, classes);
|
|
56
56
|
};
|
|
57
|
-
var PopoverRoot = styled(Modal, {
|
|
57
|
+
export var PopoverRoot = styled(Modal, {
|
|
58
58
|
name: 'MuiPopover',
|
|
59
59
|
slot: 'Root',
|
|
60
60
|
overridesResolver: function overridesResolver(props, styles) {
|
|
61
61
|
return styles.root;
|
|
62
62
|
}
|
|
63
63
|
})({});
|
|
64
|
-
var PopoverPaper = styled(
|
|
64
|
+
export var PopoverPaper = styled(PaperBase, {
|
|
65
65
|
name: 'MuiPopover',
|
|
66
66
|
slot: 'Paper',
|
|
67
67
|
overridesResolver: function overridesResolver(props, styles) {
|
|
@@ -81,6 +81,7 @@ var PopoverPaper = styled(Paper, {
|
|
|
81
81
|
outline: 0
|
|
82
82
|
});
|
|
83
83
|
var Popover = /*#__PURE__*/React.forwardRef(function Popover(inProps, ref) {
|
|
84
|
+
var _slotProps$paper, _slots$root, _slots$paper;
|
|
84
85
|
var props = useThemeProps({
|
|
85
86
|
props: inProps,
|
|
86
87
|
name: 'MuiPopover'
|
|
@@ -104,7 +105,9 @@ var Popover = /*#__PURE__*/React.forwardRef(function Popover(inProps, ref) {
|
|
|
104
105
|
marginThreshold = _props$marginThreshol === void 0 ? 16 : _props$marginThreshol,
|
|
105
106
|
open = props.open,
|
|
106
107
|
_props$PaperProps = props.PaperProps,
|
|
107
|
-
|
|
108
|
+
PaperPropsProp = _props$PaperProps === void 0 ? {} : _props$PaperProps,
|
|
109
|
+
slots = props.slots,
|
|
110
|
+
slotProps = props.slotProps,
|
|
108
111
|
_props$transformOrigi = props.transformOrigin,
|
|
109
112
|
transformOrigin = _props$transformOrigi === void 0 ? {
|
|
110
113
|
vertical: 'top',
|
|
@@ -118,15 +121,16 @@ var Popover = /*#__PURE__*/React.forwardRef(function Popover(inProps, ref) {
|
|
|
118
121
|
_props$TransitionProp2 = _props$TransitionProp === void 0 ? {} : _props$TransitionProp,
|
|
119
122
|
onEntering = _props$TransitionProp2.onEntering,
|
|
120
123
|
TransitionProps = _objectWithoutProperties(_props$TransitionProp2, ["onEntering"]),
|
|
121
|
-
other = _objectWithoutProperties(props, ["action", "anchorEl", "anchorOrigin", "anchorPosition", "anchorReference", "children", "className", "container", "elevation", "marginThreshold", "open", "PaperProps", "transformOrigin", "TransitionComponent", "transitionDuration", "TransitionProps"]);
|
|
124
|
+
other = _objectWithoutProperties(props, ["action", "anchorEl", "anchorOrigin", "anchorPosition", "anchorReference", "children", "className", "container", "elevation", "marginThreshold", "open", "PaperProps", "slots", "slotProps", "transformOrigin", "TransitionComponent", "transitionDuration", "TransitionProps"]);
|
|
125
|
+
var externalPaperSlotProps = (_slotProps$paper = slotProps == null ? void 0 : slotProps.paper) != null ? _slotProps$paper : PaperPropsProp;
|
|
122
126
|
var paperRef = React.useRef();
|
|
123
|
-
var handlePaperRef = useForkRef(paperRef,
|
|
127
|
+
var handlePaperRef = useForkRef(paperRef, externalPaperSlotProps.ref);
|
|
124
128
|
var ownerState = _extends({}, props, {
|
|
125
129
|
anchorOrigin: anchorOrigin,
|
|
126
130
|
anchorReference: anchorReference,
|
|
127
131
|
elevation: elevation,
|
|
128
132
|
marginThreshold: marginThreshold,
|
|
129
|
-
|
|
133
|
+
externalPaperSlotProps: externalPaperSlotProps,
|
|
130
134
|
transformOrigin: transformOrigin,
|
|
131
135
|
TransitionComponent: TransitionComponent,
|
|
132
136
|
transitionDuration: transitionDurationProp,
|
|
@@ -295,16 +299,44 @@ var Popover = /*#__PURE__*/React.forwardRef(function Popover(inProps, ref) {
|
|
|
295
299
|
// If the anchorEl prop is provided, use its parent body element as the container
|
|
296
300
|
// If neither are provided let the Modal take care of choosing the container
|
|
297
301
|
var container = containerProp || (anchorEl ? ownerDocument(resolveAnchorEl(anchorEl)).body : undefined);
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
302
|
+
var RootSlot = (_slots$root = slots == null ? void 0 : slots.root) != null ? _slots$root : PopoverRoot;
|
|
303
|
+
var PaperSlot = (_slots$paper = slots == null ? void 0 : slots.paper) != null ? _slots$paper : PopoverPaper;
|
|
304
|
+
var paperProps = useSlotProps({
|
|
305
|
+
elementType: PaperSlot,
|
|
306
|
+
externalSlotProps: _extends({}, externalPaperSlotProps, {
|
|
307
|
+
style: isPositioned ? externalPaperSlotProps.style : _extends({}, externalPaperSlotProps.style, {
|
|
308
|
+
opacity: 0
|
|
309
|
+
})
|
|
310
|
+
}),
|
|
311
|
+
additionalProps: {
|
|
312
|
+
elevation: elevation,
|
|
313
|
+
ref: handlePaperRef
|
|
301
314
|
},
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
315
|
+
ownerState: ownerState,
|
|
316
|
+
className: clsx(classes.paper, externalPaperSlotProps == null ? void 0 : externalPaperSlotProps.className)
|
|
317
|
+
});
|
|
318
|
+
var _useSlotProps = useSlotProps({
|
|
319
|
+
elementType: RootSlot,
|
|
320
|
+
externalSlotProps: (slotProps == null ? void 0 : slotProps.root) || {},
|
|
321
|
+
externalForwardedProps: other,
|
|
322
|
+
additionalProps: {
|
|
323
|
+
ref: ref,
|
|
324
|
+
slotProps: {
|
|
325
|
+
backdrop: {
|
|
326
|
+
invisible: true
|
|
327
|
+
}
|
|
328
|
+
},
|
|
329
|
+
container: container,
|
|
330
|
+
open: open
|
|
331
|
+
},
|
|
332
|
+
ownerState: ownerState,
|
|
333
|
+
className: clsx(classes.root, className)
|
|
334
|
+
}),
|
|
335
|
+
rootSlotPropsProp = _useSlotProps.slotProps,
|
|
336
|
+
rootProps = _objectWithoutProperties(_useSlotProps, ["slotProps"]);
|
|
337
|
+
return /*#__PURE__*/_jsx(RootSlot, _extends({}, rootProps, !isHostComponent(RootSlot) && {
|
|
338
|
+
slotProps: rootSlotPropsProp
|
|
339
|
+
}, {
|
|
308
340
|
children: /*#__PURE__*/_jsx(TransitionComponent, _extends({
|
|
309
341
|
appear: true,
|
|
310
342
|
in: open,
|
|
@@ -312,17 +344,7 @@ var Popover = /*#__PURE__*/React.forwardRef(function Popover(inProps, ref) {
|
|
|
312
344
|
onExited: handleExited,
|
|
313
345
|
timeout: transitionDuration
|
|
314
346
|
}, TransitionProps, {
|
|
315
|
-
children: /*#__PURE__*/_jsx(
|
|
316
|
-
elevation: elevation
|
|
317
|
-
}, PaperProps, {
|
|
318
|
-
ref: handlePaperRef,
|
|
319
|
-
className: clsx(classes.paper, PaperProps.className)
|
|
320
|
-
}, isPositioned ? undefined : {
|
|
321
|
-
style: _extends({}, PaperProps.style, {
|
|
322
|
-
opacity: 0
|
|
323
|
-
})
|
|
324
|
-
}, {
|
|
325
|
-
ownerState: ownerState,
|
|
347
|
+
children: /*#__PURE__*/_jsx(PaperSlot, _extends({}, paperProps, {
|
|
326
348
|
children: children
|
|
327
349
|
}))
|
|
328
350
|
}))
|
|
@@ -428,11 +450,34 @@ process.env.NODE_ENV !== "production" ? Popover.propTypes /* remove-proptypes */
|
|
|
428
450
|
open: PropTypes.bool.isRequired,
|
|
429
451
|
/**
|
|
430
452
|
* Props applied to the [`Paper`](/material-ui/api/paper/) element.
|
|
453
|
+
*
|
|
454
|
+
* This prop is an alias for `slotProps.paper` and will be overriden by it if both are used.
|
|
455
|
+
* @deprecated Use `slotProps.paper` instead.
|
|
456
|
+
*
|
|
431
457
|
* @default {}
|
|
432
458
|
*/
|
|
433
459
|
PaperProps: PropTypes /* @typescript-to-proptypes-ignore */.shape({
|
|
434
460
|
component: elementTypeAcceptingRef
|
|
435
461
|
}),
|
|
462
|
+
/**
|
|
463
|
+
* The extra props for the slot components.
|
|
464
|
+
* You can override the existing props or add new ones.
|
|
465
|
+
*
|
|
466
|
+
* @default {}
|
|
467
|
+
*/
|
|
468
|
+
slotProps: PropTypes.shape({
|
|
469
|
+
paper: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
|
|
470
|
+
root: PropTypes.oneOfType([PropTypes.func, PropTypes.object])
|
|
471
|
+
}),
|
|
472
|
+
/**
|
|
473
|
+
* The components used for each slot inside.
|
|
474
|
+
*
|
|
475
|
+
* @default {}
|
|
476
|
+
*/
|
|
477
|
+
slots: PropTypes.shape({
|
|
478
|
+
paper: PropTypes.elementType,
|
|
479
|
+
root: PropTypes.elementType
|
|
480
|
+
}),
|
|
436
481
|
/**
|
|
437
482
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
438
483
|
*/
|
package/legacy/index.js
CHANGED
package/modern/Menu/Menu.js
CHANGED
|
@@ -9,8 +9,7 @@ import clsx from 'clsx';
|
|
|
9
9
|
import { unstable_composeClasses as composeClasses } from '@mui/base';
|
|
10
10
|
import { HTMLElementType } from '@mui/utils';
|
|
11
11
|
import MenuList from '../MenuList';
|
|
12
|
-
import
|
|
13
|
-
import Popover from '../Popover';
|
|
12
|
+
import Popover, { PopoverPaper } from '../Popover';
|
|
14
13
|
import styled, { rootShouldForwardProp } from '../styles/styled';
|
|
15
14
|
import useTheme from '../styles/useTheme';
|
|
16
15
|
import useThemeProps from '../styles/useThemeProps';
|
|
@@ -41,7 +40,7 @@ const MenuRoot = styled(Popover, {
|
|
|
41
40
|
slot: 'Root',
|
|
42
41
|
overridesResolver: (props, styles) => styles.root
|
|
43
42
|
})({});
|
|
44
|
-
const MenuPaper = styled(
|
|
43
|
+
export const MenuPaper = styled(PopoverPaper, {
|
|
45
44
|
name: 'MuiMenu',
|
|
46
45
|
slot: 'Paper',
|
|
47
46
|
overridesResolver: (props, styles) => styles.paper
|
|
@@ -148,13 +147,16 @@ const Menu = /*#__PURE__*/React.forwardRef(function Menu(inProps, ref) {
|
|
|
148
147
|
horizontal: isRtl ? 'right' : 'left'
|
|
149
148
|
},
|
|
150
149
|
transformOrigin: isRtl ? RTL_ORIGIN : LTR_ORIGIN,
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
},
|
|
154
|
-
|
|
155
|
-
|
|
150
|
+
slots: {
|
|
151
|
+
paper: MenuPaper
|
|
152
|
+
},
|
|
153
|
+
slotProps: {
|
|
154
|
+
paper: _extends({}, PaperProps, {
|
|
155
|
+
classes: _extends({}, PaperProps.classes, {
|
|
156
|
+
root: classes.paper
|
|
157
|
+
})
|
|
156
158
|
})
|
|
157
|
-
}
|
|
159
|
+
},
|
|
158
160
|
className: classes.root,
|
|
159
161
|
open: open,
|
|
160
162
|
ref: ref,
|
|
@@ -180,6 +180,13 @@ const MenuList = /*#__PURE__*/React.forwardRef(function MenuList(props, ref) {
|
|
|
180
180
|
// item and use the first valid item as a fallback
|
|
181
181
|
React.Children.forEach(children, (child, index) => {
|
|
182
182
|
if (! /*#__PURE__*/React.isValidElement(child)) {
|
|
183
|
+
if (activeItemIndex === index) {
|
|
184
|
+
activeItemIndex += 1;
|
|
185
|
+
if (activeItemIndex >= children.length) {
|
|
186
|
+
// there are no focusable items within the list.
|
|
187
|
+
activeItemIndex = -1;
|
|
188
|
+
}
|
|
189
|
+
}
|
|
183
190
|
return;
|
|
184
191
|
}
|
|
185
192
|
if (process.env.NODE_ENV !== 'production') {
|
|
@@ -126,6 +126,14 @@ const MobileStepper = /*#__PURE__*/React.forwardRef(function MobileStepper(inPro
|
|
|
126
126
|
position,
|
|
127
127
|
variant
|
|
128
128
|
});
|
|
129
|
+
let value;
|
|
130
|
+
if (variant === 'progress') {
|
|
131
|
+
if (steps === 1) {
|
|
132
|
+
value = 100;
|
|
133
|
+
} else {
|
|
134
|
+
value = Math.ceil(activeStep / (steps - 1) * 100);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
129
137
|
const classes = useUtilityClasses(ownerState);
|
|
130
138
|
return /*#__PURE__*/_jsxs(MobileStepperRoot, _extends({
|
|
131
139
|
square: true,
|
|
@@ -148,7 +156,7 @@ const MobileStepper = /*#__PURE__*/React.forwardRef(function MobileStepper(inPro
|
|
|
148
156
|
ownerState: ownerState,
|
|
149
157
|
className: classes.progress,
|
|
150
158
|
variant: "determinate",
|
|
151
|
-
value:
|
|
159
|
+
value: value
|
|
152
160
|
}, LinearProgressProps)), nextButton]
|
|
153
161
|
}));
|
|
154
162
|
});
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
3
|
const _excluded = ["onEntering"],
|
|
4
|
-
_excluded2 = ["action", "anchorEl", "anchorOrigin", "anchorPosition", "anchorReference", "children", "className", "container", "elevation", "marginThreshold", "open", "PaperProps", "transformOrigin", "TransitionComponent", "transitionDuration", "TransitionProps"]
|
|
4
|
+
_excluded2 = ["action", "anchorEl", "anchorOrigin", "anchorPosition", "anchorReference", "children", "className", "container", "elevation", "marginThreshold", "open", "PaperProps", "slots", "slotProps", "transformOrigin", "TransitionComponent", "transitionDuration", "TransitionProps"],
|
|
5
|
+
_excluded3 = ["slotProps"];
|
|
5
6
|
import * as React from 'react';
|
|
6
7
|
import PropTypes from 'prop-types';
|
|
7
8
|
import clsx from 'clsx';
|
|
8
|
-
import { unstable_composeClasses as composeClasses } from '@mui/base';
|
|
9
|
+
import { unstable_composeClasses as composeClasses, useSlotProps, isHostComponent } from '@mui/base';
|
|
9
10
|
import { chainPropTypes, integerPropType, elementTypeAcceptingRef, refType, HTMLElementType } from '@mui/utils';
|
|
10
11
|
import styled from '../styles/styled';
|
|
11
12
|
import useThemeProps from '../styles/useThemeProps';
|
|
@@ -15,7 +16,7 @@ import ownerWindow from '../utils/ownerWindow';
|
|
|
15
16
|
import useForkRef from '../utils/useForkRef';
|
|
16
17
|
import Grow from '../Grow';
|
|
17
18
|
import Modal from '../Modal';
|
|
18
|
-
import
|
|
19
|
+
import PaperBase from '../Paper';
|
|
19
20
|
import { getPopoverUtilityClass } from './popoverClasses';
|
|
20
21
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
21
22
|
export function getOffsetTop(rect, vertical) {
|
|
@@ -56,12 +57,12 @@ const useUtilityClasses = ownerState => {
|
|
|
56
57
|
};
|
|
57
58
|
return composeClasses(slots, getPopoverUtilityClass, classes);
|
|
58
59
|
};
|
|
59
|
-
const PopoverRoot = styled(Modal, {
|
|
60
|
+
export const PopoverRoot = styled(Modal, {
|
|
60
61
|
name: 'MuiPopover',
|
|
61
62
|
slot: 'Root',
|
|
62
63
|
overridesResolver: (props, styles) => styles.root
|
|
63
64
|
})({});
|
|
64
|
-
const PopoverPaper = styled(
|
|
65
|
+
export const PopoverPaper = styled(PaperBase, {
|
|
65
66
|
name: 'MuiPopover',
|
|
66
67
|
slot: 'Paper',
|
|
67
68
|
overridesResolver: (props, styles) => styles.paper
|
|
@@ -98,7 +99,9 @@ const Popover = /*#__PURE__*/React.forwardRef(function Popover(inProps, ref) {
|
|
|
98
99
|
elevation = 8,
|
|
99
100
|
marginThreshold = 16,
|
|
100
101
|
open,
|
|
101
|
-
PaperProps = {},
|
|
102
|
+
PaperProps: PaperPropsProp = {},
|
|
103
|
+
slots,
|
|
104
|
+
slotProps,
|
|
102
105
|
transformOrigin = {
|
|
103
106
|
vertical: 'top',
|
|
104
107
|
horizontal: 'left'
|
|
@@ -111,14 +114,15 @@ const Popover = /*#__PURE__*/React.forwardRef(function Popover(inProps, ref) {
|
|
|
111
114
|
} = props,
|
|
112
115
|
TransitionProps = _objectWithoutPropertiesLoose(props.TransitionProps, _excluded),
|
|
113
116
|
other = _objectWithoutPropertiesLoose(props, _excluded2);
|
|
117
|
+
const externalPaperSlotProps = slotProps?.paper ?? PaperPropsProp;
|
|
114
118
|
const paperRef = React.useRef();
|
|
115
|
-
const handlePaperRef = useForkRef(paperRef,
|
|
119
|
+
const handlePaperRef = useForkRef(paperRef, externalPaperSlotProps.ref);
|
|
116
120
|
const ownerState = _extends({}, props, {
|
|
117
121
|
anchorOrigin,
|
|
118
122
|
anchorReference,
|
|
119
123
|
elevation,
|
|
120
124
|
marginThreshold,
|
|
121
|
-
|
|
125
|
+
externalPaperSlotProps,
|
|
122
126
|
transformOrigin,
|
|
123
127
|
TransitionComponent,
|
|
124
128
|
transitionDuration: transitionDurationProp,
|
|
@@ -283,16 +287,46 @@ const Popover = /*#__PURE__*/React.forwardRef(function Popover(inProps, ref) {
|
|
|
283
287
|
// If the anchorEl prop is provided, use its parent body element as the container
|
|
284
288
|
// If neither are provided let the Modal take care of choosing the container
|
|
285
289
|
const container = containerProp || (anchorEl ? ownerDocument(resolveAnchorEl(anchorEl)).body : undefined);
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
290
|
+
const RootSlot = slots?.root ?? PopoverRoot;
|
|
291
|
+
const PaperSlot = slots?.paper ?? PopoverPaper;
|
|
292
|
+
const paperProps = useSlotProps({
|
|
293
|
+
elementType: PaperSlot,
|
|
294
|
+
externalSlotProps: _extends({}, externalPaperSlotProps, {
|
|
295
|
+
style: isPositioned ? externalPaperSlotProps.style : _extends({}, externalPaperSlotProps.style, {
|
|
296
|
+
opacity: 0
|
|
297
|
+
})
|
|
298
|
+
}),
|
|
299
|
+
additionalProps: {
|
|
300
|
+
elevation,
|
|
301
|
+
ref: handlePaperRef
|
|
289
302
|
},
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
303
|
+
ownerState,
|
|
304
|
+
className: clsx(classes.paper, externalPaperSlotProps?.className)
|
|
305
|
+
});
|
|
306
|
+
const _useSlotProps = useSlotProps({
|
|
307
|
+
elementType: RootSlot,
|
|
308
|
+
externalSlotProps: slotProps?.root || {},
|
|
309
|
+
externalForwardedProps: other,
|
|
310
|
+
additionalProps: {
|
|
311
|
+
ref,
|
|
312
|
+
slotProps: {
|
|
313
|
+
backdrop: {
|
|
314
|
+
invisible: true
|
|
315
|
+
}
|
|
316
|
+
},
|
|
317
|
+
container,
|
|
318
|
+
open
|
|
319
|
+
},
|
|
320
|
+
ownerState,
|
|
321
|
+
className: clsx(classes.root, className)
|
|
322
|
+
}),
|
|
323
|
+
{
|
|
324
|
+
slotProps: rootSlotPropsProp
|
|
325
|
+
} = _useSlotProps,
|
|
326
|
+
rootProps = _objectWithoutPropertiesLoose(_useSlotProps, _excluded3);
|
|
327
|
+
return /*#__PURE__*/_jsx(RootSlot, _extends({}, rootProps, !isHostComponent(RootSlot) && {
|
|
328
|
+
slotProps: rootSlotPropsProp
|
|
329
|
+
}, {
|
|
296
330
|
children: /*#__PURE__*/_jsx(TransitionComponent, _extends({
|
|
297
331
|
appear: true,
|
|
298
332
|
in: open,
|
|
@@ -300,17 +334,7 @@ const Popover = /*#__PURE__*/React.forwardRef(function Popover(inProps, ref) {
|
|
|
300
334
|
onExited: handleExited,
|
|
301
335
|
timeout: transitionDuration
|
|
302
336
|
}, TransitionProps, {
|
|
303
|
-
children: /*#__PURE__*/_jsx(
|
|
304
|
-
elevation: elevation
|
|
305
|
-
}, PaperProps, {
|
|
306
|
-
ref: handlePaperRef,
|
|
307
|
-
className: clsx(classes.paper, PaperProps.className)
|
|
308
|
-
}, isPositioned ? undefined : {
|
|
309
|
-
style: _extends({}, PaperProps.style, {
|
|
310
|
-
opacity: 0
|
|
311
|
-
})
|
|
312
|
-
}, {
|
|
313
|
-
ownerState: ownerState,
|
|
337
|
+
children: /*#__PURE__*/_jsx(PaperSlot, _extends({}, paperProps, {
|
|
314
338
|
children: children
|
|
315
339
|
}))
|
|
316
340
|
}))
|
|
@@ -416,11 +440,34 @@ process.env.NODE_ENV !== "production" ? Popover.propTypes /* remove-proptypes */
|
|
|
416
440
|
open: PropTypes.bool.isRequired,
|
|
417
441
|
/**
|
|
418
442
|
* Props applied to the [`Paper`](/material-ui/api/paper/) element.
|
|
443
|
+
*
|
|
444
|
+
* This prop is an alias for `slotProps.paper` and will be overriden by it if both are used.
|
|
445
|
+
* @deprecated Use `slotProps.paper` instead.
|
|
446
|
+
*
|
|
419
447
|
* @default {}
|
|
420
448
|
*/
|
|
421
449
|
PaperProps: PropTypes /* @typescript-to-proptypes-ignore */.shape({
|
|
422
450
|
component: elementTypeAcceptingRef
|
|
423
451
|
}),
|
|
452
|
+
/**
|
|
453
|
+
* The extra props for the slot components.
|
|
454
|
+
* You can override the existing props or add new ones.
|
|
455
|
+
*
|
|
456
|
+
* @default {}
|
|
457
|
+
*/
|
|
458
|
+
slotProps: PropTypes.shape({
|
|
459
|
+
paper: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
|
|
460
|
+
root: PropTypes.oneOfType([PropTypes.func, PropTypes.object])
|
|
461
|
+
}),
|
|
462
|
+
/**
|
|
463
|
+
* The components used for each slot inside.
|
|
464
|
+
*
|
|
465
|
+
* @default {}
|
|
466
|
+
*/
|
|
467
|
+
slots: PropTypes.shape({
|
|
468
|
+
paper: PropTypes.elementType,
|
|
469
|
+
root: PropTypes.elementType
|
|
470
|
+
}),
|
|
424
471
|
/**
|
|
425
472
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
426
473
|
*/
|
package/modern/index.js
CHANGED
package/node/Menu/Menu.js
CHANGED
|
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.default = void 0;
|
|
7
|
+
exports.default = exports.MenuPaper = void 0;
|
|
8
8
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
9
|
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
10
10
|
var React = _interopRequireWildcard(require("react"));
|
|
@@ -14,8 +14,7 @@ var _clsx = _interopRequireDefault(require("clsx"));
|
|
|
14
14
|
var _base = require("@mui/base");
|
|
15
15
|
var _utils = require("@mui/utils");
|
|
16
16
|
var _MenuList = _interopRequireDefault(require("../MenuList"));
|
|
17
|
-
var
|
|
18
|
-
var _Popover = _interopRequireDefault(require("../Popover"));
|
|
17
|
+
var _Popover = _interopRequireWildcard(require("../Popover"));
|
|
19
18
|
var _styled = _interopRequireWildcard(require("../styles/styled"));
|
|
20
19
|
var _useTheme = _interopRequireDefault(require("../styles/useTheme"));
|
|
21
20
|
var _useThemeProps = _interopRequireDefault(require("../styles/useThemeProps"));
|
|
@@ -50,7 +49,7 @@ const MenuRoot = (0, _styled.default)(_Popover.default, {
|
|
|
50
49
|
slot: 'Root',
|
|
51
50
|
overridesResolver: (props, styles) => styles.root
|
|
52
51
|
})({});
|
|
53
|
-
const MenuPaper = (0, _styled.default)(
|
|
52
|
+
const MenuPaper = (0, _styled.default)(_Popover.PopoverPaper, {
|
|
54
53
|
name: 'MuiMenu',
|
|
55
54
|
slot: 'Paper',
|
|
56
55
|
overridesResolver: (props, styles) => styles.paper
|
|
@@ -62,6 +61,7 @@ const MenuPaper = (0, _styled.default)(_Paper.default, {
|
|
|
62
61
|
// Add iOS momentum scrolling for iOS < 13.0
|
|
63
62
|
WebkitOverflowScrolling: 'touch'
|
|
64
63
|
});
|
|
64
|
+
exports.MenuPaper = MenuPaper;
|
|
65
65
|
const MenuMenuList = (0, _styled.default)(_MenuList.default, {
|
|
66
66
|
name: 'MuiMenu',
|
|
67
67
|
slot: 'List',
|
|
@@ -157,13 +157,16 @@ const Menu = /*#__PURE__*/React.forwardRef(function Menu(inProps, ref) {
|
|
|
157
157
|
horizontal: isRtl ? 'right' : 'left'
|
|
158
158
|
},
|
|
159
159
|
transformOrigin: isRtl ? RTL_ORIGIN : LTR_ORIGIN,
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
},
|
|
163
|
-
|
|
164
|
-
|
|
160
|
+
slots: {
|
|
161
|
+
paper: MenuPaper
|
|
162
|
+
},
|
|
163
|
+
slotProps: {
|
|
164
|
+
paper: (0, _extends2.default)({}, PaperProps, {
|
|
165
|
+
classes: (0, _extends2.default)({}, PaperProps.classes, {
|
|
166
|
+
root: classes.paper
|
|
167
|
+
})
|
|
165
168
|
})
|
|
166
|
-
}
|
|
169
|
+
},
|
|
167
170
|
className: classes.root,
|
|
168
171
|
open: open,
|
|
169
172
|
ref: ref,
|
|
@@ -189,6 +189,13 @@ const MenuList = /*#__PURE__*/React.forwardRef(function MenuList(props, ref) {
|
|
|
189
189
|
// item and use the first valid item as a fallback
|
|
190
190
|
React.Children.forEach(children, (child, index) => {
|
|
191
191
|
if (! /*#__PURE__*/React.isValidElement(child)) {
|
|
192
|
+
if (activeItemIndex === index) {
|
|
193
|
+
activeItemIndex += 1;
|
|
194
|
+
if (activeItemIndex >= children.length) {
|
|
195
|
+
// there are no focusable items within the list.
|
|
196
|
+
activeItemIndex = -1;
|
|
197
|
+
}
|
|
198
|
+
}
|
|
192
199
|
return;
|
|
193
200
|
}
|
|
194
201
|
if (process.env.NODE_ENV !== 'production') {
|
|
@@ -134,6 +134,14 @@ const MobileStepper = /*#__PURE__*/React.forwardRef(function MobileStepper(inPro
|
|
|
134
134
|
position,
|
|
135
135
|
variant
|
|
136
136
|
});
|
|
137
|
+
let value;
|
|
138
|
+
if (variant === 'progress') {
|
|
139
|
+
if (steps === 1) {
|
|
140
|
+
value = 100;
|
|
141
|
+
} else {
|
|
142
|
+
value = Math.ceil(activeStep / (steps - 1) * 100);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
137
145
|
const classes = useUtilityClasses(ownerState);
|
|
138
146
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(MobileStepperRoot, (0, _extends2.default)({
|
|
139
147
|
square: true,
|
|
@@ -156,7 +164,7 @@ const MobileStepper = /*#__PURE__*/React.forwardRef(function MobileStepper(inPro
|
|
|
156
164
|
ownerState: ownerState,
|
|
157
165
|
className: classes.progress,
|
|
158
166
|
variant: "determinate",
|
|
159
|
-
value:
|
|
167
|
+
value: value
|
|
160
168
|
}, LinearProgressProps)), nextButton]
|
|
161
169
|
}));
|
|
162
170
|
});
|