@fluentui-react-native/menu 1.14.42 → 1.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (541) hide show
  1. package/CHANGELOG.json +0 -21
  2. package/CHANGELOG.md +49 -1
  3. package/lib/Menu/Menu.d.ts +2 -2
  4. package/lib/Menu/Menu.d.ts.map +1 -1
  5. package/lib/Menu/Menu.js +14 -14
  6. package/lib/Menu/Menu.js.map +1 -1
  7. package/lib/Menu/Menu.types.d.ts +47 -48
  8. package/lib/Menu/Menu.types.d.ts.map +1 -1
  9. package/lib/Menu/Menu.types.js +6 -5
  10. package/lib/Menu/Menu.types.js.map +1 -1
  11. package/lib/Menu/index.d.ts +1 -1
  12. package/lib/Menu/index.js +1 -1
  13. package/lib/Menu/renderMenu.android.d.ts +6 -2
  14. package/lib/Menu/renderMenu.android.d.ts.map +1 -1
  15. package/lib/Menu/renderMenu.android.js +17 -10
  16. package/lib/Menu/renderMenu.android.js.map +1 -1
  17. package/lib/Menu/renderMenu.d.ts +6 -2
  18. package/lib/Menu/renderMenu.d.ts.map +1 -1
  19. package/lib/Menu/renderMenu.js +8 -7
  20. package/lib/Menu/renderMenu.js.map +1 -1
  21. package/lib/Menu/useMenu.android.d.ts +1 -1
  22. package/lib/Menu/useMenu.android.d.ts.map +1 -1
  23. package/lib/Menu/useMenu.android.js +251 -246
  24. package/lib/Menu/useMenu.android.js.map +1 -1
  25. package/lib/Menu/useMenu.d.ts +1 -1
  26. package/lib/Menu/useMenu.d.ts.map +1 -1
  27. package/lib/Menu/useMenu.js +75 -70
  28. package/lib/Menu/useMenu.js.map +1 -1
  29. package/lib/Menu/useMenuContextValue.d.ts +1 -1
  30. package/lib/Menu/useMenuContextValue.d.ts.map +1 -1
  31. package/lib/Menu/useMenuContextValue.js +4 -4
  32. package/lib/Menu/useMenuContextValue.js.map +1 -1
  33. package/lib/MenuCallout/MenuCallout.android.d.ts +2 -2
  34. package/lib/MenuCallout/MenuCallout.android.d.ts.map +1 -1
  35. package/lib/MenuCallout/MenuCallout.android.js +42 -25
  36. package/lib/MenuCallout/MenuCallout.android.js.map +1 -1
  37. package/lib/MenuCallout/MenuCallout.d.ts +2 -2
  38. package/lib/MenuCallout/MenuCallout.d.ts.map +1 -1
  39. package/lib/MenuCallout/MenuCallout.js +9 -9
  40. package/lib/MenuCallout/MenuCallout.js.map +1 -1
  41. package/lib/MenuCallout/MenuCallout.types.d.ts +13 -13
  42. package/lib/MenuCallout/MenuCallout.types.d.ts.map +1 -1
  43. package/lib/MenuCallout/MenuCallout.types.js +1 -1
  44. package/lib/MenuCallout/index.d.ts +1 -1
  45. package/lib/MenuCallout/index.js +1 -1
  46. package/lib/MenuDivider/MenuDivider.d.ts +7 -2
  47. package/lib/MenuDivider/MenuDivider.d.ts.map +1 -1
  48. package/lib/MenuDivider/MenuDivider.js +15 -15
  49. package/lib/MenuDivider/MenuDivider.js.map +1 -1
  50. package/lib/MenuDivider/MenuDivider.styling.d.ts +1 -1
  51. package/lib/MenuDivider/MenuDivider.styling.js +19 -16
  52. package/lib/MenuDivider/MenuDivider.types.d.ts +12 -12
  53. package/lib/MenuDivider/MenuDivider.types.js +1 -1
  54. package/lib/MenuDivider/MenuDividerTokens.android.d.ts +1 -1
  55. package/lib/MenuDivider/MenuDividerTokens.android.js +4 -4
  56. package/lib/MenuDivider/MenuDividerTokens.d.ts +1 -1
  57. package/lib/MenuDivider/MenuDividerTokens.js +4 -4
  58. package/lib/MenuDivider/MenuDividerTokens.macos.d.ts +1 -1
  59. package/lib/MenuDivider/MenuDividerTokens.macos.js +4 -4
  60. package/lib/MenuDivider/MenuDividerTokens.win32.d.ts +1 -1
  61. package/lib/MenuDivider/MenuDividerTokens.win32.js +4 -4
  62. package/lib/MenuDivider/index.d.ts +1 -1
  63. package/lib/MenuDivider/index.js +1 -1
  64. package/lib/MenuGroup/MenuGroup.d.ts +8 -2
  65. package/lib/MenuGroup/MenuGroup.d.ts.map +1 -1
  66. package/lib/MenuGroup/MenuGroup.js +66 -53
  67. package/lib/MenuGroup/MenuGroup.js.map +1 -1
  68. package/lib/MenuGroup/MenuGroup.types.d.ts +7 -7
  69. package/lib/MenuGroup/MenuGroup.types.js +1 -1
  70. package/lib/MenuGroup/index.d.ts +1 -1
  71. package/lib/MenuGroup/index.js +1 -1
  72. package/lib/MenuGroupHeader/MenuGroupHeader.d.ts +7 -2
  73. package/lib/MenuGroupHeader/MenuGroupHeader.d.ts.map +1 -1
  74. package/lib/MenuGroupHeader/MenuGroupHeader.js +15 -14
  75. package/lib/MenuGroupHeader/MenuGroupHeader.js.map +1 -1
  76. package/lib/MenuGroupHeader/MenuGroupHeader.styling.d.ts +1 -1
  77. package/lib/MenuGroupHeader/MenuGroupHeader.styling.js +16 -13
  78. package/lib/MenuGroupHeader/MenuGroupHeader.styling.js.map +1 -1
  79. package/lib/MenuGroupHeader/MenuGroupHeader.types.d.ts +7 -7
  80. package/lib/MenuGroupHeader/MenuGroupHeader.types.js +1 -1
  81. package/lib/MenuGroupHeader/MenuGroupHeaderTokens.d.ts +1 -1
  82. package/lib/MenuGroupHeader/MenuGroupHeaderTokens.js +7 -7
  83. package/lib/MenuGroupHeader/MenuGroupHeaderTokens.macos.d.ts +1 -1
  84. package/lib/MenuGroupHeader/MenuGroupHeaderTokens.macos.js +8 -8
  85. package/lib/MenuGroupHeader/index.d.ts +1 -1
  86. package/lib/MenuGroupHeader/index.js +1 -1
  87. package/lib/MenuItem/MenuItem.d.ts +8 -4
  88. package/lib/MenuItem/MenuItem.d.ts.map +1 -1
  89. package/lib/MenuItem/MenuItem.js +64 -47
  90. package/lib/MenuItem/MenuItem.js.map +1 -1
  91. package/lib/MenuItem/MenuItem.styling.d.ts +1 -1
  92. package/lib/MenuItem/MenuItem.styling.js +70 -52
  93. package/lib/MenuItem/MenuItem.styling.js.map +1 -1
  94. package/lib/MenuItem/MenuItem.types.d.ts +83 -83
  95. package/lib/MenuItem/MenuItem.types.js +1 -1
  96. package/lib/MenuItem/MenuItemTokens.android.d.ts +1 -1
  97. package/lib/MenuItem/MenuItemTokens.android.js +17 -17
  98. package/lib/MenuItem/MenuItemTokens.d.ts +1 -1
  99. package/lib/MenuItem/MenuItemTokens.js +35 -35
  100. package/lib/MenuItem/MenuItemTokens.macos.d.ts +1 -1
  101. package/lib/MenuItem/MenuItemTokens.macos.js +34 -34
  102. package/lib/MenuItem/MenuItemTokens.macos.js.map +1 -1
  103. package/lib/MenuItem/MenuItemTokens.win32.d.ts +1 -1
  104. package/lib/MenuItem/MenuItemTokens.win32.js +36 -36
  105. package/lib/MenuItem/index.d.ts +1 -1
  106. package/lib/MenuItem/index.js +1 -1
  107. package/lib/MenuItem/useMenuItem.d.ts +1 -1
  108. package/lib/MenuItem/useMenuItem.d.ts.map +1 -1
  109. package/lib/MenuItem/useMenuItem.js +111 -101
  110. package/lib/MenuItem/useMenuItem.js.map +1 -1
  111. package/lib/MenuItemCheckbox/MenuItemCheckbox.d.ts +12 -7
  112. package/lib/MenuItemCheckbox/MenuItemCheckbox.d.ts.map +1 -1
  113. package/lib/MenuItemCheckbox/MenuItemCheckbox.js +55 -32
  114. package/lib/MenuItemCheckbox/MenuItemCheckbox.js.map +1 -1
  115. package/lib/MenuItemCheckbox/MenuItemCheckbox.styling.d.ts +1 -1
  116. package/lib/MenuItemCheckbox/MenuItemCheckbox.styling.js +81 -62
  117. package/lib/MenuItemCheckbox/MenuItemCheckbox.types.d.ts +91 -90
  118. package/lib/MenuItemCheckbox/MenuItemCheckbox.types.d.ts.map +1 -1
  119. package/lib/MenuItemCheckbox/MenuItemCheckbox.types.js +1 -1
  120. package/lib/MenuItemCheckbox/MenuItemCheckboxTokens.android.d.ts +1 -1
  121. package/lib/MenuItemCheckbox/MenuItemCheckboxTokens.android.js +35 -35
  122. package/lib/MenuItemCheckbox/MenuItemCheckboxTokens.d.ts +1 -1
  123. package/lib/MenuItemCheckbox/MenuItemCheckboxTokens.js +44 -44
  124. package/lib/MenuItemCheckbox/MenuItemCheckboxTokens.macos.d.ts +1 -1
  125. package/lib/MenuItemCheckbox/MenuItemCheckboxTokens.macos.js +42 -42
  126. package/lib/MenuItemCheckbox/MenuItemCheckboxTokens.macos.js.map +1 -1
  127. package/lib/MenuItemCheckbox/MenuItemCheckboxTokens.win32.d.ts +1 -1
  128. package/lib/MenuItemCheckbox/MenuItemCheckboxTokens.win32.js +45 -45
  129. package/lib/MenuItemCheckbox/index.d.ts +8 -2
  130. package/lib/MenuItemCheckbox/index.js +1 -1
  131. package/lib/MenuItemCheckbox/useMenuItemCheckbox.d.ts +5 -2
  132. package/lib/MenuItemCheckbox/useMenuItemCheckbox.d.ts.map +1 -1
  133. package/lib/MenuItemCheckbox/useMenuItemCheckbox.js +129 -104
  134. package/lib/MenuItemCheckbox/useMenuItemCheckbox.js.map +1 -1
  135. package/lib/MenuItemRadio/MenuItemRadio.d.ts +12 -7
  136. package/lib/MenuItemRadio/MenuItemRadio.d.ts.map +1 -1
  137. package/lib/MenuItemRadio/MenuItemRadio.js +55 -32
  138. package/lib/MenuItemRadio/MenuItemRadio.js.map +1 -1
  139. package/lib/MenuItemRadio/MenuItemRadio.styling.android.d.ts +1 -1
  140. package/lib/MenuItemRadio/MenuItemRadio.styling.android.js +78 -60
  141. package/lib/MenuItemRadio/MenuItemRadio.styling.d.ts +1 -1
  142. package/lib/MenuItemRadio/MenuItemRadio.styling.js +59 -44
  143. package/lib/MenuItemRadio/MenuItemRadio.types.d.ts +122 -121
  144. package/lib/MenuItemRadio/MenuItemRadio.types.d.ts.map +1 -1
  145. package/lib/MenuItemRadio/MenuItemRadio.types.js +1 -1
  146. package/lib/MenuItemRadio/MenuItemRadioTokens.android.d.ts +1 -1
  147. package/lib/MenuItemRadio/MenuItemRadioTokens.android.js +38 -38
  148. package/lib/MenuItemRadio/MenuItemRadioTokens.d.ts +1 -1
  149. package/lib/MenuItemRadio/MenuItemRadioTokens.js +45 -45
  150. package/lib/MenuItemRadio/MenuItemRadioTokens.macos.d.ts +1 -1
  151. package/lib/MenuItemRadio/MenuItemRadioTokens.macos.js +43 -43
  152. package/lib/MenuItemRadio/MenuItemRadioTokens.macos.js.map +1 -1
  153. package/lib/MenuItemRadio/index.d.ts +8 -2
  154. package/lib/MenuItemRadio/index.js +1 -1
  155. package/lib/MenuItemRadio/useMenuItemRadio.d.ts +1 -1
  156. package/lib/MenuItemRadio/useMenuItemRadio.d.ts.map +1 -1
  157. package/lib/MenuItemRadio/useMenuItemRadio.js +26 -23
  158. package/lib/MenuItemRadio/useMenuItemRadio.js.map +1 -1
  159. package/lib/MenuList/MenuList.d.ts +7 -2
  160. package/lib/MenuList/MenuList.d.ts.map +1 -1
  161. package/lib/MenuList/MenuList.js +73 -57
  162. package/lib/MenuList/MenuList.js.map +1 -1
  163. package/lib/MenuList/MenuList.styling.d.ts +1 -1
  164. package/lib/MenuList/MenuList.styling.js +27 -21
  165. package/lib/MenuList/MenuList.types.d.ts +73 -73
  166. package/lib/MenuList/MenuList.types.d.ts.map +1 -1
  167. package/lib/MenuList/MenuList.types.js +1 -1
  168. package/lib/MenuList/MenuListTokens.android.d.ts +1 -1
  169. package/lib/MenuList/MenuListTokens.android.js +4 -4
  170. package/lib/MenuList/MenuListTokens.d.ts +1 -1
  171. package/lib/MenuList/MenuListTokens.js +6 -6
  172. package/lib/MenuList/MenuListTokens.macos.d.ts +1 -1
  173. package/lib/MenuList/MenuListTokens.macos.js +4 -4
  174. package/lib/MenuList/MenuListTokens.macos.js.map +1 -1
  175. package/lib/MenuList/MenuListTokens.win32.d.ts +1 -1
  176. package/lib/MenuList/MenuListTokens.win32.js +9 -9
  177. package/lib/MenuList/index.d.ts +1 -1
  178. package/lib/MenuList/index.js +1 -1
  179. package/lib/MenuList/useMenuList.d.ts +1 -1
  180. package/lib/MenuList/useMenuList.d.ts.map +1 -1
  181. package/lib/MenuList/useMenuList.js +159 -143
  182. package/lib/MenuList/useMenuList.js.map +1 -1
  183. package/lib/MenuList/useMenuListContextValue.d.ts +1 -1
  184. package/lib/MenuList/useMenuListContextValue.d.ts.map +1 -1
  185. package/lib/MenuList/useMenuListContextValue.js +2 -2
  186. package/lib/MenuList/useMenuListContextValue.js.map +1 -1
  187. package/lib/MenuPopover/MenuPopover.d.ts +8 -4
  188. package/lib/MenuPopover/MenuPopover.d.ts.map +1 -1
  189. package/lib/MenuPopover/MenuPopover.js +35 -34
  190. package/lib/MenuPopover/MenuPopover.js.map +1 -1
  191. package/lib/MenuPopover/MenuPopover.types.d.ts +14 -14
  192. package/lib/MenuPopover/MenuPopover.types.d.ts.map +1 -1
  193. package/lib/MenuPopover/MenuPopover.types.js +1 -1
  194. package/lib/MenuPopover/MenuPopoverTokens.android.d.ts +6 -4
  195. package/lib/MenuPopover/MenuPopoverTokens.android.js +8 -5
  196. package/lib/MenuPopover/MenuPopoverTokens.android.js.map +1 -1
  197. package/lib/MenuPopover/MenuPopoverTokens.d.ts +6 -4
  198. package/lib/MenuPopover/MenuPopoverTokens.js +5 -2
  199. package/lib/MenuPopover/MenuPopoverTokens.macos.d.ts +6 -4
  200. package/lib/MenuPopover/MenuPopoverTokens.macos.js +10 -7
  201. package/lib/MenuPopover/index.d.ts +1 -1
  202. package/lib/MenuPopover/index.js +1 -1
  203. package/lib/MenuPopover/useMenuPopover.d.ts +3 -3
  204. package/lib/MenuPopover/useMenuPopover.d.ts.map +1 -1
  205. package/lib/MenuPopover/useMenuPopover.js +96 -80
  206. package/lib/MenuPopover/useMenuPopover.js.map +1 -1
  207. package/lib/MenuTrigger/MenuTrigger.d.ts +5 -2
  208. package/lib/MenuTrigger/MenuTrigger.d.ts.map +1 -1
  209. package/lib/MenuTrigger/MenuTrigger.js +17 -14
  210. package/lib/MenuTrigger/MenuTrigger.js.map +1 -1
  211. package/lib/MenuTrigger/MenuTrigger.types.d.ts +15 -14
  212. package/lib/MenuTrigger/MenuTrigger.types.d.ts.map +1 -1
  213. package/lib/MenuTrigger/MenuTrigger.types.js +1 -1
  214. package/lib/MenuTrigger/MenuTrigger.types.js.map +1 -1
  215. package/lib/MenuTrigger/index.d.ts +1 -1
  216. package/lib/MenuTrigger/index.js +1 -1
  217. package/lib/MenuTrigger/useMenuTrigger.d.ts +1 -1
  218. package/lib/MenuTrigger/useMenuTrigger.d.ts.map +1 -1
  219. package/lib/MenuTrigger/useMenuTrigger.js +99 -70
  220. package/lib/MenuTrigger/useMenuTrigger.js.map +1 -1
  221. package/lib/MenuTrigger/useMergeRefs.d.ts +1 -1
  222. package/lib/MenuTrigger/useMergeRefs.d.ts.map +1 -1
  223. package/lib/MenuTrigger/useMergeRefs.js +16 -16
  224. package/lib/MenuTrigger/useMergeRefs.js.map +1 -1
  225. package/lib/__tests__/Menu.test.d.ts +1 -1
  226. package/lib/__tests__/Menu.test.js +234 -126
  227. package/lib/__tests__/Menu.test.js.map +1 -1
  228. package/lib/consts.d.ts +1 -1
  229. package/lib/consts.js +3 -3
  230. package/lib/context/index.d.ts +1 -1
  231. package/lib/context/index.js +1 -1
  232. package/lib/context/menuContext.d.ts +5 -6
  233. package/lib/context/menuContext.d.ts.map +1 -1
  234. package/lib/context/menuContext.js +15 -15
  235. package/lib/context/menuListContext.d.ts +4 -4
  236. package/lib/context/menuListContext.js +12 -12
  237. package/lib/context/menuTriggerContext.d.ts +1 -1
  238. package/lib/context/menuTriggerContext.js +1 -1
  239. package/lib/index.d.ts +26 -4
  240. package/lib/index.js +12 -2
  241. package/lib-commonjs/Menu/Menu.d.ts +2 -2
  242. package/lib-commonjs/Menu/Menu.d.ts.map +1 -1
  243. package/lib-commonjs/Menu/Menu.js +26 -24
  244. package/lib-commonjs/Menu/Menu.js.map +1 -1
  245. package/lib-commonjs/Menu/Menu.types.d.ts +47 -48
  246. package/lib-commonjs/Menu/Menu.types.d.ts.map +1 -1
  247. package/lib-commonjs/Menu/Menu.types.js +7 -7
  248. package/lib-commonjs/Menu/Menu.types.js.map +1 -1
  249. package/lib-commonjs/Menu/index.d.ts +1 -1
  250. package/lib-commonjs/Menu/index.js +31 -11
  251. package/lib-commonjs/Menu/index.js.map +1 -1
  252. package/lib-commonjs/Menu/renderMenu.android.d.ts +6 -2
  253. package/lib-commonjs/Menu/renderMenu.android.d.ts.map +1 -1
  254. package/lib-commonjs/Menu/renderMenu.android.js +26 -17
  255. package/lib-commonjs/Menu/renderMenu.android.js.map +1 -1
  256. package/lib-commonjs/Menu/renderMenu.d.ts +6 -2
  257. package/lib-commonjs/Menu/renderMenu.d.ts.map +1 -1
  258. package/lib-commonjs/Menu/renderMenu.js +11 -13
  259. package/lib-commonjs/Menu/renderMenu.js.map +1 -1
  260. package/lib-commonjs/Menu/useMenu.android.d.ts +1 -1
  261. package/lib-commonjs/Menu/useMenu.android.d.ts.map +1 -1
  262. package/lib-commonjs/Menu/useMenu.android.js +307 -275
  263. package/lib-commonjs/Menu/useMenu.android.js.map +1 -1
  264. package/lib-commonjs/Menu/useMenu.d.ts +1 -1
  265. package/lib-commonjs/Menu/useMenu.d.ts.map +1 -1
  266. package/lib-commonjs/Menu/useMenu.js +86 -79
  267. package/lib-commonjs/Menu/useMenu.js.map +1 -1
  268. package/lib-commonjs/Menu/useMenuContextValue.d.ts +1 -1
  269. package/lib-commonjs/Menu/useMenuContextValue.d.ts.map +1 -1
  270. package/lib-commonjs/Menu/useMenuContextValue.js +12 -10
  271. package/lib-commonjs/Menu/useMenuContextValue.js.map +1 -1
  272. package/lib-commonjs/MenuCallout/MenuCallout.android.d.ts +2 -2
  273. package/lib-commonjs/MenuCallout/MenuCallout.android.d.ts.map +1 -1
  274. package/lib-commonjs/MenuCallout/MenuCallout.android.js +50 -33
  275. package/lib-commonjs/MenuCallout/MenuCallout.android.js.map +1 -1
  276. package/lib-commonjs/MenuCallout/MenuCallout.d.ts +2 -2
  277. package/lib-commonjs/MenuCallout/MenuCallout.d.ts.map +1 -1
  278. package/lib-commonjs/MenuCallout/MenuCallout.js +13 -16
  279. package/lib-commonjs/MenuCallout/MenuCallout.js.map +1 -1
  280. package/lib-commonjs/MenuCallout/MenuCallout.types.d.ts +13 -13
  281. package/lib-commonjs/MenuCallout/MenuCallout.types.d.ts.map +1 -1
  282. package/lib-commonjs/MenuCallout/MenuCallout.types.js +3 -3
  283. package/lib-commonjs/MenuCallout/index.d.ts +1 -1
  284. package/lib-commonjs/MenuCallout/index.js +17 -7
  285. package/lib-commonjs/MenuCallout/index.js.map +1 -1
  286. package/lib-commonjs/MenuDivider/MenuDivider.d.ts +7 -2
  287. package/lib-commonjs/MenuDivider/MenuDivider.d.ts.map +1 -1
  288. package/lib-commonjs/MenuDivider/MenuDivider.js +20 -20
  289. package/lib-commonjs/MenuDivider/MenuDivider.js.map +1 -1
  290. package/lib-commonjs/MenuDivider/MenuDivider.styling.d.ts +1 -1
  291. package/lib-commonjs/MenuDivider/MenuDivider.styling.js +25 -22
  292. package/lib-commonjs/MenuDivider/MenuDivider.types.d.ts +12 -12
  293. package/lib-commonjs/MenuDivider/MenuDivider.types.js +3 -3
  294. package/lib-commonjs/MenuDivider/MenuDividerTokens.android.d.ts +1 -1
  295. package/lib-commonjs/MenuDivider/MenuDividerTokens.android.js +7 -7
  296. package/lib-commonjs/MenuDivider/MenuDividerTokens.android.js.map +1 -1
  297. package/lib-commonjs/MenuDivider/MenuDividerTokens.d.ts +1 -1
  298. package/lib-commonjs/MenuDivider/MenuDividerTokens.js +7 -7
  299. package/lib-commonjs/MenuDivider/MenuDividerTokens.js.map +1 -1
  300. package/lib-commonjs/MenuDivider/MenuDividerTokens.macos.d.ts +1 -1
  301. package/lib-commonjs/MenuDivider/MenuDividerTokens.macos.js +7 -7
  302. package/lib-commonjs/MenuDivider/MenuDividerTokens.macos.js.map +1 -1
  303. package/lib-commonjs/MenuDivider/MenuDividerTokens.win32.d.ts +1 -1
  304. package/lib-commonjs/MenuDivider/MenuDividerTokens.win32.js +7 -7
  305. package/lib-commonjs/MenuDivider/MenuDividerTokens.win32.js.map +1 -1
  306. package/lib-commonjs/MenuDivider/index.d.ts +1 -1
  307. package/lib-commonjs/MenuDivider/index.js +17 -7
  308. package/lib-commonjs/MenuDivider/index.js.map +1 -1
  309. package/lib-commonjs/MenuGroup/MenuGroup.d.ts +8 -2
  310. package/lib-commonjs/MenuGroup/MenuGroup.d.ts.map +1 -1
  311. package/lib-commonjs/MenuGroup/MenuGroup.js +79 -62
  312. package/lib-commonjs/MenuGroup/MenuGroup.js.map +1 -1
  313. package/lib-commonjs/MenuGroup/MenuGroup.types.d.ts +7 -7
  314. package/lib-commonjs/MenuGroup/MenuGroup.types.js +3 -3
  315. package/lib-commonjs/MenuGroup/index.d.ts +1 -1
  316. package/lib-commonjs/MenuGroup/index.js +17 -7
  317. package/lib-commonjs/MenuGroup/index.js.map +1 -1
  318. package/lib-commonjs/MenuGroupHeader/MenuGroupHeader.d.ts +7 -2
  319. package/lib-commonjs/MenuGroupHeader/MenuGroupHeader.d.ts.map +1 -1
  320. package/lib-commonjs/MenuGroupHeader/MenuGroupHeader.js +20 -19
  321. package/lib-commonjs/MenuGroupHeader/MenuGroupHeader.js.map +1 -1
  322. package/lib-commonjs/MenuGroupHeader/MenuGroupHeader.styling.d.ts +1 -1
  323. package/lib-commonjs/MenuGroupHeader/MenuGroupHeader.styling.js +22 -19
  324. package/lib-commonjs/MenuGroupHeader/MenuGroupHeader.styling.js.map +1 -1
  325. package/lib-commonjs/MenuGroupHeader/MenuGroupHeader.types.d.ts +7 -7
  326. package/lib-commonjs/MenuGroupHeader/MenuGroupHeader.types.js +3 -3
  327. package/lib-commonjs/MenuGroupHeader/MenuGroupHeaderTokens.d.ts +1 -1
  328. package/lib-commonjs/MenuGroupHeader/MenuGroupHeaderTokens.js +10 -10
  329. package/lib-commonjs/MenuGroupHeader/MenuGroupHeaderTokens.js.map +1 -1
  330. package/lib-commonjs/MenuGroupHeader/MenuGroupHeaderTokens.macos.d.ts +1 -1
  331. package/lib-commonjs/MenuGroupHeader/MenuGroupHeaderTokens.macos.js +11 -11
  332. package/lib-commonjs/MenuGroupHeader/MenuGroupHeaderTokens.macos.js.map +1 -1
  333. package/lib-commonjs/MenuGroupHeader/index.d.ts +1 -1
  334. package/lib-commonjs/MenuGroupHeader/index.js +17 -7
  335. package/lib-commonjs/MenuGroupHeader/index.js.map +1 -1
  336. package/lib-commonjs/MenuItem/MenuItem.d.ts +8 -4
  337. package/lib-commonjs/MenuItem/MenuItem.d.ts.map +1 -1
  338. package/lib-commonjs/MenuItem/MenuItem.js +73 -56
  339. package/lib-commonjs/MenuItem/MenuItem.js.map +1 -1
  340. package/lib-commonjs/MenuItem/MenuItem.styling.d.ts +1 -1
  341. package/lib-commonjs/MenuItem/MenuItem.styling.js +80 -59
  342. package/lib-commonjs/MenuItem/MenuItem.styling.js.map +1 -1
  343. package/lib-commonjs/MenuItem/MenuItem.types.d.ts +83 -83
  344. package/lib-commonjs/MenuItem/MenuItem.types.js +3 -3
  345. package/lib-commonjs/MenuItem/MenuItemTokens.android.d.ts +1 -1
  346. package/lib-commonjs/MenuItem/MenuItemTokens.android.js +20 -20
  347. package/lib-commonjs/MenuItem/MenuItemTokens.android.js.map +1 -1
  348. package/lib-commonjs/MenuItem/MenuItemTokens.d.ts +1 -1
  349. package/lib-commonjs/MenuItem/MenuItemTokens.js +38 -38
  350. package/lib-commonjs/MenuItem/MenuItemTokens.js.map +1 -1
  351. package/lib-commonjs/MenuItem/MenuItemTokens.macos.d.ts +1 -1
  352. package/lib-commonjs/MenuItem/MenuItemTokens.macos.js +37 -37
  353. package/lib-commonjs/MenuItem/MenuItemTokens.macos.js.map +1 -1
  354. package/lib-commonjs/MenuItem/MenuItemTokens.win32.d.ts +1 -1
  355. package/lib-commonjs/MenuItem/MenuItemTokens.win32.js +39 -39
  356. package/lib-commonjs/MenuItem/MenuItemTokens.win32.js.map +1 -1
  357. package/lib-commonjs/MenuItem/index.d.ts +1 -1
  358. package/lib-commonjs/MenuItem/index.js +24 -9
  359. package/lib-commonjs/MenuItem/index.js.map +1 -1
  360. package/lib-commonjs/MenuItem/useMenuItem.d.ts +1 -1
  361. package/lib-commonjs/MenuItem/useMenuItem.d.ts.map +1 -1
  362. package/lib-commonjs/MenuItem/useMenuItem.js +173 -134
  363. package/lib-commonjs/MenuItem/useMenuItem.js.map +1 -1
  364. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.d.ts +12 -7
  365. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.d.ts.map +1 -1
  366. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.js +65 -42
  367. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.js.map +1 -1
  368. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.styling.d.ts +1 -1
  369. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.styling.js +91 -69
  370. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.styling.js.map +1 -1
  371. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.types.d.ts +91 -90
  372. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.types.d.ts.map +1 -1
  373. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.types.js +3 -3
  374. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckboxTokens.android.d.ts +1 -1
  375. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckboxTokens.android.js +38 -38
  376. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckboxTokens.android.js.map +1 -1
  377. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckboxTokens.d.ts +1 -1
  378. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckboxTokens.js +47 -47
  379. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckboxTokens.js.map +1 -1
  380. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckboxTokens.macos.d.ts +1 -1
  381. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckboxTokens.macos.js +45 -45
  382. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckboxTokens.macos.js.map +1 -1
  383. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckboxTokens.win32.d.ts +1 -1
  384. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckboxTokens.win32.js +48 -48
  385. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckboxTokens.win32.js.map +1 -1
  386. package/lib-commonjs/MenuItemCheckbox/index.d.ts +8 -2
  387. package/lib-commonjs/MenuItemCheckbox/index.js +30 -10
  388. package/lib-commonjs/MenuItemCheckbox/index.js.map +1 -1
  389. package/lib-commonjs/MenuItemCheckbox/useMenuItemCheckbox.d.ts +5 -2
  390. package/lib-commonjs/MenuItemCheckbox/useMenuItemCheckbox.d.ts.map +1 -1
  391. package/lib-commonjs/MenuItemCheckbox/useMenuItemCheckbox.js +189 -137
  392. package/lib-commonjs/MenuItemCheckbox/useMenuItemCheckbox.js.map +1 -1
  393. package/lib-commonjs/MenuItemRadio/MenuItemRadio.d.ts +12 -7
  394. package/lib-commonjs/MenuItemRadio/MenuItemRadio.d.ts.map +1 -1
  395. package/lib-commonjs/MenuItemRadio/MenuItemRadio.js +65 -42
  396. package/lib-commonjs/MenuItemRadio/MenuItemRadio.js.map +1 -1
  397. package/lib-commonjs/MenuItemRadio/MenuItemRadio.styling.android.d.ts +1 -1
  398. package/lib-commonjs/MenuItemRadio/MenuItemRadio.styling.android.js +88 -67
  399. package/lib-commonjs/MenuItemRadio/MenuItemRadio.styling.android.js.map +1 -1
  400. package/lib-commonjs/MenuItemRadio/MenuItemRadio.styling.d.ts +1 -1
  401. package/lib-commonjs/MenuItemRadio/MenuItemRadio.styling.js +69 -51
  402. package/lib-commonjs/MenuItemRadio/MenuItemRadio.styling.js.map +1 -1
  403. package/lib-commonjs/MenuItemRadio/MenuItemRadio.types.d.ts +122 -121
  404. package/lib-commonjs/MenuItemRadio/MenuItemRadio.types.d.ts.map +1 -1
  405. package/lib-commonjs/MenuItemRadio/MenuItemRadio.types.js +3 -3
  406. package/lib-commonjs/MenuItemRadio/MenuItemRadioTokens.android.d.ts +1 -1
  407. package/lib-commonjs/MenuItemRadio/MenuItemRadioTokens.android.js +41 -41
  408. package/lib-commonjs/MenuItemRadio/MenuItemRadioTokens.android.js.map +1 -1
  409. package/lib-commonjs/MenuItemRadio/MenuItemRadioTokens.d.ts +1 -1
  410. package/lib-commonjs/MenuItemRadio/MenuItemRadioTokens.js +48 -48
  411. package/lib-commonjs/MenuItemRadio/MenuItemRadioTokens.js.map +1 -1
  412. package/lib-commonjs/MenuItemRadio/MenuItemRadioTokens.macos.d.ts +1 -1
  413. package/lib-commonjs/MenuItemRadio/MenuItemRadioTokens.macos.js +46 -46
  414. package/lib-commonjs/MenuItemRadio/MenuItemRadioTokens.macos.js.map +1 -1
  415. package/lib-commonjs/MenuItemRadio/index.d.ts +8 -2
  416. package/lib-commonjs/MenuItemRadio/index.js +24 -9
  417. package/lib-commonjs/MenuItemRadio/index.js.map +1 -1
  418. package/lib-commonjs/MenuItemRadio/useMenuItemRadio.d.ts +1 -1
  419. package/lib-commonjs/MenuItemRadio/useMenuItemRadio.d.ts.map +1 -1
  420. package/lib-commonjs/MenuItemRadio/useMenuItemRadio.js +82 -52
  421. package/lib-commonjs/MenuItemRadio/useMenuItemRadio.js.map +1 -1
  422. package/lib-commonjs/MenuList/MenuList.d.ts +7 -2
  423. package/lib-commonjs/MenuList/MenuList.d.ts.map +1 -1
  424. package/lib-commonjs/MenuList/MenuList.js +88 -70
  425. package/lib-commonjs/MenuList/MenuList.js.map +1 -1
  426. package/lib-commonjs/MenuList/MenuList.styling.d.ts +1 -1
  427. package/lib-commonjs/MenuList/MenuList.styling.js +34 -28
  428. package/lib-commonjs/MenuList/MenuList.styling.js.map +1 -1
  429. package/lib-commonjs/MenuList/MenuList.types.d.ts +73 -73
  430. package/lib-commonjs/MenuList/MenuList.types.d.ts.map +1 -1
  431. package/lib-commonjs/MenuList/MenuList.types.js +3 -3
  432. package/lib-commonjs/MenuList/MenuListTokens.android.d.ts +1 -1
  433. package/lib-commonjs/MenuList/MenuListTokens.android.js +7 -7
  434. package/lib-commonjs/MenuList/MenuListTokens.android.js.map +1 -1
  435. package/lib-commonjs/MenuList/MenuListTokens.d.ts +1 -1
  436. package/lib-commonjs/MenuList/MenuListTokens.js +9 -9
  437. package/lib-commonjs/MenuList/MenuListTokens.js.map +1 -1
  438. package/lib-commonjs/MenuList/MenuListTokens.macos.d.ts +1 -1
  439. package/lib-commonjs/MenuList/MenuListTokens.macos.js +7 -7
  440. package/lib-commonjs/MenuList/MenuListTokens.macos.js.map +1 -1
  441. package/lib-commonjs/MenuList/MenuListTokens.win32.d.ts +1 -1
  442. package/lib-commonjs/MenuList/MenuListTokens.win32.js +12 -12
  443. package/lib-commonjs/MenuList/MenuListTokens.win32.js.map +1 -1
  444. package/lib-commonjs/MenuList/index.d.ts +1 -1
  445. package/lib-commonjs/MenuList/index.js +31 -11
  446. package/lib-commonjs/MenuList/index.js.map +1 -1
  447. package/lib-commonjs/MenuList/useMenuList.d.ts +1 -1
  448. package/lib-commonjs/MenuList/useMenuList.d.ts.map +1 -1
  449. package/lib-commonjs/MenuList/useMenuList.js +170 -152
  450. package/lib-commonjs/MenuList/useMenuList.js.map +1 -1
  451. package/lib-commonjs/MenuList/useMenuListContextValue.d.ts +1 -1
  452. package/lib-commonjs/MenuList/useMenuListContextValue.d.ts.map +1 -1
  453. package/lib-commonjs/MenuList/useMenuListContextValue.js +4 -4
  454. package/lib-commonjs/MenuList/useMenuListContextValue.js.map +1 -1
  455. package/lib-commonjs/MenuPopover/MenuPopover.d.ts +8 -4
  456. package/lib-commonjs/MenuPopover/MenuPopover.js +50 -47
  457. package/lib-commonjs/MenuPopover/MenuPopover.js.map +1 -1
  458. package/lib-commonjs/MenuPopover/MenuPopover.types.d.ts +14 -14
  459. package/lib-commonjs/MenuPopover/MenuPopover.types.d.ts.map +1 -1
  460. package/lib-commonjs/MenuPopover/MenuPopover.types.js +3 -3
  461. package/lib-commonjs/MenuPopover/MenuPopoverTokens.android.d.ts +6 -4
  462. package/lib-commonjs/MenuPopover/MenuPopoverTokens.android.js +14 -11
  463. package/lib-commonjs/MenuPopover/MenuPopoverTokens.android.js.map +1 -1
  464. package/lib-commonjs/MenuPopover/MenuPopoverTokens.d.ts +6 -4
  465. package/lib-commonjs/MenuPopover/MenuPopoverTokens.js +9 -6
  466. package/lib-commonjs/MenuPopover/MenuPopoverTokens.macos.d.ts +6 -4
  467. package/lib-commonjs/MenuPopover/MenuPopoverTokens.macos.js +15 -12
  468. package/lib-commonjs/MenuPopover/index.d.ts +1 -1
  469. package/lib-commonjs/MenuPopover/index.js +24 -9
  470. package/lib-commonjs/MenuPopover/index.js.map +1 -1
  471. package/lib-commonjs/MenuPopover/useMenuPopover.d.ts +3 -3
  472. package/lib-commonjs/MenuPopover/useMenuPopover.d.ts.map +1 -1
  473. package/lib-commonjs/MenuPopover/useMenuPopover.js +106 -88
  474. package/lib-commonjs/MenuPopover/useMenuPopover.js.map +1 -1
  475. package/lib-commonjs/MenuTrigger/MenuTrigger.d.ts +5 -2
  476. package/lib-commonjs/MenuTrigger/MenuTrigger.d.ts.map +1 -1
  477. package/lib-commonjs/MenuTrigger/MenuTrigger.js +73 -43
  478. package/lib-commonjs/MenuTrigger/MenuTrigger.js.map +1 -1
  479. package/lib-commonjs/MenuTrigger/MenuTrigger.types.d.ts +15 -14
  480. package/lib-commonjs/MenuTrigger/MenuTrigger.types.d.ts.map +1 -1
  481. package/lib-commonjs/MenuTrigger/MenuTrigger.types.js +3 -3
  482. package/lib-commonjs/MenuTrigger/MenuTrigger.types.js.map +1 -1
  483. package/lib-commonjs/MenuTrigger/index.d.ts +1 -1
  484. package/lib-commonjs/MenuTrigger/index.js +24 -9
  485. package/lib-commonjs/MenuTrigger/index.js.map +1 -1
  486. package/lib-commonjs/MenuTrigger/useMenuTrigger.d.ts +1 -1
  487. package/lib-commonjs/MenuTrigger/useMenuTrigger.d.ts.map +1 -1
  488. package/lib-commonjs/MenuTrigger/useMenuTrigger.js +111 -80
  489. package/lib-commonjs/MenuTrigger/useMenuTrigger.js.map +1 -1
  490. package/lib-commonjs/MenuTrigger/useMergeRefs.d.ts +1 -1
  491. package/lib-commonjs/MenuTrigger/useMergeRefs.d.ts.map +1 -1
  492. package/lib-commonjs/MenuTrigger/useMergeRefs.js +70 -44
  493. package/lib-commonjs/MenuTrigger/useMergeRefs.js.map +1 -1
  494. package/lib-commonjs/__tests__/Menu.test.d.ts +1 -1
  495. package/lib-commonjs/__tests__/Menu.test.js +340 -166
  496. package/lib-commonjs/__tests__/Menu.test.js.map +1 -1
  497. package/lib-commonjs/consts.d.ts +1 -1
  498. package/lib-commonjs/consts.js +6 -6
  499. package/lib-commonjs/context/index.d.ts +1 -1
  500. package/lib-commonjs/context/index.js +70 -16
  501. package/lib-commonjs/context/index.js.map +1 -1
  502. package/lib-commonjs/context/menuContext.d.ts +5 -6
  503. package/lib-commonjs/context/menuContext.d.ts.map +1 -1
  504. package/lib-commonjs/context/menuContext.js +68 -41
  505. package/lib-commonjs/context/menuContext.js.map +1 -1
  506. package/lib-commonjs/context/menuListContext.d.ts +4 -4
  507. package/lib-commonjs/context/menuListContext.js +65 -38
  508. package/lib-commonjs/context/menuListContext.js.map +1 -1
  509. package/lib-commonjs/context/menuTriggerContext.d.ts +1 -1
  510. package/lib-commonjs/context/menuTriggerContext.js +9 -7
  511. package/lib-commonjs/context/menuTriggerContext.js.map +1 -1
  512. package/lib-commonjs/index.d.ts +26 -4
  513. package/lib-commonjs/index.js +296 -56
  514. package/lib-commonjs/index.js.map +1 -1
  515. package/package.json +74 -72
  516. package/src/Menu/Menu.tsx +5 -5
  517. package/src/Menu/useMenu.android.ts +2 -2
  518. package/src/Menu/useMenu.ts +2 -1
  519. package/src/MenuCallout/MenuCallout.android.tsx +8 -9
  520. package/src/MenuCallout/MenuCallout.tsx +6 -8
  521. package/src/MenuCallout/MenuCallout.types.ts +1 -1
  522. package/src/MenuDivider/MenuDivider.tsx +2 -3
  523. package/src/MenuGroup/MenuGroup.tsx +9 -7
  524. package/src/MenuGroupHeader/MenuGroupHeader.tsx +2 -3
  525. package/src/MenuItem/MenuItem.tsx +2 -3
  526. package/src/MenuItemCheckbox/MenuItemCheckbox.tsx +5 -6
  527. package/src/MenuItemCheckbox/MenuItemCheckbox.types.ts +2 -2
  528. package/src/MenuItemRadio/MenuItemRadio.tsx +5 -6
  529. package/src/MenuItemRadio/MenuItemRadio.types.ts +2 -2
  530. package/src/MenuItemRadio/useMenuItemRadio.ts +1 -1
  531. package/src/MenuList/MenuList.tsx +8 -6
  532. package/src/MenuList/MenuList.types.ts +2 -2
  533. package/src/MenuList/useMenuList.ts +3 -3
  534. package/src/MenuPopover/MenuPopover.types.ts +1 -1
  535. package/src/MenuPopover/useMenuPopover.ts +0 -1
  536. package/src/MenuTrigger/MenuTrigger.tsx +5 -2
  537. package/src/MenuTrigger/MenuTrigger.types.ts +3 -2
  538. package/src/MenuTrigger/useMenuTrigger.ts +6 -8
  539. package/src/MenuTrigger/useMergeRefs.ts +0 -1
  540. package/src/__tests__/Menu.test.tsx +81 -42
  541. package/src/__tests__/__snapshots__/Menu.test.tsx.snap +106 -0
@@ -1,8 +1,6 @@
1
- import React from 'react';
2
1
  import { Animated, Modal, TouchableWithoutFeedback, View, StyleSheet, ScrollView } from 'react-native';
3
2
 
4
- import { stagedComponent } from '@fluentui-react-native/framework';
5
- import { mergeProps } from '@fluentui-react-native/framework';
3
+ import { mergeProps, phasedComponent, directComponent } from '@fluentui-react-native/framework-base';
6
4
 
7
5
  import type { MenuCalloutProps } from './MenuCallout.types';
8
6
  import { menuCalloutName } from './MenuCallout.types';
@@ -10,11 +8,12 @@ import { useMenuContext } from '../context';
10
8
 
11
9
  const AnimatedScrollView = Animated.createAnimatedComponent(ScrollView);
12
10
 
13
- export const MenuCallout = stagedComponent((props: MenuCalloutProps) => {
11
+ export const MenuCallout = phasedComponent((props: MenuCalloutProps) => {
14
12
  const context = useMenuContext();
15
13
 
16
- return (_rest: MenuCalloutProps, children: React.ReactNode) => {
17
- const mergedProps = mergeProps(props, _rest);
14
+ return directComponent<MenuCalloutProps>((innerProps: MenuCalloutProps) => {
15
+ const { children, ...rest } = mergeProps<MenuCalloutProps>(props, innerProps);
16
+ const mergedProps = mergeProps(props, rest);
18
17
  const tokens = props.tokens;
19
18
 
20
19
  return (
@@ -41,8 +40,8 @@ export const MenuCallout = stagedComponent((props: MenuCalloutProps) => {
41
40
  },
42
41
  ]}
43
42
  >
44
- {context.menuHeight + tokens.minPadding >= tokens.maxHeight ||
45
- context.menuHeight + tokens.minPadding >= mergedProps.maxHeight ? (
43
+ {context.menuHeight + tokens.minPadding >= (tokens.maxHeight as number) ||
44
+ context.menuHeight + tokens.minPadding >= (mergedProps.maxHeight as number) ? (
46
45
  <AnimatedScrollView style={[context.animationStarted && context.menuSize]}>{children}</AnimatedScrollView>
47
46
  ) : (
48
47
  <Animated.View style={[context.animationStarted && context.menuSize]}>{children}</Animated.View>
@@ -52,7 +51,7 @@ export const MenuCallout = stagedComponent((props: MenuCalloutProps) => {
52
51
  </TouchableWithoutFeedback>
53
52
  </Modal>
54
53
  );
55
- };
54
+ });
56
55
  });
57
56
 
58
57
  MenuCallout.displayName = menuCalloutName;
@@ -1,18 +1,16 @@
1
- import React from 'react';
2
-
3
1
  import { Callout } from '@fluentui-react-native/callout';
4
- import { stagedComponent } from '@fluentui-react-native/framework';
5
- import { mergeProps } from '@fluentui-react-native/framework';
2
+ import { mergeProps, phasedComponent, directComponent } from '@fluentui-react-native/framework-base';
6
3
 
7
4
  import type { MenuCalloutProps } from './MenuCallout.types';
8
5
  import { menuCalloutName } from './MenuCallout.types';
9
6
 
10
- export const MenuCallout = stagedComponent((props: MenuCalloutProps) => {
11
- return (_rest: MenuCalloutProps, children: React.ReactNode) => {
12
- const mergedProps = mergeProps(props, _rest);
7
+ export const MenuCallout = phasedComponent((props: MenuCalloutProps) => {
8
+ return directComponent<MenuCalloutProps>((innerProps: MenuCalloutProps) => {
9
+ const { children, ...rest } = innerProps;
10
+ const mergedProps = mergeProps(props, rest);
13
11
 
14
12
  return <Callout {...mergedProps}>{children}</Callout>;
15
- };
13
+ });
16
14
  });
17
15
 
18
16
  MenuCallout.displayName = menuCalloutName;
@@ -12,7 +12,7 @@ export type MenuCalloutTokens =
12
12
  * The token for the corner radius for the Modal MenuPopover
13
13
  * @platform android macos
14
14
  */
15
- borderRadius?: AnimatableNumericValue;
15
+ borderRadius?: AnimatableNumericValue | string;
16
16
 
17
17
  /**
18
18
  * Shadown elevation token for the Modal MenuPopover
@@ -1,9 +1,8 @@
1
- /** @jsxRuntime classic */
2
- /** @jsx withSlots */
1
+ /** @jsxImportSource @fluentui-react-native/framework-base */
3
2
  import { View } from 'react-native';
4
3
 
5
4
  import type { UseSlots } from '@fluentui-react-native/framework';
6
- import { compose, withSlots } from '@fluentui-react-native/framework';
5
+ import { compose } from '@fluentui-react-native/framework';
7
6
 
8
7
  import { stylingSettings } from './MenuDivider.styling';
9
8
  import type { MenuDividerProps, MenuDividerType } from './MenuDivider.types';
@@ -1,10 +1,11 @@
1
- /** @jsxRuntime classic */
2
- /** @jsx withSlots */
1
+ /** @jsxImportSource @fluentui-react-native/framework-base */
3
2
  import React from 'react';
4
3
  import { Platform, View } from 'react-native';
4
+ import type { IViewProps } from '@fluentui-react-native/adapters';
5
5
 
6
6
  import { FocusZone } from '@fluentui-react-native/focus-zone';
7
- import { compose, mergeProps, withSlots } from '@fluentui-react-native/framework';
7
+ import { compose, mergeProps } from '@fluentui-react-native/framework';
8
+ import { extractChildren, extractProps } from '@fluentui-react-native/framework-base';
8
9
  import type { UseSlots } from '@fluentui-react-native/framework';
9
10
 
10
11
  import type { MenuGroupProps, MenuGroupType } from './MenuGroup.types';
@@ -40,8 +41,8 @@ export const MenuGroup = compose<MenuGroupType>({
40
41
  return React.cloneElement(
41
42
  child as React.ReactElement<unknown, string | React.JSXElementConstructor<any>>,
42
43
  {
43
- accessibilityPositionInSet: child.props.accessibilityPositionInSet ?? itemPosition, // win32
44
- accessibilitySetSize: child.props.accessibilitySetSize ?? itemCount, //win32
44
+ accessibilityPosInSet: extractProps<IViewProps>(child)?.accessibilityPosInSet ?? itemPosition, // win32
45
+ accessibilitySetSize: extractProps<IViewProps>(child)?.accessibilitySetSize ?? itemCount, //win32
45
46
  } as any,
46
47
  );
47
48
  }
@@ -58,8 +59,9 @@ export const MenuGroup = compose<MenuGroupType>({
58
59
  // we use a string with a space as the default accessibilityLabel for MenuGroup.
59
60
  // If an empty string was used, the group context would not be read.
60
61
  let menuGroupA11yLabel = ' ';
61
- if (menuGroupHeader && typeof (menuGroupHeader as React.ReactElement).props.children === 'string') {
62
- menuGroupA11yLabel = (menuGroupHeader as React.ReactElement).props.children;
62
+ const menuGroupHeaderChild = extractChildren(menuGroupHeader as React.ReactElement);
63
+ if (menuGroupHeader && typeof menuGroupHeaderChild === 'string') {
64
+ menuGroupA11yLabel = menuGroupHeaderChild;
63
65
  }
64
66
 
65
67
  return (
@@ -1,8 +1,7 @@
1
- /** @jsxRuntime classic */
2
- /** @jsx withSlots */
1
+ /** @jsxImportSource @fluentui-react-native/framework-base */
3
2
  import React from 'react';
4
3
 
5
- import { compose, mergeProps, withSlots } from '@fluentui-react-native/framework';
4
+ import { compose, mergeProps } from '@fluentui-react-native/framework';
6
5
  import type { UseSlots } from '@fluentui-react-native/framework';
7
6
  import { TextV1 as Text } from '@fluentui-react-native/text';
8
7
 
@@ -1,10 +1,9 @@
1
- /** @jsxRuntime classic */
2
- /** @jsx withSlots */
1
+ /** @jsxImportSource @fluentui-react-native/framework-base */
3
2
  import React from 'react';
4
3
  import { I18nManager, Image, Pressable, View } from 'react-native';
5
4
 
6
5
  import type { UseSlots } from '@fluentui-react-native/framework';
7
- import { compose, memoize, mergeProps, withSlots } from '@fluentui-react-native/framework';
6
+ import { compose, memoize, mergeProps } from '@fluentui-react-native/framework';
8
7
  import { IconV1 as Icon } from '@fluentui-react-native/icon';
9
8
  import { TextV1 as Text } from '@fluentui-react-native/text';
10
9
  import { SvgXml } from 'react-native-svg';
@@ -1,10 +1,9 @@
1
- /** @jsxRuntime classic */
2
- /** @jsx withSlots */
1
+ /** @jsxImportSource @fluentui-react-native/framework-base */
3
2
  import React from 'react';
4
3
  import { Image, Platform, Pressable, View } from 'react-native';
5
4
 
6
- import type { Slots, UseSlots } from '@fluentui-react-native/framework';
7
- import { compose, mergeProps, withSlots } from '@fluentui-react-native/framework';
5
+ import type { Slots, UseSlots, FinalRender } from '@fluentui-react-native/framework';
6
+ import { compose, mergeProps } from '@fluentui-react-native/framework';
8
7
  import { IconV1 as Icon } from '@fluentui-react-native/icon';
9
8
  import { TextV1 as Text } from '@fluentui-react-native/text';
10
9
  import { SvgXml } from 'react-native-svg';
@@ -43,8 +42,8 @@ export const MenuItemCheckbox = compose<MenuItemCheckboxType>({
43
42
  export const menuItemFinalRender = (
44
43
  menuItem: MenuItemCheckboxInfo,
45
44
  Slots: Slots<MenuItemCheckboxSlotProps>,
46
- ): React.FunctionComponent<MenuItemCheckboxProps> => {
47
- return (final: MenuItemCheckboxProps, children: React.ReactNode) => {
45
+ ): FinalRender<MenuItemCheckboxProps> => {
46
+ return (final: MenuItemCheckboxProps, ...children: React.ReactNode[]) => {
48
47
  const { accessibilityLabel, icon, tooltip, ...mergedProps } = mergeProps(menuItem.props, final);
49
48
 
50
49
  const checkmarkXml = `
@@ -1,5 +1,5 @@
1
1
  import type * as React from 'react';
2
- import type { ColorValue, ImageProps } from 'react-native';
2
+ import type { ColorValue, ImageProps, AnimatableNumericValue } from 'react-native';
3
3
 
4
4
  import type { IViewProps } from '@fluentui-react-native/adapters';
5
5
  import type { IconPropsV1 as IconProps } from '@fluentui-react-native/icon';
@@ -54,7 +54,7 @@ export interface MenuItemCheckboxTokens
54
54
  * Border radius of the box containing the checkmark.
55
55
  * @platform android
56
56
  */
57
- checkboxBorderRadius?: number;
57
+ checkboxBorderRadius?: AnimatableNumericValue | string;
58
58
 
59
59
  /**
60
60
  * Width of the border around the box containing the checkmark.
@@ -1,10 +1,9 @@
1
- /** @jsxRuntime classic */
2
- /** @jsx withSlots */
1
+ /** @jsxImportSource @fluentui-react-native/framework-base */
3
2
  import React from 'react';
4
3
  import { Image, Platform, Pressable, View } from 'react-native';
5
4
 
6
- import type { Slots, UseSlots } from '@fluentui-react-native/framework';
7
- import { compose, mergeProps, withSlots } from '@fluentui-react-native/framework';
5
+ import type { Slots, UseSlots, FinalRender } from '@fluentui-react-native/framework';
6
+ import { compose, mergeProps } from '@fluentui-react-native/framework';
8
7
  import { IconV1 as Icon } from '@fluentui-react-native/icon';
9
8
  import { TextV1 as Text } from '@fluentui-react-native/text';
10
9
  import { SvgXml } from 'react-native-svg';
@@ -39,8 +38,8 @@ export const MenuItemRadio = compose<MenuItemRadioType>({
39
38
  export const menuItemRadioFinalRender = (
40
39
  menuItem: MenuItemRadioInfo,
41
40
  Slots: Slots<MenuItemRadioSlotProps>,
42
- ): React.FunctionComponent<MenuItemRadioProps> => {
43
- return (final: MenuItemRadioProps, children: React.ReactNode) => {
41
+ ): FinalRender<MenuItemRadioProps> => {
42
+ return (final: MenuItemRadioProps, ...children: React.ReactNode[]) => {
44
43
  const { accessibilityLabel, icon, tooltip, ...mergedProps } = mergeProps(menuItem.props, final);
45
44
 
46
45
  const checkmarkXml = `
@@ -1,5 +1,5 @@
1
1
  import type * as React from 'react';
2
- import type { ColorValue, ImageProps, ViewStyle } from 'react-native';
2
+ import type { ColorValue, ImageProps, ViewStyle, AnimatableNumericValue } from 'react-native';
3
3
 
4
4
  import type { IViewProps } from '@fluentui-react-native/adapters';
5
5
  import type { IconPropsV1 as IconProps } from '@fluentui-react-native/icon';
@@ -62,7 +62,7 @@ export interface MenuItemRadioTokens
62
62
  * Border radius of the box containing the radio.
63
63
  * @platform android
64
64
  */
65
- radioBorderRadius?: number;
65
+ radioBorderRadius?: AnimatableNumericValue | string;
66
66
 
67
67
  /**
68
68
  * Height and width of the box containing the radio.
@@ -35,7 +35,7 @@ export const useMenuItemRadio = (props: MenuItemRadioProps): MenuItemRadioInfo =
35
35
  return () => {
36
36
  listContext.removeRadioItem(name);
37
37
  };
38
- }, []); // eslint-disable-line react-hooks/exhaustive-deps
38
+ }, []);
39
39
 
40
40
  return useMenuCheckboxInteraction(props, toggleChecked);
41
41
  };
@@ -1,11 +1,12 @@
1
- /** @jsxRuntime classic */
2
- /** @jsx withSlots */
1
+ /** @jsxImportSource @fluentui-react-native/framework-base */
3
2
  import React from 'react';
4
3
  import { Platform, ScrollView, View } from 'react-native';
5
4
 
5
+ import type { IViewProps } from '@fluentui-react-native/adapters';
6
6
  import { FocusZone } from '@fluentui-react-native/focus-zone';
7
7
  import type { UseSlots } from '@fluentui-react-native/framework';
8
- import { compose, withSlots } from '@fluentui-react-native/framework';
8
+ import { compose } from '@fluentui-react-native/framework';
9
+ import { extractProps } from '@fluentui-react-native/framework-base';
9
10
 
10
11
  import { stylingSettings } from './MenuList.styling';
11
12
  import type { MenuListProps, MenuListState, MenuListType } from './MenuList.types';
@@ -47,12 +48,13 @@ export const MenuList = compose<MenuListType>({
47
48
  itemPosition++;
48
49
  }
49
50
 
51
+ const childProps = extractProps<IViewProps>(child);
50
52
  return React.cloneElement(
51
53
  child as React.ReactElement<unknown, string | React.JSXElementConstructor<any>>,
52
54
  {
53
- accessibilityPositionInSet: child.props.accessibilityPositionInSet ?? itemPosition, // win32
54
- accessibilitySetSize: child.props.accessibilitySetSize ?? itemCount, //win32
55
- ...(child.props.tooltip && { alwaysShowToolTip: true }),
55
+ accessibilityPosInSet: childProps?.accessibilityPosInSet ?? itemPosition, // win32
56
+ accessibilitySetSize: childProps?.accessibilitySetSize ?? itemCount, //win32
57
+ ...(childProps?.tooltip && { alwaysShowToolTip: true }),
56
58
  } as any,
57
59
  );
58
60
  }
@@ -1,5 +1,5 @@
1
1
  import type React from 'react';
2
- import type { ScrollViewProps, View } from 'react-native';
2
+ import type { ScrollViewProps, View, AnimatableNumericValue } from 'react-native';
3
3
 
4
4
  import type { IViewProps } from '@fluentui-react-native/adapters';
5
5
  import type { FocusZoneProps } from '@fluentui-react-native/focus-zone';
@@ -23,7 +23,7 @@ export interface MenuListTokens extends LayoutTokens, IBackgroundColorTokens {
23
23
  * Border radius of the menu list
24
24
  * @platform android macos
25
25
  */
26
- borderRadius?: number;
26
+ borderRadius?: AnimatableNumericValue | string;
27
27
  }
28
28
 
29
29
  export interface MenuListProps extends Omit<IViewProps, 'onPress'> {
@@ -3,6 +3,7 @@ import { Platform } from 'react-native';
3
3
  import type { View } from 'react-native';
4
4
 
5
5
  import type { InteractionEvent } from '@fluentui-react-native/interactive-hooks';
6
+ import type { NativeKeyEvent } from '@fluentui-react-native/adapters';
6
7
 
7
8
  import type { MenuListProps, MenuListState, TrackedMenuItem } from './MenuList.types';
8
9
  import { useMenuContext } from '../context/menuContext';
@@ -137,7 +138,7 @@ export const useMenuList = (_props: MenuListProps): MenuListState => {
137
138
  [trackedMenuItems],
138
139
  );
139
140
 
140
- const onListKeyDown = (e: InteractionEvent) => {
141
+ const onListKeyDown = (e: NativeKeyEvent) => {
141
142
  const key = e.nativeEvent.key;
142
143
  if (handledKeys.includes(key)) {
143
144
  // For iOS and macOS, 'Home' and 'End' must set focus on the first and last enabled item.
@@ -164,7 +165,7 @@ export const useMenuList = (_props: MenuListProps): MenuListState => {
164
165
  });
165
166
 
166
167
  // focus management
167
- const focusZoneRef = React.useRef<View>();
168
+ const focusZoneRef = React.useRef<View>(null);
168
169
  const setFocusZoneFocus = () => {
169
170
  focusZoneRef?.current?.focus();
170
171
  };
@@ -209,6 +210,5 @@ export const useMenuItemTracking = (ref: React.RefObject<View>, disabled: boolea
209
210
  React.useEffect(() => {
210
211
  trackMenuItem(item);
211
212
  return () => untrackMenuItem(item);
212
- // eslint-disable-next-line react-hooks/exhaustive-deps
213
213
  }, []);
214
214
  };
@@ -13,7 +13,7 @@ export type MenuPopoverTokens =
13
13
  * The props for the corner radius for the Modal MenuPopover
14
14
  * @platform android macos
15
15
  */
16
- borderRadius?: AnimatableNumericValue;
16
+ borderRadius?: AnimatableNumericValue | string;
17
17
 
18
18
  /**
19
19
  * Shadown elevation for the Modal MenuPopover
@@ -29,7 +29,6 @@ export const useMenuPopover = (props: MenuPopoverProps): MenuPopoverState => {
29
29
  const onDismiss = React.useCallback(() => {
30
30
  props.onDismiss?.();
31
31
  setOpen(undefined, false /* isOpen */), [setOpen];
32
- // eslint-disable-next-line react-hooks/exhaustive-deps
33
32
  }, [props.onDismiss, setOpen]);
34
33
  const dismissBehaviors = isControlled ? controlledDismissBehaviors : undefined;
35
34
  const directionalHint = props.directionalHint ?? getDirectionalHint(isSubmenu, I18nManager.isRTL);
@@ -4,6 +4,8 @@ import type { MenuTriggerProps } from './MenuTrigger.types';
4
4
  import { menuTriggerName } from './MenuTrigger.types';
5
5
  import { useMenuTrigger } from './useMenuTrigger';
6
6
  import { MenuTriggerProvider } from '../context/menuTriggerContext';
7
+ import type { IViewProps } from '@fluentui-react-native/adapters';
8
+ import { extractProps } from '@fluentui-react-native/framework-base';
7
9
 
8
10
  export const MenuTrigger: React.FunctionComponent<MenuTriggerProps> = (props: MenuTriggerProps) => {
9
11
  if (__DEV__) {
@@ -12,13 +14,14 @@ export const MenuTrigger: React.FunctionComponent<MenuTriggerProps> = (props: Me
12
14
  }
13
15
  }
14
16
 
15
- const menuTrigger = useMenuTrigger(props.children.props);
17
+ const childrenProps = extractProps<IViewProps>(props.children);
18
+ const menuTrigger = useMenuTrigger(childrenProps);
16
19
 
17
20
  // In order to properly support accessibility without erasing props set on the
18
21
  // child component which may affect accessibility, we need to modify the
19
22
  // state in the inner render so we can access the child component and its props.
20
23
  const revised = React.cloneElement(props.children, {
21
- ...(props.children.props.tooltip && { alwaysShowToolTip: true }),
24
+ ...(childrenProps?.tooltip && { alwaysShowToolTip: true }),
22
25
  ...menuTrigger.props,
23
26
  });
24
27
 
@@ -1,6 +1,7 @@
1
1
  import type * as React from 'react';
2
2
 
3
- import type { InteractionEvent, PressablePropsExtended } from '@fluentui-react-native/interactive-hooks';
3
+ import type { MouseEvent } from 'react-native';
4
+ import type { PressablePropsExtended } from '@fluentui-react-native/interactive-hooks';
4
5
 
5
6
  export const menuTriggerName = 'MenuTrigger';
6
7
 
@@ -24,7 +25,7 @@ export interface MenuTriggerChildProps extends Omit<PressablePropsExtended, 'onP
24
25
  /**
25
26
  * A callback to call on button click event
26
27
  */
27
- onClick?: (e: InteractionEvent) => void;
28
+ onClick?: (e: MouseEvent) => void;
28
29
  }
29
30
 
30
31
  export interface MenuTriggerState {
@@ -1,9 +1,7 @@
1
1
  import React from 'react';
2
- import type { AccessibilityActionEvent, AccessibilityActionName } from 'react-native';
2
+ import type { AccessibilityActionEvent, AccessibilityActionName, MouseEvent } from 'react-native';
3
3
  import { Platform } from 'react-native';
4
4
 
5
- import type { InteractionEvent } from '@fluentui-react-native/interactive-hooks';
6
-
7
5
  import type { MenuTriggerChildProps, MenuTriggerState } from './MenuTrigger.types';
8
6
  import { useMergedRefs } from './useMergeRefs';
9
7
  import { hoverDelayDefault } from '../consts';
@@ -31,7 +29,7 @@ export const useMenuTrigger = (childProps: MenuTriggerChildProps): MenuTriggerSt
31
29
  accessibilityActions: childAccessibilityActions,
32
30
  accessibilityState: childAccessibilityState,
33
31
  onAccessibilityAction: childOnAccessibilityAction,
34
- accessibilityPositionInSet: childAccessibilityPositionInSet, // win32
32
+ accessibilityPosInSet: childaccessibilityPosInSet, // win32
35
33
  accessibilitySetSize: childAccessibilitySetSize, // win32
36
34
  onClick: childOnClick,
37
35
  onHoverIn: childOnHoverIn,
@@ -76,7 +74,7 @@ export const useMenuTrigger = (childProps: MenuTriggerChildProps): MenuTriggerSt
76
74
  );
77
75
 
78
76
  const onHoverIn = React.useCallback(
79
- (e: InteractionEvent) => {
77
+ (e: MouseEvent) => {
80
78
  if (openOnHover) {
81
79
  clearTimeout(popoverHoverOutTimer);
82
80
  clearTimeout(triggerHoverOutTimer);
@@ -92,7 +90,7 @@ export const useMenuTrigger = (childProps: MenuTriggerChildProps): MenuTriggerSt
92
90
  );
93
91
 
94
92
  const onHoverOut = React.useCallback(
95
- (e: InteractionEvent) => {
93
+ (e: MouseEvent) => {
96
94
  if (openOnHover) {
97
95
  e.persist();
98
96
  const timer = setTimeout(() => {
@@ -107,7 +105,7 @@ export const useMenuTrigger = (childProps: MenuTriggerChildProps): MenuTriggerSt
107
105
  );
108
106
 
109
107
  const onClick = React.useCallback(
110
- (e: InteractionEvent) => {
108
+ (e: MouseEvent) => {
111
109
  setOpen(e, !open);
112
110
  childOnClick && childOnClick(e);
113
111
  },
@@ -125,7 +123,7 @@ export const useMenuTrigger = (childProps: MenuTriggerChildProps): MenuTriggerSt
125
123
  accessibilityState,
126
124
  accessibilityActions,
127
125
  onAccessibilityAction,
128
- accessibilityPositionInSet: childAccessibilityPositionInSet ?? context.accessibilityPositionInSet, // win32
126
+ accessibilityPosInSet: childaccessibilityPosInSet ?? context.accessibilityPosInSet, // win32
129
127
  accessibilitySetSize: childAccessibilitySetSize ?? context.accessibilitySetSize, // win32
130
128
  },
131
129
  hasSubmenu: context.isSubmenu,
@@ -34,7 +34,6 @@ export function useMergedRefs<T>(...refs: (React.Ref<T> | undefined)[]): RefObje
34
34
  }
35
35
  }
36
36
  },
37
- // eslint-disable-next-line react-hooks/exhaustive-deps -- already exhaustive
38
37
  [...refs],
39
38
  ) as unknown as RefObjectFunction<T>;
40
39