@fluentui-react-native/menu 1.12.25 → 1.13.0
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/CHANGELOG.json +16 -1
- package/CHANGELOG.md +10 -2
- package/lib/Menu/useMenu.android.d.ts.map +1 -1
- package/lib/Menu/useMenu.android.js +3 -3
- package/lib/Menu/useMenu.android.js.map +1 -1
- package/lib/Menu/useMenu.d.ts.map +1 -1
- package/lib/Menu/useMenu.js +3 -3
- package/lib/Menu/useMenu.js.map +1 -1
- package/lib-commonjs/Menu/useMenu.android.d.ts.map +1 -1
- package/lib-commonjs/Menu/useMenu.android.js +3 -3
- package/lib-commonjs/Menu/useMenu.android.js.map +1 -1
- package/lib-commonjs/Menu/useMenu.d.ts.map +1 -1
- package/lib-commonjs/Menu/useMenu.js +3 -3
- package/lib-commonjs/Menu/useMenu.js.map +1 -1
- package/package.json +10 -10
- package/src/Menu/useMenu.android.ts +3 -3
- package/src/Menu/useMenu.ts +4 -3
package/CHANGELOG.json
CHANGED
|
@@ -2,7 +2,22 @@
|
|
|
2
2
|
"name": "@fluentui-react-native/menu",
|
|
3
3
|
"entries": [
|
|
4
4
|
{
|
|
5
|
-
"date": "
|
|
5
|
+
"date": "Tue, 19 Mar 2024 19:59:49 GMT",
|
|
6
|
+
"version": "1.13.0",
|
|
7
|
+
"tag": "@fluentui-react-native/menu_v1.13.0",
|
|
8
|
+
"comments": {
|
|
9
|
+
"minor": [
|
|
10
|
+
{
|
|
11
|
+
"author": "gulnazsayed@microsoft.com",
|
|
12
|
+
"package": "@fluentui-react-native/menu",
|
|
13
|
+
"commit": "9f0f6a0c339e8887cf5cb4c8a0cf3263da56ddbc",
|
|
14
|
+
"comment": "timestamp per instance"
|
|
15
|
+
}
|
|
16
|
+
]
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"date": "Fri, 15 Mar 2024 20:38:11 GMT",
|
|
6
21
|
"version": "1.12.25",
|
|
7
22
|
"tag": "@fluentui-react-native/menu_v1.12.25",
|
|
8
23
|
"comments": {
|
package/CHANGELOG.md
CHANGED
|
@@ -1,12 +1,20 @@
|
|
|
1
1
|
# Change Log - @fluentui-react-native/menu
|
|
2
2
|
|
|
3
|
-
This log was last generated on
|
|
3
|
+
This log was last generated on Tue, 19 Mar 2024 19:59:49 GMT and should not be manually modified.
|
|
4
4
|
|
|
5
5
|
<!-- Start content -->
|
|
6
6
|
|
|
7
|
+
## 1.13.0
|
|
8
|
+
|
|
9
|
+
Tue, 19 Mar 2024 19:59:49 GMT
|
|
10
|
+
|
|
11
|
+
### Minor changes
|
|
12
|
+
|
|
13
|
+
- timestamp per instance (gulnazsayed@microsoft.com)
|
|
14
|
+
|
|
7
15
|
## 1.12.25
|
|
8
16
|
|
|
9
|
-
Fri, 15 Mar 2024 20:
|
|
17
|
+
Fri, 15 Mar 2024 20:38:11 GMT
|
|
10
18
|
|
|
11
19
|
### Patches
|
|
12
20
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMenu.android.d.ts","sourceRoot":"","sources":["../../src/Menu/useMenu.android.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"useMenu.android.d.ts","sourceRoot":"","sources":["../../src/Menu/useMenu.android.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAqBzD,eAAO,MAAM,OAAO,UAAW,SAAS,KAAG,SAoO1C,CAAC"}
|
|
@@ -9,7 +9,6 @@ import { useMenuContext } from '../context/menuContext';
|
|
|
9
9
|
// this behavior.
|
|
10
10
|
// This are use when show() function is called to show the Menu
|
|
11
11
|
var delayOpen = 150;
|
|
12
|
-
var lastCloseTimestamp = -1;
|
|
13
12
|
/**
|
|
14
13
|
* Values related to Screen Width and Animation Easing
|
|
15
14
|
*/
|
|
@@ -211,12 +210,13 @@ var useMenuOpenState = function (isControlled, props, parentSetOpen, hide, show)
|
|
|
211
210
|
var _a = React.useState(initialState), openInternal = _a[0], setOpenInternal = _a[1];
|
|
212
211
|
var _b = React.useState(undefined), shouldFocusOnContainer = _b[0], setShouldFocusOnContainer = _b[1];
|
|
213
212
|
var state = isControlled ? open : openInternal;
|
|
213
|
+
var lastCloseTimestampRef = React.useRef(-1);
|
|
214
214
|
/**
|
|
215
215
|
* setOpen handles the open of the Menu and setting focus on the Popover container
|
|
216
216
|
*/
|
|
217
217
|
var setOpen = React.useCallback(function (e, isOpen, bubble) {
|
|
218
218
|
var openPrev = state;
|
|
219
|
-
if (!isControlled && (!isOpen ||
|
|
219
|
+
if (!isControlled && (!isOpen || lastCloseTimestampRef.current + delayOpen <= Date.now())) {
|
|
220
220
|
setOpenInternal(isOpen);
|
|
221
221
|
}
|
|
222
222
|
if (isOpen) {
|
|
@@ -225,7 +225,7 @@ var useMenuOpenState = function (isControlled, props, parentSetOpen, hide, show)
|
|
|
225
225
|
}
|
|
226
226
|
if (!isOpen) {
|
|
227
227
|
setShouldFocusOnContainer(undefined);
|
|
228
|
-
|
|
228
|
+
lastCloseTimestampRef.current = Date.now();
|
|
229
229
|
hide();
|
|
230
230
|
}
|
|
231
231
|
if (onOpenChange && openPrev !== isOpen) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMenu.android.js","sourceRoot":"","sources":["../../src/Menu/useMenu.android.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEpE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAKpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,0DAA0D;AAC1D,sDAAsD;AACtD,wDAAwD;AACxD,iBAAiB;AACjB,+DAA+D;AAC/D,IAAM,SAAS,GAAG,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"useMenu.android.js","sourceRoot":"","sources":["../../src/Menu/useMenu.android.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMenu.d.ts","sourceRoot":"","sources":["../../src/Menu/useMenu.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"useMenu.d.ts","sourceRoot":"","sources":["../../src/Menu/useMenu.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AASzD,eAAO,MAAM,OAAO,UAAW,SAAS,KAAG,SAiC1C,CAAC"}
|
package/lib/Menu/useMenu.js
CHANGED
|
@@ -8,7 +8,6 @@ import { useMenuContext } from '../context/menuContext';
|
|
|
8
8
|
// a menu when we close it. Adding in a delay to prevent
|
|
9
9
|
// this behavior.
|
|
10
10
|
var delayOpen = 150;
|
|
11
|
-
var lastCloseTimestamp = -1;
|
|
12
11
|
export var useMenu = function (props) {
|
|
13
12
|
var triggerRef = React.useRef();
|
|
14
13
|
var context = useMenuContext();
|
|
@@ -33,9 +32,10 @@ var useMenuOpenState = function (isControlled, props, parentSetOpen) {
|
|
|
33
32
|
var _a = React.useState(initialState), openInternal = _a[0], setOpenInternal = _a[1];
|
|
34
33
|
var _b = React.useState(undefined), shouldFocusOnContainer = _b[0], setShouldFocusOnContainer = _b[1];
|
|
35
34
|
var state = isControlled ? open : openInternal;
|
|
35
|
+
var lastCloseTimestampRef = React.useRef(-1);
|
|
36
36
|
var setOpen = React.useCallback(function (e, isOpen, bubble) {
|
|
37
37
|
var openPrev = state;
|
|
38
|
-
if (!isControlled && (!isOpen ||
|
|
38
|
+
if (!isControlled && (!isOpen || lastCloseTimestampRef.current + delayOpen <= Date.now())) {
|
|
39
39
|
setOpenInternal(isOpen);
|
|
40
40
|
}
|
|
41
41
|
if (isOpen) {
|
|
@@ -48,7 +48,7 @@ var useMenuOpenState = function (isControlled, props, parentSetOpen) {
|
|
|
48
48
|
}
|
|
49
49
|
if (!isOpen) {
|
|
50
50
|
setShouldFocusOnContainer(undefined);
|
|
51
|
-
|
|
51
|
+
lastCloseTimestampRef.current = Date.now();
|
|
52
52
|
}
|
|
53
53
|
if (onOpenChange && openPrev !== isOpen) {
|
|
54
54
|
onOpenChange(e, isOpen);
|
package/lib/Menu/useMenu.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMenu.js","sourceRoot":"","sources":["../../src/Menu/useMenu.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAGxC,OAAO,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AAGxE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,0DAA0D;AAC1D,sDAAsD;AACtD,wDAAwD;AACxD,iBAAiB;AACjB,IAAM,SAAS,GAAG,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"useMenu.js","sourceRoot":"","sources":["../../src/Menu/useMenu.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMenu.android.d.ts","sourceRoot":"","sources":["../../src/Menu/useMenu.android.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"useMenu.android.d.ts","sourceRoot":"","sources":["../../src/Menu/useMenu.android.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAqBzD,eAAO,MAAM,OAAO,UAAW,SAAS,KAAG,SAoO1C,CAAC"}
|
|
@@ -12,7 +12,6 @@ var menuContext_1 = require("../context/menuContext");
|
|
|
12
12
|
// this behavior.
|
|
13
13
|
// This are use when show() function is called to show the Menu
|
|
14
14
|
var delayOpen = 150;
|
|
15
|
-
var lastCloseTimestamp = -1;
|
|
16
15
|
/**
|
|
17
16
|
* Values related to Screen Width and Animation Easing
|
|
18
17
|
*/
|
|
@@ -215,12 +214,13 @@ var useMenuOpenState = function (isControlled, props, parentSetOpen, hide, show)
|
|
|
215
214
|
var _a = react_1.default.useState(initialState), openInternal = _a[0], setOpenInternal = _a[1];
|
|
216
215
|
var _b = react_1.default.useState(undefined), shouldFocusOnContainer = _b[0], setShouldFocusOnContainer = _b[1];
|
|
217
216
|
var state = isControlled ? open : openInternal;
|
|
217
|
+
var lastCloseTimestampRef = react_1.default.useRef(-1);
|
|
218
218
|
/**
|
|
219
219
|
* setOpen handles the open of the Menu and setting focus on the Popover container
|
|
220
220
|
*/
|
|
221
221
|
var setOpen = react_1.default.useCallback(function (e, isOpen, bubble) {
|
|
222
222
|
var openPrev = state;
|
|
223
|
-
if (!isControlled && (!isOpen ||
|
|
223
|
+
if (!isControlled && (!isOpen || lastCloseTimestampRef.current + delayOpen <= Date.now())) {
|
|
224
224
|
setOpenInternal(isOpen);
|
|
225
225
|
}
|
|
226
226
|
if (isOpen) {
|
|
@@ -229,7 +229,7 @@ var useMenuOpenState = function (isControlled, props, parentSetOpen, hide, show)
|
|
|
229
229
|
}
|
|
230
230
|
if (!isOpen) {
|
|
231
231
|
setShouldFocusOnContainer(undefined);
|
|
232
|
-
|
|
232
|
+
lastCloseTimestampRef.current = Date.now();
|
|
233
233
|
hide();
|
|
234
234
|
}
|
|
235
235
|
if (onOpenChange && openPrev !== isOpen) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMenu.android.js","sourceRoot":"","sources":["../../src/Menu/useMenu.android.ts"],"names":[],"mappings":";;;;AAAA,qDAAoE;AAEpE,6CAAoF;AAKpF,2CAAiD;AACjD,sDAAwD;AAExD,0DAA0D;AAC1D,sDAAsD;AACtD,wDAAwD;AACxD,iBAAiB;AACjB,+DAA+D;AAC/D,IAAM,SAAS,GAAG,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"useMenu.android.js","sourceRoot":"","sources":["../../src/Menu/useMenu.android.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMenu.d.ts","sourceRoot":"","sources":["../../src/Menu/useMenu.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"useMenu.d.ts","sourceRoot":"","sources":["../../src/Menu/useMenu.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AASzD,eAAO,MAAM,OAAO,UAAW,SAAS,KAAG,SAiC1C,CAAC"}
|
|
@@ -11,7 +11,6 @@ var menuContext_1 = require("../context/menuContext");
|
|
|
11
11
|
// a menu when we close it. Adding in a delay to prevent
|
|
12
12
|
// this behavior.
|
|
13
13
|
var delayOpen = 150;
|
|
14
|
-
var lastCloseTimestamp = -1;
|
|
15
14
|
var useMenu = function (props) {
|
|
16
15
|
var triggerRef = react_1.default.useRef();
|
|
17
16
|
var context = (0, menuContext_1.useMenuContext)();
|
|
@@ -37,9 +36,10 @@ var useMenuOpenState = function (isControlled, props, parentSetOpen) {
|
|
|
37
36
|
var _a = react_1.default.useState(initialState), openInternal = _a[0], setOpenInternal = _a[1];
|
|
38
37
|
var _b = react_1.default.useState(undefined), shouldFocusOnContainer = _b[0], setShouldFocusOnContainer = _b[1];
|
|
39
38
|
var state = isControlled ? open : openInternal;
|
|
39
|
+
var lastCloseTimestampRef = react_1.default.useRef(-1);
|
|
40
40
|
var setOpen = react_1.default.useCallback(function (e, isOpen, bubble) {
|
|
41
41
|
var openPrev = state;
|
|
42
|
-
if (!isControlled && (!isOpen ||
|
|
42
|
+
if (!isControlled && (!isOpen || lastCloseTimestampRef.current + delayOpen <= Date.now())) {
|
|
43
43
|
setOpenInternal(isOpen);
|
|
44
44
|
}
|
|
45
45
|
if (isOpen) {
|
|
@@ -52,7 +52,7 @@ var useMenuOpenState = function (isControlled, props, parentSetOpen) {
|
|
|
52
52
|
}
|
|
53
53
|
if (!isOpen) {
|
|
54
54
|
setShouldFocusOnContainer(undefined);
|
|
55
|
-
|
|
55
|
+
lastCloseTimestampRef.current = Date.now();
|
|
56
56
|
}
|
|
57
57
|
if (onOpenChange && openPrev !== isOpen) {
|
|
58
58
|
onOpenChange(e, isOpen);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMenu.js","sourceRoot":"","sources":["../../src/Menu/useMenu.ts"],"names":[],"mappings":";;;;AAAA,wDAA0B;AAC1B,6CAAwC;AAGxC,8EAAwE;AAGxE,sDAAwD;AAExD,0DAA0D;AAC1D,sDAAsD;AACtD,wDAAwD;AACxD,iBAAiB;AACjB,IAAM,SAAS,GAAG,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"useMenu.js","sourceRoot":"","sources":["../../src/Menu/useMenu.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fluentui-react-native/menu",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.13.0",
|
|
4
4
|
"description": "A cross-platform Menu component using the Fluent Design System",
|
|
5
5
|
"main": "lib-commonjs/index.js",
|
|
6
6
|
"module": "lib/index.js",
|
|
@@ -22,20 +22,20 @@
|
|
|
22
22
|
"directory": "packages/components/menu"
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@fluentui-react-native/adapters": "0.12.
|
|
26
|
-
"@fluentui-react-native/callout": "0.25.
|
|
27
|
-
"@fluentui-react-native/focus-zone": "0.16.
|
|
28
|
-
"@fluentui-react-native/framework": "0.13.
|
|
29
|
-
"@fluentui-react-native/icon": "0.20.
|
|
30
|
-
"@fluentui-react-native/interactive-hooks": "0.26.
|
|
31
|
-
"@fluentui-react-native/text": "0.22.
|
|
25
|
+
"@fluentui-react-native/adapters": "0.12.3",
|
|
26
|
+
"@fluentui-react-native/callout": "0.25.15",
|
|
27
|
+
"@fluentui-react-native/focus-zone": "0.16.14",
|
|
28
|
+
"@fluentui-react-native/framework": "0.13.10",
|
|
29
|
+
"@fluentui-react-native/icon": "0.20.15",
|
|
30
|
+
"@fluentui-react-native/interactive-hooks": "0.26.4",
|
|
31
|
+
"@fluentui-react-native/text": "0.22.14",
|
|
32
32
|
"@fluentui-react-native/theme-tokens": "0.26.7",
|
|
33
|
-
"@fluentui-react-native/tokens": "0.22.
|
|
33
|
+
"@fluentui-react-native/tokens": "0.22.9",
|
|
34
34
|
"@fluentui-react-native/use-styling": "0.12.1",
|
|
35
35
|
"tslib": "^2.3.1"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
|
-
"@fluentui-react-native/button": "0.36.
|
|
38
|
+
"@fluentui-react-native/button": "0.36.17",
|
|
39
39
|
"@fluentui-react-native/eslint-config-rules": "0.1.1",
|
|
40
40
|
"@fluentui-react-native/scripts": "0.1.1",
|
|
41
41
|
"@fluentui-react-native/test-tools": "0.1.1",
|
|
@@ -14,7 +14,6 @@ import { useMenuContext } from '../context/menuContext';
|
|
|
14
14
|
// this behavior.
|
|
15
15
|
// This are use when show() function is called to show the Menu
|
|
16
16
|
const delayOpen = 150;
|
|
17
|
-
let lastCloseTimestamp = -1;
|
|
18
17
|
|
|
19
18
|
/**
|
|
20
19
|
* Values related to Screen Width and Animation Easing
|
|
@@ -273,6 +272,7 @@ const useMenuOpenState = (
|
|
|
273
272
|
const [openInternal, setOpenInternal] = React.useState<boolean>(initialState);
|
|
274
273
|
const [shouldFocusOnContainer, setShouldFocusOnContainer] = React.useState<boolean | undefined>(undefined);
|
|
275
274
|
const state = isControlled ? open : openInternal;
|
|
275
|
+
const lastCloseTimestampRef = React.useRef<number>(-1);
|
|
276
276
|
|
|
277
277
|
/**
|
|
278
278
|
* setOpen handles the open of the Menu and setting focus on the Popover container
|
|
@@ -280,7 +280,7 @@ const useMenuOpenState = (
|
|
|
280
280
|
const setOpen = React.useCallback(
|
|
281
281
|
(e: InteractionEvent, isOpen: boolean, bubble?: boolean) => {
|
|
282
282
|
const openPrev = state;
|
|
283
|
-
if (!isControlled && (!isOpen ||
|
|
283
|
+
if (!isControlled && (!isOpen || lastCloseTimestampRef.current + delayOpen <= Date.now())) {
|
|
284
284
|
setOpenInternal(isOpen);
|
|
285
285
|
}
|
|
286
286
|
if (isOpen) {
|
|
@@ -289,7 +289,7 @@ const useMenuOpenState = (
|
|
|
289
289
|
}
|
|
290
290
|
if (!isOpen) {
|
|
291
291
|
setShouldFocusOnContainer(undefined);
|
|
292
|
-
|
|
292
|
+
lastCloseTimestampRef.current = Date.now();
|
|
293
293
|
hide();
|
|
294
294
|
}
|
|
295
295
|
if (onOpenChange && openPrev !== isOpen) {
|
package/src/Menu/useMenu.ts
CHANGED
|
@@ -12,7 +12,6 @@ import { useMenuContext } from '../context/menuContext';
|
|
|
12
12
|
// a menu when we close it. Adding in a delay to prevent
|
|
13
13
|
// this behavior.
|
|
14
14
|
const delayOpen = 150;
|
|
15
|
-
let lastCloseTimestamp = -1;
|
|
16
15
|
|
|
17
16
|
export const useMenu = (props: MenuProps): MenuState => {
|
|
18
17
|
const triggerRef = React.useRef();
|
|
@@ -61,10 +60,12 @@ const useMenuOpenState = (
|
|
|
61
60
|
|
|
62
61
|
const state = isControlled ? open : openInternal;
|
|
63
62
|
|
|
63
|
+
const lastCloseTimestampRef = React.useRef<number>(-1);
|
|
64
|
+
|
|
64
65
|
const setOpen = React.useCallback(
|
|
65
66
|
(e: InteractionEvent, isOpen: boolean, bubble?: boolean) => {
|
|
66
67
|
const openPrev = state;
|
|
67
|
-
if (!isControlled && (!isOpen ||
|
|
68
|
+
if (!isControlled && (!isOpen || lastCloseTimestampRef.current + delayOpen <= Date.now())) {
|
|
68
69
|
setOpenInternal(isOpen);
|
|
69
70
|
}
|
|
70
71
|
|
|
@@ -78,7 +79,7 @@ const useMenuOpenState = (
|
|
|
78
79
|
|
|
79
80
|
if (!isOpen) {
|
|
80
81
|
setShouldFocusOnContainer(undefined);
|
|
81
|
-
|
|
82
|
+
lastCloseTimestampRef.current = Date.now();
|
|
82
83
|
}
|
|
83
84
|
|
|
84
85
|
if (onOpenChange && openPrev !== isOpen) {
|