@fluentui-react-native/menu 0.9.1 → 0.10.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 +132 -7
- package/CHANGELOG.md +42 -2
- package/lib/MenuItemCheckbox/MenuItemCheckbox.d.ts +4 -2
- package/lib/MenuItemCheckbox/MenuItemCheckbox.d.ts.map +1 -1
- package/lib/MenuItemCheckbox/MenuItemCheckbox.js +11 -8
- package/lib/MenuItemCheckbox/MenuItemCheckbox.js.map +1 -1
- package/lib/MenuItemCheckbox/useMenuItemCheckbox.d.ts +10 -0
- package/lib/MenuItemCheckbox/useMenuItemCheckbox.d.ts.map +1 -1
- package/lib/MenuItemCheckbox/useMenuItemCheckbox.js +28 -14
- package/lib/MenuItemCheckbox/useMenuItemCheckbox.js.map +1 -1
- package/lib/MenuItemRadio/MenuItemRadio.d.ts +4 -0
- package/lib/MenuItemRadio/MenuItemRadio.d.ts.map +1 -0
- package/lib/MenuItemRadio/MenuItemRadio.js +12 -0
- package/lib/MenuItemRadio/MenuItemRadio.js.map +1 -0
- package/lib/MenuItemRadio/useMenuItemRadio.d.ts +3 -0
- package/lib/MenuItemRadio/useMenuItemRadio.d.ts.map +1 -0
- package/lib/MenuItemRadio/useMenuItemRadio.js +15 -0
- package/lib/MenuItemRadio/useMenuItemRadio.js.map +1 -0
- package/lib/MenuList/MenuList.d.ts +0 -1
- package/lib/MenuList/MenuList.d.ts.map +1 -1
- package/lib/MenuList/MenuList.js +23 -5
- package/lib/MenuList/MenuList.js.map +1 -1
- package/lib/MenuList/MenuList.styling.d.ts.map +1 -1
- package/lib/MenuList/MenuList.styling.js +2 -1
- package/lib/MenuList/MenuList.styling.js.map +1 -1
- package/lib/MenuList/MenuList.types.d.ts +5 -1
- package/lib/MenuList/MenuList.types.d.ts.map +1 -1
- package/lib/MenuList/MenuListTokens.d.ts.map +1 -1
- package/lib/MenuList/MenuListTokens.js +1 -0
- package/lib/MenuList/MenuListTokens.js.map +1 -1
- package/lib/MenuList/useMenuList.d.ts.map +1 -1
- package/lib/MenuList/useMenuList.js +13 -3
- package/lib/MenuList/useMenuList.js.map +1 -1
- package/lib/MenuList/{useMenuContextValue.d.ts → useMenuListContextValue.d.ts} +1 -1
- package/lib/MenuList/useMenuListContextValue.d.ts.map +1 -0
- package/lib/MenuList/{useMenuContextValue.js → useMenuListContextValue.js} +1 -1
- package/lib/MenuList/useMenuListContextValue.js.map +1 -0
- package/lib/MenuPopover/MenuPopover.d.ts.map +1 -1
- package/lib/MenuPopover/MenuPopover.js +1 -1
- 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.map +1 -1
- package/lib/MenuPopover/useMenuPopover.js +6 -1
- package/lib/MenuPopover/useMenuPopover.js.map +1 -1
- package/lib/MenuTrigger/useMenuTrigger.d.ts +3 -0
- package/lib/MenuTrigger/useMenuTrigger.d.ts.map +1 -1
- package/lib/MenuTrigger/useMenuTrigger.js +11 -1
- package/lib/MenuTrigger/useMenuTrigger.js.map +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.d.ts +4 -2
- package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.d.ts.map +1 -1
- package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.js +12 -8
- package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.js.map +1 -1
- package/lib-commonjs/MenuItemCheckbox/useMenuItemCheckbox.d.ts +10 -0
- package/lib-commonjs/MenuItemCheckbox/useMenuItemCheckbox.d.ts.map +1 -1
- package/lib-commonjs/MenuItemCheckbox/useMenuItemCheckbox.js +31 -16
- package/lib-commonjs/MenuItemCheckbox/useMenuItemCheckbox.js.map +1 -1
- package/lib-commonjs/MenuItemRadio/MenuItemRadio.d.ts +4 -0
- package/lib-commonjs/MenuItemRadio/MenuItemRadio.d.ts.map +1 -0
- package/lib-commonjs/MenuItemRadio/MenuItemRadio.js +15 -0
- package/lib-commonjs/MenuItemRadio/MenuItemRadio.js.map +1 -0
- package/lib-commonjs/MenuItemRadio/useMenuItemRadio.d.ts +3 -0
- package/lib-commonjs/MenuItemRadio/useMenuItemRadio.d.ts.map +1 -0
- package/lib-commonjs/MenuItemRadio/useMenuItemRadio.js +20 -0
- package/lib-commonjs/MenuItemRadio/useMenuItemRadio.js.map +1 -0
- package/lib-commonjs/MenuList/MenuList.d.ts +0 -1
- package/lib-commonjs/MenuList/MenuList.d.ts.map +1 -1
- package/lib-commonjs/MenuList/MenuList.js +22 -4
- package/lib-commonjs/MenuList/MenuList.js.map +1 -1
- package/lib-commonjs/MenuList/MenuList.styling.d.ts.map +1 -1
- package/lib-commonjs/MenuList/MenuList.styling.js +2 -1
- package/lib-commonjs/MenuList/MenuList.styling.js.map +1 -1
- package/lib-commonjs/MenuList/MenuList.types.d.ts +5 -1
- package/lib-commonjs/MenuList/MenuList.types.d.ts.map +1 -1
- package/lib-commonjs/MenuList/MenuListTokens.d.ts.map +1 -1
- package/lib-commonjs/MenuList/MenuListTokens.js +1 -0
- package/lib-commonjs/MenuList/MenuListTokens.js.map +1 -1
- package/lib-commonjs/MenuList/useMenuList.d.ts.map +1 -1
- package/lib-commonjs/MenuList/useMenuList.js +13 -3
- package/lib-commonjs/MenuList/useMenuList.js.map +1 -1
- package/lib-commonjs/MenuList/{useMenuContextValue.d.ts → useMenuListContextValue.d.ts} +1 -1
- package/lib-commonjs/MenuList/useMenuListContextValue.d.ts.map +1 -0
- package/lib-commonjs/MenuList/{useMenuContextValue.js → useMenuListContextValue.js} +1 -1
- package/lib-commonjs/MenuList/useMenuListContextValue.js.map +1 -0
- package/lib-commonjs/MenuPopover/MenuPopover.d.ts.map +1 -1
- package/lib-commonjs/MenuPopover/MenuPopover.js +1 -1
- 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.map +1 -1
- package/lib-commonjs/MenuPopover/useMenuPopover.js +6 -1
- package/lib-commonjs/MenuPopover/useMenuPopover.js.map +1 -1
- package/lib-commonjs/MenuTrigger/useMenuTrigger.d.ts +3 -0
- package/lib-commonjs/MenuTrigger/useMenuTrigger.d.ts.map +1 -1
- package/lib-commonjs/MenuTrigger/useMenuTrigger.js +11 -1
- package/lib-commonjs/MenuTrigger/useMenuTrigger.js.map +1 -1
- package/lib-commonjs/index.d.ts +1 -0
- package/lib-commonjs/index.d.ts.map +1 -1
- package/lib-commonjs/index.js +3 -1
- package/lib-commonjs/index.js.map +1 -1
- package/package.json +7 -7
- package/src/MenuItemCheckbox/MenuItemCheckbox.tsx +29 -16
- package/src/MenuItemCheckbox/useMenuItemCheckbox.ts +39 -20
- package/src/MenuItemRadio/MenuItemRadio.tsx +16 -0
- package/src/MenuItemRadio/useMenuItemRadio.ts +21 -0
- package/src/MenuList/MenuList.styling.ts +2 -1
- package/src/MenuList/MenuList.tsx +23 -5
- package/src/MenuList/MenuList.types.ts +5 -2
- package/src/MenuList/MenuListTokens.ts +1 -0
- package/src/MenuList/useMenuList.ts +22 -3
- package/src/MenuList/{useMenuContextValue.ts → useMenuListContextValue.ts} +0 -0
- package/src/MenuPopover/MenuPopover.tsx +2 -0
- package/src/MenuPopover/MenuPopover.types.ts +2 -0
- package/src/MenuPopover/useMenuPopover.ts +7 -1
- package/src/MenuTrigger/useMenuTrigger.ts +13 -1
- package/src/index.ts +1 -0
- package/lib/MenuList/useMenuContextValue.d.ts.map +0 -1
- package/lib/MenuList/useMenuContextValue.js.map +0 -1
- package/lib-commonjs/MenuList/useMenuContextValue.d.ts.map +0 -1
- package/lib-commonjs/MenuList/useMenuContextValue.js.map +0 -1
|
@@ -7,6 +7,8 @@ export interface MenuPopoverProps extends Omit<IViewProps, 'onPress'> {}
|
|
|
7
7
|
|
|
8
8
|
export interface MenuPopoverState {
|
|
9
9
|
dismissBehaviors: DismissBehaviors[];
|
|
10
|
+
doNotTakePointerCapture: boolean;
|
|
10
11
|
onDismiss: () => void;
|
|
12
|
+
setInitialFocus: boolean;
|
|
11
13
|
triggerRef: React.RefObject<React.Component>;
|
|
12
14
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
import { Platform } from 'react-native';
|
|
2
3
|
import { DismissBehaviors } from '@fluentui-react-native/callout';
|
|
3
4
|
import { useMenuContext } from '../context/menuContext';
|
|
4
5
|
import { MenuPopoverProps, MenuPopoverState } from './MenuPopover.types';
|
|
@@ -13,5 +14,10 @@ export const useMenuPopover = (_props: MenuPopoverProps): MenuPopoverState => {
|
|
|
13
14
|
? (['preventDismissOnKeyDown', 'preventDismissOnClickOutside'] as DismissBehaviors[])
|
|
14
15
|
: undefined;
|
|
15
16
|
|
|
16
|
-
|
|
17
|
+
// Initial focus behavior differs per platform, Windows platforms move focus
|
|
18
|
+
// automatically onto first element of Callout
|
|
19
|
+
const setInitialFocus = Platform.OS === ('win32' as any) || Platform.OS === 'windows';
|
|
20
|
+
const doNotTakePointerCapture = context.openOnHover;
|
|
21
|
+
|
|
22
|
+
return { triggerRef, onDismiss, dismissBehaviors, doNotTakePointerCapture, setInitialFocus };
|
|
17
23
|
};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { useMenuContext } from '../context/menuContext';
|
|
2
2
|
import { InteractionEvent } from '@fluentui-react-native/interactive-hooks';
|
|
3
3
|
import { MenuTriggerProps } from './MenuTrigger.types';
|
|
4
|
+
import { Platform } from 'react-native';
|
|
4
5
|
|
|
5
6
|
export const useMenuTrigger = (_props: MenuTriggerProps) => {
|
|
6
7
|
const context = useMenuContext();
|
|
@@ -10,15 +11,26 @@ export const useMenuTrigger = (_props: MenuTriggerProps) => {
|
|
|
10
11
|
const openOnHover = context.openOnHover;
|
|
11
12
|
const triggerRef = context.triggerRef;
|
|
12
13
|
|
|
14
|
+
const delayHover = Platform.select({
|
|
15
|
+
macos: 100,
|
|
16
|
+
default: 500, // win32
|
|
17
|
+
});
|
|
18
|
+
|
|
13
19
|
const onHoverIn = (e: InteractionEvent) => {
|
|
14
20
|
if (openOnHover) {
|
|
15
21
|
setOpen(e, true /* isOpen */);
|
|
16
22
|
}
|
|
17
23
|
};
|
|
18
24
|
|
|
25
|
+
const onHoverOut = (e: InteractionEvent) => {
|
|
26
|
+
if (openOnHover) {
|
|
27
|
+
setOpen(e, false /* isOpen */);
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
|
|
19
31
|
const onClick = (e: InteractionEvent) => {
|
|
20
32
|
setOpen(e, !open);
|
|
21
33
|
};
|
|
22
34
|
|
|
23
|
-
return { onClick, onHoverIn, componentRef: triggerRef };
|
|
35
|
+
return { onClick, onHoverIn, onHoverOut, componentRef: triggerRef, delayHoverIn: delayHover, delayHoverOut: delayHover };
|
|
24
36
|
};
|
package/src/index.ts
CHANGED
|
@@ -3,5 +3,6 @@ export { MenuTrigger } from './MenuTrigger/MenuTrigger';
|
|
|
3
3
|
export { MenuPopover } from './MenuPopover/MenuPopover';
|
|
4
4
|
export { MenuItem } from './MenuItem/MenuItem';
|
|
5
5
|
export { MenuItemCheckbox } from './MenuItemCheckbox/MenuItemCheckbox';
|
|
6
|
+
export { MenuItemRadio } from './MenuItemRadio/MenuItemRadio';
|
|
6
7
|
export { MenuList } from './MenuList/MenuList';
|
|
7
8
|
export { MenuDivider } from './MenuDivider/MenuDivider';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useMenuContextValue.d.ts","sourceRoot":"","sources":["../../src/MenuList/useMenuContextValue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,eAAO,MAAM,uBAAuB,UAAW,aAAa,KAAG,oBAE9D,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useMenuContextValue.js","sourceRoot":"","sources":["../../src/MenuList/useMenuContextValue.ts"],"names":[],"mappings":";AAGA,MAAM,CAAC,IAAM,uBAAuB,GAAG,UAAC,KAAoB;IAC1D,oBAAY,KAAK,EAAG;AACtB,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useMenuContextValue.d.ts","sourceRoot":"","sources":["../../src/MenuList/useMenuContextValue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,eAAO,MAAM,uBAAuB,UAAW,aAAa,KAAG,oBAE9D,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useMenuContextValue.js","sourceRoot":"","sources":["../../src/MenuList/useMenuContextValue.ts"],"names":[],"mappings":";;;;AAGO,IAAM,uBAAuB,GAAG,UAAC,KAAoB;IAC1D,iCAAY,KAAK,EAAG;AACtB,CAAC,CAAC;AAFW,QAAA,uBAAuB,2BAElC"}
|