@fluentui-react-native/menu 1.15.0 → 1.15.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 (369) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/SPEC.md +8 -4
  3. package/lib/Menu/Menu.d.ts +2 -2
  4. package/lib/Menu/Menu.js +12 -12
  5. package/lib/Menu/Menu.types.d.ts +47 -47
  6. package/lib/Menu/Menu.types.js +4 -4
  7. package/lib/Menu/index.d.ts +1 -1
  8. package/lib/Menu/index.js +1 -1
  9. package/lib/Menu/renderMenu.android.d.ts +2 -6
  10. package/lib/Menu/renderMenu.android.js +10 -17
  11. package/lib/Menu/renderMenu.d.ts +2 -6
  12. package/lib/Menu/renderMenu.js +5 -8
  13. package/lib/Menu/useMenu.android.d.ts +1 -1
  14. package/lib/Menu/useMenu.android.js +245 -251
  15. package/lib/Menu/useMenu.d.ts +1 -1
  16. package/lib/Menu/useMenu.js +70 -75
  17. package/lib/Menu/useMenuContextValue.d.ts +1 -1
  18. package/lib/Menu/useMenuContextValue.js +4 -4
  19. package/lib/MenuCallout/MenuCallout.android.d.ts +2 -2
  20. package/lib/MenuCallout/MenuCallout.android.js +19 -39
  21. package/lib/MenuCallout/MenuCallout.d.ts +2 -2
  22. package/lib/MenuCallout/MenuCallout.js +7 -7
  23. package/lib/MenuCallout/MenuCallout.types.d.ts +13 -13
  24. package/lib/MenuCallout/MenuCallout.types.d.ts.map +1 -1
  25. package/lib/MenuCallout/MenuCallout.types.js +1 -1
  26. package/lib/MenuCallout/index.d.ts +1 -1
  27. package/lib/MenuCallout/index.js +1 -1
  28. package/lib/MenuDivider/MenuDivider.d.ts +2 -7
  29. package/lib/MenuDivider/MenuDivider.js +13 -13
  30. package/lib/MenuDivider/MenuDivider.styling.d.ts +1 -1
  31. package/lib/MenuDivider/MenuDivider.styling.js +16 -19
  32. package/lib/MenuDivider/MenuDivider.types.d.ts +12 -12
  33. package/lib/MenuDivider/MenuDivider.types.js +1 -1
  34. package/lib/MenuDivider/MenuDividerTokens.android.d.ts +1 -1
  35. package/lib/MenuDivider/MenuDividerTokens.android.js +4 -4
  36. package/lib/MenuDivider/MenuDividerTokens.d.ts +1 -1
  37. package/lib/MenuDivider/MenuDividerTokens.js +4 -4
  38. package/lib/MenuDivider/MenuDividerTokens.macos.d.ts +1 -1
  39. package/lib/MenuDivider/MenuDividerTokens.macos.js +4 -4
  40. package/lib/MenuDivider/MenuDividerTokens.win32.d.ts +1 -1
  41. package/lib/MenuDivider/MenuDividerTokens.win32.js +4 -4
  42. package/lib/MenuDivider/index.d.ts +1 -1
  43. package/lib/MenuDivider/index.js +1 -1
  44. package/lib/MenuGroup/MenuGroup.d.ts +2 -7
  45. package/lib/MenuGroup/MenuGroup.js +51 -63
  46. package/lib/MenuGroup/MenuGroup.types.d.ts +7 -7
  47. package/lib/MenuGroup/MenuGroup.types.js +1 -1
  48. package/lib/MenuGroup/index.d.ts +1 -1
  49. package/lib/MenuGroup/index.js +1 -1
  50. package/lib/MenuGroupHeader/MenuGroupHeader.d.ts +2 -7
  51. package/lib/MenuGroupHeader/MenuGroupHeader.js +14 -14
  52. package/lib/MenuGroupHeader/MenuGroupHeader.styling.d.ts +1 -1
  53. package/lib/MenuGroupHeader/MenuGroupHeader.styling.js +13 -16
  54. package/lib/MenuGroupHeader/MenuGroupHeader.types.d.ts +7 -7
  55. package/lib/MenuGroupHeader/MenuGroupHeader.types.js +1 -1
  56. package/lib/MenuGroupHeader/MenuGroupHeaderTokens.d.ts +1 -1
  57. package/lib/MenuGroupHeader/MenuGroupHeaderTokens.js +7 -7
  58. package/lib/MenuGroupHeader/MenuGroupHeaderTokens.macos.d.ts +1 -1
  59. package/lib/MenuGroupHeader/MenuGroupHeaderTokens.macos.js +8 -8
  60. package/lib/MenuGroupHeader/index.d.ts +1 -1
  61. package/lib/MenuGroupHeader/index.js +1 -1
  62. package/lib/MenuItem/MenuItem.d.ts +2 -7
  63. package/lib/MenuItem/MenuItem.js +41 -63
  64. package/lib/MenuItem/MenuItem.styling.d.ts +1 -1
  65. package/lib/MenuItem/MenuItem.styling.js +52 -70
  66. package/lib/MenuItem/MenuItem.types.d.ts +83 -83
  67. package/lib/MenuItem/MenuItem.types.js +1 -1
  68. package/lib/MenuItem/MenuItemTokens.android.d.ts +1 -1
  69. package/lib/MenuItem/MenuItemTokens.android.js +17 -17
  70. package/lib/MenuItem/MenuItemTokens.d.ts +1 -1
  71. package/lib/MenuItem/MenuItemTokens.js +35 -35
  72. package/lib/MenuItem/MenuItemTokens.macos.d.ts +1 -1
  73. package/lib/MenuItem/MenuItemTokens.macos.js +34 -34
  74. package/lib/MenuItem/MenuItemTokens.win32.d.ts +1 -1
  75. package/lib/MenuItem/MenuItemTokens.win32.js +36 -36
  76. package/lib/MenuItem/index.d.ts +1 -1
  77. package/lib/MenuItem/index.js +1 -1
  78. package/lib/MenuItem/useMenuItem.d.ts +1 -1
  79. package/lib/MenuItem/useMenuItem.js +101 -111
  80. package/lib/MenuItemCheckbox/MenuItemCheckbox.d.ts +3 -11
  81. package/lib/MenuItemCheckbox/MenuItemCheckbox.js +26 -54
  82. package/lib/MenuItemCheckbox/MenuItemCheckbox.styling.d.ts +1 -1
  83. package/lib/MenuItemCheckbox/MenuItemCheckbox.styling.js +62 -81
  84. package/lib/MenuItemCheckbox/MenuItemCheckbox.types.d.ts +89 -90
  85. package/lib/MenuItemCheckbox/MenuItemCheckbox.types.d.ts.map +1 -1
  86. package/lib/MenuItemCheckbox/MenuItemCheckbox.types.js +1 -1
  87. package/lib/MenuItemCheckbox/MenuItemCheckboxTokens.android.d.ts +1 -1
  88. package/lib/MenuItemCheckbox/MenuItemCheckboxTokens.android.js +35 -35
  89. package/lib/MenuItemCheckbox/MenuItemCheckboxTokens.d.ts +1 -1
  90. package/lib/MenuItemCheckbox/MenuItemCheckboxTokens.js +44 -44
  91. package/lib/MenuItemCheckbox/MenuItemCheckboxTokens.macos.d.ts +1 -1
  92. package/lib/MenuItemCheckbox/MenuItemCheckboxTokens.macos.js +42 -42
  93. package/lib/MenuItemCheckbox/MenuItemCheckboxTokens.win32.d.ts +1 -1
  94. package/lib/MenuItemCheckbox/MenuItemCheckboxTokens.win32.js +45 -45
  95. package/lib/MenuItemCheckbox/index.d.ts +2 -8
  96. package/lib/MenuItemCheckbox/index.js +1 -1
  97. package/lib/MenuItemCheckbox/useMenuItemCheckbox.d.ts +2 -5
  98. package/lib/MenuItemCheckbox/useMenuItemCheckbox.js +104 -129
  99. package/lib/MenuItemRadio/MenuItemRadio.d.ts +3 -11
  100. package/lib/MenuItemRadio/MenuItemRadio.js +26 -54
  101. package/lib/MenuItemRadio/MenuItemRadio.styling.android.d.ts +1 -1
  102. package/lib/MenuItemRadio/MenuItemRadio.styling.android.js +60 -78
  103. package/lib/MenuItemRadio/MenuItemRadio.styling.d.ts +1 -1
  104. package/lib/MenuItemRadio/MenuItemRadio.styling.js +44 -59
  105. package/lib/MenuItemRadio/MenuItemRadio.types.d.ts +120 -121
  106. package/lib/MenuItemRadio/MenuItemRadio.types.d.ts.map +1 -1
  107. package/lib/MenuItemRadio/MenuItemRadio.types.js +1 -1
  108. package/lib/MenuItemRadio/MenuItemRadioTokens.android.d.ts +1 -1
  109. package/lib/MenuItemRadio/MenuItemRadioTokens.android.js +38 -38
  110. package/lib/MenuItemRadio/MenuItemRadioTokens.d.ts +1 -1
  111. package/lib/MenuItemRadio/MenuItemRadioTokens.js +45 -45
  112. package/lib/MenuItemRadio/MenuItemRadioTokens.macos.d.ts +1 -1
  113. package/lib/MenuItemRadio/MenuItemRadioTokens.macos.js +43 -43
  114. package/lib/MenuItemRadio/index.d.ts +2 -8
  115. package/lib/MenuItemRadio/index.js +1 -1
  116. package/lib/MenuItemRadio/useMenuItemRadio.d.ts +1 -1
  117. package/lib/MenuItemRadio/useMenuItemRadio.js +23 -26
  118. package/lib/MenuList/MenuList.d.ts +2 -7
  119. package/lib/MenuList/MenuList.js +54 -70
  120. package/lib/MenuList/MenuList.styling.d.ts +1 -1
  121. package/lib/MenuList/MenuList.styling.js +21 -27
  122. package/lib/MenuList/MenuList.types.d.ts +72 -72
  123. package/lib/MenuList/MenuList.types.js +1 -1
  124. package/lib/MenuList/MenuListTokens.android.d.ts +1 -1
  125. package/lib/MenuList/MenuListTokens.android.js +4 -4
  126. package/lib/MenuList/MenuListTokens.d.ts +1 -1
  127. package/lib/MenuList/MenuListTokens.js +6 -6
  128. package/lib/MenuList/MenuListTokens.macos.d.ts +1 -1
  129. package/lib/MenuList/MenuListTokens.macos.js +4 -4
  130. package/lib/MenuList/MenuListTokens.win32.d.ts +1 -1
  131. package/lib/MenuList/MenuListTokens.win32.js +9 -9
  132. package/lib/MenuList/index.d.ts +1 -1
  133. package/lib/MenuList/index.js +1 -1
  134. package/lib/MenuList/useMenuList.d.ts +1 -1
  135. package/lib/MenuList/useMenuList.js +142 -159
  136. package/lib/MenuList/useMenuListContextValue.d.ts +1 -1
  137. package/lib/MenuList/useMenuListContextValue.js +2 -2
  138. package/lib/MenuPopover/MenuPopover.d.ts +3 -9
  139. package/lib/MenuPopover/MenuPopover.d.ts.map +1 -1
  140. package/lib/MenuPopover/MenuPopover.js +35 -35
  141. package/lib/MenuPopover/MenuPopover.types.d.ts +14 -14
  142. package/lib/MenuPopover/MenuPopover.types.d.ts.map +1 -1
  143. package/lib/MenuPopover/MenuPopover.types.js +1 -1
  144. package/lib/MenuPopover/MenuPopoverTokens.android.d.ts +3 -7
  145. package/lib/MenuPopover/MenuPopoverTokens.android.d.ts.map +1 -1
  146. package/lib/MenuPopover/MenuPopoverTokens.android.js +3 -6
  147. package/lib/MenuPopover/MenuPopoverTokens.d.ts +3 -7
  148. package/lib/MenuPopover/MenuPopoverTokens.d.ts.map +1 -1
  149. package/lib/MenuPopover/MenuPopoverTokens.js +2 -5
  150. package/lib/MenuPopover/MenuPopoverTokens.macos.d.ts +3 -7
  151. package/lib/MenuPopover/MenuPopoverTokens.macos.d.ts.map +1 -1
  152. package/lib/MenuPopover/MenuPopoverTokens.macos.js +7 -10
  153. package/lib/MenuPopover/MenuPopoverTokens.macos.js.map +1 -1
  154. package/lib/MenuPopover/index.d.ts +1 -1
  155. package/lib/MenuPopover/index.js +1 -1
  156. package/lib/MenuPopover/useMenuPopover.d.ts +2 -2
  157. package/lib/MenuPopover/useMenuPopover.js +79 -96
  158. package/lib/MenuPopover/useMenuPopover.js.map +1 -1
  159. package/lib/MenuTrigger/MenuTrigger.d.ts +3 -3
  160. package/lib/MenuTrigger/MenuTrigger.js +16 -16
  161. package/lib/MenuTrigger/MenuTrigger.types.d.ts +13 -13
  162. package/lib/MenuTrigger/MenuTrigger.types.js +1 -1
  163. package/lib/MenuTrigger/index.d.ts +1 -1
  164. package/lib/MenuTrigger/index.js +1 -1
  165. package/lib/MenuTrigger/useMenuTrigger.d.ts +1 -1
  166. package/lib/MenuTrigger/useMenuTrigger.js +70 -99
  167. package/lib/MenuTrigger/useMergeRefs.d.ts +1 -1
  168. package/lib/MenuTrigger/useMergeRefs.js +14 -16
  169. package/lib/__tests__/Menu.test.d.ts +1 -1
  170. package/lib/__tests__/Menu.test.js +122 -230
  171. package/lib/consts.d.ts +1 -1
  172. package/lib/consts.js +3 -3
  173. package/lib/context/index.d.ts +1 -1
  174. package/lib/context/index.js +1 -1
  175. package/lib/context/menuContext.d.ts +5 -5
  176. package/lib/context/menuContext.js +15 -15
  177. package/lib/context/menuListContext.d.ts +4 -4
  178. package/lib/context/menuListContext.js +12 -12
  179. package/lib/context/menuTriggerContext.d.ts +1 -1
  180. package/lib/context/menuTriggerContext.js +1 -1
  181. package/lib/index.d.ts +4 -26
  182. package/lib/index.js +2 -12
  183. package/lib-commonjs/Menu/Menu.d.ts +2 -2
  184. package/lib-commonjs/Menu/Menu.js +23 -25
  185. package/lib-commonjs/Menu/Menu.types.d.ts +47 -47
  186. package/lib-commonjs/Menu/Menu.types.js +6 -6
  187. package/lib-commonjs/Menu/index.d.ts +1 -1
  188. package/lib-commonjs/Menu/index.js +11 -31
  189. package/lib-commonjs/Menu/renderMenu.android.d.ts +2 -6
  190. package/lib-commonjs/Menu/renderMenu.android.js +14 -26
  191. package/lib-commonjs/Menu/renderMenu.d.ts +2 -6
  192. package/lib-commonjs/Menu/renderMenu.js +8 -11
  193. package/lib-commonjs/Menu/useMenu.android.d.ts +1 -1
  194. package/lib-commonjs/Menu/useMenu.android.js +280 -303
  195. package/lib-commonjs/Menu/useMenu.d.ts +1 -1
  196. package/lib-commonjs/Menu/useMenu.js +79 -86
  197. package/lib-commonjs/Menu/useMenuContextValue.d.ts +1 -1
  198. package/lib-commonjs/Menu/useMenuContextValue.js +10 -12
  199. package/lib-commonjs/MenuCallout/MenuCallout.android.d.ts +2 -2
  200. package/lib-commonjs/MenuCallout/MenuCallout.android.js +25 -48
  201. package/lib-commonjs/MenuCallout/MenuCallout.d.ts +2 -2
  202. package/lib-commonjs/MenuCallout/MenuCallout.js +12 -12
  203. package/lib-commonjs/MenuCallout/MenuCallout.types.d.ts +13 -13
  204. package/lib-commonjs/MenuCallout/MenuCallout.types.d.ts.map +1 -1
  205. package/lib-commonjs/MenuCallout/MenuCallout.types.js +3 -3
  206. package/lib-commonjs/MenuCallout/index.d.ts +1 -1
  207. package/lib-commonjs/MenuCallout/index.js +7 -17
  208. package/lib-commonjs/MenuDivider/MenuDivider.d.ts +2 -7
  209. package/lib-commonjs/MenuDivider/MenuDivider.js +19 -19
  210. package/lib-commonjs/MenuDivider/MenuDivider.styling.d.ts +1 -1
  211. package/lib-commonjs/MenuDivider/MenuDivider.styling.js +22 -25
  212. package/lib-commonjs/MenuDivider/MenuDivider.types.d.ts +12 -12
  213. package/lib-commonjs/MenuDivider/MenuDivider.types.js +3 -3
  214. package/lib-commonjs/MenuDivider/MenuDividerTokens.android.d.ts +1 -1
  215. package/lib-commonjs/MenuDivider/MenuDividerTokens.android.js +7 -7
  216. package/lib-commonjs/MenuDivider/MenuDividerTokens.d.ts +1 -1
  217. package/lib-commonjs/MenuDivider/MenuDividerTokens.js +7 -7
  218. package/lib-commonjs/MenuDivider/MenuDividerTokens.macos.d.ts +1 -1
  219. package/lib-commonjs/MenuDivider/MenuDividerTokens.macos.js +7 -7
  220. package/lib-commonjs/MenuDivider/MenuDividerTokens.win32.d.ts +1 -1
  221. package/lib-commonjs/MenuDivider/MenuDividerTokens.win32.js +7 -7
  222. package/lib-commonjs/MenuDivider/index.d.ts +1 -1
  223. package/lib-commonjs/MenuDivider/index.js +7 -17
  224. package/lib-commonjs/MenuGroup/MenuGroup.d.ts +2 -7
  225. package/lib-commonjs/MenuGroup/MenuGroup.js +62 -78
  226. package/lib-commonjs/MenuGroup/MenuGroup.types.d.ts +7 -7
  227. package/lib-commonjs/MenuGroup/MenuGroup.types.js +3 -3
  228. package/lib-commonjs/MenuGroup/index.d.ts +1 -1
  229. package/lib-commonjs/MenuGroup/index.js +7 -17
  230. package/lib-commonjs/MenuGroupHeader/MenuGroupHeader.d.ts +2 -7
  231. package/lib-commonjs/MenuGroupHeader/MenuGroupHeader.js +20 -20
  232. package/lib-commonjs/MenuGroupHeader/MenuGroupHeader.styling.d.ts +1 -1
  233. package/lib-commonjs/MenuGroupHeader/MenuGroupHeader.styling.js +19 -22
  234. package/lib-commonjs/MenuGroupHeader/MenuGroupHeader.types.d.ts +7 -7
  235. package/lib-commonjs/MenuGroupHeader/MenuGroupHeader.types.js +3 -3
  236. package/lib-commonjs/MenuGroupHeader/MenuGroupHeaderTokens.d.ts +1 -1
  237. package/lib-commonjs/MenuGroupHeader/MenuGroupHeaderTokens.js +10 -10
  238. package/lib-commonjs/MenuGroupHeader/MenuGroupHeaderTokens.macos.d.ts +1 -1
  239. package/lib-commonjs/MenuGroupHeader/MenuGroupHeaderTokens.macos.js +11 -11
  240. package/lib-commonjs/MenuGroupHeader/index.d.ts +1 -1
  241. package/lib-commonjs/MenuGroupHeader/index.js +7 -17
  242. package/lib-commonjs/MenuItem/MenuItem.d.ts +2 -7
  243. package/lib-commonjs/MenuItem/MenuItem.js +51 -73
  244. package/lib-commonjs/MenuItem/MenuItem.styling.d.ts +1 -1
  245. package/lib-commonjs/MenuItem/MenuItem.styling.js +59 -80
  246. package/lib-commonjs/MenuItem/MenuItem.types.d.ts +83 -83
  247. package/lib-commonjs/MenuItem/MenuItem.types.js +3 -3
  248. package/lib-commonjs/MenuItem/MenuItemTokens.android.d.ts +1 -1
  249. package/lib-commonjs/MenuItem/MenuItemTokens.android.js +20 -20
  250. package/lib-commonjs/MenuItem/MenuItemTokens.d.ts +1 -1
  251. package/lib-commonjs/MenuItem/MenuItemTokens.js +38 -38
  252. package/lib-commonjs/MenuItem/MenuItemTokens.macos.d.ts +1 -1
  253. package/lib-commonjs/MenuItem/MenuItemTokens.macos.js +37 -37
  254. package/lib-commonjs/MenuItem/MenuItemTokens.win32.d.ts +1 -1
  255. package/lib-commonjs/MenuItem/MenuItemTokens.win32.js +39 -39
  256. package/lib-commonjs/MenuItem/index.d.ts +1 -1
  257. package/lib-commonjs/MenuItem/index.js +9 -24
  258. package/lib-commonjs/MenuItem/useMenuItem.d.ts +1 -1
  259. package/lib-commonjs/MenuItem/useMenuItem.js +140 -169
  260. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.d.ts +3 -11
  261. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.js +37 -65
  262. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.styling.d.ts +1 -1
  263. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.styling.js +69 -91
  264. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.types.d.ts +89 -90
  265. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.types.d.ts.map +1 -1
  266. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.types.js +3 -3
  267. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckboxTokens.android.d.ts +1 -1
  268. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckboxTokens.android.js +38 -38
  269. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckboxTokens.d.ts +1 -1
  270. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckboxTokens.js +47 -47
  271. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckboxTokens.macos.d.ts +1 -1
  272. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckboxTokens.macos.js +45 -45
  273. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckboxTokens.win32.d.ts +1 -1
  274. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckboxTokens.win32.js +48 -48
  275. package/lib-commonjs/MenuItemCheckbox/index.d.ts +2 -8
  276. package/lib-commonjs/MenuItemCheckbox/index.js +10 -30
  277. package/lib-commonjs/MenuItemCheckbox/useMenuItemCheckbox.d.ts +2 -5
  278. package/lib-commonjs/MenuItemCheckbox/useMenuItemCheckbox.js +143 -185
  279. package/lib-commonjs/MenuItemRadio/MenuItemRadio.d.ts +3 -11
  280. package/lib-commonjs/MenuItemRadio/MenuItemRadio.js +37 -65
  281. package/lib-commonjs/MenuItemRadio/MenuItemRadio.styling.android.d.ts +1 -1
  282. package/lib-commonjs/MenuItemRadio/MenuItemRadio.styling.android.js +67 -88
  283. package/lib-commonjs/MenuItemRadio/MenuItemRadio.styling.d.ts +1 -1
  284. package/lib-commonjs/MenuItemRadio/MenuItemRadio.styling.js +51 -69
  285. package/lib-commonjs/MenuItemRadio/MenuItemRadio.types.d.ts +120 -121
  286. package/lib-commonjs/MenuItemRadio/MenuItemRadio.types.d.ts.map +1 -1
  287. package/lib-commonjs/MenuItemRadio/MenuItemRadio.types.js +3 -3
  288. package/lib-commonjs/MenuItemRadio/MenuItemRadioTokens.android.d.ts +1 -1
  289. package/lib-commonjs/MenuItemRadio/MenuItemRadioTokens.android.js +41 -41
  290. package/lib-commonjs/MenuItemRadio/MenuItemRadioTokens.d.ts +1 -1
  291. package/lib-commonjs/MenuItemRadio/MenuItemRadioTokens.js +48 -48
  292. package/lib-commonjs/MenuItemRadio/MenuItemRadioTokens.macos.d.ts +1 -1
  293. package/lib-commonjs/MenuItemRadio/MenuItemRadioTokens.macos.js +46 -46
  294. package/lib-commonjs/MenuItemRadio/index.d.ts +2 -8
  295. package/lib-commonjs/MenuItemRadio/index.js +9 -24
  296. package/lib-commonjs/MenuItemRadio/useMenuItemRadio.d.ts +1 -1
  297. package/lib-commonjs/MenuItemRadio/useMenuItemRadio.js +58 -78
  298. package/lib-commonjs/MenuList/MenuList.d.ts +2 -7
  299. package/lib-commonjs/MenuList/MenuList.js +69 -87
  300. package/lib-commonjs/MenuList/MenuList.styling.d.ts +1 -1
  301. package/lib-commonjs/MenuList/MenuList.styling.js +28 -34
  302. package/lib-commonjs/MenuList/MenuList.types.d.ts +72 -72
  303. package/lib-commonjs/MenuList/MenuList.types.js +3 -3
  304. package/lib-commonjs/MenuList/MenuListTokens.android.d.ts +1 -1
  305. package/lib-commonjs/MenuList/MenuListTokens.android.js +7 -7
  306. package/lib-commonjs/MenuList/MenuListTokens.d.ts +1 -1
  307. package/lib-commonjs/MenuList/MenuListTokens.js +9 -9
  308. package/lib-commonjs/MenuList/MenuListTokens.macos.d.ts +1 -1
  309. package/lib-commonjs/MenuList/MenuListTokens.macos.js +7 -7
  310. package/lib-commonjs/MenuList/MenuListTokens.win32.d.ts +1 -1
  311. package/lib-commonjs/MenuList/MenuListTokens.win32.js +12 -12
  312. package/lib-commonjs/MenuList/index.d.ts +1 -1
  313. package/lib-commonjs/MenuList/index.js +11 -31
  314. package/lib-commonjs/MenuList/useMenuList.d.ts +1 -1
  315. package/lib-commonjs/MenuList/useMenuList.js +151 -170
  316. package/lib-commonjs/MenuList/useMenuListContextValue.d.ts +1 -1
  317. package/lib-commonjs/MenuList/useMenuListContextValue.js +4 -4
  318. package/lib-commonjs/MenuPopover/MenuPopover.d.ts +3 -9
  319. package/lib-commonjs/MenuPopover/MenuPopover.d.ts.map +1 -1
  320. package/lib-commonjs/MenuPopover/MenuPopover.js +48 -50
  321. package/lib-commonjs/MenuPopover/MenuPopover.types.d.ts +14 -14
  322. package/lib-commonjs/MenuPopover/MenuPopover.types.d.ts.map +1 -1
  323. package/lib-commonjs/MenuPopover/MenuPopover.types.js +3 -3
  324. package/lib-commonjs/MenuPopover/MenuPopoverTokens.android.d.ts +3 -7
  325. package/lib-commonjs/MenuPopover/MenuPopoverTokens.android.d.ts.map +1 -1
  326. package/lib-commonjs/MenuPopover/MenuPopoverTokens.android.js +9 -12
  327. package/lib-commonjs/MenuPopover/MenuPopoverTokens.d.ts +3 -7
  328. package/lib-commonjs/MenuPopover/MenuPopoverTokens.d.ts.map +1 -1
  329. package/lib-commonjs/MenuPopover/MenuPopoverTokens.js +6 -9
  330. package/lib-commonjs/MenuPopover/MenuPopoverTokens.macos.d.ts +3 -7
  331. package/lib-commonjs/MenuPopover/MenuPopoverTokens.macos.d.ts.map +1 -1
  332. package/lib-commonjs/MenuPopover/MenuPopoverTokens.macos.js +12 -15
  333. package/lib-commonjs/MenuPopover/MenuPopoverTokens.macos.js.map +1 -1
  334. package/lib-commonjs/MenuPopover/index.d.ts +1 -1
  335. package/lib-commonjs/MenuPopover/index.js +9 -24
  336. package/lib-commonjs/MenuPopover/useMenuPopover.d.ts +2 -2
  337. package/lib-commonjs/MenuPopover/useMenuPopover.js +87 -106
  338. package/lib-commonjs/MenuPopover/useMenuPopover.js.map +1 -1
  339. package/lib-commonjs/MenuTrigger/MenuTrigger.d.ts +3 -3
  340. package/lib-commonjs/MenuTrigger/MenuTrigger.js +52 -69
  341. package/lib-commonjs/MenuTrigger/MenuTrigger.types.d.ts +13 -13
  342. package/lib-commonjs/MenuTrigger/MenuTrigger.types.js +3 -3
  343. package/lib-commonjs/MenuTrigger/index.d.ts +1 -1
  344. package/lib-commonjs/MenuTrigger/index.js +9 -24
  345. package/lib-commonjs/MenuTrigger/useMenuTrigger.d.ts +1 -1
  346. package/lib-commonjs/MenuTrigger/useMenuTrigger.js +80 -111
  347. package/lib-commonjs/MenuTrigger/useMergeRefs.d.ts +1 -1
  348. package/lib-commonjs/MenuTrigger/useMergeRefs.js +46 -65
  349. package/lib-commonjs/__tests__/Menu.test.d.ts +1 -1
  350. package/lib-commonjs/__tests__/Menu.test.js +169 -333
  351. package/lib-commonjs/consts.d.ts +1 -1
  352. package/lib-commonjs/consts.js +6 -6
  353. package/lib-commonjs/context/index.d.ts +1 -1
  354. package/lib-commonjs/context/index.js +16 -70
  355. package/lib-commonjs/context/menuContext.d.ts +5 -5
  356. package/lib-commonjs/context/menuContext.js +47 -64
  357. package/lib-commonjs/context/menuListContext.d.ts +4 -4
  358. package/lib-commonjs/context/menuListContext.js +44 -61
  359. package/lib-commonjs/context/menuTriggerContext.d.ts +1 -1
  360. package/lib-commonjs/context/menuTriggerContext.js +7 -9
  361. package/lib-commonjs/index.d.ts +4 -26
  362. package/lib-commonjs/index.js +56 -296
  363. package/package.json +28 -27
  364. package/src/MenuCallout/MenuCallout.types.ts +12 -13
  365. package/src/MenuItemCheckbox/MenuItemCheckbox.types.ts +4 -2
  366. package/src/MenuItemRadio/MenuItemRadio.types.ts +4 -2
  367. package/src/MenuPopover/MenuPopover.types.ts +12 -13
  368. package/src/MenuPopover/MenuPopoverTokens.macos.ts +2 -2
  369. package/src/MenuPopover/useMenuPopover.ts +1 -1
@@ -4,103 +4,86 @@ import { useMenuContext } from '../context/menuContext';
4
4
  const controlledDismissBehaviors = ['preventDismissOnKeyDown', 'preventDismissOnClickOutside'];
5
5
  const stopPropagationKeys = ['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight', 'Tab', 'Home', 'End', 'Escape'];
6
6
  export const useMenuPopover = (props) => {
7
- const context = useMenuContext();
8
- const {
9
- setOpen,
10
- triggerRef,
11
- isControlled,
12
- isSubmenu,
13
- openOnHover,
14
- parentPopoverHoverOutTimer,
15
- popoverHoverOutTimer,
16
- setPopoverHoverOutTimer,
17
- shouldFocusOnContainer,
18
- triggerHoverOutTimer,
19
- } = context;
20
- const { onKeyDown: onKeyDownProp, onKeyUp: onKeyUpProp } = props;
21
- const onDismiss = React.useCallback(() => {
22
- props.onDismiss?.();
23
- setOpen(undefined, false /* isOpen */), [setOpen];
24
- }, [props.onDismiss, setOpen]);
25
- const dismissBehaviors = isControlled ? controlledDismissBehaviors : undefined;
26
- const directionalHint = props.directionalHint ?? getDirectionalHint(isSubmenu, I18nManager.isRTL);
27
- const setInitialFocus = true;
28
- const doNotTakePointerCapture = props.doNotTakePointerCapture ?? openOnHover;
29
- const accessibilityRole = 'menu';
30
- const onMouseEnter = React.useCallback(() => {
31
- clearTimeout(triggerHoverOutTimer);
32
- clearTimeout(popoverHoverOutTimer);
33
- clearTimeout(parentPopoverHoverOutTimer);
34
- }, [parentPopoverHoverOutTimer, popoverHoverOutTimer, triggerHoverOutTimer]);
35
- const onMouseLeave = React.useCallback(() => {
36
- if (!openOnHover) {
37
- return;
38
- }
39
- const timer = setTimeout(() => {
40
- setOpen(undefined, false /* isOpen */);
41
- }, 500);
42
- setPopoverHoverOutTimer(timer);
43
- }, [openOnHover, setOpen, setPopoverHoverOutTimer]);
44
- const onKeyDown = React.useCallback(
45
- (e) => {
46
- onKeyDownProp && onKeyDownProp(e);
47
- // Mark key events that move selection as handled.
48
- // These key events are handled on the native side.
49
- if (stopPropagationKeys.includes(e.nativeEvent.key)) {
50
- e.stopPropagation();
51
- }
52
- },
53
- [onKeyDownProp],
54
- );
55
- const onKeyUp = React.useCallback(
56
- (e) => {
57
- onKeyUpProp && onKeyUpProp(e);
58
- // Mark key events that move selection as handled.
59
- // These key events are handled on the native side.
60
- if (stopPropagationKeys.includes(e.nativeEvent.key)) {
61
- e.stopPropagation();
62
- }
63
- },
64
- [onKeyUpProp],
65
- );
66
- const [canFocusOnPopover, setCanFocusOnPopover] = React.useState(shouldFocusOnContainer);
67
- const onBlur = React.useCallback(() => {
68
- setCanFocusOnPopover(false);
69
- }, [setCanFocusOnPopover]);
70
- React.useEffect(() => {
71
- return function cleanup() {
72
- clearTimeout(popoverHoverOutTimer);
7
+ const context = useMenuContext();
8
+ const { setOpen, triggerRef, isControlled, isSubmenu, openOnHover, parentPopoverHoverOutTimer, popoverHoverOutTimer, setPopoverHoverOutTimer, shouldFocusOnContainer, triggerHoverOutTimer, } = context;
9
+ const { onKeyDown: onKeyDownProp, onKeyUp: onKeyUpProp } = props;
10
+ const onDismiss = React.useCallback(() => {
11
+ props.onDismiss?.();
12
+ (setOpen(undefined, false /* isOpen */), [setOpen]);
13
+ }, [props.onDismiss, setOpen]);
14
+ const dismissBehaviors = isControlled ? controlledDismissBehaviors : undefined;
15
+ const directionalHint = props.directionalHint ?? getDirectionalHint(isSubmenu, I18nManager.isRTL);
16
+ const setInitialFocus = true;
17
+ const doNotTakePointerCapture = props.doNotTakePointerCapture ?? openOnHover;
18
+ const accessibilityRole = 'menu';
19
+ const onMouseEnter = React.useCallback(() => {
20
+ clearTimeout(triggerHoverOutTimer);
21
+ clearTimeout(popoverHoverOutTimer);
22
+ clearTimeout(parentPopoverHoverOutTimer);
23
+ }, [parentPopoverHoverOutTimer, popoverHoverOutTimer, triggerHoverOutTimer]);
24
+ const onMouseLeave = React.useCallback(() => {
25
+ if (!openOnHover) {
26
+ return;
27
+ }
28
+ const timer = setTimeout(() => {
29
+ setOpen(undefined, false /* isOpen */);
30
+ }, 500);
31
+ setPopoverHoverOutTimer(timer);
32
+ }, [openOnHover, setOpen, setPopoverHoverOutTimer]);
33
+ const onKeyDown = React.useCallback((e) => {
34
+ onKeyDownProp && onKeyDownProp(e);
35
+ // Mark key events that move selection as handled.
36
+ // These key events are handled on the native side.
37
+ if (stopPropagationKeys.includes(e.nativeEvent.key)) {
38
+ e.stopPropagation();
39
+ }
40
+ }, [onKeyDownProp]);
41
+ const onKeyUp = React.useCallback((e) => {
42
+ onKeyUpProp && onKeyUpProp(e);
43
+ // Mark key events that move selection as handled.
44
+ // These key events are handled on the native side.
45
+ if (stopPropagationKeys.includes(e.nativeEvent.key)) {
46
+ e.stopPropagation();
47
+ }
48
+ }, [onKeyUpProp]);
49
+ const [canFocusOnPopover, setCanFocusOnPopover] = React.useState(shouldFocusOnContainer);
50
+ const onBlur = React.useCallback(() => {
51
+ setCanFocusOnPopover(false);
52
+ }, [setCanFocusOnPopover]);
53
+ React.useEffect(() => {
54
+ return function cleanup() {
55
+ clearTimeout(popoverHoverOutTimer);
56
+ };
57
+ });
58
+ return {
59
+ props: {
60
+ accessibilityRole,
61
+ target: triggerRef,
62
+ onDismiss,
63
+ onShow: props.onShow,
64
+ directionalHint,
65
+ dismissBehaviors,
66
+ doNotTakePointerCapture,
67
+ setInitialFocus,
68
+ },
69
+ innerView: {
70
+ onMouseEnter,
71
+ onMouseLeave,
72
+ onKeyDown,
73
+ onKeyUp,
74
+ accessible: shouldFocusOnContainer,
75
+ focusable: canFocusOnPopover,
76
+ onBlur,
77
+ },
73
78
  };
74
- });
75
- return {
76
- props: {
77
- accessibilityRole,
78
- target: triggerRef,
79
- onDismiss,
80
- onShow: props.onShow,
81
- directionalHint,
82
- dismissBehaviors,
83
- doNotTakePointerCapture,
84
- setInitialFocus,
85
- },
86
- innerView: {
87
- onMouseEnter,
88
- onMouseLeave,
89
- onKeyDown,
90
- onKeyUp,
91
- accessible: shouldFocusOnContainer,
92
- focusable: canFocusOnPopover,
93
- onBlur,
94
- },
95
- };
96
79
  };
97
80
  const getDirectionalHint = (isSubmenu, isRtl) => {
98
- if (!isSubmenu) {
99
- return undefined;
100
- }
101
- if (isRtl) {
102
- return 'leftTopEdge';
103
- }
104
- return 'rightTopEdge';
81
+ if (!isSubmenu) {
82
+ return undefined;
83
+ }
84
+ if (isRtl) {
85
+ return 'leftTopEdge';
86
+ }
87
+ return 'rightTopEdge';
105
88
  };
106
- //# sourceMappingURL=useMenuPopover.js.map
89
+ //# sourceMappingURL=useMenuPopover.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMenuPopover.js","sourceRoot":"","sources":["../../src/MenuPopover/useMenuPopover.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useMenuPopover.js","sourceRoot":"","sources":["../../src/MenuPopover/useMenuPopover.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import * as React from 'react';
2
2
  import type { MenuTriggerProps } from './MenuTrigger.types';
3
- export declare function MenuTrigger(props: MenuTriggerProps): import('react/jsx-runtime').JSX.Element;
3
+ export declare function MenuTrigger(props: MenuTriggerProps): import("react/jsx-runtime").JSX.Element;
4
4
  export declare namespace MenuTrigger {
5
- var displayName: string;
5
+ var displayName: string;
6
6
  }
7
7
  export default MenuTrigger;
8
- //# sourceMappingURL=MenuTrigger.d.ts.map
8
+ //# sourceMappingURL=MenuTrigger.d.ts.map
@@ -1,26 +1,26 @@
1
- import { jsx as _jsx } from 'react/jsx-runtime';
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import * as React from 'react';
3
3
  import { menuTriggerName } from './MenuTrigger.types';
4
4
  import { useMenuTrigger } from './useMenuTrigger';
5
5
  import { MenuTriggerProvider } from '../context/menuTriggerContext';
6
6
  import { extractProps } from '@fluentui-react-native/framework-base';
7
7
  export const MenuTrigger = (props) => {
8
- if (__DEV__) {
9
- if (!React.Children.only(props.children)) {
10
- console.warn('Only expecting one child for MenuTrigger');
8
+ if (__DEV__) {
9
+ if (!React.Children.only(props.children)) {
10
+ console.warn('Only expecting one child for MenuTrigger');
11
+ }
11
12
  }
12
- }
13
- const childrenProps = extractProps(props.children);
14
- const menuTrigger = useMenuTrigger(childrenProps);
15
- // In order to properly support accessibility without erasing props set on the
16
- // child component which may affect accessibility, we need to modify the
17
- // state in the inner render so we can access the child component and its props.
18
- const revised = React.cloneElement(props.children, {
19
- ...(childrenProps?.tooltip && { alwaysShowToolTip: true }),
20
- ...menuTrigger.props,
21
- });
22
- return _jsx(MenuTriggerProvider, { value: menuTrigger.hasSubmenu, children: revised });
13
+ const childrenProps = extractProps(props.children);
14
+ const menuTrigger = useMenuTrigger(childrenProps);
15
+ // In order to properly support accessibility without erasing props set on the
16
+ // child component which may affect accessibility, we need to modify the
17
+ // state in the inner render so we can access the child component and its props.
18
+ const revised = React.cloneElement(props.children, {
19
+ ...(childrenProps?.tooltip && { alwaysShowToolTip: true }),
20
+ ...menuTrigger.props,
21
+ });
22
+ return _jsx(MenuTriggerProvider, { value: menuTrigger.hasSubmenu, children: revised });
23
23
  };
24
24
  MenuTrigger.displayName = menuTriggerName;
25
25
  export default MenuTrigger;
26
- //# sourceMappingURL=MenuTrigger.js.map
26
+ //# sourceMappingURL=MenuTrigger.js.map
@@ -1,7 +1,7 @@
1
1
  import type * as React from 'react';
2
2
  import type { MouseEvent } from 'react-native';
3
3
  import type { PressablePropsExtended } from '@fluentui-react-native/interactive-hooks';
4
- export declare const menuTriggerName = 'MenuTrigger';
4
+ export declare const menuTriggerName = "MenuTrigger";
5
5
  /**
6
6
  * Represents single react element (or null), which is the
7
7
  * type of the child of MenuTrigger. Notably this excludes string, number,
@@ -9,21 +9,21 @@ export declare const menuTriggerName = 'MenuTrigger';
9
9
  */
10
10
  type SingleReactElement = React.ReactElement | null;
11
11
  export interface MenuTriggerProps {
12
- children?: SingleReactElement;
12
+ children?: SingleReactElement;
13
13
  }
14
14
  export interface MenuTriggerChildProps extends Omit<PressablePropsExtended, 'onPress'> {
15
- /**
16
- * A RefObject to refer to the trigger component.
17
- */
18
- componentRef?: React.RefObject<React.Component>;
19
- /**
20
- * A callback to call on button click event
21
- */
22
- onClick?: (e: MouseEvent) => void;
15
+ /**
16
+ * A RefObject to refer to the trigger component.
17
+ */
18
+ componentRef?: React.RefObject<React.Component>;
19
+ /**
20
+ * A callback to call on button click event
21
+ */
22
+ onClick?: (e: MouseEvent) => void;
23
23
  }
24
24
  export interface MenuTriggerState {
25
- props: MenuTriggerChildProps;
26
- hasSubmenu: boolean;
25
+ props: MenuTriggerChildProps;
26
+ hasSubmenu: boolean;
27
27
  }
28
28
  export {};
29
- //# sourceMappingURL=MenuTrigger.types.d.ts.map
29
+ //# sourceMappingURL=MenuTrigger.types.d.ts.map
@@ -1,2 +1,2 @@
1
1
  export const menuTriggerName = 'MenuTrigger';
2
- //# sourceMappingURL=MenuTrigger.types.js.map
2
+ //# sourceMappingURL=MenuTrigger.types.js.map
@@ -2,4 +2,4 @@ export { MenuTrigger } from './MenuTrigger';
2
2
  export { menuTriggerName } from './MenuTrigger.types';
3
3
  export type { MenuTriggerChildProps, MenuTriggerState } from './MenuTrigger.types';
4
4
  export { useMenuTrigger } from './useMenuTrigger';
5
- //# sourceMappingURL=index.d.ts.map
5
+ //# sourceMappingURL=index.d.ts.map
@@ -1,4 +1,4 @@
1
1
  export { MenuTrigger } from './MenuTrigger';
2
2
  export { menuTriggerName } from './MenuTrigger.types';
3
3
  export { useMenuTrigger } from './useMenuTrigger';
4
- //# sourceMappingURL=index.js.map
4
+ //# sourceMappingURL=index.js.map
@@ -1,3 +1,3 @@
1
1
  import type { MenuTriggerChildProps, MenuTriggerState } from './MenuTrigger.types';
2
2
  export declare const useMenuTrigger: (childProps: MenuTriggerChildProps) => MenuTriggerState;
3
- //# sourceMappingURL=useMenuTrigger.d.ts.map
3
+ //# sourceMappingURL=useMenuTrigger.d.ts.map
@@ -7,105 +7,76 @@ const baseAccessibilityActions = Platform.OS === 'win32' ? [{ name: 'Expand' },
7
7
  const expandedState = { expanded: true };
8
8
  const collapsedState = { expanded: false };
9
9
  export const useMenuTrigger = (childProps) => {
10
- const context = useMenuContext();
11
- const {
12
- hoverDelay = hoverDelayDefault,
13
- open,
14
- openOnHover,
15
- popoverHoverOutTimer,
16
- setOpen,
17
- setTriggerHoverOutTimer,
18
- triggerHoverOutTimer,
19
- triggerRef,
20
- } = context;
21
- const {
22
- accessibilityActions: childAccessibilityActions,
23
- accessibilityState: childAccessibilityState,
24
- onAccessibilityAction: childOnAccessibilityAction,
25
- accessibilityPosInSet: childaccessibilityPosInSet, // win32
10
+ const context = useMenuContext();
11
+ const { hoverDelay = hoverDelayDefault, open, openOnHover, popoverHoverOutTimer, setOpen, setTriggerHoverOutTimer, triggerHoverOutTimer, triggerRef, } = context;
12
+ const { accessibilityActions: childAccessibilityActions, accessibilityState: childAccessibilityState, onAccessibilityAction: childOnAccessibilityAction, accessibilityPosInSet: childaccessibilityPosInSet, // win32
26
13
  accessibilitySetSize: childAccessibilitySetSize, // win32
27
- onClick: childOnClick,
28
- onHoverIn: childOnHoverIn,
29
- onHoverOut: childOnHoverOut,
30
- componentRef: childComponentRef,
31
- } = childProps;
32
- const accessibilityActions = React.useMemo(() => {
33
- if (childAccessibilityActions) {
34
- return [...baseAccessibilityActions, ...childAccessibilityActions];
35
- }
36
- return baseAccessibilityActions;
37
- }, [childAccessibilityActions]);
38
- const accessibilityState = React.useMemo(() => {
39
- const baseState = open ? expandedState : collapsedState;
40
- if (childAccessibilityState) {
41
- return { ...baseState, ...childAccessibilityState };
42
- }
43
- return baseState;
44
- }, [childAccessibilityState, open]);
45
- const onAccessibilityAction = React.useCallback(
46
- (e) => {
47
- if (Platform.OS === 'win32') {
48
- switch (e.nativeEvent.actionName) {
49
- case 'Expand':
50
- setOpen(e, true /* isOpen */);
51
- break;
52
- case 'Collapse':
53
- setOpen(e, false /* isOpen */);
54
- break;
14
+ onClick: childOnClick, onHoverIn: childOnHoverIn, onHoverOut: childOnHoverOut, componentRef: childComponentRef, } = childProps;
15
+ const accessibilityActions = React.useMemo(() => {
16
+ if (childAccessibilityActions) {
17
+ return [...baseAccessibilityActions, ...childAccessibilityActions];
55
18
  }
56
- }
57
- childOnAccessibilityAction && childOnAccessibilityAction(e);
58
- },
59
- [childOnAccessibilityAction, setOpen],
60
- );
61
- const onHoverIn = React.useCallback(
62
- (e) => {
63
- if (openOnHover) {
64
- clearTimeout(popoverHoverOutTimer);
65
- clearTimeout(triggerHoverOutTimer);
66
- e.persist();
67
- setTimeout(() => {
68
- setOpen(e, true /* isOpen */);
69
- }, hoverDelay);
70
- }
71
- childOnHoverIn && childOnHoverIn(e);
72
- },
73
- [childOnHoverIn, hoverDelay, openOnHover, setOpen, triggerHoverOutTimer, popoverHoverOutTimer],
74
- );
75
- const onHoverOut = React.useCallback(
76
- (e) => {
77
- if (openOnHover) {
78
- e.persist();
79
- const timer = setTimeout(() => {
80
- setOpen(e, false /* isOpen */);
81
- }, hoverDelay);
82
- setTriggerHoverOutTimer(timer);
83
- }
84
- childOnHoverOut && childOnHoverOut(e);
85
- },
86
- [childOnHoverOut, hoverDelay, openOnHover, setOpen, setTriggerHoverOutTimer],
87
- );
88
- const onClick = React.useCallback(
89
- (e) => {
90
- setOpen(e, !open);
91
- childOnClick && childOnClick(e);
92
- },
93
- [childOnClick, open, setOpen],
94
- );
95
- const ref = useMergedRefs(triggerRef, childComponentRef);
96
- return {
97
- props: {
98
- onClick,
99
- onHoverIn,
100
- onHoverOut,
101
- componentRef: ref,
102
- accessibilityState,
103
- accessibilityActions,
104
- onAccessibilityAction,
105
- accessibilityPosInSet: childaccessibilityPosInSet ?? context.accessibilityPosInSet, // win32
106
- accessibilitySetSize: childAccessibilitySetSize ?? context.accessibilitySetSize, // win32
107
- },
108
- hasSubmenu: context.isSubmenu,
109
- };
19
+ return baseAccessibilityActions;
20
+ }, [childAccessibilityActions]);
21
+ const accessibilityState = React.useMemo(() => {
22
+ const baseState = open ? expandedState : collapsedState;
23
+ if (childAccessibilityState) {
24
+ return { ...baseState, ...childAccessibilityState };
25
+ }
26
+ return baseState;
27
+ }, [childAccessibilityState, open]);
28
+ const onAccessibilityAction = React.useCallback((e) => {
29
+ if (Platform.OS === 'win32') {
30
+ switch (e.nativeEvent.actionName) {
31
+ case 'Expand':
32
+ setOpen(e, true /* isOpen */);
33
+ break;
34
+ case 'Collapse':
35
+ setOpen(e, false /* isOpen */);
36
+ break;
37
+ }
38
+ }
39
+ childOnAccessibilityAction && childOnAccessibilityAction(e);
40
+ }, [childOnAccessibilityAction, setOpen]);
41
+ const onHoverIn = React.useCallback((e) => {
42
+ if (openOnHover) {
43
+ clearTimeout(popoverHoverOutTimer);
44
+ clearTimeout(triggerHoverOutTimer);
45
+ e.persist();
46
+ setTimeout(() => {
47
+ setOpen(e, true /* isOpen */);
48
+ }, hoverDelay);
49
+ }
50
+ childOnHoverIn && childOnHoverIn(e);
51
+ }, [childOnHoverIn, hoverDelay, openOnHover, setOpen, triggerHoverOutTimer, popoverHoverOutTimer]);
52
+ const onHoverOut = React.useCallback((e) => {
53
+ if (openOnHover) {
54
+ e.persist();
55
+ const timer = setTimeout(() => {
56
+ setOpen(e, false /* isOpen */);
57
+ }, hoverDelay);
58
+ setTriggerHoverOutTimer(timer);
59
+ }
60
+ childOnHoverOut && childOnHoverOut(e);
61
+ }, [childOnHoverOut, hoverDelay, openOnHover, setOpen, setTriggerHoverOutTimer]);
62
+ const onClick = React.useCallback((e) => {
63
+ setOpen(e, !open);
64
+ childOnClick && childOnClick(e);
65
+ }, [childOnClick, open, setOpen]);
66
+ const ref = useMergedRefs(triggerRef, childComponentRef);
67
+ return {
68
+ props: {
69
+ onClick,
70
+ onHoverIn,
71
+ onHoverOut,
72
+ componentRef: ref,
73
+ accessibilityState,
74
+ accessibilityActions,
75
+ onAccessibilityAction,
76
+ accessibilityPosInSet: childaccessibilityPosInSet ?? context.accessibilityPosInSet, // win32
77
+ accessibilitySetSize: childAccessibilitySetSize ?? context.accessibilitySetSize, // win32
78
+ },
79
+ hasSubmenu: context.isSubmenu,
80
+ };
110
81
  };
111
- //# sourceMappingURL=useMenuTrigger.js.map
82
+ //# sourceMappingURL=useMenuTrigger.js.map
@@ -17,4 +17,4 @@ export type RefObjectFunction<T> = React.RefObject<T> & ((value: T) => void);
17
17
  * @returns A function with an attached "current" prop, so that it can be treated like a RefObject.
18
18
  */
19
19
  export declare function useMergedRefs<T>(...refs: (React.Ref<T> | undefined)[]): RefObjectFunction<T>;
20
- //# sourceMappingURL=useMergeRefs.d.ts.map
20
+ //# sourceMappingURL=useMergeRefs.d.ts.map
@@ -12,21 +12,19 @@ import * as React from 'react';
12
12
  * @returns A function with an attached "current" prop, so that it can be treated like a RefObject.
13
13
  */
14
14
  export function useMergedRefs(...refs) {
15
- const mergedCallback = React.useCallback(
16
- (value) => {
17
- // Update the "current" prop hanging on the function.
18
- mergedCallback.current = value;
19
- for (const ref of refs) {
20
- if (typeof ref === 'function') {
21
- ref(value);
22
- } else if (ref) {
23
- // work around the immutability of the React.Ref type
24
- ref.current = value;
15
+ const mergedCallback = React.useCallback((value) => {
16
+ // Update the "current" prop hanging on the function.
17
+ mergedCallback.current = value;
18
+ for (const ref of refs) {
19
+ if (typeof ref === 'function') {
20
+ ref(value);
21
+ }
22
+ else if (ref) {
23
+ // work around the immutability of the React.Ref type
24
+ ref.current = value;
25
+ }
25
26
  }
26
- }
27
- },
28
- [...refs],
29
- );
30
- return mergedCallback;
27
+ }, [...refs]);
28
+ return mergedCallback;
31
29
  }
32
- //# sourceMappingURL=useMergeRefs.js.map
30
+ //# sourceMappingURL=useMergeRefs.js.map
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=Menu.test.d.ts.map
2
+ //# sourceMappingURL=Menu.test.d.ts.map