@fluentui/react-menu 0.0.0-nightly627ad67f1120211109.1 → 0.0.0-nightly695230dc7220220301.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 (441) hide show
  1. package/CHANGELOG.json +535 -30
  2. package/CHANGELOG.md +125 -16
  3. package/Spec.md +21 -16
  4. package/dist/react-menu.d.ts +112 -68
  5. package/lib/Menu.js.map +1 -1
  6. package/lib/MenuDivider.js.map +1 -1
  7. package/lib/MenuGroup.js.map +1 -1
  8. package/lib/MenuGroupHeader.js.map +1 -1
  9. package/lib/MenuItem.js.map +1 -1
  10. package/lib/MenuItemCheckbox.js.map +1 -1
  11. package/lib/MenuItemRadio.js.map +1 -1
  12. package/lib/MenuList.js.map +1 -1
  13. package/lib/MenuPopover.js.map +1 -1
  14. package/lib/MenuSplitGroup.d.ts +1 -0
  15. package/lib/MenuSplitGroup.js +2 -0
  16. package/lib/MenuSplitGroup.js.map +1 -0
  17. package/lib/MenuTrigger.js.map +1 -1
  18. package/lib/components/Menu/Menu.js +6 -6
  19. package/lib/components/Menu/Menu.js.map +1 -1
  20. package/lib/components/Menu/Menu.types.d.ts +1 -1
  21. package/lib/components/Menu/Menu.types.js.map +1 -1
  22. package/lib/components/Menu/index.js.map +1 -1
  23. package/lib/components/Menu/renderMenu.d.ts +1 -1
  24. package/lib/components/Menu/renderMenu.js +1 -1
  25. package/lib/components/Menu/renderMenu.js.map +1 -1
  26. package/lib/components/Menu/useMenu.d.ts +2 -2
  27. package/lib/components/Menu/useMenu.js +34 -26
  28. package/lib/components/Menu/useMenu.js.map +1 -1
  29. package/lib/components/Menu/useMenuContextValues.d.ts +1 -1
  30. package/lib/components/Menu/useMenuContextValues.js +1 -1
  31. package/lib/components/Menu/useMenuContextValues.js.map +1 -1
  32. package/lib/components/MenuDivider/MenuDivider.d.ts +1 -1
  33. package/lib/components/MenuDivider/MenuDivider.js +7 -7
  34. package/lib/components/MenuDivider/MenuDivider.js.map +1 -1
  35. package/lib/components/MenuDivider/MenuDivider.types.d.ts +2 -2
  36. package/lib/components/MenuDivider/MenuDivider.types.js.map +1 -1
  37. package/lib/components/MenuDivider/index.js.map +1 -1
  38. package/lib/components/MenuDivider/renderMenuDivider.d.ts +1 -1
  39. package/lib/components/MenuDivider/renderMenuDivider.js +3 -2
  40. package/lib/components/MenuDivider/renderMenuDivider.js.map +1 -1
  41. package/lib/components/MenuDivider/useMenuDivider.d.ts +1 -1
  42. package/lib/components/MenuDivider/useMenuDivider.js +4 -1
  43. package/lib/components/MenuDivider/useMenuDivider.js.map +1 -1
  44. package/lib/components/MenuDivider/useMenuDividerStyles.d.ts +1 -1
  45. package/lib/components/MenuDivider/useMenuDividerStyles.js +3 -2
  46. package/lib/components/MenuDivider/useMenuDividerStyles.js.map +1 -1
  47. package/lib/components/MenuGroup/MenuGroup.d.ts +1 -1
  48. package/lib/components/MenuGroup/MenuGroup.js +9 -9
  49. package/lib/components/MenuGroup/MenuGroup.js.map +1 -1
  50. package/lib/components/MenuGroup/MenuGroup.types.d.ts +3 -3
  51. package/lib/components/MenuGroup/MenuGroup.types.js.map +1 -1
  52. package/lib/components/MenuGroup/index.js.map +1 -1
  53. package/lib/components/MenuGroup/renderMenuGroup.d.ts +1 -1
  54. package/lib/components/MenuGroup/renderMenuGroup.js +3 -2
  55. package/lib/components/MenuGroup/renderMenuGroup.js.map +1 -1
  56. package/lib/components/MenuGroup/useMenuGroup.d.ts +1 -1
  57. package/lib/components/MenuGroup/useMenuGroup.js +4 -1
  58. package/lib/components/MenuGroup/useMenuGroup.js.map +1 -1
  59. package/lib/components/MenuGroup/useMenuGroupContextValues.d.ts +1 -1
  60. package/lib/components/MenuGroup/useMenuGroupContextValues.js +1 -1
  61. package/lib/components/MenuGroup/useMenuGroupContextValues.js.map +1 -1
  62. package/lib/components/MenuGroup/useMenuGroupStyles.d.ts +1 -1
  63. package/lib/components/MenuGroup/useMenuGroupStyles.js +2 -2
  64. package/lib/components/MenuGroup/useMenuGroupStyles.js.map +1 -1
  65. package/lib/components/MenuGroupHeader/MenuGroupHeader.d.ts +1 -1
  66. package/lib/components/MenuGroupHeader/MenuGroupHeader.js +7 -7
  67. package/lib/components/MenuGroupHeader/MenuGroupHeader.js.map +1 -1
  68. package/lib/components/MenuGroupHeader/MenuGroupHeader.types.d.ts +2 -2
  69. package/lib/components/MenuGroupHeader/MenuGroupHeader.types.js.map +1 -1
  70. package/lib/components/MenuGroupHeader/index.js.map +1 -1
  71. package/lib/components/MenuGroupHeader/renderMenuGroupHeader.d.ts +1 -1
  72. package/lib/components/MenuGroupHeader/renderMenuGroupHeader.js +3 -2
  73. package/lib/components/MenuGroupHeader/renderMenuGroupHeader.js.map +1 -1
  74. package/lib/components/MenuGroupHeader/useMenuGroupHeader.d.ts +1 -1
  75. package/lib/components/MenuGroupHeader/useMenuGroupHeader.js +6 -3
  76. package/lib/components/MenuGroupHeader/useMenuGroupHeader.js.map +1 -1
  77. package/lib/components/MenuGroupHeader/useMenuGroupHeaderStyles.d.ts +1 -1
  78. package/lib/components/MenuGroupHeader/useMenuGroupHeaderStyles.js +3 -2
  79. package/lib/components/MenuGroupHeader/useMenuGroupHeaderStyles.js.map +1 -1
  80. package/lib/components/MenuItem/MenuItem.d.ts +1 -1
  81. package/lib/components/MenuItem/MenuItem.js +7 -9
  82. package/lib/components/MenuItem/MenuItem.js.map +1 -1
  83. package/lib/components/MenuItem/MenuItem.types.d.ts +7 -7
  84. package/lib/components/MenuItem/MenuItem.types.js.map +1 -1
  85. package/lib/components/MenuItem/index.js.map +1 -1
  86. package/lib/components/MenuItem/renderMenuItem.d.ts +1 -1
  87. package/lib/components/MenuItem/renderMenuItem.js +9 -4
  88. package/lib/components/MenuItem/renderMenuItem.js.map +1 -1
  89. package/lib/components/MenuItem/useCharacterSearch.js +2 -2
  90. package/lib/components/MenuItem/useCharacterSearch.js.map +1 -1
  91. package/lib/components/MenuItem/useMenuItem.d.ts +2 -6
  92. package/lib/components/MenuItem/useMenuItem.js +14 -16
  93. package/lib/components/MenuItem/useMenuItem.js.map +1 -1
  94. package/lib/components/MenuItem/useMenuItemStyles.d.ts +1 -1
  95. package/lib/components/MenuItem/useMenuItemStyles.js +27 -24
  96. package/lib/components/MenuItem/useMenuItemStyles.js.map +1 -1
  97. package/lib/components/MenuItemCheckbox/MenuItemCheckbox.d.ts +1 -1
  98. package/lib/components/MenuItemCheckbox/MenuItemCheckbox.js +7 -7
  99. package/lib/components/MenuItemCheckbox/MenuItemCheckbox.js.map +1 -1
  100. package/lib/components/MenuItemCheckbox/MenuItemCheckbox.types.js.map +1 -1
  101. package/lib/components/MenuItemCheckbox/index.js.map +1 -1
  102. package/lib/components/MenuItemCheckbox/renderMenuItemCheckbox.d.ts +1 -1
  103. package/lib/components/MenuItemCheckbox/renderMenuItemCheckbox.js +8 -4
  104. package/lib/components/MenuItemCheckbox/renderMenuItemCheckbox.js.map +1 -1
  105. package/lib/components/MenuItemCheckbox/useMenuItemCheckbox.d.ts +1 -1
  106. package/lib/components/MenuItemCheckbox/useMenuItemCheckbox.js +6 -6
  107. package/lib/components/MenuItemCheckbox/useMenuItemCheckbox.js.map +1 -1
  108. package/lib/components/MenuItemCheckbox/useMenuItemCheckboxStyles.d.ts +1 -1
  109. package/lib/components/MenuItemCheckbox/useMenuItemCheckboxStyles.js +6 -6
  110. package/lib/components/MenuItemCheckbox/useMenuItemCheckboxStyles.js.map +1 -1
  111. package/lib/components/MenuItemRadio/MenuItemRadio.d.ts +1 -1
  112. package/lib/components/MenuItemRadio/MenuItemRadio.js +7 -7
  113. package/lib/components/MenuItemRadio/MenuItemRadio.js.map +1 -1
  114. package/lib/components/MenuItemRadio/MenuItemRadio.types.js.map +1 -1
  115. package/lib/components/MenuItemRadio/index.js.map +1 -1
  116. package/lib/components/MenuItemRadio/renderMenuItemRadio.d.ts +1 -1
  117. package/lib/components/MenuItemRadio/renderMenuItemRadio.js +8 -4
  118. package/lib/components/MenuItemRadio/renderMenuItemRadio.js.map +1 -1
  119. package/lib/components/MenuItemRadio/useMenuItemRadio.d.ts +1 -1
  120. package/lib/components/MenuItemRadio/useMenuItemRadio.js +6 -6
  121. package/lib/components/MenuItemRadio/useMenuItemRadio.js.map +1 -1
  122. package/lib/components/MenuItemRadio/useMenuItemRadioStyles.d.ts +1 -1
  123. package/lib/components/MenuItemRadio/useMenuItemRadioStyles.js +6 -6
  124. package/lib/components/MenuItemRadio/useMenuItemRadioStyles.js.map +1 -1
  125. package/lib/components/MenuList/MenuList.d.ts +1 -1
  126. package/lib/components/MenuList/MenuList.js +9 -9
  127. package/lib/components/MenuList/MenuList.js.map +1 -1
  128. package/lib/components/MenuList/MenuList.types.d.ts +4 -4
  129. package/lib/components/MenuList/MenuList.types.js.map +1 -1
  130. package/lib/components/MenuList/index.d.ts +1 -1
  131. package/lib/components/MenuList/index.js +0 -1
  132. package/lib/components/MenuList/index.js.map +1 -1
  133. package/lib/components/MenuList/renderMenuList.d.ts +1 -1
  134. package/lib/components/MenuList/renderMenuList.js +3 -2
  135. package/lib/components/MenuList/renderMenuList.js.map +1 -1
  136. package/lib/components/MenuList/useMenuList.d.ts +1 -1
  137. package/lib/components/MenuList/useMenuList.js +11 -8
  138. package/lib/components/MenuList/useMenuList.js.map +1 -1
  139. package/lib/components/MenuList/useMenuListContextValues.d.ts +1 -1
  140. package/lib/components/MenuList/useMenuListContextValues.js +1 -1
  141. package/lib/components/MenuList/useMenuListContextValues.js.map +1 -1
  142. package/lib/components/MenuList/useMenuListStyles.d.ts +1 -1
  143. package/lib/components/MenuList/useMenuListStyles.js +5 -4
  144. package/lib/components/MenuList/useMenuListStyles.js.map +1 -1
  145. package/lib/components/MenuPopover/MenuPopover.js +6 -6
  146. package/lib/components/MenuPopover/MenuPopover.js.map +1 -1
  147. package/lib/components/MenuPopover/MenuPopover.types.d.ts +2 -2
  148. package/lib/components/MenuPopover/MenuPopover.types.js.map +1 -1
  149. package/lib/components/MenuPopover/index.js.map +1 -1
  150. package/lib/components/MenuPopover/renderMenuPopover.d.ts +1 -1
  151. package/lib/components/MenuPopover/renderMenuPopover.js +5 -3
  152. package/lib/components/MenuPopover/renderMenuPopover.js.map +1 -1
  153. package/lib/components/MenuPopover/useMenuPopover.d.ts +3 -3
  154. package/lib/components/MenuPopover/useMenuPopover.js +11 -8
  155. package/lib/components/MenuPopover/useMenuPopover.js.map +1 -1
  156. package/lib/components/MenuPopover/useMenuPopoverStyles.d.ts +1 -1
  157. package/lib/components/MenuPopover/useMenuPopoverStyles.js +9 -5
  158. package/lib/components/MenuPopover/useMenuPopoverStyles.js.map +1 -1
  159. package/lib/components/MenuSplitGroup/MenuSplitGroup.d.ts +6 -0
  160. package/lib/components/MenuSplitGroup/MenuSplitGroup.js +15 -0
  161. package/lib/components/MenuSplitGroup/MenuSplitGroup.js.map +1 -0
  162. package/lib/components/MenuSplitGroup/MenuSplitGroup.types.d.ts +14 -0
  163. package/lib/components/MenuSplitGroup/MenuSplitGroup.types.js +2 -0
  164. package/lib/components/MenuSplitGroup/MenuSplitGroup.types.js.map +1 -0
  165. package/lib/components/MenuSplitGroup/index.d.ts +5 -0
  166. package/lib/components/MenuSplitGroup/index.js +6 -0
  167. package/lib/components/MenuSplitGroup/index.js.map +1 -0
  168. package/lib/components/MenuSplitGroup/renderMenuSplitGroup.d.ts +5 -0
  169. package/lib/components/MenuSplitGroup/renderMenuSplitGroup.js +15 -0
  170. package/lib/components/MenuSplitGroup/renderMenuSplitGroup.js.map +1 -0
  171. package/lib/components/MenuSplitGroup/useMenuSplitGroup.d.ts +12 -0
  172. package/lib/components/MenuSplitGroup/useMenuSplitGroup.js +67 -0
  173. package/lib/components/MenuSplitGroup/useMenuSplitGroup.js.map +1 -0
  174. package/lib/components/MenuSplitGroup/useMenuSplitGroupStyles.d.ts +6 -0
  175. package/lib/components/MenuSplitGroup/useMenuSplitGroupStyles.js +35 -0
  176. package/lib/components/MenuSplitGroup/useMenuSplitGroupStyles.js.map +1 -0
  177. package/lib/components/MenuTrigger/MenuTrigger.d.ts +2 -1
  178. package/lib/components/MenuTrigger/MenuTrigger.js +5 -4
  179. package/lib/components/MenuTrigger/MenuTrigger.js.map +1 -1
  180. package/lib/components/MenuTrigger/MenuTrigger.types.d.ts +7 -3
  181. package/lib/components/MenuTrigger/MenuTrigger.types.js.map +1 -1
  182. package/lib/components/MenuTrigger/index.js.map +1 -1
  183. package/lib/components/MenuTrigger/renderMenuTrigger.d.ts +1 -1
  184. package/lib/components/MenuTrigger/renderMenuTrigger.js +2 -2
  185. package/lib/components/MenuTrigger/renderMenuTrigger.js.map +1 -1
  186. package/lib/components/MenuTrigger/useMenuTrigger.d.ts +2 -2
  187. package/lib/components/MenuTrigger/useMenuTrigger.js +168 -5
  188. package/lib/components/MenuTrigger/useMenuTrigger.js.map +1 -1
  189. package/lib/components/index.js.map +1 -1
  190. package/lib/contexts/menuContext.d.ts +1 -1
  191. package/lib/contexts/menuContext.js +1 -1
  192. package/lib/contexts/menuContext.js.map +1 -1
  193. package/lib/contexts/menuGroupContext.d.ts +1 -1
  194. package/lib/contexts/menuGroupContext.js +1 -1
  195. package/lib/contexts/menuGroupContext.js.map +1 -1
  196. package/lib/contexts/menuListContext.d.ts +1 -1
  197. package/lib/contexts/menuListContext.js +1 -1
  198. package/lib/contexts/menuListContext.js.map +1 -1
  199. package/lib/contexts/menuTriggerContext.d.ts +1 -1
  200. package/lib/contexts/menuTriggerContext.js +2 -2
  201. package/lib/contexts/menuTriggerContext.js.map +1 -1
  202. package/lib/index.d.ts +11 -10
  203. package/lib/index.js +11 -10
  204. package/lib/index.js.map +1 -1
  205. package/lib/selectable/index.js.map +1 -1
  206. package/lib/selectable/types.js.map +1 -1
  207. package/lib/selectable/useCheckmarkStyles.d.ts +2 -2
  208. package/lib/selectable/useCheckmarkStyles.js +2 -2
  209. package/lib/selectable/useCheckmarkStyles.js.map +1 -1
  210. package/lib/utils/index.js.map +1 -1
  211. package/lib/utils/useIsSubmenu.js +2 -2
  212. package/lib/utils/useIsSubmenu.js.map +1 -1
  213. package/lib/utils/useOnMenuEnter.js.map +1 -1
  214. package/lib-commonjs/Menu.js.map +1 -1
  215. package/lib-commonjs/MenuDivider.js.map +1 -1
  216. package/lib-commonjs/MenuGroup.js.map +1 -1
  217. package/lib-commonjs/MenuGroupHeader.js.map +1 -1
  218. package/lib-commonjs/MenuItem.js.map +1 -1
  219. package/lib-commonjs/MenuItemCheckbox.js.map +1 -1
  220. package/lib-commonjs/MenuItemRadio.js.map +1 -1
  221. package/lib-commonjs/MenuList.js.map +1 -1
  222. package/lib-commonjs/MenuPopover.js.map +1 -1
  223. package/lib-commonjs/MenuSplitGroup.d.ts +1 -0
  224. package/lib-commonjs/MenuSplitGroup.js +10 -0
  225. package/lib-commonjs/MenuSplitGroup.js.map +1 -0
  226. package/lib-commonjs/MenuTrigger.js.map +1 -1
  227. package/lib-commonjs/components/Menu/Menu.js +3 -3
  228. package/lib-commonjs/components/Menu/Menu.js.map +1 -1
  229. package/lib-commonjs/components/Menu/Menu.types.d.ts +1 -1
  230. package/lib-commonjs/components/Menu/Menu.types.js.map +1 -1
  231. package/lib-commonjs/components/Menu/index.js.map +1 -1
  232. package/lib-commonjs/components/Menu/renderMenu.d.ts +1 -1
  233. package/lib-commonjs/components/Menu/renderMenu.js +3 -3
  234. package/lib-commonjs/components/Menu/renderMenu.js.map +1 -1
  235. package/lib-commonjs/components/Menu/useMenu.d.ts +2 -2
  236. package/lib-commonjs/components/Menu/useMenu.js +40 -33
  237. package/lib-commonjs/components/Menu/useMenu.js.map +1 -1
  238. package/lib-commonjs/components/Menu/useMenuContextValues.d.ts +1 -1
  239. package/lib-commonjs/components/Menu/useMenuContextValues.js +3 -3
  240. package/lib-commonjs/components/Menu/useMenuContextValues.js.map +1 -1
  241. package/lib-commonjs/components/MenuDivider/MenuDivider.d.ts +1 -1
  242. package/lib-commonjs/components/MenuDivider/MenuDivider.js +4 -4
  243. package/lib-commonjs/components/MenuDivider/MenuDivider.js.map +1 -1
  244. package/lib-commonjs/components/MenuDivider/MenuDivider.types.d.ts +2 -2
  245. package/lib-commonjs/components/MenuDivider/MenuDivider.types.js.map +1 -1
  246. package/lib-commonjs/components/MenuDivider/index.js.map +1 -1
  247. package/lib-commonjs/components/MenuDivider/renderMenuDivider.d.ts +1 -1
  248. package/lib-commonjs/components/MenuDivider/renderMenuDivider.js +5 -4
  249. package/lib-commonjs/components/MenuDivider/renderMenuDivider.js.map +1 -1
  250. package/lib-commonjs/components/MenuDivider/useMenuDivider.d.ts +1 -1
  251. package/lib-commonjs/components/MenuDivider/useMenuDivider.js +6 -3
  252. package/lib-commonjs/components/MenuDivider/useMenuDivider.js.map +1 -1
  253. package/lib-commonjs/components/MenuDivider/useMenuDividerStyles.d.ts +1 -1
  254. package/lib-commonjs/components/MenuDivider/useMenuDividerStyles.js +8 -6
  255. package/lib-commonjs/components/MenuDivider/useMenuDividerStyles.js.map +1 -1
  256. package/lib-commonjs/components/MenuGroup/MenuGroup.d.ts +1 -1
  257. package/lib-commonjs/components/MenuGroup/MenuGroup.js +5 -5
  258. package/lib-commonjs/components/MenuGroup/MenuGroup.js.map +1 -1
  259. package/lib-commonjs/components/MenuGroup/MenuGroup.types.d.ts +3 -3
  260. package/lib-commonjs/components/MenuGroup/MenuGroup.types.js.map +1 -1
  261. package/lib-commonjs/components/MenuGroup/index.js.map +1 -1
  262. package/lib-commonjs/components/MenuGroup/renderMenuGroup.d.ts +1 -1
  263. package/lib-commonjs/components/MenuGroup/renderMenuGroup.js +5 -4
  264. package/lib-commonjs/components/MenuGroup/renderMenuGroup.js.map +1 -1
  265. package/lib-commonjs/components/MenuGroup/useMenuGroup.d.ts +1 -1
  266. package/lib-commonjs/components/MenuGroup/useMenuGroup.js +6 -3
  267. package/lib-commonjs/components/MenuGroup/useMenuGroup.js.map +1 -1
  268. package/lib-commonjs/components/MenuGroup/useMenuGroupContextValues.d.ts +1 -1
  269. package/lib-commonjs/components/MenuGroup/useMenuGroupContextValues.js +3 -3
  270. package/lib-commonjs/components/MenuGroup/useMenuGroupContextValues.js.map +1 -1
  271. package/lib-commonjs/components/MenuGroup/useMenuGroupStyles.d.ts +1 -1
  272. package/lib-commonjs/components/MenuGroup/useMenuGroupStyles.js +5 -5
  273. package/lib-commonjs/components/MenuGroup/useMenuGroupStyles.js.map +1 -1
  274. package/lib-commonjs/components/MenuGroupHeader/MenuGroupHeader.d.ts +1 -1
  275. package/lib-commonjs/components/MenuGroupHeader/MenuGroupHeader.js +4 -4
  276. package/lib-commonjs/components/MenuGroupHeader/MenuGroupHeader.js.map +1 -1
  277. package/lib-commonjs/components/MenuGroupHeader/MenuGroupHeader.types.d.ts +2 -2
  278. package/lib-commonjs/components/MenuGroupHeader/MenuGroupHeader.types.js.map +1 -1
  279. package/lib-commonjs/components/MenuGroupHeader/index.js.map +1 -1
  280. package/lib-commonjs/components/MenuGroupHeader/renderMenuGroupHeader.d.ts +1 -1
  281. package/lib-commonjs/components/MenuGroupHeader/renderMenuGroupHeader.js +5 -4
  282. package/lib-commonjs/components/MenuGroupHeader/renderMenuGroupHeader.js.map +1 -1
  283. package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeader.d.ts +1 -1
  284. package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeader.js +7 -4
  285. package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeader.js.map +1 -1
  286. package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeaderStyles.d.ts +1 -1
  287. package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeaderStyles.js +8 -6
  288. package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeaderStyles.js.map +1 -1
  289. package/lib-commonjs/components/MenuItem/MenuItem.d.ts +1 -1
  290. package/lib-commonjs/components/MenuItem/MenuItem.js +4 -7
  291. package/lib-commonjs/components/MenuItem/MenuItem.js.map +1 -1
  292. package/lib-commonjs/components/MenuItem/MenuItem.types.d.ts +7 -7
  293. package/lib-commonjs/components/MenuItem/MenuItem.types.js.map +1 -1
  294. package/lib-commonjs/components/MenuItem/index.js.map +1 -1
  295. package/lib-commonjs/components/MenuItem/renderMenuItem.d.ts +1 -1
  296. package/lib-commonjs/components/MenuItem/renderMenuItem.js +11 -7
  297. package/lib-commonjs/components/MenuItem/renderMenuItem.js.map +1 -1
  298. package/lib-commonjs/components/MenuItem/useCharacterSearch.js +1 -1
  299. package/lib-commonjs/components/MenuItem/useCharacterSearch.js.map +1 -1
  300. package/lib-commonjs/components/MenuItem/useMenuItem.d.ts +2 -6
  301. package/lib-commonjs/components/MenuItem/useMenuItem.js +13 -15
  302. package/lib-commonjs/components/MenuItem/useMenuItem.js.map +1 -1
  303. package/lib-commonjs/components/MenuItem/useMenuItemStyles.d.ts +1 -1
  304. package/lib-commonjs/components/MenuItem/useMenuItemStyles.js +36 -31
  305. package/lib-commonjs/components/MenuItem/useMenuItemStyles.js.map +1 -1
  306. package/lib-commonjs/components/MenuItemCheckbox/MenuItemCheckbox.d.ts +1 -1
  307. package/lib-commonjs/components/MenuItemCheckbox/MenuItemCheckbox.js +4 -4
  308. package/lib-commonjs/components/MenuItemCheckbox/MenuItemCheckbox.js.map +1 -1
  309. package/lib-commonjs/components/MenuItemCheckbox/MenuItemCheckbox.types.js.map +1 -1
  310. package/lib-commonjs/components/MenuItemCheckbox/index.js.map +1 -1
  311. package/lib-commonjs/components/MenuItemCheckbox/renderMenuItemCheckbox.d.ts +1 -1
  312. package/lib-commonjs/components/MenuItemCheckbox/renderMenuItemCheckbox.js +10 -7
  313. package/lib-commonjs/components/MenuItemCheckbox/renderMenuItemCheckbox.js.map +1 -1
  314. package/lib-commonjs/components/MenuItemCheckbox/useMenuItemCheckbox.d.ts +1 -1
  315. package/lib-commonjs/components/MenuItemCheckbox/useMenuItemCheckbox.js +6 -6
  316. package/lib-commonjs/components/MenuItemCheckbox/useMenuItemCheckbox.js.map +1 -1
  317. package/lib-commonjs/components/MenuItemCheckbox/useMenuItemCheckboxStyles.d.ts +1 -1
  318. package/lib-commonjs/components/MenuItemCheckbox/useMenuItemCheckboxStyles.js +7 -7
  319. package/lib-commonjs/components/MenuItemCheckbox/useMenuItemCheckboxStyles.js.map +1 -1
  320. package/lib-commonjs/components/MenuItemRadio/MenuItemRadio.d.ts +1 -1
  321. package/lib-commonjs/components/MenuItemRadio/MenuItemRadio.js +4 -4
  322. package/lib-commonjs/components/MenuItemRadio/MenuItemRadio.js.map +1 -1
  323. package/lib-commonjs/components/MenuItemRadio/MenuItemRadio.types.js.map +1 -1
  324. package/lib-commonjs/components/MenuItemRadio/index.js.map +1 -1
  325. package/lib-commonjs/components/MenuItemRadio/renderMenuItemRadio.d.ts +1 -1
  326. package/lib-commonjs/components/MenuItemRadio/renderMenuItemRadio.js +10 -7
  327. package/lib-commonjs/components/MenuItemRadio/renderMenuItemRadio.js.map +1 -1
  328. package/lib-commonjs/components/MenuItemRadio/useMenuItemRadio.d.ts +1 -1
  329. package/lib-commonjs/components/MenuItemRadio/useMenuItemRadio.js +6 -6
  330. package/lib-commonjs/components/MenuItemRadio/useMenuItemRadio.js.map +1 -1
  331. package/lib-commonjs/components/MenuItemRadio/useMenuItemRadioStyles.d.ts +1 -1
  332. package/lib-commonjs/components/MenuItemRadio/useMenuItemRadioStyles.js +7 -7
  333. package/lib-commonjs/components/MenuItemRadio/useMenuItemRadioStyles.js.map +1 -1
  334. package/lib-commonjs/components/MenuList/MenuList.d.ts +1 -1
  335. package/lib-commonjs/components/MenuList/MenuList.js +5 -5
  336. package/lib-commonjs/components/MenuList/MenuList.js.map +1 -1
  337. package/lib-commonjs/components/MenuList/MenuList.types.d.ts +4 -4
  338. package/lib-commonjs/components/MenuList/MenuList.types.js.map +1 -1
  339. package/lib-commonjs/components/MenuList/index.d.ts +1 -1
  340. package/lib-commonjs/components/MenuList/index.js +0 -2
  341. package/lib-commonjs/components/MenuList/index.js.map +1 -1
  342. package/lib-commonjs/components/MenuList/renderMenuList.d.ts +1 -1
  343. package/lib-commonjs/components/MenuList/renderMenuList.js +5 -4
  344. package/lib-commonjs/components/MenuList/renderMenuList.js.map +1 -1
  345. package/lib-commonjs/components/MenuList/useMenuList.d.ts +1 -1
  346. package/lib-commonjs/components/MenuList/useMenuList.js +12 -9
  347. package/lib-commonjs/components/MenuList/useMenuList.js.map +1 -1
  348. package/lib-commonjs/components/MenuList/useMenuListContextValues.d.ts +1 -1
  349. package/lib-commonjs/components/MenuList/useMenuListContextValues.js +3 -3
  350. package/lib-commonjs/components/MenuList/useMenuListContextValues.js.map +1 -1
  351. package/lib-commonjs/components/MenuList/useMenuListStyles.d.ts +1 -1
  352. package/lib-commonjs/components/MenuList/useMenuListStyles.js +9 -8
  353. package/lib-commonjs/components/MenuList/useMenuListStyles.js.map +1 -1
  354. package/lib-commonjs/components/MenuPopover/MenuPopover.js +3 -3
  355. package/lib-commonjs/components/MenuPopover/MenuPopover.js.map +1 -1
  356. package/lib-commonjs/components/MenuPopover/MenuPopover.types.d.ts +2 -2
  357. package/lib-commonjs/components/MenuPopover/MenuPopover.types.js.map +1 -1
  358. package/lib-commonjs/components/MenuPopover/index.js.map +1 -1
  359. package/lib-commonjs/components/MenuPopover/renderMenuPopover.d.ts +1 -1
  360. package/lib-commonjs/components/MenuPopover/renderMenuPopover.js +7 -5
  361. package/lib-commonjs/components/MenuPopover/renderMenuPopover.js.map +1 -1
  362. package/lib-commonjs/components/MenuPopover/useMenuPopover.d.ts +3 -3
  363. package/lib-commonjs/components/MenuPopover/useMenuPopover.js +12 -9
  364. package/lib-commonjs/components/MenuPopover/useMenuPopover.js.map +1 -1
  365. package/lib-commonjs/components/MenuPopover/useMenuPopoverStyles.d.ts +1 -1
  366. package/lib-commonjs/components/MenuPopover/useMenuPopoverStyles.js +14 -9
  367. package/lib-commonjs/components/MenuPopover/useMenuPopoverStyles.js.map +1 -1
  368. package/lib-commonjs/components/MenuSplitGroup/MenuSplitGroup.d.ts +6 -0
  369. package/lib-commonjs/components/MenuSplitGroup/MenuSplitGroup.js +26 -0
  370. package/lib-commonjs/components/MenuSplitGroup/MenuSplitGroup.js.map +1 -0
  371. package/lib-commonjs/components/MenuSplitGroup/MenuSplitGroup.types.d.ts +14 -0
  372. package/lib-commonjs/components/MenuSplitGroup/MenuSplitGroup.types.js +6 -0
  373. package/lib-commonjs/components/MenuSplitGroup/MenuSplitGroup.types.js.map +1 -0
  374. package/lib-commonjs/components/MenuSplitGroup/index.d.ts +5 -0
  375. package/lib-commonjs/components/MenuSplitGroup/index.js +18 -0
  376. package/lib-commonjs/components/MenuSplitGroup/index.js.map +1 -0
  377. package/lib-commonjs/components/MenuSplitGroup/renderMenuSplitGroup.d.ts +5 -0
  378. package/lib-commonjs/components/MenuSplitGroup/renderMenuSplitGroup.js +26 -0
  379. package/lib-commonjs/components/MenuSplitGroup/renderMenuSplitGroup.js.map +1 -0
  380. package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroup.d.ts +12 -0
  381. package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroup.js +81 -0
  382. package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroup.js.map +1 -0
  383. package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroupStyles.d.ts +6 -0
  384. package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroupStyles.js +47 -0
  385. package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroupStyles.js.map +1 -0
  386. package/lib-commonjs/components/MenuTrigger/MenuTrigger.d.ts +2 -1
  387. package/lib-commonjs/components/MenuTrigger/MenuTrigger.js +3 -2
  388. package/lib-commonjs/components/MenuTrigger/MenuTrigger.js.map +1 -1
  389. package/lib-commonjs/components/MenuTrigger/MenuTrigger.types.d.ts +7 -3
  390. package/lib-commonjs/components/MenuTrigger/MenuTrigger.types.js.map +1 -1
  391. package/lib-commonjs/components/MenuTrigger/index.js.map +1 -1
  392. package/lib-commonjs/components/MenuTrigger/renderMenuTrigger.d.ts +1 -1
  393. package/lib-commonjs/components/MenuTrigger/renderMenuTrigger.js +4 -4
  394. package/lib-commonjs/components/MenuTrigger/renderMenuTrigger.js.map +1 -1
  395. package/lib-commonjs/components/MenuTrigger/useMenuTrigger.d.ts +2 -2
  396. package/lib-commonjs/components/MenuTrigger/useMenuTrigger.js +177 -7
  397. package/lib-commonjs/components/MenuTrigger/useMenuTrigger.js.map +1 -1
  398. package/lib-commonjs/components/index.js.map +1 -1
  399. package/lib-commonjs/contexts/menuContext.d.ts +1 -1
  400. package/lib-commonjs/contexts/menuContext.js +3 -3
  401. package/lib-commonjs/contexts/menuContext.js.map +1 -1
  402. package/lib-commonjs/contexts/menuGroupContext.d.ts +1 -1
  403. package/lib-commonjs/contexts/menuGroupContext.js +3 -3
  404. package/lib-commonjs/contexts/menuGroupContext.js.map +1 -1
  405. package/lib-commonjs/contexts/menuListContext.d.ts +1 -1
  406. package/lib-commonjs/contexts/menuListContext.js +3 -3
  407. package/lib-commonjs/contexts/menuListContext.js.map +1 -1
  408. package/lib-commonjs/contexts/menuTriggerContext.d.ts +1 -1
  409. package/lib-commonjs/contexts/menuTriggerContext.js +4 -4
  410. package/lib-commonjs/contexts/menuTriggerContext.js.map +1 -1
  411. package/lib-commonjs/index.d.ts +11 -10
  412. package/lib-commonjs/index.js +16 -14
  413. package/lib-commonjs/index.js.map +1 -1
  414. package/lib-commonjs/selectable/index.js.map +1 -1
  415. package/lib-commonjs/selectable/types.js.map +1 -1
  416. package/lib-commonjs/selectable/useCheckmarkStyles.d.ts +2 -2
  417. package/lib-commonjs/selectable/useCheckmarkStyles.js +6 -6
  418. package/lib-commonjs/selectable/useCheckmarkStyles.js.map +1 -1
  419. package/lib-commonjs/utils/index.js.map +1 -1
  420. package/lib-commonjs/utils/useIsSubmenu.js +1 -1
  421. package/lib-commonjs/utils/useIsSubmenu.js.map +1 -1
  422. package/lib-commonjs/utils/useOnMenuEnter.js.map +1 -1
  423. package/package.json +16 -17
  424. package/lib/common/isConformant.d.ts +0 -4
  425. package/lib/common/isConformant.js +0 -12
  426. package/lib/common/isConformant.js.map +0 -1
  427. package/lib/common/mockUseMenuContext.d.ts +0 -7
  428. package/lib/common/mockUseMenuContext.js +0 -29
  429. package/lib/common/mockUseMenuContext.js.map +0 -1
  430. package/lib/components/MenuTrigger/useTriggerElement.d.ts +0 -5
  431. package/lib/components/MenuTrigger/useTriggerElement.js +0 -165
  432. package/lib/components/MenuTrigger/useTriggerElement.js.map +0 -1
  433. package/lib-commonjs/common/isConformant.d.ts +0 -4
  434. package/lib-commonjs/common/isConformant.js +0 -23
  435. package/lib-commonjs/common/isConformant.js.map +0 -1
  436. package/lib-commonjs/common/mockUseMenuContext.d.ts +0 -7
  437. package/lib-commonjs/common/mockUseMenuContext.js +0 -39
  438. package/lib-commonjs/common/mockUseMenuContext.js.map +0 -1
  439. package/lib-commonjs/components/MenuTrigger/useTriggerElement.d.ts +0 -5
  440. package/lib-commonjs/components/MenuTrigger/useTriggerElement.js +0 -180
  441. package/lib-commonjs/components/MenuTrigger/useTriggerElement.js.map +0 -1
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.MenuSplitGroup = void 0;
7
+
8
+ const React = /*#__PURE__*/require("react");
9
+
10
+ const useMenuSplitGroup_1 = /*#__PURE__*/require("./useMenuSplitGroup");
11
+
12
+ const renderMenuSplitGroup_1 = /*#__PURE__*/require("./renderMenuSplitGroup");
13
+
14
+ const useMenuSplitGroupStyles_1 = /*#__PURE__*/require("./useMenuSplitGroupStyles");
15
+ /**
16
+ * Layout wrapper that provides extra keyboard navigation behavior for two `MenuItem` components.
17
+ */
18
+
19
+
20
+ exports.MenuSplitGroup = /*#__PURE__*/React.forwardRef((props, ref) => {
21
+ const state = useMenuSplitGroup_1.useMenuSplitGroup_unstable(props, ref);
22
+ useMenuSplitGroupStyles_1.useMenuSplitGroupStyles_unstable(state);
23
+ return renderMenuSplitGroup_1.renderMenuSplitGroup_unstable(state);
24
+ });
25
+ exports.MenuSplitGroup.displayName = 'MenuSplitGroup';
26
+ //# sourceMappingURL=MenuSplitGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["components/MenuSplitGroup/MenuSplitGroup.tsx"],"names":[],"mappings":";;;;;;;AAAA,MAAA,KAAA,gBAAA,OAAA,CAAA,OAAA,CAAA;;AACA,MAAA,mBAAA,gBAAA,OAAA,CAAA,qBAAA,CAAA;;AACA,MAAA,sBAAA,gBAAA,OAAA,CAAA,wBAAA,CAAA;;AACA,MAAA,yBAAA,gBAAA,OAAA,CAAA,2BAAA,CAAA;AAIA;;AAEG;;;AACU,OAAA,CAAA,cAAA,gBAA2D,KAAK,CAAC,UAAN,CAAiB,CAAC,KAAD,EAAQ,GAAR,KAAe;AACtG,QAAM,KAAK,GAAG,mBAAA,CAAA,0BAAA,CAA2B,KAA3B,EAAkC,GAAlC,CAAd;AAEA,EAAA,yBAAA,CAAA,gCAAA,CAAiC,KAAjC;AACA,SAAO,sBAAA,CAAA,6BAAA,CAA8B,KAA9B,CAAP;AACD,CALuE,CAA3D;AAOb,OAAA,CAAA,cAAA,CAAe,WAAf,GAA6B,gBAA7B","sourcesContent":["import * as React from 'react';\nimport { useMenuSplitGroup_unstable } from './useMenuSplitGroup';\nimport { renderMenuSplitGroup_unstable } from './renderMenuSplitGroup';\nimport { useMenuSplitGroupStyles_unstable } from './useMenuSplitGroupStyles';\nimport type { MenuSplitGroupProps } from './MenuSplitGroup.types';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\n\n/**\n * Layout wrapper that provides extra keyboard navigation behavior for two `MenuItem` components.\n */\nexport const MenuSplitGroup: ForwardRefComponent<MenuSplitGroupProps> = React.forwardRef((props, ref) => {\n const state = useMenuSplitGroup_unstable(props, ref);\n\n useMenuSplitGroupStyles_unstable(state);\n return renderMenuSplitGroup_unstable(state);\n});\n\nMenuSplitGroup.displayName = 'MenuSplitGroup';\n"],"sourceRoot":"../src/"}
@@ -0,0 +1,14 @@
1
+ import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';
2
+ export declare type MenuSplitGroupSlots = {
3
+ root: Slot<'div'>;
4
+ };
5
+ declare type MenuSplitGroupCommons = {};
6
+ /**
7
+ * MenuSplitGroup Props
8
+ */
9
+ export declare type MenuSplitGroupProps = ComponentProps<MenuSplitGroupSlots> & MenuSplitGroupCommons;
10
+ /**
11
+ * State used in rendering MenuSplitGroup
12
+ */
13
+ export declare type MenuSplitGroupState = ComponentState<MenuSplitGroupSlots> & MenuSplitGroupCommons;
14
+ export {};
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=MenuSplitGroup.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","sourceRoot":"../src/"}
@@ -0,0 +1,5 @@
1
+ export * from './MenuSplitGroup';
2
+ export * from './MenuSplitGroup.types';
3
+ export * from './renderMenuSplitGroup';
4
+ export * from './useMenuSplitGroup';
5
+ export * from './useMenuSplitGroupStyles';
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ const tslib_1 = /*#__PURE__*/require("tslib");
8
+
9
+ tslib_1.__exportStar(require("./MenuSplitGroup"), exports);
10
+
11
+ tslib_1.__exportStar(require("./MenuSplitGroup.types"), exports);
12
+
13
+ tslib_1.__exportStar(require("./renderMenuSplitGroup"), exports);
14
+
15
+ tslib_1.__exportStar(require("./useMenuSplitGroup"), exports);
16
+
17
+ tslib_1.__exportStar(require("./useMenuSplitGroupStyles"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["components/MenuSplitGroup/index.ts"],"names":[],"mappings":";;;;;;;;AAAA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,kBAAA,CAAA,EAAA,OAAA;;AACA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,wBAAA,CAAA,EAAA,OAAA;;AACA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,wBAAA,CAAA,EAAA,OAAA;;AACA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,qBAAA,CAAA,EAAA,OAAA;;AACA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,2BAAA,CAAA,EAAA,OAAA","sourcesContent":["export * from './MenuSplitGroup';\nexport * from './MenuSplitGroup.types';\nexport * from './renderMenuSplitGroup';\nexport * from './useMenuSplitGroup';\nexport * from './useMenuSplitGroupStyles';\n"],"sourceRoot":"../src/"}
@@ -0,0 +1,5 @@
1
+ import type { MenuSplitGroupState } from './MenuSplitGroup.types';
2
+ /**
3
+ * Render the final JSX of MenuSplitGroup
4
+ */
5
+ export declare const renderMenuSplitGroup_unstable: (state: MenuSplitGroupState) => JSX.Element;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.renderMenuSplitGroup_unstable = void 0;
7
+
8
+ const React = /*#__PURE__*/require("react");
9
+
10
+ const react_utilities_1 = /*#__PURE__*/require("@fluentui/react-utilities");
11
+ /**
12
+ * Render the final JSX of MenuSplitGroup
13
+ */
14
+
15
+
16
+ const renderMenuSplitGroup_unstable = state => {
17
+ const {
18
+ slots,
19
+ slotProps
20
+ } = react_utilities_1.getSlots(state);
21
+ return React.createElement(slots.root, { ...slotProps.root
22
+ });
23
+ };
24
+
25
+ exports.renderMenuSplitGroup_unstable = renderMenuSplitGroup_unstable;
26
+ //# sourceMappingURL=renderMenuSplitGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["components/MenuSplitGroup/renderMenuSplitGroup.tsx"],"names":[],"mappings":";;;;;;;AAAA,MAAA,KAAA,gBAAA,OAAA,CAAA,OAAA,CAAA;;AACA,MAAA,iBAAA,gBAAA,OAAA,CAAA,2BAAA,CAAA;AAGA;;AAEG;;;AACI,MAAM,6BAA6B,GAAI,KAAD,IAA+B;AAC1E,QAAM;AAAE,IAAA,KAAF;AAAS,IAAA;AAAT,MAAuB,iBAAA,CAAA,QAAA,CAA8B,KAA9B,CAA7B;AAEA,SAAO,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,IAAP,EAAW,EAAA,GAAK,SAAS,CAAC;AAAf,GAAX,CAAP;AACD,CAJM;;AAAM,OAAA,CAAA,6BAAA,GAA6B,6BAA7B","sourcesContent":["import * as React from 'react';\nimport { getSlots } from '@fluentui/react-utilities';\nimport type { MenuSplitGroupState, MenuSplitGroupSlots } from './MenuSplitGroup.types';\n\n/**\n * Render the final JSX of MenuSplitGroup\n */\nexport const renderMenuSplitGroup_unstable = (state: MenuSplitGroupState) => {\n const { slots, slotProps } = getSlots<MenuSplitGroupSlots>(state);\n\n return <slots.root {...slotProps.root} />;\n};\n"],"sourceRoot":"../src/"}
@@ -0,0 +1,12 @@
1
+ import * as React from 'react';
2
+ import type { MenuSplitGroupProps, MenuSplitGroupState } from './MenuSplitGroup.types';
3
+ /**
4
+ * Create the state required to render MenuSplitGroup.
5
+ *
6
+ * The returned state can be modified with hooks such as useMenuSplitGroupStyles_unstable,
7
+ * before being passed to renderMenuSplitGroup_unstable.
8
+ *
9
+ * @param props - props from this instance of MenuSplitGroup
10
+ * @param ref - reference to root HTMLElement of MenuSplitGroup
11
+ */
12
+ export declare const useMenuSplitGroup_unstable: (props: MenuSplitGroupProps, ref: React.Ref<HTMLElement>) => MenuSplitGroupState;
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useMenuSplitGroup_unstable = void 0;
7
+
8
+ const React = /*#__PURE__*/require("react");
9
+
10
+ const react_utilities_1 = /*#__PURE__*/require("@fluentui/react-utilities");
11
+
12
+ const react_tabster_1 = /*#__PURE__*/require("@fluentui/react-tabster");
13
+
14
+ const react_shared_contexts_1 = /*#__PURE__*/require("@fluentui/react-shared-contexts");
15
+
16
+ const keyboard_keys_1 = /*#__PURE__*/require("@fluentui/keyboard-keys");
17
+ /**
18
+ * Create the state required to render MenuSplitGroup.
19
+ *
20
+ * The returned state can be modified with hooks such as useMenuSplitGroupStyles_unstable,
21
+ * before being passed to renderMenuSplitGroup_unstable.
22
+ *
23
+ * @param props - props from this instance of MenuSplitGroup
24
+ * @param ref - reference to root HTMLElement of MenuSplitGroup
25
+ */
26
+
27
+
28
+ const useMenuSplitGroup_unstable = (props, ref) => {
29
+ const innerRef = React.useRef();
30
+ const {
31
+ dir,
32
+ targetDocument
33
+ } = react_shared_contexts_1.useFluent();
34
+ const nextArrowKey = react_utilities_1.getRTLSafeKey(keyboard_keys_1.ArrowRight, dir);
35
+ const prevArrowKey = react_utilities_1.getRTLSafeKey(keyboard_keys_1.ArrowLeft, dir);
36
+ const {
37
+ findNextFocusable,
38
+ findPrevFocusable
39
+ } = react_tabster_1.useFocusFinders();
40
+ const onKeyDown = React.useCallback(e => {
41
+ var _a;
42
+
43
+ const activeElement = targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.activeElement;
44
+
45
+ if (!activeElement) {
46
+ return;
47
+ }
48
+
49
+ if (!((_a = innerRef.current) === null || _a === void 0 ? void 0 : _a.contains(activeElement))) {
50
+ return;
51
+ }
52
+
53
+ if (e.key === nextArrowKey) {
54
+ const next = findNextFocusable(activeElement, {
55
+ container: innerRef.current
56
+ });
57
+ next === null || next === void 0 ? void 0 : next.focus();
58
+ }
59
+
60
+ if (e.key === prevArrowKey) {
61
+ const prev = findPrevFocusable(activeElement, {
62
+ container: innerRef.current
63
+ });
64
+ prev === null || prev === void 0 ? void 0 : prev.focus();
65
+ }
66
+ }, [findNextFocusable, findPrevFocusable, targetDocument, nextArrowKey, prevArrowKey]);
67
+ return {
68
+ components: {
69
+ root: 'div'
70
+ },
71
+ root: react_utilities_1.getNativeElementProps('div', {
72
+ role: 'group',
73
+ ref: react_utilities_1.useMergedRefs(ref, innerRef),
74
+ onKeyDown,
75
+ ...props
76
+ })
77
+ };
78
+ };
79
+
80
+ exports.useMenuSplitGroup_unstable = useMenuSplitGroup_unstable;
81
+ //# sourceMappingURL=useMenuSplitGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["components/MenuSplitGroup/useMenuSplitGroup.ts"],"names":[],"mappings":";;;;;;;AAAA,MAAA,KAAA,gBAAA,OAAA,CAAA,OAAA,CAAA;;AACA,MAAA,iBAAA,gBAAA,OAAA,CAAA,2BAAA,CAAA;;AACA,MAAA,eAAA,gBAAA,OAAA,CAAA,yBAAA,CAAA;;AACA,MAAA,uBAAA,gBAAA,OAAA,CAAA,iCAAA,CAAA;;AAEA,MAAA,eAAA,gBAAA,OAAA,CAAA,yBAAA,CAAA;AAEA;;;;;;;;AAQG;;;AACI,MAAM,0BAA0B,GAAG,CACxC,KADwC,EAExC,GAFwC,KAGjB;AACvB,QAAM,QAAQ,GAAG,KAAK,CAAC,MAAN,EAAjB;AACA,QAAM;AAAE,IAAA,GAAF;AAAO,IAAA;AAAP,MAA0B,uBAAA,CAAA,SAAA,EAAhC;AAEA,QAAM,YAAY,GAAG,iBAAA,CAAA,aAAA,CAAc,eAAA,CAAA,UAAd,EAA0B,GAA1B,CAArB;AACA,QAAM,YAAY,GAAG,iBAAA,CAAA,aAAA,CAAc,eAAA,CAAA,SAAd,EAAyB,GAAzB,CAArB;AAEA,QAAM;AAAE,IAAA,iBAAF;AAAqB,IAAA;AAArB,MAA2C,eAAA,CAAA,eAAA,EAAjD;AAEA,QAAM,SAAS,GAAG,KAAK,CAAC,WAAN,CACf,CAAD,IAAwC;;;AACtC,UAAM,aAAa,GAAG,cAAc,KAAA,IAAd,IAAA,cAAc,KAAA,KAAA,CAAd,GAAc,KAAA,CAAd,GAAA,cAAc,CAAE,aAAtC;;AACA,QAAI,CAAC,aAAL,EAAoB;AAClB;AACD;;AAED,QAAI,EAAC,CAAA,EAAA,GAAA,QAAQ,CAAC,OAAT,MAAgB,IAAhB,IAAgB,EAAA,KAAA,KAAA,CAAhB,GAAgB,KAAA,CAAhB,GAAgB,EAAA,CAAE,QAAF,CAAW,aAAX,CAAjB,CAAJ,EAAgD;AAC9C;AACD;;AAED,QAAI,CAAC,CAAC,GAAF,KAAU,YAAd,EAA4B;AAC1B,YAAM,IAAI,GAAG,iBAAiB,CAAC,aAAD,EAA+B;AAAE,QAAA,SAAS,EAAE,QAAQ,CAAC;AAAtB,OAA/B,CAA9B;AACA,MAAA,IAAI,KAAA,IAAJ,IAAA,IAAI,KAAA,KAAA,CAAJ,GAAI,KAAA,CAAJ,GAAA,IAAI,CAAE,KAAN,EAAA;AACD;;AAED,QAAI,CAAC,CAAC,GAAF,KAAU,YAAd,EAA4B;AAC1B,YAAM,IAAI,GAAG,iBAAiB,CAAC,aAAD,EAA+B;AAAE,QAAA,SAAS,EAAE,QAAQ,CAAC;AAAtB,OAA/B,CAA9B;AACA,MAAA,IAAI,KAAA,IAAJ,IAAA,IAAI,KAAA,KAAA,CAAJ,GAAI,KAAA,CAAJ,GAAA,IAAI,CAAE,KAAN,EAAA;AACD;AACF,GApBe,EAqBhB,CAAC,iBAAD,EAAoB,iBAApB,EAAuC,cAAvC,EAAuD,YAAvD,EAAqE,YAArE,CArBgB,CAAlB;AAwBA,SAAO;AACL,IAAA,UAAU,EAAE;AACV,MAAA,IAAI,EAAE;AADI,KADP;AAIL,IAAA,IAAI,EAAE,iBAAA,CAAA,qBAAA,CAAsB,KAAtB,EAA6B;AACjC,MAAA,IAAI,EAAE,OAD2B;AAEjC,MAAA,GAAG,EAAE,iBAAA,CAAA,aAAA,CAAc,GAAd,EAAmB,QAAnB,CAF4B;AAGjC,MAAA,SAHiC;AAIjC,SAAG;AAJ8B,KAA7B;AAJD,GAAP;AAWD,CA/CM;;AAAM,OAAA,CAAA,0BAAA,GAA0B,0BAA1B","sourcesContent":["import * as React from 'react';\nimport { getNativeElementProps, getRTLSafeKey, useMergedRefs } from '@fluentui/react-utilities';\nimport { useFocusFinders } from '@fluentui/react-tabster';\nimport { useFluent } from '@fluentui/react-shared-contexts';\nimport type { MenuSplitGroupProps, MenuSplitGroupState } from './MenuSplitGroup.types';\nimport { ArrowRight, ArrowLeft } from '@fluentui/keyboard-keys';\n\n/**\n * Create the state required to render MenuSplitGroup.\n *\n * The returned state can be modified with hooks such as useMenuSplitGroupStyles_unstable,\n * before being passed to renderMenuSplitGroup_unstable.\n *\n * @param props - props from this instance of MenuSplitGroup\n * @param ref - reference to root HTMLElement of MenuSplitGroup\n */\nexport const useMenuSplitGroup_unstable = (\n props: MenuSplitGroupProps,\n ref: React.Ref<HTMLElement>,\n): MenuSplitGroupState => {\n const innerRef = React.useRef<HTMLElement>();\n const { dir, targetDocument } = useFluent();\n\n const nextArrowKey = getRTLSafeKey(ArrowRight, dir);\n const prevArrowKey = getRTLSafeKey(ArrowLeft, dir);\n\n const { findNextFocusable, findPrevFocusable } = useFocusFinders();\n\n const onKeyDown = React.useCallback(\n (e: React.KeyboardEvent<HTMLElement>) => {\n const activeElement = targetDocument?.activeElement;\n if (!activeElement) {\n return;\n }\n\n if (!innerRef.current?.contains(activeElement)) {\n return;\n }\n\n if (e.key === nextArrowKey) {\n const next = findNextFocusable(activeElement as HTMLElement, { container: innerRef.current });\n next?.focus();\n }\n\n if (e.key === prevArrowKey) {\n const prev = findPrevFocusable(activeElement as HTMLElement, { container: innerRef.current });\n prev?.focus();\n }\n },\n [findNextFocusable, findPrevFocusable, targetDocument, nextArrowKey, prevArrowKey],\n );\n\n return {\n components: {\n root: 'div',\n },\n root: getNativeElementProps('div', {\n role: 'group',\n ref: useMergedRefs(ref, innerRef),\n onKeyDown,\n ...props,\n }),\n };\n};\n"],"sourceRoot":"../src/"}
@@ -0,0 +1,6 @@
1
+ import type { MenuSplitGroupState } from './MenuSplitGroup.types';
2
+ export declare const menuSplitGroupClassName = "fui-MenuSplitGroup";
3
+ /**
4
+ * Apply styling to the MenuSplitGroup slots based on the state
5
+ */
6
+ export declare const useMenuSplitGroupStyles_unstable: (state: MenuSplitGroupState) => MenuSplitGroupState;
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useMenuSplitGroupStyles_unstable = exports.menuSplitGroupClassName = void 0;
7
+
8
+ const react_1 = /*#__PURE__*/require("@griffel/react");
9
+
10
+ const react_theme_1 = /*#__PURE__*/require("@fluentui/react-theme");
11
+
12
+ const useMenuItemStyles_1 = /*#__PURE__*/require("../MenuItem/useMenuItemStyles");
13
+
14
+ exports.menuSplitGroupClassName = 'fui-MenuSplitGroup';
15
+ /**
16
+ * Styles for the root slot
17
+ */
18
+
19
+ const useStyles = /*#__PURE__*/react_1.__styles({
20
+ "root": {
21
+ "mc9l5x": "f22iagw",
22
+ "u7v6m2": "f168awwq",
23
+ "Bo1wru1": ["f1om2jlk", "fcyhg04"],
24
+ "Bhkyaub": ["fgqgg70", "fqo1hry"],
25
+ "J9ixe0": ["fh1zedf", "f1auaj6e"],
26
+ "rj29m3": ["fokbbcd", "f1xlvh9o"],
27
+ "lispf9": "f1et5qag",
28
+ "B9hwub1": "f13ngu1f",
29
+ "dvf9w6": "f1db9j62",
30
+ "Hjn5ok": "f92z21p"
31
+ }
32
+ }, {
33
+ "d": [".f22iagw{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}", ".f168awwq>.fui-MenuItem:nth-child(1){width:100%;}", ".f1om2jlk>.fui-MenuItem:nth-child(2){border-top-left-radius:0;}", ".fcyhg04>.fui-MenuItem:nth-child(2){border-top-right-radius:0;}", ".fgqgg70>.fui-MenuItem:nth-child(2){border-bottom-left-radius:0;}", ".fqo1hry>.fui-MenuItem:nth-child(2){border-bottom-right-radius:0;}", ".fh1zedf>.fui-MenuItem:nth-child(2){padding-left:0;}", ".f1auaj6e>.fui-MenuItem:nth-child(2){padding-right:0;}", ".fokbbcd>.fui-MenuItem:nth-child(2){margin-left:auto;}", ".f1xlvh9o>.fui-MenuItem:nth-child(2){margin-right:auto;}", ".f1et5qag>.fui-MenuItem:nth-child(2):before{content:\"\";}", ".f13ngu1f>.fui-MenuItem:nth-child(2):before{width:var(--strokeWidthThin);}", ".f1db9j62>.fui-MenuItem:nth-child(2):before{height:24px;}", ".f92z21p>.fui-MenuItem:nth-child(2):before{background-color:var(--colorNeutralStroke1);}"]
34
+ });
35
+ /**
36
+ * Apply styling to the MenuSplitGroup slots based on the state
37
+ */
38
+
39
+
40
+ const useMenuSplitGroupStyles_unstable = state => {
41
+ const styles = useStyles();
42
+ state.root.className = react_1.mergeClasses(exports.menuSplitGroupClassName, styles.root, state.root.className);
43
+ return state;
44
+ };
45
+
46
+ exports.useMenuSplitGroupStyles_unstable = useMenuSplitGroupStyles_unstable;
47
+ //# sourceMappingURL=useMenuSplitGroupStyles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["components/MenuSplitGroup/useMenuSplitGroupStyles.ts"],"names":[],"mappings":";;;;;;;AAAA,MAAA,OAAA,gBAAA,OAAA,CAAA,gBAAA,CAAA;;AACA,MAAA,aAAA,gBAAA,OAAA,CAAA,uBAAA,CAAA;;AACA,MAAA,mBAAA,gBAAA,OAAA,CAAA,+BAAA,CAAA;;AAGa,OAAA,CAAA,uBAAA,GAA0B,oBAA1B;AAEb;;AAEG;;AACH,MAAM,SAAS,gBAAG,OAAA,SAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAAlB;AAqBA;;AAEG;;;AACI,MAAM,gCAAgC,GAAI,KAAD,IAAoD;AAClG,QAAM,MAAM,GAAG,SAAS,EAAxB;AACA,EAAA,KAAK,CAAC,IAAN,CAAW,SAAX,GAAuB,OAAA,CAAA,YAAA,CAAa,OAAA,CAAA,uBAAb,EAAsC,MAAM,CAAC,IAA7C,EAAmD,KAAK,CAAC,IAAN,CAAW,SAA9D,CAAvB;AACA,SAAO,KAAP;AACD,CAJM;;AAAM,OAAA,CAAA,gCAAA,GAAgC,gCAAhC","sourcesContent":["import { makeStyles, mergeClasses } from '@griffel/react';\nimport { tokens } from '@fluentui/react-theme';\nimport { menuItemClassName } from '../MenuItem/useMenuItemStyles';\nimport type { MenuSplitGroupState } from './MenuSplitGroup.types';\n\nexport const menuSplitGroupClassName = 'fui-MenuSplitGroup';\n\n/**\n * Styles for the root slot\n */\nconst useStyles = makeStyles({\n root: {\n display: 'flex',\n [`& > .${menuItemClassName}:nth-child(1)`]: {\n width: '100%',\n },\n [`& > .${menuItemClassName}:nth-child(2)`]: {\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0,\n paddingLeft: 0,\n marginLeft: 'auto',\n ':before': {\n content: '\"\"',\n width: tokens.strokeWidthThin,\n height: '24px',\n backgroundColor: tokens.colorNeutralStroke1,\n },\n },\n },\n});\n\n/**\n * Apply styling to the MenuSplitGroup slots based on the state\n */\nexport const useMenuSplitGroupStyles_unstable = (state: MenuSplitGroupState): MenuSplitGroupState => {\n const styles = useStyles();\n state.root.className = mergeClasses(menuSplitGroupClassName, styles.root, state.root.className);\n return state;\n};\n"],"sourceRoot":"../src/"}
@@ -1,7 +1,8 @@
1
1
  import * as React from 'react';
2
2
  import type { MenuTriggerProps } from './MenuTrigger.types';
3
+ import type { FluentTriggerComponent } from '@fluentui/react-utilities';
3
4
  /**
4
5
  * Wraps a trigger element as an only child
5
6
  * and adds the necessary event handling to open a popup menu
6
7
  */
7
- export declare const MenuTrigger: React.FC<MenuTriggerProps>;
8
+ export declare const MenuTrigger: React.FC<MenuTriggerProps> & FluentTriggerComponent;
@@ -15,10 +15,11 @@ const renderMenuTrigger_1 = /*#__PURE__*/require("./renderMenuTrigger");
15
15
 
16
16
 
17
17
  const MenuTrigger = props => {
18
- const state = useMenuTrigger_1.useMenuTrigger(props);
19
- return renderMenuTrigger_1.renderMenuTrigger(state);
18
+ const state = useMenuTrigger_1.useMenuTrigger_unstable(props);
19
+ return renderMenuTrigger_1.renderMenuTrigger_unstable(state);
20
20
  };
21
21
 
22
22
  exports.MenuTrigger = MenuTrigger;
23
23
  exports.MenuTrigger.displayName = 'MenuTrigger';
24
+ exports.MenuTrigger.isFluentTriggerComponent = true;
24
25
  //# sourceMappingURL=MenuTrigger.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/MenuTrigger/MenuTrigger.tsx"],"names":[],"mappings":";;;;;;;AACA,MAAA,gBAAA,gBAAA,OAAA,CAAA,kBAAA,CAAA;;AACA,MAAA,mBAAA,gBAAA,OAAA,CAAA,qBAAA,CAAA;AAGA;;;AAGG;;;AACI,MAAM,WAAW,GAA+B,KAAK,IAAG;AAC7D,QAAM,KAAK,GAAG,gBAAA,CAAA,cAAA,CAAe,KAAf,CAAd;AAEA,SAAO,mBAAA,CAAA,iBAAA,CAAkB,KAAlB,CAAP;AACD,CAJM;;AAAM,OAAA,CAAA,WAAA,GAAW,WAAX;AAMb,OAAA,CAAA,WAAA,CAAY,WAAZ,GAA0B,aAA1B","sourceRoot":""}
1
+ {"version":3,"sources":["components/MenuTrigger/MenuTrigger.tsx"],"names":[],"mappings":";;;;;;;AACA,MAAA,gBAAA,gBAAA,OAAA,CAAA,kBAAA,CAAA;;AACA,MAAA,mBAAA,gBAAA,OAAA,CAAA,qBAAA,CAAA;AAIA;;;AAGG;;;AACI,MAAM,WAAW,GAAwD,KAAK,IAAG;AACtF,QAAM,KAAK,GAAG,gBAAA,CAAA,uBAAA,CAAwB,KAAxB,CAAd;AAEA,SAAO,mBAAA,CAAA,0BAAA,CAA2B,KAA3B,CAAP;AACD,CAJM;;AAAM,OAAA,CAAA,WAAA,GAAW,WAAX;AAMb,OAAA,CAAA,WAAA,CAAY,WAAZ,GAA0B,aAA1B;AACA,OAAA,CAAA,WAAA,CAAY,wBAAZ,GAAuC,IAAvC","sourcesContent":["import * as React from 'react';\nimport { useMenuTrigger_unstable } from './useMenuTrigger';\nimport { renderMenuTrigger_unstable } from './renderMenuTrigger';\nimport type { MenuTriggerProps } from './MenuTrigger.types';\nimport type { FluentTriggerComponent } from '@fluentui/react-utilities';\n\n/**\n * Wraps a trigger element as an only child\n * and adds the necessary event handling to open a popup menu\n */\nexport const MenuTrigger: React.FC<MenuTriggerProps> & FluentTriggerComponent = props => {\n const state = useMenuTrigger_unstable(props);\n\n return renderMenuTrigger_unstable(state);\n};\n\nMenuTrigger.displayName = 'MenuTrigger';\nMenuTrigger.isFluentTriggerComponent = true;\n"],"sourceRoot":"../src/"}
@@ -5,12 +5,16 @@ export declare type MenuTriggerProps = {
5
5
  */
6
6
  children: (React.ReactElement & {
7
7
  ref?: React.Ref<unknown>;
8
- }) | ((props: MenuTriggerChildProps) => React.ReactNode);
8
+ }) | ((props: MenuTriggerChildProps) => React.ReactElement | null);
9
9
  };
10
10
  /**
11
11
  * Props that are passed to the child of the MenuTrigger when cloned to ensure correct behaviour for the Menu
12
12
  */
13
- export declare type MenuTriggerChildProps = Required<Pick<React.HTMLAttributes<HTMLElement>, 'onClick' | 'onMouseEnter' | 'onMouseLeave' | 'onContextMenu' | 'onKeyDown' | 'aria-haspopup' | 'aria-expanded' | 'id'>> & {
13
+ export declare type MenuTriggerChildProps = Required<Pick<React.HTMLAttributes<HTMLElement>, 'onClick' | 'onMouseEnter' | 'onMouseLeave' | 'onMouseMove' | 'onContextMenu' | 'onKeyDown' | 'aria-haspopup' | 'id'>> & {
14
14
  ref?: React.Ref<never>;
15
+ 'aria-expanded': boolean | undefined;
16
+ };
17
+ export declare type MenuTriggerState = {
18
+ children: React.ReactElement | null;
19
+ isSubmenu: boolean;
15
20
  };
16
- export declare type MenuTriggerState = MenuTriggerProps;
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","sourceRoot":""}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","sourceRoot":"../src/"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/MenuTrigger/index.ts"],"names":[],"mappings":";;;;;;;;AAAA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,eAAA,CAAA,EAAA,OAAA;;AACA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,qBAAA,CAAA,EAAA,OAAA;;AACA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,qBAAA,CAAA,EAAA,OAAA;;AACA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,kBAAA,CAAA,EAAA,OAAA","sourceRoot":""}
1
+ {"version":3,"sources":["components/MenuTrigger/index.ts"],"names":[],"mappings":";;;;;;;;AAAA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,eAAA,CAAA,EAAA,OAAA;;AACA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,qBAAA,CAAA,EAAA,OAAA;;AACA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,qBAAA,CAAA,EAAA,OAAA;;AACA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,kBAAA,CAAA,EAAA,OAAA","sourcesContent":["export * from './MenuTrigger';\nexport * from './MenuTrigger.types';\nexport * from './renderMenuTrigger';\nexport * from './useMenuTrigger';\n"],"sourceRoot":"../src/"}
@@ -4,4 +4,4 @@ import type { MenuTriggerState } from './MenuTrigger.types';
4
4
  *
5
5
  * Only renders children
6
6
  */
7
- export declare const renderMenuTrigger: (state: MenuTriggerState) => JSX.Element;
7
+ export declare const renderMenuTrigger_unstable: (state: MenuTriggerState) => JSX.Element;
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.renderMenuTrigger = void 0;
6
+ exports.renderMenuTrigger_unstable = void 0;
7
7
 
8
8
  const React = /*#__PURE__*/require("react");
9
9
 
@@ -15,11 +15,11 @@ const menuTriggerContext_1 = /*#__PURE__*/require("../../contexts/menuTriggerCon
15
15
  */
16
16
 
17
17
 
18
- const renderMenuTrigger = state => {
18
+ const renderMenuTrigger_unstable = state => {
19
19
  return React.createElement(menuTriggerContext_1.MenuTriggerContextProvider, {
20
- value: true
20
+ value: state.isSubmenu
21
21
  }, state.children);
22
22
  };
23
23
 
24
- exports.renderMenuTrigger = renderMenuTrigger;
24
+ exports.renderMenuTrigger_unstable = renderMenuTrigger_unstable;
25
25
  //# sourceMappingURL=renderMenuTrigger.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/MenuTrigger/renderMenuTrigger.tsx"],"names":[],"mappings":";;;;;;;AAAA,MAAA,KAAA,gBAAA,OAAA,CAAA,OAAA,CAAA;;AACA,MAAA,oBAAA,gBAAA,OAAA,CAAA,mCAAA,CAAA;AAGA;;;;AAIG;;;AACI,MAAM,iBAAiB,GAAI,KAAD,IAA4B;AAC3D,SAAO,KAAA,CAAA,aAAA,CAAC,oBAAA,CAAA,0BAAD,EAA2B;AAAC,IAAA,KAAK,EAAE;AAAR,GAA3B,EAA0C,KAAK,CAAC,QAAhD,CAAP;AACD,CAFM;;AAAM,OAAA,CAAA,iBAAA,GAAiB,iBAAjB","sourceRoot":""}
1
+ {"version":3,"sources":["components/MenuTrigger/renderMenuTrigger.tsx"],"names":[],"mappings":";;;;;;;AAAA,MAAA,KAAA,gBAAA,OAAA,CAAA,OAAA,CAAA;;AACA,MAAA,oBAAA,gBAAA,OAAA,CAAA,mCAAA,CAAA;AAGA;;;;AAIG;;;AACI,MAAM,0BAA0B,GAAI,KAAD,IAA4B;AACpE,SAAO,KAAA,CAAA,aAAA,CAAC,oBAAA,CAAA,0BAAD,EAA2B;AAAC,IAAA,KAAK,EAAE,KAAK,CAAC;AAAd,GAA3B,EAAqD,KAAK,CAAC,QAA3D,CAAP;AACD,CAFM;;AAAM,OAAA,CAAA,0BAAA,GAA0B,0BAA1B","sourcesContent":["import * as React from 'react';\nimport { MenuTriggerContextProvider } from '../../contexts/menuTriggerContext';\nimport type { MenuTriggerState } from './MenuTrigger.types';\n\n/**\n * Render the final JSX of MenuTrigger\n *\n * Only renders children\n */\nexport const renderMenuTrigger_unstable = (state: MenuTriggerState) => {\n return <MenuTriggerContextProvider value={state.isSubmenu}>{state.children}</MenuTriggerContextProvider>;\n};\n"],"sourceRoot":"../src/"}
@@ -1,8 +1,8 @@
1
- import type { MenuTriggerProps, MenuTriggerState } from './MenuTrigger.types';
1
+ import { MenuTriggerProps, MenuTriggerState } from './MenuTrigger.types';
2
2
  /**
3
3
  * Create the state required to render MenuTrigger.
4
4
  * Clones the only child component and adds necessary event handling behaviours to open a popup menu
5
5
  *
6
6
  * @param props - props from this instance of MenuTrigger
7
7
  */
8
- export declare const useMenuTrigger: (props: MenuTriggerProps) => MenuTriggerState;
8
+ export declare const useMenuTrigger_unstable: (props: MenuTriggerProps) => MenuTriggerState;
@@ -3,9 +3,23 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.useMenuTrigger = void 0;
6
+ exports.useMenuTrigger_unstable = void 0;
7
7
 
8
- const useTriggerElement_1 = /*#__PURE__*/require("./useTriggerElement");
8
+ const React = /*#__PURE__*/require("react");
9
+
10
+ const menuContext_1 = /*#__PURE__*/require("../../contexts/menuContext");
11
+
12
+ const useIsSubmenu_1 = /*#__PURE__*/require("../../utils/useIsSubmenu");
13
+
14
+ const react_tabster_1 = /*#__PURE__*/require("@fluentui/react-tabster");
15
+
16
+ const react_shared_contexts_1 = /*#__PURE__*/require("@fluentui/react-shared-contexts");
17
+
18
+ const keyboard_keys_1 = /*#__PURE__*/require("@fluentui/keyboard-keys");
19
+
20
+ const react_utilities_1 = /*#__PURE__*/require("@fluentui/react-utilities");
21
+
22
+ const react_utilities_2 = /*#__PURE__*/require("@fluentui/react-utilities");
9
23
  /**
10
24
  * Create the state required to render MenuTrigger.
11
25
  * Clones the only child component and adds necessary event handling behaviours to open a popup menu
@@ -14,12 +28,168 @@ const useTriggerElement_1 = /*#__PURE__*/require("./useTriggerElement");
14
28
  */
15
29
 
16
30
 
17
- const useMenuTrigger = props => {
18
- const state = { ...props
19
- }; // TODO just move the contents of this hook here
31
+ const useMenuTrigger_unstable = props => {
32
+ var _a, _b, _c, _d, _e, _f;
33
+
34
+ const {
35
+ children
36
+ } = props;
37
+ const triggerRef = menuContext_1.useMenuContext_unstable(context => context.triggerRef);
38
+ const menuPopoverRef = menuContext_1.useMenuContext_unstable(context => context.menuPopoverRef);
39
+ const setOpen = menuContext_1.useMenuContext_unstable(context => context.setOpen);
40
+ const open = menuContext_1.useMenuContext_unstable(context => context.open);
41
+ const triggerId = menuContext_1.useMenuContext_unstable(context => context.triggerId);
42
+ const openOnHover = menuContext_1.useMenuContext_unstable(context => context.openOnHover);
43
+ const openOnContext = menuContext_1.useMenuContext_unstable(context => context.openOnContext);
44
+ const isSubmenu = useIsSubmenu_1.useIsSubmenu();
45
+ const {
46
+ findFirstFocusable
47
+ } = react_tabster_1.useFocusFinders();
48
+ const focusFirst = React.useCallback(() => {
49
+ const firstFocusable = findFirstFocusable(menuPopoverRef.current);
50
+ firstFocusable === null || firstFocusable === void 0 ? void 0 : firstFocusable.focus();
51
+ }, [findFirstFocusable, menuPopoverRef]);
52
+ const openedWithKeyboardRef = React.useRef(false);
53
+ const hasMouseMoved = React.useRef(false);
54
+ const {
55
+ dir
56
+ } = react_shared_contexts_1.useFluent();
57
+ const OpenArrowKey = dir === 'ltr' ? keyboard_keys_1.ArrowRight : keyboard_keys_1.ArrowLeft;
58
+ const child = React.isValidElement(children) ? react_utilities_1.getTriggerChild(children) : undefined;
59
+
60
+ const onContextMenu = e => {
61
+ if (isTargetDisabled(e)) {
62
+ return;
63
+ }
64
+
65
+ if (openOnContext) {
66
+ e.preventDefault();
67
+ setOpen(e, {
68
+ open: true,
69
+ keyboard: false
70
+ });
71
+ }
72
+ };
73
+
74
+ const onClick = e => {
75
+ if (isTargetDisabled(e)) {
76
+ return;
77
+ }
78
+
79
+ if (!openOnContext) {
80
+ setOpen(e, {
81
+ open: !open,
82
+ keyboard: openedWithKeyboardRef.current
83
+ });
84
+ openedWithKeyboardRef.current = false;
85
+ }
86
+ };
87
+
88
+ const onKeyDown = e => {
89
+ var _a;
90
+
91
+ if (isTargetDisabled(e)) {
92
+ return;
93
+ }
94
+
95
+ if (react_utilities_2.shouldPreventDefaultOnKeyDown(e)) {
96
+ e.preventDefault();
97
+ openedWithKeyboardRef.current = true;
98
+ (_a = e.target) === null || _a === void 0 ? void 0 : _a.click();
99
+ }
100
+
101
+ const key = e.key;
20
102
 
21
- return useTriggerElement_1.useTriggerElement(state);
103
+ if (!openOnContext && (isSubmenu && key === OpenArrowKey || !isSubmenu && key === keyboard_keys_1.ArrowDown)) {
104
+ setOpen(e, {
105
+ open: true,
106
+ keyboard: true
107
+ });
108
+ }
109
+
110
+ if (key === keyboard_keys_1.Escape && !isSubmenu) {
111
+ setOpen(e, {
112
+ open: false,
113
+ keyboard: true
114
+ });
115
+ } // if menu is already open, can't rely on effects to focus
116
+
117
+
118
+ if (open && key === OpenArrowKey && isSubmenu) {
119
+ focusFirst();
120
+ }
121
+ };
122
+
123
+ const onMouseEnter = e => {
124
+ if (isTargetDisabled(e)) {
125
+ return;
126
+ }
127
+
128
+ if (openOnHover && hasMouseMoved.current) {
129
+ setOpen(e, {
130
+ open: true,
131
+ keyboard: false
132
+ });
133
+ }
134
+ }; // Opening a menu when a mouse hasn't moved and just entering the trigger is a bad a11y experience
135
+ // First time open the mouse using mousemove and then continue with mouseenter
136
+ // Only use once to determine that the user is using the mouse since it is an expensive event to handle
137
+
138
+
139
+ const onMouseMove = e => {
140
+ if (isTargetDisabled(e)) {
141
+ return;
142
+ }
143
+
144
+ if (openOnHover && !hasMouseMoved.current) {
145
+ setOpen(e, {
146
+ open: true,
147
+ keyboard: false
148
+ });
149
+ hasMouseMoved.current = true;
150
+ }
151
+ };
152
+
153
+ const onMouseLeave = e => {
154
+ if (isTargetDisabled(e)) {
155
+ return;
156
+ }
157
+
158
+ if (openOnHover) {
159
+ setOpen(e, {
160
+ open: false,
161
+ keyboard: false
162
+ });
163
+ }
164
+ };
165
+
166
+ return {
167
+ isSubmenu,
168
+ children: react_utilities_1.applyTriggerPropsToChildren(children, {
169
+ 'aria-haspopup': 'menu',
170
+ 'aria-expanded': !open && !isSubmenu ? undefined : open,
171
+ id: triggerId,
172
+ ...(child === null || child === void 0 ? void 0 : child.props),
173
+ ref: react_utilities_1.useMergedRefs(triggerRef, child === null || child === void 0 ? void 0 : child.ref),
174
+ onClick: react_utilities_1.useMergedEventCallbacks((_a = child === null || child === void 0 ? void 0 : child.props) === null || _a === void 0 ? void 0 : _a.onClick, onClick),
175
+ onMouseEnter: react_utilities_1.useMergedEventCallbacks((_b = child === null || child === void 0 ? void 0 : child.props) === null || _b === void 0 ? void 0 : _b.onMouseEnter, onMouseEnter),
176
+ onMouseLeave: react_utilities_1.useMergedEventCallbacks((_c = child === null || child === void 0 ? void 0 : child.props) === null || _c === void 0 ? void 0 : _c.onMouseLeave, onMouseLeave),
177
+ onKeyDown: react_utilities_1.useMergedEventCallbacks((_d = child === null || child === void 0 ? void 0 : child.props) === null || _d === void 0 ? void 0 : _d.onKeyDown, onKeyDown),
178
+ onContextMenu: react_utilities_1.useMergedEventCallbacks((_e = child === null || child === void 0 ? void 0 : child.props) === null || _e === void 0 ? void 0 : _e.onContextMenu, onContextMenu),
179
+ onMouseMove: react_utilities_1.useMergedEventCallbacks((_f = child === null || child === void 0 ? void 0 : child.props) === null || _f === void 0 ? void 0 : _f.onMouseMove, onMouseMove)
180
+ })
181
+ };
22
182
  };
23
183
 
24
- exports.useMenuTrigger = useMenuTrigger;
184
+ exports.useMenuTrigger_unstable = useMenuTrigger_unstable;
185
+
186
+ const isTargetDisabled = e => {
187
+ const isDisabled = el => el.hasAttribute('disabled') || el.hasAttribute('aria-disabled') && el.getAttribute('aria-disabled') === 'true';
188
+
189
+ if (e.target instanceof HTMLElement && isDisabled(e.target)) {
190
+ return true;
191
+ }
192
+
193
+ return e.currentTarget instanceof HTMLElement && isDisabled(e.currentTarget);
194
+ };
25
195
  //# sourceMappingURL=useMenuTrigger.js.map