@fluentui/react-menu 0.0.0-nightly3bc051736320220112.1 → 0.0.0-nightly43b133e62020220224.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 (412) hide show
  1. package/CHANGELOG.json +268 -58
  2. package/CHANGELOG.md +65 -20
  3. package/dist/react-menu.d.ts +74 -80
  4. package/lib/Menu.js.map +1 -1
  5. package/lib/MenuDivider.js.map +1 -1
  6. package/lib/MenuGroup.js.map +1 -1
  7. package/lib/MenuGroupHeader.js.map +1 -1
  8. package/lib/MenuItem.js.map +1 -1
  9. package/lib/MenuItemCheckbox.js.map +1 -1
  10. package/lib/MenuItemRadio.js.map +1 -1
  11. package/lib/MenuList.js.map +1 -1
  12. package/lib/MenuPopover.js.map +1 -1
  13. package/lib/MenuSplitGroup.js.map +1 -1
  14. package/lib/MenuTrigger.js.map +1 -1
  15. package/lib/components/Menu/Menu.js +6 -6
  16. package/lib/components/Menu/Menu.js.map +1 -1
  17. package/lib/components/Menu/Menu.types.d.ts +1 -1
  18. package/lib/components/Menu/Menu.types.js.map +1 -1
  19. package/lib/components/Menu/index.js.map +1 -1
  20. package/lib/components/Menu/renderMenu.d.ts +1 -1
  21. package/lib/components/Menu/renderMenu.js +1 -1
  22. package/lib/components/Menu/renderMenu.js.map +1 -1
  23. package/lib/components/Menu/useMenu.d.ts +2 -2
  24. package/lib/components/Menu/useMenu.js +6 -5
  25. package/lib/components/Menu/useMenu.js.map +1 -1
  26. package/lib/components/Menu/useMenuContextValues.d.ts +1 -1
  27. package/lib/components/Menu/useMenuContextValues.js +1 -1
  28. package/lib/components/Menu/useMenuContextValues.js.map +1 -1
  29. package/lib/components/MenuDivider/MenuDivider.d.ts +1 -1
  30. package/lib/components/MenuDivider/MenuDivider.js +7 -7
  31. package/lib/components/MenuDivider/MenuDivider.js.map +1 -1
  32. package/lib/components/MenuDivider/MenuDivider.types.d.ts +2 -2
  33. package/lib/components/MenuDivider/MenuDivider.types.js.map +1 -1
  34. package/lib/components/MenuDivider/index.js.map +1 -1
  35. package/lib/components/MenuDivider/renderMenuDivider.d.ts +1 -1
  36. package/lib/components/MenuDivider/renderMenuDivider.js +1 -1
  37. package/lib/components/MenuDivider/renderMenuDivider.js.map +1 -1
  38. package/lib/components/MenuDivider/useMenuDivider.d.ts +1 -1
  39. package/lib/components/MenuDivider/useMenuDivider.js +4 -1
  40. package/lib/components/MenuDivider/useMenuDivider.js.map +1 -1
  41. package/lib/components/MenuDivider/useMenuDividerStyles.d.ts +1 -1
  42. package/lib/components/MenuDivider/useMenuDividerStyles.js +2 -2
  43. package/lib/components/MenuDivider/useMenuDividerStyles.js.map +1 -1
  44. package/lib/components/MenuGroup/MenuGroup.d.ts +1 -1
  45. package/lib/components/MenuGroup/MenuGroup.js +9 -9
  46. package/lib/components/MenuGroup/MenuGroup.js.map +1 -1
  47. package/lib/components/MenuGroup/MenuGroup.types.d.ts +3 -3
  48. package/lib/components/MenuGroup/MenuGroup.types.js.map +1 -1
  49. package/lib/components/MenuGroup/index.js.map +1 -1
  50. package/lib/components/MenuGroup/renderMenuGroup.d.ts +1 -1
  51. package/lib/components/MenuGroup/renderMenuGroup.js +1 -1
  52. package/lib/components/MenuGroup/renderMenuGroup.js.map +1 -1
  53. package/lib/components/MenuGroup/useMenuGroup.d.ts +1 -1
  54. package/lib/components/MenuGroup/useMenuGroup.js +4 -1
  55. package/lib/components/MenuGroup/useMenuGroup.js.map +1 -1
  56. package/lib/components/MenuGroup/useMenuGroupContextValues.d.ts +1 -1
  57. package/lib/components/MenuGroup/useMenuGroupContextValues.js +1 -1
  58. package/lib/components/MenuGroup/useMenuGroupContextValues.js.map +1 -1
  59. package/lib/components/MenuGroup/useMenuGroupStyles.d.ts +1 -1
  60. package/lib/components/MenuGroup/useMenuGroupStyles.js +2 -2
  61. package/lib/components/MenuGroup/useMenuGroupStyles.js.map +1 -1
  62. package/lib/components/MenuGroupHeader/MenuGroupHeader.d.ts +1 -1
  63. package/lib/components/MenuGroupHeader/MenuGroupHeader.js +7 -7
  64. package/lib/components/MenuGroupHeader/MenuGroupHeader.js.map +1 -1
  65. package/lib/components/MenuGroupHeader/MenuGroupHeader.types.d.ts +2 -2
  66. package/lib/components/MenuGroupHeader/MenuGroupHeader.types.js.map +1 -1
  67. package/lib/components/MenuGroupHeader/index.js.map +1 -1
  68. package/lib/components/MenuGroupHeader/renderMenuGroupHeader.d.ts +1 -1
  69. package/lib/components/MenuGroupHeader/renderMenuGroupHeader.js +1 -1
  70. package/lib/components/MenuGroupHeader/renderMenuGroupHeader.js.map +1 -1
  71. package/lib/components/MenuGroupHeader/useMenuGroupHeader.d.ts +1 -1
  72. package/lib/components/MenuGroupHeader/useMenuGroupHeader.js +6 -3
  73. package/lib/components/MenuGroupHeader/useMenuGroupHeader.js.map +1 -1
  74. package/lib/components/MenuGroupHeader/useMenuGroupHeaderStyles.d.ts +1 -1
  75. package/lib/components/MenuGroupHeader/useMenuGroupHeaderStyles.js +2 -2
  76. package/lib/components/MenuGroupHeader/useMenuGroupHeaderStyles.js.map +1 -1
  77. package/lib/components/MenuItem/MenuItem.d.ts +1 -1
  78. package/lib/components/MenuItem/MenuItem.js +7 -7
  79. package/lib/components/MenuItem/MenuItem.js.map +1 -1
  80. package/lib/components/MenuItem/MenuItem.types.d.ts +7 -7
  81. package/lib/components/MenuItem/MenuItem.types.js.map +1 -1
  82. package/lib/components/MenuItem/index.js.map +1 -1
  83. package/lib/components/MenuItem/renderMenuItem.d.ts +1 -1
  84. package/lib/components/MenuItem/renderMenuItem.js +7 -8
  85. package/lib/components/MenuItem/renderMenuItem.js.map +1 -1
  86. package/lib/components/MenuItem/useCharacterSearch.js +2 -2
  87. package/lib/components/MenuItem/useCharacterSearch.js.map +1 -1
  88. package/lib/components/MenuItem/useMenuItem.d.ts +2 -6
  89. package/lib/components/MenuItem/useMenuItem.js +12 -14
  90. package/lib/components/MenuItem/useMenuItem.js.map +1 -1
  91. package/lib/components/MenuItem/useMenuItemStyles.d.ts +1 -1
  92. package/lib/components/MenuItem/useMenuItemStyles.js +4 -4
  93. package/lib/components/MenuItem/useMenuItemStyles.js.map +1 -1
  94. package/lib/components/MenuItemCheckbox/MenuItemCheckbox.d.ts +1 -1
  95. package/lib/components/MenuItemCheckbox/MenuItemCheckbox.js +7 -7
  96. package/lib/components/MenuItemCheckbox/MenuItemCheckbox.js.map +1 -1
  97. package/lib/components/MenuItemCheckbox/MenuItemCheckbox.types.js.map +1 -1
  98. package/lib/components/MenuItemCheckbox/index.js.map +1 -1
  99. package/lib/components/MenuItemCheckbox/renderMenuItemCheckbox.d.ts +1 -1
  100. package/lib/components/MenuItemCheckbox/renderMenuItemCheckbox.js +6 -7
  101. package/lib/components/MenuItemCheckbox/renderMenuItemCheckbox.js.map +1 -1
  102. package/lib/components/MenuItemCheckbox/useMenuItemCheckbox.d.ts +1 -1
  103. package/lib/components/MenuItemCheckbox/useMenuItemCheckbox.js +6 -6
  104. package/lib/components/MenuItemCheckbox/useMenuItemCheckbox.js.map +1 -1
  105. package/lib/components/MenuItemCheckbox/useMenuItemCheckboxStyles.d.ts +1 -1
  106. package/lib/components/MenuItemCheckbox/useMenuItemCheckboxStyles.js +6 -6
  107. package/lib/components/MenuItemCheckbox/useMenuItemCheckboxStyles.js.map +1 -1
  108. package/lib/components/MenuItemRadio/MenuItemRadio.d.ts +1 -1
  109. package/lib/components/MenuItemRadio/MenuItemRadio.js +7 -7
  110. package/lib/components/MenuItemRadio/MenuItemRadio.js.map +1 -1
  111. package/lib/components/MenuItemRadio/MenuItemRadio.types.js.map +1 -1
  112. package/lib/components/MenuItemRadio/index.js.map +1 -1
  113. package/lib/components/MenuItemRadio/renderMenuItemRadio.d.ts +1 -1
  114. package/lib/components/MenuItemRadio/renderMenuItemRadio.js +6 -7
  115. package/lib/components/MenuItemRadio/renderMenuItemRadio.js.map +1 -1
  116. package/lib/components/MenuItemRadio/useMenuItemRadio.d.ts +1 -1
  117. package/lib/components/MenuItemRadio/useMenuItemRadio.js +6 -6
  118. package/lib/components/MenuItemRadio/useMenuItemRadio.js.map +1 -1
  119. package/lib/components/MenuItemRadio/useMenuItemRadioStyles.d.ts +1 -1
  120. package/lib/components/MenuItemRadio/useMenuItemRadioStyles.js +6 -6
  121. package/lib/components/MenuItemRadio/useMenuItemRadioStyles.js.map +1 -1
  122. package/lib/components/MenuList/MenuList.d.ts +1 -1
  123. package/lib/components/MenuList/MenuList.js +9 -9
  124. package/lib/components/MenuList/MenuList.js.map +1 -1
  125. package/lib/components/MenuList/MenuList.types.d.ts +4 -4
  126. package/lib/components/MenuList/MenuList.types.js.map +1 -1
  127. package/lib/components/MenuList/index.d.ts +1 -1
  128. package/lib/components/MenuList/index.js +0 -1
  129. package/lib/components/MenuList/index.js.map +1 -1
  130. package/lib/components/MenuList/renderMenuList.d.ts +1 -1
  131. package/lib/components/MenuList/renderMenuList.js +1 -1
  132. package/lib/components/MenuList/renderMenuList.js.map +1 -1
  133. package/lib/components/MenuList/useMenuList.d.ts +1 -1
  134. package/lib/components/MenuList/useMenuList.js +11 -8
  135. package/lib/components/MenuList/useMenuList.js.map +1 -1
  136. package/lib/components/MenuList/useMenuListContextValues.d.ts +1 -1
  137. package/lib/components/MenuList/useMenuListContextValues.js +1 -1
  138. package/lib/components/MenuList/useMenuListContextValues.js.map +1 -1
  139. package/lib/components/MenuList/useMenuListStyles.d.ts +1 -1
  140. package/lib/components/MenuList/useMenuListStyles.js +2 -2
  141. package/lib/components/MenuList/useMenuListStyles.js.map +1 -1
  142. package/lib/components/MenuPopover/MenuPopover.js +6 -6
  143. package/lib/components/MenuPopover/MenuPopover.js.map +1 -1
  144. package/lib/components/MenuPopover/MenuPopover.types.d.ts +2 -2
  145. package/lib/components/MenuPopover/MenuPopover.types.js.map +1 -1
  146. package/lib/components/MenuPopover/index.js.map +1 -1
  147. package/lib/components/MenuPopover/renderMenuPopover.d.ts +1 -1
  148. package/lib/components/MenuPopover/renderMenuPopover.js +1 -1
  149. package/lib/components/MenuPopover/renderMenuPopover.js.map +1 -1
  150. package/lib/components/MenuPopover/useMenuPopover.d.ts +3 -3
  151. package/lib/components/MenuPopover/useMenuPopover.js +11 -8
  152. package/lib/components/MenuPopover/useMenuPopover.js.map +1 -1
  153. package/lib/components/MenuPopover/useMenuPopoverStyles.d.ts +1 -1
  154. package/lib/components/MenuPopover/useMenuPopoverStyles.js +2 -2
  155. package/lib/components/MenuPopover/useMenuPopoverStyles.js.map +1 -1
  156. package/lib/components/MenuSplitGroup/MenuSplitGroup.js +6 -6
  157. package/lib/components/MenuSplitGroup/MenuSplitGroup.js.map +1 -1
  158. package/lib/components/MenuSplitGroup/MenuSplitGroup.types.d.ts +4 -3
  159. package/lib/components/MenuSplitGroup/MenuSplitGroup.types.js.map +1 -1
  160. package/lib/components/MenuSplitGroup/index.js.map +1 -1
  161. package/lib/components/MenuSplitGroup/renderMenuSplitGroup.d.ts +1 -1
  162. package/lib/components/MenuSplitGroup/renderMenuSplitGroup.js +2 -3
  163. package/lib/components/MenuSplitGroup/renderMenuSplitGroup.js.map +1 -1
  164. package/lib/components/MenuSplitGroup/useMenuSplitGroup.d.ts +4 -8
  165. package/lib/components/MenuSplitGroup/useMenuSplitGroup.js +3 -8
  166. package/lib/components/MenuSplitGroup/useMenuSplitGroup.js.map +1 -1
  167. package/lib/components/MenuSplitGroup/useMenuSplitGroupStyles.d.ts +1 -1
  168. package/lib/components/MenuSplitGroup/useMenuSplitGroupStyles.js +2 -2
  169. package/lib/components/MenuSplitGroup/useMenuSplitGroupStyles.js.map +1 -1
  170. package/lib/components/MenuTrigger/MenuTrigger.d.ts +2 -1
  171. package/lib/components/MenuTrigger/MenuTrigger.js +5 -4
  172. package/lib/components/MenuTrigger/MenuTrigger.js.map +1 -1
  173. package/lib/components/MenuTrigger/MenuTrigger.types.d.ts +6 -3
  174. package/lib/components/MenuTrigger/MenuTrigger.types.js.map +1 -1
  175. package/lib/components/MenuTrigger/index.js.map +1 -1
  176. package/lib/components/MenuTrigger/renderMenuTrigger.d.ts +1 -1
  177. package/lib/components/MenuTrigger/renderMenuTrigger.js +2 -2
  178. package/lib/components/MenuTrigger/renderMenuTrigger.js.map +1 -1
  179. package/lib/components/MenuTrigger/useMenuTrigger.d.ts +2 -2
  180. package/lib/components/MenuTrigger/useMenuTrigger.js +168 -5
  181. package/lib/components/MenuTrigger/useMenuTrigger.js.map +1 -1
  182. package/lib/components/index.js.map +1 -1
  183. package/lib/contexts/menuContext.d.ts +1 -1
  184. package/lib/contexts/menuContext.js +1 -1
  185. package/lib/contexts/menuContext.js.map +1 -1
  186. package/lib/contexts/menuGroupContext.d.ts +1 -1
  187. package/lib/contexts/menuGroupContext.js +1 -1
  188. package/lib/contexts/menuGroupContext.js.map +1 -1
  189. package/lib/contexts/menuListContext.d.ts +1 -1
  190. package/lib/contexts/menuListContext.js +1 -1
  191. package/lib/contexts/menuListContext.js.map +1 -1
  192. package/lib/contexts/menuTriggerContext.d.ts +1 -1
  193. package/lib/contexts/menuTriggerContext.js +2 -2
  194. package/lib/contexts/menuTriggerContext.js.map +1 -1
  195. package/lib/index.js.map +1 -1
  196. package/lib/selectable/index.js.map +1 -1
  197. package/lib/selectable/types.js.map +1 -1
  198. package/lib/selectable/useCheckmarkStyles.d.ts +2 -2
  199. package/lib/selectable/useCheckmarkStyles.js +2 -2
  200. package/lib/selectable/useCheckmarkStyles.js.map +1 -1
  201. package/lib/utils/index.js.map +1 -1
  202. package/lib/utils/useIsSubmenu.js +2 -2
  203. package/lib/utils/useIsSubmenu.js.map +1 -1
  204. package/lib/utils/useOnMenuEnter.js.map +1 -1
  205. package/lib-commonjs/Menu.js.map +1 -1
  206. package/lib-commonjs/MenuDivider.js.map +1 -1
  207. package/lib-commonjs/MenuGroup.js.map +1 -1
  208. package/lib-commonjs/MenuGroupHeader.js.map +1 -1
  209. package/lib-commonjs/MenuItem.js.map +1 -1
  210. package/lib-commonjs/MenuItemCheckbox.js.map +1 -1
  211. package/lib-commonjs/MenuItemRadio.js.map +1 -1
  212. package/lib-commonjs/MenuList.js.map +1 -1
  213. package/lib-commonjs/MenuPopover.js.map +1 -1
  214. package/lib-commonjs/MenuSplitGroup.js.map +1 -1
  215. package/lib-commonjs/MenuTrigger.js.map +1 -1
  216. package/lib-commonjs/components/Menu/Menu.js +3 -3
  217. package/lib-commonjs/components/Menu/Menu.js.map +1 -1
  218. package/lib-commonjs/components/Menu/Menu.types.d.ts +1 -1
  219. package/lib-commonjs/components/Menu/Menu.types.js.map +1 -1
  220. package/lib-commonjs/components/Menu/index.js.map +1 -1
  221. package/lib-commonjs/components/Menu/renderMenu.d.ts +1 -1
  222. package/lib-commonjs/components/Menu/renderMenu.js +3 -3
  223. package/lib-commonjs/components/Menu/renderMenu.js.map +1 -1
  224. package/lib-commonjs/components/Menu/useMenu.d.ts +2 -2
  225. package/lib-commonjs/components/Menu/useMenu.js +7 -6
  226. package/lib-commonjs/components/Menu/useMenu.js.map +1 -1
  227. package/lib-commonjs/components/Menu/useMenuContextValues.d.ts +1 -1
  228. package/lib-commonjs/components/Menu/useMenuContextValues.js +3 -3
  229. package/lib-commonjs/components/Menu/useMenuContextValues.js.map +1 -1
  230. package/lib-commonjs/components/MenuDivider/MenuDivider.d.ts +1 -1
  231. package/lib-commonjs/components/MenuDivider/MenuDivider.js +4 -4
  232. package/lib-commonjs/components/MenuDivider/MenuDivider.js.map +1 -1
  233. package/lib-commonjs/components/MenuDivider/MenuDivider.types.d.ts +2 -2
  234. package/lib-commonjs/components/MenuDivider/MenuDivider.types.js.map +1 -1
  235. package/lib-commonjs/components/MenuDivider/index.js.map +1 -1
  236. package/lib-commonjs/components/MenuDivider/renderMenuDivider.d.ts +1 -1
  237. package/lib-commonjs/components/MenuDivider/renderMenuDivider.js +3 -3
  238. package/lib-commonjs/components/MenuDivider/renderMenuDivider.js.map +1 -1
  239. package/lib-commonjs/components/MenuDivider/useMenuDivider.d.ts +1 -1
  240. package/lib-commonjs/components/MenuDivider/useMenuDivider.js +6 -3
  241. package/lib-commonjs/components/MenuDivider/useMenuDivider.js.map +1 -1
  242. package/lib-commonjs/components/MenuDivider/useMenuDividerStyles.d.ts +1 -1
  243. package/lib-commonjs/components/MenuDivider/useMenuDividerStyles.js +6 -6
  244. package/lib-commonjs/components/MenuDivider/useMenuDividerStyles.js.map +1 -1
  245. package/lib-commonjs/components/MenuGroup/MenuGroup.d.ts +1 -1
  246. package/lib-commonjs/components/MenuGroup/MenuGroup.js +5 -5
  247. package/lib-commonjs/components/MenuGroup/MenuGroup.js.map +1 -1
  248. package/lib-commonjs/components/MenuGroup/MenuGroup.types.d.ts +3 -3
  249. package/lib-commonjs/components/MenuGroup/MenuGroup.types.js.map +1 -1
  250. package/lib-commonjs/components/MenuGroup/index.js.map +1 -1
  251. package/lib-commonjs/components/MenuGroup/renderMenuGroup.d.ts +1 -1
  252. package/lib-commonjs/components/MenuGroup/renderMenuGroup.js +3 -3
  253. package/lib-commonjs/components/MenuGroup/renderMenuGroup.js.map +1 -1
  254. package/lib-commonjs/components/MenuGroup/useMenuGroup.d.ts +1 -1
  255. package/lib-commonjs/components/MenuGroup/useMenuGroup.js +6 -3
  256. package/lib-commonjs/components/MenuGroup/useMenuGroup.js.map +1 -1
  257. package/lib-commonjs/components/MenuGroup/useMenuGroupContextValues.d.ts +1 -1
  258. package/lib-commonjs/components/MenuGroup/useMenuGroupContextValues.js +3 -3
  259. package/lib-commonjs/components/MenuGroup/useMenuGroupContextValues.js.map +1 -1
  260. package/lib-commonjs/components/MenuGroup/useMenuGroupStyles.d.ts +1 -1
  261. package/lib-commonjs/components/MenuGroup/useMenuGroupStyles.js +5 -5
  262. package/lib-commonjs/components/MenuGroup/useMenuGroupStyles.js.map +1 -1
  263. package/lib-commonjs/components/MenuGroupHeader/MenuGroupHeader.d.ts +1 -1
  264. package/lib-commonjs/components/MenuGroupHeader/MenuGroupHeader.js +4 -4
  265. package/lib-commonjs/components/MenuGroupHeader/MenuGroupHeader.js.map +1 -1
  266. package/lib-commonjs/components/MenuGroupHeader/MenuGroupHeader.types.d.ts +2 -2
  267. package/lib-commonjs/components/MenuGroupHeader/MenuGroupHeader.types.js.map +1 -1
  268. package/lib-commonjs/components/MenuGroupHeader/index.js.map +1 -1
  269. package/lib-commonjs/components/MenuGroupHeader/renderMenuGroupHeader.d.ts +1 -1
  270. package/lib-commonjs/components/MenuGroupHeader/renderMenuGroupHeader.js +3 -3
  271. package/lib-commonjs/components/MenuGroupHeader/renderMenuGroupHeader.js.map +1 -1
  272. package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeader.d.ts +1 -1
  273. package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeader.js +7 -4
  274. package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeader.js.map +1 -1
  275. package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeaderStyles.d.ts +1 -1
  276. package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeaderStyles.js +6 -6
  277. package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeaderStyles.js.map +1 -1
  278. package/lib-commonjs/components/MenuItem/MenuItem.d.ts +1 -1
  279. package/lib-commonjs/components/MenuItem/MenuItem.js +4 -4
  280. package/lib-commonjs/components/MenuItem/MenuItem.js.map +1 -1
  281. package/lib-commonjs/components/MenuItem/MenuItem.types.d.ts +7 -7
  282. package/lib-commonjs/components/MenuItem/MenuItem.types.js.map +1 -1
  283. package/lib-commonjs/components/MenuItem/index.js.map +1 -1
  284. package/lib-commonjs/components/MenuItem/renderMenuItem.d.ts +1 -1
  285. package/lib-commonjs/components/MenuItem/renderMenuItem.js +9 -11
  286. package/lib-commonjs/components/MenuItem/renderMenuItem.js.map +1 -1
  287. package/lib-commonjs/components/MenuItem/useCharacterSearch.js +1 -1
  288. package/lib-commonjs/components/MenuItem/useCharacterSearch.js.map +1 -1
  289. package/lib-commonjs/components/MenuItem/useMenuItem.d.ts +2 -6
  290. package/lib-commonjs/components/MenuItem/useMenuItem.js +11 -13
  291. package/lib-commonjs/components/MenuItem/useMenuItem.js.map +1 -1
  292. package/lib-commonjs/components/MenuItem/useMenuItemStyles.d.ts +1 -1
  293. package/lib-commonjs/components/MenuItem/useMenuItemStyles.js +11 -11
  294. package/lib-commonjs/components/MenuItem/useMenuItemStyles.js.map +1 -1
  295. package/lib-commonjs/components/MenuItemCheckbox/MenuItemCheckbox.d.ts +1 -1
  296. package/lib-commonjs/components/MenuItemCheckbox/MenuItemCheckbox.js +4 -4
  297. package/lib-commonjs/components/MenuItemCheckbox/MenuItemCheckbox.js.map +1 -1
  298. package/lib-commonjs/components/MenuItemCheckbox/MenuItemCheckbox.types.js.map +1 -1
  299. package/lib-commonjs/components/MenuItemCheckbox/index.js.map +1 -1
  300. package/lib-commonjs/components/MenuItemCheckbox/renderMenuItemCheckbox.d.ts +1 -1
  301. package/lib-commonjs/components/MenuItemCheckbox/renderMenuItemCheckbox.js +8 -10
  302. package/lib-commonjs/components/MenuItemCheckbox/renderMenuItemCheckbox.js.map +1 -1
  303. package/lib-commonjs/components/MenuItemCheckbox/useMenuItemCheckbox.d.ts +1 -1
  304. package/lib-commonjs/components/MenuItemCheckbox/useMenuItemCheckbox.js +6 -6
  305. package/lib-commonjs/components/MenuItemCheckbox/useMenuItemCheckbox.js.map +1 -1
  306. package/lib-commonjs/components/MenuItemCheckbox/useMenuItemCheckboxStyles.d.ts +1 -1
  307. package/lib-commonjs/components/MenuItemCheckbox/useMenuItemCheckboxStyles.js +7 -7
  308. package/lib-commonjs/components/MenuItemCheckbox/useMenuItemCheckboxStyles.js.map +1 -1
  309. package/lib-commonjs/components/MenuItemRadio/MenuItemRadio.d.ts +1 -1
  310. package/lib-commonjs/components/MenuItemRadio/MenuItemRadio.js +4 -4
  311. package/lib-commonjs/components/MenuItemRadio/MenuItemRadio.js.map +1 -1
  312. package/lib-commonjs/components/MenuItemRadio/MenuItemRadio.types.js.map +1 -1
  313. package/lib-commonjs/components/MenuItemRadio/index.js.map +1 -1
  314. package/lib-commonjs/components/MenuItemRadio/renderMenuItemRadio.d.ts +1 -1
  315. package/lib-commonjs/components/MenuItemRadio/renderMenuItemRadio.js +8 -10
  316. package/lib-commonjs/components/MenuItemRadio/renderMenuItemRadio.js.map +1 -1
  317. package/lib-commonjs/components/MenuItemRadio/useMenuItemRadio.d.ts +1 -1
  318. package/lib-commonjs/components/MenuItemRadio/useMenuItemRadio.js +6 -6
  319. package/lib-commonjs/components/MenuItemRadio/useMenuItemRadio.js.map +1 -1
  320. package/lib-commonjs/components/MenuItemRadio/useMenuItemRadioStyles.d.ts +1 -1
  321. package/lib-commonjs/components/MenuItemRadio/useMenuItemRadioStyles.js +7 -7
  322. package/lib-commonjs/components/MenuItemRadio/useMenuItemRadioStyles.js.map +1 -1
  323. package/lib-commonjs/components/MenuList/MenuList.d.ts +1 -1
  324. package/lib-commonjs/components/MenuList/MenuList.js +5 -5
  325. package/lib-commonjs/components/MenuList/MenuList.js.map +1 -1
  326. package/lib-commonjs/components/MenuList/MenuList.types.d.ts +4 -4
  327. package/lib-commonjs/components/MenuList/MenuList.types.js.map +1 -1
  328. package/lib-commonjs/components/MenuList/index.d.ts +1 -1
  329. package/lib-commonjs/components/MenuList/index.js +0 -2
  330. package/lib-commonjs/components/MenuList/index.js.map +1 -1
  331. package/lib-commonjs/components/MenuList/renderMenuList.d.ts +1 -1
  332. package/lib-commonjs/components/MenuList/renderMenuList.js +3 -3
  333. package/lib-commonjs/components/MenuList/renderMenuList.js.map +1 -1
  334. package/lib-commonjs/components/MenuList/useMenuList.d.ts +1 -1
  335. package/lib-commonjs/components/MenuList/useMenuList.js +12 -9
  336. package/lib-commonjs/components/MenuList/useMenuList.js.map +1 -1
  337. package/lib-commonjs/components/MenuList/useMenuListContextValues.d.ts +1 -1
  338. package/lib-commonjs/components/MenuList/useMenuListContextValues.js +3 -3
  339. package/lib-commonjs/components/MenuList/useMenuListContextValues.js.map +1 -1
  340. package/lib-commonjs/components/MenuList/useMenuListStyles.d.ts +1 -1
  341. package/lib-commonjs/components/MenuList/useMenuListStyles.js +6 -6
  342. package/lib-commonjs/components/MenuList/useMenuListStyles.js.map +1 -1
  343. package/lib-commonjs/components/MenuPopover/MenuPopover.js +3 -3
  344. package/lib-commonjs/components/MenuPopover/MenuPopover.js.map +1 -1
  345. package/lib-commonjs/components/MenuPopover/MenuPopover.types.d.ts +2 -2
  346. package/lib-commonjs/components/MenuPopover/MenuPopover.types.js.map +1 -1
  347. package/lib-commonjs/components/MenuPopover/index.js.map +1 -1
  348. package/lib-commonjs/components/MenuPopover/renderMenuPopover.d.ts +1 -1
  349. package/lib-commonjs/components/MenuPopover/renderMenuPopover.js +3 -3
  350. package/lib-commonjs/components/MenuPopover/renderMenuPopover.js.map +1 -1
  351. package/lib-commonjs/components/MenuPopover/useMenuPopover.d.ts +3 -3
  352. package/lib-commonjs/components/MenuPopover/useMenuPopover.js +12 -9
  353. package/lib-commonjs/components/MenuPopover/useMenuPopover.js.map +1 -1
  354. package/lib-commonjs/components/MenuPopover/useMenuPopoverStyles.d.ts +1 -1
  355. package/lib-commonjs/components/MenuPopover/useMenuPopoverStyles.js +6 -6
  356. package/lib-commonjs/components/MenuPopover/useMenuPopoverStyles.js.map +1 -1
  357. package/lib-commonjs/components/MenuSplitGroup/MenuSplitGroup.js +3 -3
  358. package/lib-commonjs/components/MenuSplitGroup/MenuSplitGroup.js.map +1 -1
  359. package/lib-commonjs/components/MenuSplitGroup/MenuSplitGroup.types.d.ts +4 -3
  360. package/lib-commonjs/components/MenuSplitGroup/MenuSplitGroup.types.js.map +1 -1
  361. package/lib-commonjs/components/MenuSplitGroup/index.js.map +1 -1
  362. package/lib-commonjs/components/MenuSplitGroup/renderMenuSplitGroup.d.ts +1 -1
  363. package/lib-commonjs/components/MenuSplitGroup/renderMenuSplitGroup.js +4 -6
  364. package/lib-commonjs/components/MenuSplitGroup/renderMenuSplitGroup.js.map +1 -1
  365. package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroup.d.ts +4 -8
  366. package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroup.js +6 -11
  367. package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroup.js.map +1 -1
  368. package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroupStyles.d.ts +1 -1
  369. package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroupStyles.js +6 -6
  370. package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroupStyles.js.map +1 -1
  371. package/lib-commonjs/components/MenuTrigger/MenuTrigger.d.ts +2 -1
  372. package/lib-commonjs/components/MenuTrigger/MenuTrigger.js +3 -2
  373. package/lib-commonjs/components/MenuTrigger/MenuTrigger.js.map +1 -1
  374. package/lib-commonjs/components/MenuTrigger/MenuTrigger.types.d.ts +6 -3
  375. package/lib-commonjs/components/MenuTrigger/MenuTrigger.types.js.map +1 -1
  376. package/lib-commonjs/components/MenuTrigger/index.js.map +1 -1
  377. package/lib-commonjs/components/MenuTrigger/renderMenuTrigger.d.ts +1 -1
  378. package/lib-commonjs/components/MenuTrigger/renderMenuTrigger.js +4 -4
  379. package/lib-commonjs/components/MenuTrigger/renderMenuTrigger.js.map +1 -1
  380. package/lib-commonjs/components/MenuTrigger/useMenuTrigger.d.ts +2 -2
  381. package/lib-commonjs/components/MenuTrigger/useMenuTrigger.js +177 -7
  382. package/lib-commonjs/components/MenuTrigger/useMenuTrigger.js.map +1 -1
  383. package/lib-commonjs/components/index.js.map +1 -1
  384. package/lib-commonjs/contexts/menuContext.d.ts +1 -1
  385. package/lib-commonjs/contexts/menuContext.js +3 -3
  386. package/lib-commonjs/contexts/menuContext.js.map +1 -1
  387. package/lib-commonjs/contexts/menuGroupContext.d.ts +1 -1
  388. package/lib-commonjs/contexts/menuGroupContext.js +3 -3
  389. package/lib-commonjs/contexts/menuGroupContext.js.map +1 -1
  390. package/lib-commonjs/contexts/menuListContext.d.ts +1 -1
  391. package/lib-commonjs/contexts/menuListContext.js +3 -3
  392. package/lib-commonjs/contexts/menuListContext.js.map +1 -1
  393. package/lib-commonjs/contexts/menuTriggerContext.d.ts +1 -1
  394. package/lib-commonjs/contexts/menuTriggerContext.js +4 -4
  395. package/lib-commonjs/contexts/menuTriggerContext.js.map +1 -1
  396. package/lib-commonjs/index.js.map +1 -1
  397. package/lib-commonjs/selectable/index.js.map +1 -1
  398. package/lib-commonjs/selectable/types.js.map +1 -1
  399. package/lib-commonjs/selectable/useCheckmarkStyles.d.ts +2 -2
  400. package/lib-commonjs/selectable/useCheckmarkStyles.js +6 -6
  401. package/lib-commonjs/selectable/useCheckmarkStyles.js.map +1 -1
  402. package/lib-commonjs/utils/index.js.map +1 -1
  403. package/lib-commonjs/utils/useIsSubmenu.js +1 -1
  404. package/lib-commonjs/utils/useIsSubmenu.js.map +1 -1
  405. package/lib-commonjs/utils/useOnMenuEnter.js.map +1 -1
  406. package/package.json +14 -15
  407. package/lib/components/MenuTrigger/useTriggerElement.d.ts +0 -5
  408. package/lib/components/MenuTrigger/useTriggerElement.js +0 -166
  409. package/lib/components/MenuTrigger/useTriggerElement.js.map +0 -1
  410. package/lib-commonjs/components/MenuTrigger/useTriggerElement.d.ts +0 -5
  411. package/lib-commonjs/components/MenuTrigger/useTriggerElement.js +0 -181
  412. package/lib-commonjs/components/MenuTrigger/useTriggerElement.js.map +0 -1
@@ -2,4 +2,4 @@ import type { MenuSplitGroupState } from './MenuSplitGroup.types';
2
2
  /**
3
3
  * Render the final JSX of MenuSplitGroup
4
4
  */
5
- export declare const renderMenuSplitGroup: (state: MenuSplitGroupState) => JSX.Element;
5
+ export declare const renderMenuSplitGroup_unstable: (state: MenuSplitGroupState) => JSX.Element;
@@ -3,26 +3,24 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.renderMenuSplitGroup = void 0;
6
+ exports.renderMenuSplitGroup_unstable = void 0;
7
7
 
8
8
  const React = /*#__PURE__*/require("react");
9
9
 
10
10
  const react_utilities_1 = /*#__PURE__*/require("@fluentui/react-utilities");
11
-
12
- const useMenuSplitGroup_1 = /*#__PURE__*/require("./useMenuSplitGroup");
13
11
  /**
14
12
  * Render the final JSX of MenuSplitGroup
15
13
  */
16
14
 
17
15
 
18
- const renderMenuSplitGroup = state => {
16
+ const renderMenuSplitGroup_unstable = state => {
19
17
  const {
20
18
  slots,
21
19
  slotProps
22
- } = react_utilities_1.getSlots(state, useMenuSplitGroup_1.menuSplitGroupShorthandProps);
20
+ } = react_utilities_1.getSlots(state);
23
21
  return React.createElement(slots.root, { ...slotProps.root
24
22
  });
25
23
  };
26
24
 
27
- exports.renderMenuSplitGroup = renderMenuSplitGroup;
25
+ exports.renderMenuSplitGroup_unstable = renderMenuSplitGroup_unstable;
28
26
  //# sourceMappingURL=renderMenuSplitGroup.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/MenuSplitGroup/renderMenuSplitGroup.tsx"],"names":[],"mappings":";;;;;;;AAAA,MAAA,KAAA,gBAAA,OAAA,CAAA,OAAA,CAAA;;AACA,MAAA,iBAAA,gBAAA,OAAA,CAAA,2BAAA,CAAA;;AACA,MAAA,mBAAA,gBAAA,OAAA,CAAA,qBAAA,CAAA;AAGA;;AAEG;;;AACI,MAAM,oBAAoB,GAAI,KAAD,IAA+B;AACjE,QAAM;AAAE,IAAA,KAAF;AAAS,IAAA;AAAT,MAAuB,iBAAA,CAAA,QAAA,CAA8B,KAA9B,EAAqC,mBAAA,CAAA,4BAArC,CAA7B;AAEA,SAAO,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,IAAP,EAAW,EAAA,GAAK,SAAS,CAAC;AAAf,GAAX,CAAP;AACD,CAJM;;AAAM,OAAA,CAAA,oBAAA,GAAoB,oBAApB","sourceRoot":""}
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/"}
@@ -1,16 +1,12 @@
1
1
  import * as React from 'react';
2
- import type { MenuSplitGroupProps, MenuSplitGroupSlots, MenuSplitGroupState } from './MenuSplitGroup.types';
3
- /**
4
- * Array of all shorthand properties listed in MenuSplitGroupSlots
5
- */
6
- export declare const menuSplitGroupShorthandProps: (keyof MenuSplitGroupSlots)[];
2
+ import type { MenuSplitGroupProps, MenuSplitGroupState } from './MenuSplitGroup.types';
7
3
  /**
8
4
  * Create the state required to render MenuSplitGroup.
9
5
  *
10
- * The returned state can be modified with hooks such as useMenuSplitGroupStyles,
11
- * before being passed to renderMenuSplitGroup.
6
+ * The returned state can be modified with hooks such as useMenuSplitGroupStyles_unstable,
7
+ * before being passed to renderMenuSplitGroup_unstable.
12
8
  *
13
9
  * @param props - props from this instance of MenuSplitGroup
14
10
  * @param ref - reference to root HTMLElement of MenuSplitGroup
15
11
  */
16
- export declare const useMenuSplitGroup: (props: MenuSplitGroupProps, ref: React.Ref<HTMLElement>) => MenuSplitGroupState;
12
+ export declare const useMenuSplitGroup_unstable: (props: MenuSplitGroupProps, ref: React.Ref<HTMLElement>) => MenuSplitGroupState;
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.useMenuSplitGroup = exports.menuSplitGroupShorthandProps = void 0;
6
+ exports.useMenuSplitGroup_unstable = void 0;
7
7
 
8
8
  const React = /*#__PURE__*/require("react");
9
9
 
@@ -14,23 +14,18 @@ const react_tabster_1 = /*#__PURE__*/require("@fluentui/react-tabster");
14
14
  const react_shared_contexts_1 = /*#__PURE__*/require("@fluentui/react-shared-contexts");
15
15
 
16
16
  const keyboard_keys_1 = /*#__PURE__*/require("@fluentui/keyboard-keys");
17
- /**
18
- * Array of all shorthand properties listed in MenuSplitGroupSlots
19
- */
20
-
21
-
22
- exports.menuSplitGroupShorthandProps = ['root'];
23
17
  /**
24
18
  * Create the state required to render MenuSplitGroup.
25
19
  *
26
- * The returned state can be modified with hooks such as useMenuSplitGroupStyles,
27
- * before being passed to renderMenuSplitGroup.
20
+ * The returned state can be modified with hooks such as useMenuSplitGroupStyles_unstable,
21
+ * before being passed to renderMenuSplitGroup_unstable.
28
22
  *
29
23
  * @param props - props from this instance of MenuSplitGroup
30
24
  * @param ref - reference to root HTMLElement of MenuSplitGroup
31
25
  */
32
26
 
33
- const useMenuSplitGroup = (props, ref) => {
27
+
28
+ const useMenuSplitGroup_unstable = (props, ref) => {
34
29
  const innerRef = React.useRef();
35
30
  const {
36
31
  dir,
@@ -82,5 +77,5 @@ const useMenuSplitGroup = (props, ref) => {
82
77
  };
83
78
  };
84
79
 
85
- exports.useMenuSplitGroup = useMenuSplitGroup;
80
+ exports.useMenuSplitGroup_unstable = useMenuSplitGroup_unstable;
86
81
  //# sourceMappingURL=useMenuSplitGroup.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/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;;AAEG;;;AACU,OAAA,CAAA,4BAAA,GAA8D,CAAC,MAAD,CAA9D;AAEb;;;;;;;;AAQG;;AACI,MAAM,iBAAiB,GAAG,CAAC,KAAD,EAA6B,GAA7B,KAAiF;AAChH,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,CA5CM;;AAAM,OAAA,CAAA,iBAAA,GAAiB,iBAAjB","sourceRoot":""}
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/"}
@@ -3,4 +3,4 @@ export declare const menuSplitGroupClassName = "fui-MenuSplitGroup";
3
3
  /**
4
4
  * Apply styling to the MenuSplitGroup slots based on the state
5
5
  */
6
- export declare const useMenuSplitGroupStyles: (state: MenuSplitGroupState) => MenuSplitGroupState;
6
+ export declare const useMenuSplitGroupStyles_unstable: (state: MenuSplitGroupState) => MenuSplitGroupState;
@@ -3,9 +3,9 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.useMenuSplitGroupStyles = exports.menuSplitGroupClassName = void 0;
6
+ exports.useMenuSplitGroupStyles_unstable = exports.menuSplitGroupClassName = void 0;
7
7
 
8
- const react_make_styles_1 = /*#__PURE__*/require("@fluentui/react-make-styles");
8
+ const react_1 = /*#__PURE__*/require("@griffel/react");
9
9
 
10
10
  const react_theme_1 = /*#__PURE__*/require("@fluentui/react-theme");
11
11
 
@@ -16,7 +16,7 @@ exports.menuSplitGroupClassName = 'fui-MenuSplitGroup';
16
16
  * Styles for the root slot
17
17
  */
18
18
 
19
- const useStyles = /*#__PURE__*/react_make_styles_1.__styles({
19
+ const useStyles = /*#__PURE__*/react_1.__styles({
20
20
  "root": {
21
21
  "mc9l5x": "f22iagw",
22
22
  "u7v6m2": "f168awwq",
@@ -37,11 +37,11 @@ const useStyles = /*#__PURE__*/react_make_styles_1.__styles({
37
37
  */
38
38
 
39
39
 
40
- const useMenuSplitGroupStyles = state => {
40
+ const useMenuSplitGroupStyles_unstable = state => {
41
41
  const styles = useStyles();
42
- state.root.className = react_make_styles_1.mergeClasses(exports.menuSplitGroupClassName, styles.root, state.root.className);
42
+ state.root.className = react_1.mergeClasses(exports.menuSplitGroupClassName, styles.root, state.root.className);
43
43
  return state;
44
44
  };
45
45
 
46
- exports.useMenuSplitGroupStyles = useMenuSplitGroupStyles;
46
+ exports.useMenuSplitGroupStyles_unstable = useMenuSplitGroupStyles_unstable;
47
47
  //# sourceMappingURL=useMenuSplitGroupStyles.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/MenuSplitGroup/useMenuSplitGroupStyles.ts"],"names":[],"mappings":";;;;;;;AAAA,MAAA,mBAAA,gBAAA,OAAA,CAAA,6BAAA,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,mBAAA,SAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAAlB;AAqBA;;AAEG;;;AACI,MAAM,uBAAuB,GAAI,KAAD,IAAoD;AACzF,QAAM,MAAM,GAAG,SAAS,EAAxB;AACA,EAAA,KAAK,CAAC,IAAN,CAAW,SAAX,GAAuB,mBAAA,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,uBAAA,GAAuB,uBAAvB","sourceRoot":""}
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,13 +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' | '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
15
  'aria-expanded': boolean | undefined;
16
16
  };
17
- export declare type MenuTriggerState = MenuTriggerProps;
17
+ export declare type MenuTriggerState = {
18
+ children: React.ReactElement | null;
19
+ isSubmenu: boolean;
20
+ };
@@ -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
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/MenuTrigger/useMenuTrigger.ts"],"names":[],"mappings":";;;;;;;AAAA,MAAA,mBAAA,gBAAA,OAAA,CAAA,qBAAA,CAAA;AAGA;;;;;AAKG;;;AACI,MAAM,cAAc,GAAI,KAAD,IAA8C;AAC1E,QAAM,KAAK,GAAG,EAAE,GAAG;AAAL,GAAd,CAD0E,CAG1E;;AACA,SAAO,mBAAA,CAAA,iBAAA,CAAkB,KAAlB,CAAP;AACD,CALM;;AAAM,OAAA,CAAA,cAAA,GAAc,cAAd","sourceRoot":""}
1
+ {"version":3,"sources":["components/MenuTrigger/useMenuTrigger.ts"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { MenuTriggerChildProps, MenuTriggerProps, MenuTriggerState } from './MenuTrigger.types';\nimport { useMenuContext_unstable } from '../../contexts/menuContext';\nimport { useIsSubmenu } from '../../utils/useIsSubmenu';\nimport { useFocusFinders } from '@fluentui/react-tabster';\nimport { useFluent } from '@fluentui/react-shared-contexts';\nimport { ArrowRight, ArrowLeft, Escape, ArrowDown } from '@fluentui/keyboard-keys';\nimport {\n applyTriggerPropsToChildren,\n getTriggerChild,\n useMergedEventCallbacks,\n useMergedRefs,\n} from '@fluentui/react-utilities';\nimport { shouldPreventDefaultOnKeyDown } from '@fluentui/react-utilities';\n\n/**\n * Create the state required to render MenuTrigger.\n * Clones the only child component and adds necessary event handling behaviours to open a popup menu\n *\n * @param props - props from this instance of MenuTrigger\n */\nexport const useMenuTrigger_unstable = (props: MenuTriggerProps): MenuTriggerState => {\n const { children } = props;\n\n const triggerRef = useMenuContext_unstable(context => context.triggerRef);\n const menuPopoverRef = useMenuContext_unstable(context => context.menuPopoverRef);\n const setOpen = useMenuContext_unstable(context => context.setOpen);\n const open = useMenuContext_unstable(context => context.open);\n const triggerId = useMenuContext_unstable(context => context.triggerId);\n const openOnHover = useMenuContext_unstable(context => context.openOnHover);\n const openOnContext = useMenuContext_unstable(context => context.openOnContext);\n\n const isSubmenu = useIsSubmenu();\n\n const { findFirstFocusable } = useFocusFinders();\n const focusFirst = React.useCallback(() => {\n const firstFocusable = findFirstFocusable(menuPopoverRef.current);\n firstFocusable?.focus();\n }, [findFirstFocusable, menuPopoverRef]);\n\n const openedWithKeyboardRef = React.useRef(false);\n const hasMouseMoved = React.useRef(false);\n\n const { dir } = useFluent();\n const OpenArrowKey = dir === 'ltr' ? ArrowRight : ArrowLeft;\n\n const child = React.isValidElement(children) ? getTriggerChild(children) : undefined;\n\n const onContextMenu = (e: React.MouseEvent<HTMLElement>) => {\n if (isTargetDisabled(e)) {\n return;\n }\n\n if (openOnContext) {\n e.preventDefault();\n setOpen(e, { open: true, keyboard: false });\n }\n };\n\n const onClick = (e: React.MouseEvent<HTMLElement>) => {\n if (isTargetDisabled(e)) {\n return;\n }\n\n if (!openOnContext) {\n setOpen(e, { open: !open, keyboard: openedWithKeyboardRef.current });\n openedWithKeyboardRef.current = false;\n }\n };\n\n const onKeyDown = (e: React.KeyboardEvent<HTMLElement>) => {\n if (isTargetDisabled(e)) {\n return;\n }\n\n if (shouldPreventDefaultOnKeyDown(e)) {\n e.preventDefault();\n openedWithKeyboardRef.current = true;\n (e.target as HTMLElement)?.click();\n }\n\n const key = e.key;\n\n if (!openOnContext && ((isSubmenu && key === OpenArrowKey) || (!isSubmenu && key === ArrowDown))) {\n setOpen(e, { open: true, keyboard: true });\n }\n\n if (key === Escape && !isSubmenu) {\n setOpen(e, { open: false, keyboard: true });\n }\n\n // if menu is already open, can't rely on effects to focus\n if (open && key === OpenArrowKey && isSubmenu) {\n focusFirst();\n }\n };\n\n const onMouseEnter = (e: React.MouseEvent<HTMLElement>) => {\n if (isTargetDisabled(e)) {\n return;\n }\n if (openOnHover && hasMouseMoved.current) {\n setOpen(e, { open: true, keyboard: false });\n }\n };\n\n // Opening a menu when a mouse hasn't moved and just entering the trigger is a bad a11y experience\n // First time open the mouse using mousemove and then continue with mouseenter\n // Only use once to determine that the user is using the mouse since it is an expensive event to handle\n const onMouseMove = (e: React.MouseEvent<HTMLElement>) => {\n if (isTargetDisabled(e)) {\n return;\n }\n if (openOnHover && !hasMouseMoved.current) {\n setOpen(e, { open: true, keyboard: false });\n hasMouseMoved.current = true;\n }\n };\n\n const onMouseLeave = (e: React.MouseEvent<HTMLElement>) => {\n if (isTargetDisabled(e)) {\n return;\n }\n if (openOnHover) {\n setOpen(e, { open: false, keyboard: false });\n }\n };\n\n return {\n isSubmenu,\n children: applyTriggerPropsToChildren<MenuTriggerChildProps>(children, {\n 'aria-haspopup': 'menu',\n 'aria-expanded': !open && !isSubmenu ? undefined : open,\n id: triggerId,\n ...child?.props,\n ref: useMergedRefs(triggerRef, child?.ref),\n onClick: useMergedEventCallbacks(child?.props?.onClick, onClick),\n onMouseEnter: useMergedEventCallbacks(child?.props?.onMouseEnter, onMouseEnter),\n onMouseLeave: useMergedEventCallbacks(child?.props?.onMouseLeave, onMouseLeave),\n onKeyDown: useMergedEventCallbacks(child?.props?.onKeyDown, onKeyDown),\n onContextMenu: useMergedEventCallbacks(child?.props?.onContextMenu, onContextMenu),\n onMouseMove: useMergedEventCallbacks(child?.props?.onMouseMove, onMouseMove),\n }),\n };\n};\n\nconst isTargetDisabled = (e: React.SyntheticEvent | Event) => {\n const isDisabled = (el: HTMLElement) =>\n el.hasAttribute('disabled') || (el.hasAttribute('aria-disabled') && el.getAttribute('aria-disabled') === 'true');\n if (e.target instanceof HTMLElement && isDisabled(e.target)) {\n return true;\n }\n\n return e.currentTarget instanceof HTMLElement && isDisabled(e.currentTarget);\n};\n"],"sourceRoot":"../src/"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/components/index.ts"],"names":[],"mappings":";;;;;;;;AAAA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,kBAAA,CAAA,EAAA,OAAA;;AACA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,kBAAA,CAAA,EAAA,OAAA","sourceRoot":""}
1
+ {"version":3,"sources":["components/index.ts"],"names":[],"mappings":";;;;;;;;AAAA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,kBAAA,CAAA,EAAA,OAAA;;AACA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,kBAAA,CAAA,EAAA,OAAA","sourcesContent":["export * from './MenuItem/index';\nexport * from './MenuList/index';\n"],"sourceRoot":"../src/"}
@@ -13,4 +13,4 @@ export declare type MenuContextValue = MenuListProps & Pick<MenuState, 'openOnHo
13
13
  triggerId: string;
14
14
  };
15
15
  export declare const MenuProvider: React.Provider<MenuContextValue> & React.FC<React.ProviderProps<MenuContextValue>>;
16
- export declare const useMenuContext: <T>(selector: ContextSelector<MenuContextValue, T>) => T;
16
+ export declare const useMenuContext_unstable: <T>(selector: ContextSelector<MenuContextValue, T>) => T;
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.useMenuContext = exports.MenuProvider = exports.MenuContext = void 0;
6
+ exports.useMenuContext_unstable = exports.MenuProvider = exports.MenuContext = void 0;
7
7
 
8
8
  const react_context_selector_1 = /*#__PURE__*/require("@fluentui/react-context-selector");
9
9
 
@@ -28,7 +28,7 @@ exports.MenuContext = /*#__PURE__*/react_context_selector_1.createContext({
28
28
  });
29
29
  exports.MenuProvider = exports.MenuContext.Provider;
30
30
 
31
- const useMenuContext = selector => react_context_selector_1.useContextSelector(exports.MenuContext, selector);
31
+ const useMenuContext_unstable = selector => react_context_selector_1.useContextSelector(exports.MenuContext, selector);
32
32
 
33
- exports.useMenuContext = useMenuContext;
33
+ exports.useMenuContext_unstable = useMenuContext_unstable;
34
34
  //# sourceMappingURL=menuContext.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/contexts/menuContext.ts"],"names":[],"mappings":";;;;;;;AACA,MAAA,wBAAA,gBAAA,OAAA,CAAA,kCAAA,CAAA;;AAKa,OAAA,CAAA,WAAA,gBAAyC,wBAAA,CAAA,aAAA,CAAgC;AACpF,EAAA,IAAI,EAAE,KAD8E;AAEpF,EAAA,OAAO,EAAE,MAAM,KAFqE;AAGpF,EAAA,aAAa,EAAE,EAHqE;AAIpF,EAAA,oBAAoB,EAAE,MAAM,IAJwD;AAKpF,EAAA,oBAAoB,EAAE,EAL8D;AAMpF,EAAA,SAAS,EAAE,KANyE;AAOpF,EAAA,UAAU,EAAG;AAAE,IAAA,OAAO,EAAE;AAAX,GAPuE;AAQpF,EAAA,cAAc,EAAG;AAAE,IAAA,OAAO,EAAE;AAAX,GARmE;AASpF,EAAA,SAAS,EAAE,EATyE;AAUpF,EAAA,aAAa,EAAE,KAVqE;AAWpF,EAAA,WAAW,EAAE,KAXuE;AAYpF,EAAA,QAAQ,EAAE,KAZ0E;AAapF,EAAA,aAAa,EAAE;AAbqE,CAAhC,CAAzC;AAwCA,OAAA,CAAA,YAAA,GAAe,OAAA,CAAA,WAAA,CAAY,QAA3B;;AAEN,MAAM,cAAc,GAAO,QAAJ,IAC5B,wBAAA,CAAA,kBAAA,CAAmB,OAAA,CAAA,WAAnB,EAAgC,QAAhC,CADK;;AAAM,OAAA,CAAA,cAAA,GAAc,cAAd","sourceRoot":""}
1
+ {"version":3,"sources":["contexts/menuContext.ts"],"names":[],"mappings":";;;;;;;AACA,MAAA,wBAAA,gBAAA,OAAA,CAAA,kCAAA,CAAA;;AAKa,OAAA,CAAA,WAAA,gBAAyC,wBAAA,CAAA,aAAA,CAAgC;AACpF,EAAA,IAAI,EAAE,KAD8E;AAEpF,EAAA,OAAO,EAAE,MAAM,KAFqE;AAGpF,EAAA,aAAa,EAAE,EAHqE;AAIpF,EAAA,oBAAoB,EAAE,MAAM,IAJwD;AAKpF,EAAA,oBAAoB,EAAE,EAL8D;AAMpF,EAAA,SAAS,EAAE,KANyE;AAOpF,EAAA,UAAU,EAAG;AAAE,IAAA,OAAO,EAAE;AAAX,GAPuE;AAQpF,EAAA,cAAc,EAAG;AAAE,IAAA,OAAO,EAAE;AAAX,GARmE;AASpF,EAAA,SAAS,EAAE,EATyE;AAUpF,EAAA,aAAa,EAAE,KAVqE;AAWpF,EAAA,WAAW,EAAE,KAXuE;AAYpF,EAAA,QAAQ,EAAE,KAZ0E;AAapF,EAAA,aAAa,EAAE;AAbqE,CAAhC,CAAzC;AAwCA,OAAA,CAAA,YAAA,GAAe,OAAA,CAAA,WAAA,CAAY,QAA3B;;AAEN,MAAM,uBAAuB,GAAO,QAAJ,IACrC,wBAAA,CAAA,kBAAA,CAAmB,OAAA,CAAA,WAAnB,EAAgC,QAAhC,CADK;;AAAM,OAAA,CAAA,uBAAA,GAAuB,uBAAvB","sourcesContent":["import * as React from 'react';\nimport { createContext, useContextSelector } from '@fluentui/react-context-selector';\nimport type { ContextSelector, Context } from '@fluentui/react-context-selector';\nimport type { MenuListProps } from '../components/index';\nimport type { MenuState } from '../components/Menu/index';\n\nexport const MenuContext: Context<MenuContextValue> = createContext<MenuContextValue>({\n open: false,\n setOpen: () => false,\n checkedValues: {},\n onCheckedValueChange: () => null,\n defaultCheckedValues: {},\n isSubmenu: false,\n triggerRef: ({ current: null } as unknown) as React.MutableRefObject<HTMLElement>,\n menuPopoverRef: ({ current: null } as unknown) as React.MutableRefObject<HTMLElement>,\n triggerId: '',\n openOnContext: false,\n openOnHover: false,\n hasIcons: false,\n hasCheckmarks: false,\n});\n\n/**\n * Context shared between Menu and its children components\n *\n * Extends and drills down MenuList props to simplify API\n */\nexport type MenuContextValue = MenuListProps &\n Pick<\n MenuState,\n | 'openOnHover'\n | 'openOnContext'\n | 'triggerRef'\n | 'menuPopoverRef'\n | 'setOpen'\n | 'isSubmenu'\n | 'triggerId'\n | 'hasIcons'\n | 'hasCheckmarks'\n | 'persistOnItemClick'\n | 'inline'\n > & {\n open: boolean;\n triggerId: string;\n };\n\nexport const MenuProvider = MenuContext.Provider;\n\nexport const useMenuContext_unstable = <T>(selector: ContextSelector<MenuContextValue, T>) =>\n useContextSelector(MenuContext, selector);\n"],"sourceRoot":"../src/"}
@@ -10,4 +10,4 @@ export declare type MenuGroupContextValue = {
10
10
  headerId: string;
11
11
  };
12
12
  export declare const MenuGroupContextProvider: React.Provider<MenuGroupContextValue>;
13
- export declare const useMenuGroupContext: () => MenuGroupContextValue;
13
+ export declare const useMenuGroupContext_unstable: () => MenuGroupContextValue;
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.useMenuGroupContext = exports.MenuGroupContextProvider = void 0;
6
+ exports.useMenuGroupContext_unstable = exports.MenuGroupContextProvider = void 0;
7
7
 
8
8
  const React = /*#__PURE__*/require("react");
9
9
 
@@ -12,7 +12,7 @@ const MenuGroupContext = /*#__PURE__*/React.createContext({
12
12
  });
13
13
  exports.MenuGroupContextProvider = MenuGroupContext.Provider;
14
14
 
15
- const useMenuGroupContext = () => React.useContext(MenuGroupContext);
15
+ const useMenuGroupContext_unstable = () => React.useContext(MenuGroupContext);
16
16
 
17
- exports.useMenuGroupContext = useMenuGroupContext;
17
+ exports.useMenuGroupContext_unstable = useMenuGroupContext_unstable;
18
18
  //# sourceMappingURL=menuGroupContext.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/contexts/menuGroupContext.ts"],"names":[],"mappings":";;;;;;;AAAA,MAAA,KAAA,gBAAA,OAAA,CAAA,OAAA,CAAA;;AAEA,MAAM,gBAAgB,gBAAG,KAAK,CAAC,aAAN,CAA2C;AAAE,EAAA,QAAQ,EAAE;AAAZ,CAA3C,CAAzB;AAaa,OAAA,CAAA,wBAAA,GAA2B,gBAAgB,CAAC,QAA5C;;AACN,MAAM,mBAAmB,GAAG,MAAM,KAAK,CAAC,UAAN,CAAiB,gBAAjB,CAAlC;;AAAM,OAAA,CAAA,mBAAA,GAAmB,mBAAnB","sourceRoot":""}
1
+ {"version":3,"sources":["contexts/menuGroupContext.ts"],"names":[],"mappings":";;;;;;;AAAA,MAAA,KAAA,gBAAA,OAAA,CAAA,OAAA,CAAA;;AAEA,MAAM,gBAAgB,gBAAG,KAAK,CAAC,aAAN,CAA2C;AAAE,EAAA,QAAQ,EAAE;AAAZ,CAA3C,CAAzB;AAaa,OAAA,CAAA,wBAAA,GAA2B,gBAAgB,CAAC,QAA5C;;AACN,MAAM,4BAA4B,GAAG,MAAM,KAAK,CAAC,UAAN,CAAiB,gBAAjB,CAA3C;;AAAM,OAAA,CAAA,4BAAA,GAA4B,4BAA5B","sourcesContent":["import * as React from 'react';\n\nconst MenuGroupContext = React.createContext<MenuGroupContextValue>({ headerId: '' });\n\n/**\n * Context used to guarantee correct aria-relationship between header\n * and group information\n */\nexport type MenuGroupContextValue = {\n /**\n * Element id applied to the `MenuGroupHeader` component\n */\n headerId: string;\n};\n\nexport const MenuGroupContextProvider = MenuGroupContext.Provider;\nexport const useMenuGroupContext_unstable = () => React.useContext(MenuGroupContext);\n"],"sourceRoot":"../src/"}
@@ -12,4 +12,4 @@ export declare type MenuListContextValue = Pick<MenuListProps, 'checkedValues' |
12
12
  selectRadio?: SelectableHandler;
13
13
  };
14
14
  export declare const MenuListProvider: React.Provider<MenuListContextValue> & React.FC<React.ProviderProps<MenuListContextValue>>;
15
- export declare const useMenuListContext: <T>(selector: ContextSelector<MenuListContextValue, T>) => T;
15
+ export declare const useMenuListContext_unstable: <T>(selector: ContextSelector<MenuListContextValue, T>) => T;