@fluentui-react-native/menu 0.9.3 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/CHANGELOG.json +72 -1
  2. package/CHANGELOG.md +22 -2
  3. package/lib/MenuItemCheckbox/MenuItemCheckbox.d.ts +4 -2
  4. package/lib/MenuItemCheckbox/MenuItemCheckbox.d.ts.map +1 -1
  5. package/lib/MenuItemCheckbox/MenuItemCheckbox.js +11 -8
  6. package/lib/MenuItemCheckbox/MenuItemCheckbox.js.map +1 -1
  7. package/lib/MenuItemCheckbox/useMenuItemCheckbox.d.ts +10 -0
  8. package/lib/MenuItemCheckbox/useMenuItemCheckbox.d.ts.map +1 -1
  9. package/lib/MenuItemCheckbox/useMenuItemCheckbox.js +28 -14
  10. package/lib/MenuItemCheckbox/useMenuItemCheckbox.js.map +1 -1
  11. package/lib/MenuItemRadio/MenuItemRadio.d.ts +4 -0
  12. package/lib/MenuItemRadio/MenuItemRadio.d.ts.map +1 -0
  13. package/lib/MenuItemRadio/MenuItemRadio.js +12 -0
  14. package/lib/MenuItemRadio/MenuItemRadio.js.map +1 -0
  15. package/lib/MenuItemRadio/useMenuItemRadio.d.ts +3 -0
  16. package/lib/MenuItemRadio/useMenuItemRadio.d.ts.map +1 -0
  17. package/lib/MenuItemRadio/useMenuItemRadio.js +15 -0
  18. package/lib/MenuItemRadio/useMenuItemRadio.js.map +1 -0
  19. package/lib/MenuList/MenuList.types.d.ts +1 -0
  20. package/lib/MenuList/MenuList.types.d.ts.map +1 -1
  21. package/lib/MenuList/useMenuList.d.ts.map +1 -1
  22. package/lib/MenuList/useMenuList.js +13 -3
  23. package/lib/MenuList/useMenuList.js.map +1 -1
  24. package/lib/MenuPopover/MenuPopover.d.ts.map +1 -1
  25. package/lib/MenuPopover/MenuPopover.js +1 -1
  26. package/lib/MenuPopover/MenuPopover.js.map +1 -1
  27. package/lib/MenuPopover/MenuPopover.types.d.ts +2 -0
  28. package/lib/MenuPopover/MenuPopover.types.d.ts.map +1 -1
  29. package/lib/MenuPopover/useMenuPopover.d.ts.map +1 -1
  30. package/lib/MenuPopover/useMenuPopover.js +6 -1
  31. package/lib/MenuPopover/useMenuPopover.js.map +1 -1
  32. package/lib/MenuTrigger/useMenuTrigger.d.ts +3 -0
  33. package/lib/MenuTrigger/useMenuTrigger.d.ts.map +1 -1
  34. package/lib/MenuTrigger/useMenuTrigger.js +11 -1
  35. package/lib/MenuTrigger/useMenuTrigger.js.map +1 -1
  36. package/lib/index.d.ts +1 -0
  37. package/lib/index.d.ts.map +1 -1
  38. package/lib/index.js +1 -0
  39. package/lib/index.js.map +1 -1
  40. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.d.ts +4 -2
  41. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.d.ts.map +1 -1
  42. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.js +12 -8
  43. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.js.map +1 -1
  44. package/lib-commonjs/MenuItemCheckbox/useMenuItemCheckbox.d.ts +10 -0
  45. package/lib-commonjs/MenuItemCheckbox/useMenuItemCheckbox.d.ts.map +1 -1
  46. package/lib-commonjs/MenuItemCheckbox/useMenuItemCheckbox.js +31 -16
  47. package/lib-commonjs/MenuItemCheckbox/useMenuItemCheckbox.js.map +1 -1
  48. package/lib-commonjs/MenuItemRadio/MenuItemRadio.d.ts +4 -0
  49. package/lib-commonjs/MenuItemRadio/MenuItemRadio.d.ts.map +1 -0
  50. package/lib-commonjs/MenuItemRadio/MenuItemRadio.js +15 -0
  51. package/lib-commonjs/MenuItemRadio/MenuItemRadio.js.map +1 -0
  52. package/lib-commonjs/MenuItemRadio/useMenuItemRadio.d.ts +3 -0
  53. package/lib-commonjs/MenuItemRadio/useMenuItemRadio.d.ts.map +1 -0
  54. package/lib-commonjs/MenuItemRadio/useMenuItemRadio.js +20 -0
  55. package/lib-commonjs/MenuItemRadio/useMenuItemRadio.js.map +1 -0
  56. package/lib-commonjs/MenuList/MenuList.types.d.ts +1 -0
  57. package/lib-commonjs/MenuList/MenuList.types.d.ts.map +1 -1
  58. package/lib-commonjs/MenuList/useMenuList.d.ts.map +1 -1
  59. package/lib-commonjs/MenuList/useMenuList.js +13 -3
  60. package/lib-commonjs/MenuList/useMenuList.js.map +1 -1
  61. package/lib-commonjs/MenuPopover/MenuPopover.d.ts.map +1 -1
  62. package/lib-commonjs/MenuPopover/MenuPopover.js +1 -1
  63. package/lib-commonjs/MenuPopover/MenuPopover.js.map +1 -1
  64. package/lib-commonjs/MenuPopover/MenuPopover.types.d.ts +2 -0
  65. package/lib-commonjs/MenuPopover/MenuPopover.types.d.ts.map +1 -1
  66. package/lib-commonjs/MenuPopover/useMenuPopover.d.ts.map +1 -1
  67. package/lib-commonjs/MenuPopover/useMenuPopover.js +6 -1
  68. package/lib-commonjs/MenuPopover/useMenuPopover.js.map +1 -1
  69. package/lib-commonjs/MenuTrigger/useMenuTrigger.d.ts +3 -0
  70. package/lib-commonjs/MenuTrigger/useMenuTrigger.d.ts.map +1 -1
  71. package/lib-commonjs/MenuTrigger/useMenuTrigger.js +11 -1
  72. package/lib-commonjs/MenuTrigger/useMenuTrigger.js.map +1 -1
  73. package/lib-commonjs/index.d.ts +1 -0
  74. package/lib-commonjs/index.d.ts.map +1 -1
  75. package/lib-commonjs/index.js +3 -1
  76. package/lib-commonjs/index.js.map +1 -1
  77. package/package.json +7 -7
  78. package/src/MenuItemCheckbox/MenuItemCheckbox.tsx +29 -16
  79. package/src/MenuItemCheckbox/useMenuItemCheckbox.ts +39 -20
  80. package/src/MenuItemRadio/MenuItemRadio.tsx +16 -0
  81. package/src/MenuItemRadio/useMenuItemRadio.ts +21 -0
  82. package/src/MenuList/MenuList.types.ts +1 -0
  83. package/src/MenuList/useMenuList.ts +22 -3
  84. package/src/MenuPopover/MenuPopover.tsx +2 -0
  85. package/src/MenuPopover/MenuPopover.types.ts +2 -0
  86. package/src/MenuPopover/useMenuPopover.ts +7 -1
  87. package/src/MenuTrigger/useMenuTrigger.ts +13 -1
  88. package/src/index.ts +1 -0
package/CHANGELOG.json CHANGED
@@ -2,7 +2,78 @@
2
2
  "name": "@fluentui-react-native/menu",
3
3
  "entries": [
4
4
  {
5
- "date": "Tue, 24 May 2022 00:36:28 GMT",
5
+ "date": "Wed, 25 May 2022 18:41:23 GMT",
6
+ "tag": "@fluentui-react-native/menu_v0.10.0",
7
+ "version": "0.10.0",
8
+ "comments": {
9
+ "minor": [
10
+ {
11
+ "author": "ruaraki@microsoft.com",
12
+ "package": "@fluentui-react-native/menu",
13
+ "commit": "cf2154459c5d89e0917af1daf2d559c4bc3e5644",
14
+ "comment": "Add MenuItemRadio"
15
+ },
16
+ {
17
+ "author": "beachball",
18
+ "package": "@fluentui-react-native/menu",
19
+ "comment": "Bump @fluentui-react-native/callout to v0.20.3",
20
+ "commit": "f4e881a5caef5a8258094f2a2ba674c62321886d"
21
+ },
22
+ {
23
+ "author": "beachball",
24
+ "package": "@fluentui-react-native/menu",
25
+ "comment": "Bump @fluentui-react-native/experimental-text to v0.9.0",
26
+ "commit": "f4e881a5caef5a8258094f2a2ba674c62321886d"
27
+ },
28
+ {
29
+ "author": "beachball",
30
+ "package": "@fluentui-react-native/menu",
31
+ "comment": "Bump @fluentui-react-native/framework to v0.7.30",
32
+ "commit": "f4e881a5caef5a8258094f2a2ba674c62321886d"
33
+ },
34
+ {
35
+ "author": "beachball",
36
+ "package": "@fluentui-react-native/menu",
37
+ "comment": "Bump @fluentui-react-native/interactive-hooks to v0.15.10",
38
+ "commit": "f4e881a5caef5a8258094f2a2ba674c62321886d"
39
+ },
40
+ {
41
+ "author": "beachball",
42
+ "package": "@fluentui-react-native/menu",
43
+ "comment": "Bump @fluentui-react-native/theme-tokens to v0.18.0",
44
+ "commit": "f4e881a5caef5a8258094f2a2ba674c62321886d"
45
+ },
46
+ {
47
+ "author": "beachball",
48
+ "package": "@fluentui-react-native/menu",
49
+ "comment": "Bump @fluentui-react-native/tokens to v0.14.0",
50
+ "commit": "f4e881a5caef5a8258094f2a2ba674c62321886d"
51
+ }
52
+ ],
53
+ "patch": [
54
+ {
55
+ "author": "ruaraki@microsoft.com",
56
+ "package": "@fluentui-react-native/menu",
57
+ "commit": "ee63b639bdf529d774b51e6a87d3ba608c029249",
58
+ "comment": "Implement a slight delay on the hover behavior"
59
+ },
60
+ {
61
+ "author": "krsiler@microsoft.com",
62
+ "package": "@fluentui-react-native/menu",
63
+ "commit": "f4e881a5caef5a8258094f2a2ba674c62321886d",
64
+ "comment": "beachball sync"
65
+ },
66
+ {
67
+ "author": "ruaraki@microsoft.com",
68
+ "package": "@fluentui-react-native/menu",
69
+ "commit": "5fdd7f9b6346ef953f50340cf07fca832aece25c",
70
+ "comment": "Focus first element when popover opens"
71
+ }
72
+ ]
73
+ }
74
+ },
75
+ {
76
+ "date": "Tue, 24 May 2022 00:36:43 GMT",
6
77
  "tag": "@fluentui-react-native/menu_v0.9.3",
7
78
  "version": "0.9.3",
8
79
  "comments": {
package/CHANGELOG.md CHANGED
@@ -1,12 +1,32 @@
1
1
  # Change Log - @fluentui-react-native/menu
2
2
 
3
- This log was last generated on Tue, 24 May 2022 00:36:28 GMT and should not be manually modified.
3
+ This log was last generated on Wed, 25 May 2022 18:41:23 GMT and should not be manually modified.
4
4
 
5
5
  <!-- Start content -->
6
6
 
7
+ ## 0.10.0
8
+
9
+ Wed, 25 May 2022 18:41:23 GMT
10
+
11
+ ### Minor changes
12
+
13
+ - Add MenuItemRadio (ruaraki@microsoft.com)
14
+ - Bump @fluentui-react-native/callout to v0.20.3
15
+ - Bump @fluentui-react-native/experimental-text to v0.9.0
16
+ - Bump @fluentui-react-native/framework to v0.7.30
17
+ - Bump @fluentui-react-native/interactive-hooks to v0.15.10
18
+ - Bump @fluentui-react-native/theme-tokens to v0.18.0
19
+ - Bump @fluentui-react-native/tokens to v0.14.0
20
+
21
+ ### Patches
22
+
23
+ - Implement a slight delay on the hover behavior (ruaraki@microsoft.com)
24
+ - beachball sync (krsiler@microsoft.com)
25
+ - Focus first element when popover opens (ruaraki@microsoft.com)
26
+
7
27
  ## 0.9.3
8
28
 
9
- Tue, 24 May 2022 00:36:28 GMT
29
+ Tue, 24 May 2022 00:36:43 GMT
10
30
 
11
31
  ### Patches
12
32
 
@@ -1,3 +1,5 @@
1
- import { MenuItemCheckboxProps } from './MenuItemCheckbox.types';
2
- export declare const MenuItemCheckbox: import("@fluentui-react-native/framework").ComposableComponent<MenuItemCheckboxProps, import("./MenuItemCheckbox.types").MenuItemCheckboxSlotProps, import("./MenuItemCheckbox.types").MenuItemCheckboxTokens, object>;
1
+ import { Slots } from '@fluentui-react-native/framework';
2
+ import { MenuItemCheckboxProps, MenuItemCheckboxSlotProps, MenuItemCheckboxState } from './MenuItemCheckbox.types';
3
+ export declare const MenuItemCheckbox: import("@fluentui-react-native/framework").ComposableComponent<MenuItemCheckboxProps, MenuItemCheckboxSlotProps, import("./MenuItemCheckbox.types").MenuItemCheckboxTokens, object>;
4
+ export declare const menuItemFinalRender: (menuItem: MenuItemCheckboxState, Slots: Slots<MenuItemCheckboxSlotProps>) => React.FunctionComponent<MenuItemCheckboxProps>;
3
5
  //# sourceMappingURL=MenuItemCheckbox.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MenuItemCheckbox.d.ts","sourceRoot":"","sources":["../../src/MenuItemCheckbox/MenuItemCheckbox.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAwB,qBAAqB,EAAwB,MAAM,0BAA0B,CAAC;AAI7G,eAAO,MAAM,gBAAgB,wNA2B3B,CAAC"}
1
+ {"version":3,"file":"MenuItemCheckbox.d.ts","sourceRoot":"","sources":["../../src/MenuItemCheckbox/MenuItemCheckbox.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAuB,KAAK,EAAuB,MAAM,kCAAkC,CAAC;AAEnG,OAAO,EAEL,qBAAqB,EACrB,yBAAyB,EACzB,qBAAqB,EAEtB,MAAM,0BAA0B,CAAC;AAIlC,eAAO,MAAM,gBAAgB,qLAc3B,CAAC;AAEH,eAAO,MAAM,mBAAmB,aACpB,qBAAqB,8CAE9B,MAAM,iBAAiB,CAAC,qBAAqB,CAe/C,CAAC"}
@@ -4,7 +4,7 @@ import { View } from 'react-native';
4
4
  import { SvgXml } from 'react-native-svg';
5
5
  import { compose, mergeProps, withSlots } from '@fluentui-react-native/framework';
6
6
  import { Text } from '@fluentui-react-native/experimental-text';
7
- import { menuItemCheckboxName } from './MenuItemCheckbox.types';
7
+ import { menuItemCheckboxName, } from './MenuItemCheckbox.types';
8
8
  import { useMenuItemCheckbox } from './useMenuItemCheckbox';
9
9
  import { stylingSettings } from './MenuItemCheckbox.styling';
10
10
  export var MenuItemCheckbox = compose(__assign(__assign({ displayName: menuItemCheckboxName }, stylingSettings), { slots: {
@@ -14,12 +14,15 @@ export var MenuItemCheckbox = compose(__assign(__assign({ displayName: menuItemC
14
14
  }, useRender: function (userProps, useSlots) {
15
15
  var menuItem = useMenuItemCheckbox(userProps);
16
16
  var Slots = useSlots(userProps, function (layer) { return menuItem.state[layer]; });
17
- return function (final) {
18
- var mergedProps = mergeProps(menuItem.props, final);
19
- var chevronXml = "\n <svg>\n <path fill='currentColor' d='M9.85355 3.14645C10.0488 3.34171 10.0488 3.65829 9.85355 3.85355L5.35355 8.35355C5.15829 8.54882 4.84171 8.54882 4.64645 8.35355L2.64645 6.35355C2.45118 6.15829 2.45118 5.84171 2.64645 5.64645C2.84171 5.45118 3.15829 5.45118 3.35355 5.64645L5 7.29289L9.14645 3.14645C9.34171 2.95118 9.65829 2.95118 9.85355 3.14645Z' />\n </svg>";
20
- return (withSlots(Slots.root, __assign({}, mergedProps),
21
- withSlots(Slots.checkmark, { xml: chevronXml }),
22
- mergedProps.content && withSlots(Slots.content, null, mergedProps.content)));
23
- };
17
+ return menuItemFinalRender(menuItem, Slots);
24
18
  } }));
19
+ export var menuItemFinalRender = function (menuItem, Slots) {
20
+ return function (final) {
21
+ var mergedProps = mergeProps(menuItem.props, final);
22
+ var checkmarkXml = "\n <svg>\n <path fill='currentColor' d='M9.85355 3.14645C10.0488 3.34171 10.0488 3.65829 9.85355 3.85355L5.35355 8.35355C5.15829 8.54882 4.84171 8.54882 4.64645 8.35355L2.64645 6.35355C2.45118 6.15829 2.45118 5.84171 2.64645 5.64645C2.84171 5.45118 3.15829 5.45118 3.35355 5.64645L5 7.29289L9.14645 3.14645C9.34171 2.95118 9.65829 2.95118 9.85355 3.14645Z' />\n </svg>";
23
+ return (withSlots(Slots.root, __assign({}, mergedProps),
24
+ withSlots(Slots.checkmark, { xml: checkmarkXml }),
25
+ mergedProps.content && withSlots(Slots.content, null, mergedProps.content)));
26
+ };
27
+ };
25
28
  //# sourceMappingURL=MenuItemCheckbox.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MenuItemCheckbox.js","sourceRoot":"","sources":["../../src/MenuItemCheckbox/MenuItemCheckbox.tsx"],"names":[],"mappings":";AAAA,qBAAqB;AACrB,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,UAAU,EAAY,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAC5F,OAAO,EAAE,IAAI,EAAE,MAAM,0CAA0C,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAA+C,MAAM,0BAA0B,CAAC;AAC7G,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7D,MAAM,CAAC,IAAM,gBAAgB,GAAG,OAAO,qBACrC,WAAW,EAAE,oBAAoB,IAC9B,eAAe,KAClB,KAAK,EAAE;QACL,IAAI,EAAE,IAAI;QACV,SAAS,EAAE,MAAM;QACjB,OAAO,EAAE,IAAI;KACd,EACD,SAAS,EAAE,UAAC,SAAgC,EAAE,QAAwC;QACpF,IAAM,QAAQ,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAChD,IAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,EAAE,UAAC,KAAK,IAAc,OAAA,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,EAArB,CAAqB,CAAC,CAAC;QAE7E,OAAO,UAAC,KAA4B;YAClC,IAAM,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACtD,IAAM,UAAU,GAAG,mYAGZ,CAAC;YAER,OAAO,CACL,UAAC,KAAK,CAAC,IAAI,eAAK,WAAW;gBACzB,UAAC,KAAK,CAAC,SAAS,IAAC,GAAG,EAAE,UAAU,GAAI;gBACnC,WAAW,CAAC,OAAO,IAAI,UAAC,KAAK,CAAC,OAAO,QAAE,WAAW,CAAC,OAAO,CAAiB,CACjE,CACd,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC,IACD,CAAC"}
1
+ {"version":3,"file":"MenuItemCheckbox.js","sourceRoot":"","sources":["../../src/MenuItemCheckbox/MenuItemCheckbox.tsx"],"names":[],"mappings":";AAAA,qBAAqB;AACrB,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,UAAU,EAAmB,SAAS,EAAE,MAAM,kCAAkC,CAAC;AACnG,OAAO,EAAE,IAAI,EAAE,MAAM,0CAA0C,CAAC;AAChE,OAAO,EACL,oBAAoB,GAKrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7D,MAAM,CAAC,IAAM,gBAAgB,GAAG,OAAO,qBACrC,WAAW,EAAE,oBAAoB,IAC9B,eAAe,KAClB,KAAK,EAAE;QACL,IAAI,EAAE,IAAI;QACV,SAAS,EAAE,MAAM;QACjB,OAAO,EAAE,IAAI;KACd,EACD,SAAS,EAAE,UAAC,SAAgC,EAAE,QAAwC;QACpF,IAAM,QAAQ,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAChD,IAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,EAAE,UAAC,KAAK,IAAc,OAAA,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,EAArB,CAAqB,CAAC,CAAC;QAE7E,OAAO,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC9C,CAAC,IACD,CAAC;AAEH,MAAM,CAAC,IAAM,mBAAmB,GAAG,UACjC,QAA+B,EAC/B,KAAuC;IAEvC,OAAO,UAAC,KAA4B;QAClC,IAAM,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACtD,IAAM,YAAY,GAAG,6XAGd,CAAC;QAER,OAAO,CACL,UAAC,KAAK,CAAC,IAAI,eAAK,WAAW;YACzB,UAAC,KAAK,CAAC,SAAS,IAAC,GAAG,EAAE,YAAY,GAAI;YACrC,WAAW,CAAC,OAAO,IAAI,UAAC,KAAK,CAAC,OAAO,QAAE,WAAW,CAAC,OAAO,CAAiB,CACjE,CACd,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC,CAAC"}
@@ -1,3 +1,13 @@
1
1
  import { MenuItemCheckboxProps, MenuItemCheckboxState } from './MenuItemCheckbox.types';
2
+ import { InteractionEvent } from '@fluentui-react-native/interactive-hooks';
2
3
  export declare const useMenuItemCheckbox: (props: MenuItemCheckboxProps) => MenuItemCheckboxState;
4
+ /**
5
+ * Create interactivity and accessibility props to be passed into the inner render.
6
+ * This logic is shared between Checkbox and Radio versions of MenuItem.
7
+ *
8
+ * @param props Props passed into the outer compoennt
9
+ * @param toggleCallback Function to be called when item is toggled
10
+ * @returns Props and additional state needed to render the component
11
+ */
12
+ export declare const useMenuCheckboxInteraction: (props: MenuItemCheckboxProps, toggleCallback: (e: InteractionEvent) => void) => MenuItemCheckboxState;
3
13
  //# sourceMappingURL=useMenuItemCheckbox.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMenuItemCheckbox.d.ts","sourceRoot":"","sources":["../../src/MenuItemCheckbox/useMenuItemCheckbox.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAaxF,eAAO,MAAM,mBAAmB,UAAW,qBAAqB,KAAG,qBAgElE,CAAC"}
1
+ {"version":3,"file":"useMenuItemCheckbox.d.ts","sourceRoot":"","sources":["../../src/MenuItemCheckbox/useMenuItemCheckbox.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAExF,OAAO,EACL,gBAAgB,EAKjB,MAAM,0CAA0C,CAAC;AAKlD,eAAO,MAAM,mBAAmB,UAAW,qBAAqB,KAAG,qBAclE,CAAC;AAUF;;;;;;;GAOG;AACH,eAAO,MAAM,0BAA0B,UAC9B,qBAAqB,sBACR,gBAAgB,KAAK,IAAI,KAC5C,qBAwDF,CAAC"}
@@ -6,39 +6,53 @@ import { useMenuListContext } from '../context/menuListContext';
6
6
  var defaultAccessibilityActions = [{ name: 'Toggle' }];
7
7
  export var useMenuItemCheckbox = function (props) {
8
8
  var _a;
9
- // attach the pressable state handlers
10
- var defaultComponentRef = React.useRef(null);
11
- var accessibilityActions = props.accessibilityActions, accessibilityState = props.accessibilityState, _b = props.componentRef, componentRef = _b === void 0 ? defaultComponentRef : _b, disabled = props.disabled, name = props.name, onAccessibilityAction = props.onAccessibilityAction, rest = __rest(props, ["accessibilityActions", "accessibilityState", "componentRef", "disabled", "name", "onAccessibilityAction"]);
9
+ var name = props.name;
12
10
  var context = useMenuListContext();
13
11
  var checked = (_a = context.checked) === null || _a === void 0 ? void 0 : _a[name];
14
12
  var onCheckedChange = context.onCheckedChange;
15
13
  var toggleChecked = React.useCallback(function (e) {
16
14
  onCheckedChange(e, name, !checked);
17
15
  }, [checked, name, onCheckedChange]);
16
+ return useMenuCheckboxInteraction(props, toggleChecked);
17
+ };
18
+ var getAccessibilityState = memoize(getAccessibilityStateWorker);
19
+ function getAccessibilityStateWorker(disabled, checked, accessibilityState) {
20
+ if (accessibilityState) {
21
+ return __assign({ disabled: disabled, checked: checked }, accessibilityState);
22
+ }
23
+ return { disabled: disabled, checked: checked };
24
+ }
25
+ /**
26
+ * Create interactivity and accessibility props to be passed into the inner render.
27
+ * This logic is shared between Checkbox and Radio versions of MenuItem.
28
+ *
29
+ * @param props Props passed into the outer compoennt
30
+ * @param toggleCallback Function to be called when item is toggled
31
+ * @returns Props and additional state needed to render the component
32
+ */
33
+ export var useMenuCheckboxInteraction = function (props, toggleCallback) {
34
+ var _a;
35
+ var defaultComponentRef = React.useRef(null);
36
+ var accessibilityActions = props.accessibilityActions, accessibilityState = props.accessibilityState, _b = props.componentRef, componentRef = _b === void 0 ? defaultComponentRef : _b, disabled = props.disabled, name = props.name, onAccessibilityAction = props.onAccessibilityAction, rest = __rest(props, ["accessibilityActions", "accessibilityState", "componentRef", "disabled", "name", "onAccessibilityAction"]);
37
+ var context = useMenuListContext();
38
+ var checked = (_a = context.checked) === null || _a === void 0 ? void 0 : _a[name];
18
39
  // Ensure focus is placed on checkbox after click
19
- var toggleCheckedWithFocus = useOnPressWithFocus(componentRef, toggleChecked);
40
+ var toggleCheckedWithFocus = useOnPressWithFocus(componentRef, toggleCallback);
20
41
  var pressable = useAsPressable(__assign({ onPress: toggleCheckedWithFocus }, rest));
21
42
  var buttonRef = useViewCommandFocus(componentRef);
22
- var onKeyProps = useKeyProps(toggleChecked, ' ');
43
+ var onKeyProps = useKeyProps(toggleCallback, ' ');
23
44
  var accessibilityActionsProp = accessibilityActions
24
45
  ? __spreadArray(__spreadArray([], defaultAccessibilityActions, true), accessibilityActions, true) : defaultAccessibilityActions;
25
46
  var onAccessibilityActionProp = React.useCallback(function (event) {
26
47
  if (event.nativeEvent.actionName === 'Toggle') {
27
- toggleChecked(event);
48
+ toggleCallback(event);
28
49
  }
29
50
  onAccessibilityAction && onAccessibilityAction(event);
30
- }, [toggleChecked, onAccessibilityAction]);
51
+ }, [toggleCallback, onAccessibilityAction]);
31
52
  var state = __assign(__assign({}, pressable.state), { disabled: !!props.disabled, checked: checked });
32
53
  return {
33
54
  props: __assign(__assign(__assign({}, pressable.props), { accessible: true, accessibilityActions: accessibilityActionsProp, accessibilityLabel: props.accessibilityLabel, accessibilityRole: 'menuitem', accessibilityState: getAccessibilityState(disabled, state.checked, accessibilityState), enableFocusRing: true, focusable: !disabled, onAccessibilityAction: onAccessibilityActionProp, ref: buttonRef }), onKeyProps),
34
55
  state: state,
35
56
  };
36
57
  };
37
- var getAccessibilityState = memoize(getAccessibilityStateWorker);
38
- function getAccessibilityStateWorker(disabled, checked, accessibilityState) {
39
- if (accessibilityState) {
40
- return __assign({ disabled: disabled, checked: checked }, accessibilityState);
41
- }
42
- return { disabled: disabled, checked: checked };
43
- }
44
58
  //# sourceMappingURL=useMenuItemCheckbox.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMenuItemCheckbox.js","sourceRoot":"","sources":["../../src/MenuItemCheckbox/useMenuItemCheckbox.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAC3D,OAAO,EAEL,cAAc,EACd,WAAW,EACX,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAEhE,IAAM,2BAA2B,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;AAEzD,MAAM,CAAC,IAAM,mBAAmB,GAAG,UAAC,KAA4B;;IAC9D,sCAAsC;IACtC,IAAM,mBAAmB,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAE7C,IAAA,oBAAoB,GAOlB,KAAK,qBAPa,EACpB,kBAAkB,GAMhB,KAAK,mBANW,EAClB,KAKE,KAAK,aAL2B,EAAlC,YAAY,mBAAG,mBAAmB,KAAA,EAClC,QAAQ,GAIN,KAAK,SAJC,EACR,IAAI,GAGF,KAAK,KAHH,EACJ,qBAAqB,GAEnB,KAAK,sBAFc,EAClB,IAAI,UACL,KAAK,EARH,2GAQL,CADQ,CACC;IACV,IAAM,OAAO,GAAG,kBAAkB,EAAE,CAAC;IACrC,IAAM,OAAO,GAAG,MAAA,OAAO,CAAC,OAAO,0CAAG,IAAI,CAAC,CAAC;IACxC,IAAM,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;IAEhD,IAAM,aAAa,GAAG,KAAK,CAAC,WAAW,CACrC,UAAC,CAAmB;QAClB,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC,EACD,CAAC,OAAO,EAAE,IAAI,EAAE,eAAe,CAAC,CACjC,CAAC;IACF,iDAAiD;IACjD,IAAM,sBAAsB,GAAG,mBAAmB,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;IAEhF,IAAM,SAAS,GAAG,cAAc,YAAG,OAAO,EAAE,sBAAsB,IAAK,IAAI,EAAG,CAAC;IAC/E,IAAM,SAAS,GAAG,mBAAmB,CAAC,YAAY,CAAC,CAAC;IAEpD,IAAM,UAAU,GAAG,WAAW,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;IACnD,IAAM,wBAAwB,GAAG,oBAAoB;QACnD,CAAC,iCAAK,2BAA2B,SAAK,oBAAoB,QAC1D,CAAC,CAAC,2BAA2B,CAAC;IAChC,IAAM,yBAAyB,GAAG,KAAK,CAAC,WAAW,CACjD,UAAC,KAA+B;QAC9B,IAAI,KAAK,CAAC,WAAW,CAAC,UAAU,KAAK,QAAQ,EAAE;YAC7C,aAAa,CAAC,KAAK,CAAC,CAAC;SACtB;QACD,qBAAqB,IAAI,qBAAqB,CAAC,KAAK,CAAC,CAAC;IACxD,CAAC,EACD,CAAC,aAAa,EAAE,qBAAqB,CAAC,CACvC,CAAC;IAEF,IAAM,KAAK,yBACN,SAAS,CAAC,KAAK,KAClB,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,EAC1B,OAAO,EAAE,OAAO,GACjB,CAAC;IAEF,OAAO;QACL,KAAK,iCACA,SAAS,CAAC,KAAK,KAClB,UAAU,EAAE,IAAI,EAChB,oBAAoB,EAAE,wBAAwB,EAC9C,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,EAC5C,iBAAiB,EAAE,UAAU,EAC7B,kBAAkB,EAAE,qBAAqB,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,EAAE,kBAAkB,CAAC,EACtF,eAAe,EAAE,IAAI,EACrB,SAAS,EAAE,CAAC,QAAQ,EACpB,qBAAqB,EAAE,yBAAyB,EAChD,GAAG,EAAE,SAAS,KACX,UAAU,CACd;QACD,KAAK,EAAE,KAAK;KACb,CAAC;AACJ,CAAC,CAAC;AAEF,IAAM,qBAAqB,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAC;AACnE,SAAS,2BAA2B,CAAC,QAAiB,EAAE,OAAgB,EAAE,kBAAuC;IAC/G,IAAI,kBAAkB,EAAE;QACtB,kBAAS,QAAQ,UAAA,EAAE,OAAO,SAAA,IAAK,kBAAkB,EAAG;KACrD;IACD,OAAO,EAAE,QAAQ,UAAA,EAAE,OAAO,SAAA,EAAE,CAAC;AAC/B,CAAC"}
1
+ {"version":3,"file":"useMenuItemCheckbox.js","sourceRoot":"","sources":["../../src/MenuItemCheckbox/useMenuItemCheckbox.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { MenuItemCheckboxProps } from '../MenuItemCheckbox/MenuItemCheckbox.types';
2
+ export declare const menuItemRadioName = "MenuItemRadio";
3
+ export declare const MenuItemRadio: import("@fluentui-react-native/composition").ComposeFactoryComponent<MenuItemCheckboxProps, import("../MenuItemCheckbox/MenuItemCheckbox.types").MenuItemCheckboxSlotProps, import("../MenuItemCheckbox/MenuItemCheckbox.types").MenuItemCheckboxTokens, import("@fluentui-react-native/framework").Theme, object>;
4
+ //# sourceMappingURL=MenuItemRadio.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuItemRadio.d.ts","sourceRoot":"","sources":["../../src/MenuItemRadio/MenuItemRadio.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,qBAAqB,EAAwB,MAAM,4CAA4C,CAAC;AAEzG,eAAO,MAAM,iBAAiB,kBAAkB,CAAC;AAEjD,eAAO,MAAM,aAAa,oTAQxB,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { useMenuItemRadio } from './useMenuItemRadio';
2
+ import { MenuItemCheckbox, menuItemFinalRender } from '../MenuItemCheckbox/MenuItemCheckbox';
3
+ export var menuItemRadioName = 'MenuItemRadio';
4
+ export var MenuItemRadio = MenuItemCheckbox.compose({
5
+ displayName: menuItemRadioName,
6
+ useRender: function (userProps, useSlots) {
7
+ var menuItem = useMenuItemRadio(userProps);
8
+ var Slots = useSlots(userProps, function (layer) { return menuItem.state[layer]; });
9
+ return menuItemFinalRender(menuItem, Slots);
10
+ },
11
+ });
12
+ //# sourceMappingURL=MenuItemRadio.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuItemRadio.js","sourceRoot":"","sources":["../../src/MenuItemRadio/MenuItemRadio.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAG7F,MAAM,CAAC,IAAM,iBAAiB,GAAG,eAAe,CAAC;AAEjD,MAAM,CAAC,IAAM,aAAa,GAAG,gBAAgB,CAAC,OAAO,CAAC;IACpD,WAAW,EAAE,iBAAiB;IAC9B,SAAS,EAAE,UAAC,SAAgC,EAAE,QAAwC;QACpF,IAAM,QAAQ,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,EAAE,UAAC,KAAK,IAAc,OAAA,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,EAArB,CAAqB,CAAC,CAAC;QAE7E,OAAO,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC9C,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { MenuItemCheckboxProps, MenuItemCheckboxState } from '../MenuItemCheckbox/MenuItemCheckbox.types';
2
+ export declare const useMenuItemRadio: (props: MenuItemCheckboxProps) => MenuItemCheckboxState;
3
+ //# sourceMappingURL=useMenuItemRadio.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMenuItemRadio.d.ts","sourceRoot":"","sources":["../../src/MenuItemRadio/useMenuItemRadio.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AAG1G,eAAO,MAAM,gBAAgB,UAAW,qBAAqB,KAAG,qBAc/D,CAAC"}
@@ -0,0 +1,15 @@
1
+ import * as React from 'react';
2
+ import { useMenuListContext } from '../context/menuListContext';
3
+ import { useMenuCheckboxInteraction } from '../MenuItemCheckbox/useMenuItemCheckbox';
4
+ export var useMenuItemRadio = function (props) {
5
+ var _a;
6
+ var name = props.name;
7
+ var context = useMenuListContext();
8
+ var checked = (_a = context.checked) === null || _a === void 0 ? void 0 : _a[name];
9
+ var selectRadio = context.selectRadio;
10
+ var toggleChecked = React.useCallback(function (e) {
11
+ selectRadio(e, name, !checked);
12
+ }, [checked, name, selectRadio]);
13
+ return useMenuCheckboxInteraction(props, toggleChecked);
14
+ };
15
+ //# sourceMappingURL=useMenuItemRadio.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMenuItemRadio.js","sourceRoot":"","sources":["../../src/MenuItemRadio/useMenuItemRadio.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAEhE,OAAO,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AAErF,MAAM,CAAC,IAAM,gBAAgB,GAAG,UAAC,KAA4B;;IACnD,IAAA,IAAI,GAAK,KAAK,KAAV,CAAW;IACvB,IAAM,OAAO,GAAG,kBAAkB,EAAE,CAAC;IACrC,IAAM,OAAO,GAAG,MAAA,OAAO,CAAC,OAAO,0CAAG,IAAI,CAAC,CAAC;IACxC,IAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAExC,IAAM,aAAa,GAAG,KAAK,CAAC,WAAW,CACrC,UAAC,CAAmB;QAClB,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC,EACD,CAAC,OAAO,EAAE,IAAI,EAAE,WAAW,CAAC,CAC7B,CAAC;IAEF,OAAO,0BAA0B,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;AAC1D,CAAC,CAAC"}
@@ -14,6 +14,7 @@ export interface MenuListProps extends Omit<IViewProps, 'onPress'> {
14
14
  }
15
15
  export interface MenuListState extends MenuListProps {
16
16
  isCheckedControlled: boolean;
17
+ selectRadio?: (e: InteractionEvent, name: string, isChecked: boolean) => void;
17
18
  }
18
19
  export interface MenuListSlotProps {
19
20
  root: React.PropsWithRef<IViewProps> & {
@@ -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,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAErF,eAAO,MAAM,YAAY,aAAa,CAAC;AAEvC,MAAM,WAAW,cAAe,SAAQ,YAAY,EAAE,sBAAsB;IAC1E,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;CACnF;AAED,MAAM,WAAW,aAAc,SAAQ,aAAa;IAClD,mBAAmB,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG;QAAE,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACzD;AACD,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,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAErF,eAAO,MAAM,YAAY,aAAa,CAAC;AAEvC,MAAM,WAAW,cAAe,SAAQ,YAAY,EAAE,sBAAsB;IAC1E,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;CACnF;AAED,MAAM,WAAW,aAAc,SAAQ,aAAa;IAClD,mBAAmB,EAAE,OAAO,CAAC;IAC7B,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;CAC/E;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG;QAAE,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACzD;AACD,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,EAAE,iBAAiB,CAAC;CAC9B"}
@@ -1 +1 @@
1
- {"version":3,"file":"useMenuList.d.ts","sourceRoot":"","sources":["../../src/MenuList/useMenuList.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEhE,eAAO,MAAM,WAAW,WAAY,aAAa,KAAG,aAcnD,CAAC"}
1
+ {"version":3,"file":"useMenuList.d.ts","sourceRoot":"","sources":["../../src/MenuList/useMenuList.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEhE,eAAO,MAAM,WAAW,WAAY,aAAa,KAAG,aAenD,CAAC"}
@@ -6,8 +6,8 @@ export var useMenuList = function (_props) {
6
6
  // MenuList v2 needs to be able to be standalone, but this is not in scope for v1
7
7
  // Assuming that checked information will come from parent Menu
8
8
  var isCheckedControlled = typeof context.checked !== 'undefined';
9
- var _a = useMenuCheckedState(isCheckedControlled, context), checked = _a[0], onCheckedChange = _a[1];
10
- return __assign(__assign({}, context), { isCheckedControlled: isCheckedControlled, checked: checked, onCheckedChange: onCheckedChange });
9
+ var _a = useMenuCheckedState(isCheckedControlled, context), checked = _a[0], onCheckedChange = _a[1], selectRadio = _a[2];
10
+ return __assign(__assign({}, context), { isCheckedControlled: isCheckedControlled, checked: checked, onCheckedChange: onCheckedChange, selectRadio: selectRadio });
11
11
  };
12
12
  var useMenuCheckedState = function (isControlled, props) {
13
13
  var _a;
@@ -26,6 +26,16 @@ var useMenuCheckedState = function (isControlled, props) {
26
26
  onCheckedChange(e, name, isChecked);
27
27
  }
28
28
  }, [isControlled, state, onCheckedChange, setCheckedInternal]);
29
- return [state, setChecked];
29
+ var selectRadio = React.useCallback(function (e, name, isChecked) {
30
+ var _a;
31
+ if (!isControlled) {
32
+ var updatedChecked = (_a = {}, _a[name] = true, _a);
33
+ setCheckedInternal(updatedChecked);
34
+ }
35
+ if (onCheckedChange) {
36
+ onCheckedChange(e, name, isChecked);
37
+ }
38
+ }, [isControlled, onCheckedChange, setCheckedInternal]);
39
+ return [state, setChecked, selectRadio];
30
40
  };
31
41
  //# sourceMappingURL=useMenuList.js.map
@@ -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,MAAM,CAAC,IAAM,WAAW,GAAG,UAAC,MAAqB;IAC/C,IAAM,OAAO,GAAG,cAAc,EAAE,CAAC;IAEjC,iFAAiF;IACjF,+DAA+D;IAC/D,IAAM,mBAAmB,GAAG,OAAO,OAAO,CAAC,OAAO,KAAK,WAAW,CAAC;IAC7D,IAAA,KAA6B,mBAAmB,CAAC,mBAAmB,EAAE,OAAO,CAAC,EAA7E,OAAO,QAAA,EAAE,eAAe,QAAqD,CAAC;IAErF,6BACK,OAAO,KACV,mBAAmB,qBAAA,EACnB,OAAO,SAAA,EACP,eAAe,iBAAA,IACf;AACJ,CAAC,CAAC;AAEF,IAAM,mBAAmB,GAAG,UAC1B,YAAqB,EACrB,KAAoB;;IAEZ,IAAA,cAAc,GAA+B,KAAK,eAApC,EAAE,eAAe,GAAc,KAAK,gBAAnB,EAAE,OAAO,GAAK,KAAK,QAAV,CAAW;IAC3D,IAAM,YAAY,GAAG,MAAA,cAAc,aAAd,cAAc,cAAd,cAAc,GAAI,OAAO,mCAAI,EAAE,CAAC;IAC/C,IAAA,KAAwC,KAAK,CAAC,QAAQ,CAA0B,YAAY,CAAC,EAA5F,eAAe,QAAA,EAAE,kBAAkB,QAAyD,CAAC;IAEpG,IAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;IAEvD,IAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAClC,UAAC,CAAmB,EAAE,IAAY,EAAE,SAAkB;QACpD,IAAI,CAAC,YAAY,EAAE;YACjB,IAAM,UAAU,GAAG,KAAK,CAAC;YACzB,UAAU,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;YAC7B,IAAM,cAAc,gBAAQ,UAAU,CAAE,CAAC;YACzC,kBAAkB,CAAC,cAAc,CAAC,CAAC;SACpC;QAED,IAAI,eAAe,EAAE;YACnB,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;SACrC;IACH,CAAC,EACD,CAAC,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,kBAAkB,CAAC,CAC3D,CAAC;IAEF,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AAC7B,CAAC,CAAC"}
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,MAAM,CAAC,IAAM,WAAW,GAAG,UAAC,MAAqB;IAC/C,IAAM,OAAO,GAAG,cAAc,EAAE,CAAC;IAEjC,iFAAiF;IACjF,+DAA+D;IAC/D,IAAM,mBAAmB,GAAG,OAAO,OAAO,CAAC,OAAO,KAAK,WAAW,CAAC;IAC7D,IAAA,KAA0C,mBAAmB,CAAC,mBAAmB,EAAE,OAAO,CAAC,EAA1F,OAAO,QAAA,EAAE,eAAe,QAAA,EAAE,WAAW,QAAqD,CAAC;IAElG,6BACK,OAAO,KACV,mBAAmB,qBAAA,EACnB,OAAO,SAAA,EACP,eAAe,iBAAA,EACf,WAAW,aAAA,IACX;AACJ,CAAC,CAAC;AAEF,IAAM,mBAAmB,GAAG,UAC1B,YAAqB,EACrB,KAAoB;;IAMZ,IAAA,cAAc,GAA+B,KAAK,eAApC,EAAE,eAAe,GAAc,KAAK,gBAAnB,EAAE,OAAO,GAAK,KAAK,QAAV,CAAW;IAC3D,IAAM,YAAY,GAAG,MAAA,cAAc,aAAd,cAAc,cAAd,cAAc,GAAI,OAAO,mCAAI,EAAE,CAAC;IAC/C,IAAA,KAAwC,KAAK,CAAC,QAAQ,CAA0B,YAAY,CAAC,EAA5F,eAAe,QAAA,EAAE,kBAAkB,QAAyD,CAAC;IAEpG,IAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;IAEvD,IAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAClC,UAAC,CAAmB,EAAE,IAAY,EAAE,SAAkB;QACpD,IAAI,CAAC,YAAY,EAAE;YACjB,IAAM,UAAU,GAAG,KAAK,CAAC;YACzB,UAAU,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;YAC7B,IAAM,cAAc,gBAAQ,UAAU,CAAE,CAAC;YACzC,kBAAkB,CAAC,cAAc,CAAC,CAAC;SACpC;QAED,IAAI,eAAe,EAAE;YACnB,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;SACrC;IACH,CAAC,EACD,CAAC,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,kBAAkB,CAAC,CAC3D,CAAC;IAEF,IAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CACnC,UAAC,CAAmB,EAAE,IAAY,EAAE,SAAkB;;QACpD,IAAI,CAAC,YAAY,EAAE;YACjB,IAAM,cAAc,aAAK,GAAC,IAAI,IAAG,IAAI,KAAE,CAAC;YACxC,kBAAkB,CAAC,cAAc,CAAC,CAAC;SACpC;QAED,IAAI,eAAe,EAAE;YACnB,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;SACrC;IACH,CAAC,EACD,CAAC,YAAY,EAAE,eAAe,EAAE,kBAAkB,CAAC,CACpD,CAAC;IAEF,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;AAC1C,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"MenuPopover.d.ts","sourceRoot":"","sources":["../../src/MenuPopover/MenuPopover.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAmB,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAGxE,eAAO,MAAM,WAAW,iFAiBtB,CAAC;AAGH,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"MenuPopover.d.ts","sourceRoot":"","sources":["../../src/MenuPopover/MenuPopover.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAmB,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAGxE,eAAO,MAAM,WAAW,iFAmBtB,CAAC;AAGH,eAAe,WAAW,CAAC"}
@@ -7,7 +7,7 @@ export var MenuPopover = stagedComponent(function (props) {
7
7
  var state = useMenuPopover(props);
8
8
  var theme = useFluentTheme();
9
9
  return function (_rest, children) {
10
- return (React.createElement(Callout, { borderWidth: 1, borderColor: theme.colors.neutralStrokeAccessible, target: state.triggerRef, onDismiss: state.onDismiss, dismissBehaviors: state.dismissBehaviors }, children));
10
+ return (React.createElement(Callout, { borderWidth: 1, borderColor: theme.colors.neutralStrokeAccessible, target: state.triggerRef, onDismiss: state.onDismiss, dismissBehaviors: state.dismissBehaviors, setInitialFocus: state.setInitialFocus, doNotTakePointerCapture: state.doNotTakePointerCapture }, children));
11
11
  };
12
12
  });
13
13
  MenuPopover.displayName = menuPopoverName;
@@ -1 +1 @@
1
- {"version":3,"file":"MenuPopover.js","sourceRoot":"","sources":["../../src/MenuPopover/MenuPopover.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AACnF,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,EAAE,eAAe,EAAoB,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,MAAM,CAAC,IAAM,WAAW,GAAG,eAAe,CAAC,UAAC,KAAuB;IACjE,IAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IACpC,IAAM,KAAK,GAAG,cAAc,EAAE,CAAC;IAE/B,OAAO,UAAC,KAAuB,EAAE,QAAyB;QACxD,OAAO,CACL,oBAAC,OAAO,IACN,WAAW,EAAE,CAAC,EACd,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,uBAAuB,EACjD,MAAM,EAAE,KAAK,CAAC,UAAU,EACxB,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,IAEvC,QAAQ,CACD,CACX,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AACH,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;AAC1B,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AACnF,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,EAAE,eAAe,EAAoB,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,MAAM,CAAC,IAAM,WAAW,GAAG,eAAe,CAAC,UAAC,KAAuB;IACjE,IAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IACpC,IAAM,KAAK,GAAG,cAAc,EAAE,CAAC;IAE/B,OAAO,UAAC,KAAuB,EAAE,QAAyB;QACxD,OAAO,CACL,oBAAC,OAAO,IACN,WAAW,EAAE,CAAC,EACd,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,uBAAuB,EACjD,MAAM,EAAE,KAAK,CAAC,UAAU,EACxB,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,EACxC,eAAe,EAAE,KAAK,CAAC,eAAe,EACtC,uBAAuB,EAAE,KAAK,CAAC,uBAAuB,IAErD,QAAQ,CACD,CACX,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AACH,WAAW,CAAC,WAAW,GAAG,eAAe,CAAC;AAE1C,eAAe,WAAW,CAAC"}
@@ -6,7 +6,9 @@ export interface MenuPopoverProps extends Omit<IViewProps, 'onPress'> {
6
6
  }
7
7
  export interface MenuPopoverState {
8
8
  dismissBehaviors: DismissBehaviors[];
9
+ doNotTakePointerCapture: boolean;
9
10
  onDismiss: () => void;
11
+ setInitialFocus: boolean;
10
12
  triggerRef: React.RefObject<React.Component>;
11
13
  }
12
14
  //# sourceMappingURL=MenuPopover.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MenuPopover.types.d.ts","sourceRoot":"","sources":["../../src/MenuPopover/MenuPopover.types.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE,eAAO,MAAM,eAAe,gBAAgB,CAAC;AAE7C,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC;CAAG;AAExE,MAAM,WAAW,gBAAgB;IAC/B,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;IACrC,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;CAC9C"}
1
+ {"version":3,"file":"MenuPopover.types.d.ts","sourceRoot":"","sources":["../../src/MenuPopover/MenuPopover.types.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE,eAAO,MAAM,eAAe,gBAAgB,CAAC;AAE7C,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC;CAAG;AAExE,MAAM,WAAW,gBAAgB;IAC/B,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;IACrC,uBAAuB,EAAE,OAAO,CAAC;IACjC,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,eAAe,EAAE,OAAO,CAAC;IACzB,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;CAC9C"}
@@ -1 +1 @@
1
- {"version":3,"file":"useMenuPopover.d.ts","sourceRoot":"","sources":["../../src/MenuPopover/useMenuPopover.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEzE,eAAO,MAAM,cAAc,WAAY,gBAAgB,KAAG,gBAWzD,CAAC"}
1
+ {"version":3,"file":"useMenuPopover.d.ts","sourceRoot":"","sources":["../../src/MenuPopover/useMenuPopover.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEzE,eAAO,MAAM,cAAc,WAAY,gBAAgB,KAAG,gBAgBzD,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import React from 'react';
2
+ import { Platform } from 'react-native';
2
3
  import { useMenuContext } from '../context/menuContext';
3
4
  export var useMenuPopover = function (_props) {
4
5
  var context = useMenuContext();
@@ -8,6 +9,10 @@ export var useMenuPopover = function (_props) {
8
9
  var dismissBehaviors = context.isControlled
9
10
  ? ['preventDismissOnKeyDown', 'preventDismissOnClickOutside']
10
11
  : undefined;
11
- return { triggerRef: triggerRef, onDismiss: onDismiss, dismissBehaviors: dismissBehaviors };
12
+ // Initial focus behavior differs per platform, Windows platforms move focus
13
+ // automatically onto first element of Callout
14
+ var setInitialFocus = Platform.OS === 'win32' || Platform.OS === 'windows';
15
+ var doNotTakePointerCapture = context.openOnHover;
16
+ return { triggerRef: triggerRef, onDismiss: onDismiss, dismissBehaviors: dismissBehaviors, doNotTakePointerCapture: doNotTakePointerCapture, setInitialFocus: setInitialFocus };
12
17
  };
13
18
  //# sourceMappingURL=useMenuPopover.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMenuPopover.js","sourceRoot":"","sources":["../../src/MenuPopover/useMenuPopover.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAGxD,MAAM,CAAC,IAAM,cAAc,GAAG,UAAC,MAAwB;IACrD,IAAM,OAAO,GAAG,cAAc,EAAE,CAAC;IACjC,IAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAEhC,IAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IACtC,IAAM,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,cAAM,OAAA,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,YAAY,CAAC,EAAtC,CAAsC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7F,IAAM,gBAAgB,GAAG,OAAO,CAAC,YAAY;QAC3C,CAAC,CAAE,CAAC,yBAAyB,EAAE,8BAA8B,CAAwB;QACrF,CAAC,CAAC,SAAS,CAAC;IAEd,OAAO,EAAE,UAAU,YAAA,EAAE,SAAS,WAAA,EAAE,gBAAgB,kBAAA,EAAE,CAAC;AACrD,CAAC,CAAC"}
1
+ {"version":3,"file":"useMenuPopover.js","sourceRoot":"","sources":["../../src/MenuPopover/useMenuPopover.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAGxD,MAAM,CAAC,IAAM,cAAc,GAAG,UAAC,MAAwB;IACrD,IAAM,OAAO,GAAG,cAAc,EAAE,CAAC;IACjC,IAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAEhC,IAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IACtC,IAAM,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,cAAM,OAAA,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,YAAY,CAAC,EAAtC,CAAsC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7F,IAAM,gBAAgB,GAAG,OAAO,CAAC,YAAY;QAC3C,CAAC,CAAE,CAAC,yBAAyB,EAAE,8BAA8B,CAAwB;QACrF,CAAC,CAAC,SAAS,CAAC;IAEd,4EAA4E;IAC5E,8CAA8C;IAC9C,IAAM,eAAe,GAAG,QAAQ,CAAC,EAAE,KAAM,OAAe,IAAI,QAAQ,CAAC,EAAE,KAAK,SAAS,CAAC;IACtF,IAAM,uBAAuB,GAAG,OAAO,CAAC,WAAW,CAAC;IAEpD,OAAO,EAAE,UAAU,YAAA,EAAE,SAAS,WAAA,EAAE,gBAAgB,kBAAA,EAAE,uBAAuB,yBAAA,EAAE,eAAe,iBAAA,EAAE,CAAC;AAC/F,CAAC,CAAC"}
@@ -4,6 +4,9 @@ import { MenuTriggerProps } from './MenuTrigger.types';
4
4
  export declare const useMenuTrigger: (_props: MenuTriggerProps) => {
5
5
  onClick: (e: InteractionEvent) => void;
6
6
  onHoverIn: (e: InteractionEvent) => void;
7
+ onHoverOut: (e: InteractionEvent) => void;
7
8
  componentRef: import("react").RefObject<import("react").Component<{}, {}, any>>;
9
+ delayHoverIn: number;
10
+ delayHoverOut: number;
8
11
  };
9
12
  //# sourceMappingURL=useMenuTrigger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMenuTrigger.d.ts","sourceRoot":"","sources":["../../src/MenuTrigger/useMenuTrigger.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,eAAO,MAAM,cAAc,WAAY,gBAAgB;iBAcjC,gBAAgB;mBANd,gBAAgB;;CAWvC,CAAC"}
1
+ {"version":3,"file":"useMenuTrigger.d.ts","sourceRoot":"","sources":["../../src/MenuTrigger/useMenuTrigger.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAGvD,eAAO,MAAM,cAAc,WAAY,gBAAgB;iBAyBjC,gBAAgB;mBAZd,gBAAgB;oBAMf,gBAAgB;;;;CAWxC,CAAC"}
@@ -1,18 +1,28 @@
1
1
  import { useMenuContext } from '../context/menuContext';
2
+ import { Platform } from 'react-native';
2
3
  export var useMenuTrigger = function (_props) {
3
4
  var context = useMenuContext();
4
5
  var setOpen = context.setOpen;
5
6
  var open = context.open;
6
7
  var openOnHover = context.openOnHover;
7
8
  var triggerRef = context.triggerRef;
9
+ var delayHover = Platform.select({
10
+ macos: 100,
11
+ default: 500, // win32
12
+ });
8
13
  var onHoverIn = function (e) {
9
14
  if (openOnHover) {
10
15
  setOpen(e, true /* isOpen */);
11
16
  }
12
17
  };
18
+ var onHoverOut = function (e) {
19
+ if (openOnHover) {
20
+ setOpen(e, false /* isOpen */);
21
+ }
22
+ };
13
23
  var onClick = function (e) {
14
24
  setOpen(e, !open);
15
25
  };
16
- return { onClick: onClick, onHoverIn: onHoverIn, componentRef: triggerRef };
26
+ return { onClick: onClick, onHoverIn: onHoverIn, onHoverOut: onHoverOut, componentRef: triggerRef, delayHoverIn: delayHover, delayHoverOut: delayHover };
17
27
  };
18
28
  //# sourceMappingURL=useMenuTrigger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMenuTrigger.js","sourceRoot":"","sources":["../../src/MenuTrigger/useMenuTrigger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAIxD,MAAM,CAAC,IAAM,cAAc,GAAG,UAAC,MAAwB;IACrD,IAAM,OAAO,GAAG,cAAc,EAAE,CAAC;IAEjC,IAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAChC,IAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1B,IAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IACxC,IAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAEtC,IAAM,SAAS,GAAG,UAAC,CAAmB;QACpC,IAAI,WAAW,EAAE;YACf,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;SAC/B;IACH,CAAC,CAAC;IAEF,IAAM,OAAO,GAAG,UAAC,CAAmB;QAClC,OAAO,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC,CAAC;IAEF,OAAO,EAAE,OAAO,SAAA,EAAE,SAAS,WAAA,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;AAC1D,CAAC,CAAC"}
1
+ {"version":3,"file":"useMenuTrigger.js","sourceRoot":"","sources":["../../src/MenuTrigger/useMenuTrigger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAGxD,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,MAAM,CAAC,IAAM,cAAc,GAAG,UAAC,MAAwB;IACrD,IAAM,OAAO,GAAG,cAAc,EAAE,CAAC;IAEjC,IAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAChC,IAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1B,IAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IACxC,IAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAEtC,IAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC;QACjC,KAAK,EAAE,GAAG;QACV,OAAO,EAAE,GAAG,EAAE,QAAQ;KACvB,CAAC,CAAC;IAEH,IAAM,SAAS,GAAG,UAAC,CAAmB;QACpC,IAAI,WAAW,EAAE;YACf,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;SAC/B;IACH,CAAC,CAAC;IAEF,IAAM,UAAU,GAAG,UAAC,CAAmB;QACrC,IAAI,WAAW,EAAE;YACf,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;SAChC;IACH,CAAC,CAAC;IAEF,IAAM,OAAO,GAAG,UAAC,CAAmB;QAClC,OAAO,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC,CAAC;IAEF,OAAO,EAAE,OAAO,SAAA,EAAE,SAAS,WAAA,EAAE,UAAU,YAAA,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC;AAC3H,CAAC,CAAC"}
package/lib/index.d.ts CHANGED
@@ -3,6 +3,7 @@ export { MenuTrigger } from './MenuTrigger/MenuTrigger';
3
3
  export { MenuPopover } from './MenuPopover/MenuPopover';
4
4
  export { MenuItem } from './MenuItem/MenuItem';
5
5
  export { MenuItemCheckbox } from './MenuItemCheckbox/MenuItemCheckbox';
6
+ export { MenuItemRadio } from './MenuItemRadio/MenuItemRadio';
6
7
  export { MenuList } from './MenuList/MenuList';
7
8
  export { MenuDivider } from './MenuDivider/MenuDivider';
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC"}
package/lib/index.js CHANGED
@@ -3,6 +3,7 @@ export { MenuTrigger } from './MenuTrigger/MenuTrigger';
3
3
  export { MenuPopover } from './MenuPopover/MenuPopover';
4
4
  export { MenuItem } from './MenuItem/MenuItem';
5
5
  export { MenuItemCheckbox } from './MenuItemCheckbox/MenuItemCheckbox';
6
+ export { MenuItemRadio } from './MenuItemRadio/MenuItemRadio';
6
7
  export { MenuList } from './MenuList/MenuList';
7
8
  export { MenuDivider } from './MenuDivider/MenuDivider';
8
9
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC"}
@@ -1,3 +1,5 @@
1
- import { MenuItemCheckboxProps } from './MenuItemCheckbox.types';
2
- export declare const MenuItemCheckbox: import("@fluentui-react-native/framework").ComposableComponent<MenuItemCheckboxProps, import("./MenuItemCheckbox.types").MenuItemCheckboxSlotProps, import("./MenuItemCheckbox.types").MenuItemCheckboxTokens, object>;
1
+ import { Slots } from '@fluentui-react-native/framework';
2
+ import { MenuItemCheckboxProps, MenuItemCheckboxSlotProps, MenuItemCheckboxState } from './MenuItemCheckbox.types';
3
+ export declare const MenuItemCheckbox: import("@fluentui-react-native/framework").ComposableComponent<MenuItemCheckboxProps, MenuItemCheckboxSlotProps, import("./MenuItemCheckbox.types").MenuItemCheckboxTokens, object>;
4
+ export declare const menuItemFinalRender: (menuItem: MenuItemCheckboxState, Slots: Slots<MenuItemCheckboxSlotProps>) => React.FunctionComponent<MenuItemCheckboxProps>;
3
5
  //# sourceMappingURL=MenuItemCheckbox.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MenuItemCheckbox.d.ts","sourceRoot":"","sources":["../../src/MenuItemCheckbox/MenuItemCheckbox.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAwB,qBAAqB,EAAwB,MAAM,0BAA0B,CAAC;AAI7G,eAAO,MAAM,gBAAgB,wNA2B3B,CAAC"}
1
+ {"version":3,"file":"MenuItemCheckbox.d.ts","sourceRoot":"","sources":["../../src/MenuItemCheckbox/MenuItemCheckbox.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAuB,KAAK,EAAuB,MAAM,kCAAkC,CAAC;AAEnG,OAAO,EAEL,qBAAqB,EACrB,yBAAyB,EACzB,qBAAqB,EAEtB,MAAM,0BAA0B,CAAC;AAIlC,eAAO,MAAM,gBAAgB,qLAc3B,CAAC;AAEH,eAAO,MAAM,mBAAmB,aACpB,qBAAqB,8CAE9B,MAAM,iBAAiB,CAAC,qBAAqB,CAe/C,CAAC"}