@fluentui-react-native/menu 1.3.2 → 1.4.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 +37 -1
- package/CHANGELOG.md +19 -2
- package/lib/Menu/Menu.types.d.ts +2 -1
- package/lib/Menu/Menu.types.d.ts.map +1 -1
- package/lib/Menu/Menu.types.js.map +1 -1
- package/lib/MenuItem/MenuItemTokens.js +1 -1
- package/lib/MenuItem/MenuItemTokens.win32.js +1 -1
- package/lib/MenuList/MenuList.js +3 -3
- package/lib/MenuList/MenuList.js.map +1 -1
- package/lib/MenuList/MenuList.types.d.ts +4 -0
- package/lib/MenuList/MenuList.types.d.ts.map +1 -1
- package/lib/MenuList/MenuListTokens.win32.js +2 -2
- package/lib/MenuList/useMenuList.d.ts.map +1 -1
- package/lib/MenuList/useMenuList.js +4 -2
- package/lib/MenuList/useMenuList.js.map +1 -1
- package/lib/MenuPopover/MenuPopover.d.ts.map +1 -1
- package/lib/MenuPopover/MenuPopover.js +2 -1
- package/lib/MenuPopover/MenuPopover.js.map +1 -1
- package/lib-commonjs/Menu/Menu.types.d.ts +2 -1
- package/lib-commonjs/Menu/Menu.types.d.ts.map +1 -1
- package/lib-commonjs/Menu/Menu.types.js.map +1 -1
- package/lib-commonjs/MenuItem/MenuItemTokens.js +1 -1
- package/lib-commonjs/MenuItem/MenuItemTokens.win32.js +1 -1
- package/lib-commonjs/MenuList/MenuList.js +3 -3
- package/lib-commonjs/MenuList/MenuList.js.map +1 -1
- package/lib-commonjs/MenuList/MenuList.types.d.ts +4 -0
- package/lib-commonjs/MenuList/MenuList.types.d.ts.map +1 -1
- package/lib-commonjs/MenuList/MenuListTokens.win32.js +2 -2
- package/lib-commonjs/MenuList/useMenuList.d.ts.map +1 -1
- package/lib-commonjs/MenuList/useMenuList.js +4 -2
- package/lib-commonjs/MenuList/useMenuList.js.map +1 -1
- package/lib-commonjs/MenuPopover/MenuPopover.d.ts.map +1 -1
- package/lib-commonjs/MenuPopover/MenuPopover.js +2 -1
- package/lib-commonjs/MenuPopover/MenuPopover.js.map +1 -1
- package/package.json +2 -2
- package/src/Menu/Menu.types.ts +2 -1
- package/src/MenuItem/MenuItemTokens.ts +1 -1
- package/src/MenuItem/MenuItemTokens.win32.ts +1 -1
- package/src/MenuList/MenuList.tsx +3 -3
- package/src/MenuList/MenuList.types.ts +4 -0
- package/src/MenuList/MenuListTokens.win32.ts +2 -2
- package/src/MenuList/useMenuList.ts +3 -2
- package/src/MenuPopover/MenuPopover.tsx +2 -1
- package/src/__tests__/__snapshots__/Menu.test.tsx.snap +12 -12
package/CHANGELOG.json
CHANGED
|
@@ -2,7 +2,43 @@
|
|
|
2
2
|
"name": "@fluentui-react-native/menu",
|
|
3
3
|
"entries": [
|
|
4
4
|
{
|
|
5
|
-
"date": "Thu, 09 Feb 2023
|
|
5
|
+
"date": "Thu, 09 Feb 2023 22:42:09 GMT",
|
|
6
|
+
"tag": "@fluentui-react-native/menu_v1.4.0",
|
|
7
|
+
"version": "1.4.0",
|
|
8
|
+
"comments": {
|
|
9
|
+
"minor": [
|
|
10
|
+
{
|
|
11
|
+
"author": "email not defined",
|
|
12
|
+
"package": "@fluentui-react-native/menu",
|
|
13
|
+
"commit": "ecf9681b9f078ec6f3f6f79b447ea5f104c0c3c1",
|
|
14
|
+
"comment": "support minwidth for menu"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"author": "beachball",
|
|
18
|
+
"package": "@fluentui-react-native/menu",
|
|
19
|
+
"comment": "Bump @fluentui-react-native/callout to v0.23.0",
|
|
20
|
+
"commit": "ecf9681b9f078ec6f3f6f79b447ea5f104c0c3c1"
|
|
21
|
+
}
|
|
22
|
+
]
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"date": "Thu, 09 Feb 2023 17:10:01 GMT",
|
|
27
|
+
"tag": "@fluentui-react-native/menu_v1.3.3",
|
|
28
|
+
"version": "1.3.3",
|
|
29
|
+
"comments": {
|
|
30
|
+
"patch": [
|
|
31
|
+
{
|
|
32
|
+
"author": "email not defined",
|
|
33
|
+
"package": "@fluentui-react-native/menu",
|
|
34
|
+
"commit": "45ec15bee779228352575ebbea9efba4c20b33aa",
|
|
35
|
+
"comment": "Fix Menu keyboard navigation"
|
|
36
|
+
}
|
|
37
|
+
]
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"date": "Thu, 09 Feb 2023 02:18:16 GMT",
|
|
6
42
|
"tag": "@fluentui-react-native/menu_v1.3.2",
|
|
7
43
|
"version": "1.3.2",
|
|
8
44
|
"comments": {
|
package/CHANGELOG.md
CHANGED
|
@@ -1,12 +1,29 @@
|
|
|
1
1
|
# Change Log - @fluentui-react-native/menu
|
|
2
2
|
|
|
3
|
-
This log was last generated on Thu, 09 Feb 2023
|
|
3
|
+
This log was last generated on Thu, 09 Feb 2023 22:42:09 GMT and should not be manually modified.
|
|
4
4
|
|
|
5
5
|
<!-- Start content -->
|
|
6
6
|
|
|
7
|
+
## 1.4.0
|
|
8
|
+
|
|
9
|
+
Thu, 09 Feb 2023 22:42:09 GMT
|
|
10
|
+
|
|
11
|
+
### Minor changes
|
|
12
|
+
|
|
13
|
+
- support minwidth for menu (email not defined)
|
|
14
|
+
- Bump @fluentui-react-native/callout to v0.23.0
|
|
15
|
+
|
|
16
|
+
## 1.3.3
|
|
17
|
+
|
|
18
|
+
Thu, 09 Feb 2023 17:10:01 GMT
|
|
19
|
+
|
|
20
|
+
### Patches
|
|
21
|
+
|
|
22
|
+
- Fix Menu keyboard navigation (email not defined)
|
|
23
|
+
|
|
7
24
|
## 1.3.2
|
|
8
25
|
|
|
9
|
-
Thu, 09 Feb 2023 02:
|
|
26
|
+
Thu, 09 Feb 2023 02:18:16 GMT
|
|
10
27
|
|
|
11
28
|
### Patches
|
|
12
29
|
|
package/lib/Menu/Menu.types.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import type { InteractionEvent } from '@fluentui-react-native/interactive-hooks';
|
|
3
3
|
import type React from 'react';
|
|
4
|
+
import type { View } from 'react-native';
|
|
4
5
|
import type { MenuListProps } from '../MenuList/MenuList.types';
|
|
5
6
|
export declare const menuName = "Menu";
|
|
6
7
|
export interface MenuProps extends MenuListProps {
|
|
@@ -32,7 +33,7 @@ export interface MenuState extends MenuProps {
|
|
|
32
33
|
parentPopoverHoverOutTimer?: NodeJS.Timeout;
|
|
33
34
|
setOpen: (e: InteractionEvent, isOpen: boolean, bubble?: boolean) => void;
|
|
34
35
|
shouldFocusOnContainer: boolean;
|
|
35
|
-
triggerRef: React.RefObject<
|
|
36
|
+
triggerRef: React.RefObject<View>;
|
|
36
37
|
hasMaxHeight?: boolean;
|
|
37
38
|
hasMaxWidth?: boolean;
|
|
38
39
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Menu.types.d.ts","sourceRoot":"","sources":["../../src/Menu/Menu.types.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAEhE,eAAO,MAAM,QAAQ,SAAS,CAAC;AAE/B,MAAM,WAAW,SAAU,SAAQ,aAAa;IAC9C;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,gBAAgB,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IAK9D,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;OAEG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;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,EAAE,MAAM,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1E,sBAAsB,EAAE,OAAO,CAAC;IAChC,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"Menu.types.d.ts","sourceRoot":"","sources":["../../src/Menu/Menu.types.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAEhE,eAAO,MAAM,QAAQ,SAAS,CAAC;AAE/B,MAAM,WAAW,SAAU,SAAQ,aAAa;IAC9C;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,gBAAgB,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IAK9D,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;OAEG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;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,EAAE,MAAM,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1E,sBAAsB,EAAE,OAAO,CAAC;IAChC,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAClC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB"}
|
|
@@ -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":"AAKA,MAAM,CAAC,IAAM,QAAQ,GAAG,MAAM,CAAC"}
|
|
@@ -9,7 +9,7 @@ export var defaultMenuItemTokens = function (t) { return ({
|
|
|
9
9
|
fontWeight: globalTokens.font.weight.regular,
|
|
10
10
|
gap: globalTokens.size40,
|
|
11
11
|
minHeight: 32,
|
|
12
|
-
minWidth:
|
|
12
|
+
minWidth: 128,
|
|
13
13
|
maxWidth: 300,
|
|
14
14
|
padding: globalTokens.size60,
|
|
15
15
|
submenuIndicatorColor: t.colors.neutralForeground2,
|
|
@@ -9,7 +9,7 @@ export var defaultMenuItemTokens = function (t) { return ({
|
|
|
9
9
|
fontWeight: globalTokens.font.weight.regular,
|
|
10
10
|
gap: globalTokens.size40,
|
|
11
11
|
minHeight: 24,
|
|
12
|
-
minWidth:
|
|
12
|
+
minWidth: 128,
|
|
13
13
|
maxWidth: 300,
|
|
14
14
|
padding: globalTokens.size40,
|
|
15
15
|
paddingHorizontal: globalTokens.size80,
|
package/lib/MenuList/MenuList.js
CHANGED
|
@@ -28,7 +28,7 @@ var MenuStack = stagedComponent(function (props) {
|
|
|
28
28
|
});
|
|
29
29
|
MenuStack.displayName = 'MenuStack';
|
|
30
30
|
export var menuListLookup = function (layer, state, userProps) {
|
|
31
|
-
return state[layer] || userProps[layer] || layer === 'hasMaxHeight'
|
|
31
|
+
return state[layer] || userProps[layer] || layer === 'hasMaxHeight';
|
|
32
32
|
};
|
|
33
33
|
export var MenuList = compose(__assign(__assign({ displayName: menuListName }, stylingSettings), { slots: __assign({ root: MenuStack, scrollView: ScrollView }, (Platform.OS === 'macos' && { focusZone: FocusZone })), useRender: function (userProps, useSlots) {
|
|
34
34
|
var menuList = useMenuList(userProps);
|
|
@@ -48,8 +48,8 @@ export var MenuList = compose(__assign(__assign({ displayName: menuListName }, s
|
|
|
48
48
|
// For root menu, let's set focus on the container to block FZ setting focus on the first key view.
|
|
49
49
|
defaultTabbableElement: menuContext.isSubmenu ? null : focusZoneRef,
|
|
50
50
|
// @ts-ignore FocusZone takes ViewProps, but that isn't defined on it's type.
|
|
51
|
-
enableFocusRing: false }, children)))) : menuContext.hasMaxHeight ? (withSlots(Slots.root,
|
|
52
|
-
withSlots(Slots.scrollView, null, children))) : (withSlots(Slots.root,
|
|
51
|
+
enableFocusRing: false }, children)))) : menuContext.hasMaxHeight ? (withSlots(Slots.root, { style: menuContext.minWidth ? { minWidth: menuContext.minWidth } : {} },
|
|
52
|
+
withSlots(Slots.scrollView, null, children))) : (withSlots(Slots.root, { style: menuContext.minWidth ? { minWidth: menuContext.minWidth } : {} }, children));
|
|
53
53
|
return withSlots(MenuListProvider, { value: menuListContextValue }, content);
|
|
54
54
|
};
|
|
55
55
|
} }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuList.js","sourceRoot":"","sources":["../../src/MenuList/MenuList.tsx"],"names":[],"mappings":";AAAA,qBAAqB;AACrB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAE1D,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAEnG,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,IAAM,SAAS,GAAG,eAAe,CAAC,UAAC,KAAwD;IACjF,IAAA,GAAG,GAAc,KAAK,IAAnB,EAAK,IAAI,UAAK,KAAK,EAAxB,OAAgB,CAAF,CAAW;IAC/B,OAAO,UAAC,KAAwD,EAAE,QAAyB;QACzF,IAAI,GAAG,IAAI,GAAG,GAAG,CAAC,IAAI,QAAQ,EAAE;YAC9B,6DAA6D;YAC7D,yCAAyC;YACzC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAC,KAAuB,EAAE,KAAa;gBAC7E,IAAI,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE;oBAC5C,OAAO,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;iBAC1F;gBACD,OAAO,KAAK,CAAC;YACf,CAAC,CAAC,CAAC;SACJ;QAED,OAAO,UAAC,IAAI,eAAK,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,QAAQ,CAAQ,CAAC;IAC9D,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AACH,SAAS,CAAC,WAAW,GAAG,WAAW,CAAC;AAEpC,MAAM,CAAC,IAAM,cAAc,GAAG,UAAC,KAAa,EAAE,KAAoB,EAAE,SAAwB;IAC1F,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,cAAc,
|
|
1
|
+
{"version":3,"file":"MenuList.js","sourceRoot":"","sources":["../../src/MenuList/MenuList.tsx"],"names":[],"mappings":"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"}
|
|
@@ -31,6 +31,10 @@ export interface MenuListProps extends Omit<IViewProps, 'onPress'> {
|
|
|
31
31
|
* @param checked Array of all currently checked values
|
|
32
32
|
*/
|
|
33
33
|
onCheckedChange?: (e: InteractionEvent, checked: string[]) => void;
|
|
34
|
+
/**
|
|
35
|
+
* Defines a minumum width for the Menu.
|
|
36
|
+
*/
|
|
37
|
+
minWidth?: number | string;
|
|
34
38
|
}
|
|
35
39
|
export interface MenuListState extends Omit<MenuListProps, 'checked' | 'onCheckedChange'> {
|
|
36
40
|
props: MenuListProps;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuList.types.d.ts","sourceRoot":"","sources":["../../src/MenuList/MenuList.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,KAAK,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC1F,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,eAAO,MAAM,YAAY,aAAa,CAAC;AAEvC,MAAM,WAAW,cAAe,SAAQ,YAAY,EAAE,sBAAsB;IAC1E;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,cAAc,CAAC;CAC/B;AAED,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC;IAChE;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAE1B;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;;OAIG;IACH,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"MenuList.types.d.ts","sourceRoot":"","sources":["../../src/MenuList/MenuList.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,KAAK,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC1F,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,eAAO,MAAM,YAAY,aAAa,CAAC;AAEvC,MAAM,WAAW,cAAe,SAAQ,YAAY,EAAE,sBAAsB;IAC1E;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,cAAc,CAAC;CAC/B;AAED,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC;IAChE;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAE1B;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;;OAIG;IACH,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACnE;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,aAAa,EAAE,SAAS,GAAG,iBAAiB,CAAC;IACvF,KAAK,EAAE,aAAa,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,mBAAmB,EAAE,OAAO,CAAC;IAC7B,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC7C,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IAClF,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1D,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG;QAAE,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACxD,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,UAAU,CAAC,EAAE,eAAe,CAAC;CAC9B;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,EAAE,iBAAiB,CAAC;CAC9B"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { globalTokens } from '@fluentui-react-native/theme-tokens';
|
|
2
2
|
export var defaultMenuListTokens = function (t) { return ({
|
|
3
3
|
paddingVertical: globalTokens.size40,
|
|
4
|
-
minWidth:
|
|
4
|
+
minWidth: 128,
|
|
5
5
|
maxWidth: 300,
|
|
6
6
|
backgroundColor: t.colors.neutralBackground1,
|
|
7
7
|
/* To account for the width of the vertical scrollView. With the default minWidth, some content may be cut off */
|
|
8
8
|
hasMaxHeight: {
|
|
9
|
-
minWidth:
|
|
9
|
+
minWidth: 140,
|
|
10
10
|
},
|
|
11
11
|
}); };
|
|
12
12
|
//# sourceMappingURL=MenuListTokens.win32.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMenuList.d.ts","sourceRoot":"","sources":["../../src/MenuList/useMenuList.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAcrE,eAAO,MAAM,WAAW,WAAY,aAAa,KAAG,
|
|
1
|
+
{"version":3,"file":"useMenuList.d.ts","sourceRoot":"","sources":["../../src/MenuList/useMenuList.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAcrE,eAAO,MAAM,WAAW,WAAY,aAAa,KAAG,aA6GnD,CAAC"}
|
|
@@ -16,7 +16,7 @@ export var useMenuList = function (_props) {
|
|
|
16
16
|
var context = useMenuContext();
|
|
17
17
|
// MenuList v2 needs to be able to be standalone, but this is not in scope for v1
|
|
18
18
|
// Assuming that checked information will come from parent Menu
|
|
19
|
-
var defaultChecked = context.defaultChecked, onCheckedChangeOriginal = context.onCheckedChange, checkedOriginal = context.checked, isSubmenu = context.isSubmenu, setOpen = context.setOpen;
|
|
19
|
+
var defaultChecked = context.defaultChecked, onCheckedChangeOriginal = context.onCheckedChange, checkedOriginal = context.checked, isSubmenu = context.isSubmenu, setOpen = context.setOpen, triggerRef = context.triggerRef;
|
|
20
20
|
// Convert passed in array to map so that i's easier to look up checked state
|
|
21
21
|
var checkedMap = React.useMemo(function () {
|
|
22
22
|
var state = {};
|
|
@@ -81,11 +81,13 @@ export var useMenuList = function (_props) {
|
|
|
81
81
|
// trigger and popover. Listening to key events directly here to handle this case doesn't work
|
|
82
82
|
// since left and right arrow key events are already handled and swallowed by native behavior
|
|
83
83
|
var onArrowClose = React.useCallback(function (e) {
|
|
84
|
+
var _a;
|
|
84
85
|
if (!isSubmenu) {
|
|
85
86
|
return;
|
|
86
87
|
}
|
|
87
88
|
setOpen(e, false /* isOpen */, false /* bubble */);
|
|
88
|
-
|
|
89
|
+
(_a = triggerRef === null || triggerRef === void 0 ? void 0 : triggerRef.current) === null || _a === void 0 ? void 0 : _a.focus();
|
|
90
|
+
}, [isSubmenu, setOpen, triggerRef]);
|
|
89
91
|
return {
|
|
90
92
|
props: __assign({}, context),
|
|
91
93
|
isCheckedControlled: isCheckedControlled,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMenuList.js","sourceRoot":"","sources":["../../src/MenuList/useMenuList.ts"],"names":[],"mappings":";AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAGxD,2FAA2F;AAC3F,4CAA4C;AAC5C,qGAAqG;AACrG,2HAA2H;AAC3H,IAAM,UAAU,GAAG,EAAE,CAAC;AACtB,IAAM,YAAY,GAAG,UAAC,IAAY;IAChC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxB,CAAC,CAAC;AACF,IAAM,eAAe,GAAG,UAAC,IAAY;IACnC,UAAU,CAAC,MAAM,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,KAAK,IAAI,EAAb,CAAa,CAAC,CAAC;AAC7C,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,WAAW,GAAG,UAAC,MAAqB;IAC/C,IAAM,OAAO,GAAG,cAAc,EAAE,CAAC;IAEjC,iFAAiF;IACjF,+DAA+D;IACvD,IAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"useMenuList.js","sourceRoot":"","sources":["../../src/MenuList/useMenuList.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuPopover.d.ts","sourceRoot":"","sources":["../../src/MenuPopover/MenuPopover.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAoB,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAO/E,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"MenuPopover.d.ts","sourceRoot":"","sources":["../../src/MenuPopover/MenuPopover.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAoB,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAO/E,eAAO,MAAM,WAAW,gMAuCvB,CAAC;AAGF,eAAe,WAAW,CAAC"}
|
|
@@ -9,12 +9,13 @@ import { Platform, View } from 'react-native';
|
|
|
9
9
|
import { useMenuContext } from '../context';
|
|
10
10
|
export var MenuPopover = compressible(function (props, useTokens) {
|
|
11
11
|
var _a;
|
|
12
|
-
var directionalHint = props.directionalHint, gapSpace = props.gapSpace, maxHeight = props.maxHeight, maxWidth = props.maxWidth, minPadding = props.minPadding, borderWidth = props.borderWidth, borderColor = props.borderColor, backgroundColor = props.backgroundColor;
|
|
12
|
+
var directionalHint = props.directionalHint, gapSpace = props.gapSpace, maxHeight = props.maxHeight, maxWidth = props.maxWidth, minWidth = props.minWidth, minPadding = props.minPadding, borderWidth = props.borderWidth, borderColor = props.borderColor, backgroundColor = props.backgroundColor;
|
|
13
13
|
var state = useMenuPopover(props);
|
|
14
14
|
var theme = useFluentTheme();
|
|
15
15
|
var context = useMenuContext();
|
|
16
16
|
var _b = useTokens(theme), tokens = _b[0], cache = _b[1];
|
|
17
17
|
context.hasMaxHeight = maxHeight != undefined;
|
|
18
|
+
context.minWidth = minWidth !== null && minWidth !== void 0 ? minWidth : context.minWidth;
|
|
18
19
|
_a = patchTokens(tokens, cache, {
|
|
19
20
|
directionalHint: directionalHint,
|
|
20
21
|
gapSpace: gapSpace,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuPopover.js","sourceRoot":"","sources":["../../src/MenuPopover/MenuPopover.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AACzG,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAEzD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,MAAM,CAAC,IAAM,WAAW,GAAG,YAAY,CACrC,UAAC,KAAuB,EAAE,SAAuC;;IACvD,IAAA,eAAe,
|
|
1
|
+
{"version":3,"file":"MenuPopover.js","sourceRoot":"","sources":["../../src/MenuPopover/MenuPopover.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AACzG,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAEzD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,MAAM,CAAC,IAAM,WAAW,GAAG,YAAY,CACrC,UAAC,KAAuB,EAAE,SAAuC;;IACvD,IAAA,eAAe,GAAqG,KAAK,gBAA1G,EAAE,QAAQ,GAA2F,KAAK,SAAhG,EAAE,SAAS,GAAgF,KAAK,UAArF,EAAE,QAAQ,GAAsE,KAAK,SAA3E,EAAE,QAAQ,GAA4D,KAAK,SAAjE,EAAE,UAAU,GAAgD,KAAK,WAArD,EAAE,WAAW,GAAmC,KAAK,YAAxC,EAAE,WAAW,GAAsB,KAAK,YAA3B,EAAE,eAAe,GAAK,KAAK,gBAAV,CAAW;IAClI,IAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IACpC,IAAM,KAAK,GAAG,cAAc,EAAE,CAAC;IAC/B,IAAM,OAAO,GAAG,cAAc,EAAE,CAAC;IAC7B,IAAA,KAAkB,SAAS,CAAC,KAAK,CAAC,EAAjC,MAAM,QAAA,EAAE,KAAK,QAAoB,CAAC;IAEvC,OAAO,CAAC,YAAY,GAAG,SAAS,IAAI,SAAS,CAAC;IAC9C,OAAO,CAAC,QAAQ,GAAG,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,OAAO,CAAC,QAAQ,CAAC;IAEhD,KAAkB,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE;QAC3C,eAAe,iBAAA;QACf,QAAQ,UAAA;QACR,SAAS,WAAA;QACT,QAAQ,UAAA;QACR,UAAU,YAAA;QACV,WAAW,aAAA;QACX,WAAW,aAAA;QACX,eAAe,iBAAA;KAChB,CAAC,EATD,MAAM,QAAA,EAAE,KAAK,QAAA,CASX;IAEH,OAAO,UAAC,KAAuB,EAAE,QAAyB;QACxD,IAAM,WAAW,GAAG,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC3D,IAAM,cAAc;QAClB,uJAAuJ;QACvJ,QAAQ,CAAC,EAAE,KAAK,SAAS,IAAI,QAAQ,CAAC,EAAE,KAAM,OAAe;YAC3D,CAAC,uBACM,KAAK,CAAC,SAAS,KAClB,KAAK,EAAE;oBACL,SAAS,EAAE,WAAW,CAAC,SAAS;iBACjC,IAEL,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC;QACtB,IAAM,OAAO,GAAG,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC;QACpE,OAAO,oBAAC,OAAO,eAAK,WAAW,GAAG,OAAO,CAAW,CAAC;IACvD,CAAC,CAAC;AACJ,CAAC,EACD,oBAAoB,CACrB,CAAC;AACF,WAAW,CAAC,WAAW,GAAG,eAAe,CAAC;AAE1C,eAAe,WAAW,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import type { InteractionEvent } from '@fluentui-react-native/interactive-hooks';
|
|
3
3
|
import type React from 'react';
|
|
4
|
+
import type { View } from 'react-native';
|
|
4
5
|
import type { MenuListProps } from '../MenuList/MenuList.types';
|
|
5
6
|
export declare const menuName = "Menu";
|
|
6
7
|
export interface MenuProps extends MenuListProps {
|
|
@@ -32,7 +33,7 @@ export interface MenuState extends MenuProps {
|
|
|
32
33
|
parentPopoverHoverOutTimer?: NodeJS.Timeout;
|
|
33
34
|
setOpen: (e: InteractionEvent, isOpen: boolean, bubble?: boolean) => void;
|
|
34
35
|
shouldFocusOnContainer: boolean;
|
|
35
|
-
triggerRef: React.RefObject<
|
|
36
|
+
triggerRef: React.RefObject<View>;
|
|
36
37
|
hasMaxHeight?: boolean;
|
|
37
38
|
hasMaxWidth?: boolean;
|
|
38
39
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Menu.types.d.ts","sourceRoot":"","sources":["../../src/Menu/Menu.types.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAEhE,eAAO,MAAM,QAAQ,SAAS,CAAC;AAE/B,MAAM,WAAW,SAAU,SAAQ,aAAa;IAC9C;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,gBAAgB,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IAK9D,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;OAEG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;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,EAAE,MAAM,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1E,sBAAsB,EAAE,OAAO,CAAC;IAChC,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"Menu.types.d.ts","sourceRoot":"","sources":["../../src/Menu/Menu.types.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAEhE,eAAO,MAAM,QAAQ,SAAS,CAAC;AAE/B,MAAM,WAAW,SAAU,SAAQ,aAAa;IAC9C;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,gBAAgB,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IAK9D,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;OAEG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;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,EAAE,MAAM,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1E,sBAAsB,EAAE,OAAO,CAAC;IAChC,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAClC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB"}
|
|
@@ -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":";;;AAKa,QAAA,QAAQ,GAAG,MAAM,CAAC"}
|
|
@@ -12,7 +12,7 @@ var defaultMenuItemTokens = function (t) { return ({
|
|
|
12
12
|
fontWeight: theme_tokens_1.globalTokens.font.weight.regular,
|
|
13
13
|
gap: theme_tokens_1.globalTokens.size40,
|
|
14
14
|
minHeight: 32,
|
|
15
|
-
minWidth:
|
|
15
|
+
minWidth: 128,
|
|
16
16
|
maxWidth: 300,
|
|
17
17
|
padding: theme_tokens_1.globalTokens.size60,
|
|
18
18
|
submenuIndicatorColor: t.colors.neutralForeground2,
|
|
@@ -12,7 +12,7 @@ var defaultMenuItemTokens = function (t) { return ({
|
|
|
12
12
|
fontWeight: theme_tokens_1.globalTokens.font.weight.regular,
|
|
13
13
|
gap: theme_tokens_1.globalTokens.size40,
|
|
14
14
|
minHeight: 24,
|
|
15
|
-
minWidth:
|
|
15
|
+
minWidth: 128,
|
|
16
16
|
maxWidth: 300,
|
|
17
17
|
padding: theme_tokens_1.globalTokens.size40,
|
|
18
18
|
paddingHorizontal: theme_tokens_1.globalTokens.size80,
|
|
@@ -31,7 +31,7 @@ var MenuStack = (0, framework_1.stagedComponent)(function (props) {
|
|
|
31
31
|
});
|
|
32
32
|
MenuStack.displayName = 'MenuStack';
|
|
33
33
|
var menuListLookup = function (layer, state, userProps) {
|
|
34
|
-
return state[layer] || userProps[layer] || layer === 'hasMaxHeight'
|
|
34
|
+
return state[layer] || userProps[layer] || layer === 'hasMaxHeight';
|
|
35
35
|
};
|
|
36
36
|
exports.menuListLookup = menuListLookup;
|
|
37
37
|
exports.MenuList = (0, framework_1.compose)(tslib_1.__assign(tslib_1.__assign({ displayName: MenuList_types_1.menuListName }, MenuList_styling_1.stylingSettings), { slots: tslib_1.__assign({ root: MenuStack, scrollView: react_native_1.ScrollView }, (react_native_1.Platform.OS === 'macos' && { focusZone: focus_zone_1.FocusZone })), useRender: function (userProps, useSlots) {
|
|
@@ -52,8 +52,8 @@ exports.MenuList = (0, framework_1.compose)(tslib_1.__assign(tslib_1.__assign({
|
|
|
52
52
|
// For root menu, let's set focus on the container to block FZ setting focus on the first key view.
|
|
53
53
|
defaultTabbableElement: menuContext.isSubmenu ? null : focusZoneRef,
|
|
54
54
|
// @ts-ignore FocusZone takes ViewProps, but that isn't defined on it's type.
|
|
55
|
-
enableFocusRing: false }, children)))) : menuContext.hasMaxHeight ? ((0, framework_1.withSlots)(Slots.root,
|
|
56
|
-
(0, framework_1.withSlots)(Slots.scrollView, null, children))) : ((0, framework_1.withSlots)(Slots.root,
|
|
55
|
+
enableFocusRing: false }, children)))) : menuContext.hasMaxHeight ? ((0, framework_1.withSlots)(Slots.root, { style: menuContext.minWidth ? { minWidth: menuContext.minWidth } : {} },
|
|
56
|
+
(0, framework_1.withSlots)(Slots.scrollView, null, children))) : ((0, framework_1.withSlots)(Slots.root, { style: menuContext.minWidth ? { minWidth: menuContext.minWidth } : {} }, children));
|
|
57
57
|
return (0, framework_1.withSlots)(menuListContext_1.MenuListProvider, { value: menuListContextValue }, content);
|
|
58
58
|
};
|
|
59
59
|
} }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuList.js","sourceRoot":"","sources":["../../src/MenuList/MenuList.tsx"],"names":[],"mappings":";;;;AAAA,qBAAqB;AACrB,wDAA0B;AAC1B,6CAA0D;AAE1D,8DAAmG;AAEnG,mDAAgD;AAChD,uDAAqD;AACrD,8DAA8D;AAC9D,6CAA4C;AAC5C,qEAAoE;AAEpE,gEAA8D;AAC9D,sCAA4C;AAE5C,IAAM,SAAS,GAAG,IAAA,2BAAe,EAAC,UAAC,KAAwD;IACjF,IAAA,GAAG,GAAc,KAAK,IAAnB,EAAK,IAAI,kBAAK,KAAK,EAAxB,OAAgB,CAAF,CAAW;IAC/B,OAAO,UAAC,KAAwD,EAAE,QAAyB;QACzF,IAAI,GAAG,IAAI,GAAG,GAAG,CAAC,IAAI,QAAQ,EAAE;YAC9B,6DAA6D;YAC7D,yCAAyC;YACzC,QAAQ,GAAG,eAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAC,KAAuB,EAAE,KAAa;gBAC7E,IAAI,eAAK,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE;oBAC5C,OAAO,eAAK,CAAC,YAAY,CAAC,KAAK,EAAE,IAAA,sBAAU,EAAC,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;iBAC1F;gBACD,OAAO,KAAK,CAAC;YACf,CAAC,CAAC,CAAC;SACJ;QAED,OAAO,2BAAC,mBAAI,uBAAK,IAAA,sBAAU,EAAC,IAAI,EAAE,KAAK,CAAC,GAAG,QAAQ,CAAQ,CAAC;IAC9D,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AACH,SAAS,CAAC,WAAW,GAAG,WAAW,CAAC;AAE7B,IAAM,cAAc,GAAG,UAAC,KAAa,EAAE,KAAoB,EAAE,SAAwB;IAC1F,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,cAAc,
|
|
1
|
+
{"version":3,"file":"MenuList.js","sourceRoot":"","sources":["../../src/MenuList/MenuList.tsx"],"names":[],"mappings":"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"}
|
|
@@ -31,6 +31,10 @@ export interface MenuListProps extends Omit<IViewProps, 'onPress'> {
|
|
|
31
31
|
* @param checked Array of all currently checked values
|
|
32
32
|
*/
|
|
33
33
|
onCheckedChange?: (e: InteractionEvent, checked: string[]) => void;
|
|
34
|
+
/**
|
|
35
|
+
* Defines a minumum width for the Menu.
|
|
36
|
+
*/
|
|
37
|
+
minWidth?: number | string;
|
|
34
38
|
}
|
|
35
39
|
export interface MenuListState extends Omit<MenuListProps, 'checked' | 'onCheckedChange'> {
|
|
36
40
|
props: MenuListProps;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuList.types.d.ts","sourceRoot":"","sources":["../../src/MenuList/MenuList.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,KAAK,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC1F,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,eAAO,MAAM,YAAY,aAAa,CAAC;AAEvC,MAAM,WAAW,cAAe,SAAQ,YAAY,EAAE,sBAAsB;IAC1E;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,cAAc,CAAC;CAC/B;AAED,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC;IAChE;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAE1B;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;;OAIG;IACH,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"MenuList.types.d.ts","sourceRoot":"","sources":["../../src/MenuList/MenuList.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,KAAK,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC1F,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,eAAO,MAAM,YAAY,aAAa,CAAC;AAEvC,MAAM,WAAW,cAAe,SAAQ,YAAY,EAAE,sBAAsB;IAC1E;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,cAAc,CAAC;CAC/B;AAED,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC;IAChE;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAE1B;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;;OAIG;IACH,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACnE;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,aAAa,EAAE,SAAS,GAAG,iBAAiB,CAAC;IACvF,KAAK,EAAE,aAAa,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,mBAAmB,EAAE,OAAO,CAAC;IAC7B,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC7C,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IAClF,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1D,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG;QAAE,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACxD,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,UAAU,CAAC,EAAE,eAAe,CAAC;CAC9B;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,EAAE,iBAAiB,CAAC;CAC9B"}
|
|
@@ -4,12 +4,12 @@ exports.defaultMenuListTokens = void 0;
|
|
|
4
4
|
var theme_tokens_1 = require("@fluentui-react-native/theme-tokens");
|
|
5
5
|
var defaultMenuListTokens = function (t) { return ({
|
|
6
6
|
paddingVertical: theme_tokens_1.globalTokens.size40,
|
|
7
|
-
minWidth:
|
|
7
|
+
minWidth: 128,
|
|
8
8
|
maxWidth: 300,
|
|
9
9
|
backgroundColor: t.colors.neutralBackground1,
|
|
10
10
|
/* To account for the width of the vertical scrollView. With the default minWidth, some content may be cut off */
|
|
11
11
|
hasMaxHeight: {
|
|
12
|
-
minWidth:
|
|
12
|
+
minWidth: 140,
|
|
13
13
|
},
|
|
14
14
|
}); };
|
|
15
15
|
exports.defaultMenuListTokens = defaultMenuListTokens;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMenuList.d.ts","sourceRoot":"","sources":["../../src/MenuList/useMenuList.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAcrE,eAAO,MAAM,WAAW,WAAY,aAAa,KAAG,
|
|
1
|
+
{"version":3,"file":"useMenuList.d.ts","sourceRoot":"","sources":["../../src/MenuList/useMenuList.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAcrE,eAAO,MAAM,WAAW,WAAY,aAAa,KAAG,aA6GnD,CAAC"}
|
|
@@ -19,7 +19,7 @@ var useMenuList = function (_props) {
|
|
|
19
19
|
var context = (0, menuContext_1.useMenuContext)();
|
|
20
20
|
// MenuList v2 needs to be able to be standalone, but this is not in scope for v1
|
|
21
21
|
// Assuming that checked information will come from parent Menu
|
|
22
|
-
var defaultChecked = context.defaultChecked, onCheckedChangeOriginal = context.onCheckedChange, checkedOriginal = context.checked, isSubmenu = context.isSubmenu, setOpen = context.setOpen;
|
|
22
|
+
var defaultChecked = context.defaultChecked, onCheckedChangeOriginal = context.onCheckedChange, checkedOriginal = context.checked, isSubmenu = context.isSubmenu, setOpen = context.setOpen, triggerRef = context.triggerRef;
|
|
23
23
|
// Convert passed in array to map so that i's easier to look up checked state
|
|
24
24
|
var checkedMap = react_1.default.useMemo(function () {
|
|
25
25
|
var state = {};
|
|
@@ -84,11 +84,13 @@ var useMenuList = function (_props) {
|
|
|
84
84
|
// trigger and popover. Listening to key events directly here to handle this case doesn't work
|
|
85
85
|
// since left and right arrow key events are already handled and swallowed by native behavior
|
|
86
86
|
var onArrowClose = react_1.default.useCallback(function (e) {
|
|
87
|
+
var _a;
|
|
87
88
|
if (!isSubmenu) {
|
|
88
89
|
return;
|
|
89
90
|
}
|
|
90
91
|
setOpen(e, false /* isOpen */, false /* bubble */);
|
|
91
|
-
|
|
92
|
+
(_a = triggerRef === null || triggerRef === void 0 ? void 0 : triggerRef.current) === null || _a === void 0 ? void 0 : _a.focus();
|
|
93
|
+
}, [isSubmenu, setOpen, triggerRef]);
|
|
92
94
|
return {
|
|
93
95
|
props: tslib_1.__assign({}, context),
|
|
94
96
|
isCheckedControlled: isCheckedControlled,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMenuList.js","sourceRoot":"","sources":["../../src/MenuList/useMenuList.ts"],"names":[],"mappings":";;;;AACA,wDAA0B;AAC1B,sDAAwD;AAGxD,2FAA2F;AAC3F,4CAA4C;AAC5C,qGAAqG;AACrG,2HAA2H;AAC3H,IAAM,UAAU,GAAG,EAAE,CAAC;AACtB,IAAM,YAAY,GAAG,UAAC,IAAY;IAChC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxB,CAAC,CAAC;AACF,IAAM,eAAe,GAAG,UAAC,IAAY;IACnC,UAAU,CAAC,MAAM,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,KAAK,IAAI,EAAb,CAAa,CAAC,CAAC;AAC7C,CAAC,CAAC;AAEK,IAAM,WAAW,GAAG,UAAC,MAAqB;IAC/C,IAAM,OAAO,GAAG,IAAA,4BAAc,GAAE,CAAC;IAEjC,iFAAiF;IACjF,+DAA+D;IACvD,IAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"useMenuList.js","sourceRoot":"","sources":["../../src/MenuList/useMenuList.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuPopover.d.ts","sourceRoot":"","sources":["../../src/MenuPopover/MenuPopover.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAoB,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAO/E,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"MenuPopover.d.ts","sourceRoot":"","sources":["../../src/MenuPopover/MenuPopover.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAoB,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAO/E,eAAO,MAAM,WAAW,gMAuCvB,CAAC;AAGF,eAAe,WAAW,CAAC"}
|
|
@@ -12,12 +12,13 @@ var react_native_1 = require("react-native");
|
|
|
12
12
|
var context_1 = require("../context");
|
|
13
13
|
exports.MenuPopover = (0, framework_1.compressible)(function (props, useTokens) {
|
|
14
14
|
var _a;
|
|
15
|
-
var directionalHint = props.directionalHint, gapSpace = props.gapSpace, maxHeight = props.maxHeight, maxWidth = props.maxWidth, minPadding = props.minPadding, borderWidth = props.borderWidth, borderColor = props.borderColor, backgroundColor = props.backgroundColor;
|
|
15
|
+
var directionalHint = props.directionalHint, gapSpace = props.gapSpace, maxHeight = props.maxHeight, maxWidth = props.maxWidth, minWidth = props.minWidth, minPadding = props.minPadding, borderWidth = props.borderWidth, borderColor = props.borderColor, backgroundColor = props.backgroundColor;
|
|
16
16
|
var state = (0, useMenuPopover_1.useMenuPopover)(props);
|
|
17
17
|
var theme = (0, framework_1.useFluentTheme)();
|
|
18
18
|
var context = (0, context_1.useMenuContext)();
|
|
19
19
|
var _b = useTokens(theme), tokens = _b[0], cache = _b[1];
|
|
20
20
|
context.hasMaxHeight = maxHeight != undefined;
|
|
21
|
+
context.minWidth = minWidth !== null && minWidth !== void 0 ? minWidth : context.minWidth;
|
|
21
22
|
_a = (0, framework_1.patchTokens)(tokens, cache, {
|
|
22
23
|
directionalHint: directionalHint,
|
|
23
24
|
gapSpace: gapSpace,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuPopover.js","sourceRoot":"","sources":["../../src/MenuPopover/MenuPopover.tsx"],"names":[],"mappings":";;;;AAAA,wDAA0B;AAE1B,8DAAyG;AACzG,0DAAyD;AAEzD,yDAAsD;AACtD,mDAAkD;AAClD,yDAA2D;AAC3D,6CAA8C;AAC9C,sCAA4C;AAE/B,QAAA,WAAW,GAAG,IAAA,wBAAY,EACrC,UAAC,KAAuB,EAAE,SAAuC;;IACvD,IAAA,eAAe,
|
|
1
|
+
{"version":3,"file":"MenuPopover.js","sourceRoot":"","sources":["../../src/MenuPopover/MenuPopover.tsx"],"names":[],"mappings":";;;;AAAA,wDAA0B;AAE1B,8DAAyG;AACzG,0DAAyD;AAEzD,yDAAsD;AACtD,mDAAkD;AAClD,yDAA2D;AAC3D,6CAA8C;AAC9C,sCAA4C;AAE/B,QAAA,WAAW,GAAG,IAAA,wBAAY,EACrC,UAAC,KAAuB,EAAE,SAAuC;;IACvD,IAAA,eAAe,GAAqG,KAAK,gBAA1G,EAAE,QAAQ,GAA2F,KAAK,SAAhG,EAAE,SAAS,GAAgF,KAAK,UAArF,EAAE,QAAQ,GAAsE,KAAK,SAA3E,EAAE,QAAQ,GAA4D,KAAK,SAAjE,EAAE,UAAU,GAAgD,KAAK,WAArD,EAAE,WAAW,GAAmC,KAAK,YAAxC,EAAE,WAAW,GAAsB,KAAK,YAA3B,EAAE,eAAe,GAAK,KAAK,gBAAV,CAAW;IAClI,IAAM,KAAK,GAAG,IAAA,+BAAc,EAAC,KAAK,CAAC,CAAC;IACpC,IAAM,KAAK,GAAG,IAAA,0BAAc,GAAE,CAAC;IAC/B,IAAM,OAAO,GAAG,IAAA,wBAAc,GAAE,CAAC;IAC7B,IAAA,KAAkB,SAAS,CAAC,KAAK,CAAC,EAAjC,MAAM,QAAA,EAAE,KAAK,QAAoB,CAAC;IAEvC,OAAO,CAAC,YAAY,GAAG,SAAS,IAAI,SAAS,CAAC;IAC9C,OAAO,CAAC,QAAQ,GAAG,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,OAAO,CAAC,QAAQ,CAAC;IAEhD,KAAkB,IAAA,uBAAW,EAAC,MAAM,EAAE,KAAK,EAAE;QAC3C,eAAe,iBAAA;QACf,QAAQ,UAAA;QACR,SAAS,WAAA;QACT,QAAQ,UAAA;QACR,UAAU,YAAA;QACV,WAAW,aAAA;QACX,WAAW,aAAA;QACX,eAAe,iBAAA;KAChB,CAAC,EATD,MAAM,QAAA,EAAE,KAAK,QAAA,CASX;IAEH,OAAO,UAAC,KAAuB,EAAE,QAAyB;QACxD,IAAM,WAAW,GAAG,IAAA,sBAAU,EAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC3D,IAAM,cAAc;QAClB,uJAAuJ;QACvJ,uBAAQ,CAAC,EAAE,KAAK,SAAS,IAAI,uBAAQ,CAAC,EAAE,KAAM,OAAe;YAC3D,CAAC,uCACM,KAAK,CAAC,SAAS,KAClB,KAAK,EAAE;oBACL,SAAS,EAAE,WAAW,CAAC,SAAS;iBACjC,IAEL,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC;QACtB,IAAM,OAAO,GAAG,eAAK,CAAC,aAAa,CAAC,mBAAI,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC;QACpE,OAAO,8BAAC,iBAAO,uBAAK,WAAW,GAAG,OAAO,CAAW,CAAC;IACvD,CAAC,CAAC;AACJ,CAAC,EACD,wCAAoB,CACrB,CAAC;AACF,mBAAW,CAAC,WAAW,GAAG,mCAAe,CAAC;AAE1C,kBAAe,mBAAW,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fluentui-react-native/menu",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.4.0",
|
|
4
4
|
"description": "A cross-platform Menu component using the Fluent Design System",
|
|
5
5
|
"main": "lib-commonjs/index.js",
|
|
6
6
|
"module": "lib/index.js",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
25
|
"@fluentui-react-native/adapters": ">=0.10.1 <1.0.0",
|
|
26
|
-
"@fluentui-react-native/callout": ">=0.
|
|
26
|
+
"@fluentui-react-native/callout": ">=0.23.0 <1.0.0",
|
|
27
27
|
"@fluentui-react-native/focus-zone": ">=0.11.29 <1.0.0",
|
|
28
28
|
"@fluentui-react-native/framework": "0.9.0",
|
|
29
29
|
"@fluentui-react-native/interactive-hooks": ">=0.22.17 <1.0.0",
|
package/src/Menu/Menu.types.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { InteractionEvent } from '@fluentui-react-native/interactive-hooks';
|
|
2
2
|
import type React from 'react';
|
|
3
|
+
import type { View } from 'react-native';
|
|
3
4
|
import type { MenuListProps } from '../MenuList/MenuList.types';
|
|
4
5
|
|
|
5
6
|
export const menuName = 'Menu';
|
|
@@ -42,7 +43,7 @@ export interface MenuState extends MenuProps {
|
|
|
42
43
|
parentPopoverHoverOutTimer?: NodeJS.Timeout;
|
|
43
44
|
setOpen: (e: InteractionEvent, isOpen: boolean, bubble?: boolean) => void;
|
|
44
45
|
shouldFocusOnContainer: boolean;
|
|
45
|
-
triggerRef: React.RefObject<
|
|
46
|
+
triggerRef: React.RefObject<View>;
|
|
46
47
|
hasMaxHeight?: boolean;
|
|
47
48
|
hasMaxWidth?: boolean;
|
|
48
49
|
}
|
|
@@ -13,7 +13,7 @@ export const defaultMenuItemTokens: TokenSettings<MenuItemTokens, Theme> = (t: T
|
|
|
13
13
|
fontWeight: globalTokens.font.weight.regular as FontWeightValue,
|
|
14
14
|
gap: globalTokens.size40,
|
|
15
15
|
minHeight: 32,
|
|
16
|
-
minWidth:
|
|
16
|
+
minWidth: 128,
|
|
17
17
|
maxWidth: 300,
|
|
18
18
|
padding: globalTokens.size60,
|
|
19
19
|
submenuIndicatorColor: t.colors.neutralForeground2,
|
|
@@ -13,7 +13,7 @@ export const defaultMenuItemTokens: TokenSettings<MenuItemTokens, Theme> = (t: T
|
|
|
13
13
|
fontWeight: globalTokens.font.weight.regular as FontWeightValue,
|
|
14
14
|
gap: globalTokens.size40,
|
|
15
15
|
minHeight: 24,
|
|
16
|
-
minWidth:
|
|
16
|
+
minWidth: 128,
|
|
17
17
|
maxWidth: 300,
|
|
18
18
|
padding: globalTokens.size40,
|
|
19
19
|
paddingHorizontal: globalTokens.size80,
|
|
@@ -33,7 +33,7 @@ const MenuStack = stagedComponent((props: React.PropsWithRef<IViewProps> & { gap
|
|
|
33
33
|
MenuStack.displayName = 'MenuStack';
|
|
34
34
|
|
|
35
35
|
export const menuListLookup = (layer: string, state: MenuListState, userProps: MenuListProps): boolean => {
|
|
36
|
-
return state[layer] || userProps[layer] || layer === 'hasMaxHeight'
|
|
36
|
+
return state[layer] || userProps[layer] || layer === 'hasMaxHeight';
|
|
37
37
|
};
|
|
38
38
|
export const MenuList = compose<MenuListType>({
|
|
39
39
|
displayName: menuListName,
|
|
@@ -77,11 +77,11 @@ export const MenuList = compose<MenuListType>({
|
|
|
77
77
|
</Slots.scrollView>
|
|
78
78
|
</Slots.root>
|
|
79
79
|
) : menuContext.hasMaxHeight ? (
|
|
80
|
-
<Slots.root>
|
|
80
|
+
<Slots.root style={menuContext.minWidth ? { minWidth: menuContext.minWidth } : {}}>
|
|
81
81
|
<Slots.scrollView>{children}</Slots.scrollView>
|
|
82
82
|
</Slots.root>
|
|
83
83
|
) : (
|
|
84
|
-
<Slots.root>{children}</Slots.root>
|
|
84
|
+
<Slots.root style={menuContext.minWidth ? { minWidth: menuContext.minWidth } : {}}>{children}</Slots.root>
|
|
85
85
|
);
|
|
86
86
|
|
|
87
87
|
return <MenuListProvider value={menuListContextValue}>{content}</MenuListProvider>;
|
|
@@ -37,6 +37,10 @@ export interface MenuListProps extends Omit<IViewProps, 'onPress'> {
|
|
|
37
37
|
* @param checked Array of all currently checked values
|
|
38
38
|
*/
|
|
39
39
|
onCheckedChange?: (e: InteractionEvent, checked: string[]) => void;
|
|
40
|
+
/**
|
|
41
|
+
* Defines a minumum width for the Menu.
|
|
42
|
+
*/
|
|
43
|
+
minWidth?: number | string;
|
|
40
44
|
}
|
|
41
45
|
|
|
42
46
|
export interface MenuListState extends Omit<MenuListProps, 'checked' | 'onCheckedChange'> {
|
|
@@ -5,11 +5,11 @@ import type { MenuListTokens } from './MenuList.types';
|
|
|
5
5
|
|
|
6
6
|
export const defaultMenuListTokens: TokenSettings<MenuListTokens, Theme> = (t: Theme): MenuListTokens => ({
|
|
7
7
|
paddingVertical: globalTokens.size40,
|
|
8
|
-
minWidth:
|
|
8
|
+
minWidth: 128,
|
|
9
9
|
maxWidth: 300,
|
|
10
10
|
backgroundColor: t.colors.neutralBackground1,
|
|
11
11
|
/* To account for the width of the vertical scrollView. With the default minWidth, some content may be cut off */
|
|
12
12
|
hasMaxHeight: {
|
|
13
|
-
minWidth:
|
|
13
|
+
minWidth: 140,
|
|
14
14
|
},
|
|
15
15
|
});
|
|
@@ -20,7 +20,7 @@ export const useMenuList = (_props: MenuListProps): MenuListState => {
|
|
|
20
20
|
|
|
21
21
|
// MenuList v2 needs to be able to be standalone, but this is not in scope for v1
|
|
22
22
|
// Assuming that checked information will come from parent Menu
|
|
23
|
-
const { defaultChecked, onCheckedChange: onCheckedChangeOriginal, checked: checkedOriginal, isSubmenu, setOpen } = context;
|
|
23
|
+
const { defaultChecked, onCheckedChange: onCheckedChangeOriginal, checked: checkedOriginal, isSubmenu, setOpen, triggerRef } = context;
|
|
24
24
|
|
|
25
25
|
// Convert passed in array to map so that i's easier to look up checked state
|
|
26
26
|
const checkedMap = React.useMemo(() => {
|
|
@@ -105,8 +105,9 @@ export const useMenuList = (_props: MenuListProps): MenuListState => {
|
|
|
105
105
|
}
|
|
106
106
|
|
|
107
107
|
setOpen(e, false /* isOpen */, false /* bubble */);
|
|
108
|
+
triggerRef?.current?.focus();
|
|
108
109
|
},
|
|
109
|
-
[isSubmenu, setOpen],
|
|
110
|
+
[isSubmenu, setOpen, triggerRef],
|
|
110
111
|
);
|
|
111
112
|
|
|
112
113
|
return {
|
|
@@ -11,13 +11,14 @@ import { useMenuContext } from '../context';
|
|
|
11
11
|
|
|
12
12
|
export const MenuPopover = compressible<MenuPopoverProps, MenuPopoverTokens>(
|
|
13
13
|
(props: MenuPopoverProps, useTokens: UseTokens<MenuPopoverTokens>) => {
|
|
14
|
-
const { directionalHint, gapSpace, maxHeight, maxWidth, minPadding, borderWidth, borderColor, backgroundColor } = props;
|
|
14
|
+
const { directionalHint, gapSpace, maxHeight, maxWidth, minWidth, minPadding, borderWidth, borderColor, backgroundColor } = props;
|
|
15
15
|
const state = useMenuPopover(props);
|
|
16
16
|
const theme = useFluentTheme();
|
|
17
17
|
const context = useMenuContext();
|
|
18
18
|
let [tokens, cache] = useTokens(theme);
|
|
19
19
|
|
|
20
20
|
context.hasMaxHeight = maxHeight != undefined;
|
|
21
|
+
context.minWidth = minWidth ?? context.minWidth;
|
|
21
22
|
|
|
22
23
|
[tokens, cache] = patchTokens(tokens, cache, {
|
|
23
24
|
directionalHint,
|
|
@@ -212,7 +212,7 @@ Array [
|
|
|
212
212
|
"backgroundColor": "#ffffff",
|
|
213
213
|
"display": "flex",
|
|
214
214
|
"maxWidth": 300,
|
|
215
|
-
"minWidth":
|
|
215
|
+
"minWidth": 140,
|
|
216
216
|
"paddingVertical": 4,
|
|
217
217
|
}
|
|
218
218
|
}
|
|
@@ -261,7 +261,7 @@ Array [
|
|
|
261
261
|
"flexDirection": "row",
|
|
262
262
|
"maxWidth": 300,
|
|
263
263
|
"minHeight": 24,
|
|
264
|
-
"minWidth":
|
|
264
|
+
"minWidth": 128,
|
|
265
265
|
"padding": 4,
|
|
266
266
|
"paddingHorizontal": 8,
|
|
267
267
|
}
|
|
@@ -329,7 +329,7 @@ Array [
|
|
|
329
329
|
"flexDirection": "row",
|
|
330
330
|
"maxWidth": 300,
|
|
331
331
|
"minHeight": 24,
|
|
332
|
-
"minWidth":
|
|
332
|
+
"minWidth": 128,
|
|
333
333
|
"padding": 4,
|
|
334
334
|
"paddingHorizontal": 8,
|
|
335
335
|
}
|
|
@@ -488,7 +488,7 @@ Array [
|
|
|
488
488
|
"backgroundColor": "#ffffff",
|
|
489
489
|
"display": "flex",
|
|
490
490
|
"maxWidth": 300,
|
|
491
|
-
"minWidth":
|
|
491
|
+
"minWidth": 140,
|
|
492
492
|
"paddingVertical": 4,
|
|
493
493
|
}
|
|
494
494
|
}
|
|
@@ -537,7 +537,7 @@ Array [
|
|
|
537
537
|
"flexDirection": "row",
|
|
538
538
|
"maxWidth": 300,
|
|
539
539
|
"minHeight": 24,
|
|
540
|
-
"minWidth":
|
|
540
|
+
"minWidth": 128,
|
|
541
541
|
"padding": 4,
|
|
542
542
|
"paddingHorizontal": 8,
|
|
543
543
|
}
|
|
@@ -696,7 +696,7 @@ Array [
|
|
|
696
696
|
"backgroundColor": "#ffffff",
|
|
697
697
|
"display": "flex",
|
|
698
698
|
"maxWidth": 300,
|
|
699
|
-
"minWidth":
|
|
699
|
+
"minWidth": 140,
|
|
700
700
|
"paddingVertical": 4,
|
|
701
701
|
}
|
|
702
702
|
}
|
|
@@ -1104,7 +1104,7 @@ Array [
|
|
|
1104
1104
|
"backgroundColor": "#ffffff",
|
|
1105
1105
|
"display": "flex",
|
|
1106
1106
|
"maxWidth": 300,
|
|
1107
|
-
"minWidth":
|
|
1107
|
+
"minWidth": 140,
|
|
1108
1108
|
"paddingVertical": 4,
|
|
1109
1109
|
}
|
|
1110
1110
|
}
|
|
@@ -1512,7 +1512,7 @@ Array [
|
|
|
1512
1512
|
"backgroundColor": "#ffffff",
|
|
1513
1513
|
"display": "flex",
|
|
1514
1514
|
"maxWidth": 300,
|
|
1515
|
-
"minWidth":
|
|
1515
|
+
"minWidth": 140,
|
|
1516
1516
|
"paddingVertical": 4,
|
|
1517
1517
|
}
|
|
1518
1518
|
}
|
|
@@ -1920,7 +1920,7 @@ Array [
|
|
|
1920
1920
|
"backgroundColor": "#ffffff",
|
|
1921
1921
|
"display": "flex",
|
|
1922
1922
|
"maxWidth": 300,
|
|
1923
|
-
"minWidth":
|
|
1923
|
+
"minWidth": 140,
|
|
1924
1924
|
"paddingVertical": 4,
|
|
1925
1925
|
}
|
|
1926
1926
|
}
|
|
@@ -2316,7 +2316,7 @@ Array [
|
|
|
2316
2316
|
"backgroundColor": "#ffffff",
|
|
2317
2317
|
"display": "flex",
|
|
2318
2318
|
"maxWidth": 300,
|
|
2319
|
-
"minWidth":
|
|
2319
|
+
"minWidth": 140,
|
|
2320
2320
|
"paddingVertical": 4,
|
|
2321
2321
|
}
|
|
2322
2322
|
}
|
|
@@ -2365,7 +2365,7 @@ Array [
|
|
|
2365
2365
|
"flexDirection": "row",
|
|
2366
2366
|
"maxWidth": 300,
|
|
2367
2367
|
"minHeight": 24,
|
|
2368
|
-
"minWidth":
|
|
2368
|
+
"minWidth": 128,
|
|
2369
2369
|
"padding": 4,
|
|
2370
2370
|
"paddingHorizontal": 8,
|
|
2371
2371
|
}
|
|
@@ -2451,7 +2451,7 @@ Array [
|
|
|
2451
2451
|
"flexDirection": "row",
|
|
2452
2452
|
"maxWidth": 300,
|
|
2453
2453
|
"minHeight": 24,
|
|
2454
|
-
"minWidth":
|
|
2454
|
+
"minWidth": 128,
|
|
2455
2455
|
"padding": 4,
|
|
2456
2456
|
"paddingHorizontal": 8,
|
|
2457
2457
|
}
|