@fluentui-react-native/menu 0.13.0 → 0.14.1
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 +58 -1
- package/CHANGELOG.md +28 -2
- package/jest.config.js +2 -0
- package/lib/Menu/Menu.types.d.ts +2 -0
- package/lib/Menu/Menu.types.d.ts.map +1 -1
- package/lib/Menu/useMenu.d.ts.map +1 -1
- package/lib/Menu/useMenu.js +8 -3
- package/lib/Menu/useMenu.js.map +1 -1
- package/lib/Menu/useMenuContextValue.d.ts.map +1 -1
- package/lib/Menu/useMenuContextValue.js +4 -1
- package/lib/Menu/useMenuContextValue.js.map +1 -1
- package/lib/MenuPopover/MenuPopover.d.ts.map +1 -1
- package/lib/MenuPopover/MenuPopover.js +7 -3
- package/lib/MenuPopover/MenuPopover.js.map +1 -1
- package/lib/MenuPopover/MenuPopover.types.d.ts +4 -10
- package/lib/MenuPopover/MenuPopover.types.d.ts.map +1 -1
- package/lib/MenuPopover/useMenuPopover.d.ts.map +1 -1
- package/lib/MenuPopover/useMenuPopover.js +35 -8
- package/lib/MenuPopover/useMenuPopover.js.map +1 -1
- package/lib/MenuTrigger/MenuTrigger.js +8 -8
- package/lib/MenuTrigger/MenuTrigger.js.map +1 -1
- package/lib/MenuTrigger/useMenuTrigger.d.ts.map +1 -1
- package/lib/MenuTrigger/useMenuTrigger.js +21 -20
- package/lib/MenuTrigger/useMenuTrigger.js.map +1 -1
- package/lib/__tests__/Menu.test.d.ts +2 -0
- package/lib/__tests__/Menu.test.d.ts.map +1 -0
- package/lib/__tests__/Menu.test.js +145 -0
- package/lib/__tests__/Menu.test.js.map +1 -0
- package/lib/consts.d.ts +3 -0
- package/lib/consts.d.ts.map +1 -0
- package/lib/consts.js +7 -0
- package/lib/consts.js.map +1 -0
- package/lib/context/menuContext.d.ts +10 -4
- package/lib/context/menuContext.d.ts.map +1 -1
- package/lib/context/menuContext.js.map +1 -1
- package/lib-commonjs/Menu/Menu.types.d.ts +2 -0
- package/lib-commonjs/Menu/Menu.types.d.ts.map +1 -1
- package/lib-commonjs/Menu/useMenu.d.ts.map +1 -1
- package/lib-commonjs/Menu/useMenu.js +8 -3
- package/lib-commonjs/Menu/useMenu.js.map +1 -1
- package/lib-commonjs/Menu/useMenuContextValue.d.ts.map +1 -1
- package/lib-commonjs/Menu/useMenuContextValue.js +4 -1
- package/lib-commonjs/Menu/useMenuContextValue.js.map +1 -1
- package/lib-commonjs/MenuPopover/MenuPopover.d.ts.map +1 -1
- package/lib-commonjs/MenuPopover/MenuPopover.js +5 -2
- package/lib-commonjs/MenuPopover/MenuPopover.js.map +1 -1
- package/lib-commonjs/MenuPopover/MenuPopover.types.d.ts +4 -10
- package/lib-commonjs/MenuPopover/MenuPopover.types.d.ts.map +1 -1
- package/lib-commonjs/MenuPopover/useMenuPopover.d.ts.map +1 -1
- package/lib-commonjs/MenuPopover/useMenuPopover.js +35 -8
- package/lib-commonjs/MenuPopover/useMenuPopover.js.map +1 -1
- package/lib-commonjs/MenuTrigger/MenuTrigger.js +8 -8
- package/lib-commonjs/MenuTrigger/MenuTrigger.js.map +1 -1
- package/lib-commonjs/MenuTrigger/useMenuTrigger.d.ts.map +1 -1
- package/lib-commonjs/MenuTrigger/useMenuTrigger.js +21 -20
- package/lib-commonjs/MenuTrigger/useMenuTrigger.js.map +1 -1
- package/lib-commonjs/__tests__/Menu.test.d.ts +2 -0
- package/lib-commonjs/__tests__/Menu.test.d.ts.map +1 -0
- package/lib-commonjs/__tests__/Menu.test.js +148 -0
- package/lib-commonjs/__tests__/Menu.test.js.map +1 -0
- package/lib-commonjs/consts.d.ts +3 -0
- package/lib-commonjs/consts.d.ts.map +1 -0
- package/lib-commonjs/consts.js +10 -0
- package/lib-commonjs/consts.js.map +1 -0
- package/lib-commonjs/context/menuContext.d.ts +10 -4
- package/lib-commonjs/context/menuContext.d.ts.map +1 -1
- package/lib-commonjs/context/menuContext.js.map +1 -1
- package/package.json +5 -3
- package/src/Menu/Menu.types.ts +1 -0
- package/src/Menu/useMenu.ts +9 -2
- package/src/Menu/useMenuContextValue.ts +4 -1
- package/src/MenuPopover/MenuPopover.tsx +7 -14
- package/src/MenuPopover/MenuPopover.types.ts +4 -9
- package/src/MenuPopover/useMenuPopover.ts +48 -8
- package/src/MenuTrigger/MenuTrigger.tsx +9 -9
- package/src/MenuTrigger/useMenuTrigger.ts +36 -26
- package/src/__tests__/Menu.test.tsx +235 -0
- package/src/__tests__/__snapshots__/Menu.test.tsx.snap +2098 -0
- package/src/consts.ts +8 -0
- package/src/context/menuContext.ts +6 -1
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import * as renderer from 'react-test-renderer';
|
|
3
|
+
import { Menu } from '../Menu/Menu';
|
|
4
|
+
import { checkReRender } from '@fluentui-react-native/test-tools';
|
|
5
|
+
import MenuTrigger from '../MenuTrigger/MenuTrigger';
|
|
6
|
+
import { ButtonV1 as Button } from '@fluentui-react-native/button';
|
|
7
|
+
import MenuPopover from '../MenuPopover/MenuPopover';
|
|
8
|
+
import { MenuList } from '../MenuList/MenuList';
|
|
9
|
+
import { MenuItem } from '../MenuItem/MenuItem';
|
|
10
|
+
import { MenuItemCheckbox } from '../MenuItemCheckbox/MenuItemCheckbox';
|
|
11
|
+
import { MenuDivider } from '../MenuDivider/MenuDivider';
|
|
12
|
+
import { MenuItemRadio } from '../MenuItemRadio/MenuItemRadio';
|
|
13
|
+
describe('Checkbox component tests', function () {
|
|
14
|
+
it('Menu default', function () {
|
|
15
|
+
var tree = renderer
|
|
16
|
+
.create(React.createElement(Menu, null,
|
|
17
|
+
React.createElement(MenuTrigger, null,
|
|
18
|
+
React.createElement(Button, null, "Default")),
|
|
19
|
+
React.createElement(MenuPopover, null,
|
|
20
|
+
React.createElement(MenuList, null,
|
|
21
|
+
React.createElement(MenuItem, { content: "Option 1" })))))
|
|
22
|
+
.toJSON();
|
|
23
|
+
expect(tree).toMatchSnapshot();
|
|
24
|
+
});
|
|
25
|
+
it('Menu open', function () {
|
|
26
|
+
var tree = renderer
|
|
27
|
+
.create(React.createElement(Menu, { open: true },
|
|
28
|
+
React.createElement(MenuTrigger, null,
|
|
29
|
+
React.createElement(Button, null, "Open")),
|
|
30
|
+
React.createElement(MenuPopover, null,
|
|
31
|
+
React.createElement(MenuList, null,
|
|
32
|
+
React.createElement(MenuItem, { content: "Option 1" })))))
|
|
33
|
+
.toJSON();
|
|
34
|
+
expect(tree).toMatchSnapshot();
|
|
35
|
+
});
|
|
36
|
+
it('Menu defaultOpen', function () {
|
|
37
|
+
var tree = renderer
|
|
38
|
+
.create(React.createElement(Menu, { defaultOpen: true },
|
|
39
|
+
React.createElement(MenuTrigger, null,
|
|
40
|
+
React.createElement(Button, null, "Open")),
|
|
41
|
+
React.createElement(MenuPopover, null,
|
|
42
|
+
React.createElement(MenuList, null,
|
|
43
|
+
React.createElement(MenuItem, { content: "Option 1" }),
|
|
44
|
+
React.createElement(MenuItem, { disabled: true, content: "Option 2" })))))
|
|
45
|
+
.toJSON();
|
|
46
|
+
expect(tree).toMatchSnapshot();
|
|
47
|
+
});
|
|
48
|
+
it('Menu open checkbox and divider', function () {
|
|
49
|
+
var tree = renderer
|
|
50
|
+
.create(React.createElement(Menu, { open: true },
|
|
51
|
+
React.createElement(MenuTrigger, null,
|
|
52
|
+
React.createElement(Button, null, "Open")),
|
|
53
|
+
React.createElement(MenuPopover, null,
|
|
54
|
+
React.createElement(MenuList, null,
|
|
55
|
+
React.createElement(MenuItemCheckbox, { content: "Option 1", name: "Option 1" }),
|
|
56
|
+
React.createElement(MenuDivider, null),
|
|
57
|
+
React.createElement(MenuItemCheckbox, { disabled: true, content: "Option 2", name: "Option 2" })))))
|
|
58
|
+
.toJSON();
|
|
59
|
+
expect(tree).toMatchSnapshot();
|
|
60
|
+
});
|
|
61
|
+
it('Menu open radio', function () {
|
|
62
|
+
var tree = renderer
|
|
63
|
+
.create(React.createElement(Menu, { open: true },
|
|
64
|
+
React.createElement(MenuTrigger, null,
|
|
65
|
+
React.createElement(Button, null, "Open")),
|
|
66
|
+
React.createElement(MenuPopover, null,
|
|
67
|
+
React.createElement(MenuList, null,
|
|
68
|
+
React.createElement(MenuItemRadio, { content: "Option 1", name: "Option 1" }),
|
|
69
|
+
React.createElement(MenuItemRadio, { content: "Option 2", name: "Option 2" })))))
|
|
70
|
+
.toJSON();
|
|
71
|
+
expect(tree).toMatchSnapshot();
|
|
72
|
+
});
|
|
73
|
+
it('Menu open checkbox defaultChecked', function () {
|
|
74
|
+
var tree = renderer
|
|
75
|
+
.create(React.createElement(Menu, { open: true, defaultChecked: { 'Option 1': true } },
|
|
76
|
+
React.createElement(MenuTrigger, null,
|
|
77
|
+
React.createElement(Button, null, "Open")),
|
|
78
|
+
React.createElement(MenuPopover, null,
|
|
79
|
+
React.createElement(MenuList, null,
|
|
80
|
+
React.createElement(MenuItemCheckbox, { content: "Option 1", name: "Option 1" }),
|
|
81
|
+
React.createElement(MenuDivider, null),
|
|
82
|
+
React.createElement(MenuItemCheckbox, { content: "Option 2", name: "Option 2" })))))
|
|
83
|
+
.toJSON();
|
|
84
|
+
expect(tree).toMatchSnapshot();
|
|
85
|
+
});
|
|
86
|
+
it('Menu open checkbox checked', function () {
|
|
87
|
+
var tree = renderer
|
|
88
|
+
.create(React.createElement(Menu, { open: true, checked: { 'Option 1': true } },
|
|
89
|
+
React.createElement(MenuTrigger, null,
|
|
90
|
+
React.createElement(Button, null, "Open")),
|
|
91
|
+
React.createElement(MenuPopover, null,
|
|
92
|
+
React.createElement(MenuList, null,
|
|
93
|
+
React.createElement(MenuItemCheckbox, { content: "Option 1", name: "Option 1" }),
|
|
94
|
+
React.createElement(MenuDivider, null),
|
|
95
|
+
React.createElement(MenuItemCheckbox, { content: "Option 2", name: "Option 2" })))))
|
|
96
|
+
.toJSON();
|
|
97
|
+
expect(tree).toMatchSnapshot();
|
|
98
|
+
});
|
|
99
|
+
it('Menu submenu', function () {
|
|
100
|
+
var tree = renderer
|
|
101
|
+
.create(React.createElement(Menu, { open: true },
|
|
102
|
+
React.createElement(MenuTrigger, null,
|
|
103
|
+
React.createElement(Button, null, "Default")),
|
|
104
|
+
React.createElement(MenuPopover, null,
|
|
105
|
+
React.createElement(MenuList, null,
|
|
106
|
+
React.createElement(MenuItem, { content: "Option 1" }),
|
|
107
|
+
React.createElement(Menu, null,
|
|
108
|
+
React.createElement(MenuTrigger, null,
|
|
109
|
+
React.createElement(MenuItem, { content: "Option 2" })),
|
|
110
|
+
React.createElement(MenuPopover, null,
|
|
111
|
+
React.createElement(MenuList, null,
|
|
112
|
+
React.createElement(MenuItem, { content: "Option 1" }))))))))
|
|
113
|
+
.toJSON();
|
|
114
|
+
expect(tree).toMatchSnapshot();
|
|
115
|
+
});
|
|
116
|
+
});
|
|
117
|
+
describe('Menu rerender tests', function () {
|
|
118
|
+
it('Menu re-renders correctly', function () {
|
|
119
|
+
checkReRender(function () { return (React.createElement(Menu, { open: true },
|
|
120
|
+
React.createElement(MenuTrigger, null,
|
|
121
|
+
React.createElement(Button, null, "Rerender twice")),
|
|
122
|
+
React.createElement(MenuPopover, null,
|
|
123
|
+
React.createElement(MenuList, null,
|
|
124
|
+
React.createElement(MenuItem, { content: "Option 1" }))))); }, 3);
|
|
125
|
+
});
|
|
126
|
+
it('Menu re-renders correctly with style', function () {
|
|
127
|
+
var style = { backgroundColor: 'black' };
|
|
128
|
+
checkReRender(function () { return (React.createElement(Menu, null,
|
|
129
|
+
React.createElement(MenuTrigger, null,
|
|
130
|
+
React.createElement(Button, { style: style }, "Rerender twice")),
|
|
131
|
+
React.createElement(MenuPopover, null,
|
|
132
|
+
React.createElement(MenuList, null,
|
|
133
|
+
React.createElement(MenuItem, { content: "Option 1" }))))); }, 3);
|
|
134
|
+
});
|
|
135
|
+
it('Menu re-renders correctly with accessibilityAction', function () {
|
|
136
|
+
var action = [{ name: 'Expand' }];
|
|
137
|
+
checkReRender(function () { return (React.createElement(Menu, null,
|
|
138
|
+
React.createElement(MenuTrigger, null,
|
|
139
|
+
React.createElement(Button, null, "Rerender twice")),
|
|
140
|
+
React.createElement(MenuPopover, null,
|
|
141
|
+
React.createElement(MenuList, null,
|
|
142
|
+
React.createElement(MenuItem, { accessibilityActions: action, content: "Option 1" }))))); }, 3);
|
|
143
|
+
});
|
|
144
|
+
});
|
|
145
|
+
//# sourceMappingURL=Menu.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Menu.test.js","sourceRoot":"","sources":["../../src/__tests__/Menu.test.tsx"],"names":[],"mappings":"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"}
|
package/lib/consts.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../src/consts.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,UAAU,QAGrB,CAAC;AAEH,eAAO,MAAM,wBAAwB,SAAmC,CAAC"}
|
package/lib/consts.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consts.js","sourceRoot":"","sources":["../src/consts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,MAAM,CAAC,IAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC;IACxC,KAAK,EAAE,GAAG;IACV,OAAO,EAAE,GAAG,EAAE,QAAQ;CACvB,CAAC,CAAC;AAEH,MAAM,CAAC,IAAM,wBAAwB,GAAG,QAAQ,CAAC,EAAE,KAAM,OAAe,CAAC"}
|
|
@@ -1,10 +1,16 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
1
2
|
import * as React from 'react';
|
|
2
3
|
import type { MenuState } from '../Menu/Menu.types';
|
|
3
4
|
/**
|
|
4
5
|
* Context shared between Menu and its child components
|
|
5
6
|
*/
|
|
6
|
-
export
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
export interface MenuContextValue extends MenuState {
|
|
8
|
+
popoverHoverOutTimer?: NodeJS.Timeout;
|
|
9
|
+
triggerHoverOutTimer?: NodeJS.Timeout;
|
|
10
|
+
setPopoverHoverOutTimer?: (timer: NodeJS.Timeout) => void;
|
|
11
|
+
setTriggerHoverOutTimer?: (timer: NodeJS.Timeout) => void;
|
|
12
|
+
}
|
|
13
|
+
export declare const MenuContext: React.Context<MenuContextValue>;
|
|
14
|
+
export declare const MenuProvider: React.Provider<MenuContextValue>;
|
|
15
|
+
export declare const useMenuContext: () => MenuContextValue;
|
|
10
16
|
//# sourceMappingURL=menuContext.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menuContext.d.ts","sourceRoot":"","sources":["../../src/context/menuContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD;;GAEG;AACH,
|
|
1
|
+
{"version":3,"file":"menuContext.d.ts","sourceRoot":"","sources":["../../src/context/menuContext.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,SAAS;IACjD,oBAAoB,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC;IACtC,oBAAoB,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC;IACtC,uBAAuB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC;IAC1D,uBAAuB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC;CAC3D;AAED,eAAO,MAAM,WAAW,iCAUtB,CAAC;AAEH,eAAO,MAAM,YAAY,kCAAuB,CAAC;AACjD,eAAO,MAAM,cAAc,wBAAsC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menuContext.js","sourceRoot":"","sources":["../../src/context/menuContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"menuContext.js","sourceRoot":"","sources":["../../src/context/menuContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAa/B,MAAM,CAAC,IAAM,WAAW,GAAG,KAAK,CAAC,aAAa,CAAmB;IAC/D,YAAY,EAAE,KAAK;IACnB,OAAO,EAAE,EAAE;IACX,cAAc,EAAE,EAAE;IAClB,aAAa,EAAE,KAAK;IACpB,SAAS,EAAE,KAAK;IAChB,IAAI,EAAE,KAAK;IACX,eAAe,EAAE,cAAM,OAAA,KAAK,EAAL,CAAK;IAC5B,OAAO,EAAE,cAAM,OAAA,KAAK,EAAL,CAAK;IACpB,UAAU,EAAE,IAAI;CACjB,CAAC,CAAC;AAEH,MAAM,CAAC,IAAM,YAAY,GAAG,WAAW,CAAC,QAAQ,CAAC;AACjD,MAAM,CAAC,IAAM,cAAc,GAAG,cAAM,OAAA,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,EAA7B,CAA6B,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
1
2
|
import { InteractionEvent } from '@fluentui-react-native/interactive-hooks';
|
|
2
3
|
import React from 'react';
|
|
3
4
|
import type { MenuListProps } from '../MenuList/MenuList.types';
|
|
@@ -11,6 +12,7 @@ export interface MenuProps extends MenuListProps {
|
|
|
11
12
|
export interface MenuState extends MenuProps {
|
|
12
13
|
isControlled: boolean;
|
|
13
14
|
isSubmenu: boolean;
|
|
15
|
+
parentPopoverHoverOutTimer?: NodeJS.Timeout;
|
|
14
16
|
setOpen: (e: InteractionEvent, isOpen: boolean) => void;
|
|
15
17
|
triggerRef: React.RefObject<React.Component>;
|
|
16
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Menu.types.d.ts","sourceRoot":"","sources":["../../src/Menu/Menu.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAEhE,eAAO,MAAM,QAAQ,SAAS,CAAC;AAE/B,MAAM,WAAW,SAAU,SAAQ,aAAa;IAC9C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,gBAAgB,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IAC9D,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,SAAU,SAAQ,SAAS;IAC1C,YAAY,EAAE,OAAO,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,CAAC,CAAC,EAAE,gBAAgB,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACxD,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;CAC9C"}
|
|
1
|
+
{"version":3,"file":"Menu.types.d.ts","sourceRoot":"","sources":["../../src/Menu/Menu.types.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAEhE,eAAO,MAAM,QAAQ,SAAS,CAAC;AAE/B,MAAM,WAAW,SAAU,SAAQ,aAAa;IAC9C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,gBAAgB,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IAC9D,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,SAAU,SAAQ,SAAS;IAC1C,YAAY,EAAE,OAAO,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,0BAA0B,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC;IAC5C,OAAO,EAAE,CAAC,CAAC,EAAE,gBAAgB,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACxD,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;CAC9C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMenu.d.ts","sourceRoot":"","sources":["../../src/Menu/useMenu.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEpD,eAAO,MAAM,OAAO,UAAW,SAAS,KAAG,
|
|
1
|
+
{"version":3,"file":"useMenu.d.ts","sourceRoot":"","sources":["../../src/Menu/useMenu.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEpD,eAAO,MAAM,OAAO,UAAW,SAAS,KAAG,SA4B1C,CAAC"}
|
|
@@ -5,16 +5,21 @@ var tslib_1 = require("tslib");
|
|
|
5
5
|
var react_1 = (0, tslib_1.__importDefault)(require("react"));
|
|
6
6
|
var menuContext_1 = require("../context/menuContext");
|
|
7
7
|
var useMenu = function (props) {
|
|
8
|
-
var triggerRef = react_1.default.useRef(
|
|
8
|
+
var triggerRef = react_1.default.useRef();
|
|
9
9
|
var context = (0, menuContext_1.useMenuContext)();
|
|
10
10
|
var isSubmenu = context.triggerRef !== null;
|
|
11
11
|
var isControlled = typeof props.open !== 'undefined';
|
|
12
12
|
var _a = useMenuOpenState(isControlled, props), open = _a[0], setOpen = _a[1];
|
|
13
|
-
// Default
|
|
13
|
+
// Default behavior for submenu is to open on hover
|
|
14
14
|
// the ...props line below will override this behavior for a submenu
|
|
15
15
|
// or apply openOnHover if passed into a root Menu.
|
|
16
16
|
var openOnHover = isSubmenu;
|
|
17
|
-
|
|
17
|
+
// We need to be able to cancel the timer that gets set on
|
|
18
|
+
// hover out of the parent popover if the parent popover
|
|
19
|
+
// is also set to open/close on hover out. Otherwise
|
|
20
|
+
// the parent menu will close when the timeout passes.
|
|
21
|
+
var parentPopoverHoverOutTimer = isSubmenu ? context.popoverHoverOutTimer : undefined;
|
|
22
|
+
return (0, tslib_1.__assign)((0, tslib_1.__assign)({ openOnHover: openOnHover }, props), { open: open, setOpen: setOpen, triggerRef: triggerRef, isSubmenu: isSubmenu, isControlled: isControlled, parentPopoverHoverOutTimer: parentPopoverHoverOutTimer });
|
|
18
23
|
};
|
|
19
24
|
exports.useMenu = useMenu;
|
|
20
25
|
var useMenuOpenState = function (isControlled, props) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMenu.js","sourceRoot":"","sources":["../../src/Menu/useMenu.ts"],"names":[],"mappings":";;;;AACA,6DAA0B;AAC1B,sDAAwD;AAGjD,IAAM,OAAO,GAAG,UAAC,KAAgB;IACtC,IAAM,UAAU,GAAG,eAAK,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"useMenu.js","sourceRoot":"","sources":["../../src/Menu/useMenu.ts"],"names":[],"mappings":";;;;AACA,6DAA0B;AAC1B,sDAAwD;AAGjD,IAAM,OAAO,GAAG,UAAC,KAAgB;IACtC,IAAM,UAAU,GAAG,eAAK,CAAC,MAAM,EAAE,CAAC;IAClC,IAAM,OAAO,GAAG,IAAA,4BAAc,GAAE,CAAC;IACjC,IAAM,SAAS,GAAG,OAAO,CAAC,UAAU,KAAK,IAAI,CAAC;IAC9C,IAAM,YAAY,GAAG,OAAO,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC;IACjD,IAAA,KAAkB,gBAAgB,CAAC,YAAY,EAAE,KAAK,CAAC,EAAtD,IAAI,QAAA,EAAE,OAAO,QAAyC,CAAC;IAE9D,mDAAmD;IACnD,oEAAoE;IACpE,mDAAmD;IACnD,IAAM,WAAW,GAAG,SAAS,CAAC;IAE9B,0DAA0D;IAC1D,wDAAwD;IACxD,oDAAoD;IACpD,sDAAsD;IACtD,IAAM,0BAA0B,GAAG,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,SAAS,CAAC;IAExF,qDACE,WAAW,aAAA,IACR,KAAK,KACR,IAAI,MAAA,EACJ,OAAO,SAAA,EACP,UAAU,YAAA,EACV,SAAS,WAAA,EACT,YAAY,cAAA,EACZ,0BAA0B,4BAAA,IAC1B;AACJ,CAAC,CAAC;AA5BW,QAAA,OAAO,WA4BlB;AAEF,IAAM,gBAAgB,GAAG,UAAC,YAAqB,EAAE,KAAgB;IACvD,IAAA,WAAW,GAAyB,KAAK,YAA9B,EAAE,YAAY,GAAW,KAAK,aAAhB,EAAE,IAAI,GAAK,KAAK,KAAV,CAAW;IAClD,IAAM,YAAY,GAAG,OAAO,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACzE,IAAA,KAAkC,eAAK,CAAC,QAAQ,CAAU,YAAY,CAAC,EAAtE,YAAY,QAAA,EAAE,eAAe,QAAyC,CAAC;IAE9E,IAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC;IAEjD,IAAM,OAAO,GAAG,eAAK,CAAC,WAAW,CAC/B,UAAC,CAAmB,EAAE,MAAe;QACnC,IAAM,QAAQ,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,YAAY,EAAE;YACjB,eAAe,CAAC,MAAM,CAAC,CAAC;SACzB;QACD,IAAI,YAAY,IAAI,QAAQ,KAAK,MAAM,EAAE;YACvC,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;SACzB;IACH,CAAC,EACD,CAAC,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,eAAe,CAAC,CACrD,CAAC;IAEF,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AAC1B,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMenuContextValue.d.ts","sourceRoot":"","sources":["../../src/Menu/useMenuContextValue.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useMenuContextValue.d.ts","sourceRoot":"","sources":["../../src/Menu/useMenuContextValue.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,eAAO,MAAM,mBAAmB,UAAW,SAAS,KAAG,gBAItD,CAAC"}
|
|
@@ -2,8 +2,11 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.useMenuContextValue = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
|
+
var react_1 = (0, tslib_1.__importDefault)(require("react"));
|
|
5
6
|
var useMenuContextValue = function (state) {
|
|
6
|
-
|
|
7
|
+
var _a = react_1.default.useState(), triggerHoverOutTimer = _a[0], setTriggerHoverOutTimer = _a[1];
|
|
8
|
+
var _b = react_1.default.useState(), popoverHoverOutTimer = _b[0], setPopoverHoverOutTimer = _b[1];
|
|
9
|
+
return (0, tslib_1.__assign)((0, tslib_1.__assign)({}, state), { popoverHoverOutTimer: popoverHoverOutTimer, triggerHoverOutTimer: triggerHoverOutTimer, setPopoverHoverOutTimer: setPopoverHoverOutTimer, setTriggerHoverOutTimer: setTriggerHoverOutTimer });
|
|
7
10
|
};
|
|
8
11
|
exports.useMenuContextValue = useMenuContextValue;
|
|
9
12
|
//# sourceMappingURL=useMenuContextValue.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMenuContextValue.js","sourceRoot":"","sources":["../../src/Menu/useMenuContextValue.ts"],"names":[],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"useMenuContextValue.js","sourceRoot":"","sources":["../../src/Menu/useMenuContextValue.ts"],"names":[],"mappings":";;;;AAAA,6DAA0B;AAInB,IAAM,mBAAmB,GAAG,UAAC,KAAgB;IAC5C,IAAA,KAAkD,eAAK,CAAC,QAAQ,EAA8B,EAA7F,oBAAoB,QAAA,EAAE,uBAAuB,QAAgD,CAAC;IAC/F,IAAA,KAAkD,eAAK,CAAC,QAAQ,EAAkB,EAAjF,oBAAoB,QAAA,EAAE,uBAAuB,QAAoC,CAAC;IACzF,uDAAY,KAAK,KAAE,oBAAoB,sBAAA,EAAE,oBAAoB,sBAAA,EAAE,uBAAuB,yBAAA,EAAE,uBAAuB,yBAAA,IAAG;AACpH,CAAC,CAAC;AAJW,QAAA,mBAAmB,uBAI9B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuPopover.d.ts","sourceRoot":"","sources":["../../src/MenuPopover/MenuPopover.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MenuPopover.d.ts","sourceRoot":"","sources":["../../src/MenuPopover/MenuPopover.tsx"],"names":[],"mappings":"AAOA,eAAO,MAAM,WAAW,uHAatB,CAAC;AAGH,eAAe,WAAW,CAAC"}
|
|
@@ -7,11 +7,14 @@ var framework_1 = require("@fluentui-react-native/framework");
|
|
|
7
7
|
var callout_1 = require("@fluentui-react-native/callout");
|
|
8
8
|
var MenuPopover_types_1 = require("./MenuPopover.types");
|
|
9
9
|
var useMenuPopover_1 = require("./useMenuPopover");
|
|
10
|
+
var react_native_1 = require("react-native");
|
|
10
11
|
exports.MenuPopover = (0, framework_1.stagedComponent)(function (props) {
|
|
11
12
|
var state = (0, useMenuPopover_1.useMenuPopover)(props);
|
|
12
13
|
var theme = (0, framework_1.useFluentTheme)();
|
|
13
|
-
return function (
|
|
14
|
-
|
|
14
|
+
return function (final, children) {
|
|
15
|
+
var mergedProps = (0, framework_1.mergeProps)(state.props, final);
|
|
16
|
+
var content = react_1.default.createElement(react_native_1.View, state.innerView, children);
|
|
17
|
+
return (react_1.default.createElement(callout_1.Callout, (0, tslib_1.__assign)({ borderWidth: 1, borderColor: theme.colors.neutralStrokeAccessible }, mergedProps), content));
|
|
15
18
|
};
|
|
16
19
|
});
|
|
17
20
|
exports.MenuPopover.displayName = MenuPopover_types_1.menuPopoverName;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuPopover.js","sourceRoot":"","sources":["../../src/MenuPopover/MenuPopover.tsx"],"names":[],"mappings":";;;;AAAA,6DAA0B;AAC1B,
|
|
1
|
+
{"version":3,"file":"MenuPopover.js","sourceRoot":"","sources":["../../src/MenuPopover/MenuPopover.tsx"],"names":[],"mappings":";;;;AAAA,6DAA0B;AAC1B,8DAA+F;AAC/F,0DAAyD;AACzD,yDAAwE;AACxE,mDAAkD;AAClD,6CAAoC;AAEvB,QAAA,WAAW,GAAG,IAAA,2BAAe,EAAC,UAAC,KAAuB;IACjE,IAAM,KAAK,GAAG,IAAA,+BAAc,EAAC,KAAK,CAAC,CAAC;IACpC,IAAM,KAAK,GAAG,IAAA,0BAAc,GAAE,CAAC;IAE/B,OAAO,UAAC,KAAuB,EAAE,QAAyB;QACxD,IAAM,WAAW,GAAG,IAAA,sBAAU,EAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACnD,IAAM,OAAO,GAAG,eAAK,CAAC,aAAa,CAAC,mBAAI,EAAE,KAAK,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACrE,OAAO,CACL,8BAAC,iBAAO,0BAAC,WAAW,EAAE,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,uBAAuB,IAAM,WAAW,GACxF,OAAO,CACA,CACX,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AACH,mBAAW,CAAC,WAAW,GAAG,mCAAe,CAAC;AAE1C,kBAAe,mBAAW,CAAC"}
|
|
@@ -1,15 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
3
|
-
import { AccessibilityRole } from 'react-native';
|
|
1
|
+
import { IViewProps } from '@fluentui-react-native/adapters';
|
|
2
|
+
import { ICalloutProps } from '@fluentui-react-native/callout';
|
|
4
3
|
export declare const menuPopoverName = "MenuPopover";
|
|
5
4
|
export declare type MenuPopoverProps = ICalloutProps;
|
|
6
5
|
export interface MenuPopoverState {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
dismissBehaviors: DismissBehaviors[];
|
|
10
|
-
doNotTakePointerCapture: boolean;
|
|
11
|
-
onDismiss: () => void;
|
|
12
|
-
setInitialFocus: boolean;
|
|
13
|
-
triggerRef: React.RefObject<React.Component>;
|
|
6
|
+
props: ICalloutProps;
|
|
7
|
+
innerView: IViewProps;
|
|
14
8
|
}
|
|
15
9
|
//# sourceMappingURL=MenuPopover.types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuPopover.types.d.ts","sourceRoot":"","sources":["../../src/MenuPopover/MenuPopover.types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MenuPopover.types.d.ts","sourceRoot":"","sources":["../../src/MenuPopover/MenuPopover.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAE/D,eAAO,MAAM,eAAe,gBAAgB,CAAC;AAE7C,oBAAY,gBAAgB,GAAG,aAAa,CAAC;AAE7C,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,aAAa,CAAC;IACrB,SAAS,EAAE,UAAU,CAAC;CACvB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMenuPopover.d.ts","sourceRoot":"","sources":["../../src/MenuPopover/useMenuPopover.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"useMenuPopover.d.ts","sourceRoot":"","sources":["../../src/MenuPopover/useMenuPopover.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAKzE,eAAO,MAAM,cAAc,WAAY,gBAAgB,KAAG,gBAuDzD,CAAC"}
|
|
@@ -5,21 +5,48 @@ var tslib_1 = require("tslib");
|
|
|
5
5
|
var react_1 = (0, tslib_1.__importDefault)(require("react"));
|
|
6
6
|
var react_native_1 = require("react-native");
|
|
7
7
|
var menuContext_1 = require("../context/menuContext");
|
|
8
|
+
var consts_1 = require("../consts");
|
|
9
|
+
var controlledDismissBehaviors = ['preventDismissOnKeyDown', 'preventDismissOnClickOutside'];
|
|
8
10
|
var useMenuPopover = function (_props) {
|
|
9
11
|
var context = (0, menuContext_1.useMenuContext)();
|
|
10
|
-
var setOpen = context.setOpen;
|
|
11
|
-
var triggerRef = context.triggerRef;
|
|
12
|
+
var setOpen = context.setOpen, triggerRef = context.triggerRef, isControlled = context.isControlled, isSubmenu = context.isSubmenu, openOnHover = context.openOnHover, parentPopoverHoverOutTimer = context.parentPopoverHoverOutTimer, popoverHoverOutTimer = context.popoverHoverOutTimer, setPopoverHoverOutTimer = context.setPopoverHoverOutTimer, triggerHoverOutTimer = context.triggerHoverOutTimer;
|
|
12
13
|
var onDismiss = react_1.default.useCallback(function () { return setOpen(undefined, false /* isOpen */); }, [setOpen]);
|
|
13
|
-
var dismissBehaviors =
|
|
14
|
-
|
|
15
|
-
: undefined;
|
|
16
|
-
var directionalHint = getDirectionalHint(context.isSubmenu, react_native_1.I18nManager.isRTL);
|
|
14
|
+
var dismissBehaviors = isControlled ? controlledDismissBehaviors : undefined;
|
|
15
|
+
var directionalHint = getDirectionalHint(isSubmenu, react_native_1.I18nManager.isRTL);
|
|
17
16
|
// Initial focus behavior differs per platform, Windows platforms move focus
|
|
18
17
|
// automatically onto first element of Callout
|
|
19
18
|
var setInitialFocus = react_native_1.Platform.OS === 'win32' || react_native_1.Platform.OS === 'windows';
|
|
20
|
-
var doNotTakePointerCapture =
|
|
19
|
+
var doNotTakePointerCapture = openOnHover;
|
|
21
20
|
var accessibilityRole = 'menu';
|
|
22
|
-
|
|
21
|
+
var onMouseEnter = react_1.default.useCallback(function () {
|
|
22
|
+
clearTimeout(triggerHoverOutTimer);
|
|
23
|
+
clearTimeout(popoverHoverOutTimer);
|
|
24
|
+
clearTimeout(parentPopoverHoverOutTimer);
|
|
25
|
+
}, [parentPopoverHoverOutTimer, popoverHoverOutTimer, triggerHoverOutTimer]);
|
|
26
|
+
var onMouseLeave = react_1.default.useCallback(function () {
|
|
27
|
+
if (!openOnHover) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
var timer = setTimeout(function () {
|
|
31
|
+
setOpen(undefined, false /* isOpen */);
|
|
32
|
+
}, 500);
|
|
33
|
+
setPopoverHoverOutTimer(timer);
|
|
34
|
+
}, [openOnHover, setOpen, setPopoverHoverOutTimer]);
|
|
35
|
+
return {
|
|
36
|
+
props: {
|
|
37
|
+
accessibilityRole: accessibilityRole,
|
|
38
|
+
target: triggerRef,
|
|
39
|
+
onDismiss: onDismiss,
|
|
40
|
+
directionalHint: directionalHint,
|
|
41
|
+
dismissBehaviors: dismissBehaviors,
|
|
42
|
+
doNotTakePointerCapture: doNotTakePointerCapture,
|
|
43
|
+
setInitialFocus: setInitialFocus,
|
|
44
|
+
},
|
|
45
|
+
innerView: {
|
|
46
|
+
onMouseEnter: onMouseEnter,
|
|
47
|
+
onMouseLeave: consts_1.isCloseOnHoverOutEnabled && onMouseLeave,
|
|
48
|
+
},
|
|
49
|
+
};
|
|
23
50
|
};
|
|
24
51
|
exports.useMenuPopover = useMenuPopover;
|
|
25
52
|
var getDirectionalHint = function (isSubmenu, isRtl) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMenuPopover.js","sourceRoot":"","sources":["../../src/MenuPopover/useMenuPopover.ts"],"names":[],"mappings":";;;;AAAA,6DAA0B;AAC1B,6CAAqD;AAErD,sDAAwD;
|
|
1
|
+
{"version":3,"file":"useMenuPopover.js","sourceRoot":"","sources":["../../src/MenuPopover/useMenuPopover.ts"],"names":[],"mappings":";;;;AAAA,6DAA0B;AAC1B,6CAAqD;AAErD,sDAAwD;AAExD,oCAAqD;AAErD,IAAM,0BAA0B,GAAG,CAAC,yBAAyB,EAAE,8BAA8B,CAAuB,CAAC;AAE9G,IAAM,cAAc,GAAG,UAAC,MAAwB;IACrD,IAAM,OAAO,GAAG,IAAA,4BAAc,GAAE,CAAC;IAE/B,IAAA,OAAO,GASL,OAAO,QATF,EACP,UAAU,GAQR,OAAO,WARC,EACV,YAAY,GAOV,OAAO,aAPG,EACZ,SAAS,GAMP,OAAO,UANA,EACT,WAAW,GAKT,OAAO,YALE,EACX,0BAA0B,GAIxB,OAAO,2BAJiB,EAC1B,oBAAoB,GAGlB,OAAO,qBAHW,EACpB,uBAAuB,GAErB,OAAO,wBAFc,EACvB,oBAAoB,GAClB,OAAO,qBADW,CACV;IAEZ,IAAM,SAAS,GAAG,eAAK,CAAC,WAAW,CAAC,cAAM,OAAA,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,YAAY,CAAC,EAAtC,CAAsC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7F,IAAM,gBAAgB,GAAG,YAAY,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/E,IAAM,eAAe,GAAG,kBAAkB,CAAC,SAAS,EAAE,0BAAW,CAAC,KAAK,CAAC,CAAC;IAEzE,4EAA4E;IAC5E,8CAA8C;IAC9C,IAAM,eAAe,GAAG,uBAAQ,CAAC,EAAE,KAAM,OAAe,IAAI,uBAAQ,CAAC,EAAE,KAAK,SAAS,CAAC;IACtF,IAAM,uBAAuB,GAAG,WAAW,CAAC;IAC5C,IAAM,iBAAiB,GAAG,MAAM,CAAC;IAEjC,IAAM,YAAY,GAAG,eAAK,CAAC,WAAW,CAAC;QACrC,YAAY,CAAC,oBAAoB,CAAC,CAAC;QACnC,YAAY,CAAC,oBAAoB,CAAC,CAAC;QACnC,YAAY,CAAC,0BAA0B,CAAC,CAAC;IAC3C,CAAC,EAAE,CAAC,0BAA0B,EAAE,oBAAoB,EAAE,oBAAoB,CAAC,CAAC,CAAC;IAC7E,IAAM,YAAY,GAAG,eAAK,CAAC,WAAW,CAAC;QACrC,IAAI,CAAC,WAAW,EAAE;YAChB,OAAO;SACR;QAED,IAAM,KAAK,GAAG,UAAU,CAAC;YACvB,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;QACzC,CAAC,EAAE,GAAG,CAAC,CAAC;QACR,uBAAuB,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,EAAE,uBAAuB,CAAC,CAAC,CAAC;IAEpD,OAAO;QACL,KAAK,EAAE;YACL,iBAAiB,mBAAA;YACjB,MAAM,EAAE,UAAU;YAClB,SAAS,WAAA;YACT,eAAe,iBAAA;YACf,gBAAgB,kBAAA;YAChB,uBAAuB,yBAAA;YACvB,eAAe,iBAAA;SAChB;QACD,SAAS,EAAE;YACT,YAAY,cAAA;YACZ,YAAY,EAAE,iCAAwB,IAAI,YAAY;SACvD;KACF,CAAC;AACJ,CAAC,CAAC;AAvDW,QAAA,cAAc,kBAuDzB;AAEF,IAAM,kBAAkB,GAAG,UAAC,SAAkB,EAAE,KAAc;IAC5D,IAAI,CAAC,SAAS,EAAE;QACd,OAAO,SAAS,CAAC;KAClB;IAED,IAAI,KAAK,EAAE;QACT,OAAO,aAAa,CAAC;KACtB;IAED,OAAO,cAAc,CAAC;AACxB,CAAC,CAAC"}
|
|
@@ -20,28 +20,28 @@ exports.MenuTrigger = (0, framework_1.stagedComponent)(function (props) {
|
|
|
20
20
|
// child component which may affect accessibility, we need to modify the
|
|
21
21
|
// state in the inner render so we can access the child component and its props.
|
|
22
22
|
var child = childrenArray[0];
|
|
23
|
-
var
|
|
24
|
-
var revised = react_1.default.cloneElement(child,
|
|
23
|
+
var revisedProps = getRevisedState(menuTrigger, child.props);
|
|
24
|
+
var revised = react_1.default.cloneElement(child, revisedProps);
|
|
25
25
|
return react_1.default.createElement(menuTriggerContext_1.MenuTriggerProvider, { value: menuTrigger.hasSubmenu }, revised);
|
|
26
26
|
};
|
|
27
27
|
});
|
|
28
28
|
exports.MenuTrigger.displayName = MenuTrigger_types_1.menuTriggerName;
|
|
29
29
|
var getRevisedState = (0, framework_1.memoize)(getRevisedStateWorker);
|
|
30
30
|
function getRevisedStateWorker(state, props) {
|
|
31
|
-
var
|
|
31
|
+
var revisedProps = state.props;
|
|
32
32
|
if (props.accessibilityState) {
|
|
33
|
-
|
|
33
|
+
revisedProps.accessibilityState = (0, tslib_1.__assign)((0, tslib_1.__assign)({}, revisedProps.accessibilityState), props.accessibilityState);
|
|
34
34
|
}
|
|
35
35
|
if (props.accessibilityActions) {
|
|
36
|
-
|
|
36
|
+
revisedProps.accessibilityActions = (0, tslib_1.__assign)((0, tslib_1.__assign)({}, revisedProps.accessibilityActions), props.accessibilityActions);
|
|
37
37
|
}
|
|
38
38
|
if (props.onAccessibilityAction) {
|
|
39
|
-
|
|
40
|
-
|
|
39
|
+
revisedProps.onAccessibilityAction = function (e) {
|
|
40
|
+
revisedProps.onAccessibilityAction(e);
|
|
41
41
|
props.onAccessibilityAction(e);
|
|
42
42
|
};
|
|
43
43
|
}
|
|
44
|
-
return
|
|
44
|
+
return revisedProps;
|
|
45
45
|
}
|
|
46
46
|
exports.default = exports.MenuTrigger;
|
|
47
47
|
//# sourceMappingURL=MenuTrigger.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuTrigger.js","sourceRoot":"","sources":["../../src/MenuTrigger/MenuTrigger.tsx"],"names":[],"mappings":";;;;AAAA,6DAA0B;AAC1B,8DAA4E;AAC5E,yDAA0F;AAC1F,mDAAkD;AAElD,oEAAoE;AAEvD,QAAA,WAAW,GAAG,IAAA,2BAAe,EAAC,UAAC,KAAuB;IACjE,IAAM,WAAW,GAAG,IAAA,+BAAc,EAAC,KAAK,CAAC,CAAC;IAE1C,OAAO,UAAC,KAAuB,EAAE,QAAyB;QACxD,IAAM,aAAa,GAAG,eAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAyB,CAAC;QAE/E,IAAI,OAAO,EAAE;YACX,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC9B,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;aACzD;SACF;QAED,8EAA8E;QAC9E,wEAAwE;QACxE,gFAAgF;QAChF,IAAM,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAM,YAAY,GAAG,eAAe,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QAC/D,IAAM,OAAO,GAAG,eAAK,CAAC,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QAExD,OAAO,8BAAC,wCAAmB,IAAC,KAAK,EAAE,WAAW,CAAC,UAAU,IAAG,OAAO,CAAuB,CAAC;IAC7F,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AACH,mBAAW,CAAC,WAAW,GAAG,mCAAe,CAAC;AAE1C,IAAM,eAAe,GAAG,IAAA,mBAAO,EAAC,qBAAqB,CAAC,CAAC;AACvD,SAAS,qBAAqB,CAAC,KAAuB,EAAE,KAAU;IAChE,IAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"MenuTrigger.js","sourceRoot":"","sources":["../../src/MenuTrigger/MenuTrigger.tsx"],"names":[],"mappings":";;;;AAAA,6DAA0B;AAC1B,8DAA4E;AAC5E,yDAA0F;AAC1F,mDAAkD;AAElD,oEAAoE;AAEvD,QAAA,WAAW,GAAG,IAAA,2BAAe,EAAC,UAAC,KAAuB;IACjE,IAAM,WAAW,GAAG,IAAA,+BAAc,EAAC,KAAK,CAAC,CAAC;IAE1C,OAAO,UAAC,KAAuB,EAAE,QAAyB;QACxD,IAAM,aAAa,GAAG,eAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAyB,CAAC;QAE/E,IAAI,OAAO,EAAE;YACX,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC9B,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;aACzD;SACF;QAED,8EAA8E;QAC9E,wEAAwE;QACxE,gFAAgF;QAChF,IAAM,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAM,YAAY,GAAG,eAAe,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QAC/D,IAAM,OAAO,GAAG,eAAK,CAAC,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QAExD,OAAO,8BAAC,wCAAmB,IAAC,KAAK,EAAE,WAAW,CAAC,UAAU,IAAG,OAAO,CAAuB,CAAC;IAC7F,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AACH,mBAAW,CAAC,WAAW,GAAG,mCAAe,CAAC;AAE1C,IAAM,eAAe,GAAG,IAAA,mBAAO,EAAC,qBAAqB,CAAC,CAAC;AACvD,SAAS,qBAAqB,CAAC,KAAuB,EAAE,KAAU;IAChE,IAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC;IACjC,IAAI,KAAK,CAAC,kBAAkB,EAAE;QAC5B,YAAY,CAAC,kBAAkB,mDAAQ,YAAY,CAAC,kBAAkB,GAAK,KAAK,CAAC,kBAAkB,CAAE,CAAC;KACvG;IAED,IAAI,KAAK,CAAC,oBAAoB,EAAE;QAC9B,YAAY,CAAC,oBAAoB,mDAAQ,YAAY,CAAC,oBAAoB,GAAK,KAAK,CAAC,oBAAoB,CAAE,CAAC;KAC7G;IAED,IAAI,KAAK,CAAC,qBAAqB,EAAE;QAC/B,YAAY,CAAC,qBAAqB,GAAG,UAAC,CAA2B;YAC/D,YAAY,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACtC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACjC,CAAC,CAAC;KACH;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,kBAAe,mBAAW,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMenuTrigger.d.ts","sourceRoot":"","sources":["../../src/MenuTrigger/useMenuTrigger.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"useMenuTrigger.d.ts","sourceRoot":"","sources":["../../src/MenuTrigger/useMenuTrigger.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAUzE,eAAO,MAAM,cAAc,WAAY,gBAAgB,KAAG,gBAmEzD,CAAC"}
|
|
@@ -5,14 +5,14 @@ var tslib_1 = require("tslib");
|
|
|
5
5
|
var menuContext_1 = require("../context/menuContext");
|
|
6
6
|
var react_native_1 = require("react-native");
|
|
7
7
|
var react_1 = (0, tslib_1.__importDefault)(require("react"));
|
|
8
|
+
var consts_1 = require("../consts");
|
|
8
9
|
var accessibilityActions = react_native_1.Platform.OS === 'win32' ? [{ name: 'Expand' }, { name: 'Collapse' }] : [];
|
|
10
|
+
var expandedState = { expanded: true };
|
|
11
|
+
var collapsedState = { expanded: false };
|
|
9
12
|
var useMenuTrigger = function (_props) {
|
|
10
13
|
var context = (0, menuContext_1.useMenuContext)();
|
|
11
|
-
var setOpen = context.setOpen;
|
|
12
|
-
var
|
|
13
|
-
var openOnHover = context.openOnHover;
|
|
14
|
-
var triggerRef = context.triggerRef;
|
|
15
|
-
var accessibilityState = context.open ? { expanded: true } : { expanded: false };
|
|
14
|
+
var open = context.open, openOnHover = context.openOnHover, popoverHoverOutTimer = context.popoverHoverOutTimer, setOpen = context.setOpen, setTriggerHoverOutTimer = context.setTriggerHoverOutTimer, triggerHoverOutTimer = context.triggerHoverOutTimer, triggerRef = context.triggerRef;
|
|
15
|
+
var accessibilityState = open ? expandedState : collapsedState;
|
|
16
16
|
var onAccessibilityAction = react_1.default.useCallback(function (e) {
|
|
17
17
|
if (react_native_1.Platform.OS === 'win32') {
|
|
18
18
|
switch (e.nativeEvent.actionName) {
|
|
@@ -25,31 +25,32 @@ var useMenuTrigger = function (_props) {
|
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
27
|
}, [setOpen]);
|
|
28
|
-
var
|
|
29
|
-
macos: 100,
|
|
30
|
-
default: 500, // win32
|
|
31
|
-
});
|
|
32
|
-
var onHoverIn = function (e) {
|
|
28
|
+
var onHoverIn = react_1.default.useCallback(function (e) {
|
|
33
29
|
if (openOnHover) {
|
|
34
|
-
|
|
30
|
+
clearTimeout(popoverHoverOutTimer);
|
|
31
|
+
clearTimeout(triggerHoverOutTimer);
|
|
32
|
+
setTimeout(function () {
|
|
33
|
+
setOpen(e, true /* isOpen */);
|
|
34
|
+
}, consts_1.delayHover);
|
|
35
35
|
}
|
|
36
|
-
};
|
|
37
|
-
var onHoverOut = function (e) {
|
|
36
|
+
}, [openOnHover, setOpen, triggerHoverOutTimer, popoverHoverOutTimer]);
|
|
37
|
+
var onHoverOut = react_1.default.useCallback(function (e) {
|
|
38
38
|
if (openOnHover) {
|
|
39
|
-
|
|
39
|
+
var timer = setTimeout(function () {
|
|
40
|
+
setOpen(e, false /* isOpen */);
|
|
41
|
+
}, consts_1.delayHover);
|
|
42
|
+
setTriggerHoverOutTimer(timer);
|
|
40
43
|
}
|
|
41
|
-
};
|
|
42
|
-
var onClick = function (e) {
|
|
44
|
+
}, [openOnHover, setOpen, setTriggerHoverOutTimer]);
|
|
45
|
+
var onClick = react_1.default.useCallback(function (e) {
|
|
43
46
|
setOpen(e, !open);
|
|
44
|
-
};
|
|
47
|
+
}, [open, setOpen]);
|
|
45
48
|
return {
|
|
46
49
|
props: {
|
|
47
50
|
onClick: onClick,
|
|
48
51
|
onHoverIn: onHoverIn,
|
|
49
|
-
onHoverOut:
|
|
52
|
+
onHoverOut: consts_1.isCloseOnHoverOutEnabled && onHoverOut,
|
|
50
53
|
componentRef: triggerRef,
|
|
51
|
-
delayHoverIn: delayHover,
|
|
52
|
-
delayHoverOut: react_native_1.Platform.OS === 'win32' && delayHover,
|
|
53
54
|
accessibilityState: accessibilityState,
|
|
54
55
|
accessibilityActions: accessibilityActions,
|
|
55
56
|
onAccessibilityAction: onAccessibilityAction,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMenuTrigger.js","sourceRoot":"","sources":["../../src/MenuTrigger/useMenuTrigger.ts"],"names":[],"mappings":";;;;AAAA,sDAAwD;AAGxD,6CAA2F;AAC3F,6DAA0B;
|
|
1
|
+
{"version":3,"file":"useMenuTrigger.js","sourceRoot":"","sources":["../../src/MenuTrigger/useMenuTrigger.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Menu.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/Menu.test.tsx"],"names":[],"mappings":""}
|