@mui/material 9.0.0-alpha.3 → 9.0.0-alpha.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/Accordion/Accordion.d.mts +0 -14
- package/Accordion/Accordion.d.ts +0 -14
- package/Accordion/Accordion.js +3 -25
- package/Accordion/Accordion.mjs +3 -25
- package/AccordionSummary/AccordionSummary.js +1 -1
- package/AccordionSummary/AccordionSummary.mjs +1 -1
- package/AccordionSummary/accordionSummaryClasses.d.mts +0 -5
- package/AccordionSummary/accordionSummaryClasses.d.ts +0 -5
- package/AccordionSummary/accordionSummaryClasses.js +1 -1
- package/AccordionSummary/accordionSummaryClasses.mjs +1 -1
- package/Alert/Alert.d.mts +0 -23
- package/Alert/Alert.d.ts +0 -23
- package/Alert/Alert.js +4 -36
- package/Alert/Alert.mjs +4 -36
- package/Alert/alertClasses.d.mts +0 -72
- package/Alert/alertClasses.d.ts +0 -72
- package/Alert/alertClasses.js +1 -1
- package/Alert/alertClasses.mjs +1 -1
- package/Autocomplete/Autocomplete.d.mts +10 -60
- package/Autocomplete/Autocomplete.d.ts +10 -60
- package/Autocomplete/Autocomplete.js +33 -99
- package/Autocomplete/Autocomplete.mjs +33 -99
- package/Avatar/Avatar.d.mts +0 -8
- package/Avatar/Avatar.d.ts +0 -8
- package/Avatar/Avatar.js +13 -35
- package/Avatar/Avatar.mjs +13 -35
- package/AvatarGroup/AvatarGroup.d.mts +0 -15
- package/AvatarGroup/AvatarGroup.d.ts +0 -15
- package/AvatarGroup/AvatarGroup.js +1 -18
- package/AvatarGroup/AvatarGroup.mjs +1 -18
- package/Backdrop/Backdrop.d.mts +1 -31
- package/Backdrop/Backdrop.d.ts +1 -31
- package/Backdrop/Backdrop.js +2 -42
- package/Backdrop/Backdrop.mjs +2 -42
- package/Badge/Badge.d.mts +0 -20
- package/Badge/Badge.d.ts +0 -20
- package/Badge/Badge.js +2 -35
- package/Badge/Badge.mjs +2 -35
- package/Button/Button.js +6 -6
- package/Button/Button.mjs +6 -6
- package/Button/buttonClasses.d.mts +0 -132
- package/Button/buttonClasses.d.ts +0 -132
- package/Button/buttonClasses.js +1 -1
- package/Button/buttonClasses.mjs +1 -1
- package/ButtonBase/ButtonBase.js +16 -2
- package/ButtonBase/ButtonBase.mjs +16 -2
- package/CHANGELOG.md +154 -0
- package/CircularProgress/CircularProgress.js +2 -2
- package/CircularProgress/CircularProgress.mjs +2 -2
- package/CircularProgress/circularProgressClasses.d.mts +0 -8
- package/CircularProgress/circularProgressClasses.d.ts +0 -8
- package/CircularProgress/circularProgressClasses.js +1 -1
- package/CircularProgress/circularProgressClasses.mjs +1 -1
- package/Divider/Divider.d.mts +0 -6
- package/Divider/Divider.d.ts +0 -6
- package/Divider/Divider.js +2 -18
- package/Divider/Divider.mjs +2 -18
- package/Divider/dividerClasses.d.mts +0 -4
- package/Divider/dividerClasses.d.ts +0 -4
- package/Divider/dividerClasses.js +1 -1
- package/Divider/dividerClasses.mjs +1 -1
- package/FormControlLabel/FormControlLabel.d.mts +1 -14
- package/FormControlLabel/FormControlLabel.d.ts +1 -14
- package/FormControlLabel/FormControlLabel.js +1 -13
- package/FormControlLabel/FormControlLabel.mjs +1 -13
- package/Input/Input.js +2 -1
- package/Input/Input.mjs +2 -1
- package/Menu/Menu.d.mts +0 -13
- package/Menu/Menu.d.ts +0 -13
- package/Menu/Menu.js +5 -44
- package/Menu/Menu.mjs +5 -44
- package/MenuItem/MenuItem.js +21 -1
- package/MenuItem/MenuItem.mjs +23 -1
- package/MenuList/MenuList.js +2 -4
- package/MenuList/MenuList.mjs +2 -4
- package/MobileStepper/MobileStepper.d.mts +0 -5
- package/MobileStepper/MobileStepper.d.ts +0 -5
- package/MobileStepper/MobileStepper.js +1 -10
- package/MobileStepper/MobileStepper.mjs +1 -10
- package/Popover/Popover.d.mts +4 -48
- package/Popover/Popover.d.ts +4 -48
- package/Popover/Popover.js +4 -64
- package/Popover/Popover.mjs +4 -64
- package/Popper/Popper.d.mts +0 -17
- package/Popper/Popper.d.ts +0 -17
- package/Popper/Popper.js +2 -26
- package/Popper/Popper.mjs +2 -26
- package/Popper/index.d.mts +1 -0
- package/Popper/index.d.ts +1 -0
- package/Popper/index.js +11 -2
- package/Popper/index.mjs +1 -0
- package/Select/SelectInput.js +50 -55
- package/Select/SelectInput.mjs +47 -52
- package/Select/index.d.mts +1 -0
- package/Select/index.d.ts +1 -0
- package/Select/index.js +12 -0
- package/Select/index.mjs +1 -0
- package/Select/utils/SelectFocusSourceContext.d.mts +4 -0
- package/Select/utils/SelectFocusSourceContext.d.ts +4 -0
- package/Select/utils/SelectFocusSourceContext.js +19 -0
- package/Select/utils/SelectFocusSourceContext.mjs +13 -0
- package/Select/utils/areEqualValues.d.mts +1 -0
- package/Select/utils/areEqualValues.d.ts +1 -0
- package/Select/utils/areEqualValues.js +14 -0
- package/Select/utils/areEqualValues.mjs +8 -0
- package/Select/utils/getOpenInteractionType.d.mts +1 -0
- package/Select/utils/getOpenInteractionType.d.ts +1 -0
- package/Select/utils/getOpenInteractionType.js +18 -0
- package/Select/utils/getOpenInteractionType.mjs +12 -0
- package/Select/utils/index.d.mts +4 -0
- package/Select/utils/index.d.ts +4 -0
- package/Select/utils/index.js +40 -0
- package/Select/utils/index.mjs +4 -0
- package/Select/utils/isEmpty.d.mts +1 -0
- package/Select/utils/isEmpty.d.ts +1 -0
- package/Select/utils/isEmpty.js +9 -0
- package/Select/utils/isEmpty.mjs +3 -0
- package/Slider/Slider.d.mts +109 -77
- package/Slider/Slider.d.ts +109 -77
- package/Slider/Slider.js +42 -119
- package/Slider/Slider.mjs +42 -119
- package/Slider/sliderClasses.d.mts +7 -7
- package/Slider/sliderClasses.d.ts +7 -7
- package/Slider/useSlider.js +50 -14
- package/Slider/useSlider.mjs +50 -14
- package/Snackbar/Snackbar.d.mts +1 -27
- package/Snackbar/Snackbar.d.ts +1 -27
- package/Snackbar/Snackbar.js +5 -58
- package/Snackbar/Snackbar.mjs +5 -58
- package/SpeedDial/SpeedDial.d.mts +0 -13
- package/SpeedDial/SpeedDial.d.ts +0 -13
- package/SpeedDial/SpeedDial.js +15 -40
- package/SpeedDial/SpeedDial.mjs +15 -40
- package/SpeedDialAction/SpeedDialAction.d.mts +0 -28
- package/SpeedDialAction/SpeedDialAction.d.ts +0 -28
- package/SpeedDialAction/SpeedDialAction.js +5 -46
- package/SpeedDialAction/SpeedDialAction.mjs +5 -46
- package/TablePagination/TablePagination.d.mts +1 -1
- package/TablePagination/TablePagination.d.ts +1 -1
- package/TablePagination/TablePagination.js +4 -2
- package/TablePagination/TablePagination.mjs +4 -2
- package/Tabs/Tabs.d.mts +2 -33
- package/Tabs/Tabs.d.ts +2 -33
- package/Tabs/Tabs.js +8 -38
- package/Tabs/Tabs.mjs +8 -38
- package/TextField/TextField.d.mts +6 -49
- package/TextField/TextField.d.ts +6 -49
- package/TextField/TextField.js +18 -53
- package/TextField/TextField.mjs +18 -53
- package/Tooltip/Tooltip.d.mts +1 -55
- package/Tooltip/Tooltip.d.ts +1 -55
- package/Tooltip/Tooltip.js +9 -87
- package/Tooltip/Tooltip.mjs +9 -87
- package/Typography/Typography.d.mts +0 -6
- package/Typography/Typography.d.ts +0 -6
- package/Typography/Typography.js +3 -19
- package/Typography/Typography.mjs +3 -19
- package/Typography/typographyClasses.d.mts +0 -5
- package/Typography/typographyClasses.d.ts +0 -5
- package/Typography/typographyClasses.js +1 -1
- package/Typography/typographyClasses.mjs +1 -1
- package/index.d.mts +0 -2
- package/index.d.ts +0 -2
- package/index.js +1 -9
- package/index.mjs +1 -2
- package/locale/amET.js +4 -1
- package/locale/amET.mjs +3 -1
- package/locale/arEG.js +4 -1
- package/locale/arEG.mjs +3 -1
- package/locale/arSA.js +4 -1
- package/locale/arSA.mjs +3 -1
- package/locale/arSD.js +4 -1
- package/locale/arSD.mjs +3 -1
- package/locale/beBY.js +4 -1
- package/locale/beBY.mjs +3 -1
- package/locale/bnBD.js +4 -1
- package/locale/bnBD.mjs +3 -1
- package/locale/caES.js +4 -1
- package/locale/caES.mjs +3 -1
- package/locale/csCZ.js +4 -1
- package/locale/csCZ.mjs +3 -1
- package/locale/daDK.js +4 -1
- package/locale/daDK.mjs +3 -1
- package/locale/deDE.js +4 -1
- package/locale/deDE.mjs +3 -1
- package/locale/elGR.js +4 -1
- package/locale/elGR.mjs +3 -1
- package/locale/esES.js +4 -1
- package/locale/esES.mjs +3 -1
- package/locale/etEE.js +4 -1
- package/locale/etEE.mjs +3 -1
- package/locale/faIR.js +4 -1
- package/locale/faIR.mjs +3 -1
- package/locale/fiFI.js +4 -1
- package/locale/fiFI.mjs +3 -1
- package/locale/frFR.js +4 -1
- package/locale/frFR.mjs +3 -1
- package/locale/heIL.js +4 -1
- package/locale/heIL.mjs +3 -1
- package/locale/hiIN.js +4 -1
- package/locale/hiIN.mjs +3 -1
- package/locale/hrHR.js +5 -1
- package/locale/hrHR.mjs +4 -1
- package/locale/isIS.js +4 -1
- package/locale/isIS.mjs +3 -1
- package/locale/itIT.js +4 -1
- package/locale/itIT.mjs +3 -1
- package/locale/jaJP.js +4 -1
- package/locale/jaJP.mjs +3 -1
- package/locale/khKH.js +4 -1
- package/locale/khKH.mjs +3 -1
- package/locale/kkKZ.js +4 -1
- package/locale/kkKZ.mjs +3 -1
- package/locale/koKR.js +4 -1
- package/locale/koKR.mjs +3 -1
- package/locale/kuCKB.js +4 -1
- package/locale/kuCKB.mjs +3 -1
- package/locale/kuLatn.js +4 -1
- package/locale/kuLatn.mjs +3 -1
- package/locale/mkMK.js +5 -1
- package/locale/mkMK.mjs +4 -1
- package/locale/msMS.js +5 -1
- package/locale/msMS.mjs +4 -1
- package/locale/myMY.js +5 -1
- package/locale/myMY.mjs +4 -1
- package/locale/nbNO.js +4 -1
- package/locale/nbNO.mjs +3 -1
- package/locale/neNP.js +5 -1
- package/locale/neNP.mjs +4 -1
- package/locale/nlNL.js +4 -1
- package/locale/nlNL.mjs +3 -1
- package/locale/nnNO.js +4 -1
- package/locale/nnNO.mjs +3 -1
- package/locale/plPL.js +4 -1
- package/locale/plPL.mjs +3 -1
- package/locale/psAF.js +4 -1
- package/locale/psAF.mjs +3 -1
- package/locale/ptBR.js +4 -1
- package/locale/ptBR.mjs +3 -1
- package/locale/ptPT.js +4 -1
- package/locale/ptPT.mjs +3 -1
- package/locale/roRO.js +4 -1
- package/locale/roRO.mjs +3 -1
- package/locale/ruRU.js +4 -1
- package/locale/ruRU.mjs +3 -1
- package/locale/siLK.js +4 -1
- package/locale/siLK.mjs +3 -1
- package/locale/skSK.js +4 -1
- package/locale/skSK.mjs +3 -1
- package/locale/srRS.js +5 -1
- package/locale/srRS.mjs +4 -1
- package/locale/svSE.js +4 -1
- package/locale/svSE.mjs +3 -1
- package/locale/thTH.js +4 -1
- package/locale/thTH.mjs +3 -1
- package/locale/tlTL.js +5 -1
- package/locale/tlTL.mjs +4 -1
- package/locale/trTR.js +4 -1
- package/locale/trTR.mjs +3 -1
- package/locale/ukUA.js +4 -1
- package/locale/ukUA.mjs +3 -1
- package/locale/urPK.js +4 -1
- package/locale/urPK.mjs +3 -1
- package/locale/utils/buildFormatNumber.d.mts +2 -0
- package/locale/utils/buildFormatNumber.d.ts +2 -0
- package/locale/utils/buildFormatNumber.js +23 -0
- package/locale/utils/buildFormatNumber.mjs +17 -0
- package/locale/viVN.js +4 -1
- package/locale/viVN.mjs +3 -1
- package/locale/zhCN.js +4 -1
- package/locale/zhCN.mjs +3 -1
- package/locale/zhHK.js +4 -1
- package/locale/zhHK.mjs +3 -1
- package/locale/zhTW.js +4 -1
- package/locale/zhTW.mjs +3 -1
- package/package.json +6 -20
- package/styles/components.d.mts +0 -5
- package/styles/components.d.ts +0 -5
- package/styles/overrides.d.mts +0 -2
- package/styles/overrides.d.ts +0 -2
- package/styles/props.d.mts +0 -2
- package/styles/props.d.ts +0 -2
- package/useAutocomplete/useAutocomplete.d.mts +0 -12
- package/useAutocomplete/useAutocomplete.d.ts +0 -12
- package/useAutocomplete/useAutocomplete.js +29 -28
- package/useAutocomplete/useAutocomplete.mjs +29 -28
- package/version/index.js +2 -2
- package/version/index.mjs +2 -2
- package/GridLegacy/GridLegacy.d.mts +0 -160
- package/GridLegacy/GridLegacy.d.ts +0 -160
- package/GridLegacy/GridLegacy.js +0 -601
- package/GridLegacy/GridLegacy.mjs +0 -588
- package/GridLegacy/GridLegacyContext.js +0 -17
- package/GridLegacy/GridLegacyContext.mjs +0 -12
- package/GridLegacy/gridLegacyClasses.d.mts +0 -48
- package/GridLegacy/gridLegacyClasses.d.ts +0 -48
- package/GridLegacy/gridLegacyClasses.js +0 -27
- package/GridLegacy/gridLegacyClasses.mjs +0 -19
- package/GridLegacy/index.d.mts +0 -4
- package/GridLegacy/index.d.ts +0 -4
- package/GridLegacy/index.js +0 -35
- package/GridLegacy/index.mjs +0 -3
package/Slider/useSlider.js
CHANGED
|
@@ -97,11 +97,27 @@ function setValueIndex({
|
|
|
97
97
|
function focusThumb({
|
|
98
98
|
sliderRef,
|
|
99
99
|
activeIndex,
|
|
100
|
-
setActive
|
|
100
|
+
setActive,
|
|
101
|
+
focusVisible
|
|
101
102
|
}) {
|
|
102
103
|
const doc = (0, _ownerDocument.default)(sliderRef.current);
|
|
103
104
|
if (!sliderRef.current?.contains(doc.activeElement) || Number(doc?.activeElement?.getAttribute('data-index')) !== activeIndex) {
|
|
104
|
-
sliderRef.current?.querySelector(`[type="range"][data-index="${activeIndex}"]`)
|
|
105
|
+
const input = sliderRef.current?.querySelector(`[type="range"][data-index="${activeIndex}"]`);
|
|
106
|
+
if (input != null) {
|
|
107
|
+
if (focusVisible === undefined) {
|
|
108
|
+
input.focus({
|
|
109
|
+
preventScroll: true
|
|
110
|
+
});
|
|
111
|
+
} else {
|
|
112
|
+
input.focus({
|
|
113
|
+
preventScroll: true,
|
|
114
|
+
// Prevent pointer-driven focus rings in browsers that support this option.
|
|
115
|
+
// Chrome 144+ supports `focusVisible` in `HTMLElement.focus()` options.
|
|
116
|
+
// @ts-ignore - `focusVisible` is not yet in TypeScript's lib.dom FocusOptions.
|
|
117
|
+
focusVisible
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
}
|
|
105
121
|
}
|
|
106
122
|
if (setActive) {
|
|
107
123
|
setActive(activeIndex);
|
|
@@ -188,6 +204,7 @@ function useSlider(parameters) {
|
|
|
188
204
|
value: valueProp
|
|
189
205
|
} = parameters;
|
|
190
206
|
const touchId = React.useRef(undefined);
|
|
207
|
+
const focusFrame = React.useRef(null);
|
|
191
208
|
// We can't use the :active browser pseudo-classes.
|
|
192
209
|
// - The active state isn't triggered when clicking on the rail.
|
|
193
210
|
// - The active state isn't transferred when inversing a range slider.
|
|
@@ -195,6 +212,12 @@ function useSlider(parameters) {
|
|
|
195
212
|
const [open, setOpen] = React.useState(-1);
|
|
196
213
|
const [dragging, setDragging] = React.useState(false);
|
|
197
214
|
const moveCount = React.useRef(0);
|
|
215
|
+
const cancelFocusFrame = (0, _useEventCallback.default)(() => {
|
|
216
|
+
if (focusFrame.current != null) {
|
|
217
|
+
cancelAnimationFrame(focusFrame.current);
|
|
218
|
+
focusFrame.current = null;
|
|
219
|
+
}
|
|
220
|
+
});
|
|
198
221
|
// lastChangedValue is updated whenever onChange is triggered.
|
|
199
222
|
const lastChangedValue = React.useRef(null);
|
|
200
223
|
const [valueDerived, setValueState] = (0, _useControlled.default)({
|
|
@@ -467,7 +490,8 @@ function useSlider(parameters) {
|
|
|
467
490
|
focusThumb({
|
|
468
491
|
sliderRef,
|
|
469
492
|
activeIndex,
|
|
470
|
-
setActive
|
|
493
|
+
setActive,
|
|
494
|
+
focusVisible: false
|
|
471
495
|
});
|
|
472
496
|
setValueState(newValue);
|
|
473
497
|
if (!dragging && moveCount.current > INTENTIONAL_DRAG_COUNT_THRESHOLD) {
|
|
@@ -525,7 +549,8 @@ function useSlider(parameters) {
|
|
|
525
549
|
focusThumb({
|
|
526
550
|
sliderRef,
|
|
527
551
|
activeIndex,
|
|
528
|
-
setActive
|
|
552
|
+
setActive,
|
|
553
|
+
focusVisible: false
|
|
529
554
|
});
|
|
530
555
|
setValueState(newValue);
|
|
531
556
|
if (handleChange && !areValuesEqual(newValue, valueDerived)) {
|
|
@@ -557,14 +582,16 @@ function useSlider(parameters) {
|
|
|
557
582
|
});
|
|
558
583
|
return () => {
|
|
559
584
|
slider.removeEventListener('touchstart', handleTouchStart);
|
|
585
|
+
cancelFocusFrame();
|
|
560
586
|
stopListening();
|
|
561
587
|
};
|
|
562
|
-
}, [stopListening, handleTouchStart]);
|
|
588
|
+
}, [stopListening, handleTouchStart, cancelFocusFrame]);
|
|
563
589
|
React.useEffect(() => {
|
|
564
590
|
if (disabled) {
|
|
565
591
|
stopListening();
|
|
592
|
+
cancelFocusFrame();
|
|
566
593
|
}
|
|
567
|
-
}, [disabled, stopListening]);
|
|
594
|
+
}, [disabled, stopListening, cancelFocusFrame]);
|
|
568
595
|
const createHandleMouseDown = otherHandlers => event => {
|
|
569
596
|
otherHandlers.onMouseDown?.(event);
|
|
570
597
|
if (disabled) {
|
|
@@ -578,9 +605,6 @@ function useSlider(parameters) {
|
|
|
578
605
|
if (event.button !== 0) {
|
|
579
606
|
return;
|
|
580
607
|
}
|
|
581
|
-
|
|
582
|
-
// Avoid text selection
|
|
583
|
-
event.preventDefault();
|
|
584
608
|
const finger = trackFinger(event, touchId);
|
|
585
609
|
if (finger !== false) {
|
|
586
610
|
const {
|
|
@@ -589,11 +613,23 @@ function useSlider(parameters) {
|
|
|
589
613
|
} = getFingerNewValue({
|
|
590
614
|
finger
|
|
591
615
|
});
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
616
|
+
const doc = (0, _ownerDocument.default)(sliderRef.current);
|
|
617
|
+
const activeElement = doc.activeElement;
|
|
618
|
+
const pressedOnFocusedThumb = sliderRef.current?.contains(activeElement) && Number(activeElement?.getAttribute('data-index')) === activeIndex;
|
|
619
|
+
setActive(activeIndex);
|
|
620
|
+
if (pressedOnFocusedThumb) {
|
|
621
|
+
event.preventDefault();
|
|
622
|
+
} else {
|
|
623
|
+
cancelFocusFrame();
|
|
624
|
+
focusFrame.current = requestAnimationFrame(() => {
|
|
625
|
+
focusFrame.current = null;
|
|
626
|
+
focusThumb({
|
|
627
|
+
sliderRef,
|
|
628
|
+
activeIndex,
|
|
629
|
+
focusVisible: false
|
|
630
|
+
});
|
|
631
|
+
});
|
|
632
|
+
}
|
|
597
633
|
setValueState(newValue);
|
|
598
634
|
if (handleChange && !areValuesEqual(newValue, valueDerived)) {
|
|
599
635
|
handleChange(event, newValue, activeIndex);
|
package/Slider/useSlider.mjs
CHANGED
|
@@ -88,11 +88,27 @@ function setValueIndex({
|
|
|
88
88
|
function focusThumb({
|
|
89
89
|
sliderRef,
|
|
90
90
|
activeIndex,
|
|
91
|
-
setActive
|
|
91
|
+
setActive,
|
|
92
|
+
focusVisible
|
|
92
93
|
}) {
|
|
93
94
|
const doc = ownerDocument(sliderRef.current);
|
|
94
95
|
if (!sliderRef.current?.contains(doc.activeElement) || Number(doc?.activeElement?.getAttribute('data-index')) !== activeIndex) {
|
|
95
|
-
sliderRef.current?.querySelector(`[type="range"][data-index="${activeIndex}"]`)
|
|
96
|
+
const input = sliderRef.current?.querySelector(`[type="range"][data-index="${activeIndex}"]`);
|
|
97
|
+
if (input != null) {
|
|
98
|
+
if (focusVisible === undefined) {
|
|
99
|
+
input.focus({
|
|
100
|
+
preventScroll: true
|
|
101
|
+
});
|
|
102
|
+
} else {
|
|
103
|
+
input.focus({
|
|
104
|
+
preventScroll: true,
|
|
105
|
+
// Prevent pointer-driven focus rings in browsers that support this option.
|
|
106
|
+
// Chrome 144+ supports `focusVisible` in `HTMLElement.focus()` options.
|
|
107
|
+
// @ts-ignore - `focusVisible` is not yet in TypeScript's lib.dom FocusOptions.
|
|
108
|
+
focusVisible
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
}
|
|
96
112
|
}
|
|
97
113
|
if (setActive) {
|
|
98
114
|
setActive(activeIndex);
|
|
@@ -178,6 +194,7 @@ export function useSlider(parameters) {
|
|
|
178
194
|
value: valueProp
|
|
179
195
|
} = parameters;
|
|
180
196
|
const touchId = React.useRef(undefined);
|
|
197
|
+
const focusFrame = React.useRef(null);
|
|
181
198
|
// We can't use the :active browser pseudo-classes.
|
|
182
199
|
// - The active state isn't triggered when clicking on the rail.
|
|
183
200
|
// - The active state isn't transferred when inversing a range slider.
|
|
@@ -185,6 +202,12 @@ export function useSlider(parameters) {
|
|
|
185
202
|
const [open, setOpen] = React.useState(-1);
|
|
186
203
|
const [dragging, setDragging] = React.useState(false);
|
|
187
204
|
const moveCount = React.useRef(0);
|
|
205
|
+
const cancelFocusFrame = useEventCallback(() => {
|
|
206
|
+
if (focusFrame.current != null) {
|
|
207
|
+
cancelAnimationFrame(focusFrame.current);
|
|
208
|
+
focusFrame.current = null;
|
|
209
|
+
}
|
|
210
|
+
});
|
|
188
211
|
// lastChangedValue is updated whenever onChange is triggered.
|
|
189
212
|
const lastChangedValue = React.useRef(null);
|
|
190
213
|
const [valueDerived, setValueState] = useControlled({
|
|
@@ -457,7 +480,8 @@ export function useSlider(parameters) {
|
|
|
457
480
|
focusThumb({
|
|
458
481
|
sliderRef,
|
|
459
482
|
activeIndex,
|
|
460
|
-
setActive
|
|
483
|
+
setActive,
|
|
484
|
+
focusVisible: false
|
|
461
485
|
});
|
|
462
486
|
setValueState(newValue);
|
|
463
487
|
if (!dragging && moveCount.current > INTENTIONAL_DRAG_COUNT_THRESHOLD) {
|
|
@@ -515,7 +539,8 @@ export function useSlider(parameters) {
|
|
|
515
539
|
focusThumb({
|
|
516
540
|
sliderRef,
|
|
517
541
|
activeIndex,
|
|
518
|
-
setActive
|
|
542
|
+
setActive,
|
|
543
|
+
focusVisible: false
|
|
519
544
|
});
|
|
520
545
|
setValueState(newValue);
|
|
521
546
|
if (handleChange && !areValuesEqual(newValue, valueDerived)) {
|
|
@@ -547,14 +572,16 @@ export function useSlider(parameters) {
|
|
|
547
572
|
});
|
|
548
573
|
return () => {
|
|
549
574
|
slider.removeEventListener('touchstart', handleTouchStart);
|
|
575
|
+
cancelFocusFrame();
|
|
550
576
|
stopListening();
|
|
551
577
|
};
|
|
552
|
-
}, [stopListening, handleTouchStart]);
|
|
578
|
+
}, [stopListening, handleTouchStart, cancelFocusFrame]);
|
|
553
579
|
React.useEffect(() => {
|
|
554
580
|
if (disabled) {
|
|
555
581
|
stopListening();
|
|
582
|
+
cancelFocusFrame();
|
|
556
583
|
}
|
|
557
|
-
}, [disabled, stopListening]);
|
|
584
|
+
}, [disabled, stopListening, cancelFocusFrame]);
|
|
558
585
|
const createHandleMouseDown = otherHandlers => event => {
|
|
559
586
|
otherHandlers.onMouseDown?.(event);
|
|
560
587
|
if (disabled) {
|
|
@@ -568,9 +595,6 @@ export function useSlider(parameters) {
|
|
|
568
595
|
if (event.button !== 0) {
|
|
569
596
|
return;
|
|
570
597
|
}
|
|
571
|
-
|
|
572
|
-
// Avoid text selection
|
|
573
|
-
event.preventDefault();
|
|
574
598
|
const finger = trackFinger(event, touchId);
|
|
575
599
|
if (finger !== false) {
|
|
576
600
|
const {
|
|
@@ -579,11 +603,23 @@ export function useSlider(parameters) {
|
|
|
579
603
|
} = getFingerNewValue({
|
|
580
604
|
finger
|
|
581
605
|
});
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
606
|
+
const doc = ownerDocument(sliderRef.current);
|
|
607
|
+
const activeElement = doc.activeElement;
|
|
608
|
+
const pressedOnFocusedThumb = sliderRef.current?.contains(activeElement) && Number(activeElement?.getAttribute('data-index')) === activeIndex;
|
|
609
|
+
setActive(activeIndex);
|
|
610
|
+
if (pressedOnFocusedThumb) {
|
|
611
|
+
event.preventDefault();
|
|
612
|
+
} else {
|
|
613
|
+
cancelFocusFrame();
|
|
614
|
+
focusFrame.current = requestAnimationFrame(() => {
|
|
615
|
+
focusFrame.current = null;
|
|
616
|
+
focusThumb({
|
|
617
|
+
sliderRef,
|
|
618
|
+
activeIndex,
|
|
619
|
+
focusVisible: false
|
|
620
|
+
});
|
|
621
|
+
});
|
|
622
|
+
}
|
|
587
623
|
setValueState(newValue);
|
|
588
624
|
if (handleChange && !areValuesEqual(newValue, valueDerived)) {
|
|
589
625
|
handleChange(event, newValue, activeIndex);
|
package/Snackbar/Snackbar.d.mts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { SxProps } from '@mui/system';
|
|
3
|
-
import ClickAwayListener
|
|
3
|
+
import ClickAwayListener from "../ClickAwayListener/index.mjs";
|
|
4
4
|
import { Theme } from "../styles/index.mjs";
|
|
5
5
|
import { InternalStandardProps as StandardProps } from "../internal/index.mjs";
|
|
6
6
|
import { SnackbarContentProps } from "../SnackbarContent/index.mjs";
|
|
@@ -89,16 +89,6 @@ export interface SnackbarProps extends Omit<StandardProps<React.HTMLAttributes<H
|
|
|
89
89
|
* Override or extend the styles applied to the component.
|
|
90
90
|
*/
|
|
91
91
|
classes?: Partial<SnackbarClasses> | undefined;
|
|
92
|
-
/**
|
|
93
|
-
* Props applied to the `ClickAwayListener` element.
|
|
94
|
-
* @deprecated Use `slotProps.clickAwayListener` instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
|
|
95
|
-
*/
|
|
96
|
-
ClickAwayListenerProps?: Partial<ClickAwayListenerProps> | undefined;
|
|
97
|
-
/**
|
|
98
|
-
* Props applied to the [`SnackbarContent`](https://mui.com/material-ui/api/snackbar-content/) element.
|
|
99
|
-
* @deprecated Use `slotProps.content` instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
|
|
100
|
-
*/
|
|
101
|
-
ContentProps?: Partial<SnackbarContentProps> | undefined;
|
|
102
92
|
/**
|
|
103
93
|
* If `true`, the `autoHideDuration` timer will expire even if the window is not focused.
|
|
104
94
|
* @default false
|
|
@@ -141,15 +131,6 @@ export interface SnackbarProps extends Omit<StandardProps<React.HTMLAttributes<H
|
|
|
141
131
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
142
132
|
*/
|
|
143
133
|
sx?: SxProps<Theme> | undefined;
|
|
144
|
-
/**
|
|
145
|
-
* The component used for the transition.
|
|
146
|
-
* [Follow this guide](https://mui.com/material-ui/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.
|
|
147
|
-
* @deprecated Use `slots.transition` instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
|
|
148
|
-
* @default Grow
|
|
149
|
-
*/
|
|
150
|
-
TransitionComponent?: React.JSXElementConstructor<TransitionProps & {
|
|
151
|
-
children: React.ReactElement<unknown, any>;
|
|
152
|
-
}> | undefined;
|
|
153
134
|
/**
|
|
154
135
|
* The duration for the transition, in milliseconds.
|
|
155
136
|
* You may specify a single timeout for all transitions, or individually with an object.
|
|
@@ -159,13 +140,6 @@ export interface SnackbarProps extends Omit<StandardProps<React.HTMLAttributes<H
|
|
|
159
140
|
* }
|
|
160
141
|
*/
|
|
161
142
|
transitionDuration?: TransitionProps['timeout'] | undefined;
|
|
162
|
-
/**
|
|
163
|
-
* Props applied to the transition element.
|
|
164
|
-
* By default, the element is based on this [`Transition`](https://reactcommunity.org/react-transition-group/transition/) component.
|
|
165
|
-
* @deprecated Use `slotProps.transition` instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
|
|
166
|
-
* @default {}
|
|
167
|
-
*/
|
|
168
|
-
TransitionProps?: TransitionProps | undefined;
|
|
169
143
|
}
|
|
170
144
|
|
|
171
145
|
/**
|
package/Snackbar/Snackbar.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { SxProps } from '@mui/system';
|
|
3
|
-
import ClickAwayListener
|
|
3
|
+
import ClickAwayListener from "../ClickAwayListener/index.js";
|
|
4
4
|
import { Theme } from "../styles/index.js";
|
|
5
5
|
import { InternalStandardProps as StandardProps } from "../internal/index.js";
|
|
6
6
|
import { SnackbarContentProps } from "../SnackbarContent/index.js";
|
|
@@ -89,16 +89,6 @@ export interface SnackbarProps extends Omit<StandardProps<React.HTMLAttributes<H
|
|
|
89
89
|
* Override or extend the styles applied to the component.
|
|
90
90
|
*/
|
|
91
91
|
classes?: Partial<SnackbarClasses> | undefined;
|
|
92
|
-
/**
|
|
93
|
-
* Props applied to the `ClickAwayListener` element.
|
|
94
|
-
* @deprecated Use `slotProps.clickAwayListener` instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
|
|
95
|
-
*/
|
|
96
|
-
ClickAwayListenerProps?: Partial<ClickAwayListenerProps> | undefined;
|
|
97
|
-
/**
|
|
98
|
-
* Props applied to the [`SnackbarContent`](https://mui.com/material-ui/api/snackbar-content/) element.
|
|
99
|
-
* @deprecated Use `slotProps.content` instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
|
|
100
|
-
*/
|
|
101
|
-
ContentProps?: Partial<SnackbarContentProps> | undefined;
|
|
102
92
|
/**
|
|
103
93
|
* If `true`, the `autoHideDuration` timer will expire even if the window is not focused.
|
|
104
94
|
* @default false
|
|
@@ -141,15 +131,6 @@ export interface SnackbarProps extends Omit<StandardProps<React.HTMLAttributes<H
|
|
|
141
131
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
142
132
|
*/
|
|
143
133
|
sx?: SxProps<Theme> | undefined;
|
|
144
|
-
/**
|
|
145
|
-
* The component used for the transition.
|
|
146
|
-
* [Follow this guide](https://mui.com/material-ui/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.
|
|
147
|
-
* @deprecated Use `slots.transition` instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
|
|
148
|
-
* @default Grow
|
|
149
|
-
*/
|
|
150
|
-
TransitionComponent?: React.JSXElementConstructor<TransitionProps & {
|
|
151
|
-
children: React.ReactElement<unknown, any>;
|
|
152
|
-
}> | undefined;
|
|
153
134
|
/**
|
|
154
135
|
* The duration for the transition, in milliseconds.
|
|
155
136
|
* You may specify a single timeout for all transitions, or individually with an object.
|
|
@@ -159,13 +140,6 @@ export interface SnackbarProps extends Omit<StandardProps<React.HTMLAttributes<H
|
|
|
159
140
|
* }
|
|
160
141
|
*/
|
|
161
142
|
transitionDuration?: TransitionProps['timeout'] | undefined;
|
|
162
|
-
/**
|
|
163
|
-
* Props applied to the transition element.
|
|
164
|
-
* By default, the element is based on this [`Transition`](https://reactcommunity.org/react-transition-group/transition/) component.
|
|
165
|
-
* @deprecated Use `slotProps.transition` instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
|
|
166
|
-
* @default {}
|
|
167
|
-
*/
|
|
168
|
-
TransitionProps?: TransitionProps | undefined;
|
|
169
143
|
}
|
|
170
144
|
|
|
171
145
|
/**
|
package/Snackbar/Snackbar.js
CHANGED
|
@@ -127,8 +127,6 @@ const Snackbar = /*#__PURE__*/React.forwardRef(function Snackbar(inProps, ref) {
|
|
|
127
127
|
autoHideDuration = null,
|
|
128
128
|
children,
|
|
129
129
|
className,
|
|
130
|
-
ClickAwayListenerProps: ClickAwayListenerPropsProp,
|
|
131
|
-
ContentProps: ContentPropsProp,
|
|
132
130
|
disableWindowBlurListener = false,
|
|
133
131
|
message,
|
|
134
132
|
onBlur,
|
|
@@ -140,13 +138,7 @@ const Snackbar = /*#__PURE__*/React.forwardRef(function Snackbar(inProps, ref) {
|
|
|
140
138
|
resumeHideDuration,
|
|
141
139
|
slots = {},
|
|
142
140
|
slotProps = {},
|
|
143
|
-
TransitionComponent: TransitionComponentProp,
|
|
144
141
|
transitionDuration = defaultTransitionDuration,
|
|
145
|
-
TransitionProps: {
|
|
146
|
-
onEnter,
|
|
147
|
-
onExited,
|
|
148
|
-
...TransitionPropsProp
|
|
149
|
-
} = {},
|
|
150
142
|
...other
|
|
151
143
|
} = props;
|
|
152
144
|
const ownerState = {
|
|
@@ -157,7 +149,6 @@ const Snackbar = /*#__PURE__*/React.forwardRef(function Snackbar(inProps, ref) {
|
|
|
157
149
|
},
|
|
158
150
|
autoHideDuration,
|
|
159
151
|
disableWindowBlurListener,
|
|
160
|
-
TransitionComponent: TransitionComponentProp,
|
|
161
152
|
transitionDuration
|
|
162
153
|
};
|
|
163
154
|
const classes = useUtilityClasses(ownerState);
|
|
@@ -166,29 +157,9 @@ const Snackbar = /*#__PURE__*/React.forwardRef(function Snackbar(inProps, ref) {
|
|
|
166
157
|
onClickAway
|
|
167
158
|
} = (0, _useSnackbar.default)(ownerState);
|
|
168
159
|
const [exited, setExited] = React.useState(true);
|
|
169
|
-
const handleExited = node => {
|
|
170
|
-
setExited(true);
|
|
171
|
-
if (onExited) {
|
|
172
|
-
onExited(node);
|
|
173
|
-
}
|
|
174
|
-
};
|
|
175
|
-
const handleEnter = (node, isAppearing) => {
|
|
176
|
-
setExited(false);
|
|
177
|
-
if (onEnter) {
|
|
178
|
-
onEnter(node, isAppearing);
|
|
179
|
-
}
|
|
180
|
-
};
|
|
181
160
|
const externalForwardedProps = {
|
|
182
|
-
slots
|
|
183
|
-
|
|
184
|
-
...slots
|
|
185
|
-
},
|
|
186
|
-
slotProps: {
|
|
187
|
-
content: ContentPropsProp,
|
|
188
|
-
clickAwayListener: ClickAwayListenerPropsProp,
|
|
189
|
-
transition: TransitionPropsProp,
|
|
190
|
-
...slotProps
|
|
191
|
-
}
|
|
161
|
+
slots,
|
|
162
|
+
slotProps
|
|
192
163
|
};
|
|
193
164
|
const [Root, rootProps] = (0, _useSlot.default)('root', {
|
|
194
165
|
ref,
|
|
@@ -235,11 +206,11 @@ const Snackbar = /*#__PURE__*/React.forwardRef(function Snackbar(inProps, ref) {
|
|
|
235
206
|
getSlotProps: handlers => ({
|
|
236
207
|
onEnter: (...params) => {
|
|
237
208
|
handlers.onEnter?.(...params);
|
|
238
|
-
|
|
209
|
+
setExited(false);
|
|
239
210
|
},
|
|
240
211
|
onExited: (...params) => {
|
|
241
212
|
handlers.onExited?.(...params);
|
|
242
|
-
|
|
213
|
+
setExited(true);
|
|
243
214
|
}
|
|
244
215
|
}),
|
|
245
216
|
additionalProps: {
|
|
@@ -310,16 +281,6 @@ process.env.NODE_ENV !== "production" ? Snackbar.propTypes /* remove-proptypes *
|
|
|
310
281
|
* @ignore
|
|
311
282
|
*/
|
|
312
283
|
className: _propTypes.default.string,
|
|
313
|
-
/**
|
|
314
|
-
* Props applied to the `ClickAwayListener` element.
|
|
315
|
-
* @deprecated Use `slotProps.clickAwayListener` instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
|
|
316
|
-
*/
|
|
317
|
-
ClickAwayListenerProps: _propTypes.default.object,
|
|
318
|
-
/**
|
|
319
|
-
* Props applied to the [`SnackbarContent`](https://mui.com/material-ui/api/snackbar-content/) element.
|
|
320
|
-
* @deprecated Use `slotProps.content` instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
|
|
321
|
-
*/
|
|
322
|
-
ContentProps: _propTypes.default.object,
|
|
323
284
|
/**
|
|
324
285
|
* If `true`, the `autoHideDuration` timer will expire even if the window is not focused.
|
|
325
286
|
* @default false
|
|
@@ -398,13 +359,6 @@ process.env.NODE_ENV !== "production" ? Snackbar.propTypes /* remove-proptypes *
|
|
|
398
359
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
399
360
|
*/
|
|
400
361
|
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]),
|
|
401
|
-
/**
|
|
402
|
-
* The component used for the transition.
|
|
403
|
-
* [Follow this guide](https://mui.com/material-ui/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.
|
|
404
|
-
* @deprecated Use `slots.transition` instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
|
|
405
|
-
* @default Grow
|
|
406
|
-
*/
|
|
407
|
-
TransitionComponent: _propTypes.default.elementType,
|
|
408
362
|
/**
|
|
409
363
|
* The duration for the transition, in milliseconds.
|
|
410
364
|
* You may specify a single timeout for all transitions, or individually with an object.
|
|
@@ -417,13 +371,6 @@ process.env.NODE_ENV !== "production" ? Snackbar.propTypes /* remove-proptypes *
|
|
|
417
371
|
appear: _propTypes.default.number,
|
|
418
372
|
enter: _propTypes.default.number,
|
|
419
373
|
exit: _propTypes.default.number
|
|
420
|
-
})])
|
|
421
|
-
/**
|
|
422
|
-
* Props applied to the transition element.
|
|
423
|
-
* By default, the element is based on this [`Transition`](https://reactcommunity.org/react-transition-group/transition/) component.
|
|
424
|
-
* @deprecated Use `slotProps.transition` instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
|
|
425
|
-
* @default {}
|
|
426
|
-
*/
|
|
427
|
-
TransitionProps: _propTypes.default.object
|
|
374
|
+
})])
|
|
428
375
|
} : void 0;
|
|
429
376
|
var _default = exports.default = Snackbar;
|
package/Snackbar/Snackbar.mjs
CHANGED
|
@@ -120,8 +120,6 @@ const Snackbar = /*#__PURE__*/React.forwardRef(function Snackbar(inProps, ref) {
|
|
|
120
120
|
autoHideDuration = null,
|
|
121
121
|
children,
|
|
122
122
|
className,
|
|
123
|
-
ClickAwayListenerProps: ClickAwayListenerPropsProp,
|
|
124
|
-
ContentProps: ContentPropsProp,
|
|
125
123
|
disableWindowBlurListener = false,
|
|
126
124
|
message,
|
|
127
125
|
onBlur,
|
|
@@ -133,13 +131,7 @@ const Snackbar = /*#__PURE__*/React.forwardRef(function Snackbar(inProps, ref) {
|
|
|
133
131
|
resumeHideDuration,
|
|
134
132
|
slots = {},
|
|
135
133
|
slotProps = {},
|
|
136
|
-
TransitionComponent: TransitionComponentProp,
|
|
137
134
|
transitionDuration = defaultTransitionDuration,
|
|
138
|
-
TransitionProps: {
|
|
139
|
-
onEnter,
|
|
140
|
-
onExited,
|
|
141
|
-
...TransitionPropsProp
|
|
142
|
-
} = {},
|
|
143
135
|
...other
|
|
144
136
|
} = props;
|
|
145
137
|
const ownerState = {
|
|
@@ -150,7 +142,6 @@ const Snackbar = /*#__PURE__*/React.forwardRef(function Snackbar(inProps, ref) {
|
|
|
150
142
|
},
|
|
151
143
|
autoHideDuration,
|
|
152
144
|
disableWindowBlurListener,
|
|
153
|
-
TransitionComponent: TransitionComponentProp,
|
|
154
145
|
transitionDuration
|
|
155
146
|
};
|
|
156
147
|
const classes = useUtilityClasses(ownerState);
|
|
@@ -159,29 +150,9 @@ const Snackbar = /*#__PURE__*/React.forwardRef(function Snackbar(inProps, ref) {
|
|
|
159
150
|
onClickAway
|
|
160
151
|
} = useSnackbar(ownerState);
|
|
161
152
|
const [exited, setExited] = React.useState(true);
|
|
162
|
-
const handleExited = node => {
|
|
163
|
-
setExited(true);
|
|
164
|
-
if (onExited) {
|
|
165
|
-
onExited(node);
|
|
166
|
-
}
|
|
167
|
-
};
|
|
168
|
-
const handleEnter = (node, isAppearing) => {
|
|
169
|
-
setExited(false);
|
|
170
|
-
if (onEnter) {
|
|
171
|
-
onEnter(node, isAppearing);
|
|
172
|
-
}
|
|
173
|
-
};
|
|
174
153
|
const externalForwardedProps = {
|
|
175
|
-
slots
|
|
176
|
-
|
|
177
|
-
...slots
|
|
178
|
-
},
|
|
179
|
-
slotProps: {
|
|
180
|
-
content: ContentPropsProp,
|
|
181
|
-
clickAwayListener: ClickAwayListenerPropsProp,
|
|
182
|
-
transition: TransitionPropsProp,
|
|
183
|
-
...slotProps
|
|
184
|
-
}
|
|
154
|
+
slots,
|
|
155
|
+
slotProps
|
|
185
156
|
};
|
|
186
157
|
const [Root, rootProps] = useSlot('root', {
|
|
187
158
|
ref,
|
|
@@ -228,11 +199,11 @@ const Snackbar = /*#__PURE__*/React.forwardRef(function Snackbar(inProps, ref) {
|
|
|
228
199
|
getSlotProps: handlers => ({
|
|
229
200
|
onEnter: (...params) => {
|
|
230
201
|
handlers.onEnter?.(...params);
|
|
231
|
-
|
|
202
|
+
setExited(false);
|
|
232
203
|
},
|
|
233
204
|
onExited: (...params) => {
|
|
234
205
|
handlers.onExited?.(...params);
|
|
235
|
-
|
|
206
|
+
setExited(true);
|
|
236
207
|
}
|
|
237
208
|
}),
|
|
238
209
|
additionalProps: {
|
|
@@ -303,16 +274,6 @@ process.env.NODE_ENV !== "production" ? Snackbar.propTypes /* remove-proptypes *
|
|
|
303
274
|
* @ignore
|
|
304
275
|
*/
|
|
305
276
|
className: PropTypes.string,
|
|
306
|
-
/**
|
|
307
|
-
* Props applied to the `ClickAwayListener` element.
|
|
308
|
-
* @deprecated Use `slotProps.clickAwayListener` instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
|
|
309
|
-
*/
|
|
310
|
-
ClickAwayListenerProps: PropTypes.object,
|
|
311
|
-
/**
|
|
312
|
-
* Props applied to the [`SnackbarContent`](https://mui.com/material-ui/api/snackbar-content/) element.
|
|
313
|
-
* @deprecated Use `slotProps.content` instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
|
|
314
|
-
*/
|
|
315
|
-
ContentProps: PropTypes.object,
|
|
316
277
|
/**
|
|
317
278
|
* If `true`, the `autoHideDuration` timer will expire even if the window is not focused.
|
|
318
279
|
* @default false
|
|
@@ -391,13 +352,6 @@ process.env.NODE_ENV !== "production" ? Snackbar.propTypes /* remove-proptypes *
|
|
|
391
352
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
392
353
|
*/
|
|
393
354
|
sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
|
|
394
|
-
/**
|
|
395
|
-
* The component used for the transition.
|
|
396
|
-
* [Follow this guide](https://mui.com/material-ui/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.
|
|
397
|
-
* @deprecated Use `slots.transition` instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
|
|
398
|
-
* @default Grow
|
|
399
|
-
*/
|
|
400
|
-
TransitionComponent: PropTypes.elementType,
|
|
401
355
|
/**
|
|
402
356
|
* The duration for the transition, in milliseconds.
|
|
403
357
|
* You may specify a single timeout for all transitions, or individually with an object.
|
|
@@ -410,13 +364,6 @@ process.env.NODE_ENV !== "production" ? Snackbar.propTypes /* remove-proptypes *
|
|
|
410
364
|
appear: PropTypes.number,
|
|
411
365
|
enter: PropTypes.number,
|
|
412
366
|
exit: PropTypes.number
|
|
413
|
-
})])
|
|
414
|
-
/**
|
|
415
|
-
* Props applied to the transition element.
|
|
416
|
-
* By default, the element is based on this [`Transition`](https://reactcommunity.org/react-transition-group/transition/) component.
|
|
417
|
-
* @deprecated Use `slotProps.transition` instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.
|
|
418
|
-
* @default {}
|
|
419
|
-
*/
|
|
420
|
-
TransitionProps: PropTypes.object
|
|
367
|
+
})])
|
|
421
368
|
} : void 0;
|
|
422
369
|
export default Snackbar;
|
|
@@ -93,13 +93,6 @@ export interface SpeedDialProps extends Omit<StandardProps<React.HTMLAttributes<
|
|
|
93
93
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
94
94
|
*/
|
|
95
95
|
sx?: SxProps<Theme> | undefined;
|
|
96
|
-
/**
|
|
97
|
-
* The component used for the transition.
|
|
98
|
-
* [Follow this guide](https://mui.com/material-ui/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.
|
|
99
|
-
* @default Zoom
|
|
100
|
-
* * @deprecated Use `slots.transition` instead. This prop will be removed in a future major release. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/)
|
|
101
|
-
*/
|
|
102
|
-
TransitionComponent?: React.JSXElementConstructor<TransitionProps> | undefined;
|
|
103
96
|
/**
|
|
104
97
|
* The duration for the transition, in milliseconds.
|
|
105
98
|
* You may specify a single timeout for all transitions, or individually with an object.
|
|
@@ -109,12 +102,6 @@ export interface SpeedDialProps extends Omit<StandardProps<React.HTMLAttributes<
|
|
|
109
102
|
* }
|
|
110
103
|
*/
|
|
111
104
|
transitionDuration?: TransitionProps['timeout'] | undefined;
|
|
112
|
-
/**
|
|
113
|
-
* Props applied to the transition element.
|
|
114
|
-
* By default, the element is based on this [`Transition`](https://reactcommunity.org/react-transition-group/transition/) component.
|
|
115
|
-
* @deprecated Use `slotProps.transition` instead. This prop will be removed in a future major release. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/)
|
|
116
|
-
*/
|
|
117
|
-
TransitionProps?: TransitionProps | undefined;
|
|
118
105
|
}
|
|
119
106
|
export interface SpeedDialOwnerState extends SpeedDialProps {}
|
|
120
107
|
|
package/SpeedDial/SpeedDial.d.ts
CHANGED
|
@@ -93,13 +93,6 @@ export interface SpeedDialProps extends Omit<StandardProps<React.HTMLAttributes<
|
|
|
93
93
|
* The system prop that allows defining system overrides as well as additional CSS styles.
|
|
94
94
|
*/
|
|
95
95
|
sx?: SxProps<Theme> | undefined;
|
|
96
|
-
/**
|
|
97
|
-
* The component used for the transition.
|
|
98
|
-
* [Follow this guide](https://mui.com/material-ui/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.
|
|
99
|
-
* @default Zoom
|
|
100
|
-
* * @deprecated Use `slots.transition` instead. This prop will be removed in a future major release. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/)
|
|
101
|
-
*/
|
|
102
|
-
TransitionComponent?: React.JSXElementConstructor<TransitionProps> | undefined;
|
|
103
96
|
/**
|
|
104
97
|
* The duration for the transition, in milliseconds.
|
|
105
98
|
* You may specify a single timeout for all transitions, or individually with an object.
|
|
@@ -109,12 +102,6 @@ export interface SpeedDialProps extends Omit<StandardProps<React.HTMLAttributes<
|
|
|
109
102
|
* }
|
|
110
103
|
*/
|
|
111
104
|
transitionDuration?: TransitionProps['timeout'] | undefined;
|
|
112
|
-
/**
|
|
113
|
-
* Props applied to the transition element.
|
|
114
|
-
* By default, the element is based on this [`Transition`](https://reactcommunity.org/react-transition-group/transition/) component.
|
|
115
|
-
* @deprecated Use `slotProps.transition` instead. This prop will be removed in a future major release. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/)
|
|
116
|
-
*/
|
|
117
|
-
TransitionProps?: TransitionProps | undefined;
|
|
118
105
|
}
|
|
119
106
|
export interface SpeedDialOwnerState extends SpeedDialProps {}
|
|
120
107
|
|