@fluentui-react-native/menu 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.json +16 -1
- package/CHANGELOG.md +10 -2
- package/lib/Menu/Menu.js +1 -1
- package/lib/Menu/Menu.types.d.ts +2 -0
- package/lib/Menu/Menu.types.d.ts.map +1 -1
- package/lib/Menu/Menu.types.js.map +1 -1
- package/lib/Menu/useMenu.d.ts.map +1 -1
- package/lib/Menu/useMenu.js +2 -0
- package/lib/Menu/useMenu.js.map +1 -1
- package/lib/Menu/useMenuContextValue.js +1 -1
- package/lib/Menu/useMenuContextValue.js.map +1 -1
- package/lib/MenuPopover/MenuPopover.js +4 -4
- package/lib/MenuPopover/MenuPopover.js.map +1 -1
- package/lib/MenuPopover/MenuPopover.types.d.ts +2 -0
- package/lib/MenuPopover/MenuPopover.types.d.ts.map +1 -1
- package/lib/MenuPopover/useMenuPopover.d.ts +2 -0
- package/lib/MenuPopover/useMenuPopover.d.ts.map +1 -1
- package/lib/MenuPopover/useMenuPopover.js +6 -1
- package/lib/MenuPopover/useMenuPopover.js.map +1 -1
- package/lib/MenuTrigger/useMenuTrigger.d.ts +2 -0
- package/lib/MenuTrigger/useMenuTrigger.d.ts.map +1 -1
- package/lib/MenuTrigger/useMenuTrigger.js +2 -1
- package/lib/MenuTrigger/useMenuTrigger.js.map +1 -1
- package/lib/context/menuContext.d.ts.map +1 -1
- package/lib/context/menuContext.js +1 -0
- package/lib/context/menuContext.js.map +1 -1
- package/lib-commonjs/Menu/Menu.js +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/Menu.types.js.map +1 -1
- package/lib-commonjs/Menu/useMenu.d.ts.map +1 -1
- package/lib-commonjs/Menu/useMenu.js +2 -0
- package/lib-commonjs/Menu/useMenu.js.map +1 -1
- package/lib-commonjs/Menu/useMenuContextValue.js +1 -1
- package/lib-commonjs/Menu/useMenuContextValue.js.map +1 -1
- package/lib-commonjs/MenuPopover/MenuPopover.js +4 -4
- package/lib-commonjs/MenuPopover/MenuPopover.js.map +1 -1
- package/lib-commonjs/MenuPopover/MenuPopover.types.d.ts +2 -0
- package/lib-commonjs/MenuPopover/MenuPopover.types.d.ts.map +1 -1
- package/lib-commonjs/MenuPopover/useMenuPopover.d.ts +2 -0
- package/lib-commonjs/MenuPopover/useMenuPopover.d.ts.map +1 -1
- package/lib-commonjs/MenuPopover/useMenuPopover.js +9 -0
- package/lib-commonjs/MenuPopover/useMenuPopover.js.map +1 -1
- package/lib-commonjs/MenuTrigger/useMenuTrigger.d.ts +2 -0
- package/lib-commonjs/MenuTrigger/useMenuTrigger.d.ts.map +1 -1
- package/lib-commonjs/MenuTrigger/useMenuTrigger.js +2 -1
- package/lib-commonjs/MenuTrigger/useMenuTrigger.js.map +1 -1
- package/lib-commonjs/context/menuContext.d.ts.map +1 -1
- package/lib-commonjs/context/menuContext.js +1 -0
- package/lib-commonjs/context/menuContext.js.map +1 -1
- package/package.json +1 -1
- package/src/Menu/Menu.tsx +1 -1
- package/src/Menu/Menu.types.ts +2 -0
- package/src/Menu/useMenu.ts +2 -0
- package/src/Menu/useMenuContextValue.ts +1 -1
- package/src/MenuPopover/MenuPopover.tsx +4 -4
- package/src/MenuPopover/MenuPopover.types.ts +3 -1
- package/src/MenuPopover/useMenuPopover.ts +10 -0
- package/src/MenuTrigger/useMenuTrigger.ts +2 -1
- package/src/context/menuContext.ts +1 -0
package/CHANGELOG.json
CHANGED
|
@@ -2,7 +2,22 @@
|
|
|
2
2
|
"name": "@fluentui-react-native/menu",
|
|
3
3
|
"entries": [
|
|
4
4
|
{
|
|
5
|
-
"date": "
|
|
5
|
+
"date": "Mon, 25 Apr 2022 18:30:53 GMT",
|
|
6
|
+
"tag": "@fluentui-react-native/menu_v0.3.0",
|
|
7
|
+
"version": "0.3.0",
|
|
8
|
+
"comments": {
|
|
9
|
+
"minor": [
|
|
10
|
+
{
|
|
11
|
+
"author": "ruaraki@microsoft.com",
|
|
12
|
+
"package": "@fluentui-react-native/menu",
|
|
13
|
+
"commit": "add49a0b6438cb088e99b50648f09a69bdaaecdb",
|
|
14
|
+
"comment": "Implement target behavior"
|
|
15
|
+
}
|
|
16
|
+
]
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"date": "Fri, 22 Apr 2022 22:51:25 GMT",
|
|
6
21
|
"tag": "@fluentui-react-native/menu_v0.2.0",
|
|
7
22
|
"version": "0.2.0",
|
|
8
23
|
"comments": {
|
package/CHANGELOG.md
CHANGED
|
@@ -1,12 +1,20 @@
|
|
|
1
1
|
# Change Log - @fluentui-react-native/menu
|
|
2
2
|
|
|
3
|
-
This log was last generated on
|
|
3
|
+
This log was last generated on Mon, 25 Apr 2022 18:30:53 GMT and should not be manually modified.
|
|
4
4
|
|
|
5
5
|
<!-- Start content -->
|
|
6
6
|
|
|
7
|
+
## 0.3.0
|
|
8
|
+
|
|
9
|
+
Mon, 25 Apr 2022 18:30:53 GMT
|
|
10
|
+
|
|
11
|
+
### Minor changes
|
|
12
|
+
|
|
13
|
+
- Implement target behavior (ruaraki@microsoft.com)
|
|
14
|
+
|
|
7
15
|
## 0.2.0
|
|
8
16
|
|
|
9
|
-
Fri, 22 Apr 2022 22:51:
|
|
17
|
+
Fri, 22 Apr 2022 22:51:25 GMT
|
|
10
18
|
|
|
11
19
|
### Minor changes
|
|
12
20
|
|
package/lib/Menu/Menu.js
CHANGED
|
@@ -10,7 +10,7 @@ export var Menu = stagedComponent(function (props) {
|
|
|
10
10
|
return function (_rest, children) {
|
|
11
11
|
var childrenArray = React.Children.toArray(children);
|
|
12
12
|
if (__DEV__) {
|
|
13
|
-
if (childrenArray.length
|
|
13
|
+
if (childrenArray.length !== 2) {
|
|
14
14
|
// eslint-disable-next-line no-console
|
|
15
15
|
console.warn('Menu must contain two children');
|
|
16
16
|
}
|
package/lib/Menu/Menu.types.d.ts
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import type { IViewProps } from '@fluentui-react-native/adapters';
|
|
2
|
+
import React from 'react';
|
|
2
3
|
export declare const menuName = "Menu";
|
|
3
4
|
export interface MenuProps extends Omit<IViewProps, 'onPress'> {
|
|
4
5
|
open?: boolean;
|
|
5
6
|
}
|
|
6
7
|
export interface MenuState extends MenuProps {
|
|
7
8
|
setOpen: (isOpen: boolean) => void;
|
|
9
|
+
triggerRef: React.RefObject<React.Component>;
|
|
8
10
|
}
|
|
9
11
|
//# sourceMappingURL=Menu.types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Menu.types.d.ts","sourceRoot":"","sources":["../../src/Menu/Menu.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"Menu.types.d.ts","sourceRoot":"","sources":["../../src/Menu/Menu.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,eAAO,MAAM,QAAQ,SAAS,CAAC;AAE/B,MAAM,WAAW,SAAU,SAAQ,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC;IAC5D,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,SAAU,SAAQ,SAAS;IAC1C,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;CAC9C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Menu.types.js","sourceRoot":"","sources":["../../src/Menu/Menu.types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Menu.types.js","sourceRoot":"","sources":["../../src/Menu/Menu.types.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,IAAM,QAAQ,GAAG,MAAM,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMenu.d.ts","sourceRoot":"","sources":["../../src/Menu/useMenu.ts"],"names":[],"mappings":"AACA,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":"AACA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEpD,eAAO,MAAM,OAAO,UAAW,SAAS,KAAG,SAS1C,CAAC"}
|
package/lib/Menu/useMenu.js
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
export var useMenu = function (props) {
|
|
3
3
|
var _a = useMenuOpenState(props), open = _a[0], setOpen = _a[1];
|
|
4
|
+
var triggerRef = React.useRef(null);
|
|
4
5
|
return {
|
|
5
6
|
open: open,
|
|
6
7
|
setOpen: setOpen,
|
|
8
|
+
triggerRef: triggerRef,
|
|
7
9
|
};
|
|
8
10
|
};
|
|
9
11
|
var useMenuOpenState = function (props) {
|
package/lib/Menu/useMenu.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMenu.js","sourceRoot":"","sources":["../../src/Menu/useMenu.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,CAAC,IAAM,OAAO,GAAG,UAAC,KAAgB;IAChC,IAAA,KAAkB,gBAAgB,CAAC,KAAK,CAAC,EAAxC,IAAI,QAAA,EAAE,OAAO,QAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"useMenu.js","sourceRoot":"","sources":["../../src/Menu/useMenu.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,CAAC,IAAM,OAAO,GAAG,UAAC,KAAgB;IAChC,IAAA,KAAkB,gBAAgB,CAAC,KAAK,CAAC,EAAxC,IAAI,QAAA,EAAE,OAAO,QAA2B,CAAC;IAChD,IAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAEtC,OAAO;QACL,IAAI,MAAA;QACJ,OAAO,SAAA;QACP,UAAU,YAAA;KACX,CAAC;AACJ,CAAC,CAAC;AAEF,IAAM,gBAAgB,GAAG,UAAC,KAAgB;IACxC,OAAO,KAAK,CAAC,QAAQ,CAAU,KAAK,CAAC,IAAI,CAAC,CAAC;AAC7C,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMenuContextValue.js","sourceRoot":"","sources":["../../src/Menu/useMenuContextValue.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,IAAM,mBAAmB,GAAG,UAAC,KAAgB;IAClD,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"useMenuContextValue.js","sourceRoot":"","sources":["../../src/Menu/useMenuContextValue.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,IAAM,mBAAmB,GAAG,UAAC,KAAgB;IAClD,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC;AACpF,CAAC,CAAC"}
|
|
@@ -2,11 +2,11 @@ import React from 'react';
|
|
|
2
2
|
import { stagedComponent } from '@fluentui-react-native/framework';
|
|
3
3
|
import { Callout } from '@fluentui-react-native/callout';
|
|
4
4
|
import { menuPopoverName } from './MenuPopover.types';
|
|
5
|
-
import {
|
|
6
|
-
export var MenuPopover = stagedComponent(function (
|
|
7
|
-
var
|
|
5
|
+
import { useMenuPopover } from './useMenuPopover';
|
|
6
|
+
export var MenuPopover = stagedComponent(function (props) {
|
|
7
|
+
var state = useMenuPopover(props);
|
|
8
8
|
return function (_rest, children) {
|
|
9
|
-
return
|
|
9
|
+
return React.createElement(Callout, { target: state.triggerRef }, children);
|
|
10
10
|
};
|
|
11
11
|
});
|
|
12
12
|
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,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,EAAE,eAAe,EAAoB,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,
|
|
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,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,EAAE,eAAe,EAAoB,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,MAAM,CAAC,IAAM,WAAW,GAAG,eAAe,CAAC,UAAC,KAAuB;IACjE,IAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IAEpC,OAAO,UAAC,KAAuB,EAAE,QAAyB;QACxD,OAAO,oBAAC,OAAO,IAAC,MAAM,EAAE,KAAK,CAAC,UAAU,IAAG,QAAQ,CAAW,CAAC;IACjE,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AACH,WAAW,CAAC,WAAW,GAAG,eAAe,CAAC;AAE1C,eAAe,WAAW,CAAC"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
1
2
|
import type { IViewProps } from '@fluentui-react-native/adapters';
|
|
2
3
|
export declare const menuPopoverName = "MenuPopover";
|
|
3
4
|
export interface MenuPopoverProps extends Omit<IViewProps, 'onPress'> {
|
|
4
5
|
}
|
|
5
6
|
export interface MenuPopoverState {
|
|
7
|
+
triggerRef: React.RefObject<React.Component>;
|
|
6
8
|
}
|
|
7
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":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAElE,eAAO,MAAM,eAAe,gBAAgB,CAAC;AAE7C,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC;CAAG;AAExE,MAAM,WAAW,gBAAgB;
|
|
1
|
+
{"version":3,"file":"MenuPopover.types.d.ts","sourceRoot":"","sources":["../../src/MenuPopover/MenuPopover.types.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAElE,eAAO,MAAM,eAAe,gBAAgB,CAAC;AAE7C,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC;CAAG;AAExE,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;CAC9C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMenuPopover.d.ts","sourceRoot":"","sources":["../../src/MenuPopover/useMenuPopover.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"useMenuPopover.d.ts","sourceRoot":"","sources":["../../src/MenuPopover/useMenuPopover.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEzE,eAAO,MAAM,cAAc,WAAY,gBAAgB,KAAG,gBAMzD,CAAC"}
|
|
@@ -1,2 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
import { useMenuContext } from '../context/menuContext';
|
|
2
|
+
export var useMenuPopover = function (_props) {
|
|
3
|
+
var context = useMenuContext();
|
|
4
|
+
var triggerRef = context.triggerRef;
|
|
5
|
+
return { triggerRef: triggerRef };
|
|
6
|
+
};
|
|
2
7
|
//# sourceMappingURL=useMenuPopover.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMenuPopover.js","sourceRoot":"","sources":["../../src/MenuPopover/useMenuPopover.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"useMenuPopover.js","sourceRoot":"","sources":["../../src/MenuPopover/useMenuPopover.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAGxD,MAAM,CAAC,IAAM,cAAc,GAAG,UAAC,MAAwB;IACrD,IAAM,OAAO,GAAG,cAAc,EAAE,CAAC;IAEjC,IAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAEtC,OAAO,EAAE,UAAU,YAAA,EAAE,CAAC;AACxB,CAAC,CAAC"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
1
2
|
import { InteractionEvent } from '@fluentui-react-native/interactive-hooks';
|
|
2
3
|
import { MenuTriggerProps } from './MenuTrigger.types';
|
|
3
4
|
export declare const useMenuTrigger: (_props: MenuTriggerProps) => {
|
|
4
5
|
onClick: (_e: InteractionEvent) => void;
|
|
6
|
+
componentRef: import("react").RefObject<import("react").Component<{}, {}, any>>;
|
|
5
7
|
};
|
|
6
8
|
//# sourceMappingURL=useMenuTrigger.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMenuTrigger.d.ts","sourceRoot":"","sources":["../../src/MenuTrigger/useMenuTrigger.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,eAAO,MAAM,cAAc,WAAY,gBAAgB;
|
|
1
|
+
{"version":3,"file":"useMenuTrigger.d.ts","sourceRoot":"","sources":["../../src/MenuTrigger/useMenuTrigger.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,eAAO,MAAM,cAAc,WAAY,gBAAgB;kBAOhC,gBAAgB;;CAKtC,CAAC"}
|
|
@@ -3,9 +3,10 @@ export var useMenuTrigger = function (_props) {
|
|
|
3
3
|
var context = useMenuContext();
|
|
4
4
|
var setOpen = context.setOpen;
|
|
5
5
|
var open = context.open;
|
|
6
|
+
var triggerRef = context.triggerRef;
|
|
6
7
|
var onClick = function (_e) {
|
|
7
8
|
setOpen(!open);
|
|
8
9
|
};
|
|
9
|
-
return { onClick: onClick };
|
|
10
|
+
return { onClick: onClick, componentRef: triggerRef };
|
|
10
11
|
};
|
|
11
12
|
//# sourceMappingURL=useMenuTrigger.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMenuTrigger.js","sourceRoot":"","sources":["../../src/MenuTrigger/useMenuTrigger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAIxD,MAAM,CAAC,IAAM,cAAc,GAAG,UAAC,MAAwB;IACrD,IAAM,OAAO,GAAG,cAAc,EAAE,CAAC;IAEjC,IAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAChC,IAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"useMenuTrigger.js","sourceRoot":"","sources":["../../src/MenuTrigger/useMenuTrigger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAIxD,MAAM,CAAC,IAAM,cAAc,GAAG,UAAC,MAAwB;IACrD,IAAM,OAAO,GAAG,cAAc,EAAE,CAAC;IAEjC,IAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAChC,IAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1B,IAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAEtC,IAAM,OAAO,GAAG,UAAC,EAAoB;QACnC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;IACjB,CAAC,CAAC;IAEF,OAAO,EAAE,OAAO,SAAA,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;AAC/C,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menuContext.d.ts","sourceRoot":"","sources":["../../src/context/menuContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD;;GAEG;AACH,oBAAY,gBAAgB,GAAG,SAAS,CAAC;AAEzC,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"menuContext.d.ts","sourceRoot":"","sources":["../../src/context/menuContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD;;GAEG;AACH,oBAAY,gBAAgB,GAAG,SAAS,CAAC;AAEzC,eAAO,MAAM,WAAW,0BAItB,CAAC;AAEH,eAAO,MAAM,YAAY,2BAAuB,CAAC;AACjD,eAAO,MAAM,cAAc,iBAAsC,CAAC"}
|
|
@@ -2,6 +2,7 @@ import * as React from 'react';
|
|
|
2
2
|
export var MenuContext = React.createContext({
|
|
3
3
|
open: false,
|
|
4
4
|
setOpen: function () { return false; },
|
|
5
|
+
triggerRef: null,
|
|
5
6
|
});
|
|
6
7
|
export var MenuProvider = MenuContext.Provider;
|
|
7
8
|
export var useMenuContext = function () { return React.useContext(MenuContext); };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menuContext.js","sourceRoot":"","sources":["../../src/context/menuContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B,MAAM,CAAC,IAAM,WAAW,GAAG,KAAK,CAAC,aAAa,CAAmB;IAC/D,IAAI,EAAE,KAAK;IACX,OAAO,EAAE,cAAM,OAAA,KAAK,EAAL,CAAK;
|
|
1
|
+
{"version":3,"file":"menuContext.js","sourceRoot":"","sources":["../../src/context/menuContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B,MAAM,CAAC,IAAM,WAAW,GAAG,KAAK,CAAC,aAAa,CAAmB;IAC/D,IAAI,EAAE,KAAK;IACX,OAAO,EAAE,cAAM,OAAA,KAAK,EAAL,CAAK;IACpB,UAAU,EAAE,IAAI;CACjB,CAAC,CAAC;AAEH,MAAM,CAAC,IAAM,YAAY,GAAG,WAAW,CAAC,QAAQ,CAAC;AACjD,MAAM,CAAC,IAAM,cAAc,GAAG,cAAM,OAAA,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,EAA7B,CAA6B,CAAC"}
|
|
@@ -14,7 +14,7 @@ exports.Menu = (0, framework_1.stagedComponent)(function (props) {
|
|
|
14
14
|
return function (_rest, children) {
|
|
15
15
|
var childrenArray = react_1.default.Children.toArray(children);
|
|
16
16
|
if (__DEV__) {
|
|
17
|
-
if (childrenArray.length
|
|
17
|
+
if (childrenArray.length !== 2) {
|
|
18
18
|
// eslint-disable-next-line no-console
|
|
19
19
|
console.warn('Menu must contain two children');
|
|
20
20
|
}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import type { IViewProps } from '@fluentui-react-native/adapters';
|
|
2
|
+
import React from 'react';
|
|
2
3
|
export declare const menuName = "Menu";
|
|
3
4
|
export interface MenuProps extends Omit<IViewProps, 'onPress'> {
|
|
4
5
|
open?: boolean;
|
|
5
6
|
}
|
|
6
7
|
export interface MenuState extends MenuProps {
|
|
7
8
|
setOpen: (isOpen: boolean) => void;
|
|
9
|
+
triggerRef: React.RefObject<React.Component>;
|
|
8
10
|
}
|
|
9
11
|
//# sourceMappingURL=Menu.types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Menu.types.d.ts","sourceRoot":"","sources":["../../src/Menu/Menu.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"Menu.types.d.ts","sourceRoot":"","sources":["../../src/Menu/Menu.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,eAAO,MAAM,QAAQ,SAAS,CAAC;AAE/B,MAAM,WAAW,SAAU,SAAQ,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC;IAC5D,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,SAAU,SAAQ,SAAS;IAC1C,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;CAC9C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Menu.types.js","sourceRoot":"","sources":["../../src/Menu/Menu.types.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"Menu.types.js","sourceRoot":"","sources":["../../src/Menu/Menu.types.ts"],"names":[],"mappings":";;;AAGa,QAAA,QAAQ,GAAG,MAAM,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMenu.d.ts","sourceRoot":"","sources":["../../src/Menu/useMenu.ts"],"names":[],"mappings":"AACA,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":"AACA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEpD,eAAO,MAAM,OAAO,UAAW,SAAS,KAAG,SAS1C,CAAC"}
|
|
@@ -5,9 +5,11 @@ var tslib_1 = require("tslib");
|
|
|
5
5
|
var react_1 = (0, tslib_1.__importDefault)(require("react"));
|
|
6
6
|
var useMenu = function (props) {
|
|
7
7
|
var _a = useMenuOpenState(props), open = _a[0], setOpen = _a[1];
|
|
8
|
+
var triggerRef = react_1.default.useRef(null);
|
|
8
9
|
return {
|
|
9
10
|
open: open,
|
|
10
11
|
setOpen: setOpen,
|
|
12
|
+
triggerRef: triggerRef,
|
|
11
13
|
};
|
|
12
14
|
};
|
|
13
15
|
exports.useMenu = useMenu;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMenu.js","sourceRoot":"","sources":["../../src/Menu/useMenu.ts"],"names":[],"mappings":";;;;AAAA,6DAA0B;AAGnB,IAAM,OAAO,GAAG,UAAC,KAAgB;IAChC,IAAA,KAAkB,gBAAgB,CAAC,KAAK,CAAC,EAAxC,IAAI,QAAA,EAAE,OAAO,QAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"useMenu.js","sourceRoot":"","sources":["../../src/Menu/useMenu.ts"],"names":[],"mappings":";;;;AAAA,6DAA0B;AAGnB,IAAM,OAAO,GAAG,UAAC,KAAgB;IAChC,IAAA,KAAkB,gBAAgB,CAAC,KAAK,CAAC,EAAxC,IAAI,QAAA,EAAE,OAAO,QAA2B,CAAC;IAChD,IAAM,UAAU,GAAG,eAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAEtC,OAAO;QACL,IAAI,MAAA;QACJ,OAAO,SAAA;QACP,UAAU,YAAA;KACX,CAAC;AACJ,CAAC,CAAC;AATW,QAAA,OAAO,WASlB;AAEF,IAAM,gBAAgB,GAAG,UAAC,KAAgB;IACxC,OAAO,eAAK,CAAC,QAAQ,CAAU,KAAK,CAAC,IAAI,CAAC,CAAC;AAC7C,CAAC,CAAC"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.useMenuContextValue = void 0;
|
|
4
4
|
var useMenuContextValue = function (state) {
|
|
5
|
-
return { open: state.open, setOpen: state.setOpen };
|
|
5
|
+
return { open: state.open, setOpen: state.setOpen, triggerRef: state.triggerRef };
|
|
6
6
|
};
|
|
7
7
|
exports.useMenuContextValue = useMenuContextValue;
|
|
8
8
|
//# sourceMappingURL=useMenuContextValue.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMenuContextValue.js","sourceRoot":"","sources":["../../src/Menu/useMenuContextValue.ts"],"names":[],"mappings":";;;AAGO,IAAM,mBAAmB,GAAG,UAAC,KAAgB;IAClD,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"useMenuContextValue.js","sourceRoot":"","sources":["../../src/Menu/useMenuContextValue.ts"],"names":[],"mappings":";;;AAGO,IAAM,mBAAmB,GAAG,UAAC,KAAgB;IAClD,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC;AACpF,CAAC,CAAC;AAFW,QAAA,mBAAmB,uBAE9B"}
|
|
@@ -6,11 +6,11 @@ var react_1 = (0, tslib_1.__importDefault)(require("react"));
|
|
|
6
6
|
var framework_1 = require("@fluentui-react-native/framework");
|
|
7
7
|
var callout_1 = require("@fluentui-react-native/callout");
|
|
8
8
|
var MenuPopover_types_1 = require("./MenuPopover.types");
|
|
9
|
-
var
|
|
10
|
-
exports.MenuPopover = (0, framework_1.stagedComponent)(function (
|
|
11
|
-
var
|
|
9
|
+
var useMenuPopover_1 = require("./useMenuPopover");
|
|
10
|
+
exports.MenuPopover = (0, framework_1.stagedComponent)(function (props) {
|
|
11
|
+
var state = (0, useMenuPopover_1.useMenuPopover)(props);
|
|
12
12
|
return function (_rest, children) {
|
|
13
|
-
return
|
|
13
|
+
return react_1.default.createElement(callout_1.Callout, { target: state.triggerRef }, children);
|
|
14
14
|
};
|
|
15
15
|
});
|
|
16
16
|
exports.MenuPopover.displayName = MenuPopover_types_1.menuPopoverName;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuPopover.js","sourceRoot":"","sources":["../../src/MenuPopover/MenuPopover.tsx"],"names":[],"mappings":";;;;AAAA,6DAA0B;AAC1B,8DAAmE;AACnE,0DAAyD;AACzD,yDAAwE;AACxE,
|
|
1
|
+
{"version":3,"file":"MenuPopover.js","sourceRoot":"","sources":["../../src/MenuPopover/MenuPopover.tsx"],"names":[],"mappings":";;;;AAAA,6DAA0B;AAC1B,8DAAmE;AACnE,0DAAyD;AACzD,yDAAwE;AACxE,mDAAkD;AAErC,QAAA,WAAW,GAAG,IAAA,2BAAe,EAAC,UAAC,KAAuB;IACjE,IAAM,KAAK,GAAG,IAAA,+BAAc,EAAC,KAAK,CAAC,CAAC;IAEpC,OAAO,UAAC,KAAuB,EAAE,QAAyB;QACxD,OAAO,8BAAC,iBAAO,IAAC,MAAM,EAAE,KAAK,CAAC,UAAU,IAAG,QAAQ,CAAW,CAAC;IACjE,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AACH,mBAAW,CAAC,WAAW,GAAG,mCAAe,CAAC;AAE1C,kBAAe,mBAAW,CAAC"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
1
2
|
import type { IViewProps } from '@fluentui-react-native/adapters';
|
|
2
3
|
export declare const menuPopoverName = "MenuPopover";
|
|
3
4
|
export interface MenuPopoverProps extends Omit<IViewProps, 'onPress'> {
|
|
4
5
|
}
|
|
5
6
|
export interface MenuPopoverState {
|
|
7
|
+
triggerRef: React.RefObject<React.Component>;
|
|
6
8
|
}
|
|
7
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":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAElE,eAAO,MAAM,eAAe,gBAAgB,CAAC;AAE7C,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC;CAAG;AAExE,MAAM,WAAW,gBAAgB;
|
|
1
|
+
{"version":3,"file":"MenuPopover.types.d.ts","sourceRoot":"","sources":["../../src/MenuPopover/MenuPopover.types.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAElE,eAAO,MAAM,eAAe,gBAAgB,CAAC;AAE7C,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC;CAAG;AAExE,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;CAC9C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMenuPopover.d.ts","sourceRoot":"","sources":["../../src/MenuPopover/useMenuPopover.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"useMenuPopover.d.ts","sourceRoot":"","sources":["../../src/MenuPopover/useMenuPopover.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEzE,eAAO,MAAM,cAAc,WAAY,gBAAgB,KAAG,gBAMzD,CAAC"}
|
|
@@ -1,2 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useMenuPopover = void 0;
|
|
4
|
+
var menuContext_1 = require("../context/menuContext");
|
|
5
|
+
var useMenuPopover = function (_props) {
|
|
6
|
+
var context = (0, menuContext_1.useMenuContext)();
|
|
7
|
+
var triggerRef = context.triggerRef;
|
|
8
|
+
return { triggerRef: triggerRef };
|
|
9
|
+
};
|
|
10
|
+
exports.useMenuPopover = useMenuPopover;
|
|
2
11
|
//# sourceMappingURL=useMenuPopover.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMenuPopover.js","sourceRoot":"","sources":["../../src/MenuPopover/useMenuPopover.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"useMenuPopover.js","sourceRoot":"","sources":["../../src/MenuPopover/useMenuPopover.ts"],"names":[],"mappings":";;;AAAA,sDAAwD;AAGjD,IAAM,cAAc,GAAG,UAAC,MAAwB;IACrD,IAAM,OAAO,GAAG,IAAA,4BAAc,GAAE,CAAC;IAEjC,IAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAEtC,OAAO,EAAE,UAAU,YAAA,EAAE,CAAC;AACxB,CAAC,CAAC;AANW,QAAA,cAAc,kBAMzB"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
1
2
|
import { InteractionEvent } from '@fluentui-react-native/interactive-hooks';
|
|
2
3
|
import { MenuTriggerProps } from './MenuTrigger.types';
|
|
3
4
|
export declare const useMenuTrigger: (_props: MenuTriggerProps) => {
|
|
4
5
|
onClick: (_e: InteractionEvent) => void;
|
|
6
|
+
componentRef: import("react").RefObject<import("react").Component<{}, {}, any>>;
|
|
5
7
|
};
|
|
6
8
|
//# sourceMappingURL=useMenuTrigger.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMenuTrigger.d.ts","sourceRoot":"","sources":["../../src/MenuTrigger/useMenuTrigger.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,eAAO,MAAM,cAAc,WAAY,gBAAgB;
|
|
1
|
+
{"version":3,"file":"useMenuTrigger.d.ts","sourceRoot":"","sources":["../../src/MenuTrigger/useMenuTrigger.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,eAAO,MAAM,cAAc,WAAY,gBAAgB;kBAOhC,gBAAgB;;CAKtC,CAAC"}
|
|
@@ -6,10 +6,11 @@ var useMenuTrigger = function (_props) {
|
|
|
6
6
|
var context = (0, menuContext_1.useMenuContext)();
|
|
7
7
|
var setOpen = context.setOpen;
|
|
8
8
|
var open = context.open;
|
|
9
|
+
var triggerRef = context.triggerRef;
|
|
9
10
|
var onClick = function (_e) {
|
|
10
11
|
setOpen(!open);
|
|
11
12
|
};
|
|
12
|
-
return { onClick: onClick };
|
|
13
|
+
return { onClick: onClick, componentRef: triggerRef };
|
|
13
14
|
};
|
|
14
15
|
exports.useMenuTrigger = useMenuTrigger;
|
|
15
16
|
//# sourceMappingURL=useMenuTrigger.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMenuTrigger.js","sourceRoot":"","sources":["../../src/MenuTrigger/useMenuTrigger.ts"],"names":[],"mappings":";;;AAAA,sDAAwD;AAIjD,IAAM,cAAc,GAAG,UAAC,MAAwB;IACrD,IAAM,OAAO,GAAG,IAAA,4BAAc,GAAE,CAAC;IAEjC,IAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAChC,IAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"useMenuTrigger.js","sourceRoot":"","sources":["../../src/MenuTrigger/useMenuTrigger.ts"],"names":[],"mappings":";;;AAAA,sDAAwD;AAIjD,IAAM,cAAc,GAAG,UAAC,MAAwB;IACrD,IAAM,OAAO,GAAG,IAAA,4BAAc,GAAE,CAAC;IAEjC,IAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAChC,IAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1B,IAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAEtC,IAAM,OAAO,GAAG,UAAC,EAAoB;QACnC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;IACjB,CAAC,CAAC;IAEF,OAAO,EAAE,OAAO,SAAA,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;AAC/C,CAAC,CAAC;AAZW,QAAA,cAAc,kBAYzB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menuContext.d.ts","sourceRoot":"","sources":["../../src/context/menuContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD;;GAEG;AACH,oBAAY,gBAAgB,GAAG,SAAS,CAAC;AAEzC,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"menuContext.d.ts","sourceRoot":"","sources":["../../src/context/menuContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD;;GAEG;AACH,oBAAY,gBAAgB,GAAG,SAAS,CAAC;AAEzC,eAAO,MAAM,WAAW,0BAItB,CAAC;AAEH,eAAO,MAAM,YAAY,2BAAuB,CAAC;AACjD,eAAO,MAAM,cAAc,iBAAsC,CAAC"}
|
|
@@ -6,6 +6,7 @@ var React = (0, tslib_1.__importStar)(require("react"));
|
|
|
6
6
|
exports.MenuContext = React.createContext({
|
|
7
7
|
open: false,
|
|
8
8
|
setOpen: function () { return false; },
|
|
9
|
+
triggerRef: null,
|
|
9
10
|
});
|
|
10
11
|
exports.MenuProvider = exports.MenuContext.Provider;
|
|
11
12
|
var useMenuContext = function () { return React.useContext(exports.MenuContext); };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menuContext.js","sourceRoot":"","sources":["../../src/context/menuContext.ts"],"names":[],"mappings":";;;;AAAA,wDAA+B;AAQlB,QAAA,WAAW,GAAG,KAAK,CAAC,aAAa,CAAmB;IAC/D,IAAI,EAAE,KAAK;IACX,OAAO,EAAE,cAAM,OAAA,KAAK,EAAL,CAAK;
|
|
1
|
+
{"version":3,"file":"menuContext.js","sourceRoot":"","sources":["../../src/context/menuContext.ts"],"names":[],"mappings":";;;;AAAA,wDAA+B;AAQlB,QAAA,WAAW,GAAG,KAAK,CAAC,aAAa,CAAmB;IAC/D,IAAI,EAAE,KAAK;IACX,OAAO,EAAE,cAAM,OAAA,KAAK,EAAL,CAAK;IACpB,UAAU,EAAE,IAAI;CACjB,CAAC,CAAC;AAEU,QAAA,YAAY,GAAG,mBAAW,CAAC,QAAQ,CAAC;AAC1C,IAAM,cAAc,GAAG,cAAM,OAAA,KAAK,CAAC,UAAU,CAAC,mBAAW,CAAC,EAA7B,CAA6B,CAAC;AAArD,QAAA,cAAc,kBAAuC"}
|
package/package.json
CHANGED
package/src/Menu/Menu.tsx
CHANGED
|
@@ -13,7 +13,7 @@ export const Menu = stagedComponent((props: MenuProps) => {
|
|
|
13
13
|
const childrenArray = React.Children.toArray(children) as React.ReactElement[];
|
|
14
14
|
|
|
15
15
|
if (__DEV__) {
|
|
16
|
-
if (childrenArray.length
|
|
16
|
+
if (childrenArray.length !== 2) {
|
|
17
17
|
// eslint-disable-next-line no-console
|
|
18
18
|
console.warn('Menu must contain two children');
|
|
19
19
|
}
|
package/src/Menu/Menu.types.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { IViewProps } from '@fluentui-react-native/adapters';
|
|
2
|
+
import React from 'react';
|
|
2
3
|
|
|
3
4
|
export const menuName = 'Menu';
|
|
4
5
|
|
|
@@ -8,4 +9,5 @@ export interface MenuProps extends Omit<IViewProps, 'onPress'> {
|
|
|
8
9
|
|
|
9
10
|
export interface MenuState extends MenuProps {
|
|
10
11
|
setOpen: (isOpen: boolean) => void;
|
|
12
|
+
triggerRef: React.RefObject<React.Component>;
|
|
11
13
|
}
|
package/src/Menu/useMenu.ts
CHANGED
|
@@ -3,10 +3,12 @@ import { MenuProps, MenuState } from './Menu.types';
|
|
|
3
3
|
|
|
4
4
|
export const useMenu = (props: MenuProps): MenuState => {
|
|
5
5
|
const [open, setOpen] = useMenuOpenState(props);
|
|
6
|
+
const triggerRef = React.useRef(null);
|
|
6
7
|
|
|
7
8
|
return {
|
|
8
9
|
open,
|
|
9
10
|
setOpen,
|
|
11
|
+
triggerRef,
|
|
10
12
|
};
|
|
11
13
|
};
|
|
12
14
|
|
|
@@ -2,5 +2,5 @@ import { MenuContextValue } from '../context/menuContext';
|
|
|
2
2
|
import { MenuState } from './Menu.types';
|
|
3
3
|
|
|
4
4
|
export const useMenuContextValue = (state: MenuState): MenuContextValue => {
|
|
5
|
-
return { open: state.open, setOpen: state.setOpen };
|
|
5
|
+
return { open: state.open, setOpen: state.setOpen, triggerRef: state.triggerRef };
|
|
6
6
|
};
|
|
@@ -2,13 +2,13 @@ import React from 'react';
|
|
|
2
2
|
import { stagedComponent } from '@fluentui-react-native/framework';
|
|
3
3
|
import { Callout } from '@fluentui-react-native/callout';
|
|
4
4
|
import { menuPopoverName, MenuPopoverProps } from './MenuPopover.types';
|
|
5
|
-
import {
|
|
5
|
+
import { useMenuPopover } from './useMenuPopover';
|
|
6
6
|
|
|
7
|
-
export const MenuPopover = stagedComponent((
|
|
8
|
-
const
|
|
7
|
+
export const MenuPopover = stagedComponent((props: MenuPopoverProps) => {
|
|
8
|
+
const state = useMenuPopover(props);
|
|
9
9
|
|
|
10
10
|
return (_rest: MenuPopoverProps, children: React.ReactNode) => {
|
|
11
|
-
return
|
|
11
|
+
return <Callout target={state.triggerRef}>{children}</Callout>;
|
|
12
12
|
};
|
|
13
13
|
});
|
|
14
14
|
MenuPopover.displayName = menuPopoverName;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { useMenuContext } from '../context/menuContext';
|
|
2
|
+
import { MenuPopoverProps, MenuPopoverState } from './MenuPopover.types';
|
|
3
|
+
|
|
4
|
+
export const useMenuPopover = (_props: MenuPopoverProps): MenuPopoverState => {
|
|
5
|
+
const context = useMenuContext();
|
|
6
|
+
|
|
7
|
+
const triggerRef = context.triggerRef;
|
|
8
|
+
|
|
9
|
+
return { triggerRef };
|
|
10
|
+
};
|
|
@@ -7,10 +7,11 @@ export const useMenuTrigger = (_props: MenuTriggerProps) => {
|
|
|
7
7
|
|
|
8
8
|
const setOpen = context.setOpen;
|
|
9
9
|
const open = context.open;
|
|
10
|
+
const triggerRef = context.triggerRef;
|
|
10
11
|
|
|
11
12
|
const onClick = (_e: InteractionEvent) => {
|
|
12
13
|
setOpen(!open);
|
|
13
14
|
};
|
|
14
15
|
|
|
15
|
-
return { onClick };
|
|
16
|
+
return { onClick, componentRef: triggerRef };
|
|
16
17
|
};
|