@fluentui/react-menu 0.0.0-nightly-20220302-0405.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 (554) hide show
  1. package/CHANGELOG.json +5046 -0
  2. package/CHANGELOG.md +1569 -0
  3. package/LICENSE +15 -0
  4. package/README.md +5 -0
  5. package/Spec.md +1039 -0
  6. package/dist/react-menu.d.ts +662 -0
  7. package/lib/Menu.d.ts +1 -0
  8. package/lib/Menu.js +2 -0
  9. package/lib/Menu.js.map +1 -0
  10. package/lib/MenuDivider.d.ts +1 -0
  11. package/lib/MenuDivider.js +2 -0
  12. package/lib/MenuDivider.js.map +1 -0
  13. package/lib/MenuGroup.d.ts +1 -0
  14. package/lib/MenuGroup.js +2 -0
  15. package/lib/MenuGroup.js.map +1 -0
  16. package/lib/MenuGroupHeader.d.ts +1 -0
  17. package/lib/MenuGroupHeader.js +2 -0
  18. package/lib/MenuGroupHeader.js.map +1 -0
  19. package/lib/MenuItem.d.ts +1 -0
  20. package/lib/MenuItem.js +2 -0
  21. package/lib/MenuItem.js.map +1 -0
  22. package/lib/MenuItemCheckbox.d.ts +1 -0
  23. package/lib/MenuItemCheckbox.js +2 -0
  24. package/lib/MenuItemCheckbox.js.map +1 -0
  25. package/lib/MenuItemRadio.d.ts +1 -0
  26. package/lib/MenuItemRadio.js +2 -0
  27. package/lib/MenuItemRadio.js.map +1 -0
  28. package/lib/MenuList.d.ts +1 -0
  29. package/lib/MenuList.js +2 -0
  30. package/lib/MenuList.js.map +1 -0
  31. package/lib/MenuPopover.d.ts +1 -0
  32. package/lib/MenuPopover.js +2 -0
  33. package/lib/MenuPopover.js.map +1 -0
  34. package/lib/MenuSplitGroup.d.ts +1 -0
  35. package/lib/MenuSplitGroup.js +2 -0
  36. package/lib/MenuSplitGroup.js.map +1 -0
  37. package/lib/MenuTrigger.d.ts +1 -0
  38. package/lib/MenuTrigger.js +2 -0
  39. package/lib/MenuTrigger.js.map +1 -0
  40. package/lib/components/Menu/Menu.d.ts +6 -0
  41. package/lib/components/Menu/Menu.js +14 -0
  42. package/lib/components/Menu/Menu.js.map +1 -0
  43. package/lib/components/Menu/Menu.types.d.ts +113 -0
  44. package/lib/components/Menu/Menu.types.js +2 -0
  45. package/lib/components/Menu/Menu.types.js.map +1 -0
  46. package/lib/components/Menu/index.d.ts +5 -0
  47. package/lib/components/Menu/index.js +6 -0
  48. package/lib/components/Menu/index.js.map +1 -0
  49. package/lib/components/Menu/renderMenu.d.ts +5 -0
  50. package/lib/components/Menu/renderMenu.js +12 -0
  51. package/lib/components/Menu/renderMenu.js.map +1 -0
  52. package/lib/components/Menu/useMenu.d.ts +10 -0
  53. package/lib/components/Menu/useMenu.js +260 -0
  54. package/lib/components/Menu/useMenu.js.map +1 -0
  55. package/lib/components/Menu/useMenuContextValues.d.ts +2 -0
  56. package/lib/components/Menu/useMenuContextValues.js +41 -0
  57. package/lib/components/Menu/useMenuContextValues.js.map +1 -0
  58. package/lib/components/MenuDivider/MenuDivider.d.ts +6 -0
  59. package/lib/components/MenuDivider/MenuDivider.js +15 -0
  60. package/lib/components/MenuDivider/MenuDivider.js.map +1 -0
  61. package/lib/components/MenuDivider/MenuDivider.types.d.ts +6 -0
  62. package/lib/components/MenuDivider/MenuDivider.types.js +2 -0
  63. package/lib/components/MenuDivider/MenuDivider.types.js.map +1 -0
  64. package/lib/components/MenuDivider/index.d.ts +5 -0
  65. package/lib/components/MenuDivider/index.js +6 -0
  66. package/lib/components/MenuDivider/index.js.map +1 -0
  67. package/lib/components/MenuDivider/renderMenuDivider.d.ts +6 -0
  68. package/lib/components/MenuDivider/renderMenuDivider.js +16 -0
  69. package/lib/components/MenuDivider/renderMenuDivider.js.map +1 -0
  70. package/lib/components/MenuDivider/useMenuDivider.d.ts +6 -0
  71. package/lib/components/MenuDivider/useMenuDivider.js +19 -0
  72. package/lib/components/MenuDivider/useMenuDivider.js.map +1 -0
  73. package/lib/components/MenuDivider/useMenuDividerStyles.d.ts +3 -0
  74. package/lib/components/MenuDivider/useMenuDividerStyles.js +24 -0
  75. package/lib/components/MenuDivider/useMenuDividerStyles.js.map +1 -0
  76. package/lib/components/MenuGroup/MenuGroup.d.ts +6 -0
  77. package/lib/components/MenuGroup/MenuGroup.js +17 -0
  78. package/lib/components/MenuGroup/MenuGroup.js.map +1 -0
  79. package/lib/components/MenuGroup/MenuGroup.types.d.ts +15 -0
  80. package/lib/components/MenuGroup/MenuGroup.types.js +2 -0
  81. package/lib/components/MenuGroup/MenuGroup.types.js.map +1 -0
  82. package/lib/components/MenuGroup/index.d.ts +6 -0
  83. package/lib/components/MenuGroup/index.js +7 -0
  84. package/lib/components/MenuGroup/index.js.map +1 -0
  85. package/lib/components/MenuGroup/renderMenuGroup.d.ts +6 -0
  86. package/lib/components/MenuGroup/renderMenuGroup.js +19 -0
  87. package/lib/components/MenuGroup/renderMenuGroup.js.map +1 -0
  88. package/lib/components/MenuGroup/useMenuGroup.d.ts +6 -0
  89. package/lib/components/MenuGroup/useMenuGroup.js +21 -0
  90. package/lib/components/MenuGroup/useMenuGroup.js.map +1 -0
  91. package/lib/components/MenuGroup/useMenuGroupContextValues.d.ts +2 -0
  92. package/lib/components/MenuGroup/useMenuGroupContextValues.js +13 -0
  93. package/lib/components/MenuGroup/useMenuGroupContextValues.js.map +1 -0
  94. package/lib/components/MenuGroup/useMenuGroupStyles.d.ts +3 -0
  95. package/lib/components/MenuGroup/useMenuGroupStyles.js +7 -0
  96. package/lib/components/MenuGroup/useMenuGroupStyles.js.map +1 -0
  97. package/lib/components/MenuGroupHeader/MenuGroupHeader.d.ts +6 -0
  98. package/lib/components/MenuGroupHeader/MenuGroupHeader.js +15 -0
  99. package/lib/components/MenuGroupHeader/MenuGroupHeader.js.map +1 -0
  100. package/lib/components/MenuGroupHeader/MenuGroupHeader.types.d.ts +6 -0
  101. package/lib/components/MenuGroupHeader/MenuGroupHeader.types.js +2 -0
  102. package/lib/components/MenuGroupHeader/MenuGroupHeader.types.js.map +1 -0
  103. package/lib/components/MenuGroupHeader/index.d.ts +5 -0
  104. package/lib/components/MenuGroupHeader/index.js +6 -0
  105. package/lib/components/MenuGroupHeader/index.js.map +1 -0
  106. package/lib/components/MenuGroupHeader/renderMenuGroupHeader.d.ts +6 -0
  107. package/lib/components/MenuGroupHeader/renderMenuGroupHeader.js +16 -0
  108. package/lib/components/MenuGroupHeader/renderMenuGroupHeader.js.map +1 -0
  109. package/lib/components/MenuGroupHeader/useMenuGroupHeader.d.ts +6 -0
  110. package/lib/components/MenuGroupHeader/useMenuGroupHeader.js +22 -0
  111. package/lib/components/MenuGroupHeader/useMenuGroupHeader.js.map +1 -0
  112. package/lib/components/MenuGroupHeader/useMenuGroupHeaderStyles.d.ts +3 -0
  113. package/lib/components/MenuGroupHeader/useMenuGroupHeaderStyles.js +25 -0
  114. package/lib/components/MenuGroupHeader/useMenuGroupHeaderStyles.js.map +1 -0
  115. package/lib/components/MenuItem/MenuItem.d.ts +6 -0
  116. package/lib/components/MenuItem/MenuItem.js +15 -0
  117. package/lib/components/MenuItem/MenuItem.js.map +1 -0
  118. package/lib/components/MenuItem/MenuItem.types.d.ts +43 -0
  119. package/lib/components/MenuItem/MenuItem.types.js +2 -0
  120. package/lib/components/MenuItem/MenuItem.types.js.map +1 -0
  121. package/lib/components/MenuItem/index.d.ts +5 -0
  122. package/lib/components/MenuItem/index.js +6 -0
  123. package/lib/components/MenuItem/index.js.map +1 -0
  124. package/lib/components/MenuItem/renderMenuItem.d.ts +5 -0
  125. package/lib/components/MenuItem/renderMenuItem.js +20 -0
  126. package/lib/components/MenuItem/renderMenuItem.js.map +1 -0
  127. package/lib/components/MenuItem/useCharacterSearch.d.ts +3 -0
  128. package/lib/components/MenuItem/useCharacterSearch.js +26 -0
  129. package/lib/components/MenuItem/useCharacterSearch.js.map +1 -0
  130. package/lib/components/MenuItem/useMenuItem.d.ts +6 -0
  131. package/lib/components/MenuItem/useMenuItem.js +125 -0
  132. package/lib/components/MenuItem/useMenuItem.js.map +1 -0
  133. package/lib/components/MenuItem/useMenuItemStyles.d.ts +4 -0
  134. package/lib/components/MenuItem/useMenuItemStyles.js +107 -0
  135. package/lib/components/MenuItem/useMenuItemStyles.js.map +1 -0
  136. package/lib/components/MenuItemCheckbox/MenuItemCheckbox.d.ts +6 -0
  137. package/lib/components/MenuItemCheckbox/MenuItemCheckbox.js +15 -0
  138. package/lib/components/MenuItemCheckbox/MenuItemCheckbox.js.map +1 -0
  139. package/lib/components/MenuItemCheckbox/MenuItemCheckbox.types.d.ts +4 -0
  140. package/lib/components/MenuItemCheckbox/MenuItemCheckbox.types.js +2 -0
  141. package/lib/components/MenuItemCheckbox/MenuItemCheckbox.types.js.map +1 -0
  142. package/lib/components/MenuItemCheckbox/index.d.ts +5 -0
  143. package/lib/components/MenuItemCheckbox/index.js +6 -0
  144. package/lib/components/MenuItemCheckbox/index.js.map +1 -0
  145. package/lib/components/MenuItemCheckbox/renderMenuItemCheckbox.d.ts +3 -0
  146. package/lib/components/MenuItemCheckbox/renderMenuItemCheckbox.js +17 -0
  147. package/lib/components/MenuItemCheckbox/renderMenuItemCheckbox.js.map +1 -0
  148. package/lib/components/MenuItemCheckbox/useMenuItemCheckbox.d.ts +4 -0
  149. package/lib/components/MenuItemCheckbox/useMenuItemCheckbox.js +46 -0
  150. package/lib/components/MenuItemCheckbox/useMenuItemCheckbox.js.map +1 -0
  151. package/lib/components/MenuItemCheckbox/useMenuItemCheckboxStyles.d.ts +3 -0
  152. package/lib/components/MenuItemCheckbox/useMenuItemCheckboxStyles.js +10 -0
  153. package/lib/components/MenuItemCheckbox/useMenuItemCheckboxStyles.js.map +1 -0
  154. package/lib/components/MenuItemRadio/MenuItemRadio.d.ts +6 -0
  155. package/lib/components/MenuItemRadio/MenuItemRadio.js +15 -0
  156. package/lib/components/MenuItemRadio/MenuItemRadio.js.map +1 -0
  157. package/lib/components/MenuItemRadio/MenuItemRadio.types.d.ts +4 -0
  158. package/lib/components/MenuItemRadio/MenuItemRadio.types.js +2 -0
  159. package/lib/components/MenuItemRadio/MenuItemRadio.types.js.map +1 -0
  160. package/lib/components/MenuItemRadio/index.d.ts +5 -0
  161. package/lib/components/MenuItemRadio/index.js +6 -0
  162. package/lib/components/MenuItemRadio/index.js.map +1 -0
  163. package/lib/components/MenuItemRadio/renderMenuItemRadio.d.ts +6 -0
  164. package/lib/components/MenuItemRadio/renderMenuItemRadio.js +20 -0
  165. package/lib/components/MenuItemRadio/renderMenuItemRadio.js.map +1 -0
  166. package/lib/components/MenuItemRadio/useMenuItemRadio.d.ts +6 -0
  167. package/lib/components/MenuItemRadio/useMenuItemRadio.js +49 -0
  168. package/lib/components/MenuItemRadio/useMenuItemRadio.js.map +1 -0
  169. package/lib/components/MenuItemRadio/useMenuItemRadioStyles.d.ts +3 -0
  170. package/lib/components/MenuItemRadio/useMenuItemRadioStyles.js +10 -0
  171. package/lib/components/MenuItemRadio/useMenuItemRadioStyles.js.map +1 -0
  172. package/lib/components/MenuList/MenuList.d.ts +6 -0
  173. package/lib/components/MenuList/MenuList.js +17 -0
  174. package/lib/components/MenuList/MenuList.js.map +1 -0
  175. package/lib/components/MenuList/MenuList.types.d.ts +55 -0
  176. package/lib/components/MenuList/MenuList.types.js +2 -0
  177. package/lib/components/MenuList/MenuList.types.js.map +1 -0
  178. package/lib/components/MenuList/index.d.ts +6 -0
  179. package/lib/components/MenuList/index.js +6 -0
  180. package/lib/components/MenuList/index.js.map +1 -0
  181. package/lib/components/MenuList/renderMenuList.d.ts +5 -0
  182. package/lib/components/MenuList/renderMenuList.js +18 -0
  183. package/lib/components/MenuList/renderMenuList.js.map +1 -0
  184. package/lib/components/MenuList/useMenuList.d.ts +6 -0
  185. package/lib/components/MenuList/useMenuList.js +168 -0
  186. package/lib/components/MenuList/useMenuList.js.map +1 -0
  187. package/lib/components/MenuList/useMenuListContextValues.d.ts +2 -0
  188. package/lib/components/MenuList/useMenuListContextValues.js +25 -0
  189. package/lib/components/MenuList/useMenuListContextValues.js.map +1 -0
  190. package/lib/components/MenuList/useMenuListStyles.d.ts +6 -0
  191. package/lib/components/MenuList/useMenuListStyles.js +24 -0
  192. package/lib/components/MenuList/useMenuListStyles.js.map +1 -0
  193. package/lib/components/MenuPopover/MenuPopover.d.ts +6 -0
  194. package/lib/components/MenuPopover/MenuPopover.js +15 -0
  195. package/lib/components/MenuPopover/MenuPopover.js.map +1 -0
  196. package/lib/components/MenuPopover/MenuPopover.types.d.ts +18 -0
  197. package/lib/components/MenuPopover/MenuPopover.types.js +2 -0
  198. package/lib/components/MenuPopover/MenuPopover.types.js.map +1 -0
  199. package/lib/components/MenuPopover/index.d.ts +5 -0
  200. package/lib/components/MenuPopover/index.js +6 -0
  201. package/lib/components/MenuPopover/index.js.map +1 -0
  202. package/lib/components/MenuPopover/renderMenuPopover.d.ts +5 -0
  203. package/lib/components/MenuPopover/renderMenuPopover.js +22 -0
  204. package/lib/components/MenuPopover/renderMenuPopover.js.map +1 -0
  205. package/lib/components/MenuPopover/useMenuPopover.d.ts +12 -0
  206. package/lib/components/MenuPopover/useMenuPopover.js +104 -0
  207. package/lib/components/MenuPopover/useMenuPopover.js.map +1 -0
  208. package/lib/components/MenuPopover/useMenuPopoverStyles.d.ts +6 -0
  209. package/lib/components/MenuPopover/useMenuPopoverStyles.js +46 -0
  210. package/lib/components/MenuPopover/useMenuPopoverStyles.js.map +1 -0
  211. package/lib/components/MenuSplitGroup/MenuSplitGroup.d.ts +6 -0
  212. package/lib/components/MenuSplitGroup/MenuSplitGroup.js +15 -0
  213. package/lib/components/MenuSplitGroup/MenuSplitGroup.js.map +1 -0
  214. package/lib/components/MenuSplitGroup/MenuSplitGroup.types.d.ts +14 -0
  215. package/lib/components/MenuSplitGroup/MenuSplitGroup.types.js +2 -0
  216. package/lib/components/MenuSplitGroup/MenuSplitGroup.types.js.map +1 -0
  217. package/lib/components/MenuSplitGroup/index.d.ts +5 -0
  218. package/lib/components/MenuSplitGroup/index.js +6 -0
  219. package/lib/components/MenuSplitGroup/index.js.map +1 -0
  220. package/lib/components/MenuSplitGroup/renderMenuSplitGroup.d.ts +5 -0
  221. package/lib/components/MenuSplitGroup/renderMenuSplitGroup.js +15 -0
  222. package/lib/components/MenuSplitGroup/renderMenuSplitGroup.js.map +1 -0
  223. package/lib/components/MenuSplitGroup/useMenuSplitGroup.d.ts +12 -0
  224. package/lib/components/MenuSplitGroup/useMenuSplitGroup.js +67 -0
  225. package/lib/components/MenuSplitGroup/useMenuSplitGroup.js.map +1 -0
  226. package/lib/components/MenuSplitGroup/useMenuSplitGroupStyles.d.ts +6 -0
  227. package/lib/components/MenuSplitGroup/useMenuSplitGroupStyles.js +35 -0
  228. package/lib/components/MenuSplitGroup/useMenuSplitGroupStyles.js.map +1 -0
  229. package/lib/components/MenuTrigger/MenuTrigger.d.ts +8 -0
  230. package/lib/components/MenuTrigger/MenuTrigger.js +14 -0
  231. package/lib/components/MenuTrigger/MenuTrigger.js.map +1 -0
  232. package/lib/components/MenuTrigger/MenuTrigger.types.d.ts +20 -0
  233. package/lib/components/MenuTrigger/MenuTrigger.types.js +2 -0
  234. package/lib/components/MenuTrigger/MenuTrigger.types.js.map +1 -0
  235. package/lib/components/MenuTrigger/index.d.ts +4 -0
  236. package/lib/components/MenuTrigger/index.js +5 -0
  237. package/lib/components/MenuTrigger/index.js.map +1 -0
  238. package/lib/components/MenuTrigger/renderMenuTrigger.d.ts +7 -0
  239. package/lib/components/MenuTrigger/renderMenuTrigger.js +14 -0
  240. package/lib/components/MenuTrigger/renderMenuTrigger.js.map +1 -0
  241. package/lib/components/MenuTrigger/useMenuTrigger.d.ts +8 -0
  242. package/lib/components/MenuTrigger/useMenuTrigger.js +178 -0
  243. package/lib/components/MenuTrigger/useMenuTrigger.js.map +1 -0
  244. package/lib/components/index.d.ts +2 -0
  245. package/lib/components/index.js +3 -0
  246. package/lib/components/index.js.map +1 -0
  247. package/lib/contexts/menuContext.d.ts +16 -0
  248. package/lib/contexts/menuContext.js +23 -0
  249. package/lib/contexts/menuContext.js.map +1 -0
  250. package/lib/contexts/menuGroupContext.d.ts +13 -0
  251. package/lib/contexts/menuGroupContext.js +7 -0
  252. package/lib/contexts/menuGroupContext.js.map +1 -0
  253. package/lib/contexts/menuListContext.d.ts +15 -0
  254. package/lib/contexts/menuListContext.js +13 -0
  255. package/lib/contexts/menuListContext.js.map +1 -0
  256. package/lib/contexts/menuTriggerContext.d.ts +3 -0
  257. package/lib/contexts/menuTriggerContext.js +9 -0
  258. package/lib/contexts/menuTriggerContext.js.map +1 -0
  259. package/lib/index.d.ts +16 -0
  260. package/lib/index.js +17 -0
  261. package/lib/index.js.map +1 -0
  262. package/lib/selectable/index.d.ts +2 -0
  263. package/lib/selectable/index.js +3 -0
  264. package/lib/selectable/index.js.map +1 -0
  265. package/lib/selectable/types.d.ts +34 -0
  266. package/lib/selectable/types.js +2 -0
  267. package/lib/selectable/types.js.map +1 -0
  268. package/lib/selectable/useCheckmarkStyles.d.ts +8 -0
  269. package/lib/selectable/useCheckmarkStyles.js +29 -0
  270. package/lib/selectable/useCheckmarkStyles.js.map +1 -0
  271. package/lib/tsdoc-metadata.json +11 -0
  272. package/lib/utils/index.d.ts +1 -0
  273. package/lib/utils/index.js +2 -0
  274. package/lib/utils/index.js.map +1 -0
  275. package/lib/utils/useIsSubmenu.d.ts +9 -0
  276. package/lib/utils/useIsSubmenu.js +18 -0
  277. package/lib/utils/useIsSubmenu.js.map +1 -0
  278. package/lib/utils/useOnMenuEnter.d.ts +23 -0
  279. package/lib/utils/useOnMenuEnter.js +72 -0
  280. package/lib/utils/useOnMenuEnter.js.map +1 -0
  281. package/lib-commonjs/Menu.d.ts +1 -0
  282. package/lib-commonjs/Menu.js +10 -0
  283. package/lib-commonjs/Menu.js.map +1 -0
  284. package/lib-commonjs/MenuDivider.d.ts +1 -0
  285. package/lib-commonjs/MenuDivider.js +10 -0
  286. package/lib-commonjs/MenuDivider.js.map +1 -0
  287. package/lib-commonjs/MenuGroup.d.ts +1 -0
  288. package/lib-commonjs/MenuGroup.js +10 -0
  289. package/lib-commonjs/MenuGroup.js.map +1 -0
  290. package/lib-commonjs/MenuGroupHeader.d.ts +1 -0
  291. package/lib-commonjs/MenuGroupHeader.js +10 -0
  292. package/lib-commonjs/MenuGroupHeader.js.map +1 -0
  293. package/lib-commonjs/MenuItem.d.ts +1 -0
  294. package/lib-commonjs/MenuItem.js +10 -0
  295. package/lib-commonjs/MenuItem.js.map +1 -0
  296. package/lib-commonjs/MenuItemCheckbox.d.ts +1 -0
  297. package/lib-commonjs/MenuItemCheckbox.js +10 -0
  298. package/lib-commonjs/MenuItemCheckbox.js.map +1 -0
  299. package/lib-commonjs/MenuItemRadio.d.ts +1 -0
  300. package/lib-commonjs/MenuItemRadio.js +10 -0
  301. package/lib-commonjs/MenuItemRadio.js.map +1 -0
  302. package/lib-commonjs/MenuList.d.ts +1 -0
  303. package/lib-commonjs/MenuList.js +10 -0
  304. package/lib-commonjs/MenuList.js.map +1 -0
  305. package/lib-commonjs/MenuPopover.d.ts +1 -0
  306. package/lib-commonjs/MenuPopover.js +10 -0
  307. package/lib-commonjs/MenuPopover.js.map +1 -0
  308. package/lib-commonjs/MenuSplitGroup.d.ts +1 -0
  309. package/lib-commonjs/MenuSplitGroup.js +10 -0
  310. package/lib-commonjs/MenuSplitGroup.js.map +1 -0
  311. package/lib-commonjs/MenuTrigger.d.ts +1 -0
  312. package/lib-commonjs/MenuTrigger.js +10 -0
  313. package/lib-commonjs/MenuTrigger.js.map +1 -0
  314. package/lib-commonjs/components/Menu/Menu.d.ts +6 -0
  315. package/lib-commonjs/components/Menu/Menu.js +26 -0
  316. package/lib-commonjs/components/Menu/Menu.js.map +1 -0
  317. package/lib-commonjs/components/Menu/Menu.types.d.ts +113 -0
  318. package/lib-commonjs/components/Menu/Menu.types.js +6 -0
  319. package/lib-commonjs/components/Menu/Menu.types.js.map +1 -0
  320. package/lib-commonjs/components/Menu/index.d.ts +5 -0
  321. package/lib-commonjs/components/Menu/index.js +18 -0
  322. package/lib-commonjs/components/Menu/index.js.map +1 -0
  323. package/lib-commonjs/components/Menu/renderMenu.d.ts +5 -0
  324. package/lib-commonjs/components/Menu/renderMenu.js +23 -0
  325. package/lib-commonjs/components/Menu/renderMenu.js.map +1 -0
  326. package/lib-commonjs/components/Menu/useMenu.d.ts +10 -0
  327. package/lib-commonjs/components/Menu/useMenu.js +278 -0
  328. package/lib-commonjs/components/Menu/useMenu.js.map +1 -0
  329. package/lib-commonjs/components/Menu/useMenuContextValues.d.ts +2 -0
  330. package/lib-commonjs/components/Menu/useMenuContextValues.js +50 -0
  331. package/lib-commonjs/components/Menu/useMenuContextValues.js.map +1 -0
  332. package/lib-commonjs/components/MenuDivider/MenuDivider.d.ts +6 -0
  333. package/lib-commonjs/components/MenuDivider/MenuDivider.js +26 -0
  334. package/lib-commonjs/components/MenuDivider/MenuDivider.js.map +1 -0
  335. package/lib-commonjs/components/MenuDivider/MenuDivider.types.d.ts +6 -0
  336. package/lib-commonjs/components/MenuDivider/MenuDivider.types.js +6 -0
  337. package/lib-commonjs/components/MenuDivider/MenuDivider.types.js.map +1 -0
  338. package/lib-commonjs/components/MenuDivider/index.d.ts +5 -0
  339. package/lib-commonjs/components/MenuDivider/index.js +18 -0
  340. package/lib-commonjs/components/MenuDivider/index.js.map +1 -0
  341. package/lib-commonjs/components/MenuDivider/renderMenuDivider.d.ts +6 -0
  342. package/lib-commonjs/components/MenuDivider/renderMenuDivider.js +27 -0
  343. package/lib-commonjs/components/MenuDivider/renderMenuDivider.js.map +1 -0
  344. package/lib-commonjs/components/MenuDivider/useMenuDivider.d.ts +6 -0
  345. package/lib-commonjs/components/MenuDivider/useMenuDivider.js +29 -0
  346. package/lib-commonjs/components/MenuDivider/useMenuDivider.js.map +1 -0
  347. package/lib-commonjs/components/MenuDivider/useMenuDividerStyles.d.ts +3 -0
  348. package/lib-commonjs/components/MenuDivider/useMenuDividerStyles.js +35 -0
  349. package/lib-commonjs/components/MenuDivider/useMenuDividerStyles.js.map +1 -0
  350. package/lib-commonjs/components/MenuGroup/MenuGroup.d.ts +6 -0
  351. package/lib-commonjs/components/MenuGroup/MenuGroup.js +29 -0
  352. package/lib-commonjs/components/MenuGroup/MenuGroup.js.map +1 -0
  353. package/lib-commonjs/components/MenuGroup/MenuGroup.types.d.ts +15 -0
  354. package/lib-commonjs/components/MenuGroup/MenuGroup.types.js +6 -0
  355. package/lib-commonjs/components/MenuGroup/MenuGroup.types.js.map +1 -0
  356. package/lib-commonjs/components/MenuGroup/index.d.ts +6 -0
  357. package/lib-commonjs/components/MenuGroup/index.js +20 -0
  358. package/lib-commonjs/components/MenuGroup/index.js.map +1 -0
  359. package/lib-commonjs/components/MenuGroup/renderMenuGroup.d.ts +6 -0
  360. package/lib-commonjs/components/MenuGroup/renderMenuGroup.js +31 -0
  361. package/lib-commonjs/components/MenuGroup/renderMenuGroup.js.map +1 -0
  362. package/lib-commonjs/components/MenuGroup/useMenuGroup.d.ts +6 -0
  363. package/lib-commonjs/components/MenuGroup/useMenuGroup.js +31 -0
  364. package/lib-commonjs/components/MenuGroup/useMenuGroup.js.map +1 -0
  365. package/lib-commonjs/components/MenuGroup/useMenuGroupContextValues.d.ts +2 -0
  366. package/lib-commonjs/components/MenuGroup/useMenuGroupContextValues.js +23 -0
  367. package/lib-commonjs/components/MenuGroup/useMenuGroupContextValues.js.map +1 -0
  368. package/lib-commonjs/components/MenuGroup/useMenuGroupStyles.d.ts +3 -0
  369. package/lib-commonjs/components/MenuGroup/useMenuGroupStyles.js +18 -0
  370. package/lib-commonjs/components/MenuGroup/useMenuGroupStyles.js.map +1 -0
  371. package/lib-commonjs/components/MenuGroupHeader/MenuGroupHeader.d.ts +6 -0
  372. package/lib-commonjs/components/MenuGroupHeader/MenuGroupHeader.js +26 -0
  373. package/lib-commonjs/components/MenuGroupHeader/MenuGroupHeader.js.map +1 -0
  374. package/lib-commonjs/components/MenuGroupHeader/MenuGroupHeader.types.d.ts +6 -0
  375. package/lib-commonjs/components/MenuGroupHeader/MenuGroupHeader.types.js +6 -0
  376. package/lib-commonjs/components/MenuGroupHeader/MenuGroupHeader.types.js.map +1 -0
  377. package/lib-commonjs/components/MenuGroupHeader/index.d.ts +5 -0
  378. package/lib-commonjs/components/MenuGroupHeader/index.js +18 -0
  379. package/lib-commonjs/components/MenuGroupHeader/index.js.map +1 -0
  380. package/lib-commonjs/components/MenuGroupHeader/renderMenuGroupHeader.d.ts +6 -0
  381. package/lib-commonjs/components/MenuGroupHeader/renderMenuGroupHeader.js +27 -0
  382. package/lib-commonjs/components/MenuGroupHeader/renderMenuGroupHeader.js.map +1 -0
  383. package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeader.d.ts +6 -0
  384. package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeader.js +33 -0
  385. package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeader.js.map +1 -0
  386. package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeaderStyles.d.ts +3 -0
  387. package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeaderStyles.js +36 -0
  388. package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeaderStyles.js.map +1 -0
  389. package/lib-commonjs/components/MenuItem/MenuItem.d.ts +6 -0
  390. package/lib-commonjs/components/MenuItem/MenuItem.js +26 -0
  391. package/lib-commonjs/components/MenuItem/MenuItem.js.map +1 -0
  392. package/lib-commonjs/components/MenuItem/MenuItem.types.d.ts +43 -0
  393. package/lib-commonjs/components/MenuItem/MenuItem.types.js +6 -0
  394. package/lib-commonjs/components/MenuItem/MenuItem.types.js.map +1 -0
  395. package/lib-commonjs/components/MenuItem/index.d.ts +5 -0
  396. package/lib-commonjs/components/MenuItem/index.js +18 -0
  397. package/lib-commonjs/components/MenuItem/index.js.map +1 -0
  398. package/lib-commonjs/components/MenuItem/renderMenuItem.d.ts +5 -0
  399. package/lib-commonjs/components/MenuItem/renderMenuItem.js +31 -0
  400. package/lib-commonjs/components/MenuItem/renderMenuItem.js.map +1 -0
  401. package/lib-commonjs/components/MenuItem/useCharacterSearch.d.ts +3 -0
  402. package/lib-commonjs/components/MenuItem/useCharacterSearch.js +36 -0
  403. package/lib-commonjs/components/MenuItem/useCharacterSearch.js.map +1 -0
  404. package/lib-commonjs/components/MenuItem/useMenuItem.d.ts +6 -0
  405. package/lib-commonjs/components/MenuItem/useMenuItem.js +142 -0
  406. package/lib-commonjs/components/MenuItem/useMenuItem.js.map +1 -0
  407. package/lib-commonjs/components/MenuItem/useMenuItemStyles.d.ts +4 -0
  408. package/lib-commonjs/components/MenuItem/useMenuItemStyles.js +120 -0
  409. package/lib-commonjs/components/MenuItem/useMenuItemStyles.js.map +1 -0
  410. package/lib-commonjs/components/MenuItemCheckbox/MenuItemCheckbox.d.ts +6 -0
  411. package/lib-commonjs/components/MenuItemCheckbox/MenuItemCheckbox.js +26 -0
  412. package/lib-commonjs/components/MenuItemCheckbox/MenuItemCheckbox.js.map +1 -0
  413. package/lib-commonjs/components/MenuItemCheckbox/MenuItemCheckbox.types.d.ts +4 -0
  414. package/lib-commonjs/components/MenuItemCheckbox/MenuItemCheckbox.types.js +6 -0
  415. package/lib-commonjs/components/MenuItemCheckbox/MenuItemCheckbox.types.js.map +1 -0
  416. package/lib-commonjs/components/MenuItemCheckbox/index.d.ts +5 -0
  417. package/lib-commonjs/components/MenuItemCheckbox/index.js +18 -0
  418. package/lib-commonjs/components/MenuItemCheckbox/index.js.map +1 -0
  419. package/lib-commonjs/components/MenuItemCheckbox/renderMenuItemCheckbox.d.ts +3 -0
  420. package/lib-commonjs/components/MenuItemCheckbox/renderMenuItemCheckbox.js +28 -0
  421. package/lib-commonjs/components/MenuItemCheckbox/renderMenuItemCheckbox.js.map +1 -0
  422. package/lib-commonjs/components/MenuItemCheckbox/useMenuItemCheckbox.d.ts +4 -0
  423. package/lib-commonjs/components/MenuItemCheckbox/useMenuItemCheckbox.js +60 -0
  424. package/lib-commonjs/components/MenuItemCheckbox/useMenuItemCheckbox.js.map +1 -0
  425. package/lib-commonjs/components/MenuItemCheckbox/useMenuItemCheckboxStyles.d.ts +3 -0
  426. package/lib-commonjs/components/MenuItemCheckbox/useMenuItemCheckboxStyles.js +23 -0
  427. package/lib-commonjs/components/MenuItemCheckbox/useMenuItemCheckboxStyles.js.map +1 -0
  428. package/lib-commonjs/components/MenuItemRadio/MenuItemRadio.d.ts +6 -0
  429. package/lib-commonjs/components/MenuItemRadio/MenuItemRadio.js +26 -0
  430. package/lib-commonjs/components/MenuItemRadio/MenuItemRadio.js.map +1 -0
  431. package/lib-commonjs/components/MenuItemRadio/MenuItemRadio.types.d.ts +4 -0
  432. package/lib-commonjs/components/MenuItemRadio/MenuItemRadio.types.js +6 -0
  433. package/lib-commonjs/components/MenuItemRadio/MenuItemRadio.types.js.map +1 -0
  434. package/lib-commonjs/components/MenuItemRadio/index.d.ts +5 -0
  435. package/lib-commonjs/components/MenuItemRadio/index.js +18 -0
  436. package/lib-commonjs/components/MenuItemRadio/index.js.map +1 -0
  437. package/lib-commonjs/components/MenuItemRadio/renderMenuItemRadio.d.ts +6 -0
  438. package/lib-commonjs/components/MenuItemRadio/renderMenuItemRadio.js +31 -0
  439. package/lib-commonjs/components/MenuItemRadio/renderMenuItemRadio.js.map +1 -0
  440. package/lib-commonjs/components/MenuItemRadio/useMenuItemRadio.d.ts +6 -0
  441. package/lib-commonjs/components/MenuItemRadio/useMenuItemRadio.js +63 -0
  442. package/lib-commonjs/components/MenuItemRadio/useMenuItemRadio.js.map +1 -0
  443. package/lib-commonjs/components/MenuItemRadio/useMenuItemRadioStyles.d.ts +3 -0
  444. package/lib-commonjs/components/MenuItemRadio/useMenuItemRadioStyles.js +23 -0
  445. package/lib-commonjs/components/MenuItemRadio/useMenuItemRadioStyles.js.map +1 -0
  446. package/lib-commonjs/components/MenuList/MenuList.d.ts +6 -0
  447. package/lib-commonjs/components/MenuList/MenuList.js +29 -0
  448. package/lib-commonjs/components/MenuList/MenuList.js.map +1 -0
  449. package/lib-commonjs/components/MenuList/MenuList.types.d.ts +55 -0
  450. package/lib-commonjs/components/MenuList/MenuList.types.js +6 -0
  451. package/lib-commonjs/components/MenuList/MenuList.types.js.map +1 -0
  452. package/lib-commonjs/components/MenuList/index.d.ts +6 -0
  453. package/lib-commonjs/components/MenuList/index.js +18 -0
  454. package/lib-commonjs/components/MenuList/index.js.map +1 -0
  455. package/lib-commonjs/components/MenuList/renderMenuList.d.ts +5 -0
  456. package/lib-commonjs/components/MenuList/renderMenuList.js +30 -0
  457. package/lib-commonjs/components/MenuList/renderMenuList.js.map +1 -0
  458. package/lib-commonjs/components/MenuList/useMenuList.d.ts +6 -0
  459. package/lib-commonjs/components/MenuList/useMenuList.js +183 -0
  460. package/lib-commonjs/components/MenuList/useMenuList.js.map +1 -0
  461. package/lib-commonjs/components/MenuList/useMenuListContextValues.d.ts +2 -0
  462. package/lib-commonjs/components/MenuList/useMenuListContextValues.js +34 -0
  463. package/lib-commonjs/components/MenuList/useMenuListContextValues.js.map +1 -0
  464. package/lib-commonjs/components/MenuList/useMenuListStyles.d.ts +6 -0
  465. package/lib-commonjs/components/MenuList/useMenuListStyles.js +34 -0
  466. package/lib-commonjs/components/MenuList/useMenuListStyles.js.map +1 -0
  467. package/lib-commonjs/components/MenuPopover/MenuPopover.d.ts +6 -0
  468. package/lib-commonjs/components/MenuPopover/MenuPopover.js +26 -0
  469. package/lib-commonjs/components/MenuPopover/MenuPopover.js.map +1 -0
  470. package/lib-commonjs/components/MenuPopover/MenuPopover.types.d.ts +18 -0
  471. package/lib-commonjs/components/MenuPopover/MenuPopover.types.js +6 -0
  472. package/lib-commonjs/components/MenuPopover/MenuPopover.types.js.map +1 -0
  473. package/lib-commonjs/components/MenuPopover/index.d.ts +5 -0
  474. package/lib-commonjs/components/MenuPopover/index.js +18 -0
  475. package/lib-commonjs/components/MenuPopover/index.js.map +1 -0
  476. package/lib-commonjs/components/MenuPopover/renderMenuPopover.d.ts +5 -0
  477. package/lib-commonjs/components/MenuPopover/renderMenuPopover.js +34 -0
  478. package/lib-commonjs/components/MenuPopover/renderMenuPopover.js.map +1 -0
  479. package/lib-commonjs/components/MenuPopover/useMenuPopover.d.ts +12 -0
  480. package/lib-commonjs/components/MenuPopover/useMenuPopover.js +120 -0
  481. package/lib-commonjs/components/MenuPopover/useMenuPopover.js.map +1 -0
  482. package/lib-commonjs/components/MenuPopover/useMenuPopoverStyles.d.ts +6 -0
  483. package/lib-commonjs/components/MenuPopover/useMenuPopoverStyles.js +57 -0
  484. package/lib-commonjs/components/MenuPopover/useMenuPopoverStyles.js.map +1 -0
  485. package/lib-commonjs/components/MenuSplitGroup/MenuSplitGroup.d.ts +6 -0
  486. package/lib-commonjs/components/MenuSplitGroup/MenuSplitGroup.js +26 -0
  487. package/lib-commonjs/components/MenuSplitGroup/MenuSplitGroup.js.map +1 -0
  488. package/lib-commonjs/components/MenuSplitGroup/MenuSplitGroup.types.d.ts +14 -0
  489. package/lib-commonjs/components/MenuSplitGroup/MenuSplitGroup.types.js +6 -0
  490. package/lib-commonjs/components/MenuSplitGroup/MenuSplitGroup.types.js.map +1 -0
  491. package/lib-commonjs/components/MenuSplitGroup/index.d.ts +5 -0
  492. package/lib-commonjs/components/MenuSplitGroup/index.js +18 -0
  493. package/lib-commonjs/components/MenuSplitGroup/index.js.map +1 -0
  494. package/lib-commonjs/components/MenuSplitGroup/renderMenuSplitGroup.d.ts +5 -0
  495. package/lib-commonjs/components/MenuSplitGroup/renderMenuSplitGroup.js +26 -0
  496. package/lib-commonjs/components/MenuSplitGroup/renderMenuSplitGroup.js.map +1 -0
  497. package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroup.d.ts +12 -0
  498. package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroup.js +81 -0
  499. package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroup.js.map +1 -0
  500. package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroupStyles.d.ts +6 -0
  501. package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroupStyles.js +47 -0
  502. package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroupStyles.js.map +1 -0
  503. package/lib-commonjs/components/MenuTrigger/MenuTrigger.d.ts +8 -0
  504. package/lib-commonjs/components/MenuTrigger/MenuTrigger.js +25 -0
  505. package/lib-commonjs/components/MenuTrigger/MenuTrigger.js.map +1 -0
  506. package/lib-commonjs/components/MenuTrigger/MenuTrigger.types.d.ts +20 -0
  507. package/lib-commonjs/components/MenuTrigger/MenuTrigger.types.js +6 -0
  508. package/lib-commonjs/components/MenuTrigger/MenuTrigger.types.js.map +1 -0
  509. package/lib-commonjs/components/MenuTrigger/index.d.ts +4 -0
  510. package/lib-commonjs/components/MenuTrigger/index.js +16 -0
  511. package/lib-commonjs/components/MenuTrigger/index.js.map +1 -0
  512. package/lib-commonjs/components/MenuTrigger/renderMenuTrigger.d.ts +7 -0
  513. package/lib-commonjs/components/MenuTrigger/renderMenuTrigger.js +25 -0
  514. package/lib-commonjs/components/MenuTrigger/renderMenuTrigger.js.map +1 -0
  515. package/lib-commonjs/components/MenuTrigger/useMenuTrigger.d.ts +8 -0
  516. package/lib-commonjs/components/MenuTrigger/useMenuTrigger.js +195 -0
  517. package/lib-commonjs/components/MenuTrigger/useMenuTrigger.js.map +1 -0
  518. package/lib-commonjs/components/index.d.ts +2 -0
  519. package/lib-commonjs/components/index.js +12 -0
  520. package/lib-commonjs/components/index.js.map +1 -0
  521. package/lib-commonjs/contexts/menuContext.d.ts +16 -0
  522. package/lib-commonjs/contexts/menuContext.js +34 -0
  523. package/lib-commonjs/contexts/menuContext.js.map +1 -0
  524. package/lib-commonjs/contexts/menuGroupContext.d.ts +13 -0
  525. package/lib-commonjs/contexts/menuGroupContext.js +18 -0
  526. package/lib-commonjs/contexts/menuGroupContext.js.map +1 -0
  527. package/lib-commonjs/contexts/menuListContext.d.ts +15 -0
  528. package/lib-commonjs/contexts/menuListContext.js +24 -0
  529. package/lib-commonjs/contexts/menuListContext.js.map +1 -0
  530. package/lib-commonjs/contexts/menuTriggerContext.d.ts +3 -0
  531. package/lib-commonjs/contexts/menuTriggerContext.js +20 -0
  532. package/lib-commonjs/contexts/menuTriggerContext.js.map +1 -0
  533. package/lib-commonjs/index.d.ts +16 -0
  534. package/lib-commonjs/index.js +40 -0
  535. package/lib-commonjs/index.js.map +1 -0
  536. package/lib-commonjs/selectable/index.d.ts +2 -0
  537. package/lib-commonjs/selectable/index.js +12 -0
  538. package/lib-commonjs/selectable/index.js.map +1 -0
  539. package/lib-commonjs/selectable/types.d.ts +34 -0
  540. package/lib-commonjs/selectable/types.js +6 -0
  541. package/lib-commonjs/selectable/types.js.map +1 -0
  542. package/lib-commonjs/selectable/useCheckmarkStyles.d.ts +8 -0
  543. package/lib-commonjs/selectable/useCheckmarkStyles.js +38 -0
  544. package/lib-commonjs/selectable/useCheckmarkStyles.js.map +1 -0
  545. package/lib-commonjs/utils/index.d.ts +1 -0
  546. package/lib-commonjs/utils/index.js +10 -0
  547. package/lib-commonjs/utils/index.js.map +1 -0
  548. package/lib-commonjs/utils/useIsSubmenu.d.ts +9 -0
  549. package/lib-commonjs/utils/useIsSubmenu.js +30 -0
  550. package/lib-commonjs/utils/useIsSubmenu.js.map +1 -0
  551. package/lib-commonjs/utils/useOnMenuEnter.d.ts +23 -0
  552. package/lib-commonjs/utils/useOnMenuEnter.js +86 -0
  553. package/lib-commonjs/utils/useOnMenuEnter.js.map +1 -0
  554. package/package.json +71 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"../src/","sources":["components/MenuPopover/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC","sourcesContent":["export * from './MenuPopover';\nexport * from './MenuPopover.types';\nexport * from './renderMenuPopover';\nexport * from './useMenuPopover';\nexport * from './useMenuPopoverStyles';\n"]}
@@ -0,0 +1,5 @@
1
+ import { MenuPopoverState } from './MenuPopover.types';
2
+ /**
3
+ * Render the final JSX of MenuPopover
4
+ */
5
+ export declare const renderMenuPopover_unstable: (state: MenuPopoverState) => JSX.Element;
@@ -0,0 +1,22 @@
1
+ import * as React from 'react';
2
+ import { getSlots } from '@fluentui/react-utilities';
3
+ import { Portal } from '@fluentui/react-portal';
4
+ /**
5
+ * Render the final JSX of MenuPopover
6
+ */
7
+
8
+ export const renderMenuPopover_unstable = state => {
9
+ const {
10
+ slots,
11
+ slotProps
12
+ } = getSlots(state);
13
+
14
+ if (state.inline) {
15
+ return /*#__PURE__*/React.createElement(slots.root, { ...slotProps.root
16
+ });
17
+ }
18
+
19
+ return /*#__PURE__*/React.createElement(Portal, null, /*#__PURE__*/React.createElement(slots.root, { ...slotProps.root
20
+ }));
21
+ };
22
+ //# sourceMappingURL=renderMenuPopover.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["components/MenuPopover/renderMenuPopover.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,QAAT,QAAyB,2BAAzB;AAEA,SAAS,MAAT,QAAuB,wBAAvB;AAEA;;AAEG;;AACH,OAAO,MAAM,0BAA0B,GAAI,KAAD,IAA4B;AACpE,QAAM;AAAE,IAAA,KAAF;AAAS,IAAA;AAAT,MAAuB,QAAQ,CAAmB,KAAnB,CAArC;;AAEA,MAAI,KAAK,CAAC,MAAV,EAAkB;AAChB,wBAAO,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,IAAP,EAAW,EAAA,GAAK,SAAS,CAAC;AAAf,KAAX,CAAP;AACD;;AAED,sBACE,KAAA,CAAA,aAAA,CAAC,MAAD,EAAO,IAAP,eACE,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,IAAP,EAAW,EAAA,GAAK,SAAS,CAAC;AAAf,GAAX,CADF,CADF;AAKD,CAZM","sourcesContent":["import * as React from 'react';\nimport { getSlots } from '@fluentui/react-utilities';\nimport { MenuPopoverSlots, MenuPopoverState } from './MenuPopover.types';\nimport { Portal } from '@fluentui/react-portal';\n\n/**\n * Render the final JSX of MenuPopover\n */\nexport const renderMenuPopover_unstable = (state: MenuPopoverState) => {\n const { slots, slotProps } = getSlots<MenuPopoverSlots>(state);\n\n if (state.inline) {\n return <slots.root {...slotProps.root} />;\n }\n\n return (\n <Portal>\n <slots.root {...slotProps.root} />\n </Portal>\n );\n};\n"],"sourceRoot":"../src/"}
@@ -0,0 +1,12 @@
1
+ import * as React from 'react';
2
+ import { MenuPopoverProps, MenuPopoverState } from './MenuPopover.types';
3
+ /**
4
+ * Create the state required to render MenuPopover.
5
+ *
6
+ * The returned state can be modified with hooks such as useMenuPopoverStyles_unstable,
7
+ * before being passed to renderMenuPopover_unstable.
8
+ *
9
+ * @param props - props from this instance of MenuPopover
10
+ * @param ref - reference to root HTMLElement of MenuPopover
11
+ */
12
+ export declare const useMenuPopover_unstable: (props: MenuPopoverProps, ref: React.Ref<HTMLElement>) => MenuPopoverState;
@@ -0,0 +1,104 @@
1
+ import * as React from 'react';
2
+ import { ArrowLeft, Tab, ArrowRight, Escape } from '@fluentui/keyboard-keys';
3
+ import { getNativeElementProps, useEventCallback, useMergedRefs } from '@fluentui/react-utilities';
4
+ import { useMenuContext_unstable } from '../../contexts/menuContext';
5
+ import { dispatchMenuEnterEvent } from '../../utils/index';
6
+ import { useFluent } from '@fluentui/react-shared-contexts';
7
+ import { useIsSubmenu } from '../../utils/useIsSubmenu';
8
+ /**
9
+ * Create the state required to render MenuPopover.
10
+ *
11
+ * The returned state can be modified with hooks such as useMenuPopoverStyles_unstable,
12
+ * before being passed to renderMenuPopover_unstable.
13
+ *
14
+ * @param props - props from this instance of MenuPopover
15
+ * @param ref - reference to root HTMLElement of MenuPopover
16
+ */
17
+
18
+ export const useMenuPopover_unstable = (props, ref) => {
19
+ var _a;
20
+
21
+ const popoverRef = useMenuContext_unstable(context => context.menuPopoverRef);
22
+ const setOpen = useMenuContext_unstable(context => context.setOpen);
23
+ const openOnHover = useMenuContext_unstable(context => context.openOnHover);
24
+ const isSubmenu = useIsSubmenu();
25
+ const canDispatchCustomEventRef = React.useRef(true);
26
+ const throttleDispatchTimerRef = React.useRef(0);
27
+ const {
28
+ dir
29
+ } = useFluent();
30
+ const CloseArrowKey = dir === 'ltr' ? ArrowLeft : ArrowRight; // use DOM listener since react events propagate up the react tree
31
+ // no need to do `contains` logic as menus are all positioned in different portals
32
+
33
+ const mouseOverListenerCallbackRef = React.useCallback(node => {
34
+ if (node) {
35
+ // Dispatches the custom menu mouse enter event with throttling
36
+ // Needs to trigger on mouseover to support keyboard + mouse together
37
+ // i.e. keyboard opens submenus while cursor is still on the parent
38
+ node.addEventListener('mouseover', e => {
39
+ if (canDispatchCustomEventRef.current) {
40
+ canDispatchCustomEventRef.current = false;
41
+ dispatchMenuEnterEvent(popoverRef.current, e); // eslint-disable-next-line @typescript-eslint/ban-ts-comment
42
+ // @ts-ignore #16889 Node setTimeout type leaking
43
+
44
+ throttleDispatchTimerRef.current = setTimeout(() => canDispatchCustomEventRef.current = true, 250);
45
+ }
46
+ });
47
+ }
48
+ }, [popoverRef, throttleDispatchTimerRef]);
49
+ React.useEffect(() => {
50
+ () => clearTimeout(throttleDispatchTimerRef.current);
51
+ }, []);
52
+ const inline = (_a = useMenuContext_unstable(context => context.inline)) !== null && _a !== void 0 ? _a : false;
53
+ const rootProps = getNativeElementProps('div', {
54
+ role: 'presentation',
55
+ ...props,
56
+ ref: useMergedRefs(ref, popoverRef, mouseOverListenerCallbackRef)
57
+ });
58
+ const {
59
+ onMouseEnter: onMouseEnterOriginal,
60
+ onKeyDown: onKeyDownOriginal
61
+ } = rootProps;
62
+ rootProps.onMouseEnter = useEventCallback(e => {
63
+ if (openOnHover) {
64
+ setOpen(e, {
65
+ open: true,
66
+ keyboard: false
67
+ });
68
+ }
69
+
70
+ onMouseEnterOriginal === null || onMouseEnterOriginal === void 0 ? void 0 : onMouseEnterOriginal(e);
71
+ });
72
+ rootProps.onKeyDown = useEventCallback(e => {
73
+ var _a;
74
+
75
+ const key = e.key;
76
+
77
+ if (key === Escape || isSubmenu && key === CloseArrowKey) {
78
+ if ((_a = popoverRef.current) === null || _a === void 0 ? void 0 : _a.contains(e.target)) {
79
+ setOpen(e, {
80
+ open: false,
81
+ keyboard: true
82
+ });
83
+ }
84
+ }
85
+
86
+ if (key === Tab) {
87
+ setOpen(e, {
88
+ open: false,
89
+ keyboard: true
90
+ });
91
+ e.preventDefault();
92
+ }
93
+
94
+ onKeyDownOriginal === null || onKeyDownOriginal === void 0 ? void 0 : onKeyDownOriginal(e);
95
+ });
96
+ return {
97
+ inline,
98
+ components: {
99
+ root: 'div'
100
+ },
101
+ root: rootProps
102
+ };
103
+ };
104
+ //# sourceMappingURL=useMenuPopover.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["components/MenuPopover/useMenuPopover.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,SAAT,EAAoB,GAApB,EAAyB,UAAzB,EAAqC,MAArC,QAAmD,yBAAnD;AACA,SAAS,qBAAT,EAAgC,gBAAhC,EAAkD,aAAlD,QAAuE,2BAAvE;AAEA,SAAS,uBAAT,QAAwC,4BAAxC;AACA,SAAS,sBAAT,QAAuC,mBAAvC;AACA,SAAS,SAAT,QAA0B,iCAA1B;AACA,SAAS,YAAT,QAA6B,0BAA7B;AAEA;;;;;;;;AAQG;;AACH,OAAO,MAAM,uBAAuB,GAAG,CAAC,KAAD,EAA0B,GAA1B,KAA2E;;;AAChH,QAAM,UAAU,GAAG,uBAAuB,CAAC,OAAO,IAAI,OAAO,CAAC,cAApB,CAA1C;AACA,QAAM,OAAO,GAAG,uBAAuB,CAAC,OAAO,IAAI,OAAO,CAAC,OAApB,CAAvC;AACA,QAAM,WAAW,GAAG,uBAAuB,CAAC,OAAO,IAAI,OAAO,CAAC,WAApB,CAA3C;AACA,QAAM,SAAS,GAAG,YAAY,EAA9B;AACA,QAAM,yBAAyB,GAAG,KAAK,CAAC,MAAN,CAAa,IAAb,CAAlC;AACA,QAAM,wBAAwB,GAAG,KAAK,CAAC,MAAN,CAAa,CAAb,CAAjC;AAEA,QAAM;AAAE,IAAA;AAAF,MAAU,SAAS,EAAzB;AACA,QAAM,aAAa,GAAG,GAAG,KAAK,KAAR,GAAgB,SAAhB,GAA4B,UAAlD,CATgH,CAWhH;AACA;;AACA,QAAM,4BAA4B,GAAG,KAAK,CAAC,WAAN,CAClC,IAAD,IAAsB;AACpB,QAAI,IAAJ,EAAU;AACR;AACA;AACA;AACA,MAAA,IAAI,CAAC,gBAAL,CAAsB,WAAtB,EAAmC,CAAC,IAAG;AACrC,YAAI,yBAAyB,CAAC,OAA9B,EAAuC;AACrC,UAAA,yBAAyB,CAAC,OAA1B,GAAoC,KAApC;AACA,UAAA,sBAAsB,CAAC,UAAU,CAAC,OAAZ,EAAoC,CAApC,CAAtB,CAFqC,CAGrC;AACA;;AACA,UAAA,wBAAwB,CAAC,OAAzB,GAAmC,UAAU,CAAC,MAAO,yBAAyB,CAAC,OAA1B,GAAoC,IAA5C,EAAmD,GAAnD,CAA7C;AACD;AACF,OARD;AASD;AACF,GAhBkC,EAiBnC,CAAC,UAAD,EAAa,wBAAb,CAjBmC,CAArC;AAoBA,EAAA,KAAK,CAAC,SAAN,CAAgB,MAAK;AACnB,UAAM,YAAY,CAAC,wBAAwB,CAAC,OAA1B,CAAlB;AACD,GAFD,EAEG,EAFH;AAIA,QAAM,MAAM,GAAG,CAAA,EAAA,GAAA,uBAAuB,CAAC,OAAO,IAAI,OAAO,CAAC,MAApB,CAAvB,MAAkD,IAAlD,IAAkD,EAAA,KAAA,KAAA,CAAlD,GAAkD,EAAlD,GAAsD,KAArE;AACA,QAAM,SAAS,GAAG,qBAAqB,CAAC,KAAD,EAAQ;AAC7C,IAAA,IAAI,EAAE,cADuC;AAE7C,OAAG,KAF0C;AAG7C,IAAA,GAAG,EAAE,aAAa,CAAC,GAAD,EAAM,UAAN,EAAkB,4BAAlB;AAH2B,GAAR,CAAvC;AAMA,QAAM;AAAE,IAAA,YAAY,EAAE,oBAAhB;AAAsC,IAAA,SAAS,EAAE;AAAjD,MAAuE,SAA7E;AAEA,EAAA,SAAS,CAAC,YAAV,GAAyB,gBAAgB,CAAE,CAAD,IAAqC;AAC7E,QAAI,WAAJ,EAAiB;AACf,MAAA,OAAO,CAAC,CAAD,EAAI;AAAE,QAAA,IAAI,EAAE,IAAR;AAAc,QAAA,QAAQ,EAAE;AAAxB,OAAJ,CAAP;AACD;;AAED,IAAA,oBAAoB,KAAA,IAApB,IAAA,oBAAoB,KAAA,KAAA,CAApB,GAAoB,KAAA,CAApB,GAAA,oBAAoB,CAAG,CAAH,CAApB;AACD,GANwC,CAAzC;AAQA,EAAA,SAAS,CAAC,SAAV,GAAsB,gBAAgB,CAAE,CAAD,IAAwC;;;AAC7E,UAAM,GAAG,GAAG,CAAC,CAAC,GAAd;;AAEA,QAAI,GAAG,KAAK,MAAR,IAAmB,SAAS,IAAI,GAAG,KAAK,aAA5C,EAA4D;AAC1D,UAAI,CAAA,EAAA,GAAA,UAAU,CAAC,OAAX,MAAkB,IAAlB,IAAkB,EAAA,KAAA,KAAA,CAAlB,GAAkB,KAAA,CAAlB,GAAkB,EAAA,CAAE,QAAF,CAAW,CAAC,CAAC,MAAb,CAAtB,EAA2D;AACzD,QAAA,OAAO,CAAC,CAAD,EAAI;AAAE,UAAA,IAAI,EAAE,KAAR;AAAe,UAAA,QAAQ,EAAE;AAAzB,SAAJ,CAAP;AACD;AACF;;AAED,QAAI,GAAG,KAAK,GAAZ,EAAiB;AACf,MAAA,OAAO,CAAC,CAAD,EAAI;AAAE,QAAA,IAAI,EAAE,KAAR;AAAe,QAAA,QAAQ,EAAE;AAAzB,OAAJ,CAAP;AACA,MAAA,CAAC,CAAC,cAAF;AACD;;AAED,IAAA,iBAAiB,KAAA,IAAjB,IAAA,iBAAiB,KAAA,KAAA,CAAjB,GAAiB,KAAA,CAAjB,GAAA,iBAAiB,CAAG,CAAH,CAAjB;AACD,GAfqC,CAAtC;AAiBA,SAAO;AACL,IAAA,MADK;AAEL,IAAA,UAAU,EAAE;AACV,MAAA,IAAI,EAAE;AADI,KAFP;AAKL,IAAA,IAAI,EAAE;AALD,GAAP;AAOD,CA9EM","sourcesContent":["import * as React from 'react';\nimport { ArrowLeft, Tab, ArrowRight, Escape } from '@fluentui/keyboard-keys';\nimport { getNativeElementProps, useEventCallback, useMergedRefs } from '@fluentui/react-utilities';\nimport { MenuPopoverProps, MenuPopoverState } from './MenuPopover.types';\nimport { useMenuContext_unstable } from '../../contexts/menuContext';\nimport { dispatchMenuEnterEvent } from '../../utils/index';\nimport { useFluent } from '@fluentui/react-shared-contexts';\nimport { useIsSubmenu } from '../../utils/useIsSubmenu';\n\n/**\n * Create the state required to render MenuPopover.\n *\n * The returned state can be modified with hooks such as useMenuPopoverStyles_unstable,\n * before being passed to renderMenuPopover_unstable.\n *\n * @param props - props from this instance of MenuPopover\n * @param ref - reference to root HTMLElement of MenuPopover\n */\nexport const useMenuPopover_unstable = (props: MenuPopoverProps, ref: React.Ref<HTMLElement>): MenuPopoverState => {\n const popoverRef = useMenuContext_unstable(context => context.menuPopoverRef);\n const setOpen = useMenuContext_unstable(context => context.setOpen);\n const openOnHover = useMenuContext_unstable(context => context.openOnHover);\n const isSubmenu = useIsSubmenu();\n const canDispatchCustomEventRef = React.useRef(true);\n const throttleDispatchTimerRef = React.useRef(0);\n\n const { dir } = useFluent();\n const CloseArrowKey = dir === 'ltr' ? ArrowLeft : ArrowRight;\n\n // use DOM listener since react events propagate up the react tree\n // no need to do `contains` logic as menus are all positioned in different portals\n const mouseOverListenerCallbackRef = React.useCallback(\n (node: HTMLElement) => {\n if (node) {\n // Dispatches the custom menu mouse enter event with throttling\n // Needs to trigger on mouseover to support keyboard + mouse together\n // i.e. keyboard opens submenus while cursor is still on the parent\n node.addEventListener('mouseover', e => {\n if (canDispatchCustomEventRef.current) {\n canDispatchCustomEventRef.current = false;\n dispatchMenuEnterEvent(popoverRef.current as HTMLElement, e);\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore #16889 Node setTimeout type leaking\n throttleDispatchTimerRef.current = setTimeout(() => (canDispatchCustomEventRef.current = true), 250);\n }\n });\n }\n },\n [popoverRef, throttleDispatchTimerRef],\n );\n\n React.useEffect(() => {\n () => clearTimeout(throttleDispatchTimerRef.current);\n }, []);\n\n const inline = useMenuContext_unstable(context => context.inline) ?? false;\n const rootProps = getNativeElementProps('div', {\n role: 'presentation',\n ...props,\n ref: useMergedRefs(ref, popoverRef, mouseOverListenerCallbackRef),\n });\n\n const { onMouseEnter: onMouseEnterOriginal, onKeyDown: onKeyDownOriginal } = rootProps;\n\n rootProps.onMouseEnter = useEventCallback((e: React.MouseEvent<HTMLElement>) => {\n if (openOnHover) {\n setOpen(e, { open: true, keyboard: false });\n }\n\n onMouseEnterOriginal?.(e);\n });\n\n rootProps.onKeyDown = useEventCallback((e: React.KeyboardEvent<HTMLElement>) => {\n const key = e.key;\n\n if (key === Escape || (isSubmenu && key === CloseArrowKey)) {\n if (popoverRef.current?.contains(e.target as HTMLElement)) {\n setOpen(e, { open: false, keyboard: true });\n }\n }\n\n if (key === Tab) {\n setOpen(e, { open: false, keyboard: true });\n e.preventDefault();\n }\n\n onKeyDownOriginal?.(e);\n });\n\n return {\n inline,\n components: {\n root: 'div',\n },\n root: rootProps,\n };\n};\n"],"sourceRoot":"../src/"}
@@ -0,0 +1,6 @@
1
+ import type { MenuPopoverState } from './MenuPopover.types';
2
+ export declare const menuPopoverClassName = "fui-MenuPopover";
3
+ /**
4
+ * Apply styling to the Menu slots based on the state
5
+ */
6
+ export declare const useMenuPopoverStyles_unstable: (state: MenuPopoverState) => MenuPopoverState;
@@ -0,0 +1,46 @@
1
+ import { shorthands, mergeClasses, __styles } from '@griffel/react';
2
+ import { tokens } from '@fluentui/react-theme';
3
+ export const menuPopoverClassName = 'fui-MenuPopover';
4
+
5
+ const useStyles = /*#__PURE__*/__styles({
6
+ "root": {
7
+ "Bbmb7ep": ["f1aa9q02", "f16jpd5f"],
8
+ "Beyfa6y": ["f16jpd5f", "f1aa9q02"],
9
+ "B7oj6ja": ["f1jar5jt", "fyu767a"],
10
+ "Btl43ni": ["fyu767a", "f1jar5jt"],
11
+ "De3pzq": "fxugw4r",
12
+ "Bf4jedk": "fkqu4gx",
13
+ "B2u0y6b": "f1kaai3v",
14
+ "a9b677": "f1ahpp82",
15
+ "E5pizo": "f1hg901r",
16
+ "z8tnut": "f10ra9hq",
17
+ "z189sj": ["f8wuabp", "fycuoez"],
18
+ "Byoj8tv": "f1y2xyjm",
19
+ "uwmqm3": ["fycuoez", "f8wuabp"],
20
+ "B4j52fo": "f5ogflp",
21
+ "Bekrc4i": ["f1hqa2wf", "finvdd3"],
22
+ "Bn0qgzm": "f1f09k3d",
23
+ "ibv6hh": ["finvdd3", "f1hqa2wf"],
24
+ "icvyot": "fzkkow9",
25
+ "vrafjx": ["fcdblym", "fjik90z"],
26
+ "oivjwe": "fg706s2",
27
+ "wvpqe5": ["fjik90z", "fcdblym"],
28
+ "g2u3we": "fghlq4f",
29
+ "h3c5rm": ["f1gn591s", "fjscplz"],
30
+ "B9xav0g": "fb073pr",
31
+ "zhjwy3": ["fjscplz", "f1gn591s"]
32
+ }
33
+ }, {
34
+ "d": [".f1aa9q02{border-bottom-right-radius:var(--borderRadiusMedium);}", ".f16jpd5f{border-bottom-left-radius:var(--borderRadiusMedium);}", ".f1jar5jt{border-top-right-radius:var(--borderRadiusMedium);}", ".fyu767a{border-top-left-radius:var(--borderRadiusMedium);}", ".fxugw4r{background-color:var(--colorNeutralBackground1);}", ".fkqu4gx{min-width:128px;}", ".f1kaai3v{max-width:300px;}", ".f1ahpp82{width:-webkit-max-content;width:-moz-max-content;width:max-content;}", ".f1hg901r{box-shadow:var(--shadow16);}", ".f10ra9hq{padding-top:4px;}", ".f8wuabp{padding-right:4px;}", ".fycuoez{padding-left:4px;}", ".f1y2xyjm{padding-bottom:4px;}", ".f5ogflp{border-top-width:1px;}", ".f1hqa2wf{border-right-width:1px;}", ".finvdd3{border-left-width:1px;}", ".f1f09k3d{border-bottom-width:1px;}", ".fzkkow9{border-top-style:solid;}", ".fcdblym{border-right-style:solid;}", ".fjik90z{border-left-style:solid;}", ".fg706s2{border-bottom-style:solid;}", ".fghlq4f{border-top-color:var(--colorTransparentStroke);}", ".f1gn591s{border-right-color:var(--colorTransparentStroke);}", ".fjscplz{border-left-color:var(--colorTransparentStroke);}", ".fb073pr{border-bottom-color:var(--colorTransparentStroke);}"]
35
+ });
36
+ /**
37
+ * Apply styling to the Menu slots based on the state
38
+ */
39
+
40
+
41
+ export const useMenuPopoverStyles_unstable = state => {
42
+ const styles = useStyles();
43
+ state.root.className = mergeClasses(menuPopoverClassName, styles.root, state.root.className);
44
+ return state;
45
+ };
46
+ //# sourceMappingURL=useMenuPopoverStyles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["components/MenuPopover/useMenuPopoverStyles.ts"],"names":[],"mappings":"AAAA,SAAS,UAAT,EAAqB,YAArB,kBAAqD,gBAArD;AACA,SAAS,MAAT,QAAuB,uBAAvB;AAGA,OAAO,MAAM,oBAAoB,GAAG,iBAA7B;;AAEP,MAAM,SAAS,gBAAG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAAlB;AAaA;;AAEG;;;AACH,OAAO,MAAM,6BAA6B,GAAI,KAAD,IAA8C;AACzF,QAAM,MAAM,GAAG,SAAS,EAAxB;AACA,EAAA,KAAK,CAAC,IAAN,CAAW,SAAX,GAAuB,YAAY,CAAC,oBAAD,EAAuB,MAAM,CAAC,IAA9B,EAAoC,KAAK,CAAC,IAAN,CAAW,SAA/C,CAAnC;AACA,SAAO,KAAP;AACD,CAJM","sourcesContent":["import { shorthands, mergeClasses, makeStyles } from '@griffel/react';\nimport { tokens } from '@fluentui/react-theme';\nimport type { MenuPopoverState } from './MenuPopover.types';\n\nexport const menuPopoverClassName = 'fui-MenuPopover';\n\nconst useStyles = makeStyles({\n root: {\n ...shorthands.borderRadius(tokens.borderRadiusMedium),\n backgroundColor: tokens.colorNeutralBackground1,\n minWidth: '128px',\n maxWidth: '300px',\n width: 'max-content',\n boxShadow: `${tokens.shadow16}`,\n ...shorthands.padding('4px'),\n ...shorthands.border('1px', 'solid', tokens.colorTransparentStroke),\n },\n});\n\n/**\n * Apply styling to the Menu slots based on the state\n */\nexport const useMenuPopoverStyles_unstable = (state: MenuPopoverState): MenuPopoverState => {\n const styles = useStyles();\n state.root.className = mergeClasses(menuPopoverClassName, styles.root, state.root.className);\n return state;\n};\n"],"sourceRoot":"../src/"}
@@ -0,0 +1,6 @@
1
+ import type { MenuSplitGroupProps } from './MenuSplitGroup.types';
2
+ import type { ForwardRefComponent } from '@fluentui/react-utilities';
3
+ /**
4
+ * Layout wrapper that provides extra keyboard navigation behavior for two `MenuItem` components.
5
+ */
6
+ export declare const MenuSplitGroup: ForwardRefComponent<MenuSplitGroupProps>;
@@ -0,0 +1,15 @@
1
+ import * as React from 'react';
2
+ import { useMenuSplitGroup_unstable } from './useMenuSplitGroup';
3
+ import { renderMenuSplitGroup_unstable } from './renderMenuSplitGroup';
4
+ import { useMenuSplitGroupStyles_unstable } from './useMenuSplitGroupStyles';
5
+ /**
6
+ * Layout wrapper that provides extra keyboard navigation behavior for two `MenuItem` components.
7
+ */
8
+
9
+ export const MenuSplitGroup = /*#__PURE__*/React.forwardRef((props, ref) => {
10
+ const state = useMenuSplitGroup_unstable(props, ref);
11
+ useMenuSplitGroupStyles_unstable(state);
12
+ return renderMenuSplitGroup_unstable(state);
13
+ });
14
+ MenuSplitGroup.displayName = 'MenuSplitGroup';
15
+ //# sourceMappingURL=MenuSplitGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["components/MenuSplitGroup/MenuSplitGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,0BAAT,QAA2C,qBAA3C;AACA,SAAS,6BAAT,QAA8C,wBAA9C;AACA,SAAS,gCAAT,QAAiD,2BAAjD;AAIA;;AAEG;;AACH,OAAO,MAAM,cAAc,gBAA6C,KAAK,CAAC,UAAN,CAAiB,CAAC,KAAD,EAAQ,GAAR,KAAe;AACtG,QAAM,KAAK,GAAG,0BAA0B,CAAC,KAAD,EAAQ,GAAR,CAAxC;AAEA,EAAA,gCAAgC,CAAC,KAAD,CAAhC;AACA,SAAO,6BAA6B,CAAC,KAAD,CAApC;AACD,CALuE,CAAjE;AAOP,cAAc,CAAC,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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=MenuSplitGroup.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuSplitGroup.types.js","sourceRoot":"../src/","sources":["components/MenuSplitGroup/MenuSplitGroup.types.ts"],"names":[],"mappings":"","sourcesContent":["import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\n\nexport type MenuSplitGroupSlots = {\n root: Slot<'div'>;\n};\n\ntype MenuSplitGroupCommons = {};\n\n/**\n * MenuSplitGroup Props\n */\nexport type MenuSplitGroupProps = ComponentProps<MenuSplitGroupSlots> & MenuSplitGroupCommons;\n\n/**\n * State used in rendering MenuSplitGroup\n */\nexport type MenuSplitGroupState = ComponentState<MenuSplitGroupSlots> & MenuSplitGroupCommons;\n"]}
@@ -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,6 @@
1
+ export * from './MenuSplitGroup';
2
+ export * from './MenuSplitGroup.types';
3
+ export * from './renderMenuSplitGroup';
4
+ export * from './useMenuSplitGroup';
5
+ export * from './useMenuSplitGroupStyles';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"../src/","sources":["components/MenuSplitGroup/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC","sourcesContent":["export * from './MenuSplitGroup';\nexport * from './MenuSplitGroup.types';\nexport * from './renderMenuSplitGroup';\nexport * from './useMenuSplitGroup';\nexport * from './useMenuSplitGroupStyles';\n"]}
@@ -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,15 @@
1
+ import * as React from 'react';
2
+ import { getSlots } from '@fluentui/react-utilities';
3
+ /**
4
+ * Render the final JSX of MenuSplitGroup
5
+ */
6
+
7
+ export const renderMenuSplitGroup_unstable = state => {
8
+ const {
9
+ slots,
10
+ slotProps
11
+ } = getSlots(state);
12
+ return /*#__PURE__*/React.createElement(slots.root, { ...slotProps.root
13
+ });
14
+ };
15
+ //# sourceMappingURL=renderMenuSplitGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["components/MenuSplitGroup/renderMenuSplitGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,QAAT,QAAyB,2BAAzB;AAGA;;AAEG;;AACH,OAAO,MAAM,6BAA6B,GAAI,KAAD,IAA+B;AAC1E,QAAM;AAAE,IAAA,KAAF;AAAS,IAAA;AAAT,MAAuB,QAAQ,CAAsB,KAAtB,CAArC;AAEA,sBAAO,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,IAAP,EAAW,EAAA,GAAK,SAAS,CAAC;AAAf,GAAX,CAAP;AACD,CAJM","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,67 @@
1
+ import * as React from 'react';
2
+ import { getNativeElementProps, getRTLSafeKey, useMergedRefs } from '@fluentui/react-utilities';
3
+ import { useFocusFinders } from '@fluentui/react-tabster';
4
+ import { useFluent } from '@fluentui/react-shared-contexts';
5
+ import { ArrowRight, ArrowLeft } from '@fluentui/keyboard-keys';
6
+ /**
7
+ * Create the state required to render MenuSplitGroup.
8
+ *
9
+ * The returned state can be modified with hooks such as useMenuSplitGroupStyles_unstable,
10
+ * before being passed to renderMenuSplitGroup_unstable.
11
+ *
12
+ * @param props - props from this instance of MenuSplitGroup
13
+ * @param ref - reference to root HTMLElement of MenuSplitGroup
14
+ */
15
+
16
+ export const useMenuSplitGroup_unstable = (props, ref) => {
17
+ const innerRef = React.useRef();
18
+ const {
19
+ dir,
20
+ targetDocument
21
+ } = useFluent();
22
+ const nextArrowKey = getRTLSafeKey(ArrowRight, dir);
23
+ const prevArrowKey = getRTLSafeKey(ArrowLeft, dir);
24
+ const {
25
+ findNextFocusable,
26
+ findPrevFocusable
27
+ } = useFocusFinders();
28
+ const onKeyDown = React.useCallback(e => {
29
+ var _a;
30
+
31
+ const activeElement = targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.activeElement;
32
+
33
+ if (!activeElement) {
34
+ return;
35
+ }
36
+
37
+ if (!((_a = innerRef.current) === null || _a === void 0 ? void 0 : _a.contains(activeElement))) {
38
+ return;
39
+ }
40
+
41
+ if (e.key === nextArrowKey) {
42
+ const next = findNextFocusable(activeElement, {
43
+ container: innerRef.current
44
+ });
45
+ next === null || next === void 0 ? void 0 : next.focus();
46
+ }
47
+
48
+ if (e.key === prevArrowKey) {
49
+ const prev = findPrevFocusable(activeElement, {
50
+ container: innerRef.current
51
+ });
52
+ prev === null || prev === void 0 ? void 0 : prev.focus();
53
+ }
54
+ }, [findNextFocusable, findPrevFocusable, targetDocument, nextArrowKey, prevArrowKey]);
55
+ return {
56
+ components: {
57
+ root: 'div'
58
+ },
59
+ root: getNativeElementProps('div', {
60
+ role: 'group',
61
+ ref: useMergedRefs(ref, innerRef),
62
+ onKeyDown,
63
+ ...props
64
+ })
65
+ };
66
+ };
67
+ //# sourceMappingURL=useMenuSplitGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["components/MenuSplitGroup/useMenuSplitGroup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,qBAAT,EAAgC,aAAhC,EAA+C,aAA/C,QAAoE,2BAApE;AACA,SAAS,eAAT,QAAgC,yBAAhC;AACA,SAAS,SAAT,QAA0B,iCAA1B;AAEA,SAAS,UAAT,EAAqB,SAArB,QAAsC,yBAAtC;AAEA;;;;;;;;AAQG;;AACH,OAAO,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,SAAS,EAAzC;AAEA,QAAM,YAAY,GAAG,aAAa,CAAC,UAAD,EAAa,GAAb,CAAlC;AACA,QAAM,YAAY,GAAG,aAAa,CAAC,SAAD,EAAY,GAAZ,CAAlC;AAEA,QAAM;AAAE,IAAA,iBAAF;AAAqB,IAAA;AAArB,MAA2C,eAAe,EAAhE;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,qBAAqB,CAAC,KAAD,EAAQ;AACjC,MAAA,IAAI,EAAE,OAD2B;AAEjC,MAAA,GAAG,EAAE,aAAa,CAAC,GAAD,EAAM,QAAN,CAFe;AAGjC,MAAA,SAHiC;AAIjC,SAAG;AAJ8B,KAAR;AAJtB,GAAP;AAWD,CA/CM","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,35 @@
1
+ import { __styles, mergeClasses } from '@griffel/react';
2
+ import { tokens } from '@fluentui/react-theme';
3
+ import { menuItemClassName } from '../MenuItem/useMenuItemStyles';
4
+ export const menuSplitGroupClassName = 'fui-MenuSplitGroup';
5
+ /**
6
+ * Styles for the root slot
7
+ */
8
+
9
+ const useStyles = /*#__PURE__*/__styles({
10
+ "root": {
11
+ "mc9l5x": "f22iagw",
12
+ "u7v6m2": "f168awwq",
13
+ "Bo1wru1": ["f1om2jlk", "fcyhg04"],
14
+ "Bhkyaub": ["fgqgg70", "fqo1hry"],
15
+ "J9ixe0": ["fh1zedf", "f1auaj6e"],
16
+ "rj29m3": ["fokbbcd", "f1xlvh9o"],
17
+ "lispf9": "f1et5qag",
18
+ "B9hwub1": "f13ngu1f",
19
+ "dvf9w6": "f1db9j62",
20
+ "Hjn5ok": "f92z21p"
21
+ }
22
+ }, {
23
+ "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);}"]
24
+ });
25
+ /**
26
+ * Apply styling to the MenuSplitGroup slots based on the state
27
+ */
28
+
29
+
30
+ export const useMenuSplitGroupStyles_unstable = state => {
31
+ const styles = useStyles();
32
+ state.root.className = mergeClasses(menuSplitGroupClassName, styles.root, state.root.className);
33
+ return state;
34
+ };
35
+ //# sourceMappingURL=useMenuSplitGroupStyles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["components/MenuSplitGroup/useMenuSplitGroupStyles.ts"],"names":[],"mappings":"AAAA,mBAAqB,YAArB,QAAyC,gBAAzC;AACA,SAAS,MAAT,QAAuB,uBAAvB;AACA,SAAS,iBAAT,QAAkC,+BAAlC;AAGA,OAAO,MAAM,uBAAuB,GAAG,oBAAhC;AAEP;;AAEG;;AACH,MAAM,SAAS,gBAAG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAAlB;AAqBA;;AAEG;;;AACH,OAAO,MAAM,gCAAgC,GAAI,KAAD,IAAoD;AAClG,QAAM,MAAM,GAAG,SAAS,EAAxB;AACA,EAAA,KAAK,CAAC,IAAN,CAAW,SAAX,GAAuB,YAAY,CAAC,uBAAD,EAA0B,MAAM,CAAC,IAAjC,EAAuC,KAAK,CAAC,IAAN,CAAW,SAAlD,CAAnC;AACA,SAAO,KAAP;AACD,CAJM","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/"}
@@ -0,0 +1,8 @@
1
+ import * as React from 'react';
2
+ import type { MenuTriggerProps } from './MenuTrigger.types';
3
+ import type { FluentTriggerComponent } from '@fluentui/react-utilities';
4
+ /**
5
+ * Wraps a trigger element as an only child
6
+ * and adds the necessary event handling to open a popup menu
7
+ */
8
+ export declare const MenuTrigger: React.FC<MenuTriggerProps> & FluentTriggerComponent;
@@ -0,0 +1,14 @@
1
+ import { useMenuTrigger_unstable } from './useMenuTrigger';
2
+ import { renderMenuTrigger_unstable } from './renderMenuTrigger';
3
+ /**
4
+ * Wraps a trigger element as an only child
5
+ * and adds the necessary event handling to open a popup menu
6
+ */
7
+
8
+ export const MenuTrigger = props => {
9
+ const state = useMenuTrigger_unstable(props);
10
+ return renderMenuTrigger_unstable(state);
11
+ };
12
+ MenuTrigger.displayName = 'MenuTrigger';
13
+ MenuTrigger.isFluentTriggerComponent = true;
14
+ //# sourceMappingURL=MenuTrigger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["components/MenuTrigger/MenuTrigger.tsx"],"names":[],"mappings":"AACA,SAAS,uBAAT,QAAwC,kBAAxC;AACA,SAAS,0BAAT,QAA2C,qBAA3C;AAIA;;;AAGG;;AACH,OAAO,MAAM,WAAW,GAAwD,KAAK,IAAG;AACtF,QAAM,KAAK,GAAG,uBAAuB,CAAC,KAAD,CAArC;AAEA,SAAO,0BAA0B,CAAC,KAAD,CAAjC;AACD,CAJM;AAMP,WAAW,CAAC,WAAZ,GAA0B,aAA1B;AACA,WAAW,CAAC,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/"}
@@ -0,0 +1,20 @@
1
+ import * as React from 'react';
2
+ export declare type MenuTriggerProps = {
3
+ /**
4
+ * Explicitly require single child or render function
5
+ */
6
+ children: (React.ReactElement & {
7
+ ref?: React.Ref<unknown>;
8
+ }) | ((props: MenuTriggerChildProps) => React.ReactElement | null);
9
+ };
10
+ /**
11
+ * Props that are passed to the child of the MenuTrigger when cloned to ensure correct behaviour for the Menu
12
+ */
13
+ export declare type MenuTriggerChildProps = Required<Pick<React.HTMLAttributes<HTMLElement>, 'onClick' | 'onMouseEnter' | 'onMouseLeave' | 'onMouseMove' | 'onContextMenu' | 'onKeyDown' | 'aria-haspopup' | 'id'>> & {
14
+ ref?: React.Ref<never>;
15
+ 'aria-expanded': boolean | undefined;
16
+ };
17
+ export declare type MenuTriggerState = {
18
+ children: React.ReactElement | null;
19
+ isSubmenu: boolean;
20
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=MenuTrigger.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuTrigger.types.js","sourceRoot":"../src/","sources":["components/MenuTrigger/MenuTrigger.types.ts"],"names":[],"mappings":"","sourcesContent":["import * as React from 'react';\n\nexport type MenuTriggerProps = {\n /**\n * Explicitly require single child or render function\n */\n children:\n | (React.ReactElement & { ref?: React.Ref<unknown> })\n | ((props: MenuTriggerChildProps) => React.ReactElement | null);\n};\n\n/**\n * Props that are passed to the child of the MenuTrigger when cloned to ensure correct behaviour for the Menu\n */\nexport type MenuTriggerChildProps = Required<\n Pick<\n React.HTMLAttributes<HTMLElement>,\n 'onClick' | 'onMouseEnter' | 'onMouseLeave' | 'onMouseMove' | 'onContextMenu' | 'onKeyDown' | 'aria-haspopup' | 'id'\n >\n> & {\n ref?: React.Ref<never>;\n // aria-expanded should only be present when the menu when it is not a submenu\n 'aria-expanded': boolean | undefined;\n};\n\nexport type MenuTriggerState = {\n children: React.ReactElement | null;\n isSubmenu: boolean;\n};\n"]}
@@ -0,0 +1,4 @@
1
+ export * from './MenuTrigger';
2
+ export * from './MenuTrigger.types';
3
+ export * from './renderMenuTrigger';
4
+ export * from './useMenuTrigger';
@@ -0,0 +1,5 @@
1
+ export * from './MenuTrigger';
2
+ export * from './MenuTrigger.types';
3
+ export * from './renderMenuTrigger';
4
+ export * from './useMenuTrigger';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"../src/","sources":["components/MenuTrigger/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC","sourcesContent":["export * from './MenuTrigger';\nexport * from './MenuTrigger.types';\nexport * from './renderMenuTrigger';\nexport * from './useMenuTrigger';\n"]}
@@ -0,0 +1,7 @@
1
+ import type { MenuTriggerState } from './MenuTrigger.types';
2
+ /**
3
+ * Render the final JSX of MenuTrigger
4
+ *
5
+ * Only renders children
6
+ */
7
+ export declare const renderMenuTrigger_unstable: (state: MenuTriggerState) => JSX.Element;
@@ -0,0 +1,14 @@
1
+ import * as React from 'react';
2
+ import { MenuTriggerContextProvider } from '../../contexts/menuTriggerContext';
3
+ /**
4
+ * Render the final JSX of MenuTrigger
5
+ *
6
+ * Only renders children
7
+ */
8
+
9
+ export const renderMenuTrigger_unstable = state => {
10
+ return /*#__PURE__*/React.createElement(MenuTriggerContextProvider, {
11
+ value: state.isSubmenu
12
+ }, state.children);
13
+ };
14
+ //# sourceMappingURL=renderMenuTrigger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["components/MenuTrigger/renderMenuTrigger.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,0BAAT,QAA2C,mCAA3C;AAGA;;;;AAIG;;AACH,OAAO,MAAM,0BAA0B,GAAI,KAAD,IAA4B;AACpE,sBAAO,KAAA,CAAA,aAAA,CAAC,0BAAD,EAA2B;AAAC,IAAA,KAAK,EAAE,KAAK,CAAC;AAAd,GAA3B,EAAqD,KAAK,CAAC,QAA3D,CAAP;AACD,CAFM","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/"}
@@ -0,0 +1,8 @@
1
+ import { MenuTriggerProps, MenuTriggerState } from './MenuTrigger.types';
2
+ /**
3
+ * Create the state required to render MenuTrigger.
4
+ * Clones the only child component and adds necessary event handling behaviours to open a popup menu
5
+ *
6
+ * @param props - props from this instance of MenuTrigger
7
+ */
8
+ export declare const useMenuTrigger_unstable: (props: MenuTriggerProps) => MenuTriggerState;