@fluentui/react-menu 0.0.0-nightlyd3bf09bf8120211201.1 → 0.0.0-nightlyd45ba4664620220211.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (363) hide show
  1. package/CHANGELOG.json +244 -29
  2. package/CHANGELOG.md +53 -16
  3. package/Spec.md +21 -16
  4. package/dist/react-menu.d.ts +111 -68
  5. package/lib/MenuSplitGroup.d.ts +1 -0
  6. package/lib/MenuSplitGroup.js +2 -0
  7. package/lib/MenuSplitGroup.js.map +1 -0
  8. package/lib/components/Menu/Menu.js +6 -6
  9. package/lib/components/Menu/Menu.js.map +1 -1
  10. package/lib/components/Menu/Menu.types.d.ts +1 -1
  11. package/lib/components/Menu/renderMenu.d.ts +1 -1
  12. package/lib/components/Menu/renderMenu.js +1 -1
  13. package/lib/components/Menu/renderMenu.js.map +1 -1
  14. package/lib/components/Menu/useMenu.d.ts +2 -2
  15. package/lib/components/Menu/useMenu.js +33 -25
  16. package/lib/components/Menu/useMenu.js.map +1 -1
  17. package/lib/components/Menu/useMenuContextValues.d.ts +1 -1
  18. package/lib/components/Menu/useMenuContextValues.js +1 -1
  19. package/lib/components/Menu/useMenuContextValues.js.map +1 -1
  20. package/lib/components/MenuDivider/MenuDivider.d.ts +1 -1
  21. package/lib/components/MenuDivider/MenuDivider.js +7 -7
  22. package/lib/components/MenuDivider/MenuDivider.js.map +1 -1
  23. package/lib/components/MenuDivider/MenuDivider.types.d.ts +2 -2
  24. package/lib/components/MenuDivider/renderMenuDivider.d.ts +1 -1
  25. package/lib/components/MenuDivider/renderMenuDivider.js +3 -2
  26. package/lib/components/MenuDivider/renderMenuDivider.js.map +1 -1
  27. package/lib/components/MenuDivider/useMenuDivider.d.ts +1 -1
  28. package/lib/components/MenuDivider/useMenuDivider.js +4 -1
  29. package/lib/components/MenuDivider/useMenuDivider.js.map +1 -1
  30. package/lib/components/MenuDivider/useMenuDividerStyles.d.ts +1 -1
  31. package/lib/components/MenuDivider/useMenuDividerStyles.js +3 -2
  32. package/lib/components/MenuDivider/useMenuDividerStyles.js.map +1 -1
  33. package/lib/components/MenuGroup/MenuGroup.d.ts +1 -1
  34. package/lib/components/MenuGroup/MenuGroup.js +9 -9
  35. package/lib/components/MenuGroup/MenuGroup.js.map +1 -1
  36. package/lib/components/MenuGroup/MenuGroup.types.d.ts +3 -3
  37. package/lib/components/MenuGroup/renderMenuGroup.d.ts +1 -1
  38. package/lib/components/MenuGroup/renderMenuGroup.js +3 -2
  39. package/lib/components/MenuGroup/renderMenuGroup.js.map +1 -1
  40. package/lib/components/MenuGroup/useMenuGroup.d.ts +1 -1
  41. package/lib/components/MenuGroup/useMenuGroup.js +4 -1
  42. package/lib/components/MenuGroup/useMenuGroup.js.map +1 -1
  43. package/lib/components/MenuGroup/useMenuGroupContextValues.d.ts +1 -1
  44. package/lib/components/MenuGroup/useMenuGroupContextValues.js +1 -1
  45. package/lib/components/MenuGroup/useMenuGroupContextValues.js.map +1 -1
  46. package/lib/components/MenuGroup/useMenuGroupStyles.d.ts +1 -1
  47. package/lib/components/MenuGroup/useMenuGroupStyles.js +2 -2
  48. package/lib/components/MenuGroup/useMenuGroupStyles.js.map +1 -1
  49. package/lib/components/MenuGroupHeader/MenuGroupHeader.d.ts +1 -1
  50. package/lib/components/MenuGroupHeader/MenuGroupHeader.js +7 -7
  51. package/lib/components/MenuGroupHeader/MenuGroupHeader.js.map +1 -1
  52. package/lib/components/MenuGroupHeader/MenuGroupHeader.types.d.ts +2 -2
  53. package/lib/components/MenuGroupHeader/renderMenuGroupHeader.d.ts +1 -1
  54. package/lib/components/MenuGroupHeader/renderMenuGroupHeader.js +3 -2
  55. package/lib/components/MenuGroupHeader/renderMenuGroupHeader.js.map +1 -1
  56. package/lib/components/MenuGroupHeader/useMenuGroupHeader.d.ts +1 -1
  57. package/lib/components/MenuGroupHeader/useMenuGroupHeader.js +6 -3
  58. package/lib/components/MenuGroupHeader/useMenuGroupHeader.js.map +1 -1
  59. package/lib/components/MenuGroupHeader/useMenuGroupHeaderStyles.d.ts +1 -1
  60. package/lib/components/MenuGroupHeader/useMenuGroupHeaderStyles.js +3 -2
  61. package/lib/components/MenuGroupHeader/useMenuGroupHeaderStyles.js.map +1 -1
  62. package/lib/components/MenuItem/MenuItem.d.ts +1 -1
  63. package/lib/components/MenuItem/MenuItem.js +7 -9
  64. package/lib/components/MenuItem/MenuItem.js.map +1 -1
  65. package/lib/components/MenuItem/MenuItem.types.d.ts +7 -7
  66. package/lib/components/MenuItem/renderMenuItem.d.ts +1 -1
  67. package/lib/components/MenuItem/renderMenuItem.js +9 -4
  68. package/lib/components/MenuItem/renderMenuItem.js.map +1 -1
  69. package/lib/components/MenuItem/useCharacterSearch.js +2 -2
  70. package/lib/components/MenuItem/useCharacterSearch.js.map +1 -1
  71. package/lib/components/MenuItem/useMenuItem.d.ts +2 -6
  72. package/lib/components/MenuItem/useMenuItem.js +11 -16
  73. package/lib/components/MenuItem/useMenuItem.js.map +1 -1
  74. package/lib/components/MenuItem/useMenuItemStyles.d.ts +1 -1
  75. package/lib/components/MenuItem/useMenuItemStyles.js +21 -22
  76. package/lib/components/MenuItem/useMenuItemStyles.js.map +1 -1
  77. package/lib/components/MenuItemCheckbox/MenuItemCheckbox.d.ts +1 -1
  78. package/lib/components/MenuItemCheckbox/MenuItemCheckbox.js +7 -7
  79. package/lib/components/MenuItemCheckbox/MenuItemCheckbox.js.map +1 -1
  80. package/lib/components/MenuItemCheckbox/renderMenuItemCheckbox.d.ts +1 -1
  81. package/lib/components/MenuItemCheckbox/renderMenuItemCheckbox.js +8 -4
  82. package/lib/components/MenuItemCheckbox/renderMenuItemCheckbox.js.map +1 -1
  83. package/lib/components/MenuItemCheckbox/useMenuItemCheckbox.d.ts +1 -1
  84. package/lib/components/MenuItemCheckbox/useMenuItemCheckbox.js +6 -6
  85. package/lib/components/MenuItemCheckbox/useMenuItemCheckbox.js.map +1 -1
  86. package/lib/components/MenuItemCheckbox/useMenuItemCheckboxStyles.d.ts +1 -1
  87. package/lib/components/MenuItemCheckbox/useMenuItemCheckboxStyles.js +6 -6
  88. package/lib/components/MenuItemCheckbox/useMenuItemCheckboxStyles.js.map +1 -1
  89. package/lib/components/MenuItemRadio/MenuItemRadio.d.ts +1 -1
  90. package/lib/components/MenuItemRadio/MenuItemRadio.js +7 -7
  91. package/lib/components/MenuItemRadio/MenuItemRadio.js.map +1 -1
  92. package/lib/components/MenuItemRadio/renderMenuItemRadio.d.ts +1 -1
  93. package/lib/components/MenuItemRadio/renderMenuItemRadio.js +8 -4
  94. package/lib/components/MenuItemRadio/renderMenuItemRadio.js.map +1 -1
  95. package/lib/components/MenuItemRadio/useMenuItemRadio.d.ts +1 -1
  96. package/lib/components/MenuItemRadio/useMenuItemRadio.js +6 -6
  97. package/lib/components/MenuItemRadio/useMenuItemRadio.js.map +1 -1
  98. package/lib/components/MenuItemRadio/useMenuItemRadioStyles.d.ts +1 -1
  99. package/lib/components/MenuItemRadio/useMenuItemRadioStyles.js +6 -6
  100. package/lib/components/MenuItemRadio/useMenuItemRadioStyles.js.map +1 -1
  101. package/lib/components/MenuList/MenuList.d.ts +1 -1
  102. package/lib/components/MenuList/MenuList.js +9 -9
  103. package/lib/components/MenuList/MenuList.js.map +1 -1
  104. package/lib/components/MenuList/MenuList.types.d.ts +4 -4
  105. package/lib/components/MenuList/index.d.ts +1 -1
  106. package/lib/components/MenuList/index.js +0 -1
  107. package/lib/components/MenuList/index.js.map +1 -1
  108. package/lib/components/MenuList/renderMenuList.d.ts +1 -1
  109. package/lib/components/MenuList/renderMenuList.js +3 -2
  110. package/lib/components/MenuList/renderMenuList.js.map +1 -1
  111. package/lib/components/MenuList/useMenuList.d.ts +1 -1
  112. package/lib/components/MenuList/useMenuList.js +11 -8
  113. package/lib/components/MenuList/useMenuList.js.map +1 -1
  114. package/lib/components/MenuList/useMenuListContextValues.d.ts +1 -1
  115. package/lib/components/MenuList/useMenuListContextValues.js +1 -1
  116. package/lib/components/MenuList/useMenuListContextValues.js.map +1 -1
  117. package/lib/components/MenuList/useMenuListStyles.d.ts +1 -1
  118. package/lib/components/MenuList/useMenuListStyles.js +2 -2
  119. package/lib/components/MenuList/useMenuListStyles.js.map +1 -1
  120. package/lib/components/MenuPopover/MenuPopover.js +6 -6
  121. package/lib/components/MenuPopover/MenuPopover.js.map +1 -1
  122. package/lib/components/MenuPopover/MenuPopover.types.d.ts +2 -2
  123. package/lib/components/MenuPopover/renderMenuPopover.d.ts +1 -1
  124. package/lib/components/MenuPopover/renderMenuPopover.js +5 -3
  125. package/lib/components/MenuPopover/renderMenuPopover.js.map +1 -1
  126. package/lib/components/MenuPopover/useMenuPopover.d.ts +3 -3
  127. package/lib/components/MenuPopover/useMenuPopover.js +11 -8
  128. package/lib/components/MenuPopover/useMenuPopover.js.map +1 -1
  129. package/lib/components/MenuPopover/useMenuPopoverStyles.d.ts +1 -1
  130. package/lib/components/MenuPopover/useMenuPopoverStyles.js +3 -2
  131. package/lib/components/MenuPopover/useMenuPopoverStyles.js.map +1 -1
  132. package/lib/components/MenuSplitGroup/MenuSplitGroup.d.ts +6 -0
  133. package/lib/components/MenuSplitGroup/MenuSplitGroup.js +15 -0
  134. package/lib/components/MenuSplitGroup/MenuSplitGroup.js.map +1 -0
  135. package/lib/components/MenuSplitGroup/MenuSplitGroup.types.d.ts +14 -0
  136. package/lib/components/MenuSplitGroup/MenuSplitGroup.types.js +2 -0
  137. package/lib/components/MenuSplitGroup/MenuSplitGroup.types.js.map +1 -0
  138. package/lib/components/MenuSplitGroup/index.d.ts +5 -0
  139. package/lib/components/MenuSplitGroup/index.js +6 -0
  140. package/lib/components/MenuSplitGroup/index.js.map +1 -0
  141. package/lib/components/MenuSplitGroup/renderMenuSplitGroup.d.ts +5 -0
  142. package/lib/components/MenuSplitGroup/renderMenuSplitGroup.js +15 -0
  143. package/lib/components/MenuSplitGroup/renderMenuSplitGroup.js.map +1 -0
  144. package/lib/components/MenuSplitGroup/useMenuSplitGroup.d.ts +12 -0
  145. package/lib/components/MenuSplitGroup/useMenuSplitGroup.js +67 -0
  146. package/lib/components/MenuSplitGroup/useMenuSplitGroup.js.map +1 -0
  147. package/lib/components/MenuSplitGroup/useMenuSplitGroupStyles.d.ts +6 -0
  148. package/lib/components/MenuSplitGroup/useMenuSplitGroupStyles.js +35 -0
  149. package/lib/components/MenuSplitGroup/useMenuSplitGroupStyles.js.map +1 -0
  150. package/lib/components/MenuTrigger/MenuTrigger.d.ts +2 -1
  151. package/lib/components/MenuTrigger/MenuTrigger.js +5 -4
  152. package/lib/components/MenuTrigger/MenuTrigger.js.map +1 -1
  153. package/lib/components/MenuTrigger/MenuTrigger.types.d.ts +6 -3
  154. package/lib/components/MenuTrigger/renderMenuTrigger.d.ts +1 -1
  155. package/lib/components/MenuTrigger/renderMenuTrigger.js +1 -1
  156. package/lib/components/MenuTrigger/renderMenuTrigger.js.map +1 -1
  157. package/lib/components/MenuTrigger/useMenuTrigger.d.ts +2 -2
  158. package/lib/components/MenuTrigger/useMenuTrigger.js +167 -5
  159. package/lib/components/MenuTrigger/useMenuTrigger.js.map +1 -1
  160. package/lib/contexts/menuContext.d.ts +1 -1
  161. package/lib/contexts/menuContext.js +1 -1
  162. package/lib/contexts/menuContext.js.map +1 -1
  163. package/lib/contexts/menuGroupContext.d.ts +1 -1
  164. package/lib/contexts/menuGroupContext.js +1 -1
  165. package/lib/contexts/menuGroupContext.js.map +1 -1
  166. package/lib/contexts/menuListContext.d.ts +1 -1
  167. package/lib/contexts/menuListContext.js +1 -1
  168. package/lib/contexts/menuListContext.js.map +1 -1
  169. package/lib/contexts/menuTriggerContext.d.ts +1 -1
  170. package/lib/contexts/menuTriggerContext.js +1 -1
  171. package/lib/contexts/menuTriggerContext.js.map +1 -1
  172. package/lib/index.d.ts +11 -10
  173. package/lib/index.js +11 -10
  174. package/lib/index.js.map +1 -1
  175. package/lib/selectable/useCheckmarkStyles.d.ts +2 -2
  176. package/lib/selectable/useCheckmarkStyles.js +2 -2
  177. package/lib/selectable/useCheckmarkStyles.js.map +1 -1
  178. package/lib/utils/useIsSubmenu.js +2 -2
  179. package/lib/utils/useIsSubmenu.js.map +1 -1
  180. package/lib/utils/useOnMenuEnter.js.map +1 -1
  181. package/lib-commonjs/MenuSplitGroup.d.ts +1 -0
  182. package/lib-commonjs/MenuSplitGroup.js +10 -0
  183. package/lib-commonjs/MenuSplitGroup.js.map +1 -0
  184. package/lib-commonjs/components/Menu/Menu.js +3 -3
  185. package/lib-commonjs/components/Menu/Menu.js.map +1 -1
  186. package/lib-commonjs/components/Menu/Menu.types.d.ts +1 -1
  187. package/lib-commonjs/components/Menu/renderMenu.d.ts +1 -1
  188. package/lib-commonjs/components/Menu/renderMenu.js +3 -3
  189. package/lib-commonjs/components/Menu/renderMenu.js.map +1 -1
  190. package/lib-commonjs/components/Menu/useMenu.d.ts +2 -2
  191. package/lib-commonjs/components/Menu/useMenu.js +38 -31
  192. package/lib-commonjs/components/Menu/useMenu.js.map +1 -1
  193. package/lib-commonjs/components/Menu/useMenuContextValues.d.ts +1 -1
  194. package/lib-commonjs/components/Menu/useMenuContextValues.js +3 -3
  195. package/lib-commonjs/components/Menu/useMenuContextValues.js.map +1 -1
  196. package/lib-commonjs/components/MenuDivider/MenuDivider.d.ts +1 -1
  197. package/lib-commonjs/components/MenuDivider/MenuDivider.js +4 -4
  198. package/lib-commonjs/components/MenuDivider/MenuDivider.js.map +1 -1
  199. package/lib-commonjs/components/MenuDivider/MenuDivider.types.d.ts +2 -2
  200. package/lib-commonjs/components/MenuDivider/renderMenuDivider.d.ts +1 -1
  201. package/lib-commonjs/components/MenuDivider/renderMenuDivider.js +5 -4
  202. package/lib-commonjs/components/MenuDivider/renderMenuDivider.js.map +1 -1
  203. package/lib-commonjs/components/MenuDivider/useMenuDivider.d.ts +1 -1
  204. package/lib-commonjs/components/MenuDivider/useMenuDivider.js +6 -3
  205. package/lib-commonjs/components/MenuDivider/useMenuDivider.js.map +1 -1
  206. package/lib-commonjs/components/MenuDivider/useMenuDividerStyles.d.ts +1 -1
  207. package/lib-commonjs/components/MenuDivider/useMenuDividerStyles.js +8 -6
  208. package/lib-commonjs/components/MenuDivider/useMenuDividerStyles.js.map +1 -1
  209. package/lib-commonjs/components/MenuGroup/MenuGroup.d.ts +1 -1
  210. package/lib-commonjs/components/MenuGroup/MenuGroup.js +5 -5
  211. package/lib-commonjs/components/MenuGroup/MenuGroup.js.map +1 -1
  212. package/lib-commonjs/components/MenuGroup/MenuGroup.types.d.ts +3 -3
  213. package/lib-commonjs/components/MenuGroup/renderMenuGroup.d.ts +1 -1
  214. package/lib-commonjs/components/MenuGroup/renderMenuGroup.js +5 -4
  215. package/lib-commonjs/components/MenuGroup/renderMenuGroup.js.map +1 -1
  216. package/lib-commonjs/components/MenuGroup/useMenuGroup.d.ts +1 -1
  217. package/lib-commonjs/components/MenuGroup/useMenuGroup.js +6 -3
  218. package/lib-commonjs/components/MenuGroup/useMenuGroup.js.map +1 -1
  219. package/lib-commonjs/components/MenuGroup/useMenuGroupContextValues.d.ts +1 -1
  220. package/lib-commonjs/components/MenuGroup/useMenuGroupContextValues.js +3 -3
  221. package/lib-commonjs/components/MenuGroup/useMenuGroupContextValues.js.map +1 -1
  222. package/lib-commonjs/components/MenuGroup/useMenuGroupStyles.d.ts +1 -1
  223. package/lib-commonjs/components/MenuGroup/useMenuGroupStyles.js +5 -5
  224. package/lib-commonjs/components/MenuGroup/useMenuGroupStyles.js.map +1 -1
  225. package/lib-commonjs/components/MenuGroupHeader/MenuGroupHeader.d.ts +1 -1
  226. package/lib-commonjs/components/MenuGroupHeader/MenuGroupHeader.js +4 -4
  227. package/lib-commonjs/components/MenuGroupHeader/MenuGroupHeader.js.map +1 -1
  228. package/lib-commonjs/components/MenuGroupHeader/MenuGroupHeader.types.d.ts +2 -2
  229. package/lib-commonjs/components/MenuGroupHeader/renderMenuGroupHeader.d.ts +1 -1
  230. package/lib-commonjs/components/MenuGroupHeader/renderMenuGroupHeader.js +5 -4
  231. package/lib-commonjs/components/MenuGroupHeader/renderMenuGroupHeader.js.map +1 -1
  232. package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeader.d.ts +1 -1
  233. package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeader.js +7 -4
  234. package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeader.js.map +1 -1
  235. package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeaderStyles.d.ts +1 -1
  236. package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeaderStyles.js +8 -6
  237. package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeaderStyles.js.map +1 -1
  238. package/lib-commonjs/components/MenuItem/MenuItem.d.ts +1 -1
  239. package/lib-commonjs/components/MenuItem/MenuItem.js +4 -7
  240. package/lib-commonjs/components/MenuItem/MenuItem.js.map +1 -1
  241. package/lib-commonjs/components/MenuItem/MenuItem.types.d.ts +7 -7
  242. package/lib-commonjs/components/MenuItem/renderMenuItem.d.ts +1 -1
  243. package/lib-commonjs/components/MenuItem/renderMenuItem.js +11 -7
  244. package/lib-commonjs/components/MenuItem/renderMenuItem.js.map +1 -1
  245. package/lib-commonjs/components/MenuItem/useCharacterSearch.js +1 -1
  246. package/lib-commonjs/components/MenuItem/useCharacterSearch.js.map +1 -1
  247. package/lib-commonjs/components/MenuItem/useMenuItem.d.ts +2 -6
  248. package/lib-commonjs/components/MenuItem/useMenuItem.js +11 -16
  249. package/lib-commonjs/components/MenuItem/useMenuItem.js.map +1 -1
  250. package/lib-commonjs/components/MenuItem/useMenuItemStyles.d.ts +1 -1
  251. package/lib-commonjs/components/MenuItem/useMenuItemStyles.js +30 -29
  252. package/lib-commonjs/components/MenuItem/useMenuItemStyles.js.map +1 -1
  253. package/lib-commonjs/components/MenuItemCheckbox/MenuItemCheckbox.d.ts +1 -1
  254. package/lib-commonjs/components/MenuItemCheckbox/MenuItemCheckbox.js +4 -4
  255. package/lib-commonjs/components/MenuItemCheckbox/MenuItemCheckbox.js.map +1 -1
  256. package/lib-commonjs/components/MenuItemCheckbox/renderMenuItemCheckbox.d.ts +1 -1
  257. package/lib-commonjs/components/MenuItemCheckbox/renderMenuItemCheckbox.js +10 -7
  258. package/lib-commonjs/components/MenuItemCheckbox/renderMenuItemCheckbox.js.map +1 -1
  259. package/lib-commonjs/components/MenuItemCheckbox/useMenuItemCheckbox.d.ts +1 -1
  260. package/lib-commonjs/components/MenuItemCheckbox/useMenuItemCheckbox.js +6 -6
  261. package/lib-commonjs/components/MenuItemCheckbox/useMenuItemCheckbox.js.map +1 -1
  262. package/lib-commonjs/components/MenuItemCheckbox/useMenuItemCheckboxStyles.d.ts +1 -1
  263. package/lib-commonjs/components/MenuItemCheckbox/useMenuItemCheckboxStyles.js +7 -7
  264. package/lib-commonjs/components/MenuItemCheckbox/useMenuItemCheckboxStyles.js.map +1 -1
  265. package/lib-commonjs/components/MenuItemRadio/MenuItemRadio.d.ts +1 -1
  266. package/lib-commonjs/components/MenuItemRadio/MenuItemRadio.js +4 -4
  267. package/lib-commonjs/components/MenuItemRadio/MenuItemRadio.js.map +1 -1
  268. package/lib-commonjs/components/MenuItemRadio/renderMenuItemRadio.d.ts +1 -1
  269. package/lib-commonjs/components/MenuItemRadio/renderMenuItemRadio.js +10 -7
  270. package/lib-commonjs/components/MenuItemRadio/renderMenuItemRadio.js.map +1 -1
  271. package/lib-commonjs/components/MenuItemRadio/useMenuItemRadio.d.ts +1 -1
  272. package/lib-commonjs/components/MenuItemRadio/useMenuItemRadio.js +6 -6
  273. package/lib-commonjs/components/MenuItemRadio/useMenuItemRadio.js.map +1 -1
  274. package/lib-commonjs/components/MenuItemRadio/useMenuItemRadioStyles.d.ts +1 -1
  275. package/lib-commonjs/components/MenuItemRadio/useMenuItemRadioStyles.js +7 -7
  276. package/lib-commonjs/components/MenuItemRadio/useMenuItemRadioStyles.js.map +1 -1
  277. package/lib-commonjs/components/MenuList/MenuList.d.ts +1 -1
  278. package/lib-commonjs/components/MenuList/MenuList.js +5 -5
  279. package/lib-commonjs/components/MenuList/MenuList.js.map +1 -1
  280. package/lib-commonjs/components/MenuList/MenuList.types.d.ts +4 -4
  281. package/lib-commonjs/components/MenuList/index.d.ts +1 -1
  282. package/lib-commonjs/components/MenuList/index.js +0 -2
  283. package/lib-commonjs/components/MenuList/index.js.map +1 -1
  284. package/lib-commonjs/components/MenuList/renderMenuList.d.ts +1 -1
  285. package/lib-commonjs/components/MenuList/renderMenuList.js +5 -4
  286. package/lib-commonjs/components/MenuList/renderMenuList.js.map +1 -1
  287. package/lib-commonjs/components/MenuList/useMenuList.d.ts +1 -1
  288. package/lib-commonjs/components/MenuList/useMenuList.js +12 -9
  289. package/lib-commonjs/components/MenuList/useMenuList.js.map +1 -1
  290. package/lib-commonjs/components/MenuList/useMenuListContextValues.d.ts +1 -1
  291. package/lib-commonjs/components/MenuList/useMenuListContextValues.js +3 -3
  292. package/lib-commonjs/components/MenuList/useMenuListContextValues.js.map +1 -1
  293. package/lib-commonjs/components/MenuList/useMenuListStyles.d.ts +1 -1
  294. package/lib-commonjs/components/MenuList/useMenuListStyles.js +6 -6
  295. package/lib-commonjs/components/MenuList/useMenuListStyles.js.map +1 -1
  296. package/lib-commonjs/components/MenuPopover/MenuPopover.js +3 -3
  297. package/lib-commonjs/components/MenuPopover/MenuPopover.js.map +1 -1
  298. package/lib-commonjs/components/MenuPopover/MenuPopover.types.d.ts +2 -2
  299. package/lib-commonjs/components/MenuPopover/renderMenuPopover.d.ts +1 -1
  300. package/lib-commonjs/components/MenuPopover/renderMenuPopover.js +7 -5
  301. package/lib-commonjs/components/MenuPopover/renderMenuPopover.js.map +1 -1
  302. package/lib-commonjs/components/MenuPopover/useMenuPopover.d.ts +3 -3
  303. package/lib-commonjs/components/MenuPopover/useMenuPopover.js +12 -9
  304. package/lib-commonjs/components/MenuPopover/useMenuPopover.js.map +1 -1
  305. package/lib-commonjs/components/MenuPopover/useMenuPopoverStyles.d.ts +1 -1
  306. package/lib-commonjs/components/MenuPopover/useMenuPopoverStyles.js +8 -6
  307. package/lib-commonjs/components/MenuPopover/useMenuPopoverStyles.js.map +1 -1
  308. package/lib-commonjs/components/MenuSplitGroup/MenuSplitGroup.d.ts +6 -0
  309. package/lib-commonjs/components/MenuSplitGroup/MenuSplitGroup.js +26 -0
  310. package/lib-commonjs/components/MenuSplitGroup/MenuSplitGroup.js.map +1 -0
  311. package/lib-commonjs/components/MenuSplitGroup/MenuSplitGroup.types.d.ts +14 -0
  312. package/lib-commonjs/components/MenuSplitGroup/MenuSplitGroup.types.js +6 -0
  313. package/lib-commonjs/components/MenuSplitGroup/MenuSplitGroup.types.js.map +1 -0
  314. package/lib-commonjs/components/MenuSplitGroup/index.d.ts +5 -0
  315. package/lib-commonjs/components/MenuSplitGroup/index.js +18 -0
  316. package/lib-commonjs/components/MenuSplitGroup/index.js.map +1 -0
  317. package/lib-commonjs/components/MenuSplitGroup/renderMenuSplitGroup.d.ts +5 -0
  318. package/lib-commonjs/components/MenuSplitGroup/renderMenuSplitGroup.js +26 -0
  319. package/lib-commonjs/components/MenuSplitGroup/renderMenuSplitGroup.js.map +1 -0
  320. package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroup.d.ts +12 -0
  321. package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroup.js +81 -0
  322. package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroup.js.map +1 -0
  323. package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroupStyles.d.ts +6 -0
  324. package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroupStyles.js +47 -0
  325. package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroupStyles.js.map +1 -0
  326. package/lib-commonjs/components/MenuTrigger/MenuTrigger.d.ts +2 -1
  327. package/lib-commonjs/components/MenuTrigger/MenuTrigger.js +3 -2
  328. package/lib-commonjs/components/MenuTrigger/MenuTrigger.js.map +1 -1
  329. package/lib-commonjs/components/MenuTrigger/MenuTrigger.types.d.ts +6 -3
  330. package/lib-commonjs/components/MenuTrigger/renderMenuTrigger.d.ts +1 -1
  331. package/lib-commonjs/components/MenuTrigger/renderMenuTrigger.js +3 -3
  332. package/lib-commonjs/components/MenuTrigger/renderMenuTrigger.js.map +1 -1
  333. package/lib-commonjs/components/MenuTrigger/useMenuTrigger.d.ts +2 -2
  334. package/lib-commonjs/components/MenuTrigger/useMenuTrigger.js +176 -7
  335. package/lib-commonjs/components/MenuTrigger/useMenuTrigger.js.map +1 -1
  336. package/lib-commonjs/contexts/menuContext.d.ts +1 -1
  337. package/lib-commonjs/contexts/menuContext.js +3 -3
  338. package/lib-commonjs/contexts/menuContext.js.map +1 -1
  339. package/lib-commonjs/contexts/menuGroupContext.d.ts +1 -1
  340. package/lib-commonjs/contexts/menuGroupContext.js +3 -3
  341. package/lib-commonjs/contexts/menuGroupContext.js.map +1 -1
  342. package/lib-commonjs/contexts/menuListContext.d.ts +1 -1
  343. package/lib-commonjs/contexts/menuListContext.js +3 -3
  344. package/lib-commonjs/contexts/menuListContext.js.map +1 -1
  345. package/lib-commonjs/contexts/menuTriggerContext.d.ts +1 -1
  346. package/lib-commonjs/contexts/menuTriggerContext.js +3 -3
  347. package/lib-commonjs/contexts/menuTriggerContext.js.map +1 -1
  348. package/lib-commonjs/index.d.ts +11 -10
  349. package/lib-commonjs/index.js +16 -14
  350. package/lib-commonjs/index.js.map +1 -1
  351. package/lib-commonjs/selectable/useCheckmarkStyles.d.ts +2 -2
  352. package/lib-commonjs/selectable/useCheckmarkStyles.js +6 -6
  353. package/lib-commonjs/selectable/useCheckmarkStyles.js.map +1 -1
  354. package/lib-commonjs/utils/useIsSubmenu.js +1 -1
  355. package/lib-commonjs/utils/useIsSubmenu.js.map +1 -1
  356. package/lib-commonjs/utils/useOnMenuEnter.js.map +1 -1
  357. package/package.json +13 -15
  358. package/lib/components/MenuTrigger/useTriggerElement.d.ts +0 -5
  359. package/lib/components/MenuTrigger/useTriggerElement.js +0 -165
  360. package/lib/components/MenuTrigger/useTriggerElement.js.map +0 -1
  361. package/lib-commonjs/components/MenuTrigger/useTriggerElement.d.ts +0 -5
  362. package/lib-commonjs/components/MenuTrigger/useTriggerElement.js +0 -180
  363. package/lib-commonjs/components/MenuTrigger/useTriggerElement.js.map +0 -1
@@ -2,10 +2,11 @@ import { ComponentProps } from '@fluentui/react-utilities';
2
2
  import { ComponentState } from '@fluentui/react-utilities';
3
3
  import type { Context } from '@fluentui/react-context-selector';
4
4
  import type { ContextSelector } from '@fluentui/react-context-selector';
5
+ import type { FluentTriggerComponent } from '@fluentui/react-utilities';
5
6
  import type { ForwardRefComponent } from '@fluentui/react-utilities';
6
- import { IntrinsicShorthandProps } from '@fluentui/react-utilities';
7
7
  import { PositioningShorthand } from '@fluentui/react-positioning';
8
8
  import * as React_2 from 'react';
9
+ import type { Slot } from '@fluentui/react-utilities';
9
10
  import { usePopperMouseTarget } from '@fluentui/react-positioning';
10
11
 
11
12
  /**
@@ -73,7 +74,7 @@ export declare type MenuContextValues = {
73
74
  };
74
75
 
75
76
  /**
76
- * Define a styled MenuDivider, using the `useMenuDivider` hook.
77
+ * Define a styled MenuDivider, using the `useMenuDivider_unstable` hook.
77
78
  */
78
79
  export declare const MenuDivider: ForwardRefComponent<MenuDividerProps>;
79
80
 
@@ -82,13 +83,13 @@ export declare const menuDividerClassName = "fui-MenuDivider";
82
83
  export declare type MenuDividerProps = ComponentProps<MenuDividerSlots>;
83
84
 
84
85
  export declare type MenuDividerSlots = {
85
- root: IntrinsicShorthandProps<'div'>;
86
+ root: Slot<'div'>;
86
87
  };
87
88
 
88
89
  export declare type MenuDividerState = ComponentState<MenuDividerSlots>;
89
90
 
90
91
  /**
91
- * Define a styled MenuGroup, using the `useMenuGroup` hook.
92
+ * Define a styled MenuGroup, using the `useMenuGroup_unstable` hook.
92
93
  */
93
94
  export declare const MenuGroup: ForwardRefComponent<MenuGroupProps>;
94
95
 
@@ -112,7 +113,7 @@ export declare type MenuGroupContextValues = {
112
113
  };
113
114
 
114
115
  /**
115
- * Define a styled MenuGroupHeader, using the `useMenuGroupHeader` hook.
116
+ * Define a styled MenuGroupHeader, using the `useMenuGroupHeader_unstable` hook.
116
117
  */
117
118
  export declare const MenuGroupHeader: ForwardRefComponent<MenuGroupHeaderProps>;
118
119
 
@@ -121,7 +122,7 @@ export declare const menuGroupHeaderClassName = "fui-MenuGroupHeader";
121
122
  export declare type MenuGroupHeaderProps = ComponentProps<MenuGroupHeaderSlots>;
122
123
 
123
124
  export declare type MenuGroupHeaderSlots = {
124
- root: IntrinsicShorthandProps<'div'>;
125
+ root: Slot<'div'>;
125
126
  };
126
127
 
127
128
  export declare type MenuGroupHeaderState = ComponentState<MenuGroupHeaderSlots>;
@@ -129,7 +130,7 @@ export declare type MenuGroupHeaderState = ComponentState<MenuGroupHeaderSlots>;
129
130
  export declare type MenuGroupProps = ComponentProps<MenuGroupSlots>;
130
131
 
131
132
  export declare type MenuGroupSlots = {
132
- root: IntrinsicShorthandProps<'div'>;
133
+ root: Slot<'div'>;
133
134
  };
134
135
 
135
136
  export declare type MenuGroupState = ComponentState<MenuGroupSlots> & {
@@ -140,12 +141,12 @@ export declare type MenuGroupState = ComponentState<MenuGroupSlots> & {
140
141
  };
141
142
 
142
143
  /**
143
- * Define a styled MenuItem, using the `useMenuItem` and `useMenuItemStyles` hook.
144
+ * Define a styled MenuItem, using the `useMenuItem_unstable` and `useMenuItemStyles_unstable` hook.
144
145
  */
145
146
  export declare const MenuItem: ForwardRefComponent<MenuItemProps>;
146
147
 
147
148
  /**
148
- * Define a styled MenuItemCheckbox, using the `useMenuItemCheckbox` hook.
149
+ * Define a styled MenuItemCheckbox, using the `useMenuItemCheckbox_unstable` hook.
149
150
  */
150
151
  export declare const MenuItemCheckbox: ForwardRefComponent<MenuItemCheckboxProps>;
151
152
 
@@ -175,7 +176,7 @@ declare type MenuItemCommons = {
175
176
  export declare type MenuItemProps = ComponentProps<Partial<MenuItemSlots>> & MenuItemCommons;
176
177
 
177
178
  /**
178
- * Define a styled MenuItemRadio, using the `useMenuItemRadio` hook.
179
+ * Define a styled MenuItemRadio, using the `useMenuItemRadio_unstable` hook.
179
180
  */
180
181
  export declare const MenuItemRadio: ForwardRefComponent<MenuItemRadioProps>;
181
182
 
@@ -220,46 +221,41 @@ export declare type MenuItemSelectableState = MenuItemSelectableProps & {
220
221
  };
221
222
 
222
223
  export declare type MenuItemSlots = {
223
- root: IntrinsicShorthandProps<'div'>;
224
+ root: Slot<'div'>;
224
225
  /**
225
226
  * Icon slot rendered before children content
226
227
  */
227
- icon?: IntrinsicShorthandProps<'span'>;
228
+ icon?: Slot<'span'>;
228
229
  /**
229
230
  * A helper slot for alignment when a menu item is used with selectable menuitems
230
231
  * Avoid using this slot as a replacement for MenuItemCheckbox and MenuItemRadio components
231
232
  */
232
- checkmark?: IntrinsicShorthandProps<'span'>;
233
+ checkmark?: Slot<'span'>;
233
234
  /**
234
235
  * Icon slot that shows the indicator for a submenu
235
236
  */
236
- submenuIndicator?: IntrinsicShorthandProps<'span'>;
237
+ submenuIndicator?: Slot<'span'>;
237
238
  /**
238
239
  * Component children are placed in this slot
239
240
  * Avoid using the `children` property in this slot in favour of Component children whenever possible
240
241
  */
241
- content: IntrinsicShorthandProps<'span'>;
242
+ content?: Slot<'span'>;
242
243
  /**
243
244
  * Secondary content rendered opposite the primary content (e.g Shortcut text)
244
245
  */
245
- secondaryContent?: IntrinsicShorthandProps<'span'>;
246
+ secondaryContent?: Slot<'span'>;
246
247
  };
247
248
 
248
- /**
249
- * Consts listing which props are shorthand props.
250
- */
251
- export declare const menuItemSlots: Array<keyof MenuItemSlots>;
252
-
253
249
  export declare type MenuItemState = ComponentState<MenuItemSlots> & MenuItemCommons;
254
250
 
255
251
  /**
256
- * Define a styled MenuList, using the `useMenuList` hook.
252
+ * Define a styled MenuList, using the `useMenuList_unstable` hook.
257
253
  */
258
254
  export declare const MenuList: ForwardRefComponent<MenuListProps>;
259
255
 
260
256
  export declare const menuListClassName = "fui-MenuList";
261
257
 
262
- export declare type MenuListCommons = {
258
+ declare type MenuListCommons = {
263
259
  /**
264
260
  * Callback when checked items change for value with a name
265
261
  *
@@ -305,7 +301,7 @@ export declare type MenuListProps = ComponentProps<MenuListSlots> & Partial<Menu
305
301
  export declare const MenuListProvider: React_2.Provider<MenuListContextValue> & React_2.FC<React_2.ProviderProps<MenuListContextValue>>;
306
302
 
307
303
  export declare type MenuListSlots = {
308
- root: IntrinsicShorthandProps<'div'>;
304
+ root: Slot<'div'>;
309
305
  };
310
306
 
311
307
  export declare type MenuListState = ComponentState<MenuListSlots> & MenuListCommons & {
@@ -353,7 +349,7 @@ export declare const menuPopoverClassName = "fui-MenuPopover";
353
349
  export declare type MenuPopoverProps = ComponentProps<MenuPopoverSlots>;
354
350
 
355
351
  export declare type MenuPopoverSlots = {
356
- root: IntrinsicShorthandProps<'div'>;
352
+ root: Slot<'div'>;
357
353
  };
358
354
 
359
355
  /**
@@ -386,6 +382,29 @@ export declare const MenuProvider: React_2.Provider<MenuContextValue> & React_2.
386
382
 
387
383
  export declare type MenuSlots = {};
388
384
 
385
+ /**
386
+ * Layout wrapper that provides extra keyboard navigation behavior for two `MenuItem` components.
387
+ */
388
+ export declare const MenuSplitGroup: ForwardRefComponent<MenuSplitGroupProps>;
389
+
390
+ export declare const menuSplitGroupClassName = "fui-MenuSplitGroup";
391
+
392
+ declare type MenuSplitGroupCommons = {};
393
+
394
+ /**
395
+ * MenuSplitGroup Props
396
+ */
397
+ export declare type MenuSplitGroupProps = ComponentProps<MenuSplitGroupSlots> & MenuSplitGroupCommons;
398
+
399
+ export declare type MenuSplitGroupSlots = {
400
+ root: Slot<'div'>;
401
+ };
402
+
403
+ /**
404
+ * State used in rendering MenuSplitGroup
405
+ */
406
+ export declare type MenuSplitGroupState = ComponentState<MenuSplitGroupSlots> & MenuSplitGroupCommons;
407
+
389
408
  export declare type MenuState = MenuCommons & ComponentState<MenuSlots> & {
390
409
  /**
391
410
  * Callback to open/close the popup
@@ -429,13 +448,14 @@ export declare type MenuState = MenuCommons & ComponentState<MenuSlots> & {
429
448
  * Wraps a trigger element as an only child
430
449
  * and adds the necessary event handling to open a popup menu
431
450
  */
432
- export declare const MenuTrigger: React_2.FC<MenuTriggerProps>;
451
+ export declare const MenuTrigger: React_2.FC<MenuTriggerProps> & FluentTriggerComponent;
433
452
 
434
453
  /**
435
454
  * Props that are passed to the child of the MenuTrigger when cloned to ensure correct behaviour for the Menu
436
455
  */
437
- export declare type MenuTriggerChildProps = Required<Pick<React_2.HTMLAttributes<HTMLElement>, 'onClick' | 'onMouseEnter' | 'onMouseLeave' | 'onContextMenu' | 'onKeyDown' | 'aria-haspopup' | 'aria-expanded' | 'id'>> & {
456
+ export declare type MenuTriggerChildProps = Required<Pick<React_2.HTMLAttributes<HTMLElement>, 'onClick' | 'onMouseEnter' | 'onMouseLeave' | 'onMouseMove' | 'onContextMenu' | 'onKeyDown' | 'aria-haspopup' | 'id'>> & {
438
457
  ref?: React_2.Ref<never>;
458
+ 'aria-expanded': boolean | undefined;
439
459
  };
440
460
 
441
461
  export declare const MenuTriggerContextProvider: React_2.Provider<boolean>;
@@ -446,64 +466,71 @@ export declare type MenuTriggerProps = {
446
466
  */
447
467
  children: (React_2.ReactElement & {
448
468
  ref?: React_2.Ref<unknown>;
449
- }) | ((props: MenuTriggerChildProps) => React_2.ReactNode);
469
+ }) | ((props: MenuTriggerChildProps) => React_2.ReactElement | null);
450
470
  };
451
471
 
452
- export declare type MenuTriggerState = MenuTriggerProps;
472
+ export declare type MenuTriggerState = {
473
+ children: React_2.ReactElement | null;
474
+ };
453
475
 
454
476
  /**
455
477
  * Render the final JSX of Menu
456
478
  */
457
- export declare const renderMenu: (state: MenuState, contextValues: MenuContextValues) => JSX.Element;
479
+ export declare const renderMenu_unstable: (state: MenuState, contextValues: MenuContextValues) => JSX.Element;
458
480
 
459
481
  /**
460
482
  * Redefine the render function to add slots. Reuse the menudivider structure but add
461
483
  * slots to children.
462
484
  */
463
- export declare const renderMenuDivider: (state: MenuDividerState) => JSX.Element;
485
+ export declare const renderMenuDivider_unstable: (state: MenuDividerState) => JSX.Element;
464
486
 
465
487
  /**
466
488
  * Redefine the render function to add slots. Reuse the menugroup structure but add
467
489
  * slots to children.
468
490
  */
469
- export declare const renderMenuGroup: (state: MenuGroupState, contextValues: MenuGroupContextValues) => JSX.Element;
491
+ export declare const renderMenuGroup_unstable: (state: MenuGroupState, contextValues: MenuGroupContextValues) => JSX.Element;
470
492
 
471
493
  /**
472
494
  * Redefine the render function to add slots. Reuse the menugroupheader structure but add
473
495
  * slots to children.
474
496
  */
475
- export declare const renderMenuGroupHeader: (state: MenuGroupHeaderState) => JSX.Element;
497
+ export declare const renderMenuGroupHeader_unstable: (state: MenuGroupHeaderState) => JSX.Element;
476
498
 
477
499
  /**
478
500
  * Function that renders the final JSX of the component
479
501
  */
480
- export declare const renderMenuItem: (state: MenuItemState) => JSX.Element;
502
+ export declare const renderMenuItem_unstable: (state: MenuItemState) => JSX.Element;
481
503
 
482
504
  /** Function that renders the final JSX of the component */
483
- export declare const renderMenuItemCheckbox: (state: MenuItemCheckboxState) => JSX.Element;
505
+ export declare const renderMenuItemCheckbox_unstable: (state: MenuItemCheckboxState) => JSX.Element;
484
506
 
485
507
  /**
486
508
  * Redefine the render function to add slots. Reuse the menuitemradio structure but add
487
509
  * slots to children.
488
510
  */
489
- export declare const renderMenuItemRadio: (state: MenuItemRadioState) => JSX.Element;
511
+ export declare const renderMenuItemRadio_unstable: (state: MenuItemRadioState) => JSX.Element;
490
512
 
491
513
  /**
492
514
  * Function that renders the final JSX of the component
493
515
  */
494
- export declare const renderMenuList: (state: MenuListState, contextValues: MenuListContextValues) => JSX.Element;
516
+ export declare const renderMenuList_unstable: (state: MenuListState, contextValues: MenuListContextValues) => JSX.Element;
495
517
 
496
518
  /**
497
519
  * Render the final JSX of MenuPopover
498
520
  */
499
- export declare const renderMenuPopover: (state: MenuPopoverState) => JSX.Element;
521
+ export declare const renderMenuPopover_unstable: (state: MenuPopoverState) => JSX.Element;
522
+
523
+ /**
524
+ * Render the final JSX of MenuSplitGroup
525
+ */
526
+ export declare const renderMenuSplitGroup_unstable: (state: MenuSplitGroupState) => JSX.Element;
500
527
 
501
528
  /**
502
529
  * Render the final JSX of MenuTrigger
503
530
  *
504
531
  * Only renders children
505
532
  */
506
- export declare const renderMenuTrigger: (state: MenuTriggerState) => JSX.Element;
533
+ export declare const renderMenuTrigger_unstable: (state: MenuTriggerState) => JSX.Element;
507
534
 
508
535
  export declare type SelectableHandler = (e: React_2.MouseEvent | React_2.KeyboardEvent, name: string, value: string, checked: boolean) => void;
509
536
 
@@ -514,96 +541,112 @@ export declare type UninitializedMenuListState = Omit<MenuListState, 'setFocusBy
514
541
  *
515
542
  * @param state - should contain a `checkmark` slot
516
543
  */
517
- export declare const useCheckmarkStyles: (state: MenuItemSelectableState & Pick<MenuItemSlots, 'checkmark'>) => void;
544
+ export declare const useCheckmarkStyles_unstable: (state: MenuItemSelectableState & Pick<MenuItemState, 'checkmark'>) => void;
518
545
 
519
546
  /**
520
547
  * Create the state required to render Menu.
521
548
  *
522
549
  * The returned state can be modified with hooks such as useMenuStyles,
523
- * before being passed to renderMenu.
550
+ * before being passed to renderMenu_unstable.
524
551
  *
525
552
  * @param props - props from this instance of Menu
526
553
  */
527
- export declare const useMenu: (props: MenuProps) => MenuState;
554
+ export declare const useMenu_unstable: (props: MenuProps) => MenuState;
528
555
 
529
- export declare const useMenuContext: <T>(selector: ContextSelector<MenuContextValue, T>) => T;
556
+ export declare const useMenuContext_unstable: <T>(selector: ContextSelector<MenuContextValue, T>) => T;
530
557
 
531
- export declare function useMenuContextValues(state: MenuState): MenuContextValues;
558
+ export declare function useMenuContextValues_unstable(state: MenuState): MenuContextValues;
532
559
 
533
560
  /**
534
561
  * Given user props, returns state and render function for a MenuDivider.
535
562
  */
536
- export declare const useMenuDivider: (props: MenuDividerProps, ref: React_2.Ref<HTMLElement>) => MenuDividerState;
563
+ export declare const useMenuDivider_unstable: (props: MenuDividerProps, ref: React_2.Ref<HTMLElement>) => MenuDividerState;
537
564
 
538
- export declare const useMenuDividerStyles: (state: MenuDividerState) => ComponentState<MenuDividerSlots>;
565
+ export declare const useMenuDividerStyles_unstable: (state: MenuDividerState) => MenuDividerState;
539
566
 
540
567
  /**
541
568
  * Given user props, returns state and render function for a MenuGroup.
542
569
  */
543
- export declare function useMenuGroup(props: MenuGroupProps, ref: React_2.Ref<HTMLElement>): MenuGroupState;
570
+ export declare function useMenuGroup_unstable(props: MenuGroupProps, ref: React_2.Ref<HTMLElement>): MenuGroupState;
544
571
 
545
- export declare const useMenuGroupContext: () => MenuGroupContextValue;
572
+ export declare const useMenuGroupContext_unstable: () => MenuGroupContextValue;
546
573
 
547
- export declare function useMenuGroupContextValues(state: MenuGroupState): MenuGroupContextValues;
574
+ export declare function useMenuGroupContextValues_unstable(state: MenuGroupState): MenuGroupContextValues;
548
575
 
549
576
  /**
550
577
  * Given user props, returns state and render function for a MenuGroupHeader.
551
578
  */
552
- export declare function useMenuGroupHeader(props: MenuGroupHeaderProps, ref: React_2.Ref<HTMLElement>): MenuGroupHeaderState;
579
+ export declare function useMenuGroupHeader_unstable(props: MenuGroupHeaderProps, ref: React_2.Ref<HTMLElement>): MenuGroupHeaderState;
553
580
 
554
- export declare const useMenuGroupHeaderStyles: (state: MenuGroupHeaderState) => ComponentState<MenuGroupHeaderSlots>;
581
+ export declare const useMenuGroupHeaderStyles_unstable: (state: MenuGroupHeaderState) => MenuGroupHeaderState;
555
582
 
556
- export declare const useMenuGroupStyles: (state: MenuGroupState) => MenuGroupState;
583
+ export declare const useMenuGroupStyles_unstable: (state: MenuGroupState) => MenuGroupState;
557
584
 
558
585
  /**
559
586
  * Returns the props and state required to render the component
560
587
  */
561
- export declare const useMenuItem: (props: MenuItemProps, ref: React_2.Ref<HTMLElement>) => MenuItemState;
588
+ export declare const useMenuItem_unstable: (props: MenuItemProps, ref: React_2.Ref<HTMLElement>) => MenuItemState;
562
589
 
563
590
  /** Returns the props and state required to render the component */
564
- export declare const useMenuItemCheckbox: (props: MenuItemCheckboxProps, ref: React_2.Ref<HTMLElement>) => MenuItemCheckboxState;
591
+ export declare const useMenuItemCheckbox_unstable: (props: MenuItemCheckboxProps, ref: React_2.Ref<HTMLElement>) => MenuItemCheckboxState;
565
592
 
566
- export declare const useMenuItemCheckboxStyles: (state: MenuItemCheckboxState) => void;
593
+ export declare const useMenuItemCheckboxStyles_unstable: (state: MenuItemCheckboxState) => void;
567
594
 
568
595
  /**
569
596
  * Given user props, returns state and render function for a MenuItemRadio.
570
597
  */
571
- export declare const useMenuItemRadio: (props: MenuItemRadioProps, ref: React_2.Ref<HTMLElement>) => MenuItemRadioState;
598
+ export declare const useMenuItemRadio_unstable: (props: MenuItemRadioProps, ref: React_2.Ref<HTMLElement>) => MenuItemRadioState;
572
599
 
573
- export declare const useMenuItemRadioStyles: (state: MenuItemRadioState) => void;
600
+ export declare const useMenuItemRadioStyles_unstable: (state: MenuItemRadioState) => void;
574
601
 
575
602
  /** Applies style classnames to slots */
576
- export declare const useMenuItemStyles: (state: MenuItemState) => void;
603
+ export declare const useMenuItemStyles_unstable: (state: MenuItemState) => void;
577
604
 
578
605
  /**
579
606
  * Returns the props and state required to render the component
580
607
  */
581
- export declare const useMenuList: (props: MenuListProps, ref: React_2.Ref<HTMLElement>) => MenuListState;
608
+ export declare const useMenuList_unstable: (props: MenuListProps, ref: React_2.Ref<HTMLElement>) => MenuListState;
582
609
 
583
- export declare const useMenuListContext: <T>(selector: ContextSelector<MenuListContextValue, T>) => T;
610
+ export declare const useMenuListContext_unstable: <T>(selector: ContextSelector<MenuListContextValue, T>) => T;
584
611
 
585
- export declare function useMenuListContextValues(state: MenuListState): MenuListContextValues;
612
+ export declare function useMenuListContextValues_unstable(state: MenuListState): MenuListContextValues;
586
613
 
587
614
  /**
588
615
  * Apply styling to the Menu slots based on the state
589
616
  */
590
- export declare const useMenuListStyles: (state: MenuListState) => MenuListState;
617
+ export declare const useMenuListStyles_unstable: (state: MenuListState) => MenuListState;
591
618
 
592
619
  /**
593
620
  * Create the state required to render MenuPopover.
594
621
  *
595
- * The returned state can be modified with hooks such as useMenuPopoverStyles,
596
- * before being passed to renderMenuPopover.
622
+ * The returned state can be modified with hooks such as useMenuPopoverStyles_unstable,
623
+ * before being passed to renderMenuPopover_unstable.
597
624
  *
598
625
  * @param props - props from this instance of MenuPopover
599
626
  * @param ref - reference to root HTMLElement of MenuPopover
600
627
  */
601
- export declare const useMenuPopover: (props: MenuPopoverProps, ref: React_2.Ref<HTMLElement>) => MenuPopoverState;
628
+ export declare const useMenuPopover_unstable: (props: MenuPopoverProps, ref: React_2.Ref<HTMLElement>) => MenuPopoverState;
602
629
 
603
630
  /**
604
631
  * Apply styling to the Menu slots based on the state
605
632
  */
606
- export declare const useMenuPopoverStyles: (state: MenuPopoverState) => MenuPopoverState;
633
+ export declare const useMenuPopoverStyles_unstable: (state: MenuPopoverState) => MenuPopoverState;
634
+
635
+ /**
636
+ * Create the state required to render MenuSplitGroup.
637
+ *
638
+ * The returned state can be modified with hooks such as useMenuSplitGroupStyles_unstable,
639
+ * before being passed to renderMenuSplitGroup_unstable.
640
+ *
641
+ * @param props - props from this instance of MenuSplitGroup
642
+ * @param ref - reference to root HTMLElement of MenuSplitGroup
643
+ */
644
+ export declare const useMenuSplitGroup_unstable: (props: MenuSplitGroupProps, ref: React_2.Ref<HTMLElement>) => MenuSplitGroupState;
645
+
646
+ /**
647
+ * Apply styling to the MenuSplitGroup slots based on the state
648
+ */
649
+ export declare const useMenuSplitGroupStyles_unstable: (state: MenuSplitGroupState) => MenuSplitGroupState;
607
650
 
608
651
  /**
609
652
  * Create the state required to render MenuTrigger.
@@ -611,8 +654,8 @@ export declare const useMenuPopoverStyles: (state: MenuPopoverState) => MenuPopo
611
654
  *
612
655
  * @param props - props from this instance of MenuTrigger
613
656
  */
614
- export declare const useMenuTrigger: (props: MenuTriggerProps) => MenuTriggerState;
657
+ export declare const useMenuTrigger_unstable: (props: MenuTriggerProps) => MenuTriggerState;
615
658
 
616
- export declare const useMenuTriggerContext: () => boolean;
659
+ export declare const useMenuTriggerContext_unstable: () => boolean;
617
660
 
618
661
  export { }
@@ -0,0 +1 @@
1
+ export * from './components/MenuSplitGroup/index';
@@ -0,0 +1,2 @@
1
+ export * from './components/MenuSplitGroup/index';
2
+ //# sourceMappingURL=MenuSplitGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuSplitGroup.js","sourceRoot":"","sources":["../src/MenuSplitGroup.ts"],"names":[],"mappings":"AAAA,cAAc,mCAAmC,CAAC"}
@@ -1,14 +1,14 @@
1
- import { useMenu } from './useMenu';
2
- import { useMenuContextValues } from './useMenuContextValues';
3
- import { renderMenu } from './renderMenu';
1
+ import { useMenu_unstable } from './useMenu';
2
+ import { useMenuContextValues_unstable } from './useMenuContextValues';
3
+ import { renderMenu_unstable } from './renderMenu';
4
4
  /**
5
5
  * Wrapper component that manages state for a popup MenuList and a MenuTrigger
6
6
  */
7
7
 
8
8
  export const Menu = props => {
9
- const state = useMenu(props);
10
- const contextValues = useMenuContextValues(state);
11
- return renderMenu(state, contextValues);
9
+ const state = useMenu_unstable(props);
10
+ const contextValues = useMenuContextValues_unstable(state);
11
+ return renderMenu_unstable(state, contextValues);
12
12
  };
13
13
  Menu.displayName = 'Menu';
14
14
  //# sourceMappingURL=Menu.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Menu/Menu.tsx"],"names":[],"mappings":"AACA,SAAS,OAAT,QAAwB,WAAxB;AACA,SAAS,oBAAT,QAAqC,wBAArC;AACA,SAAS,UAAT,QAA2B,cAA3B;AAGA;;AAEG;;AACH,OAAO,MAAM,IAAI,GAAwB,KAAK,IAAG;AAC/C,QAAM,KAAK,GAAG,OAAO,CAAC,KAAD,CAArB;AACA,QAAM,aAAa,GAAG,oBAAoB,CAAC,KAAD,CAA1C;AAEA,SAAO,UAAU,CAAC,KAAD,EAAQ,aAAR,CAAjB;AACD,CALM;AAOP,IAAI,CAAC,WAAL,GAAmB,MAAnB","sourceRoot":""}
1
+ {"version":3,"sources":["../../../src/components/Menu/Menu.tsx"],"names":[],"mappings":"AACA,SAAS,gBAAT,QAAiC,WAAjC;AACA,SAAS,6BAAT,QAA8C,wBAA9C;AACA,SAAS,mBAAT,QAAoC,cAApC;AAGA;;AAEG;;AACH,OAAO,MAAM,IAAI,GAAwB,KAAK,IAAG;AAC/C,QAAM,KAAK,GAAG,gBAAgB,CAAC,KAAD,CAA9B;AACA,QAAM,aAAa,GAAG,6BAA6B,CAAC,KAAD,CAAnD;AAEA,SAAO,mBAAmB,CAAC,KAAD,EAAQ,aAAR,CAA1B;AACD,CALM;AAOP,IAAI,CAAC,WAAL,GAAmB,MAAnB","sourceRoot":""}
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { ComponentProps, ComponentState } from '@fluentui/react-utilities';
3
3
  import { usePopperMouseTarget, PositioningShorthand } from '@fluentui/react-positioning';
4
- import { MenuListCommons } from '../MenuList/index';
4
+ import { MenuListCommons } from '../MenuList/MenuList.types';
5
5
  import { MenuContextValue } from '../../contexts/menuContext';
6
6
  declare type MenuCommons = MenuListCommons & {
7
7
  /**
@@ -2,4 +2,4 @@ import type { MenuContextValues, MenuState } from './Menu.types';
2
2
  /**
3
3
  * Render the final JSX of Menu
4
4
  */
5
- export declare const renderMenu: (state: MenuState, contextValues: MenuContextValues) => JSX.Element;
5
+ export declare const renderMenu_unstable: (state: MenuState, contextValues: MenuContextValues) => JSX.Element;
@@ -4,7 +4,7 @@ import { MenuProvider } from '../../contexts/menuContext';
4
4
  * Render the final JSX of Menu
5
5
  */
6
6
 
7
- export const renderMenu = (state, contextValues) => {
7
+ export const renderMenu_unstable = (state, contextValues) => {
8
8
  return /*#__PURE__*/React.createElement(MenuProvider, {
9
9
  value: contextValues.menu
10
10
  }, state.menuTrigger, state.open && state.menuPopover);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Menu/renderMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,YAAT,QAA6B,4BAA7B;AAGA;;AAEG;;AACH,OAAO,MAAM,UAAU,GAAG,CAAC,KAAD,EAAmB,aAAnB,KAAuD;AAC/E,sBACE,KAAA,CAAA,aAAA,CAAC,YAAD,EAAa;AAAC,IAAA,KAAK,EAAE,aAAa,CAAC;AAAtB,GAAb,EACG,KAAK,CAAC,WADT,EAEG,KAAK,CAAC,IAAN,IAAc,KAAK,CAAC,WAFvB,CADF;AAMD,CAPM","sourceRoot":""}
1
+ {"version":3,"sources":["../../../src/components/Menu/renderMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,YAAT,QAA6B,4BAA7B;AAGA;;AAEG;;AACH,OAAO,MAAM,mBAAmB,GAAG,CAAC,KAAD,EAAmB,aAAnB,KAAuD;AACxF,sBACE,KAAA,CAAA,aAAA,CAAC,YAAD,EAAa;AAAC,IAAA,KAAK,EAAE,aAAa,CAAC;AAAtB,GAAb,EACG,KAAK,CAAC,WADT,EAEG,KAAK,CAAC,IAAN,IAAc,KAAK,CAAC,WAFvB,CADF;AAMD,CAPM","sourceRoot":""}
@@ -3,8 +3,8 @@ import type { MenuProps, MenuState } from './Menu.types';
3
3
  * Create the state required to render Menu.
4
4
  *
5
5
  * The returned state can be modified with hooks such as useMenuStyles,
6
- * before being passed to renderMenu.
6
+ * before being passed to renderMenu_unstable.
7
7
  *
8
8
  * @param props - props from this instance of Menu
9
9
  */
10
- export declare const useMenu: (props: MenuProps) => MenuState;
10
+ export declare const useMenu_unstable: (props: MenuProps) => MenuState;
@@ -4,20 +4,19 @@ import { useControllableState, useId, useOnClickOutside, useEventCallback } from
4
4
  import { useFluent } from '@fluentui/react-shared-contexts';
5
5
  import { elementContains } from '@fluentui/react-portal';
6
6
  import { useFocusFinders } from '@fluentui/react-tabster';
7
- import { MenuTrigger } from '../MenuTrigger/index';
8
- import { useMenuContext } from '../../contexts/menuContext';
7
+ import { useMenuContext_unstable } from '../../contexts/menuContext';
9
8
  import { MENU_ENTER_EVENT, useOnMenuMouseEnter } from '../../utils/index';
10
9
  import { useIsSubmenu } from '../../utils/useIsSubmenu';
11
10
  /**
12
11
  * Create the state required to render Menu.
13
12
  *
14
13
  * The returned state can be modified with hooks such as useMenuStyles,
15
- * before being passed to renderMenu.
14
+ * before being passed to renderMenu_unstable.
16
15
  *
17
16
  * @param props - props from this instance of Menu
18
17
  */
19
18
 
20
- export const useMenu = props => {
19
+ export const useMenu_unstable = props => {
21
20
  const triggerId = useId('menu');
22
21
  const isSubmenu = useIsSubmenu();
23
22
  const [contextTarget, setContextTarget] = usePopperMouseTarget();
@@ -29,23 +28,28 @@ export const useMenu = props => {
29
28
  };
30
29
  const children = React.Children.toArray(props.children);
31
30
 
32
- if (children.length !== 2 && process.env.NODE_ENV !== 'production') {
33
- // eslint-disable-next-line no-console
34
- console.warn('Menu can only take one MenuTrigger and one MenuList as children');
35
- }
31
+ if (process.env.NODE_ENV !== 'production') {
32
+ if (children.length === 0) {
33
+ // eslint-disable-next-line no-console
34
+ console.warn('Menu must contain at least one child');
35
+ }
36
36
 
37
- const {
38
- menuTrigger,
39
- menuPopover
40
- } = children.reduce((acc, child) => {
41
- if (child.type === MenuTrigger) {
42
- acc.menuTrigger = child;
43
- } else {
44
- acc.menuPopover = child;
37
+ if (children.length > 2) {
38
+ // eslint-disable-next-line no-console
39
+ console.warn('Menu must contain at most two children');
45
40
  }
41
+ }
42
+
43
+ let menuTrigger = undefined;
44
+ let menuPopover = undefined;
45
+
46
+ if (children.length === 2) {
47
+ menuTrigger = children[0];
48
+ menuPopover = children[1];
49
+ } else if (children.length === 1) {
50
+ menuPopover = children[0];
51
+ }
46
52
 
47
- return acc;
48
- }, {});
49
53
  const {
50
54
  targetRef: triggerRef,
51
55
  containerRef: menuPopoverRef
@@ -61,7 +65,8 @@ export const useMenu = props => {
61
65
  menuTrigger,
62
66
  menuPopover,
63
67
  triggerRef,
64
- menuPopoverRef
68
+ menuPopoverRef,
69
+ components: {}
65
70
  }; // TODO Better way to narrow types ?
66
71
 
67
72
  const [open, setOpen] = useMenuOpenState(initialState);
@@ -113,7 +118,7 @@ const useMenuOpenState = state => {
113
118
  const {
114
119
  targetDocument
115
120
  } = useFluent();
116
- const parentSetOpen = useMenuContext(context => context.setOpen);
121
+ const parentSetOpen = useMenuContext_unstable(context => context.setOpen);
117
122
  const onOpenChange = useEventCallback((e, data) => {
118
123
  var _a;
119
124
 
@@ -227,15 +232,18 @@ const useMenuOpenState = state => {
227
232
  prevFocusable === null || prevFocusable === void 0 ? void 0 : prevFocusable.focus();
228
233
  }, [findPrevFocusable, state.triggerRef]);
229
234
  React.useEffect(() => {
230
- var _a;
231
-
232
- if (!shouldHandleKeyboardRef.current) {
233
- return;
235
+ if (open) {
236
+ focusFirst();
234
237
  }
238
+ }, [open, focusFirst]);
239
+ React.useEffect(() => {
240
+ var _a;
235
241
 
236
242
  if (open) {
237
243
  focusFirst();
238
- } else {
244
+ }
245
+
246
+ if (shouldHandleKeyboardRef.current && !open) {
239
247
  if (shouldHandleTabRef.current && !state.isSubmenu) {
240
248
  pressedShiftRef.current ? focusBeforeMenuTrigger() : focusAfterMenuTrigger();
241
249
  } else {