@mui/material 6.4.5 → 6.4.6
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/Accordion/Accordion.d.ts +14 -12
- package/Alert/Alert.d.ts +3 -15
- package/Backdrop/Backdrop.d.ts +14 -12
- package/CHANGELOG.md +38 -0
- package/CardHeader/CardHeader.d.ts +4 -20
- package/Checkbox/Checkbox.d.ts +45 -9
- package/Checkbox/Checkbox.js +51 -21
- package/Dialog/Dialog.d.ts +4 -4
- package/Drawer/Drawer.d.ts +92 -1
- package/Drawer/Drawer.js +108 -36
- package/InputBase/inputBaseClasses.d.ts +15 -6
- package/Menu/Menu.d.ts +88 -1
- package/Menu/Menu.js +58 -19
- package/Modal/Modal.js +9 -10
- package/Popover/Popover.d.ts +60 -6
- package/Popover/Popover.js +78 -51
- package/Radio/Radio.d.ts +45 -1
- package/Radio/Radio.js +59 -16
- package/Select/SelectInput.js +8 -8
- package/Snackbar/Snackbar.d.ts +79 -2
- package/Snackbar/Snackbar.js +110 -32
- package/SpeedDial/SpeedDial.d.ts +8 -6
- package/SpeedDialAction/SpeedDialAction.d.ts +82 -1
- package/SpeedDialAction/SpeedDialAction.js +108 -30
- package/StepContent/StepContent.d.ts +2 -2
- package/SwipeableDrawer/SwipeableDrawer.d.ts +28 -2
- package/SwipeableDrawer/SwipeableDrawer.js +60 -13
- package/Switch/Switch.js +2 -0
- package/Tabs/Tabs.d.ts +129 -29
- package/Tabs/Tabs.js +120 -52
- package/Tabs/tabsClasses.d.ts +4 -0
- package/Tabs/tabsClasses.js +1 -1
- package/Tooltip/Tooltip.d.ts +20 -12
- package/index.js +1 -1
- package/internal/SwitchBase.d.ts +35 -1
- package/internal/SwitchBase.js +84 -30
- package/modern/Checkbox/Checkbox.js +51 -21
- package/modern/Drawer/Drawer.js +108 -36
- package/modern/Menu/Menu.js +58 -19
- package/modern/Modal/Modal.js +9 -10
- package/modern/Popover/Popover.js +78 -51
- package/modern/Radio/Radio.js +59 -16
- package/modern/Select/SelectInput.js +8 -8
- package/modern/Snackbar/Snackbar.js +110 -32
- package/modern/SpeedDialAction/SpeedDialAction.js +108 -30
- package/modern/SwipeableDrawer/SwipeableDrawer.js +60 -13
- package/modern/Switch/Switch.js +2 -0
- package/modern/Tabs/Tabs.js +120 -52
- package/modern/Tabs/tabsClasses.js +1 -1
- package/modern/index.js +1 -1
- package/modern/internal/SwitchBase.js +84 -30
- package/modern/styles/createThemeNoVars.js +7 -2
- package/modern/version/index.js +2 -2
- package/node/Checkbox/Checkbox.js +51 -21
- package/node/Drawer/Drawer.js +108 -36
- package/node/Menu/Menu.js +58 -19
- package/node/Modal/Modal.js +9 -10
- package/node/Popover/Popover.js +78 -51
- package/node/Radio/Radio.js +59 -16
- package/node/Select/SelectInput.js +8 -8
- package/node/Snackbar/Snackbar.js +110 -32
- package/node/SpeedDialAction/SpeedDialAction.js +108 -30
- package/node/SwipeableDrawer/SwipeableDrawer.js +60 -13
- package/node/Switch/Switch.js +2 -0
- package/node/Tabs/Tabs.js +120 -52
- package/node/Tabs/tabsClasses.js +1 -1
- package/node/index.js +1 -1
- package/node/internal/SwitchBase.js +84 -30
- package/node/styles/createThemeNoVars.js +7 -2
- package/node/version/index.js +2 -2
- package/package.json +6 -6
- package/styles/createThemeNoVars.js +7 -2
- package/version/index.js +2 -2
|
@@ -22,6 +22,8 @@ var _useEnhancedEffect = _interopRequireDefault(require("../utils/useEnhancedEff
|
|
|
22
22
|
var _zeroStyled = require("../zero-styled");
|
|
23
23
|
var _DefaultPropsProvider = require("../DefaultPropsProvider");
|
|
24
24
|
var _utils = require("../transitions/utils");
|
|
25
|
+
var _utils2 = require("../utils");
|
|
26
|
+
var _useSlot = _interopRequireDefault(require("../utils/useSlot"));
|
|
25
27
|
var _SwipeArea = _interopRequireDefault(require("./SwipeArea"));
|
|
26
28
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
27
29
|
// This value is closed to what browsers are using internally to
|
|
@@ -152,6 +154,8 @@ const SwipeableDrawer = /*#__PURE__*/React.forwardRef(function SwipeableDrawer(i
|
|
|
152
154
|
transitionDuration = transitionDurationDefault,
|
|
153
155
|
variant = 'temporary',
|
|
154
156
|
// Mobile first.
|
|
157
|
+
slots = {},
|
|
158
|
+
slotProps = {},
|
|
155
159
|
...other
|
|
156
160
|
} = props;
|
|
157
161
|
const [maybeSwiping, setMaybeSwiping] = React.useState(false);
|
|
@@ -457,6 +461,22 @@ const SwipeableDrawer = /*#__PURE__*/React.forwardRef(function SwipeableDrawer(i
|
|
|
457
461
|
setMaybeSwiping(false);
|
|
458
462
|
}
|
|
459
463
|
}, [open]);
|
|
464
|
+
const [SwipeAreaSlot, swipeAreaSlotProps] = (0, _useSlot.default)('swipeArea', {
|
|
465
|
+
ref: swipeAreaRef,
|
|
466
|
+
elementType: _SwipeArea.default,
|
|
467
|
+
ownerState: props,
|
|
468
|
+
externalForwardedProps: {
|
|
469
|
+
slots,
|
|
470
|
+
slotProps: {
|
|
471
|
+
swipeArea: SwipeAreaProps,
|
|
472
|
+
...slotProps
|
|
473
|
+
}
|
|
474
|
+
},
|
|
475
|
+
additionalProps: {
|
|
476
|
+
width: swipeAreaWidth,
|
|
477
|
+
anchor
|
|
478
|
+
}
|
|
479
|
+
});
|
|
460
480
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
|
|
461
481
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Drawer.default, {
|
|
462
482
|
open: variant === 'temporary' && maybeSwiping ? true : open,
|
|
@@ -474,25 +494,27 @@ const SwipeableDrawer = /*#__PURE__*/React.forwardRef(function SwipeableDrawer(i
|
|
|
474
494
|
...ModalPropsProp
|
|
475
495
|
},
|
|
476
496
|
hideBackdrop: hideBackdrop,
|
|
477
|
-
PaperProps: {
|
|
478
|
-
...PaperProps,
|
|
479
|
-
style: {
|
|
480
|
-
pointerEvents: variant === 'temporary' && !open && !allowSwipeInChildren ? 'none' : '',
|
|
481
|
-
...PaperProps.style
|
|
482
|
-
},
|
|
483
|
-
ref: handleRef
|
|
484
|
-
},
|
|
485
497
|
anchor: anchor,
|
|
486
498
|
transitionDuration: calculatedDurationRef.current || transitionDuration,
|
|
487
499
|
onClose: onClose,
|
|
488
500
|
ref: ref,
|
|
501
|
+
slots: slots,
|
|
502
|
+
slotProps: {
|
|
503
|
+
...slotProps,
|
|
504
|
+
backdrop: (0, _utils2.mergeSlotProps)(slotProps.backdrop ?? BackdropProps, {
|
|
505
|
+
ref: backdropRef
|
|
506
|
+
}),
|
|
507
|
+
paper: (0, _utils2.mergeSlotProps)(slotProps.paper ?? PaperProps, {
|
|
508
|
+
style: {
|
|
509
|
+
pointerEvents: variant === 'temporary' && !open && !allowSwipeInChildren ? 'none' : ''
|
|
510
|
+
},
|
|
511
|
+
ref: handleRef
|
|
512
|
+
})
|
|
513
|
+
},
|
|
489
514
|
...other
|
|
490
515
|
}), !disableSwipeToOpen && variant === 'temporary' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_NoSsr.default, {
|
|
491
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
492
|
-
|
|
493
|
-
ref: swipeAreaRef,
|
|
494
|
-
width: swipeAreaWidth,
|
|
495
|
-
...SwipeAreaProps
|
|
516
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(SwipeAreaSlot, {
|
|
517
|
+
...swipeAreaSlotProps
|
|
496
518
|
})
|
|
497
519
|
})]
|
|
498
520
|
});
|
|
@@ -590,8 +612,33 @@ process.env.NODE_ENV !== "production" ? SwipeableDrawer.propTypes /* remove-prop
|
|
|
590
612
|
component: _elementTypeAcceptingRef.default,
|
|
591
613
|
style: _propTypes.default.object
|
|
592
614
|
}),
|
|
615
|
+
/**
|
|
616
|
+
* The props used for each slot inside.
|
|
617
|
+
* @default {}
|
|
618
|
+
*/
|
|
619
|
+
slotProps: _propTypes.default.shape({
|
|
620
|
+
backdrop: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
|
|
621
|
+
docked: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
|
|
622
|
+
paper: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
|
|
623
|
+
root: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
|
|
624
|
+
swipeArea: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
|
|
625
|
+
transition: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object])
|
|
626
|
+
}),
|
|
627
|
+
/**
|
|
628
|
+
* The components used for each slot inside.
|
|
629
|
+
* @default {}
|
|
630
|
+
*/
|
|
631
|
+
slots: _propTypes.default.shape({
|
|
632
|
+
backdrop: _propTypes.default.elementType,
|
|
633
|
+
docked: _propTypes.default.elementType,
|
|
634
|
+
paper: _propTypes.default.elementType,
|
|
635
|
+
root: _propTypes.default.elementType,
|
|
636
|
+
swipeArea: _propTypes.default.elementType,
|
|
637
|
+
transition: _propTypes.default.elementType
|
|
638
|
+
}),
|
|
593
639
|
/**
|
|
594
640
|
* The element is used to intercept the touch events on the edge.
|
|
641
|
+
* @deprecated use the `slotProps.swipeArea` prop instead. This prop will be removed in v7. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.
|
|
595
642
|
*/
|
|
596
643
|
SwipeAreaProps: _propTypes.default.object,
|
|
597
644
|
/**
|
package/node/Switch/Switch.js
CHANGED
|
@@ -312,10 +312,12 @@ process.env.NODE_ENV !== "production" ? Switch.propTypes /* remove-proptypes */
|
|
|
312
312
|
id: _propTypes.default.string,
|
|
313
313
|
/**
|
|
314
314
|
* [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.
|
|
315
|
+
* @deprecated Use `slotProps.input` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
|
|
315
316
|
*/
|
|
316
317
|
inputProps: _propTypes.default.object,
|
|
317
318
|
/**
|
|
318
319
|
* Pass a ref to the `input` element.
|
|
320
|
+
* @deprecated Use `slotProps.input.ref` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
|
|
319
321
|
*/
|
|
320
322
|
inputRef: _refType.default,
|
|
321
323
|
/**
|
package/node/Tabs/Tabs.js
CHANGED
|
@@ -26,6 +26,7 @@ var _useEventCallback = _interopRequireDefault(require("../utils/useEventCallbac
|
|
|
26
26
|
var _tabsClasses = _interopRequireWildcard(require("./tabsClasses"));
|
|
27
27
|
var _ownerDocument = _interopRequireDefault(require("../utils/ownerDocument"));
|
|
28
28
|
var _ownerWindow = _interopRequireDefault(require("../utils/ownerWindow"));
|
|
29
|
+
var _useSlot = _interopRequireDefault(require("../utils/useSlot"));
|
|
29
30
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
30
31
|
const nextItem = (list, item) => {
|
|
31
32
|
if (list === item) {
|
|
@@ -82,7 +83,7 @@ const useUtilityClasses = ownerState => {
|
|
|
82
83
|
const slots = {
|
|
83
84
|
root: ['root', vertical && 'vertical'],
|
|
84
85
|
scroller: ['scroller', fixed && 'fixed', hideScrollbar && 'hideScrollbar', scrollableX && 'scrollableX', scrollableY && 'scrollableY'],
|
|
85
|
-
|
|
86
|
+
list: ['list', 'flexContainer', vertical && 'flexContainerVertical', vertical && 'vertical', centered && 'centered'],
|
|
86
87
|
indicator: ['indicator'],
|
|
87
88
|
scrollButtons: ['scrollButtons', scrollButtonsHideMobile && 'scrollButtonsHideMobile'],
|
|
88
89
|
scrollableX: [scrollableX && 'scrollableX'],
|
|
@@ -183,14 +184,14 @@ const TabsScroller = (0, _zeroStyled.styled)('div', {
|
|
|
183
184
|
}
|
|
184
185
|
}]
|
|
185
186
|
});
|
|
186
|
-
const
|
|
187
|
+
const List = (0, _zeroStyled.styled)('div', {
|
|
187
188
|
name: 'MuiTabs',
|
|
188
|
-
slot: '
|
|
189
|
+
slot: 'List',
|
|
189
190
|
overridesResolver: (props, styles) => {
|
|
190
191
|
const {
|
|
191
192
|
ownerState
|
|
192
193
|
} = props;
|
|
193
|
-
return [styles.flexContainer, ownerState.vertical && styles.flexContainerVertical, ownerState.centered && styles.centered];
|
|
194
|
+
return [styles.list, styles.flexContainer, ownerState.vertical && styles.flexContainerVertical, ownerState.centered && styles.centered];
|
|
194
195
|
}
|
|
195
196
|
})({
|
|
196
197
|
display: 'flex',
|
|
@@ -278,13 +279,16 @@ const Tabs = /*#__PURE__*/React.forwardRef(function Tabs(inProps, ref) {
|
|
|
278
279
|
indicatorColor = 'primary',
|
|
279
280
|
onChange,
|
|
280
281
|
orientation = 'horizontal',
|
|
281
|
-
ScrollButtonComponent
|
|
282
|
+
ScrollButtonComponent,
|
|
283
|
+
// TODO: remove in v7 (deprecated in v6)
|
|
282
284
|
scrollButtons = 'auto',
|
|
283
285
|
selectionFollowsFocus,
|
|
284
286
|
slots = {},
|
|
285
287
|
slotProps = {},
|
|
286
288
|
TabIndicatorProps = {},
|
|
289
|
+
// TODO: remove in v7 (deprecated in v6)
|
|
287
290
|
TabScrollButtonProps = {},
|
|
291
|
+
// TODO: remove in v7 (deprecated in v6)
|
|
288
292
|
textColor = 'primary',
|
|
289
293
|
value,
|
|
290
294
|
variant = 'standard',
|
|
@@ -344,6 +348,14 @@ const Tabs = /*#__PURE__*/React.forwardRef(function Tabs(inProps, ref) {
|
|
|
344
348
|
const valueToIndex = new Map();
|
|
345
349
|
const tabsRef = React.useRef(null);
|
|
346
350
|
const tabListRef = React.useRef(null);
|
|
351
|
+
const externalForwardedProps = {
|
|
352
|
+
slots,
|
|
353
|
+
slotProps: {
|
|
354
|
+
indicator: TabIndicatorProps,
|
|
355
|
+
scrollButton: TabScrollButtonProps,
|
|
356
|
+
...slotProps
|
|
357
|
+
}
|
|
358
|
+
};
|
|
347
359
|
const getTabsMeta = () => {
|
|
348
360
|
const tabsNode = tabsRef.current;
|
|
349
361
|
let tabsMeta;
|
|
@@ -465,50 +477,62 @@ const Tabs = /*#__PURE__*/React.forwardRef(function Tabs(inProps, ref) {
|
|
|
465
477
|
const handleEndScrollClick = () => {
|
|
466
478
|
moveTabsScroll(getScrollSize());
|
|
467
479
|
};
|
|
480
|
+
const [ScrollbarSlot, {
|
|
481
|
+
onChange: scrollbarOnChange,
|
|
482
|
+
...scrollbarSlotProps
|
|
483
|
+
}] = (0, _useSlot.default)('scrollbar', {
|
|
484
|
+
className: (0, _clsx.default)(classes.scrollableX, classes.hideScrollbar),
|
|
485
|
+
elementType: TabsScrollbarSize,
|
|
486
|
+
shouldForwardComponentProp: true,
|
|
487
|
+
externalForwardedProps,
|
|
488
|
+
ownerState
|
|
489
|
+
});
|
|
468
490
|
|
|
469
491
|
// TODO Remove <ScrollbarSize /> as browser support for hiding the scrollbar
|
|
470
492
|
// with CSS improves.
|
|
471
493
|
const handleScrollbarSizeChange = React.useCallback(scrollbarWidth => {
|
|
494
|
+
scrollbarOnChange?.(scrollbarWidth);
|
|
472
495
|
setScrollerStyle({
|
|
473
496
|
overflow: null,
|
|
474
497
|
scrollbarWidth
|
|
475
498
|
});
|
|
476
|
-
}, []);
|
|
499
|
+
}, [scrollbarOnChange]);
|
|
500
|
+
const [ScrollButtonsSlot, scrollButtonSlotProps] = (0, _useSlot.default)('scrollButtons', {
|
|
501
|
+
className: (0, _clsx.default)(classes.scrollButtons, TabScrollButtonProps.className),
|
|
502
|
+
elementType: _TabScrollButton.default,
|
|
503
|
+
externalForwardedProps,
|
|
504
|
+
ownerState,
|
|
505
|
+
additionalProps: {
|
|
506
|
+
orientation,
|
|
507
|
+
slots: {
|
|
508
|
+
StartScrollButtonIcon: slots.startScrollButtonIcon || slots.StartScrollButtonIcon,
|
|
509
|
+
EndScrollButtonIcon: slots.endScrollButtonIcon || slots.EndScrollButtonIcon
|
|
510
|
+
},
|
|
511
|
+
slotProps: {
|
|
512
|
+
startScrollButtonIcon: startScrollButtonIconProps,
|
|
513
|
+
endScrollButtonIcon: endScrollButtonIconProps
|
|
514
|
+
}
|
|
515
|
+
}
|
|
516
|
+
});
|
|
477
517
|
const getConditionalElements = () => {
|
|
478
518
|
const conditionalElements = {};
|
|
479
|
-
conditionalElements.scrollbarSizeListener = scrollable ? /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
480
|
-
|
|
481
|
-
|
|
519
|
+
conditionalElements.scrollbarSizeListener = scrollable ? /*#__PURE__*/(0, _jsxRuntime.jsx)(ScrollbarSlot, {
|
|
520
|
+
...scrollbarSlotProps,
|
|
521
|
+
onChange: handleScrollbarSizeChange
|
|
482
522
|
}) : null;
|
|
483
523
|
const scrollButtonsActive = displayStartScroll || displayEndScroll;
|
|
484
524
|
const showScrollButtons = scrollable && (scrollButtons === 'auto' && scrollButtonsActive || scrollButtons === true);
|
|
485
|
-
conditionalElements.scrollButtonStart = showScrollButtons ? /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
486
|
-
slots: {
|
|
487
|
-
StartScrollButtonIcon: slots.StartScrollButtonIcon
|
|
488
|
-
},
|
|
489
|
-
slotProps: {
|
|
490
|
-
startScrollButtonIcon: startScrollButtonIconProps
|
|
491
|
-
},
|
|
492
|
-
orientation: orientation,
|
|
525
|
+
conditionalElements.scrollButtonStart = showScrollButtons ? /*#__PURE__*/(0, _jsxRuntime.jsx)(ScrollButtonsSlot, {
|
|
493
526
|
direction: isRtl ? 'right' : 'left',
|
|
494
527
|
onClick: handleStartScrollClick,
|
|
495
528
|
disabled: !displayStartScroll,
|
|
496
|
-
...
|
|
497
|
-
className: (0, _clsx.default)(classes.scrollButtons, TabScrollButtonProps.className)
|
|
529
|
+
...scrollButtonSlotProps
|
|
498
530
|
}) : null;
|
|
499
|
-
conditionalElements.scrollButtonEnd = showScrollButtons ? /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
500
|
-
slots: {
|
|
501
|
-
EndScrollButtonIcon: slots.EndScrollButtonIcon
|
|
502
|
-
},
|
|
503
|
-
slotProps: {
|
|
504
|
-
endScrollButtonIcon: endScrollButtonIconProps
|
|
505
|
-
},
|
|
506
|
-
orientation: orientation,
|
|
531
|
+
conditionalElements.scrollButtonEnd = showScrollButtons ? /*#__PURE__*/(0, _jsxRuntime.jsx)(ScrollButtonsSlot, {
|
|
507
532
|
direction: isRtl ? 'left' : 'right',
|
|
508
533
|
onClick: handleEndScrollClick,
|
|
509
534
|
disabled: !displayEndScroll,
|
|
510
|
-
...
|
|
511
|
-
className: (0, _clsx.default)(classes.scrollButtons, TabScrollButtonProps.className)
|
|
535
|
+
...scrollButtonSlotProps
|
|
512
536
|
}) : null;
|
|
513
537
|
return conditionalElements;
|
|
514
538
|
};
|
|
@@ -636,15 +660,18 @@ const Tabs = /*#__PURE__*/React.forwardRef(function Tabs(inProps, ref) {
|
|
|
636
660
|
updateIndicator: updateIndicatorState,
|
|
637
661
|
updateScrollButtons: updateScrollButtonState
|
|
638
662
|
}), [updateIndicatorState, updateScrollButtonState]);
|
|
639
|
-
const
|
|
640
|
-
...TabIndicatorProps,
|
|
663
|
+
const [IndicatorSlot, indicatorSlotProps] = (0, _useSlot.default)('indicator', {
|
|
641
664
|
className: (0, _clsx.default)(classes.indicator, TabIndicatorProps.className),
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
665
|
+
elementType: TabsIndicator,
|
|
666
|
+
externalForwardedProps,
|
|
667
|
+
ownerState,
|
|
668
|
+
additionalProps: {
|
|
669
|
+
style: indicatorStyle
|
|
646
670
|
}
|
|
647
671
|
});
|
|
672
|
+
const indicator = /*#__PURE__*/(0, _jsxRuntime.jsx)(IndicatorSlot, {
|
|
673
|
+
...indicatorSlotProps
|
|
674
|
+
});
|
|
648
675
|
let childIndex = 0;
|
|
649
676
|
const children = React.Children.map(childrenProp, child => {
|
|
650
677
|
if (! /*#__PURE__*/React.isValidElement(child)) {
|
|
@@ -711,29 +738,54 @@ const Tabs = /*#__PURE__*/React.forwardRef(function Tabs(inProps, ref) {
|
|
|
711
738
|
}
|
|
712
739
|
};
|
|
713
740
|
const conditionalElements = getConditionalElements();
|
|
714
|
-
|
|
741
|
+
const [RootSlot, rootSlotProps] = (0, _useSlot.default)('root', {
|
|
742
|
+
ref,
|
|
715
743
|
className: (0, _clsx.default)(classes.root, className),
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
744
|
+
elementType: TabsRoot,
|
|
745
|
+
externalForwardedProps: {
|
|
746
|
+
...externalForwardedProps,
|
|
747
|
+
...other,
|
|
748
|
+
component
|
|
749
|
+
},
|
|
750
|
+
ownerState
|
|
751
|
+
});
|
|
752
|
+
const [ScrollerSlot, scrollerSlotProps] = (0, _useSlot.default)('scroller', {
|
|
753
|
+
ref: tabsRef,
|
|
754
|
+
className: classes.scroller,
|
|
755
|
+
elementType: TabsScroller,
|
|
756
|
+
externalForwardedProps,
|
|
757
|
+
ownerState,
|
|
758
|
+
additionalProps: {
|
|
723
759
|
style: {
|
|
724
760
|
overflow: scrollerStyle.overflow,
|
|
725
761
|
[vertical ? `margin${isRtl ? 'Left' : 'Right'}` : 'marginBottom']: visibleScrollbar ? undefined : -scrollerStyle.scrollbarWidth
|
|
726
|
-
}
|
|
727
|
-
|
|
728
|
-
|
|
762
|
+
}
|
|
763
|
+
}
|
|
764
|
+
});
|
|
765
|
+
const [ListSlot, listSlotProps] = (0, _useSlot.default)('list', {
|
|
766
|
+
ref: tabListRef,
|
|
767
|
+
className: (0, _clsx.default)(classes.list, classes.flexContainer),
|
|
768
|
+
elementType: List,
|
|
769
|
+
externalForwardedProps,
|
|
770
|
+
ownerState,
|
|
771
|
+
getSlotProps: handlers => ({
|
|
772
|
+
...handlers,
|
|
773
|
+
onKeyDown: event => {
|
|
774
|
+
handleKeyDown(event);
|
|
775
|
+
handlers.onKeyDown?.(event);
|
|
776
|
+
}
|
|
777
|
+
})
|
|
778
|
+
});
|
|
779
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(RootSlot, {
|
|
780
|
+
...rootSlotProps,
|
|
781
|
+
children: [conditionalElements.scrollButtonStart, conditionalElements.scrollbarSizeListener, /*#__PURE__*/(0, _jsxRuntime.jsxs)(ScrollerSlot, {
|
|
782
|
+
...scrollerSlotProps,
|
|
783
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(ListSlot, {
|
|
729
784
|
"aria-label": ariaLabel,
|
|
730
785
|
"aria-labelledby": ariaLabelledBy,
|
|
731
786
|
"aria-orientation": orientation === 'vertical' ? 'vertical' : null,
|
|
732
|
-
className: classes.flexContainer,
|
|
733
|
-
ownerState: ownerState,
|
|
734
|
-
onKeyDown: handleKeyDown,
|
|
735
|
-
ref: tabListRef,
|
|
736
787
|
role: "tablist",
|
|
788
|
+
...listSlotProps,
|
|
737
789
|
children: children
|
|
738
790
|
}), mounted && indicator]
|
|
739
791
|
}), conditionalElements.scrollButtonEnd]
|
|
@@ -809,6 +861,7 @@ process.env.NODE_ENV !== "production" ? Tabs.propTypes /* remove-proptypes */ =
|
|
|
809
861
|
orientation: _propTypes.default.oneOf(['horizontal', 'vertical']),
|
|
810
862
|
/**
|
|
811
863
|
* The component used to render the scroll buttons.
|
|
864
|
+
* @deprecated use the `slots.scrollButtons` prop instead. This prop will be removed in v7. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.
|
|
812
865
|
* @default TabScrollButton
|
|
813
866
|
*/
|
|
814
867
|
ScrollButtonComponent: _propTypes.default.elementType,
|
|
@@ -830,12 +883,17 @@ process.env.NODE_ENV !== "production" ? Tabs.propTypes /* remove-proptypes */ =
|
|
|
830
883
|
*/
|
|
831
884
|
selectionFollowsFocus: _propTypes.default.bool,
|
|
832
885
|
/**
|
|
833
|
-
* The
|
|
834
|
-
* You can override the existing props or add new ones.
|
|
886
|
+
* The props used for each slot inside.
|
|
835
887
|
* @default {}
|
|
836
888
|
*/
|
|
837
889
|
slotProps: _propTypes.default.shape({
|
|
838
890
|
endScrollButtonIcon: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
|
|
891
|
+
indicator: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
|
|
892
|
+
list: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
|
|
893
|
+
root: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
|
|
894
|
+
scrollbar: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
|
|
895
|
+
scrollButtons: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
|
|
896
|
+
scroller: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
|
|
839
897
|
startScrollButtonIcon: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object])
|
|
840
898
|
}),
|
|
841
899
|
/**
|
|
@@ -843,7 +901,15 @@ process.env.NODE_ENV !== "production" ? Tabs.propTypes /* remove-proptypes */ =
|
|
|
843
901
|
* @default {}
|
|
844
902
|
*/
|
|
845
903
|
slots: _propTypes.default.shape({
|
|
904
|
+
endScrollButtonIcon: _propTypes.default.elementType,
|
|
846
905
|
EndScrollButtonIcon: _propTypes.default.elementType,
|
|
906
|
+
indicator: _propTypes.default.elementType,
|
|
907
|
+
list: _propTypes.default.elementType,
|
|
908
|
+
root: _propTypes.default.elementType,
|
|
909
|
+
scrollbar: _propTypes.default.elementType,
|
|
910
|
+
scrollButtons: _propTypes.default.elementType,
|
|
911
|
+
scroller: _propTypes.default.elementType,
|
|
912
|
+
startScrollButtonIcon: _propTypes.default.elementType,
|
|
847
913
|
StartScrollButtonIcon: _propTypes.default.elementType
|
|
848
914
|
}),
|
|
849
915
|
/**
|
|
@@ -852,11 +918,13 @@ process.env.NODE_ENV !== "production" ? Tabs.propTypes /* remove-proptypes */ =
|
|
|
852
918
|
sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object, _propTypes.default.bool])), _propTypes.default.func, _propTypes.default.object]),
|
|
853
919
|
/**
|
|
854
920
|
* Props applied to the tab indicator element.
|
|
921
|
+
* @deprecated use the `slotProps.indicator` prop instead. This prop will be removed in v7. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.
|
|
855
922
|
* @default {}
|
|
856
923
|
*/
|
|
857
924
|
TabIndicatorProps: _propTypes.default.object,
|
|
858
925
|
/**
|
|
859
926
|
* Props applied to the [`TabScrollButton`](https://mui.com/material-ui/api/tab-scroll-button/) element.
|
|
927
|
+
* @deprecated use the `slotProps.scrollButtons` prop instead. This prop will be removed in v7. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.
|
|
860
928
|
* @default {}
|
|
861
929
|
*/
|
|
862
930
|
TabScrollButtonProps: _propTypes.default.object,
|
package/node/Tabs/tabsClasses.js
CHANGED
|
@@ -11,5 +11,5 @@ var _generateUtilityClass = _interopRequireDefault(require("@mui/utils/generateU
|
|
|
11
11
|
function getTabsUtilityClass(slot) {
|
|
12
12
|
return (0, _generateUtilityClass.default)('MuiTabs', slot);
|
|
13
13
|
}
|
|
14
|
-
const tabsClasses = (0, _generateUtilityClasses.default)('MuiTabs', ['root', 'vertical', 'flexContainer', 'flexContainerVertical', 'centered', 'scroller', 'fixed', 'scrollableX', 'scrollableY', 'hideScrollbar', 'scrollButtons', 'scrollButtonsHideMobile', 'indicator']);
|
|
14
|
+
const tabsClasses = (0, _generateUtilityClasses.default)('MuiTabs', ['root', 'vertical', 'list', 'flexContainer', 'flexContainerVertical', 'centered', 'scroller', 'fixed', 'scrollableX', 'scrollableY', 'hideScrollbar', 'scrollButtons', 'scrollButtonsHideMobile', 'indicator']);
|
|
15
15
|
var _default = exports.default = tabsClasses;
|
package/node/index.js
CHANGED
|
@@ -9,7 +9,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
9
9
|
exports.default = void 0;
|
|
10
10
|
var React = _interopRequireWildcard(require("react"));
|
|
11
11
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
12
|
-
var _clsx = _interopRequireDefault(require("clsx"));
|
|
13
12
|
var _refType = _interopRequireDefault(require("@mui/utils/refType"));
|
|
14
13
|
var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
|
|
15
14
|
var _capitalize = _interopRequireDefault(require("../utils/capitalize"));
|
|
@@ -19,6 +18,7 @@ var _useControlled = _interopRequireDefault(require("../utils/useControlled"));
|
|
|
19
18
|
var _useFormControl = _interopRequireDefault(require("../FormControl/useFormControl"));
|
|
20
19
|
var _ButtonBase = _interopRequireDefault(require("../ButtonBase"));
|
|
21
20
|
var _switchBaseClasses = require("./switchBaseClasses");
|
|
21
|
+
var _useSlot = _interopRequireDefault(require("../utils/useSlot"));
|
|
22
22
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
23
23
|
const useUtilityClasses = ownerState => {
|
|
24
24
|
const {
|
|
@@ -93,7 +93,6 @@ const SwitchBase = /*#__PURE__*/React.forwardRef(function SwitchBase(props, ref)
|
|
|
93
93
|
autoFocus,
|
|
94
94
|
checked: checkedProp,
|
|
95
95
|
checkedIcon,
|
|
96
|
-
className,
|
|
97
96
|
defaultChecked,
|
|
98
97
|
disabled: disabledProp,
|
|
99
98
|
disableFocusRipple = false,
|
|
@@ -111,6 +110,8 @@ const SwitchBase = /*#__PURE__*/React.forwardRef(function SwitchBase(props, ref)
|
|
|
111
110
|
tabIndex,
|
|
112
111
|
type,
|
|
113
112
|
value,
|
|
113
|
+
slots = {},
|
|
114
|
+
slotProps = {},
|
|
114
115
|
...other
|
|
115
116
|
} = props;
|
|
116
117
|
const [checked, setCheckedState] = (0, _useControlled.default)({
|
|
@@ -163,38 +164,75 @@ const SwitchBase = /*#__PURE__*/React.forwardRef(function SwitchBase(props, ref)
|
|
|
163
164
|
edge
|
|
164
165
|
};
|
|
165
166
|
const classes = useUtilityClasses(ownerState);
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
167
|
+
const externalForwardedProps = {
|
|
168
|
+
slots,
|
|
169
|
+
slotProps: {
|
|
170
|
+
input: inputProps,
|
|
171
|
+
...slotProps
|
|
172
|
+
}
|
|
173
|
+
};
|
|
174
|
+
const [RootSlot, rootSlotProps] = (0, _useSlot.default)('root', {
|
|
175
|
+
ref,
|
|
176
|
+
elementType: SwitchBaseRoot,
|
|
177
|
+
className: classes.root,
|
|
178
|
+
shouldForwardComponentProp: true,
|
|
179
|
+
externalForwardedProps: {
|
|
180
|
+
...externalForwardedProps,
|
|
181
|
+
component: 'span',
|
|
182
|
+
...other
|
|
183
|
+
},
|
|
184
|
+
getSlotProps: handlers => ({
|
|
185
|
+
...handlers,
|
|
186
|
+
onFocus: event => {
|
|
187
|
+
handlers.onFocus?.(event);
|
|
188
|
+
handleFocus(event);
|
|
189
|
+
},
|
|
190
|
+
onBlur: event => {
|
|
191
|
+
handlers.onBlur?.(event);
|
|
192
|
+
handleBlur(event);
|
|
193
|
+
}
|
|
194
|
+
}),
|
|
195
|
+
ownerState,
|
|
196
|
+
additionalProps: {
|
|
197
|
+
centerRipple: true,
|
|
198
|
+
focusRipple: !disableFocusRipple,
|
|
199
|
+
disabled,
|
|
200
|
+
role: undefined,
|
|
201
|
+
tabIndex: null
|
|
202
|
+
}
|
|
203
|
+
});
|
|
204
|
+
const [InputSlot, inputSlotProps] = (0, _useSlot.default)('input', {
|
|
205
|
+
ref: inputRef,
|
|
206
|
+
elementType: SwitchBaseInput,
|
|
207
|
+
className: classes.input,
|
|
208
|
+
externalForwardedProps,
|
|
209
|
+
getSlotProps: handlers => ({
|
|
210
|
+
onChange: event => {
|
|
211
|
+
handlers.onChange?.(event);
|
|
212
|
+
handleInputChange(event);
|
|
213
|
+
}
|
|
214
|
+
}),
|
|
215
|
+
ownerState,
|
|
216
|
+
additionalProps: {
|
|
217
|
+
autoFocus,
|
|
181
218
|
checked: checkedProp,
|
|
182
|
-
defaultChecked
|
|
183
|
-
|
|
184
|
-
disabled: disabled,
|
|
219
|
+
defaultChecked,
|
|
220
|
+
disabled,
|
|
185
221
|
id: hasLabelFor ? id : undefined,
|
|
186
|
-
name
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
ownerState: ownerState,
|
|
192
|
-
tabIndex: tabIndex,
|
|
193
|
-
type: type,
|
|
222
|
+
name,
|
|
223
|
+
readOnly,
|
|
224
|
+
required,
|
|
225
|
+
tabIndex,
|
|
226
|
+
type,
|
|
194
227
|
...(type === 'checkbox' && value === undefined ? {} : {
|
|
195
228
|
value
|
|
196
|
-
})
|
|
197
|
-
|
|
229
|
+
})
|
|
230
|
+
}
|
|
231
|
+
});
|
|
232
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(RootSlot, {
|
|
233
|
+
...rootSlotProps,
|
|
234
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(InputSlot, {
|
|
235
|
+
...inputSlotProps
|
|
198
236
|
}), checked ? checkedIcon : icon]
|
|
199
237
|
});
|
|
200
238
|
});
|
|
@@ -287,6 +325,22 @@ process.env.NODE_ENV !== "production" ? SwitchBase.propTypes = {
|
|
|
287
325
|
* If `true`, the `input` element is required.
|
|
288
326
|
*/
|
|
289
327
|
required: _propTypes.default.bool,
|
|
328
|
+
/**
|
|
329
|
+
* The props used for each slot inside.
|
|
330
|
+
* @default {}
|
|
331
|
+
*/
|
|
332
|
+
slotProps: _propTypes.default.shape({
|
|
333
|
+
input: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]),
|
|
334
|
+
root: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object])
|
|
335
|
+
}),
|
|
336
|
+
/**
|
|
337
|
+
* The components used for each slot inside.
|
|
338
|
+
* @default {}
|
|
339
|
+
*/
|
|
340
|
+
slots: _propTypes.default.shape({
|
|
341
|
+
input: _propTypes.default.elementType,
|
|
342
|
+
root: _propTypes.default.elementType
|
|
343
|
+
}),
|
|
290
344
|
/**
|
|
291
345
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
292
346
|
*/
|
|
@@ -30,8 +30,13 @@ function createThemeNoVars(options = {}, ...args) {
|
|
|
30
30
|
shape: shapeInput,
|
|
31
31
|
...other
|
|
32
32
|
} = options;
|
|
33
|
-
if (options.vars
|
|
34
|
-
|
|
33
|
+
if (options.vars &&
|
|
34
|
+
// The error should throw only for the root theme creation because user is not allowed to use a custom node `vars`.
|
|
35
|
+
// `generateThemeVars` is the closest identifier for checking that the `options` is a result of `createTheme` with CSS variables so that user can create new theme for nested ThemeProvider.
|
|
36
|
+
options.generateThemeVars === undefined) {
|
|
37
|
+
throw new Error(process.env.NODE_ENV !== "production" ? 'MUI: `vars` is a private field used for CSS variables support.\n' +
|
|
38
|
+
// #host-reference
|
|
39
|
+
'Please use another name or follow the [docs](https://mui.com/material-ui/customization/css-theme-variables/usage/) to enable the feature.' : (0, _formatMuiErrorMessage2.default)(20));
|
|
35
40
|
}
|
|
36
41
|
const palette = (0, _createPalette.default)(paletteInput);
|
|
37
42
|
const systemTheme = (0, _createTheme.default)(options);
|
package/node/version/index.js
CHANGED
|
@@ -4,9 +4,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.version = exports.prerelease = exports.patch = exports.minor = exports.major = exports.default = void 0;
|
|
7
|
-
const version = exports.version = "6.4.
|
|
7
|
+
const version = exports.version = "6.4.6";
|
|
8
8
|
const major = exports.major = Number("6");
|
|
9
9
|
const minor = exports.minor = Number("4");
|
|
10
|
-
const patch = exports.patch = Number("
|
|
10
|
+
const patch = exports.patch = Number("6");
|
|
11
11
|
const prerelease = exports.prerelease = undefined;
|
|
12
12
|
var _default = exports.default = version;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mui/material",
|
|
3
|
-
"version": "6.4.
|
|
3
|
+
"version": "6.4.6",
|
|
4
4
|
"private": false,
|
|
5
5
|
"author": "MUI Team",
|
|
6
6
|
"description": "Material UI is an open-source React component library that implements Google's Material Design. It's comprehensive and can be used in production out of the box.",
|
|
@@ -35,10 +35,10 @@
|
|
|
35
35
|
"prop-types": "^15.8.1",
|
|
36
36
|
"react-is": "^19.0.0",
|
|
37
37
|
"react-transition-group": "^4.4.5",
|
|
38
|
-
"@mui/core-downloads-tracker": "^6.4.
|
|
39
|
-
"@mui/system": "^6.4.
|
|
40
|
-
"@mui/
|
|
41
|
-
"@mui/
|
|
38
|
+
"@mui/core-downloads-tracker": "^6.4.6",
|
|
39
|
+
"@mui/system": "^6.4.6",
|
|
40
|
+
"@mui/utils": "^6.4.6",
|
|
41
|
+
"@mui/types": "^7.2.21"
|
|
42
42
|
},
|
|
43
43
|
"peerDependencies": {
|
|
44
44
|
"@emotion/react": "^11.5.0",
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0",
|
|
47
47
|
"react": "^17.0.0 || ^18.0.0 || ^19.0.0",
|
|
48
48
|
"react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0",
|
|
49
|
-
"@mui/material-pigment-css": "^6.4.
|
|
49
|
+
"@mui/material-pigment-css": "^6.4.6"
|
|
50
50
|
},
|
|
51
51
|
"peerDependenciesMeta": {
|
|
52
52
|
"@types/react": {
|