@fluentui-react-native/menu 0.11.1 → 0.13.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 +46 -1
- package/CHANGELOG.md +26 -2
- 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 +7 -2
- 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/MenuItem/MenuItem.js +1 -1
- package/lib/MenuItem/MenuItem.js.map +1 -1
- package/lib/MenuItem/useMenuItem.d.ts.map +1 -1
- package/lib/MenuItem/useMenuItem.js +34 -6
- package/lib/MenuItem/useMenuItem.js.map +1 -1
- package/lib/MenuItemCheckbox/MenuItemCheckbox.js +1 -1
- package/lib/MenuItemCheckbox/MenuItemCheckbox.js.map +1 -1
- package/lib/MenuItemCheckbox/useMenuItemCheckbox.d.ts.map +1 -1
- package/lib/MenuItemCheckbox/useMenuItemCheckbox.js +12 -8
- package/lib/MenuItemCheckbox/useMenuItemCheckbox.js.map +1 -1
- package/lib/MenuItemRadio/useMenuItemRadio.d.ts.map +1 -1
- package/lib/MenuItemRadio/useMenuItemRadio.js +5 -3
- package/lib/MenuItemRadio/useMenuItemRadio.js.map +1 -1
- package/lib/MenuPopover/MenuPopover.d.ts +1 -2
- 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 +5 -11
- 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.d.ts.map +1 -1
- package/lib/MenuTrigger/MenuTrigger.js +24 -2
- package/lib/MenuTrigger/MenuTrigger.js.map +1 -1
- package/lib/MenuTrigger/MenuTrigger.types.d.ts +3 -0
- package/lib/MenuTrigger/MenuTrigger.types.d.ts.map +1 -1
- package/lib/MenuTrigger/useMenuTrigger.d.ts.map +1 -1
- package/lib/MenuTrigger/useMenuTrigger.js +41 -17
- package/lib/MenuTrigger/useMenuTrigger.js.map +1 -1
- 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 +7 -2
- 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/MenuItem/MenuItem.js +1 -1
- package/lib-commonjs/MenuItem/MenuItem.js.map +1 -1
- package/lib-commonjs/MenuItem/useMenuItem.d.ts.map +1 -1
- package/lib-commonjs/MenuItem/useMenuItem.js +32 -4
- package/lib-commonjs/MenuItem/useMenuItem.js.map +1 -1
- package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.js +1 -1
- package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.js.map +1 -1
- package/lib-commonjs/MenuItemCheckbox/useMenuItemCheckbox.d.ts.map +1 -1
- package/lib-commonjs/MenuItemCheckbox/useMenuItemCheckbox.js +12 -8
- package/lib-commonjs/MenuItemCheckbox/useMenuItemCheckbox.js.map +1 -1
- package/lib-commonjs/MenuItemRadio/useMenuItemRadio.d.ts.map +1 -1
- package/lib-commonjs/MenuItemRadio/useMenuItemRadio.js +5 -3
- package/lib-commonjs/MenuItemRadio/useMenuItemRadio.js.map +1 -1
- package/lib-commonjs/MenuPopover/MenuPopover.d.ts +1 -2
- 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 +5 -11
- 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.d.ts.map +1 -1
- package/lib-commonjs/MenuTrigger/MenuTrigger.js +22 -1
- package/lib-commonjs/MenuTrigger/MenuTrigger.js.map +1 -1
- package/lib-commonjs/MenuTrigger/MenuTrigger.types.d.ts +3 -0
- package/lib-commonjs/MenuTrigger/MenuTrigger.types.d.ts.map +1 -1
- package/lib-commonjs/MenuTrigger/useMenuTrigger.d.ts.map +1 -1
- package/lib-commonjs/MenuTrigger/useMenuTrigger.js +42 -17
- package/lib-commonjs/MenuTrigger/useMenuTrigger.js.map +1 -1
- 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 +1 -1
- package/src/Menu/Menu.types.ts +1 -0
- package/src/Menu/useMenu.ts +8 -1
- package/src/Menu/useMenuContextValue.ts +4 -1
- package/src/MenuItem/MenuItem.tsx +1 -1
- package/src/MenuItem/useMenuItem.ts +49 -9
- package/src/MenuItemCheckbox/MenuItemCheckbox.tsx +1 -1
- package/src/MenuItemCheckbox/useMenuItemCheckbox.ts +13 -9
- package/src/MenuItemRadio/useMenuItemRadio.ts +5 -3
- package/src/MenuPopover/MenuPopover.tsx +7 -13
- package/src/MenuPopover/MenuPopover.types.ts +5 -9
- package/src/MenuPopover/useMenuPopover.ts +47 -8
- package/src/MenuTrigger/MenuTrigger.tsx +29 -3
- package/src/MenuTrigger/MenuTrigger.types.ts +3 -0
- package/src/MenuTrigger/useMenuTrigger.ts +62 -23
- package/src/consts.ts +8 -0
- package/src/context/menuContext.ts +6 -1
package/CHANGELOG.json
CHANGED
|
@@ -2,7 +2,52 @@
|
|
|
2
2
|
"name": "@fluentui-react-native/menu",
|
|
3
3
|
"entries": [
|
|
4
4
|
{
|
|
5
|
-
"date": "
|
|
5
|
+
"date": "Fri, 03 Jun 2022 19:33:14 GMT",
|
|
6
|
+
"tag": "@fluentui-react-native/menu_v0.13.1",
|
|
7
|
+
"version": "0.13.1",
|
|
8
|
+
"comments": {
|
|
9
|
+
"patch": [
|
|
10
|
+
{
|
|
11
|
+
"author": "ruaraki@microsoft.com",
|
|
12
|
+
"package": "@fluentui-react-native/menu",
|
|
13
|
+
"commit": "add97d2ed7de9c3e4c9aa4517ba3ff66cc1b7db6",
|
|
14
|
+
"comment": "Fix some hover shenanigans"
|
|
15
|
+
}
|
|
16
|
+
]
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"date": "Wed, 01 Jun 2022 18:18:40 GMT",
|
|
21
|
+
"tag": "@fluentui-react-native/menu_v0.13.0",
|
|
22
|
+
"version": "0.13.0",
|
|
23
|
+
"comments": {
|
|
24
|
+
"minor": [
|
|
25
|
+
{
|
|
26
|
+
"author": "ruaraki@microsoft.com",
|
|
27
|
+
"package": "@fluentui-react-native/menu",
|
|
28
|
+
"commit": "7c7b95a0c0697315aefdbb1a849e0017dcfc63c2",
|
|
29
|
+
"comment": "Fix keyboarding"
|
|
30
|
+
}
|
|
31
|
+
]
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"date": "Wed, 01 Jun 2022 00:08:47 GMT",
|
|
36
|
+
"tag": "@fluentui-react-native/menu_v0.12.0",
|
|
37
|
+
"version": "0.12.0",
|
|
38
|
+
"comments": {
|
|
39
|
+
"minor": [
|
|
40
|
+
{
|
|
41
|
+
"author": "ruaraki@microsoft.com",
|
|
42
|
+
"package": "@fluentui-react-native/menu",
|
|
43
|
+
"commit": "d8e53b094ad51baa4c0ef7761345c2711f433914",
|
|
44
|
+
"comment": "Add accessibility role menu"
|
|
45
|
+
}
|
|
46
|
+
]
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"date": "Thu, 26 May 2022 21:22:22 GMT",
|
|
6
51
|
"tag": "@fluentui-react-native/menu_v0.11.1",
|
|
7
52
|
"version": "0.11.1",
|
|
8
53
|
"comments": {
|
package/CHANGELOG.md
CHANGED
|
@@ -1,12 +1,36 @@
|
|
|
1
1
|
# Change Log - @fluentui-react-native/menu
|
|
2
2
|
|
|
3
|
-
This log was last generated on
|
|
3
|
+
This log was last generated on Fri, 03 Jun 2022 19:33:14 GMT and should not be manually modified.
|
|
4
4
|
|
|
5
5
|
<!-- Start content -->
|
|
6
6
|
|
|
7
|
+
## 0.13.1
|
|
8
|
+
|
|
9
|
+
Fri, 03 Jun 2022 19:33:14 GMT
|
|
10
|
+
|
|
11
|
+
### Patches
|
|
12
|
+
|
|
13
|
+
- Fix some hover shenanigans (ruaraki@microsoft.com)
|
|
14
|
+
|
|
15
|
+
## 0.13.0
|
|
16
|
+
|
|
17
|
+
Wed, 01 Jun 2022 18:18:40 GMT
|
|
18
|
+
|
|
19
|
+
### Minor changes
|
|
20
|
+
|
|
21
|
+
- Fix keyboarding (ruaraki@microsoft.com)
|
|
22
|
+
|
|
23
|
+
## 0.12.0
|
|
24
|
+
|
|
25
|
+
Wed, 01 Jun 2022 00:08:47 GMT
|
|
26
|
+
|
|
27
|
+
### Minor changes
|
|
28
|
+
|
|
29
|
+
- Add accessibility role menu (ruaraki@microsoft.com)
|
|
30
|
+
|
|
7
31
|
## 0.11.1
|
|
8
32
|
|
|
9
|
-
Thu, 26 May 2022 21:
|
|
33
|
+
Thu, 26 May 2022 21:22:22 GMT
|
|
10
34
|
|
|
11
35
|
### Patches
|
|
12
36
|
|
package/lib/Menu/Menu.types.d.ts
CHANGED
|
@@ -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"}
|
package/lib/Menu/useMenu.js
CHANGED
|
@@ -7,11 +7,16 @@ export var useMenu = function (props) {
|
|
|
7
7
|
var isSubmenu = context.triggerRef !== null;
|
|
8
8
|
var isControlled = typeof props.open !== 'undefined';
|
|
9
9
|
var _a = useMenuOpenState(isControlled, props), open = _a[0], setOpen = _a[1];
|
|
10
|
-
// Default
|
|
10
|
+
// Default behavior for submenu is to open on hover
|
|
11
11
|
// the ...props line below will override this behavior for a submenu
|
|
12
12
|
// or apply openOnHover if passed into a root Menu.
|
|
13
13
|
var openOnHover = isSubmenu;
|
|
14
|
-
|
|
14
|
+
// We need to be able to cancel the timer that gets set on
|
|
15
|
+
// hover out of the parent popover if the parent popover
|
|
16
|
+
// is also set to open/close on hover out. Otherwise
|
|
17
|
+
// the parent menu will close when the timeout passes.
|
|
18
|
+
var parentPopoverHoverOutTimer = isSubmenu ? context.popoverHoverOutTimer : undefined;
|
|
19
|
+
return __assign(__assign({ openOnHover: openOnHover }, props), { open: open, setOpen: setOpen, triggerRef: triggerRef, isSubmenu: isSubmenu, isControlled: isControlled, parentPopoverHoverOutTimer: parentPopoverHoverOutTimer });
|
|
15
20
|
};
|
|
16
21
|
var useMenuOpenState = function (isControlled, props) {
|
|
17
22
|
var defaultOpen = props.defaultOpen, onOpenChange = props.onOpenChange, open = props.open;
|
package/lib/Menu/useMenu.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMenu.js","sourceRoot":"","sources":["../../src/Menu/useMenu.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAGxD,MAAM,CAAC,IAAM,OAAO,GAAG,UAAC,KAAgB;IACtC,IAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtC,IAAM,OAAO,GAAG,cAAc,EAAE,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,2BACE,WAAW,aAAA,IACR,KAAK,KACR,IAAI,MAAA,EACJ,OAAO,SAAA,EACP,UAAU,YAAA,EACV,SAAS,WAAA,EACT,YAAY,cAAA,
|
|
1
|
+
{"version":3,"file":"useMenu.js","sourceRoot":"","sources":["../../src/Menu/useMenu.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAGxD,MAAM,CAAC,IAAM,OAAO,GAAG,UAAC,KAAgB;IACtC,IAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtC,IAAM,OAAO,GAAG,cAAc,EAAE,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,2BACE,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;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,KAAK,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,KAAK,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"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { __assign } from "tslib";
|
|
2
|
+
import React from 'react';
|
|
2
3
|
export var useMenuContextValue = function (state) {
|
|
3
|
-
|
|
4
|
+
var _a = React.useState(), triggerHoverOutTimer = _a[0], setTriggerHoverOutTimer = _a[1];
|
|
5
|
+
var _b = React.useState(), popoverHoverOutTimer = _b[0], setPopoverHoverOutTimer = _b[1];
|
|
6
|
+
return __assign(__assign({}, state), { popoverHoverOutTimer: popoverHoverOutTimer, triggerHoverOutTimer: triggerHoverOutTimer, setPopoverHoverOutTimer: setPopoverHoverOutTimer, setTriggerHoverOutTimer: setTriggerHoverOutTimer });
|
|
4
7
|
};
|
|
5
8
|
//# 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,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,MAAM,CAAC,IAAM,mBAAmB,GAAG,UAAC,KAAgB;IAC5C,IAAA,KAAkD,KAAK,CAAC,QAAQ,EAA8B,EAA7F,oBAAoB,QAAA,EAAE,uBAAuB,QAAgD,CAAC;IAC/F,IAAA,KAAkD,KAAK,CAAC,QAAQ,EAAkB,EAAjF,oBAAoB,QAAA,EAAE,uBAAuB,QAAoC,CAAC;IACzF,6BAAY,KAAK,KAAE,oBAAoB,sBAAA,EAAE,oBAAoB,sBAAA,EAAE,uBAAuB,yBAAA,EAAE,uBAAuB,yBAAA,IAAG;AACpH,CAAC,CAAC"}
|
package/lib/MenuItem/MenuItem.js
CHANGED
|
@@ -14,7 +14,7 @@ export var MenuItem = compose(__assign(__assign({ displayName: menuItemName }, s
|
|
|
14
14
|
submenuIndicator: SvgXml,
|
|
15
15
|
}, useRender: function (userProps, useSlots) {
|
|
16
16
|
var menuItem = useMenuItem(userProps);
|
|
17
|
-
var Slots = useSlots(userProps, function (layer) { return menuItem.state[layer]; });
|
|
17
|
+
var Slots = useSlots(userProps, function (layer) { return menuItem.state[layer] || userProps[layer]; });
|
|
18
18
|
return function (final) {
|
|
19
19
|
var mergedProps = mergeProps(menuItem.props, final);
|
|
20
20
|
var chevronXml = I18nManager.isRTL
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuItem.js","sourceRoot":"","sources":["../../src/MenuItem/MenuItem.tsx"],"names":[],"mappings":";AAAA,qBAAqB;AACrB,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,UAAU,EAAY,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAC5F,OAAO,EAAE,IAAI,EAAE,MAAM,0CAA0C,CAAC;AAChE,OAAO,EAAE,YAAY,EAA+B,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,MAAM,CAAC,IAAM,QAAQ,GAAG,OAAO,qBAC7B,WAAW,EAAE,YAAY,IACtB,eAAe,KAClB,KAAK,EAAE;QACL,IAAI,EAAE,IAAI;QACV,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,IAAI;QACb,gBAAgB,EAAE,MAAM;KACzB,EACD,SAAS,EAAE,UAAC,SAAwB,EAAE,QAAgC;QACpE,IAAM,QAAQ,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;QACxC,IAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,EAAE,UAAC,KAAK,IAAc,OAAA,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"MenuItem.js","sourceRoot":"","sources":["../../src/MenuItem/MenuItem.tsx"],"names":[],"mappings":";AAAA,qBAAqB;AACrB,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,UAAU,EAAY,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAC5F,OAAO,EAAE,IAAI,EAAE,MAAM,0CAA0C,CAAC;AAChE,OAAO,EAAE,YAAY,EAA+B,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,MAAM,CAAC,IAAM,QAAQ,GAAG,OAAO,qBAC7B,WAAW,EAAE,YAAY,IACtB,eAAe,KAClB,KAAK,EAAE;QACL,IAAI,EAAE,IAAI;QACV,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,IAAI;QACb,gBAAgB,EAAE,MAAM;KACzB,EACD,SAAS,EAAE,UAAC,SAAwB,EAAE,QAAgC;QACpE,IAAM,QAAQ,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;QACxC,IAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,EAAE,UAAC,KAAK,IAAc,OAAA,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,EAAzC,CAAyC,CAAC,CAAC;QAEjG,OAAO,UAAC,KAAoB;YAC1B,IAAM,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACtD,IAAM,UAAU,GAAG,WAAW,CAAC,KAAK;gBAClC,CAAC,CAAC,+YAGO;gBACT,CAAC,CAAC,+YAGO,CAAC;YAEZ,OAAO,CACL,UAAC,KAAK,CAAC,IAAI,eAAK,WAAW;gBACxB,QAAQ,CAAC,aAAa,IAAI,UAAC,KAAK,CAAC,SAAS,OAAG;gBAC7C,WAAW,CAAC,OAAO,IAAI,UAAC,KAAK,CAAC,OAAO,QAAE,WAAW,CAAC,OAAO,CAAiB;gBAC3E,QAAQ,CAAC,UAAU,IAAI,UAAC,KAAK,CAAC,gBAAgB,IAAC,GAAG,EAAE,UAAU,GAAI,CACxD,CACd,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC,IACD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMenuItem.d.ts","sourceRoot":"","sources":["../../src/MenuItem/useMenuItem.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"useMenuItem.d.ts","sourceRoot":"","sources":["../../src/MenuItem/useMenuItem.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAUhE,eAAO,MAAM,WAAW,UAAW,aAAa,KAAG,aAgElD,CAAC"}
|
|
@@ -1,21 +1,49 @@
|
|
|
1
|
-
import { __assign, __rest } from "tslib";
|
|
1
|
+
import { __assign, __rest, __spreadArray } from "tslib";
|
|
2
2
|
import * as React from 'react';
|
|
3
|
+
import { I18nManager } from 'react-native';
|
|
3
4
|
import { memoize } from '@fluentui-react-native/framework';
|
|
4
|
-
import { useAsPressable,
|
|
5
|
+
import { isKeyPressEvent, useAsPressable, useKeyDownProps } from '@fluentui-react-native/interactive-hooks';
|
|
5
6
|
import { useMenuContext } from '../context/menuContext';
|
|
6
7
|
import { useMenuListContext } from '../context/menuListContext';
|
|
7
8
|
import { useMenuTriggerContext } from '../context/menuTriggerContext';
|
|
9
|
+
var triggerKeys = [' ', 'Enter'];
|
|
10
|
+
var submenuTriggerKeys = __spreadArray(__spreadArray([], triggerKeys, true), ['ArrowLeft', 'ArrowRight'], false);
|
|
8
11
|
export var useMenuItem = function (props) {
|
|
9
12
|
// attach the pressable state handlers
|
|
10
13
|
var defaultComponentRef = React.useRef(null);
|
|
11
14
|
var onClick = props.onClick, accessibilityState = props.accessibilityState, _a = props.componentRef, componentRef = _a === void 0 ? defaultComponentRef : _a, disabled = props.disabled, rest = __rest(props, ["onClick", "accessibilityState", "componentRef", "disabled"]);
|
|
12
|
-
var pressable = useAsPressable(__assign(__assign({}, rest), { disabled: disabled, onPress: onClick }));
|
|
13
|
-
var onKeyProps = useKeyProps(onClick, ' ', 'Enter');
|
|
14
15
|
var isTrigger = useMenuTriggerContext();
|
|
15
|
-
var
|
|
16
|
+
var isSubmenu = useMenuContext().isSubmenu;
|
|
17
|
+
var hasSubmenu = isSubmenu && isTrigger;
|
|
18
|
+
var isInSubmenu = isSubmenu && !isTrigger;
|
|
19
|
+
var setOpen = useMenuContext().setOpen;
|
|
20
|
+
var onInvoke = React.useCallback(function (e) {
|
|
21
|
+
if (disabled) {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
var isRtl = I18nManager.isRTL;
|
|
25
|
+
if (isKeyPressEvent(e) &&
|
|
26
|
+
hasSubmenu &&
|
|
27
|
+
((isRtl && e.nativeEvent.key === 'ArrowRight') || (!isRtl && e.nativeEvent.key === 'ArrowLeft'))) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
if (isKeyPressEvent(e) &&
|
|
31
|
+
isInSubmenu &&
|
|
32
|
+
((isRtl && e.nativeEvent.key === 'ArrowLeft') || (!isRtl && e.nativeEvent.key === 'ArrowRight'))) {
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
onClick === null || onClick === void 0 ? void 0 : onClick(e);
|
|
36
|
+
if (!hasSubmenu) {
|
|
37
|
+
setOpen(e, false /*isOpen*/);
|
|
38
|
+
}
|
|
39
|
+
}, [disabled, hasSubmenu, isInSubmenu, onClick, setOpen]);
|
|
40
|
+
var pressable = useAsPressable(__assign(__assign({}, rest), { disabled: disabled, onPress: onInvoke }));
|
|
41
|
+
var keys = isSubmenu ? submenuTriggerKeys : triggerKeys;
|
|
42
|
+
// Explicitly override onKeyDown to override the native behavior of moving focus with arrow keys.
|
|
43
|
+
var onKeyDownProps = useKeyDownProps.apply(void 0, __spreadArray([onInvoke], keys, false));
|
|
16
44
|
var hasCheckmarks = useMenuListContext().hasCheckmarks;
|
|
17
45
|
return {
|
|
18
|
-
props: __assign(__assign(__assign({}, pressable.props), { accessible: true, accessibilityRole: 'menuitem', onAccessibilityTap: props.onAccessibilityTap ||
|
|
46
|
+
props: __assign(__assign(__assign({}, pressable.props), { accessible: true, accessibilityRole: 'menuitem', onAccessibilityTap: props.onAccessibilityTap || onInvoke, accessibilityLabel: props.accessibilityLabel || props.content, accessibilityState: getAccessibilityState(disabled, accessibilityState), enableFocusRing: true, focusable: true, ref: componentRef }), onKeyDownProps),
|
|
19
47
|
state: pressable.state,
|
|
20
48
|
hasSubmenu: hasSubmenu,
|
|
21
49
|
hasCheckmarks: hasCheckmarks,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMenuItem.js","sourceRoot":"","sources":["../../src/MenuItem/useMenuItem.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"useMenuItem.js","sourceRoot":"","sources":["../../src/MenuItem/useMenuItem.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,7 +13,7 @@ export var MenuItemCheckbox = compose(__assign(__assign({ displayName: menuItemC
|
|
|
13
13
|
content: Text,
|
|
14
14
|
}, useRender: function (userProps, useSlots) {
|
|
15
15
|
var menuItem = useMenuItemCheckbox(userProps);
|
|
16
|
-
var Slots = useSlots(userProps, function (layer) { return menuItem.state[layer]; });
|
|
16
|
+
var Slots = useSlots(userProps, function (layer) { return menuItem.state[layer] || userProps[layer]; });
|
|
17
17
|
return menuItemFinalRender(menuItem, Slots);
|
|
18
18
|
} }));
|
|
19
19
|
export var menuItemFinalRender = function (menuItem, Slots) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuItemCheckbox.js","sourceRoot":"","sources":["../../src/MenuItemCheckbox/MenuItemCheckbox.tsx"],"names":[],"mappings":";AAAA,qBAAqB;AACrB,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,UAAU,EAAmB,SAAS,EAAE,MAAM,kCAAkC,CAAC;AACnG,OAAO,EAAE,IAAI,EAAE,MAAM,0CAA0C,CAAC;AAChE,OAAO,EACL,oBAAoB,GAKrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7D,MAAM,CAAC,IAAM,gBAAgB,GAAG,OAAO,qBACrC,WAAW,EAAE,oBAAoB,IAC9B,eAAe,KAClB,KAAK,EAAE;QACL,IAAI,EAAE,IAAI;QACV,SAAS,EAAE,MAAM;QACjB,OAAO,EAAE,IAAI;KACd,EACD,SAAS,EAAE,UAAC,SAAgC,EAAE,QAAwC;QACpF,IAAM,QAAQ,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAChD,IAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,EAAE,UAAC,KAAK,IAAc,OAAA,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"MenuItemCheckbox.js","sourceRoot":"","sources":["../../src/MenuItemCheckbox/MenuItemCheckbox.tsx"],"names":[],"mappings":";AAAA,qBAAqB;AACrB,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,UAAU,EAAmB,SAAS,EAAE,MAAM,kCAAkC,CAAC;AACnG,OAAO,EAAE,IAAI,EAAE,MAAM,0CAA0C,CAAC;AAChE,OAAO,EACL,oBAAoB,GAKrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7D,MAAM,CAAC,IAAM,gBAAgB,GAAG,OAAO,qBACrC,WAAW,EAAE,oBAAoB,IAC9B,eAAe,KAClB,KAAK,EAAE;QACL,IAAI,EAAE,IAAI;QACV,SAAS,EAAE,MAAM;QACjB,OAAO,EAAE,IAAI;KACd,EACD,SAAS,EAAE,UAAC,SAAgC,EAAE,QAAwC;QACpF,IAAM,QAAQ,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAChD,IAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,EAAE,UAAC,KAAK,IAAc,OAAA,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,EAAzC,CAAyC,CAAC,CAAC;QAEjG,OAAO,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC9C,CAAC,IACD,CAAC;AAEH,MAAM,CAAC,IAAM,mBAAmB,GAAG,UACjC,QAA+B,EAC/B,KAAuC;IAEvC,OAAO,UAAC,KAA4B;QAClC,IAAM,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACtD,IAAM,YAAY,GAAG,6XAGd,CAAC;QAER,OAAO,CACL,UAAC,KAAK,CAAC,IAAI,eAAK,WAAW;YACzB,UAAC,KAAK,CAAC,SAAS,IAAC,GAAG,EAAE,YAAY,GAAI;YACrC,WAAW,CAAC,OAAO,IAAI,UAAC,KAAK,CAAC,OAAO,QAAE,WAAW,CAAC,OAAO,CAAiB,CACjE,CACd,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMenuItemCheckbox.d.ts","sourceRoot":"","sources":["../../src/MenuItemCheckbox/useMenuItemCheckbox.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAExF,OAAO,EACL,gBAAgB,EAKjB,MAAM,0CAA0C,CAAC;AAKlD,eAAO,MAAM,mBAAmB,UAAW,qBAAqB,KAAG,
|
|
1
|
+
{"version":3,"file":"useMenuItemCheckbox.d.ts","sourceRoot":"","sources":["../../src/MenuItemCheckbox/useMenuItemCheckbox.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAExF,OAAO,EACL,gBAAgB,EAKjB,MAAM,0CAA0C,CAAC;AAKlD,eAAO,MAAM,mBAAmB,UAAW,qBAAqB,KAAG,qBAgBlE,CAAC;AAUF;;;;;;;GAOG;AACH,eAAO,MAAM,0BAA0B,UAC9B,qBAAqB,sBACR,gBAAgB,KAAK,IAAI,KAC5C,qBA0DF,CAAC"}
|
|
@@ -6,13 +6,15 @@ import { useMenuListContext } from '../context/menuListContext';
|
|
|
6
6
|
var defaultAccessibilityActions = [{ name: 'Toggle' }];
|
|
7
7
|
export var useMenuItemCheckbox = function (props) {
|
|
8
8
|
var _a;
|
|
9
|
-
var name = props.name;
|
|
9
|
+
var disabled = props.disabled, name = props.name;
|
|
10
10
|
var context = useMenuListContext();
|
|
11
11
|
var checked = (_a = context.checked) === null || _a === void 0 ? void 0 : _a[name];
|
|
12
12
|
var onCheckedChange = context.onCheckedChange;
|
|
13
13
|
var toggleChecked = React.useCallback(function (e) {
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
if (!disabled) {
|
|
15
|
+
onCheckedChange(e, name, !checked);
|
|
16
|
+
}
|
|
17
|
+
}, [checked, disabled, name, onCheckedChange]);
|
|
16
18
|
return useMenuCheckboxInteraction(props, toggleChecked);
|
|
17
19
|
};
|
|
18
20
|
var getAccessibilityState = memoize(getAccessibilityStateWorker);
|
|
@@ -44,14 +46,16 @@ export var useMenuCheckboxInteraction = function (props, toggleCallback) {
|
|
|
44
46
|
var accessibilityActionsProp = accessibilityActions
|
|
45
47
|
? __spreadArray(__spreadArray([], defaultAccessibilityActions, true), accessibilityActions, true) : defaultAccessibilityActions;
|
|
46
48
|
var onAccessibilityActionProp = React.useCallback(function (event) {
|
|
47
|
-
if (
|
|
48
|
-
|
|
49
|
+
if (!disabled) {
|
|
50
|
+
if (event.nativeEvent.actionName === 'Toggle') {
|
|
51
|
+
toggleCallback(event);
|
|
52
|
+
}
|
|
53
|
+
onAccessibilityAction && onAccessibilityAction(event);
|
|
49
54
|
}
|
|
50
|
-
|
|
51
|
-
}, [toggleCallback, onAccessibilityAction]);
|
|
55
|
+
}, [disabled, toggleCallback, onAccessibilityAction]);
|
|
52
56
|
var state = __assign(__assign({}, pressable.state), { disabled: !!props.disabled, checked: checked });
|
|
53
57
|
return {
|
|
54
|
-
props: __assign(__assign(__assign({}, pressable.props), { accessible: true, accessibilityActions: accessibilityActionsProp, accessibilityLabel: props.accessibilityLabel, accessibilityRole: 'menuitem', accessibilityState: getAccessibilityState(disabled, state.checked, accessibilityState), enableFocusRing: true, focusable:
|
|
58
|
+
props: __assign(__assign(__assign({}, pressable.props), { accessible: true, accessibilityActions: accessibilityActionsProp, accessibilityLabel: props.accessibilityLabel || props.content, accessibilityRole: 'menuitem', accessibilityState: getAccessibilityState(disabled, state.checked, accessibilityState), enableFocusRing: true, focusable: true, onAccessibilityAction: onAccessibilityActionProp, ref: buttonRef }), onKeyProps),
|
|
55
59
|
state: state,
|
|
56
60
|
};
|
|
57
61
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMenuItemCheckbox.js","sourceRoot":"","sources":["../../src/MenuItemCheckbox/useMenuItemCheckbox.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAC3D,OAAO,EAEL,cAAc,EACd,WAAW,EACX,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAEhE,IAAM,2BAA2B,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;AAEzD,MAAM,CAAC,IAAM,mBAAmB,GAAG,UAAC,KAA4B;;IACtD,IAAA,IAAI,GAAK,KAAK,KAAV,CAAW;
|
|
1
|
+
{"version":3,"file":"useMenuItemCheckbox.js","sourceRoot":"","sources":["../../src/MenuItemCheckbox/useMenuItemCheckbox.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMenuItemRadio.d.ts","sourceRoot":"","sources":["../../src/MenuItemRadio/useMenuItemRadio.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AAG1G,eAAO,MAAM,gBAAgB,UAAW,qBAAqB,KAAG,
|
|
1
|
+
{"version":3,"file":"useMenuItemRadio.d.ts","sourceRoot":"","sources":["../../src/MenuItemRadio/useMenuItemRadio.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AAG1G,eAAO,MAAM,gBAAgB,UAAW,qBAAqB,KAAG,qBAgB/D,CAAC"}
|
|
@@ -3,13 +3,15 @@ import { useMenuListContext } from '../context/menuListContext';
|
|
|
3
3
|
import { useMenuCheckboxInteraction } from '../MenuItemCheckbox/useMenuItemCheckbox';
|
|
4
4
|
export var useMenuItemRadio = function (props) {
|
|
5
5
|
var _a;
|
|
6
|
-
var name = props.name;
|
|
6
|
+
var disabled = props.disabled, name = props.name;
|
|
7
7
|
var context = useMenuListContext();
|
|
8
8
|
var checked = (_a = context.checked) === null || _a === void 0 ? void 0 : _a[name];
|
|
9
9
|
var selectRadio = context.selectRadio;
|
|
10
10
|
var toggleChecked = React.useCallback(function (e) {
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
if (!disabled) {
|
|
12
|
+
selectRadio(e, name, !checked);
|
|
13
|
+
}
|
|
14
|
+
}, [checked, disabled, name, selectRadio]);
|
|
13
15
|
return useMenuCheckboxInteraction(props, toggleChecked);
|
|
14
16
|
};
|
|
15
17
|
//# sourceMappingURL=useMenuItemRadio.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMenuItemRadio.js","sourceRoot":"","sources":["../../src/MenuItemRadio/useMenuItemRadio.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAEhE,OAAO,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AAErF,MAAM,CAAC,IAAM,gBAAgB,GAAG,UAAC,KAA4B;;IACnD,IAAA,IAAI,GAAK,KAAK,KAAV,CAAW;
|
|
1
|
+
{"version":3,"file":"useMenuItemRadio.js","sourceRoot":"","sources":["../../src/MenuItemRadio/useMenuItemRadio.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAEhE,OAAO,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AAErF,MAAM,CAAC,IAAM,gBAAgB,GAAG,UAAC,KAA4B;;IACnD,IAAA,QAAQ,GAAW,KAAK,SAAhB,EAAE,IAAI,GAAK,KAAK,KAAV,CAAW;IACjC,IAAM,OAAO,GAAG,kBAAkB,EAAE,CAAC;IACrC,IAAM,OAAO,GAAG,MAAA,OAAO,CAAC,OAAO,0CAAG,IAAI,CAAC,CAAC;IACxC,IAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAExC,IAAM,aAAa,GAAG,KAAK,CAAC,WAAW,CACrC,UAAC,CAAmB;QAClB,IAAI,CAAC,QAAQ,EAAE;YACb,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC;SAChC;IACH,CAAC,EACD,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,CAAC,CACvC,CAAC;IAEF,OAAO,0BAA0B,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;AAC1D,CAAC,CAAC"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const MenuPopover: import("@fluentui-react-native/framework").ComposableFunction<MenuPopoverProps>;
|
|
1
|
+
export declare const MenuPopover: import("@fluentui-react-native/framework").ComposableFunction<import("@fluentui-react-native/callout").ICalloutProps>;
|
|
3
2
|
export default MenuPopover;
|
|
4
3
|
//# sourceMappingURL=MenuPopover.d.ts.map
|
|
@@ -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"}
|
|
@@ -1,13 +1,17 @@
|
|
|
1
|
+
import { __assign } from "tslib";
|
|
1
2
|
import React from 'react';
|
|
2
|
-
import { stagedComponent, useFluentTheme } from '@fluentui-react-native/framework';
|
|
3
|
+
import { mergeProps, stagedComponent, useFluentTheme } from '@fluentui-react-native/framework';
|
|
3
4
|
import { Callout } from '@fluentui-react-native/callout';
|
|
4
5
|
import { menuPopoverName } from './MenuPopover.types';
|
|
5
6
|
import { useMenuPopover } from './useMenuPopover';
|
|
7
|
+
import { View } from 'react-native';
|
|
6
8
|
export var MenuPopover = stagedComponent(function (props) {
|
|
7
9
|
var state = useMenuPopover(props);
|
|
8
10
|
var theme = useFluentTheme();
|
|
9
|
-
return function (
|
|
10
|
-
|
|
11
|
+
return function (final, children) {
|
|
12
|
+
var mergedProps = mergeProps(state.props, final);
|
|
13
|
+
var content = React.createElement(View, state.innerView, children);
|
|
14
|
+
return (React.createElement(Callout, __assign({ borderWidth: 1, borderColor: theme.colors.neutralStrokeAccessible }, mergedProps), content));
|
|
11
15
|
};
|
|
12
16
|
});
|
|
13
17
|
MenuPopover.displayName = menuPopoverName;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuPopover.js","sourceRoot":"","sources":["../../src/MenuPopover/MenuPopover.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"MenuPopover.js","sourceRoot":"","sources":["../../src/MenuPopover/MenuPopover.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAC/F,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,EAAE,eAAe,EAAoB,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEpC,MAAM,CAAC,IAAM,WAAW,GAAG,eAAe,CAAC,UAAC,KAAuB;IACjE,IAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IACpC,IAAM,KAAK,GAAG,cAAc,EAAE,CAAC;IAE/B,OAAO,UAAC,KAAuB,EAAE,QAAyB;QACxD,IAAM,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACnD,IAAM,OAAO,GAAG,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACrE,OAAO,CACL,oBAAC,OAAO,aAAC,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,WAAW,CAAC,WAAW,GAAG,eAAe,CAAC;AAE1C,eAAe,WAAW,CAAC"}
|
|
@@ -1,15 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
import
|
|
3
|
-
import { DirectionalHint, DismissBehaviors } from '@fluentui-react-native/callout';
|
|
1
|
+
import { IViewProps } from '@fluentui-react-native/adapters';
|
|
2
|
+
import { ICalloutProps } from '@fluentui-react-native/callout';
|
|
4
3
|
export declare const menuPopoverName = "MenuPopover";
|
|
5
|
-
export
|
|
6
|
-
}
|
|
4
|
+
export declare type MenuPopoverProps = ICalloutProps;
|
|
7
5
|
export interface MenuPopoverState {
|
|
8
|
-
|
|
9
|
-
|
|
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;AAGzE,eAAO,MAAM,cAAc,WAAY,gBAAgB,KAAG,gBAuDzD,CAAC"}
|
|
@@ -1,20 +1,47 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { I18nManager, Platform } from 'react-native';
|
|
3
3
|
import { useMenuContext } from '../context/menuContext';
|
|
4
|
+
import { isCloseOnHoverOutEnabled } from '../consts';
|
|
4
5
|
export var useMenuPopover = function (_props) {
|
|
5
6
|
var context = useMenuContext();
|
|
6
|
-
var setOpen = context.setOpen;
|
|
7
|
-
var triggerRef = context.triggerRef;
|
|
7
|
+
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;
|
|
8
8
|
var onDismiss = React.useCallback(function () { return setOpen(undefined, false /* isOpen */); }, [setOpen]);
|
|
9
|
-
var dismissBehaviors =
|
|
10
|
-
|
|
11
|
-
: undefined;
|
|
12
|
-
var directionalHint = getDirectionalHint(context.isSubmenu, I18nManager.isRTL);
|
|
9
|
+
var dismissBehaviors = isControlled ? ['preventDismissOnKeyDown', 'preventDismissOnClickOutside'] : undefined;
|
|
10
|
+
var directionalHint = getDirectionalHint(isSubmenu, I18nManager.isRTL);
|
|
13
11
|
// Initial focus behavior differs per platform, Windows platforms move focus
|
|
14
12
|
// automatically onto first element of Callout
|
|
15
13
|
var setInitialFocus = Platform.OS === 'win32' || Platform.OS === 'windows';
|
|
16
|
-
var doNotTakePointerCapture =
|
|
17
|
-
|
|
14
|
+
var doNotTakePointerCapture = openOnHover;
|
|
15
|
+
var accessibilityRole = 'menu';
|
|
16
|
+
var onMouseEnter = React.useCallback(function () {
|
|
17
|
+
clearTimeout(triggerHoverOutTimer);
|
|
18
|
+
clearTimeout(popoverHoverOutTimer);
|
|
19
|
+
clearTimeout(parentPopoverHoverOutTimer);
|
|
20
|
+
}, [parentPopoverHoverOutTimer, popoverHoverOutTimer, triggerHoverOutTimer]);
|
|
21
|
+
var onMouseLeave = React.useCallback(function () {
|
|
22
|
+
if (!openOnHover) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
var timer = setTimeout(function () {
|
|
26
|
+
setOpen(undefined, false /* isOpen */);
|
|
27
|
+
}, 500);
|
|
28
|
+
setPopoverHoverOutTimer(timer);
|
|
29
|
+
}, [openOnHover, setOpen, setPopoverHoverOutTimer]);
|
|
30
|
+
return {
|
|
31
|
+
props: {
|
|
32
|
+
accessibilityRole: accessibilityRole,
|
|
33
|
+
target: triggerRef,
|
|
34
|
+
onDismiss: onDismiss,
|
|
35
|
+
directionalHint: directionalHint,
|
|
36
|
+
dismissBehaviors: dismissBehaviors,
|
|
37
|
+
doNotTakePointerCapture: doNotTakePointerCapture,
|
|
38
|
+
setInitialFocus: setInitialFocus,
|
|
39
|
+
},
|
|
40
|
+
innerView: {
|
|
41
|
+
onMouseEnter: onMouseEnter,
|
|
42
|
+
onMouseLeave: isCloseOnHoverOutEnabled && onMouseLeave,
|
|
43
|
+
},
|
|
44
|
+
};
|
|
18
45
|
};
|
|
19
46
|
var getDirectionalHint = function (isSubmenu, isRtl) {
|
|
20
47
|
if (!isSubmenu) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMenuPopover.js","sourceRoot":"","sources":["../../src/MenuPopover/useMenuPopover.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAErD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"useMenuPopover.js","sourceRoot":"","sources":["../../src/MenuPopover/useMenuPopover.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAErD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAErD,MAAM,CAAC,IAAM,cAAc,GAAG,UAAC,MAAwB;IACrD,IAAM,OAAO,GAAG,cAAc,EAAE,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,KAAK,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,WAAW,CAAC,KAAK,CAAC,CAAC;IAEzE,4EAA4E;IAC5E,8CAA8C;IAC9C,IAAM,eAAe,GAAG,QAAQ,CAAC,EAAE,KAAM,OAAe,IAAI,QAAQ,CAAC,EAAE,KAAK,SAAS,CAAC;IACtF,IAAM,uBAAuB,GAAG,WAAW,CAAC;IAC5C,IAAM,iBAAiB,GAAG,MAAM,CAAC;IAEjC,IAAM,YAAY,GAAG,KAAK,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,KAAK,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,wBAAwB,IAAI,YAAY;SACvD;KACF,CAAC;AACJ,CAAC,CAAC;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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuTrigger.d.ts","sourceRoot":"","sources":["../../src/MenuTrigger/MenuTrigger.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAmB,gBAAgB,
|
|
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,5 +1,6 @@
|
|
|
1
|
+
import { __assign } from "tslib";
|
|
1
2
|
import React from 'react';
|
|
2
|
-
import { stagedComponent } from '@fluentui-react-native/framework';
|
|
3
|
+
import { memoize, stagedComponent } from '@fluentui-react-native/framework';
|
|
3
4
|
import { menuTriggerName } from './MenuTrigger.types';
|
|
4
5
|
import { useMenuTrigger } from './useMenuTrigger';
|
|
5
6
|
import { MenuTriggerProvider } from '../context/menuTriggerContext';
|
|
@@ -12,11 +13,32 @@ export var MenuTrigger = stagedComponent(function (props) {
|
|
|
12
13
|
console.log('Only expecting one child for MenuTrigger');
|
|
13
14
|
}
|
|
14
15
|
}
|
|
16
|
+
// In order to properly support accessibility without erasing props set on the
|
|
17
|
+
// child component which may affect accessibility, we need to modify the
|
|
18
|
+
// state in the inner render so we can access the child component and its props.
|
|
15
19
|
var child = childrenArray[0];
|
|
16
|
-
var
|
|
20
|
+
var revisedProps = getRevisedState(menuTrigger, child.props);
|
|
21
|
+
var revised = React.cloneElement(child, revisedProps);
|
|
17
22
|
return React.createElement(MenuTriggerProvider, { value: menuTrigger.hasSubmenu }, revised);
|
|
18
23
|
};
|
|
19
24
|
});
|
|
20
25
|
MenuTrigger.displayName = menuTriggerName;
|
|
26
|
+
var getRevisedState = memoize(getRevisedStateWorker);
|
|
27
|
+
function getRevisedStateWorker(state, props) {
|
|
28
|
+
var revisedProps = __assign({}, state.props);
|
|
29
|
+
if (props.accessibilityState) {
|
|
30
|
+
revisedProps.accessibilityState = __assign(__assign({}, state.props.accessibilityState), props.accessibilityState);
|
|
31
|
+
}
|
|
32
|
+
if (props.accessibilityActions) {
|
|
33
|
+
revisedProps.accessibilityActions = __assign(__assign({}, state.props.accessibilityActions), props.accessibilityActions);
|
|
34
|
+
}
|
|
35
|
+
if (props.onAccessibilityAction) {
|
|
36
|
+
revisedProps.onAccessibilityAction = function (e) {
|
|
37
|
+
state.props.onAccessibilityAction(e);
|
|
38
|
+
props.onAccessibilityAction(e);
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
return revisedProps;
|
|
42
|
+
}
|
|
21
43
|
export default MenuTrigger;
|
|
22
44
|
//# sourceMappingURL=MenuTrigger.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuTrigger.js","sourceRoot":"","sources":["../../src/MenuTrigger/MenuTrigger.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"MenuTrigger.js","sourceRoot":"","sources":["../../src/MenuTrigger/MenuTrigger.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAsC,MAAM,qBAAqB,CAAC;AAC1F,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAEpE,MAAM,CAAC,IAAM,WAAW,GAAG,eAAe,CAAC,UAAC,KAAuB;IACjE,IAAM,WAAW,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IAE1C,OAAO,UAAC,KAAuB,EAAE,QAAyB;QACxD,IAAM,aAAa,GAAG,KAAK,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,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QAExD,OAAO,oBAAC,mBAAmB,IAAC,KAAK,EAAE,WAAW,CAAC,UAAU,IAAG,OAAO,CAAuB,CAAC;IAC7F,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AACH,WAAW,CAAC,WAAW,GAAG,eAAe,CAAC;AAE1C,IAAM,eAAe,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;AACvD,SAAS,qBAAqB,CAAC,KAAuB,EAAE,KAAU;IAChE,IAAM,YAAY,gBAAQ,KAAK,CAAC,KAAK,CAAE,CAAC;IACxC,IAAI,KAAK,CAAC,kBAAkB,EAAE;QAC5B,YAAY,CAAC,kBAAkB,yBAAQ,KAAK,CAAC,KAAK,CAAC,kBAAkB,GAAK,KAAK,CAAC,kBAAkB,CAAE,CAAC;KACtG;IAED,IAAI,KAAK,CAAC,oBAAoB,EAAE;QAC9B,YAAY,CAAC,oBAAoB,yBAAQ,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,eAAe,WAAW,CAAC"}
|
|
@@ -7,6 +7,9 @@ export interface MenuTriggerProps extends Omit<IWithPressableOptions<ViewProps>,
|
|
|
7
7
|
* A RefObject to refer to the trigger component.
|
|
8
8
|
*/
|
|
9
9
|
componentRef?: React.RefObject<React.Component>;
|
|
10
|
+
/**
|
|
11
|
+
* A callback to call on button click event
|
|
12
|
+
*/
|
|
10
13
|
onClick?: (e: InteractionEvent) => void;
|
|
11
14
|
}
|
|
12
15
|
export interface MenuTriggerState {
|