@fluentui-react-native/menu 0.13.1 → 0.14.2

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.
Files changed (53) hide show
  1. package/CHANGELOG.json +58 -1
  2. package/CHANGELOG.md +28 -2
  3. package/SPEC.md +345 -0
  4. package/jest.config.js +2 -0
  5. package/lib/Menu/useMenu.js +1 -1
  6. package/lib/Menu/useMenu.js.map +1 -1
  7. package/lib/MenuList/MenuList.types.d.ts.map +1 -1
  8. package/lib/MenuPopover/useMenuPopover.d.ts.map +1 -1
  9. package/lib/MenuPopover/useMenuPopover.js +2 -1
  10. package/lib/MenuPopover/useMenuPopover.js.map +1 -1
  11. package/lib/MenuTrigger/MenuTrigger.d.ts +2 -2
  12. package/lib/MenuTrigger/MenuTrigger.d.ts.map +1 -1
  13. package/lib/MenuTrigger/MenuTrigger.js +9 -9
  14. package/lib/MenuTrigger/MenuTrigger.js.map +1 -1
  15. package/lib/MenuTrigger/MenuTrigger.types.d.ts +2 -2
  16. package/lib/MenuTrigger/MenuTrigger.types.d.ts.map +1 -1
  17. package/lib/MenuTrigger/useMenuTrigger.d.ts +2 -2
  18. package/lib/MenuTrigger/useMenuTrigger.d.ts.map +1 -1
  19. package/lib/MenuTrigger/useMenuTrigger.js +4 -2
  20. package/lib/MenuTrigger/useMenuTrigger.js.map +1 -1
  21. package/lib/__tests__/Menu.test.d.ts +2 -0
  22. package/lib/__tests__/Menu.test.d.ts.map +1 -0
  23. package/lib/__tests__/Menu.test.js +145 -0
  24. package/lib/__tests__/Menu.test.js.map +1 -0
  25. package/lib-commonjs/Menu/useMenu.js +1 -1
  26. package/lib-commonjs/Menu/useMenu.js.map +1 -1
  27. package/lib-commonjs/MenuList/MenuList.types.d.ts.map +1 -1
  28. package/lib-commonjs/MenuPopover/useMenuPopover.d.ts.map +1 -1
  29. package/lib-commonjs/MenuPopover/useMenuPopover.js +2 -1
  30. package/lib-commonjs/MenuPopover/useMenuPopover.js.map +1 -1
  31. package/lib-commonjs/MenuTrigger/MenuTrigger.d.ts +2 -2
  32. package/lib-commonjs/MenuTrigger/MenuTrigger.d.ts.map +1 -1
  33. package/lib-commonjs/MenuTrigger/MenuTrigger.js +9 -9
  34. package/lib-commonjs/MenuTrigger/MenuTrigger.js.map +1 -1
  35. package/lib-commonjs/MenuTrigger/MenuTrigger.types.d.ts +2 -2
  36. package/lib-commonjs/MenuTrigger/MenuTrigger.types.d.ts.map +1 -1
  37. package/lib-commonjs/MenuTrigger/useMenuTrigger.d.ts +2 -2
  38. package/lib-commonjs/MenuTrigger/useMenuTrigger.d.ts.map +1 -1
  39. package/lib-commonjs/MenuTrigger/useMenuTrigger.js +4 -2
  40. package/lib-commonjs/MenuTrigger/useMenuTrigger.js.map +1 -1
  41. package/lib-commonjs/__tests__/Menu.test.d.ts +2 -0
  42. package/lib-commonjs/__tests__/Menu.test.d.ts.map +1 -0
  43. package/lib-commonjs/__tests__/Menu.test.js +148 -0
  44. package/lib-commonjs/__tests__/Menu.test.js.map +1 -0
  45. package/package.json +5 -3
  46. package/src/Menu/useMenu.ts +1 -1
  47. package/src/MenuList/MenuList.types.ts +1 -0
  48. package/src/MenuPopover/useMenuPopover.ts +3 -1
  49. package/src/MenuTrigger/MenuTrigger.tsx +11 -11
  50. package/src/MenuTrigger/MenuTrigger.types.ts +2 -2
  51. package/src/MenuTrigger/useMenuTrigger.ts +5 -3
  52. package/src/__tests__/Menu.test.tsx +235 -0
  53. package/src/__tests__/__snapshots__/Menu.test.tsx.snap +2098 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Menu.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/Menu.test.tsx"],"names":[],"mappings":""}
@@ -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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"}
@@ -5,7 +5,7 @@ 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(null);
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';
@@ -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,CAAC,IAAI,CAAC,CAAC;IACtC,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
+ {"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":"MenuList.types.d.ts","sourceRoot":"","sources":["../../src/MenuList/MenuList.types.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAErF,eAAO,MAAM,YAAY,aAAa,CAAC;AAEvC,MAAM,WAAW,cAAe,SAAQ,YAAY,EAAE,sBAAsB;IAC1E,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;CACnF;AAED,MAAM,WAAW,aAAc,SAAQ,aAAa;IAClD,mBAAmB,EAAE,OAAO,CAAC;IAC7B,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;CAC/E;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG;QAAE,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACzD;AACD,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,EAAE,iBAAiB,CAAC;CAC9B"}
1
+ {"version":3,"file":"MenuList.types.d.ts","sourceRoot":"","sources":["../../src/MenuList/MenuList.types.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAErF,eAAO,MAAM,YAAY,aAAa,CAAC;AAEvC,MAAM,WAAW,cAAe,SAAQ,YAAY,EAAE,sBAAsB;IAC1E,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;CACnF;AAED,MAAM,WAAW,aAAc,SAAQ,aAAa;IAClD,mBAAmB,EAAE,OAAO,CAAC;IAC7B,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;CAC/E;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG;QAAE,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACzD;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,EAAE,iBAAiB,CAAC;CAC9B"}
@@ -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;AAGzE,eAAO,MAAM,cAAc,WAAY,gBAAgB,KAAG,gBAuDzD,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"}
@@ -6,11 +6,12 @@ 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
8
  var consts_1 = require("../consts");
9
+ var controlledDismissBehaviors = ['preventDismissOnKeyDown', 'preventDismissOnClickOutside'];
9
10
  var useMenuPopover = function (_props) {
10
11
  var context = (0, menuContext_1.useMenuContext)();
11
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 = isControlled ? ['preventDismissOnKeyDown', 'preventDismissOnClickOutside'] : undefined;
14
+ var dismissBehaviors = isControlled ? controlledDismissBehaviors : undefined;
14
15
  var directionalHint = getDirectionalHint(isSubmenu, react_native_1.I18nManager.isRTL);
15
16
  // Initial focus behavior differs per platform, Windows platforms move focus
16
17
  // automatically onto first element of Callout
@@ -1 +1 @@
1
- {"version":3,"file":"useMenuPopover.js","sourceRoot":"","sources":["../../src/MenuPopover/useMenuPopover.ts"],"names":[],"mappings":";;;;AAAA,6DAA0B;AAC1B,6CAAqD;AAErD,sDAAwD;AAExD,oCAAqD;AAE9C,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,CAAE,CAAC,yBAAyB,EAAE,8BAA8B,CAAwB,CAAC,CAAC,CAAC,SAAS,CAAC;IACxI,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"}
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"}
@@ -1,4 +1,4 @@
1
- import { MenuTriggerProps } from './MenuTrigger.types';
2
- export declare const MenuTrigger: import("@fluentui-react-native/framework").ComposableFunction<MenuTriggerProps>;
1
+ import React from 'react';
2
+ export declare const MenuTrigger: import("@fluentui-react-native/framework").ComposableFunction<React.PropsWithChildren<Record<never, any>>>;
3
3
  export default MenuTrigger;
4
4
  //# sourceMappingURL=MenuTrigger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MenuTrigger.d.ts","sourceRoot":"","sources":["../../src/MenuTrigger/MenuTrigger.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAmB,gBAAgB,EAAoB,MAAM,qBAAqB,CAAC;AAK1F,eAAO,MAAM,WAAW,iFAqBtB,CAAC;AAwBH,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"MenuTrigger.d.ts","sourceRoot":"","sources":["../../src/MenuTrigger/MenuTrigger.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,eAAO,MAAM,WAAW,4GAqBtB,CAAC;AAwBH,eAAe,WAAW,CAAC"}
@@ -7,8 +7,8 @@ var framework_1 = require("@fluentui-react-native/framework");
7
7
  var MenuTrigger_types_1 = require("./MenuTrigger.types");
8
8
  var useMenuTrigger_1 = require("./useMenuTrigger");
9
9
  var menuTriggerContext_1 = require("../context/menuTriggerContext");
10
- exports.MenuTrigger = (0, framework_1.stagedComponent)(function (props) {
11
- var menuTrigger = (0, useMenuTrigger_1.useMenuTrigger)(props);
10
+ exports.MenuTrigger = (0, framework_1.stagedComponent)(function (_props) {
11
+ var menuTrigger = (0, useMenuTrigger_1.useMenuTrigger)();
12
12
  return function (_rest, children) {
13
13
  var childrenArray = react_1.default.Children.toArray(children);
14
14
  if (__DEV__) {
@@ -20,24 +20,24 @@ 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 revisedProps = getRevisedState(menuTrigger, child.props);
23
+ var revisedProps = getRevisedProps(menuTrigger, child.props);
24
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
- var getRevisedState = (0, framework_1.memoize)(getRevisedStateWorker);
30
- function getRevisedStateWorker(state, props) {
31
- var revisedProps = (0, tslib_1.__assign)({}, state.props);
29
+ var getRevisedProps = (0, framework_1.memoize)(getRevisedPropsWorker);
30
+ function getRevisedPropsWorker(state, props) {
31
+ var revisedProps = state.props;
32
32
  if (props.accessibilityState) {
33
- revisedProps.accessibilityState = (0, tslib_1.__assign)((0, tslib_1.__assign)({}, state.props.accessibilityState), props.accessibilityState);
33
+ revisedProps.accessibilityState = (0, tslib_1.__assign)((0, tslib_1.__assign)({}, revisedProps.accessibilityState), props.accessibilityState);
34
34
  }
35
35
  if (props.accessibilityActions) {
36
- revisedProps.accessibilityActions = (0, tslib_1.__assign)((0, tslib_1.__assign)({}, state.props.accessibilityActions), props.accessibilityActions);
36
+ revisedProps.accessibilityActions = (0, tslib_1.__assign)((0, tslib_1.__assign)({}, revisedProps.accessibilityActions), props.accessibilityActions);
37
37
  }
38
38
  if (props.onAccessibilityAction) {
39
39
  revisedProps.onAccessibilityAction = function (e) {
40
- state.props.onAccessibilityAction(e);
40
+ revisedProps.onAccessibilityAction(e);
41
41
  props.onAccessibilityAction(e);
42
42
  };
43
43
  }
@@ -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,6BAAQ,KAAK,CAAC,KAAK,CAAE,CAAC;IACxC,IAAI,KAAK,CAAC,kBAAkB,EAAE;QAC5B,YAAY,CAAC,kBAAkB,mDAAQ,KAAK,CAAC,KAAK,CAAC,kBAAkB,GAAK,KAAK,CAAC,kBAAkB,CAAE,CAAC;KACtG;IAED,IAAI,KAAK,CAAC,oBAAoB,EAAE;QAC9B,YAAY,CAAC,oBAAoB,mDAAQ,KAAK,CAAC,KAAK,CAAC,oBAAoB,GAAK,KAAK,CAAC,oBAAoB,CAAE,CAAC;KAC5G;IAED,IAAI,KAAK,CAAC,qBAAqB,EAAE;QAC/B,YAAY,CAAC,qBAAqB,GAAG,UAAC,CAA2B;YAC/D,KAAK,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YACrC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACjC,CAAC,CAAC;KACH;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,kBAAe,mBAAW,CAAC"}
1
+ {"version":3,"file":"MenuTrigger.js","sourceRoot":"","sources":["../../src/MenuTrigger/MenuTrigger.tsx"],"names":[],"mappings":";;;;AAAA,6DAA0B;AAC1B,8DAA4E;AAC5E,yDAA+F;AAC/F,mDAAkD;AAElD,oEAAoE;AAEvD,QAAA,WAAW,GAAG,IAAA,2BAAe,EAAC,UAAC,MAAmD;IAC7F,IAAM,WAAW,GAAG,IAAA,+BAAc,GAAE,CAAC;IAErC,OAAO,UAAC,KAAkD,EAAE,QAAyB;QACnF,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"}
@@ -2,7 +2,7 @@
2
2
  import { InteractionEvent, IWithPressableOptions } from '@fluentui-react-native/interactive-hooks';
3
3
  import { ViewProps } from 'react-native';
4
4
  export declare const menuTriggerName = "MenuTrigger";
5
- export interface MenuTriggerProps extends Omit<IWithPressableOptions<ViewProps>, 'onPress'> {
5
+ export interface MenuTriggerChildProps extends Omit<IWithPressableOptions<ViewProps>, 'onPress'> {
6
6
  /**
7
7
  * A RefObject to refer to the trigger component.
8
8
  */
@@ -13,7 +13,7 @@ export interface MenuTriggerProps extends Omit<IWithPressableOptions<ViewProps>,
13
13
  onClick?: (e: InteractionEvent) => void;
14
14
  }
15
15
  export interface MenuTriggerState {
16
- props: MenuTriggerProps;
16
+ props: MenuTriggerChildProps;
17
17
  hasSubmenu: boolean;
18
18
  }
19
19
  //# sourceMappingURL=MenuTrigger.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MenuTrigger.types.d.ts","sourceRoot":"","sources":["../../src/MenuTrigger/MenuTrigger.types.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACnG,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,eAAO,MAAM,eAAe,gBAAgB,CAAC;AAE7C,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IACzF;;OAEG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAEhD;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,gBAAgB,KAAK,IAAI,CAAC;CACzC;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,gBAAgB,CAAC;IACxB,UAAU,EAAE,OAAO,CAAC;CACrB"}
1
+ {"version":3,"file":"MenuTrigger.types.d.ts","sourceRoot":"","sources":["../../src/MenuTrigger/MenuTrigger.types.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACnG,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,eAAO,MAAM,eAAe,gBAAgB,CAAC;AAE7C,MAAM,WAAW,qBAAsB,SAAQ,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAC9F;;OAEG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAEhD;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,gBAAgB,KAAK,IAAI,CAAC;CACzC;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,qBAAqB,CAAC;IAC7B,UAAU,EAAE,OAAO,CAAC;CACrB"}
@@ -1,3 +1,3 @@
1
- import { MenuTriggerProps, MenuTriggerState } from './MenuTrigger.types';
2
- export declare const useMenuTrigger: (_props: MenuTriggerProps) => MenuTriggerState;
1
+ import { MenuTriggerState } from './MenuTrigger.types';
2
+ export declare const useMenuTrigger: () => MenuTriggerState;
3
3
  //# sourceMappingURL=useMenuTrigger.d.ts.map
@@ -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;AAQzE,eAAO,MAAM,cAAc,WAAY,gBAAgB,KAAG,gBAmEzD,CAAC"}
1
+ {"version":3,"file":"useMenuTrigger.d.ts","sourceRoot":"","sources":["../../src/MenuTrigger/useMenuTrigger.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAUvD,eAAO,MAAM,cAAc,QAAO,gBAmEjC,CAAC"}
@@ -7,10 +7,12 @@ var react_native_1 = require("react-native");
7
7
  var react_1 = (0, tslib_1.__importDefault)(require("react"));
8
8
  var consts_1 = require("../consts");
9
9
  var accessibilityActions = react_native_1.Platform.OS === 'win32' ? [{ name: 'Expand' }, { name: 'Collapse' }] : [];
10
- var useMenuTrigger = function (_props) {
10
+ var expandedState = { expanded: true };
11
+ var collapsedState = { expanded: false };
12
+ var useMenuTrigger = function () {
11
13
  var context = (0, menuContext_1.useMenuContext)();
12
14
  var open = context.open, openOnHover = context.openOnHover, popoverHoverOutTimer = context.popoverHoverOutTimer, setOpen = context.setOpen, setTriggerHoverOutTimer = context.setTriggerHoverOutTimer, triggerHoverOutTimer = context.triggerHoverOutTimer, triggerRef = context.triggerRef;
13
- var accessibilityState = open ? { expanded: true } : { expanded: false };
15
+ var accessibilityState = open ? expandedState : collapsedState;
14
16
  var onAccessibilityAction = react_1.default.useCallback(function (e) {
15
17
  if (react_native_1.Platform.OS === 'win32') {
16
18
  switch (e.nativeEvent.actionName) {
@@ -1 +1 @@
1
- {"version":3,"file":"useMenuTrigger.js","sourceRoot":"","sources":["../../src/MenuTrigger/useMenuTrigger.ts"],"names":[],"mappings":";;;;AAAA,sDAAwD;AAGxD,6CAA2F;AAC3F,6DAA0B;AAC1B,oCAAiE;AAEjE,IAAM,oBAAoB,GACxB,uBAAQ,CAAC,EAAE,KAAM,OAAe,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAmC,EAAE,EAAE,EAAE,IAAI,EAAE,UAAqC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAEpI,IAAM,cAAc,GAAG,UAAC,MAAwB;IACrD,IAAM,OAAO,GAAG,IAAA,4BAAc,GAAE,CAAC;IACzB,IAAA,IAAI,GAA4G,OAAO,KAAnH,EAAE,WAAW,GAA+F,OAAO,YAAtG,EAAE,oBAAoB,GAAyE,OAAO,qBAAhF,EAAE,OAAO,GAAgE,OAAO,QAAvE,EAAE,uBAAuB,GAAuC,OAAO,wBAA9C,EAAE,oBAAoB,GAAiB,OAAO,qBAAxB,EAAE,UAAU,GAAK,OAAO,WAAZ,CAAa;IAEhI,IAAM,kBAAkB,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAE3E,IAAM,qBAAqB,GAAG,eAAK,CAAC,WAAW,CAC7C,UAAC,CAA2B;QAC1B,IAAI,uBAAQ,CAAC,EAAE,KAAM,OAAe,EAAE;YACpC,QAAQ,CAAC,CAAC,WAAW,CAAC,UAAU,EAAE;gBAChC,KAAK,QAAQ;oBACX,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;oBAC9B,MAAM;gBAER,KAAK,UAAU;oBACb,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;oBAC/B,MAAM;aACT;SACF;IACH,CAAC,EACD,CAAC,OAAO,CAAC,CACV,CAAC;IAEF,IAAM,SAAS,GAAG,eAAK,CAAC,WAAW,CACjC,UAAC,CAAmB;QAClB,IAAI,WAAW,EAAE;YACf,YAAY,CAAC,oBAAoB,CAAC,CAAC;YACnC,YAAY,CAAC,oBAAoB,CAAC,CAAC;YACnC,UAAU,CAAC;gBACT,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAChC,CAAC,EAAE,mBAAU,CAAC,CAAC;SAChB;IACH,CAAC,EACD,CAAC,WAAW,EAAE,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,CAAC,CACnE,CAAC;IAEF,IAAM,UAAU,GAAG,eAAK,CAAC,WAAW,CAClC,UAAC,CAAmB;QAClB,IAAI,WAAW,EAAE;YACf,IAAM,KAAK,GAAG,UAAU,CAAC;gBACvB,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;YACjC,CAAC,EAAE,mBAAU,CAAC,CAAC;YACf,uBAAuB,CAAC,KAAK,CAAC,CAAC;SAChC;IACH,CAAC,EACD,CAAC,WAAW,EAAE,OAAO,EAAE,uBAAuB,CAAC,CAChD,CAAC;IAEF,IAAM,OAAO,GAAG,eAAK,CAAC,WAAW,CAC/B,UAAC,CAAmB;QAClB,OAAO,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC,EACD,CAAC,IAAI,EAAE,OAAO,CAAC,CAChB,CAAC;IAEF,OAAO;QACL,KAAK,EAAE;YACL,OAAO,SAAA;YACP,SAAS,WAAA;YACT,UAAU,EAAE,iCAAwB,IAAI,UAAU;YAClD,YAAY,EAAE,UAAU;YACxB,kBAAkB,oBAAA;YAClB,oBAAoB,sBAAA;YACpB,qBAAqB,uBAAA;SACtB;QACD,UAAU,EAAE,OAAO,CAAC,SAAS;KAC9B,CAAC;AACJ,CAAC,CAAC;AAnEW,QAAA,cAAc,kBAmEzB"}
1
+ {"version":3,"file":"useMenuTrigger.js","sourceRoot":"","sources":["../../src/MenuTrigger/useMenuTrigger.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Menu.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Menu.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/Menu.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,148 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var tslib_1 = require("tslib");
4
+ var React = (0, tslib_1.__importStar)(require("react"));
5
+ var renderer = (0, tslib_1.__importStar)(require("react-test-renderer"));
6
+ var Menu_1 = require("../Menu/Menu");
7
+ var test_tools_1 = require("@fluentui-react-native/test-tools");
8
+ var MenuTrigger_1 = (0, tslib_1.__importDefault)(require("../MenuTrigger/MenuTrigger"));
9
+ var button_1 = require("@fluentui-react-native/button");
10
+ var MenuPopover_1 = (0, tslib_1.__importDefault)(require("../MenuPopover/MenuPopover"));
11
+ var MenuList_1 = require("../MenuList/MenuList");
12
+ var MenuItem_1 = require("../MenuItem/MenuItem");
13
+ var MenuItemCheckbox_1 = require("../MenuItemCheckbox/MenuItemCheckbox");
14
+ var MenuDivider_1 = require("../MenuDivider/MenuDivider");
15
+ var MenuItemRadio_1 = require("../MenuItemRadio/MenuItemRadio");
16
+ describe('Checkbox component tests', function () {
17
+ it('Menu default', function () {
18
+ var tree = renderer
19
+ .create(React.createElement(Menu_1.Menu, null,
20
+ React.createElement(MenuTrigger_1.default, null,
21
+ React.createElement(button_1.ButtonV1, null, "Default")),
22
+ React.createElement(MenuPopover_1.default, null,
23
+ React.createElement(MenuList_1.MenuList, null,
24
+ React.createElement(MenuItem_1.MenuItem, { content: "Option 1" })))))
25
+ .toJSON();
26
+ expect(tree).toMatchSnapshot();
27
+ });
28
+ it('Menu open', function () {
29
+ var tree = renderer
30
+ .create(React.createElement(Menu_1.Menu, { open: true },
31
+ React.createElement(MenuTrigger_1.default, null,
32
+ React.createElement(button_1.ButtonV1, null, "Open")),
33
+ React.createElement(MenuPopover_1.default, null,
34
+ React.createElement(MenuList_1.MenuList, null,
35
+ React.createElement(MenuItem_1.MenuItem, { content: "Option 1" })))))
36
+ .toJSON();
37
+ expect(tree).toMatchSnapshot();
38
+ });
39
+ it('Menu defaultOpen', function () {
40
+ var tree = renderer
41
+ .create(React.createElement(Menu_1.Menu, { defaultOpen: true },
42
+ React.createElement(MenuTrigger_1.default, null,
43
+ React.createElement(button_1.ButtonV1, null, "Open")),
44
+ React.createElement(MenuPopover_1.default, null,
45
+ React.createElement(MenuList_1.MenuList, null,
46
+ React.createElement(MenuItem_1.MenuItem, { content: "Option 1" }),
47
+ React.createElement(MenuItem_1.MenuItem, { disabled: true, content: "Option 2" })))))
48
+ .toJSON();
49
+ expect(tree).toMatchSnapshot();
50
+ });
51
+ it('Menu open checkbox and divider', function () {
52
+ var tree = renderer
53
+ .create(React.createElement(Menu_1.Menu, { open: true },
54
+ React.createElement(MenuTrigger_1.default, null,
55
+ React.createElement(button_1.ButtonV1, null, "Open")),
56
+ React.createElement(MenuPopover_1.default, null,
57
+ React.createElement(MenuList_1.MenuList, null,
58
+ React.createElement(MenuItemCheckbox_1.MenuItemCheckbox, { content: "Option 1", name: "Option 1" }),
59
+ React.createElement(MenuDivider_1.MenuDivider, null),
60
+ React.createElement(MenuItemCheckbox_1.MenuItemCheckbox, { disabled: true, content: "Option 2", name: "Option 2" })))))
61
+ .toJSON();
62
+ expect(tree).toMatchSnapshot();
63
+ });
64
+ it('Menu open radio', function () {
65
+ var tree = renderer
66
+ .create(React.createElement(Menu_1.Menu, { open: true },
67
+ React.createElement(MenuTrigger_1.default, null,
68
+ React.createElement(button_1.ButtonV1, null, "Open")),
69
+ React.createElement(MenuPopover_1.default, null,
70
+ React.createElement(MenuList_1.MenuList, null,
71
+ React.createElement(MenuItemRadio_1.MenuItemRadio, { content: "Option 1", name: "Option 1" }),
72
+ React.createElement(MenuItemRadio_1.MenuItemRadio, { content: "Option 2", name: "Option 2" })))))
73
+ .toJSON();
74
+ expect(tree).toMatchSnapshot();
75
+ });
76
+ it('Menu open checkbox defaultChecked', function () {
77
+ var tree = renderer
78
+ .create(React.createElement(Menu_1.Menu, { open: true, defaultChecked: { 'Option 1': true } },
79
+ React.createElement(MenuTrigger_1.default, null,
80
+ React.createElement(button_1.ButtonV1, null, "Open")),
81
+ React.createElement(MenuPopover_1.default, null,
82
+ React.createElement(MenuList_1.MenuList, null,
83
+ React.createElement(MenuItemCheckbox_1.MenuItemCheckbox, { content: "Option 1", name: "Option 1" }),
84
+ React.createElement(MenuDivider_1.MenuDivider, null),
85
+ React.createElement(MenuItemCheckbox_1.MenuItemCheckbox, { content: "Option 2", name: "Option 2" })))))
86
+ .toJSON();
87
+ expect(tree).toMatchSnapshot();
88
+ });
89
+ it('Menu open checkbox checked', function () {
90
+ var tree = renderer
91
+ .create(React.createElement(Menu_1.Menu, { open: true, checked: { 'Option 1': true } },
92
+ React.createElement(MenuTrigger_1.default, null,
93
+ React.createElement(button_1.ButtonV1, null, "Open")),
94
+ React.createElement(MenuPopover_1.default, null,
95
+ React.createElement(MenuList_1.MenuList, null,
96
+ React.createElement(MenuItemCheckbox_1.MenuItemCheckbox, { content: "Option 1", name: "Option 1" }),
97
+ React.createElement(MenuDivider_1.MenuDivider, null),
98
+ React.createElement(MenuItemCheckbox_1.MenuItemCheckbox, { content: "Option 2", name: "Option 2" })))))
99
+ .toJSON();
100
+ expect(tree).toMatchSnapshot();
101
+ });
102
+ it('Menu submenu', function () {
103
+ var tree = renderer
104
+ .create(React.createElement(Menu_1.Menu, { open: true },
105
+ React.createElement(MenuTrigger_1.default, null,
106
+ React.createElement(button_1.ButtonV1, null, "Default")),
107
+ React.createElement(MenuPopover_1.default, null,
108
+ React.createElement(MenuList_1.MenuList, null,
109
+ React.createElement(MenuItem_1.MenuItem, { content: "Option 1" }),
110
+ React.createElement(Menu_1.Menu, null,
111
+ React.createElement(MenuTrigger_1.default, null,
112
+ React.createElement(MenuItem_1.MenuItem, { content: "Option 2" })),
113
+ React.createElement(MenuPopover_1.default, null,
114
+ React.createElement(MenuList_1.MenuList, null,
115
+ React.createElement(MenuItem_1.MenuItem, { content: "Option 1" }))))))))
116
+ .toJSON();
117
+ expect(tree).toMatchSnapshot();
118
+ });
119
+ });
120
+ describe('Menu rerender tests', function () {
121
+ it('Menu re-renders correctly', function () {
122
+ (0, test_tools_1.checkReRender)(function () { return (React.createElement(Menu_1.Menu, { open: true },
123
+ React.createElement(MenuTrigger_1.default, null,
124
+ React.createElement(button_1.ButtonV1, null, "Rerender twice")),
125
+ React.createElement(MenuPopover_1.default, null,
126
+ React.createElement(MenuList_1.MenuList, null,
127
+ React.createElement(MenuItem_1.MenuItem, { content: "Option 1" }))))); }, 3);
128
+ });
129
+ it('Menu re-renders correctly with style', function () {
130
+ var style = { backgroundColor: 'black' };
131
+ (0, test_tools_1.checkReRender)(function () { return (React.createElement(Menu_1.Menu, null,
132
+ React.createElement(MenuTrigger_1.default, null,
133
+ React.createElement(button_1.ButtonV1, { style: style }, "Rerender twice")),
134
+ React.createElement(MenuPopover_1.default, null,
135
+ React.createElement(MenuList_1.MenuList, null,
136
+ React.createElement(MenuItem_1.MenuItem, { content: "Option 1" }))))); }, 3);
137
+ });
138
+ it('Menu re-renders correctly with accessibilityAction', function () {
139
+ var action = [{ name: 'Expand' }];
140
+ (0, test_tools_1.checkReRender)(function () { return (React.createElement(Menu_1.Menu, null,
141
+ React.createElement(MenuTrigger_1.default, null,
142
+ React.createElement(button_1.ButtonV1, null, "Rerender twice")),
143
+ React.createElement(MenuPopover_1.default, null,
144
+ React.createElement(MenuList_1.MenuList, null,
145
+ React.createElement(MenuItem_1.MenuItem, { accessibilityActions: action, content: "Option 1" }))))); }, 3);
146
+ });
147
+ });
148
+ //# 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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluentui-react-native/menu",
3
- "version": "0.13.1",
3
+ "version": "0.14.2",
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",
@@ -23,10 +23,10 @@
23
23
  },
24
24
  "dependencies": {
25
25
  "@fluentui-react-native/adapters": ">=0.8.5 <1.0.0",
26
- "@fluentui-react-native/callout": ">=0.20.5 <1.0.0",
26
+ "@fluentui-react-native/callout": ">=0.20.6 <1.0.0",
27
27
  "@fluentui-react-native/experimental-text": ">=0.9.0 <1.0.0",
28
28
  "@fluentui-react-native/framework": "0.7.30",
29
- "@fluentui-react-native/interactive-hooks": ">=0.16.1 <1.0.0",
29
+ "@fluentui-react-native/interactive-hooks": ">=0.16.2 <1.0.0",
30
30
  "@fluentui-react-native/theme-tokens": ">=0.18.0 <1.0.0",
31
31
  "@fluentui-react-native/tokens": ">=0.14.0 <1.0.0",
32
32
  "@fluentui-react-native/use-styling": ">=0.8.3 <1.0.0",
@@ -34,8 +34,10 @@
34
34
  "tslib": "^2.3.1"
35
35
  },
36
36
  "devDependencies": {
37
+ "@fluentui-react-native/button": ">=0.22.27 <1.0.0",
37
38
  "@fluentui-react-native/eslint-config-rules": "^0.1.1",
38
39
  "@fluentui-react-native/scripts": "^0.1.1",
40
+ "@fluentui-react-native/test-tools": ">=0.1.1 <1.0.0",
39
41
  "@types/react-native": "^0.64.0",
40
42
  "react-native": "^0.64.3"
41
43
  },
@@ -4,7 +4,7 @@ import { useMenuContext } from '../context/menuContext';
4
4
  import { MenuProps, MenuState } from './Menu.types';
5
5
 
6
6
  export const useMenu = (props: MenuProps): MenuState => {
7
- const triggerRef = React.useRef(null);
7
+ const triggerRef = React.useRef();
8
8
  const context = useMenuContext();
9
9
  const isSubmenu = context.triggerRef !== null;
10
10
  const isControlled = typeof props.open !== 'undefined';
@@ -23,6 +23,7 @@ export interface MenuListState extends MenuListProps {
23
23
  export interface MenuListSlotProps {
24
24
  root: React.PropsWithRef<IViewProps> & { gap?: number };
25
25
  }
26
+
26
27
  export interface MenuListType {
27
28
  props: MenuListProps;
28
29
  tokens: MenuListTokens;
@@ -5,6 +5,8 @@ import { useMenuContext } from '../context/menuContext';
5
5
  import { MenuPopoverProps, MenuPopoverState } from './MenuPopover.types';
6
6
  import { isCloseOnHoverOutEnabled } from '../consts';
7
7
 
8
+ const controlledDismissBehaviors = ['preventDismissOnKeyDown', 'preventDismissOnClickOutside'] as DismissBehaviors[];
9
+
8
10
  export const useMenuPopover = (_props: MenuPopoverProps): MenuPopoverState => {
9
11
  const context = useMenuContext();
10
12
  const {
@@ -20,7 +22,7 @@ export const useMenuPopover = (_props: MenuPopoverProps): MenuPopoverState => {
20
22
  } = context;
21
23
 
22
24
  const onDismiss = React.useCallback(() => setOpen(undefined, false /* isOpen */), [setOpen]);
23
- const dismissBehaviors = isControlled ? (['preventDismissOnKeyDown', 'preventDismissOnClickOutside'] as DismissBehaviors[]) : undefined;
25
+ const dismissBehaviors = isControlled ? controlledDismissBehaviors : undefined;
24
26
  const directionalHint = getDirectionalHint(isSubmenu, I18nManager.isRTL);
25
27
 
26
28
  // Initial focus behavior differs per platform, Windows platforms move focus