@fluentui-react-native/menu 0.9.3 → 0.11.1

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 (158) hide show
  1. package/CHANGELOG.json +120 -1
  2. package/CHANGELOG.md +41 -2
  3. package/lib/Menu/useMenu.d.ts.map +1 -1
  4. package/lib/Menu/useMenu.js +5 -1
  5. package/lib/Menu/useMenu.js.map +1 -1
  6. package/lib/MenuItem/MenuItem.d.ts.map +1 -1
  7. package/lib/MenuItem/MenuItem.js +4 -2
  8. package/lib/MenuItem/MenuItem.js.map +1 -1
  9. package/lib/MenuItem/MenuItem.styling.d.ts.map +1 -1
  10. package/lib/MenuItem/MenuItem.styling.js +6 -0
  11. package/lib/MenuItem/MenuItem.styling.js.map +1 -1
  12. package/lib/MenuItem/MenuItem.types.d.ts +2 -0
  13. package/lib/MenuItem/MenuItem.types.d.ts.map +1 -1
  14. package/lib/MenuItem/MenuItemTokens.d.ts.map +1 -1
  15. package/lib/MenuItem/MenuItemTokens.js +2 -0
  16. package/lib/MenuItem/MenuItemTokens.js.map +1 -1
  17. package/lib/MenuItem/MenuItemTokens.win32.d.ts.map +1 -1
  18. package/lib/MenuItem/MenuItemTokens.win32.js +2 -0
  19. package/lib/MenuItem/MenuItemTokens.win32.js.map +1 -1
  20. package/lib/MenuItem/useMenuItem.d.ts.map +1 -1
  21. package/lib/MenuItem/useMenuItem.js +3 -1
  22. package/lib/MenuItem/useMenuItem.js.map +1 -1
  23. package/lib/MenuItemCheckbox/MenuItemCheckbox.d.ts +4 -2
  24. package/lib/MenuItemCheckbox/MenuItemCheckbox.d.ts.map +1 -1
  25. package/lib/MenuItemCheckbox/MenuItemCheckbox.js +11 -8
  26. package/lib/MenuItemCheckbox/MenuItemCheckbox.js.map +1 -1
  27. package/lib/MenuItemCheckbox/useMenuItemCheckbox.d.ts +10 -0
  28. package/lib/MenuItemCheckbox/useMenuItemCheckbox.d.ts.map +1 -1
  29. package/lib/MenuItemCheckbox/useMenuItemCheckbox.js +28 -14
  30. package/lib/MenuItemCheckbox/useMenuItemCheckbox.js.map +1 -1
  31. package/lib/MenuItemRadio/MenuItemRadio.d.ts +4 -0
  32. package/lib/MenuItemRadio/MenuItemRadio.d.ts.map +1 -0
  33. package/lib/MenuItemRadio/MenuItemRadio.js +12 -0
  34. package/lib/MenuItemRadio/MenuItemRadio.js.map +1 -0
  35. package/lib/MenuItemRadio/useMenuItemRadio.d.ts +3 -0
  36. package/lib/MenuItemRadio/useMenuItemRadio.d.ts.map +1 -0
  37. package/lib/MenuItemRadio/useMenuItemRadio.js +15 -0
  38. package/lib/MenuItemRadio/useMenuItemRadio.js.map +1 -0
  39. package/lib/MenuList/MenuList.types.d.ts +1 -0
  40. package/lib/MenuList/MenuList.types.d.ts.map +1 -1
  41. package/lib/MenuList/useMenuList.d.ts.map +1 -1
  42. package/lib/MenuList/useMenuList.js +13 -3
  43. package/lib/MenuList/useMenuList.js.map +1 -1
  44. package/lib/MenuPopover/MenuPopover.d.ts.map +1 -1
  45. package/lib/MenuPopover/MenuPopover.js +1 -1
  46. package/lib/MenuPopover/MenuPopover.js.map +1 -1
  47. package/lib/MenuPopover/MenuPopover.types.d.ts +4 -1
  48. package/lib/MenuPopover/MenuPopover.types.d.ts.map +1 -1
  49. package/lib/MenuPopover/useMenuPopover.d.ts.map +1 -1
  50. package/lib/MenuPopover/useMenuPopover.js +16 -1
  51. package/lib/MenuPopover/useMenuPopover.js.map +1 -1
  52. package/lib/MenuTrigger/MenuTrigger.d.ts.map +1 -1
  53. package/lib/MenuTrigger/MenuTrigger.js +4 -3
  54. package/lib/MenuTrigger/MenuTrigger.js.map +1 -1
  55. package/lib/MenuTrigger/MenuTrigger.types.d.ts +11 -2
  56. package/lib/MenuTrigger/MenuTrigger.types.d.ts.map +1 -1
  57. package/lib/MenuTrigger/MenuTrigger.types.js.map +1 -1
  58. package/lib/MenuTrigger/useMenuTrigger.d.ts +2 -8
  59. package/lib/MenuTrigger/useMenuTrigger.d.ts.map +1 -1
  60. package/lib/MenuTrigger/useMenuTrigger.js +14 -1
  61. package/lib/MenuTrigger/useMenuTrigger.js.map +1 -1
  62. package/lib/context/menuTriggerContext.d.ts +9 -0
  63. package/lib/context/menuTriggerContext.d.ts.map +1 -0
  64. package/lib/context/menuTriggerContext.js +9 -0
  65. package/lib/context/menuTriggerContext.js.map +1 -0
  66. package/lib/index.d.ts +1 -0
  67. package/lib/index.d.ts.map +1 -1
  68. package/lib/index.js +1 -0
  69. package/lib/index.js.map +1 -1
  70. package/lib-commonjs/Menu/useMenu.d.ts.map +1 -1
  71. package/lib-commonjs/Menu/useMenu.js +5 -1
  72. package/lib-commonjs/Menu/useMenu.js.map +1 -1
  73. package/lib-commonjs/MenuItem/MenuItem.d.ts.map +1 -1
  74. package/lib-commonjs/MenuItem/MenuItem.js +3 -1
  75. package/lib-commonjs/MenuItem/MenuItem.js.map +1 -1
  76. package/lib-commonjs/MenuItem/MenuItem.styling.d.ts.map +1 -1
  77. package/lib-commonjs/MenuItem/MenuItem.styling.js +6 -0
  78. package/lib-commonjs/MenuItem/MenuItem.styling.js.map +1 -1
  79. package/lib-commonjs/MenuItem/MenuItem.types.d.ts +2 -0
  80. package/lib-commonjs/MenuItem/MenuItem.types.d.ts.map +1 -1
  81. package/lib-commonjs/MenuItem/MenuItemTokens.d.ts.map +1 -1
  82. package/lib-commonjs/MenuItem/MenuItemTokens.js +2 -0
  83. package/lib-commonjs/MenuItem/MenuItemTokens.js.map +1 -1
  84. package/lib-commonjs/MenuItem/MenuItemTokens.win32.d.ts.map +1 -1
  85. package/lib-commonjs/MenuItem/MenuItemTokens.win32.js +2 -0
  86. package/lib-commonjs/MenuItem/MenuItemTokens.win32.js.map +1 -1
  87. package/lib-commonjs/MenuItem/useMenuItem.d.ts.map +1 -1
  88. package/lib-commonjs/MenuItem/useMenuItem.js +3 -1
  89. package/lib-commonjs/MenuItem/useMenuItem.js.map +1 -1
  90. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.d.ts +4 -2
  91. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.d.ts.map +1 -1
  92. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.js +12 -8
  93. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.js.map +1 -1
  94. package/lib-commonjs/MenuItemCheckbox/useMenuItemCheckbox.d.ts +10 -0
  95. package/lib-commonjs/MenuItemCheckbox/useMenuItemCheckbox.d.ts.map +1 -1
  96. package/lib-commonjs/MenuItemCheckbox/useMenuItemCheckbox.js +31 -16
  97. package/lib-commonjs/MenuItemCheckbox/useMenuItemCheckbox.js.map +1 -1
  98. package/lib-commonjs/MenuItemRadio/MenuItemRadio.d.ts +4 -0
  99. package/lib-commonjs/MenuItemRadio/MenuItemRadio.d.ts.map +1 -0
  100. package/lib-commonjs/MenuItemRadio/MenuItemRadio.js +15 -0
  101. package/lib-commonjs/MenuItemRadio/MenuItemRadio.js.map +1 -0
  102. package/lib-commonjs/MenuItemRadio/useMenuItemRadio.d.ts +3 -0
  103. package/lib-commonjs/MenuItemRadio/useMenuItemRadio.d.ts.map +1 -0
  104. package/lib-commonjs/MenuItemRadio/useMenuItemRadio.js +20 -0
  105. package/lib-commonjs/MenuItemRadio/useMenuItemRadio.js.map +1 -0
  106. package/lib-commonjs/MenuList/MenuList.types.d.ts +1 -0
  107. package/lib-commonjs/MenuList/MenuList.types.d.ts.map +1 -1
  108. package/lib-commonjs/MenuList/useMenuList.d.ts.map +1 -1
  109. package/lib-commonjs/MenuList/useMenuList.js +13 -3
  110. package/lib-commonjs/MenuList/useMenuList.js.map +1 -1
  111. package/lib-commonjs/MenuPopover/MenuPopover.d.ts.map +1 -1
  112. package/lib-commonjs/MenuPopover/MenuPopover.js +1 -1
  113. package/lib-commonjs/MenuPopover/MenuPopover.js.map +1 -1
  114. package/lib-commonjs/MenuPopover/MenuPopover.types.d.ts +4 -1
  115. package/lib-commonjs/MenuPopover/MenuPopover.types.d.ts.map +1 -1
  116. package/lib-commonjs/MenuPopover/useMenuPopover.d.ts.map +1 -1
  117. package/lib-commonjs/MenuPopover/useMenuPopover.js +16 -1
  118. package/lib-commonjs/MenuPopover/useMenuPopover.js.map +1 -1
  119. package/lib-commonjs/MenuTrigger/MenuTrigger.d.ts.map +1 -1
  120. package/lib-commonjs/MenuTrigger/MenuTrigger.js +4 -3
  121. package/lib-commonjs/MenuTrigger/MenuTrigger.js.map +1 -1
  122. package/lib-commonjs/MenuTrigger/MenuTrigger.types.d.ts +11 -2
  123. package/lib-commonjs/MenuTrigger/MenuTrigger.types.d.ts.map +1 -1
  124. package/lib-commonjs/MenuTrigger/MenuTrigger.types.js.map +1 -1
  125. package/lib-commonjs/MenuTrigger/useMenuTrigger.d.ts +2 -8
  126. package/lib-commonjs/MenuTrigger/useMenuTrigger.d.ts.map +1 -1
  127. package/lib-commonjs/MenuTrigger/useMenuTrigger.js +14 -1
  128. package/lib-commonjs/MenuTrigger/useMenuTrigger.js.map +1 -1
  129. package/lib-commonjs/context/menuTriggerContext.d.ts +9 -0
  130. package/lib-commonjs/context/menuTriggerContext.d.ts.map +1 -0
  131. package/lib-commonjs/context/menuTriggerContext.js +14 -0
  132. package/lib-commonjs/context/menuTriggerContext.js.map +1 -0
  133. package/lib-commonjs/index.d.ts +1 -0
  134. package/lib-commonjs/index.d.ts.map +1 -1
  135. package/lib-commonjs/index.js +3 -1
  136. package/lib-commonjs/index.js.map +1 -1
  137. package/package.json +7 -7
  138. package/src/Menu/useMenu.ts +6 -0
  139. package/src/MenuItem/MenuItem.styling.ts +7 -0
  140. package/src/MenuItem/MenuItem.tsx +10 -5
  141. package/src/MenuItem/MenuItem.types.ts +2 -0
  142. package/src/MenuItem/MenuItemTokens.ts +2 -0
  143. package/src/MenuItem/MenuItemTokens.win32.ts +2 -0
  144. package/src/MenuItem/useMenuItem.ts +3 -1
  145. package/src/MenuItemCheckbox/MenuItemCheckbox.tsx +29 -16
  146. package/src/MenuItemCheckbox/useMenuItemCheckbox.ts +39 -20
  147. package/src/MenuItemRadio/MenuItemRadio.tsx +16 -0
  148. package/src/MenuItemRadio/useMenuItemRadio.ts +21 -0
  149. package/src/MenuList/MenuList.types.ts +1 -0
  150. package/src/MenuList/useMenuList.ts +22 -3
  151. package/src/MenuPopover/MenuPopover.tsx +3 -0
  152. package/src/MenuPopover/MenuPopover.types.ts +4 -1
  153. package/src/MenuPopover/useMenuPopover.ts +21 -2
  154. package/src/MenuTrigger/MenuTrigger.tsx +4 -3
  155. package/src/MenuTrigger/MenuTrigger.types.ts +14 -3
  156. package/src/MenuTrigger/useMenuTrigger.ts +18 -3
  157. package/src/context/menuTriggerContext.ts +10 -0
  158. package/src/index.ts +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"MenuItemCheckbox.js","sourceRoot":"","sources":["../../src/MenuItemCheckbox/MenuItemCheckbox.tsx"],"names":[],"mappings":";;;;AAAA,qBAAqB;AACrB,6CAAoC;AACpC,qDAA0C;AAC1C,8DAA4F;AAC5F,8EAAgE;AAChE,mEAA6G;AAC7G,6DAA4D;AAC5D,uEAA6D;AAEhD,QAAA,gBAAgB,GAAG,IAAA,mBAAO,gDACrC,WAAW,EAAE,6CAAoB,IAC9B,0CAAe,KAClB,KAAK,EAAE;QACL,IAAI,EAAE,mBAAI;QACV,SAAS,EAAE,yBAAM;QACjB,OAAO,EAAE,wBAAI;KACd,EACD,SAAS,EAAE,UAAC,SAAgC,EAAE,QAAwC;QACpF,IAAM,QAAQ,GAAG,IAAA,yCAAmB,EAAC,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,IAAA,sBAAU,EAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACtD,IAAM,UAAU,GAAG,mYAGZ,CAAC;YAER,OAAO,CACL,2BAAC,KAAK,CAAC,IAAI,4BAAK,WAAW;gBACzB,2BAAC,KAAK,CAAC,SAAS,IAAC,GAAG,EAAE,UAAU,GAAI;gBACnC,WAAW,CAAC,OAAO,IAAI,2BAAC,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,6CAAoC;AACpC,qDAA0C;AAC1C,8DAAmG;AACnG,8EAAgE;AAChE,mEAMkC;AAClC,6DAA4D;AAC5D,uEAA6D;AAEhD,QAAA,gBAAgB,GAAG,IAAA,mBAAO,gDACrC,WAAW,EAAE,6CAAoB,IAC9B,0CAAe,KAClB,KAAK,EAAE;QACL,IAAI,EAAE,mBAAI;QACV,SAAS,EAAE,yBAAM;QACjB,OAAO,EAAE,wBAAI;KACd,EACD,SAAS,EAAE,UAAC,SAAgC,EAAE,QAAwC;QACpF,IAAM,QAAQ,GAAG,IAAA,yCAAmB,EAAC,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,IAAA,2BAAmB,EAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC9C,CAAC,IACD,CAAC;AAEI,IAAM,mBAAmB,GAAG,UACjC,QAA+B,EAC/B,KAAuC;IAEvC,OAAO,UAAC,KAA4B;QAClC,IAAM,WAAW,GAAG,IAAA,sBAAU,EAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACtD,IAAM,YAAY,GAAG,6XAGd,CAAC;QAER,OAAO,CACL,2BAAC,KAAK,CAAC,IAAI,4BAAK,WAAW;YACzB,2BAAC,KAAK,CAAC,SAAS,IAAC,GAAG,EAAE,YAAY,GAAI;YACrC,WAAW,CAAC,OAAO,IAAI,2BAAC,KAAK,CAAC,OAAO,QAAE,WAAW,CAAC,OAAO,CAAiB,CACjE,CACd,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC,CAAC;AAlBW,QAAA,mBAAmB,uBAkB9B"}
@@ -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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useMenuItemCheckbox = void 0;
3
+ exports.useMenuCheckboxInteraction = exports.useMenuItemCheckbox = void 0;
4
4
  var tslib_1 = require("tslib");
5
5
  var React = (0, tslib_1.__importStar)(require("react"));
6
6
  var framework_1 = require("@fluentui-react-native/framework");
@@ -9,40 +9,55 @@ var menuListContext_1 = require("../context/menuListContext");
9
9
  var defaultAccessibilityActions = [{ name: 'Toggle' }];
10
10
  var useMenuItemCheckbox = function (props) {
11
11
  var _a;
12
- // attach the pressable state handlers
13
- var defaultComponentRef = React.useRef(null);
14
- 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 = (0, tslib_1.__rest)(props, ["accessibilityActions", "accessibilityState", "componentRef", "disabled", "name", "onAccessibilityAction"]);
12
+ var name = props.name;
15
13
  var context = (0, menuListContext_1.useMenuListContext)();
16
14
  var checked = (_a = context.checked) === null || _a === void 0 ? void 0 : _a[name];
17
15
  var onCheckedChange = context.onCheckedChange;
18
16
  var toggleChecked = React.useCallback(function (e) {
19
17
  onCheckedChange(e, name, !checked);
20
18
  }, [checked, name, onCheckedChange]);
19
+ return (0, exports.useMenuCheckboxInteraction)(props, toggleChecked);
20
+ };
21
+ exports.useMenuItemCheckbox = useMenuItemCheckbox;
22
+ var getAccessibilityState = (0, framework_1.memoize)(getAccessibilityStateWorker);
23
+ function getAccessibilityStateWorker(disabled, checked, accessibilityState) {
24
+ if (accessibilityState) {
25
+ return (0, tslib_1.__assign)({ disabled: disabled, checked: checked }, accessibilityState);
26
+ }
27
+ return { disabled: disabled, checked: checked };
28
+ }
29
+ /**
30
+ * Create interactivity and accessibility props to be passed into the inner render.
31
+ * This logic is shared between Checkbox and Radio versions of MenuItem.
32
+ *
33
+ * @param props Props passed into the outer compoennt
34
+ * @param toggleCallback Function to be called when item is toggled
35
+ * @returns Props and additional state needed to render the component
36
+ */
37
+ var useMenuCheckboxInteraction = function (props, toggleCallback) {
38
+ var _a;
39
+ var defaultComponentRef = React.useRef(null);
40
+ 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 = (0, tslib_1.__rest)(props, ["accessibilityActions", "accessibilityState", "componentRef", "disabled", "name", "onAccessibilityAction"]);
41
+ var context = (0, menuListContext_1.useMenuListContext)();
42
+ var checked = (_a = context.checked) === null || _a === void 0 ? void 0 : _a[name];
21
43
  // Ensure focus is placed on checkbox after click
22
- var toggleCheckedWithFocus = (0, interactive_hooks_1.useOnPressWithFocus)(componentRef, toggleChecked);
44
+ var toggleCheckedWithFocus = (0, interactive_hooks_1.useOnPressWithFocus)(componentRef, toggleCallback);
23
45
  var pressable = (0, interactive_hooks_1.useAsPressable)((0, tslib_1.__assign)({ onPress: toggleCheckedWithFocus }, rest));
24
46
  var buttonRef = (0, interactive_hooks_1.useViewCommandFocus)(componentRef);
25
- var onKeyProps = (0, interactive_hooks_1.useKeyProps)(toggleChecked, ' ');
47
+ var onKeyProps = (0, interactive_hooks_1.useKeyProps)(toggleCallback, ' ');
26
48
  var accessibilityActionsProp = accessibilityActions
27
49
  ? (0, tslib_1.__spreadArray)((0, tslib_1.__spreadArray)([], defaultAccessibilityActions, true), accessibilityActions, true) : defaultAccessibilityActions;
28
50
  var onAccessibilityActionProp = React.useCallback(function (event) {
29
51
  if (event.nativeEvent.actionName === 'Toggle') {
30
- toggleChecked(event);
52
+ toggleCallback(event);
31
53
  }
32
54
  onAccessibilityAction && onAccessibilityAction(event);
33
- }, [toggleChecked, onAccessibilityAction]);
55
+ }, [toggleCallback, onAccessibilityAction]);
34
56
  var state = (0, tslib_1.__assign)((0, tslib_1.__assign)({}, pressable.state), { disabled: !!props.disabled, checked: checked });
35
57
  return {
36
58
  props: (0, tslib_1.__assign)((0, tslib_1.__assign)((0, tslib_1.__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),
37
59
  state: state,
38
60
  };
39
61
  };
40
- exports.useMenuItemCheckbox = useMenuItemCheckbox;
41
- var getAccessibilityState = (0, framework_1.memoize)(getAccessibilityStateWorker);
42
- function getAccessibilityStateWorker(disabled, checked, accessibilityState) {
43
- if (accessibilityState) {
44
- return (0, tslib_1.__assign)({ disabled: disabled, checked: checked }, accessibilityState);
45
- }
46
- return { disabled: disabled, checked: checked };
47
- }
62
+ exports.useMenuCheckboxInteraction = useMenuCheckboxInteraction;
48
63
  //# sourceMappingURL=useMenuItemCheckbox.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMenuItemCheckbox.js","sourceRoot":"","sources":["../../src/MenuItemCheckbox/useMenuItemCheckbox.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useMenuItemCheckbox.js","sourceRoot":"","sources":["../../src/MenuItemCheckbox/useMenuItemCheckbox.ts"],"names":[],"mappings":";;;;AAAA,wDAA+B;AAG/B,8DAA2D;AAC3D,8EAMkD;AAClD,8DAAgE;AAEhE,IAAM,2BAA2B,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;AAElD,IAAM,mBAAmB,GAAG,UAAC,KAA4B;;IACtD,IAAA,IAAI,GAAK,KAAK,KAAV,CAAW;IACvB,IAAM,OAAO,GAAG,IAAA,oCAAkB,GAAE,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;IAEF,OAAO,IAAA,kCAA0B,EAAC,KAAK,EAAE,aAAa,CAAC,CAAC;AAC1D,CAAC,CAAC;AAdW,QAAA,mBAAmB,uBAc9B;AAEF,IAAM,qBAAqB,GAAG,IAAA,mBAAO,EAAC,2BAA2B,CAAC,CAAC;AACnE,SAAS,2BAA2B,CAAC,QAAiB,EAAE,OAAgB,EAAE,kBAAuC;IAC/G,IAAI,kBAAkB,EAAE;QACtB,+BAAS,QAAQ,UAAA,EAAE,OAAO,SAAA,IAAK,kBAAkB,EAAG;KACrD;IACD,OAAO,EAAE,QAAQ,UAAA,EAAE,OAAO,SAAA,EAAE,CAAC;AAC/B,CAAC;AAED;;;;;;;GAOG;AACI,IAAM,0BAA0B,GAAG,UACxC,KAA4B,EAC5B,cAA6C;;IAE7C,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,uBACL,KAAK,EARH,2GAQL,CADQ,CACC;IACV,IAAM,OAAO,GAAG,IAAA,oCAAkB,GAAE,CAAC;IACrC,IAAM,OAAO,GAAG,MAAA,OAAO,CAAC,OAAO,0CAAG,IAAI,CAAC,CAAC;IAExC,iDAAiD;IACjD,IAAM,sBAAsB,GAAG,IAAA,uCAAmB,EAAC,YAAY,EAAE,cAAc,CAAC,CAAC;IAEjF,IAAM,SAAS,GAAG,IAAA,kCAAc,0BAAG,OAAO,EAAE,sBAAsB,IAAK,IAAI,EAAG,CAAC;IAC/E,IAAM,SAAS,GAAG,IAAA,uCAAmB,EAAC,YAAY,CAAC,CAAC;IAEpD,IAAM,UAAU,GAAG,IAAA,+BAAW,EAAC,cAAc,EAAE,GAAG,CAAC,CAAC;IACpD,IAAM,wBAAwB,GAAG,oBAAoB;QACnD,CAAC,2DAAK,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,cAAc,CAAC,KAAK,CAAC,CAAC;SACvB;QACD,qBAAqB,IAAI,qBAAqB,CAAC,KAAK,CAAC,CAAC;IACxD,CAAC,EACD,CAAC,cAAc,EAAE,qBAAqB,CAAC,CACxC,CAAC;IAEF,IAAM,KAAK,mDACN,SAAS,CAAC,KAAK,KAClB,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,EAC1B,OAAO,EAAE,OAAO,GACjB,CAAC;IAEF,OAAO;QACL,KAAK,wEACA,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;AA3DW,QAAA,0BAA0B,8BA2DrC"}
@@ -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,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MenuItemRadio = exports.menuItemRadioName = void 0;
4
+ var useMenuItemRadio_1 = require("./useMenuItemRadio");
5
+ var MenuItemCheckbox_1 = require("../MenuItemCheckbox/MenuItemCheckbox");
6
+ exports.menuItemRadioName = 'MenuItemRadio';
7
+ exports.MenuItemRadio = MenuItemCheckbox_1.MenuItemCheckbox.compose({
8
+ displayName: exports.menuItemRadioName,
9
+ useRender: function (userProps, useSlots) {
10
+ var menuItem = (0, useMenuItemRadio_1.useMenuItemRadio)(userProps);
11
+ var Slots = useSlots(userProps, function (layer) { return menuItem.state[layer]; });
12
+ return (0, MenuItemCheckbox_1.menuItemFinalRender)(menuItem, Slots);
13
+ },
14
+ });
15
+ //# sourceMappingURL=MenuItemRadio.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuItemRadio.js","sourceRoot":"","sources":["../../src/MenuItemRadio/MenuItemRadio.tsx"],"names":[],"mappings":";;;AACA,uDAAsD;AACtD,yEAA6F;AAGhF,QAAA,iBAAiB,GAAG,eAAe,CAAC;AAEpC,QAAA,aAAa,GAAG,mCAAgB,CAAC,OAAO,CAAC;IACpD,WAAW,EAAE,yBAAiB;IAC9B,SAAS,EAAE,UAAC,SAAgC,EAAE,QAAwC;QACpF,IAAM,QAAQ,GAAG,IAAA,mCAAgB,EAAC,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,IAAA,sCAAmB,EAAC,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,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useMenuItemRadio = void 0;
4
+ var tslib_1 = require("tslib");
5
+ var React = (0, tslib_1.__importStar)(require("react"));
6
+ var menuListContext_1 = require("../context/menuListContext");
7
+ var useMenuItemCheckbox_1 = require("../MenuItemCheckbox/useMenuItemCheckbox");
8
+ var useMenuItemRadio = function (props) {
9
+ var _a;
10
+ var name = props.name;
11
+ var context = (0, menuListContext_1.useMenuListContext)();
12
+ var checked = (_a = context.checked) === null || _a === void 0 ? void 0 : _a[name];
13
+ var selectRadio = context.selectRadio;
14
+ var toggleChecked = React.useCallback(function (e) {
15
+ selectRadio(e, name, !checked);
16
+ }, [checked, name, selectRadio]);
17
+ return (0, useMenuItemCheckbox_1.useMenuCheckboxInteraction)(props, toggleChecked);
18
+ };
19
+ exports.useMenuItemRadio = useMenuItemRadio;
20
+ //# sourceMappingURL=useMenuItemRadio.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMenuItemRadio.js","sourceRoot":"","sources":["../../src/MenuItemRadio/useMenuItemRadio.ts"],"names":[],"mappings":";;;;AAAA,wDAA+B;AAE/B,8DAAgE;AAEhE,+EAAqF;AAE9E,IAAM,gBAAgB,GAAG,UAAC,KAA4B;;IACnD,IAAA,IAAI,GAAK,KAAK,KAAV,CAAW;IACvB,IAAM,OAAO,GAAG,IAAA,oCAAkB,GAAE,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,IAAA,gDAA0B,EAAC,KAAK,EAAE,aAAa,CAAC,CAAC;AAC1D,CAAC,CAAC;AAdW,QAAA,gBAAgB,oBAc3B"}
@@ -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"}
@@ -9,8 +9,8 @@ var useMenuList = function (_props) {
9
9
  // MenuList v2 needs to be able to be standalone, but this is not in scope for v1
10
10
  // Assuming that checked information will come from parent Menu
11
11
  var isCheckedControlled = typeof context.checked !== 'undefined';
12
- var _a = useMenuCheckedState(isCheckedControlled, context), checked = _a[0], onCheckedChange = _a[1];
13
- return (0, tslib_1.__assign)((0, tslib_1.__assign)({}, context), { isCheckedControlled: isCheckedControlled, checked: checked, onCheckedChange: onCheckedChange });
12
+ var _a = useMenuCheckedState(isCheckedControlled, context), checked = _a[0], onCheckedChange = _a[1], selectRadio = _a[2];
13
+ return (0, tslib_1.__assign)((0, tslib_1.__assign)({}, context), { isCheckedControlled: isCheckedControlled, checked: checked, onCheckedChange: onCheckedChange, selectRadio: selectRadio });
14
14
  };
15
15
  exports.useMenuList = useMenuList;
16
16
  var useMenuCheckedState = function (isControlled, props) {
@@ -30,6 +30,16 @@ var useMenuCheckedState = function (isControlled, props) {
30
30
  onCheckedChange(e, name, isChecked);
31
31
  }
32
32
  }, [isControlled, state, onCheckedChange, setCheckedInternal]);
33
- return [state, setChecked];
33
+ var selectRadio = react_1.default.useCallback(function (e, name, isChecked) {
34
+ var _a;
35
+ if (!isControlled) {
36
+ var updatedChecked = (_a = {}, _a[name] = true, _a);
37
+ setCheckedInternal(updatedChecked);
38
+ }
39
+ if (onCheckedChange) {
40
+ onCheckedChange(e, name, isChecked);
41
+ }
42
+ }, [isControlled, onCheckedChange, setCheckedInternal]);
43
+ return [state, setChecked, selectRadio];
34
44
  };
35
45
  //# sourceMappingURL=useMenuList.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMenuList.js","sourceRoot":"","sources":["../../src/MenuList/useMenuList.ts"],"names":[],"mappings":";;;;AACA,6DAA0B;AAC1B,sDAAwD;AAGjD,IAAM,WAAW,GAAG,UAAC,MAAqB;IAC/C,IAAM,OAAO,GAAG,IAAA,4BAAc,GAAE,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,uDACK,OAAO,KACV,mBAAmB,qBAAA,EACnB,OAAO,SAAA,EACP,eAAe,iBAAA,IACf;AACJ,CAAC,CAAC;AAdW,QAAA,WAAW,eActB;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,eAAK,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,eAAK,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,6BAAQ,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,6DAA0B;AAC1B,sDAAwD;AAGjD,IAAM,WAAW,GAAG,UAAC,MAAqB;IAC/C,IAAM,OAAO,GAAG,IAAA,4BAAc,GAAE,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,uDACK,OAAO,KACV,mBAAmB,qBAAA,EACnB,OAAO,SAAA,EACP,eAAe,iBAAA,EACf,WAAW,aAAA,IACX;AACJ,CAAC,CAAC;AAfW,QAAA,WAAW,eAetB;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,eAAK,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,eAAK,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,6BAAQ,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,eAAK,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,iFAoBtB,CAAC;AAGH,eAAe,WAAW,CAAC"}
@@ -11,7 +11,7 @@ exports.MenuPopover = (0, framework_1.stagedComponent)(function (props) {
11
11
  var state = (0, useMenuPopover_1.useMenuPopover)(props);
12
12
  var theme = (0, framework_1.useFluentTheme)();
13
13
  return function (_rest, children) {
14
- return (react_1.default.createElement(callout_1.Callout, { borderWidth: 1, borderColor: theme.colors.neutralStrokeAccessible, target: state.triggerRef, onDismiss: state.onDismiss, dismissBehaviors: state.dismissBehaviors }, children));
14
+ return (react_1.default.createElement(callout_1.Callout, { borderWidth: 1, borderColor: theme.colors.neutralStrokeAccessible, target: state.triggerRef, onDismiss: state.onDismiss, dismissBehaviors: state.dismissBehaviors, setInitialFocus: state.setInitialFocus, directionalHint: state.directionalHint, doNotTakePointerCapture: state.doNotTakePointerCapture }, children));
15
15
  };
16
16
  });
17
17
  exports.MenuPopover.displayName = MenuPopover_types_1.menuPopoverName;
@@ -1 +1 @@
1
- {"version":3,"file":"MenuPopover.js","sourceRoot":"","sources":["../../src/MenuPopover/MenuPopover.tsx"],"names":[],"mappings":";;;;AAAA,6DAA0B;AAC1B,8DAAmF;AACnF,0DAAyD;AACzD,yDAAwE;AACxE,mDAAkD;AAErC,QAAA,WAAW,GAAG,IAAA,2BAAe,EAAC,UAAC,KAAuB;IACjE,IAAM,KAAK,GAAG,IAAA,+BAAc,EAAC,KAAK,CAAC,CAAC;IACpC,IAAM,KAAK,GAAG,IAAA,0BAAc,GAAE,CAAC;IAE/B,OAAO,UAAC,KAAuB,EAAE,QAAyB;QACxD,OAAO,CACL,8BAAC,iBAAO,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,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,6DAA0B;AAC1B,8DAAmF;AACnF,0DAAyD;AACzD,yDAAwE;AACxE,mDAAkD;AAErC,QAAA,WAAW,GAAG,IAAA,2BAAe,EAAC,UAAC,KAAuB;IACjE,IAAM,KAAK,GAAG,IAAA,+BAAc,EAAC,KAAK,CAAC,CAAC;IACpC,IAAM,KAAK,GAAG,IAAA,0BAAc,GAAE,CAAC;IAE/B,OAAO,UAAC,KAAuB,EAAE,QAAyB;QACxD,OAAO,CACL,8BAAC,iBAAO,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,eAAe,EAAE,KAAK,CAAC,eAAe,EACtC,uBAAuB,EAAE,KAAK,CAAC,uBAAuB,IAErD,QAAQ,CACD,CACX,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AACH,mBAAW,CAAC,WAAW,GAAG,mCAAe,CAAC;AAE1C,kBAAe,mBAAW,CAAC"}
@@ -1,12 +1,15 @@
1
1
  /// <reference types="react" />
2
2
  import type { IViewProps } from '@fluentui-react-native/adapters';
3
- import { DismissBehaviors } from '@fluentui-react-native/callout';
3
+ import { DirectionalHint, DismissBehaviors } from '@fluentui-react-native/callout';
4
4
  export declare const menuPopoverName = "MenuPopover";
5
5
  export interface MenuPopoverProps extends Omit<IViewProps, 'onPress'> {
6
6
  }
7
7
  export interface MenuPopoverState {
8
+ directionalHint?: DirectionalHint;
8
9
  dismissBehaviors: DismissBehaviors[];
10
+ doNotTakePointerCapture: boolean;
9
11
  onDismiss: () => void;
12
+ setInitialFocus: boolean;
10
13
  triggerRef: React.RefObject<React.Component>;
11
14
  }
12
15
  //# 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,eAAe,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAEnF,eAAO,MAAM,eAAe,gBAAgB,CAAC;AAE7C,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC;CAAG;AAExE,MAAM,WAAW,gBAAgB;IAC/B,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,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,gBAiBzD,CAAC"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.useMenuPopover = void 0;
4
4
  var tslib_1 = require("tslib");
5
5
  var react_1 = (0, tslib_1.__importDefault)(require("react"));
6
+ var react_native_1 = require("react-native");
6
7
  var menuContext_1 = require("../context/menuContext");
7
8
  var useMenuPopover = function (_props) {
8
9
  var context = (0, menuContext_1.useMenuContext)();
@@ -12,7 +13,21 @@ var useMenuPopover = function (_props) {
12
13
  var dismissBehaviors = context.isControlled
13
14
  ? ['preventDismissOnKeyDown', 'preventDismissOnClickOutside']
14
15
  : undefined;
15
- return { triggerRef: triggerRef, onDismiss: onDismiss, dismissBehaviors: dismissBehaviors };
16
+ var directionalHint = getDirectionalHint(context.isSubmenu, react_native_1.I18nManager.isRTL);
17
+ // Initial focus behavior differs per platform, Windows platforms move focus
18
+ // automatically onto first element of Callout
19
+ var setInitialFocus = react_native_1.Platform.OS === 'win32' || react_native_1.Platform.OS === 'windows';
20
+ var doNotTakePointerCapture = context.openOnHover;
21
+ return { triggerRef: triggerRef, onDismiss: onDismiss, directionalHint: directionalHint, dismissBehaviors: dismissBehaviors, doNotTakePointerCapture: doNotTakePointerCapture, setInitialFocus: setInitialFocus };
16
22
  };
17
23
  exports.useMenuPopover = useMenuPopover;
24
+ var getDirectionalHint = function (isSubmenu, isRtl) {
25
+ if (!isSubmenu) {
26
+ return undefined;
27
+ }
28
+ if (isRtl) {
29
+ return 'leftTopEdge';
30
+ }
31
+ return 'rightTopEdge';
32
+ };
18
33
  //# sourceMappingURL=useMenuPopover.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMenuPopover.js","sourceRoot":"","sources":["../../src/MenuPopover/useMenuPopover.ts"],"names":[],"mappings":";;;;AAAA,6DAA0B;AAE1B,sDAAwD;AAGjD,IAAM,cAAc,GAAG,UAAC,MAAwB;IACrD,IAAM,OAAO,GAAG,IAAA,4BAAc,GAAE,CAAC;IACjC,IAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAEhC,IAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IACtC,IAAM,SAAS,GAAG,eAAK,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;AAXW,QAAA,cAAc,kBAWzB"}
1
+ {"version":3,"file":"useMenuPopover.js","sourceRoot":"","sources":["../../src/MenuPopover/useMenuPopover.ts"],"names":[],"mappings":";;;;AAAA,6DAA0B;AAC1B,6CAAqD;AAErD,sDAAwD;AAGjD,IAAM,cAAc,GAAG,UAAC,MAAwB;IACrD,IAAM,OAAO,GAAG,IAAA,4BAAc,GAAE,CAAC;IACjC,IAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAEhC,IAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IACtC,IAAM,SAAS,GAAG,eAAK,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;IACd,IAAM,eAAe,GAAG,kBAAkB,CAAC,OAAO,CAAC,SAAS,EAAE,0BAAW,CAAC,KAAK,CAAC,CAAC;IAEjF,4EAA4E;IAC5E,8CAA8C;IAC9C,IAAM,eAAe,GAAG,uBAAQ,CAAC,EAAE,KAAM,OAAe,IAAI,uBAAQ,CAAC,EAAE,KAAK,SAAS,CAAC;IACtF,IAAM,uBAAuB,GAAG,OAAO,CAAC,WAAW,CAAC;IAEpD,OAAO,EAAE,UAAU,YAAA,EAAE,SAAS,WAAA,EAAE,eAAe,iBAAA,EAAE,gBAAgB,kBAAA,EAAE,uBAAuB,yBAAA,EAAE,eAAe,iBAAA,EAAE,CAAC;AAChH,CAAC,CAAC;AAjBW,QAAA,cAAc,kBAiBzB;AAEF,IAAM,kBAAkB,GAAG,UAAC,SAAkB,EAAE,KAAc;IAC5D,IAAI,CAAC,SAAS,EAAE;QACd,OAAO,SAAS,CAAC;KAClB;IAED,IAAI,KAAK,EAAE;QACT,OAAO,aAAa,CAAC;KACtB;IAED,OAAO,cAAc,CAAC;AACxB,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"MenuTrigger.d.ts","sourceRoot":"","sources":["../../src/MenuTrigger/MenuTrigger.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAmB,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAGxE,eAAO,MAAM,WAAW,iFAiBtB,CAAC;AAGH,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"MenuTrigger.d.ts","sourceRoot":"","sources":["../../src/MenuTrigger/MenuTrigger.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAmB,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAIxE,eAAO,MAAM,WAAW,iFAiBtB,CAAC;AAGH,eAAe,WAAW,CAAC"}
@@ -6,8 +6,9 @@ var react_1 = (0, tslib_1.__importDefault)(require("react"));
6
6
  var framework_1 = require("@fluentui-react-native/framework");
7
7
  var MenuTrigger_types_1 = require("./MenuTrigger.types");
8
8
  var useMenuTrigger_1 = require("./useMenuTrigger");
9
+ var menuTriggerContext_1 = require("../context/menuTriggerContext");
9
10
  exports.MenuTrigger = (0, framework_1.stagedComponent)(function (props) {
10
- var state = (0, useMenuTrigger_1.useMenuTrigger)(props);
11
+ var menuTrigger = (0, useMenuTrigger_1.useMenuTrigger)(props);
11
12
  return function (_rest, children) {
12
13
  var childrenArray = react_1.default.Children.toArray(children);
13
14
  if (__DEV__) {
@@ -16,8 +17,8 @@ exports.MenuTrigger = (0, framework_1.stagedComponent)(function (props) {
16
17
  }
17
18
  }
18
19
  var child = childrenArray[0];
19
- var revised = react_1.default.cloneElement(child, state);
20
- return react_1.default.createElement(react_1.default.Fragment, null, revised);
20
+ var revised = react_1.default.cloneElement(child, menuTrigger.props);
21
+ return react_1.default.createElement(menuTriggerContext_1.MenuTriggerProvider, { value: menuTrigger.hasSubmenu }, revised);
21
22
  };
22
23
  });
23
24
  exports.MenuTrigger.displayName = MenuTrigger_types_1.menuTriggerName;
@@ -1 +1 @@
1
- {"version":3,"file":"MenuTrigger.js","sourceRoot":"","sources":["../../src/MenuTrigger/MenuTrigger.tsx"],"names":[],"mappings":";;;;AAAA,6DAA0B;AAC1B,8DAAmE;AACnE,yDAAwE;AACxE,mDAAkD;AAErC,QAAA,WAAW,GAAG,IAAA,2BAAe,EAAC,UAAC,KAAuB;IACjE,IAAM,KAAK,GAAG,IAAA,+BAAc,EAAC,KAAK,CAAC,CAAC;IAEpC,OAAO,UAAC,KAAuB,EAAE,QAAyB;QACxD,IAAM,aAAa,GAAG,eAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAyB,CAAC;QAE/E,IAAI,OAAO,EAAE;YACX,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC9B,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;aACzD;SACF;QAED,IAAM,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAM,OAAO,GAAG,eAAK,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAEjD,OAAO,8DAAG,OAAO,CAAI,CAAC;IACxB,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AACH,mBAAW,CAAC,WAAW,GAAG,mCAAe,CAAC;AAE1C,kBAAe,mBAAW,CAAC"}
1
+ {"version":3,"file":"MenuTrigger.js","sourceRoot":"","sources":["../../src/MenuTrigger/MenuTrigger.tsx"],"names":[],"mappings":";;;;AAAA,6DAA0B;AAC1B,8DAAmE;AACnE,yDAAwE;AACxE,mDAAkD;AAClD,oEAAoE;AAEvD,QAAA,WAAW,GAAG,IAAA,2BAAe,EAAC,UAAC,KAAuB;IACjE,IAAM,WAAW,GAAG,IAAA,+BAAc,EAAC,KAAK,CAAC,CAAC;IAE1C,OAAO,UAAC,KAAuB,EAAE,QAAyB;QACxD,IAAM,aAAa,GAAG,eAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAyB,CAAC;QAE/E,IAAI,OAAO,EAAE;YACX,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC9B,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;aACzD;SACF;QAED,IAAM,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAM,OAAO,GAAG,eAAK,CAAC,YAAY,CAAC,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;QAE7D,OAAO,8BAAC,wCAAmB,IAAC,KAAK,EAAE,WAAW,CAAC,UAAU,IAAG,OAAO,CAAuB,CAAC;IAC7F,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AACH,mBAAW,CAAC,WAAW,GAAG,mCAAe,CAAC;AAE1C,kBAAe,mBAAW,CAAC"}
@@ -1,7 +1,16 @@
1
- import type { IViewProps } from '@fluentui-react-native/adapters';
1
+ /// <reference types="react" />
2
+ import { InteractionEvent, IWithPressableOptions } from '@fluentui-react-native/interactive-hooks';
3
+ import { ViewProps } from 'react-native';
2
4
  export declare const menuTriggerName = "MenuTrigger";
3
- export interface MenuTriggerProps extends Omit<IViewProps, 'onPress'> {
5
+ export interface MenuTriggerProps extends Omit<IWithPressableOptions<ViewProps>, 'onPress'> {
6
+ /**
7
+ * A RefObject to refer to the trigger component.
8
+ */
9
+ componentRef?: React.RefObject<React.Component>;
10
+ onClick?: (e: InteractionEvent) => void;
4
11
  }
5
12
  export interface MenuTriggerState {
13
+ props: MenuTriggerProps;
14
+ hasSubmenu: boolean;
6
15
  }
7
16
  //# sourceMappingURL=MenuTrigger.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MenuTrigger.types.d.ts","sourceRoot":"","sources":["../../src/MenuTrigger/MenuTrigger.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAElE,eAAO,MAAM,eAAe,gBAAgB,CAAC;AAE7C,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC;CAAG;AAExE,MAAM,WAAW,gBAAgB;CAAG"}
1
+ {"version":3,"file":"MenuTrigger.types.d.ts","sourceRoot":"","sources":["../../src/MenuTrigger/MenuTrigger.types.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AACnG,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,eAAO,MAAM,eAAe,gBAAgB,CAAC;AAE7C,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IACzF;;OAEG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAEhD,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,gBAAgB,KAAK,IAAI,CAAC;CACzC;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,gBAAgB,CAAC;IACxB,UAAU,EAAE,OAAO,CAAC;CACrB"}
@@ -1 +1 @@
1
- {"version":3,"file":"MenuTrigger.types.js","sourceRoot":"","sources":["../../src/MenuTrigger/MenuTrigger.types.ts"],"names":[],"mappings":";;;AAEa,QAAA,eAAe,GAAG,aAAa,CAAC"}
1
+ {"version":3,"file":"MenuTrigger.types.js","sourceRoot":"","sources":["../../src/MenuTrigger/MenuTrigger.types.ts"],"names":[],"mappings":";;;AAGa,QAAA,eAAe,GAAG,aAAa,CAAC"}
@@ -1,9 +1,3 @@
1
- /// <reference types="react" />
2
- import { InteractionEvent } from '@fluentui-react-native/interactive-hooks';
3
- import { MenuTriggerProps } from './MenuTrigger.types';
4
- export declare const useMenuTrigger: (_props: MenuTriggerProps) => {
5
- onClick: (e: InteractionEvent) => void;
6
- onHoverIn: (e: InteractionEvent) => void;
7
- componentRef: import("react").RefObject<import("react").Component<{}, {}, any>>;
8
- };
1
+ import { MenuTriggerProps, MenuTriggerState } from './MenuTrigger.types';
2
+ export declare const useMenuTrigger: (_props: MenuTriggerProps) => MenuTriggerState;
9
3
  //# 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":"AAEA,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAGzE,eAAO,MAAM,cAAc,WAAY,gBAAgB,KAAG,gBAiCzD,CAAC"}
@@ -2,21 +2,34 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.useMenuTrigger = void 0;
4
4
  var menuContext_1 = require("../context/menuContext");
5
+ var react_native_1 = require("react-native");
5
6
  var useMenuTrigger = function (_props) {
6
7
  var context = (0, menuContext_1.useMenuContext)();
7
8
  var setOpen = context.setOpen;
8
9
  var open = context.open;
9
10
  var openOnHover = context.openOnHover;
10
11
  var triggerRef = context.triggerRef;
12
+ var delayHover = react_native_1.Platform.select({
13
+ macos: 100,
14
+ default: 500, // win32
15
+ });
11
16
  var onHoverIn = function (e) {
12
17
  if (openOnHover) {
13
18
  setOpen(e, true /* isOpen */);
14
19
  }
15
20
  };
21
+ var onHoverOut = function (e) {
22
+ if (openOnHover) {
23
+ setOpen(e, false /* isOpen */);
24
+ }
25
+ };
16
26
  var onClick = function (e) {
17
27
  setOpen(e, !open);
18
28
  };
19
- return { onClick: onClick, onHoverIn: onHoverIn, componentRef: triggerRef };
29
+ return {
30
+ props: { onClick: onClick, onHoverIn: onHoverIn, onHoverOut: onHoverOut, componentRef: triggerRef, delayHoverIn: delayHover, delayHoverOut: delayHover },
31
+ hasSubmenu: context.isSubmenu,
32
+ };
20
33
  };
21
34
  exports.useMenuTrigger = useMenuTrigger;
22
35
  //# sourceMappingURL=useMenuTrigger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMenuTrigger.js","sourceRoot":"","sources":["../../src/MenuTrigger/useMenuTrigger.ts"],"names":[],"mappings":";;;AAAA,sDAAwD;AAIjD,IAAM,cAAc,GAAG,UAAC,MAAwB;IACrD,IAAM,OAAO,GAAG,IAAA,4BAAc,GAAE,CAAC;IAEjC,IAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAChC,IAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;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;AAnBW,QAAA,cAAc,kBAmBzB"}
1
+ {"version":3,"file":"useMenuTrigger.js","sourceRoot":"","sources":["../../src/MenuTrigger/useMenuTrigger.ts"],"names":[],"mappings":";;;AAAA,sDAAwD;AAGxD,6CAAwC;AAEjC,IAAM,cAAc,GAAG,UAAC,MAAwB;IACrD,IAAM,OAAO,GAAG,IAAA,4BAAc,GAAE,CAAC;IAEjC,IAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAChC,IAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1B,IAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IACxC,IAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAEtC,IAAM,UAAU,GAAG,uBAAQ,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;QACL,KAAK,EAAE,EAAE,OAAO,SAAA,EAAE,SAAS,WAAA,EAAE,UAAU,YAAA,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE;QACxH,UAAU,EAAE,OAAO,CAAC,SAAS;KAC9B,CAAC;AACJ,CAAC,CAAC;AAjCW,QAAA,cAAc,kBAiCzB"}
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ /**
3
+ * This context keeps track of whether a trigger component is for a submenu.
4
+ * This allows the trigger to show a submenu indicator.
5
+ */
6
+ export declare const MenuTriggerContext: React.Context<boolean>;
7
+ export declare const MenuTriggerProvider: React.Provider<boolean>;
8
+ export declare const useMenuTriggerContext: () => boolean;
9
+ //# sourceMappingURL=menuTriggerContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menuTriggerContext.d.ts","sourceRoot":"","sources":["../../src/context/menuTriggerContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B;;;GAGG;AACH,eAAO,MAAM,kBAAkB,wBAAsC,CAAC;AAEtE,eAAO,MAAM,mBAAmB,yBAA8B,CAAC;AAC/D,eAAO,MAAM,qBAAqB,eAA6C,CAAC"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useMenuTriggerContext = exports.MenuTriggerProvider = exports.MenuTriggerContext = void 0;
4
+ var tslib_1 = require("tslib");
5
+ var react_1 = (0, tslib_1.__importDefault)(require("react"));
6
+ /**
7
+ * This context keeps track of whether a trigger component is for a submenu.
8
+ * This allows the trigger to show a submenu indicator.
9
+ */
10
+ exports.MenuTriggerContext = react_1.default.createContext(false);
11
+ exports.MenuTriggerProvider = exports.MenuTriggerContext.Provider;
12
+ var useMenuTriggerContext = function () { return react_1.default.useContext(exports.MenuTriggerContext); };
13
+ exports.useMenuTriggerContext = useMenuTriggerContext;
14
+ //# sourceMappingURL=menuTriggerContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menuTriggerContext.js","sourceRoot":"","sources":["../../src/context/menuTriggerContext.ts"],"names":[],"mappings":";;;;AAAA,6DAA0B;AAE1B;;;GAGG;AACU,QAAA,kBAAkB,GAAG,eAAK,CAAC,aAAa,CAAU,KAAK,CAAC,CAAC;AAEzD,QAAA,mBAAmB,GAAG,0BAAkB,CAAC,QAAQ,CAAC;AACxD,IAAM,qBAAqB,GAAG,cAAM,OAAA,eAAK,CAAC,UAAU,CAAC,0BAAkB,CAAC,EAApC,CAAoC,CAAC;AAAnE,QAAA,qBAAqB,yBAA8C"}
@@ -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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MenuDivider = exports.MenuList = exports.MenuItemCheckbox = exports.MenuItem = exports.MenuPopover = exports.MenuTrigger = exports.Menu = void 0;
3
+ exports.MenuDivider = exports.MenuList = exports.MenuItemRadio = exports.MenuItemCheckbox = exports.MenuItem = exports.MenuPopover = exports.MenuTrigger = exports.Menu = void 0;
4
4
  var Menu_1 = require("./Menu/Menu");
5
5
  Object.defineProperty(exports, "Menu", { enumerable: true, get: function () { return Menu_1.Menu; } });
6
6
  var MenuTrigger_1 = require("./MenuTrigger/MenuTrigger");
@@ -11,6 +11,8 @@ var MenuItem_1 = require("./MenuItem/MenuItem");
11
11
  Object.defineProperty(exports, "MenuItem", { enumerable: true, get: function () { return MenuItem_1.MenuItem; } });
12
12
  var MenuItemCheckbox_1 = require("./MenuItemCheckbox/MenuItemCheckbox");
13
13
  Object.defineProperty(exports, "MenuItemCheckbox", { enumerable: true, get: function () { return MenuItemCheckbox_1.MenuItemCheckbox; } });
14
+ var MenuItemRadio_1 = require("./MenuItemRadio/MenuItemRadio");
15
+ Object.defineProperty(exports, "MenuItemRadio", { enumerable: true, get: function () { return MenuItemRadio_1.MenuItemRadio; } });
14
16
  var MenuList_1 = require("./MenuList/MenuList");
15
17
  Object.defineProperty(exports, "MenuList", { enumerable: true, get: function () { return MenuList_1.MenuList; } });
16
18
  var MenuDivider_1 = require("./MenuDivider/MenuDivider");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,oCAAmC;AAA1B,4FAAA,IAAI,OAAA;AACb,yDAAwD;AAA/C,0GAAA,WAAW,OAAA;AACpB,yDAAwD;AAA/C,0GAAA,WAAW,OAAA;AACpB,gDAA+C;AAAtC,oGAAA,QAAQ,OAAA;AACjB,wEAAuE;AAA9D,oHAAA,gBAAgB,OAAA;AACzB,gDAA+C;AAAtC,oGAAA,QAAQ,OAAA;AACjB,yDAAwD;AAA/C,0GAAA,WAAW,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,oCAAmC;AAA1B,4FAAA,IAAI,OAAA;AACb,yDAAwD;AAA/C,0GAAA,WAAW,OAAA;AACpB,yDAAwD;AAA/C,0GAAA,WAAW,OAAA;AACpB,gDAA+C;AAAtC,oGAAA,QAAQ,OAAA;AACjB,wEAAuE;AAA9D,oHAAA,gBAAgB,OAAA;AACzB,+DAA8D;AAArD,8GAAA,aAAa,OAAA;AACtB,gDAA+C;AAAtC,oGAAA,QAAQ,OAAA;AACjB,yDAAwD;AAA/C,0GAAA,WAAW,OAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluentui-react-native/menu",
3
- "version": "0.9.3",
3
+ "version": "0.11.1",
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,12 +23,12 @@
23
23
  },
24
24
  "dependencies": {
25
25
  "@fluentui-react-native/adapters": ">=0.8.5 <1.0.0",
26
- "@fluentui-react-native/callout": ">=0.20.2 <1.0.0",
27
- "@fluentui-react-native/experimental-text": ">=0.7.28 <1.0.0",
28
- "@fluentui-react-native/framework": "0.7.28",
29
- "@fluentui-react-native/interactive-hooks": ">=0.15.8 <1.0.0",
30
- "@fluentui-react-native/theme-tokens": ">=0.16.3 <1.0.0",
31
- "@fluentui-react-native/tokens": ">=0.12.2 <1.0.0",
26
+ "@fluentui-react-native/callout": ">=0.20.5 <1.0.0",
27
+ "@fluentui-react-native/experimental-text": ">=0.9.0 <1.0.0",
28
+ "@fluentui-react-native/framework": "0.7.30",
29
+ "@fluentui-react-native/interactive-hooks": ">=0.16.1 <1.0.0",
30
+ "@fluentui-react-native/theme-tokens": ">=0.18.0 <1.0.0",
31
+ "@fluentui-react-native/tokens": ">=0.14.0 <1.0.0",
32
32
  "@fluentui-react-native/use-styling": ">=0.8.3 <1.0.0",
33
33
  "react-native-svg": "^12.3.0",
34
34
  "tslib": "^2.3.1"
@@ -10,7 +10,13 @@ export const useMenu = (props: MenuProps): MenuState => {
10
10
  const isControlled = typeof props.open !== 'undefined';
11
11
  const [open, setOpen] = useMenuOpenState(isControlled, props);
12
12
 
13
+ // Default behaviot for submenu is to open on hover
14
+ // the ...props line below will override this behavior for a submenu
15
+ // or apply openOnHover if passed into a root Menu.
16
+ const openOnHover = isSubmenu;
17
+
13
18
  return {
19
+ openOnHover,
14
20
  ...props,
15
21
  open,
16
22
  setOpen,