@mui/material 9.0.0-alpha.2 → 9.0.0-alpha.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Autocomplete/Autocomplete.d.mts +16 -0
- package/Autocomplete/Autocomplete.d.ts +16 -0
- package/Autocomplete/Autocomplete.js +48 -25
- package/Autocomplete/Autocomplete.mjs +48 -25
- package/Box/Box.d.mts +1 -0
- package/Box/Box.d.ts +1 -0
- package/Button/Button.d.mts +1 -0
- package/Button/Button.d.ts +1 -0
- package/CHANGELOG.md +37 -0
- package/CardHeader/CardHeader.js +5 -1
- package/CardHeader/CardHeader.mjs +5 -1
- package/Divider/Divider.d.mts +1 -0
- package/Divider/Divider.d.ts +1 -0
- package/List/List.d.mts +1 -0
- package/List/List.d.ts +1 -0
- package/ListItemButton/ListItemButton.d.mts +1 -0
- package/ListItemButton/ListItemButton.d.ts +1 -0
- package/ListItemIcon/ListItemIcon.d.mts +1 -0
- package/ListItemIcon/ListItemIcon.d.ts +1 -0
- package/ListItemText/ListItemText.d.mts +1 -0
- package/ListItemText/ListItemText.d.ts +1 -0
- package/ListItemText/ListItemText.js +5 -1
- package/ListItemText/ListItemText.mjs +5 -1
- package/ListSubheader/ListSubheader.d.mts +1 -0
- package/ListSubheader/ListSubheader.d.ts +1 -0
- package/MenuList/MenuList.js +76 -106
- package/MenuList/MenuList.mjs +76 -106
- package/Paper/Paper.d.mts +1 -0
- package/Paper/Paper.d.ts +1 -0
- package/Step/Step.js +7 -5
- package/Step/Step.mjs +7 -5
- package/StepButton/StepButton.js +16 -6
- package/StepButton/StepButton.mjs +16 -6
- package/StepConnector/StepConnector.js +2 -2
- package/StepConnector/StepConnector.mjs +2 -2
- package/StepContent/StepContent.js +2 -2
- package/StepContent/StepContent.mjs +2 -2
- package/StepLabel/StepLabel.js +2 -2
- package/StepLabel/StepLabel.mjs +2 -2
- package/Stepper/Stepper.js +44 -7
- package/Stepper/Stepper.mjs +44 -7
- package/Stepper/StepperContext.d.mts +7 -0
- package/Stepper/StepperContext.d.ts +7 -0
- package/Stepper/StepperContext.js +2 -1
- package/Stepper/StepperContext.mjs +1 -0
- package/Stepper/index.d.mts +0 -1
- package/Stepper/index.d.ts +0 -1
- package/Tab/Tab.js +0 -1
- package/Tab/Tab.mjs +0 -1
- package/Tabs/Tabs.js +46 -97
- package/Tabs/Tabs.mjs +46 -97
- package/Typography/Typography.d.mts +1 -0
- package/Typography/Typography.d.ts +1 -0
- package/index.js +1 -1
- package/index.mjs +1 -1
- package/package.json +236 -222
- package/themeCssVarsAugmentation/index.js +5 -0
- package/themeCssVarsAugmentation/index.mjs +5 -0
- package/useAutocomplete/useAutocomplete.js +24 -0
- package/useAutocomplete/useAutocomplete.mjs +24 -0
- package/utils/index.d.mts +2 -0
- package/utils/index.d.ts +2 -0
- package/utils/index.js +14 -0
- package/utils/index.mjs +2 -0
- package/utils/useRovingTabIndex.d.mts +2 -0
- package/utils/useRovingTabIndex.d.ts +2 -0
- package/utils/useRovingTabIndex.js +9 -0
- package/utils/useRovingTabIndex.mjs +2 -0
- package/version/index.js +2 -2
- package/version/index.mjs +2 -2
|
@@ -134,6 +134,7 @@ function useAutocomplete(props) {
|
|
|
134
134
|
const firstFocus = React.useRef(true);
|
|
135
135
|
const inputRef = React.useRef(null);
|
|
136
136
|
const listboxRef = React.useRef(null);
|
|
137
|
+
const windowLostFocus = React.useRef(false);
|
|
137
138
|
const [anchorEl, setAnchorEl] = React.useState(null);
|
|
138
139
|
const [focusedItem, setFocusedItem] = React.useState(-1);
|
|
139
140
|
const defaultHighlighted = autoHighlight ? 0 : -1;
|
|
@@ -498,6 +499,21 @@ function useAutocomplete(props) {
|
|
|
498
499
|
syncHighlightedIndex();
|
|
499
500
|
}
|
|
500
501
|
}, [syncHighlightedIndex, filteredOptionsChanged, popupOpen, disableCloseOnSelect]);
|
|
502
|
+
|
|
503
|
+
// Listen for browser window blur to detect when the user switches tabs or windows.
|
|
504
|
+
// This helps prevent the popup from reopening automatically when the window regains focus.
|
|
505
|
+
React.useEffect(() => {
|
|
506
|
+
if (typeof window === 'undefined') {
|
|
507
|
+
return undefined;
|
|
508
|
+
}
|
|
509
|
+
const handleWindowBlur = () => {
|
|
510
|
+
windowLostFocus.current = true;
|
|
511
|
+
};
|
|
512
|
+
window.addEventListener('blur', handleWindowBlur);
|
|
513
|
+
return () => {
|
|
514
|
+
window.removeEventListener('blur', handleWindowBlur);
|
|
515
|
+
};
|
|
516
|
+
}, []);
|
|
501
517
|
const handleOpen = event => {
|
|
502
518
|
if (open) {
|
|
503
519
|
return;
|
|
@@ -833,6 +849,14 @@ function useAutocomplete(props) {
|
|
|
833
849
|
// Ensure DOM focus lands on the input
|
|
834
850
|
focusItem(-1);
|
|
835
851
|
}
|
|
852
|
+
|
|
853
|
+
// If the window previously lost focus while the popup was open,
|
|
854
|
+
// ignore this focus event to prevent unintended reopening.
|
|
855
|
+
// Reset the flag so normal focus behavior resumes.
|
|
856
|
+
if (windowLostFocus.current) {
|
|
857
|
+
windowLostFocus.current = false;
|
|
858
|
+
return;
|
|
859
|
+
}
|
|
836
860
|
if (openOnFocus && !ignoreFocus.current) {
|
|
837
861
|
handleOpen(event);
|
|
838
862
|
}
|
|
@@ -126,6 +126,7 @@ function useAutocomplete(props) {
|
|
|
126
126
|
const firstFocus = React.useRef(true);
|
|
127
127
|
const inputRef = React.useRef(null);
|
|
128
128
|
const listboxRef = React.useRef(null);
|
|
129
|
+
const windowLostFocus = React.useRef(false);
|
|
129
130
|
const [anchorEl, setAnchorEl] = React.useState(null);
|
|
130
131
|
const [focusedItem, setFocusedItem] = React.useState(-1);
|
|
131
132
|
const defaultHighlighted = autoHighlight ? 0 : -1;
|
|
@@ -490,6 +491,21 @@ function useAutocomplete(props) {
|
|
|
490
491
|
syncHighlightedIndex();
|
|
491
492
|
}
|
|
492
493
|
}, [syncHighlightedIndex, filteredOptionsChanged, popupOpen, disableCloseOnSelect]);
|
|
494
|
+
|
|
495
|
+
// Listen for browser window blur to detect when the user switches tabs or windows.
|
|
496
|
+
// This helps prevent the popup from reopening automatically when the window regains focus.
|
|
497
|
+
React.useEffect(() => {
|
|
498
|
+
if (typeof window === 'undefined') {
|
|
499
|
+
return undefined;
|
|
500
|
+
}
|
|
501
|
+
const handleWindowBlur = () => {
|
|
502
|
+
windowLostFocus.current = true;
|
|
503
|
+
};
|
|
504
|
+
window.addEventListener('blur', handleWindowBlur);
|
|
505
|
+
return () => {
|
|
506
|
+
window.removeEventListener('blur', handleWindowBlur);
|
|
507
|
+
};
|
|
508
|
+
}, []);
|
|
493
509
|
const handleOpen = event => {
|
|
494
510
|
if (open) {
|
|
495
511
|
return;
|
|
@@ -825,6 +841,14 @@ function useAutocomplete(props) {
|
|
|
825
841
|
// Ensure DOM focus lands on the input
|
|
826
842
|
focusItem(-1);
|
|
827
843
|
}
|
|
844
|
+
|
|
845
|
+
// If the window previously lost focus while the popup was open,
|
|
846
|
+
// ignore this focus event to prevent unintended reopening.
|
|
847
|
+
// Reset the flag so normal focus behavior resumes.
|
|
848
|
+
if (windowLostFocus.current) {
|
|
849
|
+
windowLostFocus.current = false;
|
|
850
|
+
return;
|
|
851
|
+
}
|
|
828
852
|
if (openOnFocus && !ignoreFocus.current) {
|
|
829
853
|
handleOpen(event);
|
|
830
854
|
}
|
package/utils/index.d.mts
CHANGED
|
@@ -5,6 +5,7 @@ export { default as createSvgIcon } from "./createSvgIcon.mjs";
|
|
|
5
5
|
export { default as debounce } from "./debounce.mjs";
|
|
6
6
|
export { default as deprecatedPropType } from "./deprecatedPropType.mjs";
|
|
7
7
|
export { default as isMuiElement } from "./isMuiElement.mjs";
|
|
8
|
+
export { default as getActiveElement } from "./getActiveElement.mjs";
|
|
8
9
|
export { default as unstable_memoTheme } from "./memoTheme.mjs";
|
|
9
10
|
export { default as ownerDocument } from "./ownerDocument.mjs";
|
|
10
11
|
export { default as ownerWindow } from "./ownerWindow.mjs";
|
|
@@ -15,6 +16,7 @@ export { default as unstable_useId } from "./useId.mjs";
|
|
|
15
16
|
export { default as unsupportedProp } from "./unsupportedProp.mjs";
|
|
16
17
|
export { default as useControlled } from "./useControlled.mjs";
|
|
17
18
|
export { default as useEventCallback } from "./useEventCallback.mjs";
|
|
19
|
+
export { default as useRovingTabIndex } from "./useRovingTabIndex.mjs";
|
|
18
20
|
export { default as useForkRef } from "./useForkRef.mjs";
|
|
19
21
|
export { default as mergeSlotProps } from "./mergeSlotProps.mjs";
|
|
20
22
|
export * from "./types.mjs";
|
package/utils/index.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ export { default as createSvgIcon } from "./createSvgIcon.js";
|
|
|
5
5
|
export { default as debounce } from "./debounce.js";
|
|
6
6
|
export { default as deprecatedPropType } from "./deprecatedPropType.js";
|
|
7
7
|
export { default as isMuiElement } from "./isMuiElement.js";
|
|
8
|
+
export { default as getActiveElement } from "./getActiveElement.js";
|
|
8
9
|
export { default as unstable_memoTheme } from "./memoTheme.js";
|
|
9
10
|
export { default as ownerDocument } from "./ownerDocument.js";
|
|
10
11
|
export { default as ownerWindow } from "./ownerWindow.js";
|
|
@@ -15,6 +16,7 @@ export { default as unstable_useId } from "./useId.js";
|
|
|
15
16
|
export { default as unsupportedProp } from "./unsupportedProp.js";
|
|
16
17
|
export { default as useControlled } from "./useControlled.js";
|
|
17
18
|
export { default as useEventCallback } from "./useEventCallback.js";
|
|
19
|
+
export { default as useRovingTabIndex } from "./useRovingTabIndex.js";
|
|
18
20
|
export { default as useForkRef } from "./useForkRef.js";
|
|
19
21
|
export { default as mergeSlotProps } from "./mergeSlotProps.js";
|
|
20
22
|
export * from "./types.js";
|
package/utils/index.js
CHANGED
|
@@ -35,6 +35,12 @@ Object.defineProperty(exports, "deprecatedPropType", {
|
|
|
35
35
|
return _deprecatedPropType.default;
|
|
36
36
|
}
|
|
37
37
|
});
|
|
38
|
+
Object.defineProperty(exports, "getActiveElement", {
|
|
39
|
+
enumerable: true,
|
|
40
|
+
get: function () {
|
|
41
|
+
return _getActiveElement.default;
|
|
42
|
+
}
|
|
43
|
+
});
|
|
38
44
|
Object.defineProperty(exports, "isMuiElement", {
|
|
39
45
|
enumerable: true,
|
|
40
46
|
get: function () {
|
|
@@ -114,6 +120,12 @@ Object.defineProperty(exports, "useForkRef", {
|
|
|
114
120
|
return _useForkRef.default;
|
|
115
121
|
}
|
|
116
122
|
});
|
|
123
|
+
Object.defineProperty(exports, "useRovingTabIndex", {
|
|
124
|
+
enumerable: true,
|
|
125
|
+
get: function () {
|
|
126
|
+
return _useRovingTabIndex.default;
|
|
127
|
+
}
|
|
128
|
+
});
|
|
117
129
|
var _ClassNameGenerator = _interopRequireDefault(require("@mui/utils/ClassNameGenerator"));
|
|
118
130
|
var _capitalize = _interopRequireDefault(require("./capitalize"));
|
|
119
131
|
var _createChainedFunction = _interopRequireDefault(require("./createChainedFunction"));
|
|
@@ -121,6 +133,7 @@ var _createSvgIcon = _interopRequireDefault(require("./createSvgIcon"));
|
|
|
121
133
|
var _debounce = _interopRequireDefault(require("./debounce"));
|
|
122
134
|
var _deprecatedPropType = _interopRequireDefault(require("./deprecatedPropType"));
|
|
123
135
|
var _isMuiElement = _interopRequireDefault(require("./isMuiElement"));
|
|
136
|
+
var _getActiveElement = _interopRequireDefault(require("./getActiveElement"));
|
|
124
137
|
var _memoTheme = _interopRequireDefault(require("./memoTheme"));
|
|
125
138
|
var _ownerDocument = _interopRequireDefault(require("./ownerDocument"));
|
|
126
139
|
var _ownerWindow = _interopRequireDefault(require("./ownerWindow"));
|
|
@@ -131,6 +144,7 @@ var _useId = _interopRequireDefault(require("./useId"));
|
|
|
131
144
|
var _unsupportedProp = _interopRequireDefault(require("./unsupportedProp"));
|
|
132
145
|
var _useControlled = _interopRequireDefault(require("./useControlled"));
|
|
133
146
|
var _useEventCallback = _interopRequireDefault(require("./useEventCallback"));
|
|
147
|
+
var _useRovingTabIndex = _interopRequireDefault(require("./useRovingTabIndex"));
|
|
134
148
|
var _useForkRef = _interopRequireDefault(require("./useForkRef"));
|
|
135
149
|
var _mergeSlotProps = _interopRequireDefault(require("./mergeSlotProps"));
|
|
136
150
|
// TODO: remove this export once ClassNameGenerator is stable
|
package/utils/index.mjs
CHANGED
|
@@ -7,6 +7,7 @@ export { default as createSvgIcon } from "./createSvgIcon.mjs";
|
|
|
7
7
|
export { default as debounce } from "./debounce.mjs";
|
|
8
8
|
export { default as deprecatedPropType } from "./deprecatedPropType.mjs";
|
|
9
9
|
export { default as isMuiElement } from "./isMuiElement.mjs";
|
|
10
|
+
export { default as getActiveElement } from "./getActiveElement.mjs";
|
|
10
11
|
export { default as unstable_memoTheme } from "./memoTheme.mjs";
|
|
11
12
|
export { default as ownerDocument } from "./ownerDocument.mjs";
|
|
12
13
|
export { default as ownerWindow } from "./ownerWindow.mjs";
|
|
@@ -17,6 +18,7 @@ export { default as unstable_useId } from "./useId.mjs";
|
|
|
17
18
|
export { default as unsupportedProp } from "./unsupportedProp.mjs";
|
|
18
19
|
export { default as useControlled } from "./useControlled.mjs";
|
|
19
20
|
export { default as useEventCallback } from "./useEventCallback.mjs";
|
|
21
|
+
export { default as useRovingTabIndex } from "./useRovingTabIndex.mjs";
|
|
20
22
|
export { default as useForkRef } from "./useForkRef.mjs";
|
|
21
23
|
export { default as mergeSlotProps } from "./mergeSlotProps.mjs";
|
|
22
24
|
// TODO: remove this export once ClassNameGenerator is stable
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = void 0;
|
|
8
|
+
var _useRovingTabIndex = _interopRequireDefault(require("@mui/utils/useRovingTabIndex"));
|
|
9
|
+
var _default = exports.default = _useRovingTabIndex.default;
|
package/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 = "9.0.0-alpha.
|
|
7
|
+
const version = exports.version = "9.0.0-alpha.3";
|
|
8
8
|
const major = exports.major = Number("9");
|
|
9
9
|
const minor = exports.minor = Number("0");
|
|
10
10
|
const patch = exports.patch = Number("0");
|
|
11
|
-
const prerelease = exports.prerelease = "alpha.
|
|
11
|
+
const prerelease = exports.prerelease = "alpha.3";
|
|
12
12
|
var _default = exports.default = version;
|
package/version/index.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export const version = "9.0.0-alpha.
|
|
1
|
+
export const version = "9.0.0-alpha.3";
|
|
2
2
|
export const major = Number("9");
|
|
3
3
|
export const minor = Number("0");
|
|
4
4
|
export const patch = Number("0");
|
|
5
|
-
export const prerelease = "alpha.
|
|
5
|
+
export const prerelease = "alpha.3";
|
|
6
6
|
export default version;
|