@fluentui-react-native/menu 1.14.42 → 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 (334) hide show
  1. package/CHANGELOG.json +0 -21
  2. package/CHANGELOG.md +71 -1
  3. package/SPEC.md +8 -4
  4. package/lib/Menu/Menu.d.ts +1 -1
  5. package/lib/Menu/Menu.d.ts.map +1 -1
  6. package/lib/Menu/Menu.js +5 -5
  7. package/lib/Menu/Menu.js.map +1 -1
  8. package/lib/Menu/Menu.types.d.ts +0 -1
  9. package/lib/Menu/Menu.types.d.ts.map +1 -1
  10. package/lib/Menu/Menu.types.js +2 -1
  11. package/lib/Menu/Menu.types.js.map +1 -1
  12. package/lib/Menu/renderMenu.android.d.ts +1 -1
  13. package/lib/Menu/renderMenu.android.d.ts.map +1 -1
  14. package/lib/Menu/renderMenu.android.js +7 -7
  15. package/lib/Menu/renderMenu.android.js.map +1 -1
  16. package/lib/Menu/renderMenu.d.ts +1 -1
  17. package/lib/Menu/renderMenu.d.ts.map +1 -1
  18. package/lib/Menu/renderMenu.js +2 -4
  19. package/lib/Menu/renderMenu.js.map +1 -1
  20. package/lib/Menu/useMenu.android.d.ts.map +1 -1
  21. package/lib/Menu/useMenu.android.js +1 -2
  22. package/lib/Menu/useMenu.android.js.map +1 -1
  23. package/lib/Menu/useMenu.d.ts.map +1 -1
  24. package/lib/Menu/useMenu.js +1 -1
  25. package/lib/Menu/useMenu.js.map +1 -1
  26. package/lib/Menu/useMenuContextValue.d.ts.map +1 -1
  27. package/lib/Menu/useMenuContextValue.js.map +1 -1
  28. package/lib/MenuCallout/MenuCallout.android.d.ts +1 -1
  29. package/lib/MenuCallout/MenuCallout.android.d.ts.map +1 -1
  30. package/lib/MenuCallout/MenuCallout.android.js +10 -13
  31. package/lib/MenuCallout/MenuCallout.android.js.map +1 -1
  32. package/lib/MenuCallout/MenuCallout.d.ts +1 -1
  33. package/lib/MenuCallout/MenuCallout.d.ts.map +1 -1
  34. package/lib/MenuCallout/MenuCallout.js +8 -8
  35. package/lib/MenuCallout/MenuCallout.js.map +1 -1
  36. package/lib/MenuCallout/MenuCallout.types.d.ts +1 -1
  37. package/lib/MenuCallout/MenuCallout.types.d.ts.map +1 -1
  38. package/lib/MenuDivider/MenuDivider.d.ts +1 -1
  39. package/lib/MenuDivider/MenuDivider.d.ts.map +1 -1
  40. package/lib/MenuDivider/MenuDivider.js +4 -4
  41. package/lib/MenuDivider/MenuDivider.js.map +1 -1
  42. package/lib/MenuGroup/MenuGroup.d.ts +2 -1
  43. package/lib/MenuGroup/MenuGroup.d.ts.map +1 -1
  44. package/lib/MenuGroup/MenuGroup.js +12 -11
  45. package/lib/MenuGroup/MenuGroup.js.map +1 -1
  46. package/lib/MenuGroupHeader/MenuGroupHeader.d.ts +1 -1
  47. package/lib/MenuGroupHeader/MenuGroupHeader.d.ts.map +1 -1
  48. package/lib/MenuGroupHeader/MenuGroupHeader.js +3 -2
  49. package/lib/MenuGroupHeader/MenuGroupHeader.js.map +1 -1
  50. package/lib/MenuGroupHeader/MenuGroupHeader.styling.js.map +1 -1
  51. package/lib/MenuItem/MenuItem.d.ts +2 -3
  52. package/lib/MenuItem/MenuItem.d.ts.map +1 -1
  53. package/lib/MenuItem/MenuItem.js +3 -8
  54. package/lib/MenuItem/MenuItem.js.map +1 -1
  55. package/lib/MenuItem/MenuItem.styling.js.map +1 -1
  56. package/lib/MenuItem/MenuItemTokens.macos.js +4 -4
  57. package/lib/MenuItem/MenuItemTokens.macos.js.map +1 -1
  58. package/lib/MenuItem/useMenuItem.d.ts.map +1 -1
  59. package/lib/MenuItem/useMenuItem.js.map +1 -1
  60. package/lib/MenuItemCheckbox/MenuItemCheckbox.d.ts +3 -6
  61. package/lib/MenuItemCheckbox/MenuItemCheckbox.d.ts.map +1 -1
  62. package/lib/MenuItemCheckbox/MenuItemCheckbox.js +4 -9
  63. package/lib/MenuItemCheckbox/MenuItemCheckbox.js.map +1 -1
  64. package/lib/MenuItemCheckbox/MenuItemCheckbox.types.d.ts +2 -2
  65. package/lib/MenuItemCheckbox/MenuItemCheckbox.types.d.ts.map +1 -1
  66. package/lib/MenuItemCheckbox/MenuItemCheckboxTokens.macos.js +1 -1
  67. package/lib/MenuItemCheckbox/MenuItemCheckboxTokens.macos.js.map +1 -1
  68. package/lib/MenuItemCheckbox/useMenuItemCheckbox.d.ts.map +1 -1
  69. package/lib/MenuItemCheckbox/useMenuItemCheckbox.js.map +1 -1
  70. package/lib/MenuItemRadio/MenuItemRadio.d.ts +3 -6
  71. package/lib/MenuItemRadio/MenuItemRadio.d.ts.map +1 -1
  72. package/lib/MenuItemRadio/MenuItemRadio.js +4 -9
  73. package/lib/MenuItemRadio/MenuItemRadio.js.map +1 -1
  74. package/lib/MenuItemRadio/MenuItemRadio.types.d.ts +2 -2
  75. package/lib/MenuItemRadio/MenuItemRadio.types.d.ts.map +1 -1
  76. package/lib/MenuItemRadio/MenuItemRadioTokens.macos.js +4 -4
  77. package/lib/MenuItemRadio/MenuItemRadioTokens.macos.js.map +1 -1
  78. package/lib/MenuItemRadio/useMenuItemRadio.d.ts.map +1 -1
  79. package/lib/MenuItemRadio/useMenuItemRadio.js +1 -1
  80. package/lib/MenuItemRadio/useMenuItemRadio.js.map +1 -1
  81. package/lib/MenuList/MenuList.d.ts +1 -1
  82. package/lib/MenuList/MenuList.d.ts.map +1 -1
  83. package/lib/MenuList/MenuList.js +12 -12
  84. package/lib/MenuList/MenuList.js.map +1 -1
  85. package/lib/MenuList/MenuList.types.d.ts +2 -2
  86. package/lib/MenuList/MenuList.types.d.ts.map +1 -1
  87. package/lib/MenuList/MenuListTokens.macos.js +1 -1
  88. package/lib/MenuList/MenuListTokens.macos.js.map +1 -1
  89. package/lib/MenuList/useMenuList.d.ts.map +1 -1
  90. package/lib/MenuList/useMenuList.js +1 -2
  91. package/lib/MenuList/useMenuList.js.map +1 -1
  92. package/lib/MenuList/useMenuListContextValue.d.ts.map +1 -1
  93. package/lib/MenuList/useMenuListContextValue.js.map +1 -1
  94. package/lib/MenuPopover/MenuPopover.d.ts +2 -4
  95. package/lib/MenuPopover/MenuPopover.d.ts.map +1 -1
  96. package/lib/MenuPopover/MenuPopover.js +2 -1
  97. package/lib/MenuPopover/MenuPopover.js.map +1 -1
  98. package/lib/MenuPopover/MenuPopover.types.d.ts +1 -1
  99. package/lib/MenuPopover/MenuPopover.types.d.ts.map +1 -1
  100. package/lib/MenuPopover/MenuPopoverTokens.android.d.ts +2 -4
  101. package/lib/MenuPopover/MenuPopoverTokens.android.d.ts.map +1 -1
  102. package/lib/MenuPopover/MenuPopoverTokens.android.js +2 -2
  103. package/lib/MenuPopover/MenuPopoverTokens.android.js.map +1 -1
  104. package/lib/MenuPopover/MenuPopoverTokens.d.ts +2 -4
  105. package/lib/MenuPopover/MenuPopoverTokens.d.ts.map +1 -1
  106. package/lib/MenuPopover/MenuPopoverTokens.macos.d.ts +2 -4
  107. package/lib/MenuPopover/MenuPopoverTokens.macos.d.ts.map +1 -1
  108. package/lib/MenuPopover/MenuPopoverTokens.macos.js.map +1 -1
  109. package/lib/MenuPopover/useMenuPopover.d.ts +2 -2
  110. package/lib/MenuPopover/useMenuPopover.d.ts.map +1 -1
  111. package/lib/MenuPopover/useMenuPopover.js +1 -2
  112. package/lib/MenuPopover/useMenuPopover.js.map +1 -1
  113. package/lib/MenuTrigger/MenuTrigger.d.ts +4 -1
  114. package/lib/MenuTrigger/MenuTrigger.d.ts.map +1 -1
  115. package/lib/MenuTrigger/MenuTrigger.js +6 -3
  116. package/lib/MenuTrigger/MenuTrigger.js.map +1 -1
  117. package/lib/MenuTrigger/MenuTrigger.types.d.ts +3 -2
  118. package/lib/MenuTrigger/MenuTrigger.types.d.ts.map +1 -1
  119. package/lib/MenuTrigger/MenuTrigger.types.js.map +1 -1
  120. package/lib/MenuTrigger/useMenuTrigger.d.ts.map +1 -1
  121. package/lib/MenuTrigger/useMenuTrigger.js +2 -2
  122. package/lib/MenuTrigger/useMenuTrigger.js.map +1 -1
  123. package/lib/MenuTrigger/useMergeRefs.d.ts.map +1 -1
  124. package/lib/MenuTrigger/useMergeRefs.js +1 -3
  125. package/lib/MenuTrigger/useMergeRefs.js.map +1 -1
  126. package/lib/__tests__/Menu.test.js +104 -104
  127. package/lib/__tests__/Menu.test.js.map +1 -1
  128. package/lib/context/menuContext.d.ts +0 -1
  129. package/lib/context/menuContext.d.ts.map +1 -1
  130. package/lib-commonjs/Menu/Menu.d.ts +1 -1
  131. package/lib-commonjs/Menu/Menu.d.ts.map +1 -1
  132. package/lib-commonjs/Menu/Menu.js +5 -5
  133. package/lib-commonjs/Menu/Menu.js.map +1 -1
  134. package/lib-commonjs/Menu/Menu.types.d.ts +0 -1
  135. package/lib-commonjs/Menu/Menu.types.d.ts.map +1 -1
  136. package/lib-commonjs/Menu/Menu.types.js +1 -1
  137. package/lib-commonjs/Menu/Menu.types.js.map +1 -1
  138. package/lib-commonjs/Menu/index.js +4 -4
  139. package/lib-commonjs/Menu/index.js.map +1 -1
  140. package/lib-commonjs/Menu/renderMenu.android.d.ts +1 -1
  141. package/lib-commonjs/Menu/renderMenu.android.d.ts.map +1 -1
  142. package/lib-commonjs/Menu/renderMenu.android.js +7 -10
  143. package/lib-commonjs/Menu/renderMenu.android.js.map +1 -1
  144. package/lib-commonjs/Menu/renderMenu.d.ts +1 -1
  145. package/lib-commonjs/Menu/renderMenu.d.ts.map +1 -1
  146. package/lib-commonjs/Menu/renderMenu.js +2 -7
  147. package/lib-commonjs/Menu/renderMenu.js.map +1 -1
  148. package/lib-commonjs/Menu/useMenu.android.d.ts.map +1 -1
  149. package/lib-commonjs/Menu/useMenu.android.js +18 -9
  150. package/lib-commonjs/Menu/useMenu.android.js.map +1 -1
  151. package/lib-commonjs/Menu/useMenu.d.ts.map +1 -1
  152. package/lib-commonjs/Menu/useMenu.js +1 -1
  153. package/lib-commonjs/Menu/useMenu.js.map +1 -1
  154. package/lib-commonjs/Menu/useMenuContextValue.d.ts.map +1 -1
  155. package/lib-commonjs/Menu/useMenuContextValue.js.map +1 -1
  156. package/lib-commonjs/MenuCallout/MenuCallout.android.d.ts +1 -1
  157. package/lib-commonjs/MenuCallout/MenuCallout.android.d.ts.map +1 -1
  158. package/lib-commonjs/MenuCallout/MenuCallout.android.js +10 -16
  159. package/lib-commonjs/MenuCallout/MenuCallout.android.js.map +1 -1
  160. package/lib-commonjs/MenuCallout/MenuCallout.d.ts +1 -1
  161. package/lib-commonjs/MenuCallout/MenuCallout.d.ts.map +1 -1
  162. package/lib-commonjs/MenuCallout/MenuCallout.js +8 -11
  163. package/lib-commonjs/MenuCallout/MenuCallout.js.map +1 -1
  164. package/lib-commonjs/MenuCallout/MenuCallout.types.d.ts +1 -1
  165. package/lib-commonjs/MenuCallout/MenuCallout.types.d.ts.map +1 -1
  166. package/lib-commonjs/MenuCallout/index.js +2 -2
  167. package/lib-commonjs/MenuCallout/index.js.map +1 -1
  168. package/lib-commonjs/MenuDivider/MenuDivider.d.ts.map +1 -1
  169. package/lib-commonjs/MenuDivider/MenuDivider.js +3 -3
  170. package/lib-commonjs/MenuDivider/MenuDivider.js.map +1 -1
  171. package/lib-commonjs/MenuDivider/MenuDividerTokens.android.js.map +1 -1
  172. package/lib-commonjs/MenuDivider/MenuDividerTokens.js.map +1 -1
  173. package/lib-commonjs/MenuDivider/MenuDividerTokens.macos.js.map +1 -1
  174. package/lib-commonjs/MenuDivider/MenuDividerTokens.win32.js.map +1 -1
  175. package/lib-commonjs/MenuDivider/index.js +2 -2
  176. package/lib-commonjs/MenuDivider/index.js.map +1 -1
  177. package/lib-commonjs/MenuGroup/MenuGroup.d.ts +2 -1
  178. package/lib-commonjs/MenuGroup/MenuGroup.d.ts.map +1 -1
  179. package/lib-commonjs/MenuGroup/MenuGroup.js +11 -10
  180. package/lib-commonjs/MenuGroup/MenuGroup.js.map +1 -1
  181. package/lib-commonjs/MenuGroup/index.js +2 -2
  182. package/lib-commonjs/MenuGroup/index.js.map +1 -1
  183. package/lib-commonjs/MenuGroupHeader/MenuGroupHeader.d.ts.map +1 -1
  184. package/lib-commonjs/MenuGroupHeader/MenuGroupHeader.js +2 -1
  185. package/lib-commonjs/MenuGroupHeader/MenuGroupHeader.js.map +1 -1
  186. package/lib-commonjs/MenuGroupHeader/MenuGroupHeader.styling.js.map +1 -1
  187. package/lib-commonjs/MenuGroupHeader/MenuGroupHeaderTokens.js.map +1 -1
  188. package/lib-commonjs/MenuGroupHeader/MenuGroupHeaderTokens.macos.js.map +1 -1
  189. package/lib-commonjs/MenuGroupHeader/index.js +2 -2
  190. package/lib-commonjs/MenuGroupHeader/index.js.map +1 -1
  191. package/lib-commonjs/MenuItem/MenuItem.d.ts +1 -2
  192. package/lib-commonjs/MenuItem/MenuItem.d.ts.map +1 -1
  193. package/lib-commonjs/MenuItem/MenuItem.js +2 -7
  194. package/lib-commonjs/MenuItem/MenuItem.js.map +1 -1
  195. package/lib-commonjs/MenuItem/MenuItem.styling.js.map +1 -1
  196. package/lib-commonjs/MenuItem/MenuItemTokens.android.js.map +1 -1
  197. package/lib-commonjs/MenuItem/MenuItemTokens.js.map +1 -1
  198. package/lib-commonjs/MenuItem/MenuItemTokens.macos.js +4 -4
  199. package/lib-commonjs/MenuItem/MenuItemTokens.macos.js.map +1 -1
  200. package/lib-commonjs/MenuItem/MenuItemTokens.win32.js.map +1 -1
  201. package/lib-commonjs/MenuItem/index.js +3 -3
  202. package/lib-commonjs/MenuItem/index.js.map +1 -1
  203. package/lib-commonjs/MenuItem/useMenuItem.d.ts.map +1 -1
  204. package/lib-commonjs/MenuItem/useMenuItem.js +17 -7
  205. package/lib-commonjs/MenuItem/useMenuItem.js.map +1 -1
  206. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.d.ts +2 -5
  207. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.d.ts.map +1 -1
  208. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.js +3 -8
  209. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.js.map +1 -1
  210. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.styling.js.map +1 -1
  211. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.types.d.ts +2 -2
  212. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.types.d.ts.map +1 -1
  213. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckboxTokens.android.js.map +1 -1
  214. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckboxTokens.js.map +1 -1
  215. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckboxTokens.macos.js +1 -1
  216. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckboxTokens.macos.js.map +1 -1
  217. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckboxTokens.win32.js.map +1 -1
  218. package/lib-commonjs/MenuItemCheckbox/index.js +3 -3
  219. package/lib-commonjs/MenuItemCheckbox/index.js.map +1 -1
  220. package/lib-commonjs/MenuItemCheckbox/useMenuItemCheckbox.d.ts.map +1 -1
  221. package/lib-commonjs/MenuItemCheckbox/useMenuItemCheckbox.js +17 -7
  222. package/lib-commonjs/MenuItemCheckbox/useMenuItemCheckbox.js.map +1 -1
  223. package/lib-commonjs/MenuItemRadio/MenuItemRadio.d.ts +2 -5
  224. package/lib-commonjs/MenuItemRadio/MenuItemRadio.d.ts.map +1 -1
  225. package/lib-commonjs/MenuItemRadio/MenuItemRadio.js +3 -8
  226. package/lib-commonjs/MenuItemRadio/MenuItemRadio.js.map +1 -1
  227. package/lib-commonjs/MenuItemRadio/MenuItemRadio.styling.android.js.map +1 -1
  228. package/lib-commonjs/MenuItemRadio/MenuItemRadio.styling.js.map +1 -1
  229. package/lib-commonjs/MenuItemRadio/MenuItemRadio.types.d.ts +2 -2
  230. package/lib-commonjs/MenuItemRadio/MenuItemRadio.types.d.ts.map +1 -1
  231. package/lib-commonjs/MenuItemRadio/MenuItemRadioTokens.android.js.map +1 -1
  232. package/lib-commonjs/MenuItemRadio/MenuItemRadioTokens.js.map +1 -1
  233. package/lib-commonjs/MenuItemRadio/MenuItemRadioTokens.macos.js +4 -4
  234. package/lib-commonjs/MenuItemRadio/MenuItemRadioTokens.macos.js.map +1 -1
  235. package/lib-commonjs/MenuItemRadio/index.js +3 -3
  236. package/lib-commonjs/MenuItemRadio/index.js.map +1 -1
  237. package/lib-commonjs/MenuItemRadio/useMenuItemRadio.d.ts.map +1 -1
  238. package/lib-commonjs/MenuItemRadio/useMenuItemRadio.js +18 -8
  239. package/lib-commonjs/MenuItemRadio/useMenuItemRadio.js.map +1 -1
  240. package/lib-commonjs/MenuList/MenuList.d.ts.map +1 -1
  241. package/lib-commonjs/MenuList/MenuList.js +11 -11
  242. package/lib-commonjs/MenuList/MenuList.js.map +1 -1
  243. package/lib-commonjs/MenuList/MenuList.styling.js.map +1 -1
  244. package/lib-commonjs/MenuList/MenuList.types.d.ts +2 -2
  245. package/lib-commonjs/MenuList/MenuList.types.d.ts.map +1 -1
  246. package/lib-commonjs/MenuList/MenuListTokens.android.js.map +1 -1
  247. package/lib-commonjs/MenuList/MenuListTokens.js.map +1 -1
  248. package/lib-commonjs/MenuList/MenuListTokens.macos.js +1 -1
  249. package/lib-commonjs/MenuList/MenuListTokens.macos.js.map +1 -1
  250. package/lib-commonjs/MenuList/MenuListTokens.win32.js.map +1 -1
  251. package/lib-commonjs/MenuList/index.js +4 -4
  252. package/lib-commonjs/MenuList/index.js.map +1 -1
  253. package/lib-commonjs/MenuList/useMenuList.d.ts.map +1 -1
  254. package/lib-commonjs/MenuList/useMenuList.js +1 -2
  255. package/lib-commonjs/MenuList/useMenuList.js.map +1 -1
  256. package/lib-commonjs/MenuList/useMenuListContextValue.d.ts.map +1 -1
  257. package/lib-commonjs/MenuList/useMenuListContextValue.js.map +1 -1
  258. package/lib-commonjs/MenuPopover/MenuPopover.d.ts +2 -4
  259. package/lib-commonjs/MenuPopover/MenuPopover.d.ts.map +1 -1
  260. package/lib-commonjs/MenuPopover/MenuPopover.js +2 -1
  261. package/lib-commonjs/MenuPopover/MenuPopover.js.map +1 -1
  262. package/lib-commonjs/MenuPopover/MenuPopover.types.d.ts +1 -1
  263. package/lib-commonjs/MenuPopover/MenuPopover.types.d.ts.map +1 -1
  264. package/lib-commonjs/MenuPopover/MenuPopoverTokens.android.d.ts +2 -4
  265. package/lib-commonjs/MenuPopover/MenuPopoverTokens.android.d.ts.map +1 -1
  266. package/lib-commonjs/MenuPopover/MenuPopoverTokens.android.js +2 -2
  267. package/lib-commonjs/MenuPopover/MenuPopoverTokens.android.js.map +1 -1
  268. package/lib-commonjs/MenuPopover/MenuPopoverTokens.d.ts +2 -4
  269. package/lib-commonjs/MenuPopover/MenuPopoverTokens.d.ts.map +1 -1
  270. package/lib-commonjs/MenuPopover/MenuPopoverTokens.macos.d.ts +2 -4
  271. package/lib-commonjs/MenuPopover/MenuPopoverTokens.macos.d.ts.map +1 -1
  272. package/lib-commonjs/MenuPopover/MenuPopoverTokens.macos.js.map +1 -1
  273. package/lib-commonjs/MenuPopover/index.js +3 -3
  274. package/lib-commonjs/MenuPopover/index.js.map +1 -1
  275. package/lib-commonjs/MenuPopover/useMenuPopover.d.ts +2 -2
  276. package/lib-commonjs/MenuPopover/useMenuPopover.d.ts.map +1 -1
  277. package/lib-commonjs/MenuPopover/useMenuPopover.js +1 -2
  278. package/lib-commonjs/MenuPopover/useMenuPopover.js.map +1 -1
  279. package/lib-commonjs/MenuTrigger/MenuTrigger.d.ts +4 -1
  280. package/lib-commonjs/MenuTrigger/MenuTrigger.d.ts.map +1 -1
  281. package/lib-commonjs/MenuTrigger/MenuTrigger.js +23 -10
  282. package/lib-commonjs/MenuTrigger/MenuTrigger.js.map +1 -1
  283. package/lib-commonjs/MenuTrigger/MenuTrigger.types.d.ts +3 -2
  284. package/lib-commonjs/MenuTrigger/MenuTrigger.types.d.ts.map +1 -1
  285. package/lib-commonjs/MenuTrigger/MenuTrigger.types.js.map +1 -1
  286. package/lib-commonjs/MenuTrigger/index.js +3 -3
  287. package/lib-commonjs/MenuTrigger/index.js.map +1 -1
  288. package/lib-commonjs/MenuTrigger/useMenuTrigger.d.ts.map +1 -1
  289. package/lib-commonjs/MenuTrigger/useMenuTrigger.js +2 -2
  290. package/lib-commonjs/MenuTrigger/useMenuTrigger.js.map +1 -1
  291. package/lib-commonjs/MenuTrigger/useMergeRefs.d.ts.map +1 -1
  292. package/lib-commonjs/MenuTrigger/useMergeRefs.js +19 -12
  293. package/lib-commonjs/MenuTrigger/useMergeRefs.js.map +1 -1
  294. package/lib-commonjs/__tests__/Menu.test.js +121 -111
  295. package/lib-commonjs/__tests__/Menu.test.js.map +1 -1
  296. package/lib-commonjs/context/index.js +3 -3
  297. package/lib-commonjs/context/index.js.map +1 -1
  298. package/lib-commonjs/context/menuContext.d.ts +0 -1
  299. package/lib-commonjs/context/menuContext.d.ts.map +1 -1
  300. package/lib-commonjs/context/menuContext.js +17 -7
  301. package/lib-commonjs/context/menuContext.js.map +1 -1
  302. package/lib-commonjs/context/menuListContext.js +17 -7
  303. package/lib-commonjs/context/menuListContext.js.map +1 -1
  304. package/lib-commonjs/context/menuTriggerContext.js.map +1 -1
  305. package/lib-commonjs/index.js +12 -12
  306. package/lib-commonjs/index.js.map +1 -1
  307. package/package.json +75 -72
  308. package/src/Menu/Menu.tsx +5 -5
  309. package/src/Menu/useMenu.android.ts +2 -2
  310. package/src/Menu/useMenu.ts +2 -1
  311. package/src/MenuCallout/MenuCallout.android.tsx +8 -9
  312. package/src/MenuCallout/MenuCallout.tsx +6 -8
  313. package/src/MenuCallout/MenuCallout.types.ts +12 -13
  314. package/src/MenuDivider/MenuDivider.tsx +2 -3
  315. package/src/MenuGroup/MenuGroup.tsx +9 -7
  316. package/src/MenuGroupHeader/MenuGroupHeader.tsx +2 -3
  317. package/src/MenuItem/MenuItem.tsx +2 -3
  318. package/src/MenuItemCheckbox/MenuItemCheckbox.tsx +5 -6
  319. package/src/MenuItemCheckbox/MenuItemCheckbox.types.ts +6 -4
  320. package/src/MenuItemRadio/MenuItemRadio.tsx +5 -6
  321. package/src/MenuItemRadio/MenuItemRadio.types.ts +6 -4
  322. package/src/MenuItemRadio/useMenuItemRadio.ts +1 -1
  323. package/src/MenuList/MenuList.tsx +8 -6
  324. package/src/MenuList/MenuList.types.ts +2 -2
  325. package/src/MenuList/useMenuList.ts +3 -3
  326. package/src/MenuPopover/MenuPopover.types.ts +12 -13
  327. package/src/MenuPopover/MenuPopoverTokens.macos.ts +2 -2
  328. package/src/MenuPopover/useMenuPopover.ts +1 -2
  329. package/src/MenuTrigger/MenuTrigger.tsx +5 -2
  330. package/src/MenuTrigger/MenuTrigger.types.ts +3 -2
  331. package/src/MenuTrigger/useMenuTrigger.ts +6 -8
  332. package/src/MenuTrigger/useMergeRefs.ts +0 -1
  333. package/src/__tests__/Menu.test.tsx +81 -42
  334. package/src/__tests__/__snapshots__/Menu.test.tsx.snap +106 -0
@@ -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';
@@ -11,8 +11,10 @@ import type { MenuItemProps, MenuItemTokens } from '../MenuItem/MenuItem.types';
11
11
 
12
12
  export const menuItemCheckboxName = 'MenuItemCheckbox';
13
13
 
14
- export interface MenuItemCheckboxTokens
15
- extends Omit<MenuItemTokens, 'submenuIndicatorPadding' | 'submenuIndicatorSize' | 'disabled' | 'focused' | 'hovered' | 'pressed'> {
14
+ export interface MenuItemCheckboxTokens extends Omit<
15
+ MenuItemTokens,
16
+ 'submenuIndicatorPadding' | 'submenuIndicatorSize' | 'disabled' | 'focused' | 'hovered' | 'pressed'
17
+ > {
16
18
  /**
17
19
  * Color of the checkmark icon
18
20
  */
@@ -54,7 +56,7 @@ export interface MenuItemCheckboxTokens
54
56
  * Border radius of the box containing the checkmark.
55
57
  * @platform android
56
58
  */
57
- checkboxBorderRadius?: number;
59
+ checkboxBorderRadius?: AnimatableNumericValue | string;
58
60
 
59
61
  /**
60
62
  * 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';
@@ -11,8 +11,10 @@ import type { MenuItemProps, MenuItemTokens } from '../MenuItem/MenuItem.types';
11
11
 
12
12
  export const menuItemRadioName = 'MenuItemRadio';
13
13
 
14
- export interface MenuItemRadioTokens
15
- extends Omit<MenuItemTokens, 'submenuIndicatorPadding' | 'submenuIndicatorSize' | 'disabled' | 'focused' | 'hovered' | 'pressed'> {
14
+ export interface MenuItemRadioTokens extends Omit<
15
+ MenuItemTokens,
16
+ 'submenuIndicatorPadding' | 'submenuIndicatorSize' | 'disabled' | 'focused' | 'hovered' | 'pressed'
17
+ > {
16
18
  /**
17
19
  * Color of the checkmark icon
18
20
  */
@@ -62,7 +64,7 @@ export interface MenuItemRadioTokens
62
64
  * Border radius of the box containing the radio.
63
65
  * @platform android
64
66
  */
65
- radioBorderRadius?: number;
67
+ radioBorderRadius?: AnimatableNumericValue | string;
66
68
 
67
69
  /**
68
70
  * 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
  };
@@ -7,20 +7,19 @@ export const menuPopoverName = 'MenuPopover';
7
7
 
8
8
  // Support for anchorRect and beakWidth will come at a later time.
9
9
  // Omitting dismissBehaviors as it doesn't seem to make sense as a token
10
- export type MenuPopoverTokens =
11
- | Omit<ICalloutTokens, 'anchorRect' | 'beakWidth' | 'dismissBehaviors'> & {
12
- /**
13
- * The props for the corner radius for the Modal MenuPopover
14
- * @platform android macos
15
- */
16
- borderRadius?: AnimatableNumericValue;
10
+ export type MenuPopoverTokens = Omit<ICalloutTokens, 'anchorRect' | 'beakWidth' | 'dismissBehaviors'> & {
11
+ /**
12
+ * The props for the corner radius for the Modal MenuPopover
13
+ * @platform android macos
14
+ */
15
+ borderRadius?: AnimatableNumericValue | string;
17
16
 
18
- /**
19
- * Shadown elevation for the Modal MenuPopover
20
- * @platform android
21
- */
22
- elevation?: number;
23
- };
17
+ /**
18
+ * Shadown elevation for the Modal MenuPopover
19
+ * @platform android
20
+ */
21
+ elevation?: number;
22
+ };
24
23
 
25
24
  export type MenuPopoverProps = ICalloutProps;
26
25
 
@@ -12,8 +12,8 @@ export const useMenuPopoverTokens = buildUseTokens<MenuPopoverTokens>(
12
12
  borderColor: isHighContrast()
13
13
  ? t.colors.neutralStroke1
14
14
  : getCurrentAppearance(t.host.appearance, 'light') === 'dark'
15
- ? t.colors.neutralStroke3
16
- : t.colors.transparentStroke,
15
+ ? t.colors.neutralStroke3
16
+ : t.colors.transparentStroke,
17
17
  }),
18
18
  menuPopoverName,
19
19
  );
@@ -28,8 +28,7 @@ export const useMenuPopover = (props: MenuPopoverProps): MenuPopoverState => {
28
28
 
29
29
  const onDismiss = React.useCallback(() => {
30
30
  props.onDismiss?.();
31
- setOpen(undefined, false /* isOpen */), [setOpen];
32
- // eslint-disable-next-line react-hooks/exhaustive-deps
31
+ (setOpen(undefined, false /* isOpen */), [setOpen]);
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
 
@@ -1,7 +1,6 @@
1
- import * as React from 'react';
2
-
3
1
  import { ButtonV1 as Button } from '@fluentui-react-native/button';
4
2
  import * as renderer from 'react-test-renderer';
3
+ import { act } from 'react';
5
4
 
6
5
  import { Menu } from '../Menu/Menu';
7
6
  import { MenuDivider } from '../MenuDivider/MenuDivider';
@@ -16,8 +15,9 @@ import MenuTrigger from '../MenuTrigger/MenuTrigger';
16
15
 
17
16
  describe('Menu component tests', () => {
18
17
  it('Menu default', () => {
19
- const tree = renderer
20
- .create(
18
+ let component: renderer.ReactTestRenderer;
19
+ act(() => {
20
+ component = renderer.create(
21
21
  <Menu>
22
22
  <MenuTrigger>
23
23
  <Button>Default</Button>
@@ -28,14 +28,16 @@ describe('Menu component tests', () => {
28
28
  </MenuList>
29
29
  </MenuPopover>
30
30
  </Menu>,
31
- )
32
- .toJSON();
31
+ );
32
+ });
33
+ const tree = component!.toJSON();
33
34
  expect(tree).toMatchSnapshot();
34
35
  });
35
36
 
36
37
  it('Menu open', () => {
37
- const tree = renderer
38
- .create(
38
+ let component: renderer.ReactTestRenderer;
39
+ act(() => {
40
+ component = renderer.create(
39
41
  <Menu open>
40
42
  <MenuTrigger>
41
43
  <Button>Open</Button>
@@ -46,14 +48,36 @@ describe('Menu component tests', () => {
46
48
  </MenuList>
47
49
  </MenuPopover>
48
50
  </Menu>,
49
- )
50
- .toJSON();
51
+ );
52
+ });
53
+ const tree = component!.toJSON();
51
54
  expect(tree).toMatchSnapshot();
52
55
  });
53
56
 
54
57
  it('Menu defaultOpen', () => {
55
- const tree = renderer
56
- .create(
58
+ let component: renderer.ReactTestRenderer;
59
+ act(() => {
60
+ component = renderer.create(
61
+ <Menu defaultOpen>
62
+ <MenuTrigger>
63
+ <Button>Open</Button>
64
+ </MenuTrigger>
65
+ <MenuPopover>
66
+ <MenuList>
67
+ <MenuItem>Option 1</MenuItem>
68
+ </MenuList>
69
+ </MenuPopover>
70
+ </Menu>,
71
+ );
72
+ });
73
+ const tree = component!.toJSON();
74
+ expect(tree).toMatchSnapshot();
75
+ });
76
+
77
+ it('Menu defaultOpen with disabled', () => {
78
+ let component: renderer.ReactTestRenderer;
79
+ act(() => {
80
+ component = renderer.create(
57
81
  <Menu defaultOpen>
58
82
  <MenuTrigger>
59
83
  <Button>Open</Button>
@@ -65,14 +89,16 @@ describe('Menu component tests', () => {
65
89
  </MenuList>
66
90
  </MenuPopover>
67
91
  </Menu>,
68
- )
69
- .toJSON();
92
+ );
93
+ });
94
+ const tree = component!.toJSON();
70
95
  expect(tree).toMatchSnapshot();
71
96
  });
72
97
 
73
98
  it('Menu open checkbox and divider', () => {
74
- const tree = renderer
75
- .create(
99
+ let component: renderer.ReactTestRenderer;
100
+ act(() => {
101
+ component = renderer.create(
76
102
  <Menu open>
77
103
  <MenuTrigger>
78
104
  <Button>Open</Button>
@@ -87,14 +113,16 @@ describe('Menu component tests', () => {
87
113
  </MenuList>
88
114
  </MenuPopover>
89
115
  </Menu>,
90
- )
91
- .toJSON();
116
+ );
117
+ });
118
+ const tree = component!.toJSON();
92
119
  expect(tree).toMatchSnapshot();
93
120
  });
94
121
 
95
122
  it('Menu open radio', () => {
96
- const tree = renderer
97
- .create(
123
+ let component: renderer.ReactTestRenderer;
124
+ act(() => {
125
+ component = renderer.create(
98
126
  <Menu open>
99
127
  <MenuTrigger>
100
128
  <Button>Open</Button>
@@ -106,14 +134,16 @@ describe('Menu component tests', () => {
106
134
  </MenuList>
107
135
  </MenuPopover>
108
136
  </Menu>,
109
- )
110
- .toJSON();
137
+ );
138
+ });
139
+ const tree = component!.toJSON();
111
140
  expect(tree).toMatchSnapshot();
112
141
  });
113
142
 
114
143
  it('Menu open checkbox defaultChecked', () => {
115
- const tree = renderer
116
- .create(
144
+ let component: renderer.ReactTestRenderer;
145
+ act(() => {
146
+ component = renderer.create(
117
147
  <Menu open defaultChecked={['Option 1']}>
118
148
  <MenuTrigger>
119
149
  <Button>Open</Button>
@@ -126,14 +156,16 @@ describe('Menu component tests', () => {
126
156
  </MenuList>
127
157
  </MenuPopover>
128
158
  </Menu>,
129
- )
130
- .toJSON();
159
+ );
160
+ });
161
+ const tree = component!.toJSON();
131
162
  expect(tree).toMatchSnapshot();
132
163
  });
133
164
 
134
165
  it('Menu open checkbox checked', () => {
135
- const tree = renderer
136
- .create(
166
+ let component: renderer.ReactTestRenderer;
167
+ act(() => {
168
+ component = renderer.create(
137
169
  <Menu open checked={['Option 1']}>
138
170
  <MenuTrigger>
139
171
  <Button>Open</Button>
@@ -146,14 +178,16 @@ describe('Menu component tests', () => {
146
178
  </MenuList>
147
179
  </MenuPopover>
148
180
  </Menu>,
149
- )
150
- .toJSON();
181
+ );
182
+ });
183
+ const tree = component!.toJSON();
151
184
  expect(tree).toMatchSnapshot();
152
185
  });
153
186
 
154
187
  it('Menu submenu', () => {
155
- const tree = renderer
156
- .create(
188
+ let component: renderer.ReactTestRenderer;
189
+ act(() => {
190
+ component = renderer.create(
157
191
  <Menu open>
158
192
  <MenuTrigger>
159
193
  <Button>Default</Button>
@@ -174,16 +208,18 @@ describe('Menu component tests', () => {
174
208
  </MenuList>
175
209
  </MenuPopover>
176
210
  </Menu>,
177
- )
178
- .toJSON();
211
+ );
212
+ });
213
+ const tree = component!.toJSON();
179
214
  expect(tree).toMatchSnapshot();
180
215
  });
181
216
 
182
217
  // Note the capital T the "Tip" (in the snapshot)
183
218
  // It is intentional as it matches the same prop in NetUI
184
219
  it('Menu alwaysShowToolTip', () => {
185
- const tree = renderer
186
- .create(
220
+ let component: renderer.ReactTestRenderer;
221
+ act(() => {
222
+ component = renderer.create(
187
223
  <Menu>
188
224
  <MenuTrigger>
189
225
  <Button tooltip="A Tooltip">Button</Button>
@@ -201,15 +237,17 @@ describe('Menu component tests', () => {
201
237
  </MenuList>
202
238
  </MenuPopover>
203
239
  </Menu>,
204
- )
205
- .toJSON();
240
+ );
241
+ });
242
+ const tree = component!.toJSON();
206
243
  expect(tree).toMatchSnapshot();
207
244
  });
208
245
  });
209
246
 
210
247
  it('Menu open menu group and menu header', () => {
211
- const tree = renderer
212
- .create(
248
+ let component: renderer.ReactTestRenderer;
249
+ act(() => {
250
+ component = renderer.create(
213
251
  <Menu open>
214
252
  <MenuTrigger>
215
253
  <Button>Open</Button>
@@ -228,7 +266,8 @@ it('Menu open menu group and menu header', () => {
228
266
  </MenuList>
229
267
  </MenuPopover>
230
268
  </Menu>,
231
- )
232
- .toJSON();
269
+ );
270
+ });
271
+ const tree = component!.toJSON();
233
272
  expect(tree).toMatchSnapshot();
234
273
  });