@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.
Files changed (44) hide show
  1. package/CHANGELOG.json +37 -1
  2. package/CHANGELOG.md +19 -2
  3. package/lib/Menu/Menu.types.d.ts +2 -1
  4. package/lib/Menu/Menu.types.d.ts.map +1 -1
  5. package/lib/Menu/Menu.types.js.map +1 -1
  6. package/lib/MenuItem/MenuItemTokens.js +1 -1
  7. package/lib/MenuItem/MenuItemTokens.win32.js +1 -1
  8. package/lib/MenuList/MenuList.js +3 -3
  9. package/lib/MenuList/MenuList.js.map +1 -1
  10. package/lib/MenuList/MenuList.types.d.ts +4 -0
  11. package/lib/MenuList/MenuList.types.d.ts.map +1 -1
  12. package/lib/MenuList/MenuListTokens.win32.js +2 -2
  13. package/lib/MenuList/useMenuList.d.ts.map +1 -1
  14. package/lib/MenuList/useMenuList.js +4 -2
  15. package/lib/MenuList/useMenuList.js.map +1 -1
  16. package/lib/MenuPopover/MenuPopover.d.ts.map +1 -1
  17. package/lib/MenuPopover/MenuPopover.js +2 -1
  18. package/lib/MenuPopover/MenuPopover.js.map +1 -1
  19. package/lib-commonjs/Menu/Menu.types.d.ts +2 -1
  20. package/lib-commonjs/Menu/Menu.types.d.ts.map +1 -1
  21. package/lib-commonjs/Menu/Menu.types.js.map +1 -1
  22. package/lib-commonjs/MenuItem/MenuItemTokens.js +1 -1
  23. package/lib-commonjs/MenuItem/MenuItemTokens.win32.js +1 -1
  24. package/lib-commonjs/MenuList/MenuList.js +3 -3
  25. package/lib-commonjs/MenuList/MenuList.js.map +1 -1
  26. package/lib-commonjs/MenuList/MenuList.types.d.ts +4 -0
  27. package/lib-commonjs/MenuList/MenuList.types.d.ts.map +1 -1
  28. package/lib-commonjs/MenuList/MenuListTokens.win32.js +2 -2
  29. package/lib-commonjs/MenuList/useMenuList.d.ts.map +1 -1
  30. package/lib-commonjs/MenuList/useMenuList.js +4 -2
  31. package/lib-commonjs/MenuList/useMenuList.js.map +1 -1
  32. package/lib-commonjs/MenuPopover/MenuPopover.d.ts.map +1 -1
  33. package/lib-commonjs/MenuPopover/MenuPopover.js +2 -1
  34. package/lib-commonjs/MenuPopover/MenuPopover.js.map +1 -1
  35. package/package.json +2 -2
  36. package/src/Menu/Menu.types.ts +2 -1
  37. package/src/MenuItem/MenuItemTokens.ts +1 -1
  38. package/src/MenuItem/MenuItemTokens.win32.ts +1 -1
  39. package/src/MenuList/MenuList.tsx +3 -3
  40. package/src/MenuList/MenuList.types.ts +4 -0
  41. package/src/MenuList/MenuListTokens.win32.ts +2 -2
  42. package/src/MenuList/useMenuList.ts +3 -2
  43. package/src/MenuPopover/MenuPopover.tsx +2 -1
  44. 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 02:17:53 GMT",
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 02:17:53 GMT and should not be manually modified.
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:17:53 GMT
26
+ Thu, 09 Feb 2023 02:18:16 GMT
10
27
 
11
28
  ### Patches
12
29
 
@@ -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<React.Component>;
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,KAAK,CAAC,SAAS,CAAC,CAAC;IAC7C,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB"}
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":"AAIA,MAAM,CAAC,IAAM,QAAQ,GAAG,MAAM,CAAC"}
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: 160,
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: 160,
12
+ minWidth: 128,
13
13
  maxWidth: 300,
14
14
  padding: globalTokens.size40,
15
15
  paddingHorizontal: globalTokens.size80,
@@ -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' || layer === userProps['minWidth'];
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, null,
52
- withSlots(Slots.scrollView, null, children))) : (withSlots(Slots.root, null, children));
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":"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"}
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;CACpE;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
+ {"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: 160,
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: 175,
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,aA4GnD,CAAC"}
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
- }, [isSubmenu, setOpen]);
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":"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"}
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,gMAsCvB,CAAC;AAGF,eAAe,WAAW,CAAC"}
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,GAA2F,KAAK,gBAAhG,EAAE,QAAQ,GAAiF,KAAK,SAAtF,EAAE,SAAS,GAAsE,KAAK,UAA3E,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;IACxH,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;IAE9C,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
+ {"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<React.Component>;
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,KAAK,CAAC,SAAS,CAAC,CAAC;IAC7C,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB"}
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":";;;AAIa,QAAA,QAAQ,GAAG,MAAM,CAAC"}
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: 160,
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: 160,
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' || layer === userProps['minWidth'];
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, null,
56
- (0, framework_1.withSlots)(Slots.scrollView, null, children))) : ((0, framework_1.withSlots)(Slots.root, null, children));
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":"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"}
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;CACpE;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
+ {"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: 160,
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: 175,
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,aA4GnD,CAAC"}
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
- }, [isSubmenu, setOpen]);
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":"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"}
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,gMAsCvB,CAAC;AAGF,eAAe,WAAW,CAAC"}
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,GAA2F,KAAK,gBAAhG,EAAE,QAAQ,GAAiF,KAAK,SAAtF,EAAE,SAAS,GAAsE,KAAK,UAA3E,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;IACxH,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;IAE9C,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"}
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.2",
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.22.0 <1.0.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",
@@ -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<React.Component>;
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: 160,
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: 160,
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' || layer === userProps['minWidth'];
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: 160,
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: 175,
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": 175,
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": 160,
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": 160,
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": 175,
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": 160,
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": 175,
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": 175,
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": 175,
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": 175,
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": 175,
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": 160,
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": 160,
2454
+ "minWidth": 128,
2455
2455
  "padding": 4,
2456
2456
  "paddingHorizontal": 8,
2457
2457
  }