@fluentui/react-menu 0.0.0-nightly-20230316-0427.1 → 0.0.0-nightly-20230317-1454.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 (358) hide show
  1. package/.swcrc +39 -0
  2. package/CHANGELOG.json +68 -23
  3. package/CHANGELOG.md +28 -14
  4. package/lib/Menu.js +1 -1
  5. package/lib/Menu.js.map +1 -1
  6. package/lib/MenuDivider.js +1 -1
  7. package/lib/MenuDivider.js.map +1 -1
  8. package/lib/MenuGroup.js +1 -1
  9. package/lib/MenuGroup.js.map +1 -1
  10. package/lib/MenuGroupHeader.js +1 -1
  11. package/lib/MenuGroupHeader.js.map +1 -1
  12. package/lib/MenuItem.js +1 -1
  13. package/lib/MenuItem.js.map +1 -1
  14. package/lib/MenuItemCheckbox.js +1 -1
  15. package/lib/MenuItemCheckbox.js.map +1 -1
  16. package/lib/MenuItemRadio.js +1 -1
  17. package/lib/MenuItemRadio.js.map +1 -1
  18. package/lib/MenuList.js +1 -1
  19. package/lib/MenuList.js.map +1 -1
  20. package/lib/MenuPopover.js +1 -1
  21. package/lib/MenuPopover.js.map +1 -1
  22. package/lib/MenuSplitGroup.js +1 -1
  23. package/lib/MenuSplitGroup.js.map +1 -1
  24. package/lib/MenuTrigger.js +1 -1
  25. package/lib/MenuTrigger.js.map +1 -1
  26. package/lib/components/Menu/Menu.js +5 -4
  27. package/lib/components/Menu/Menu.js.map +1 -1
  28. package/lib/components/Menu/Menu.types.js +1 -1
  29. package/lib/components/Menu/Menu.types.js.map +1 -1
  30. package/lib/components/Menu/index.js +5 -5
  31. package/lib/components/Menu/index.js.map +1 -1
  32. package/lib/components/Menu/renderMenu.js +2 -2
  33. package/lib/components/Menu/renderMenu.js.map +1 -1
  34. package/lib/components/Menu/useMenu.js +28 -34
  35. package/lib/components/Menu/useMenu.js.map +1 -1
  36. package/lib/components/Menu/useMenuContextValues.js.map +1 -1
  37. package/lib/components/MenuDivider/MenuDivider.js +6 -6
  38. package/lib/components/MenuDivider/MenuDivider.js.map +1 -1
  39. package/lib/components/MenuDivider/MenuDivider.types.js.map +1 -1
  40. package/lib/components/MenuDivider/index.js +5 -5
  41. package/lib/components/MenuDivider/index.js.map +1 -1
  42. package/lib/components/MenuDivider/renderMenuDivider.js +3 -5
  43. package/lib/components/MenuDivider/renderMenuDivider.js.map +1 -1
  44. package/lib/components/MenuDivider/useMenuDivider.js +6 -5
  45. package/lib/components/MenuDivider/useMenuDivider.js.map +1 -1
  46. package/lib/components/MenuDivider/useMenuDividerStyles.js +3 -3
  47. package/lib/components/MenuDivider/useMenuDividerStyles.js.map +1 -1
  48. package/lib/components/MenuGroup/MenuGroup.js +7 -7
  49. package/lib/components/MenuGroup/MenuGroup.js.map +1 -1
  50. package/lib/components/MenuGroup/MenuGroup.types.js.map +1 -1
  51. package/lib/components/MenuGroup/index.js +6 -6
  52. package/lib/components/MenuGroup/index.js.map +1 -1
  53. package/lib/components/MenuGroup/renderMenuGroup.js +4 -6
  54. package/lib/components/MenuGroup/renderMenuGroup.js.map +1 -1
  55. package/lib/components/MenuGroup/useMenuGroup.js +7 -6
  56. package/lib/components/MenuGroup/useMenuGroup.js.map +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.js +2 -2
  60. package/lib/components/MenuGroup/useMenuGroupStyles.js.map +1 -1
  61. package/lib/components/MenuGroupHeader/MenuGroupHeader.js +6 -6
  62. package/lib/components/MenuGroupHeader/MenuGroupHeader.js.map +1 -1
  63. package/lib/components/MenuGroupHeader/MenuGroupHeader.types.js.map +1 -1
  64. package/lib/components/MenuGroupHeader/index.js +5 -5
  65. package/lib/components/MenuGroupHeader/index.js.map +1 -1
  66. package/lib/components/MenuGroupHeader/renderMenuGroupHeader.js +3 -5
  67. package/lib/components/MenuGroupHeader/renderMenuGroupHeader.js.map +1 -1
  68. package/lib/components/MenuGroupHeader/useMenuGroupHeader.js +5 -4
  69. package/lib/components/MenuGroupHeader/useMenuGroupHeader.js.map +1 -1
  70. package/lib/components/MenuGroupHeader/useMenuGroupHeaderStyles.js +3 -3
  71. package/lib/components/MenuGroupHeader/useMenuGroupHeaderStyles.js.map +1 -1
  72. package/lib/components/MenuItem/MenuItem.js +6 -6
  73. package/lib/components/MenuItem/MenuItem.js.map +1 -1
  74. package/lib/components/MenuItem/MenuItem.types.js.map +1 -1
  75. package/lib/components/MenuItem/index.js +5 -5
  76. package/lib/components/MenuItem/index.js.map +1 -1
  77. package/lib/components/MenuItem/renderMenuItem.js +3 -15
  78. package/lib/components/MenuItem/renderMenuItem.js.map +1 -1
  79. package/lib/components/MenuItem/useCharacterSearch.js +5 -5
  80. package/lib/components/MenuItem/useCharacterSearch.js.map +1 -1
  81. package/lib/components/MenuItem/useMenuItem.js +24 -27
  82. package/lib/components/MenuItem/useMenuItem.js.map +1 -1
  83. package/lib/components/MenuItem/useMenuItemStyles.js +11 -11
  84. package/lib/components/MenuItem/useMenuItemStyles.js.map +1 -1
  85. package/lib/components/MenuItemCheckbox/MenuItemCheckbox.js +6 -6
  86. package/lib/components/MenuItemCheckbox/MenuItemCheckbox.js.map +1 -1
  87. package/lib/components/MenuItemCheckbox/MenuItemCheckbox.types.js.map +1 -1
  88. package/lib/components/MenuItemCheckbox/index.js +5 -5
  89. package/lib/components/MenuItemCheckbox/index.js.map +1 -1
  90. package/lib/components/MenuItemCheckbox/renderMenuItemCheckbox.js +3 -13
  91. package/lib/components/MenuItemCheckbox/renderMenuItemCheckbox.js.map +1 -1
  92. package/lib/components/MenuItemCheckbox/useMenuItemCheckbox.js +10 -12
  93. package/lib/components/MenuItemCheckbox/useMenuItemCheckbox.js.map +1 -1
  94. package/lib/components/MenuItemCheckbox/useMenuItemCheckboxStyles.js +8 -8
  95. package/lib/components/MenuItemCheckbox/useMenuItemCheckboxStyles.js.map +1 -1
  96. package/lib/components/MenuItemRadio/MenuItemRadio.js +6 -6
  97. package/lib/components/MenuItemRadio/MenuItemRadio.js.map +1 -1
  98. package/lib/components/MenuItemRadio/MenuItemRadio.types.js.map +1 -1
  99. package/lib/components/MenuItemRadio/index.js +5 -5
  100. package/lib/components/MenuItemRadio/index.js.map +1 -1
  101. package/lib/components/MenuItemRadio/renderMenuItemRadio.js +3 -13
  102. package/lib/components/MenuItemRadio/renderMenuItemRadio.js.map +1 -1
  103. package/lib/components/MenuItemRadio/useMenuItemRadio.js +10 -12
  104. package/lib/components/MenuItemRadio/useMenuItemRadio.js.map +1 -1
  105. package/lib/components/MenuItemRadio/useMenuItemRadioStyles.js +8 -8
  106. package/lib/components/MenuItemRadio/useMenuItemRadioStyles.js.map +1 -1
  107. package/lib/components/MenuList/MenuList.js +7 -7
  108. package/lib/components/MenuList/MenuList.js.map +1 -1
  109. package/lib/components/MenuList/MenuList.types.js +1 -1
  110. package/lib/components/MenuList/MenuList.types.js.map +1 -1
  111. package/lib/components/MenuList/index.js +6 -6
  112. package/lib/components/MenuList/index.js.map +1 -1
  113. package/lib/components/MenuList/renderMenuList.js +4 -6
  114. package/lib/components/MenuList/renderMenuList.js.map +1 -1
  115. package/lib/components/MenuList/useMenuList.js +19 -23
  116. package/lib/components/MenuList/useMenuList.js.map +1 -1
  117. package/lib/components/MenuList/useMenuListContextValues.js.map +1 -1
  118. package/lib/components/MenuList/useMenuListStyles.js +2 -2
  119. package/lib/components/MenuList/useMenuListStyles.js.map +1 -1
  120. package/lib/components/MenuPopover/MenuPopover.js +6 -6
  121. package/lib/components/MenuPopover/MenuPopover.js.map +1 -1
  122. package/lib/components/MenuPopover/MenuPopover.types.js.map +1 -1
  123. package/lib/components/MenuPopover/index.js +5 -5
  124. package/lib/components/MenuPopover/index.js.map +1 -1
  125. package/lib/components/MenuPopover/renderMenuPopover.js +5 -9
  126. package/lib/components/MenuPopover/renderMenuPopover.js.map +1 -1
  127. package/lib/components/MenuPopover/useMenuPopover.js +19 -21
  128. package/lib/components/MenuPopover/useMenuPopover.js.map +1 -1
  129. package/lib/components/MenuPopover/useMenuPopoverStyles.js +3 -3
  130. package/lib/components/MenuPopover/useMenuPopoverStyles.js.map +1 -1
  131. package/lib/components/MenuSplitGroup/MenuSplitGroup.js +6 -6
  132. package/lib/components/MenuSplitGroup/MenuSplitGroup.js.map +1 -1
  133. package/lib/components/MenuSplitGroup/MenuSplitGroup.types.js.map +1 -1
  134. package/lib/components/MenuSplitGroup/index.js +5 -5
  135. package/lib/components/MenuSplitGroup/index.js.map +1 -1
  136. package/lib/components/MenuSplitGroup/renderMenuSplitGroup.js +3 -5
  137. package/lib/components/MenuSplitGroup/renderMenuSplitGroup.js.map +1 -1
  138. package/lib/components/MenuSplitGroup/useMenuSplitGroup.js +12 -13
  139. package/lib/components/MenuSplitGroup/useMenuSplitGroup.js.map +1 -1
  140. package/lib/components/MenuSplitGroup/useMenuSplitGroupStyles.js +4 -4
  141. package/lib/components/MenuSplitGroup/useMenuSplitGroupStyles.js.map +1 -1
  142. package/lib/components/MenuTrigger/MenuTrigger.js +4 -3
  143. package/lib/components/MenuTrigger/MenuTrigger.js.map +1 -1
  144. package/lib/components/MenuTrigger/MenuTrigger.types.js +1 -1
  145. package/lib/components/MenuTrigger/MenuTrigger.types.js.map +1 -1
  146. package/lib/components/MenuTrigger/index.js +4 -4
  147. package/lib/components/MenuTrigger/index.js.map +1 -1
  148. package/lib/components/MenuTrigger/renderMenuTrigger.js +2 -2
  149. package/lib/components/MenuTrigger/renderMenuTrigger.js.map +1 -1
  150. package/lib/components/MenuTrigger/useMenuTrigger.js +29 -29
  151. package/lib/components/MenuTrigger/useMenuTrigger.js.map +1 -1
  152. package/lib/components/index.js +2 -2
  153. package/lib/components/index.js.map +1 -1
  154. package/lib/contexts/menuContext.js +3 -2
  155. package/lib/contexts/menuContext.js.map +1 -1
  156. package/lib/contexts/menuGroupContext.js +3 -6
  157. package/lib/contexts/menuGroupContext.js.map +1 -1
  158. package/lib/contexts/menuListContext.js +2 -1
  159. package/lib/contexts/menuListContext.js.map +1 -1
  160. package/lib/contexts/menuTriggerContext.js +2 -5
  161. package/lib/contexts/menuTriggerContext.js.map +1 -1
  162. package/lib/index.js +16 -16
  163. package/lib/index.js.map +1 -1
  164. package/lib/selectable/index.js +2 -2
  165. package/lib/selectable/index.js.map +1 -1
  166. package/lib/selectable/types.js +1 -1
  167. package/lib/selectable/types.js.map +1 -1
  168. package/lib/selectable/useCheckmarkStyles.js +1 -1
  169. package/lib/selectable/useCheckmarkStyles.js.map +1 -1
  170. package/lib/utils/index.js +1 -1
  171. package/lib/utils/index.js.map +1 -1
  172. package/lib/utils/useIsSubmenu.js +3 -3
  173. package/lib/utils/useIsSubmenu.js.map +1 -1
  174. package/lib/utils/useOnMenuEnter.js +5 -6
  175. package/lib/utils/useOnMenuEnter.js.map +1 -1
  176. package/lib-commonjs/Menu.js +5 -4
  177. package/lib-commonjs/Menu.js.map +1 -1
  178. package/lib-commonjs/MenuDivider.js +5 -4
  179. package/lib-commonjs/MenuDivider.js.map +1 -1
  180. package/lib-commonjs/MenuGroup.js +5 -4
  181. package/lib-commonjs/MenuGroup.js.map +1 -1
  182. package/lib-commonjs/MenuGroupHeader.js +5 -4
  183. package/lib-commonjs/MenuGroupHeader.js.map +1 -1
  184. package/lib-commonjs/MenuItem.js +5 -4
  185. package/lib-commonjs/MenuItem.js.map +1 -1
  186. package/lib-commonjs/MenuItemCheckbox.js +5 -4
  187. package/lib-commonjs/MenuItemCheckbox.js.map +1 -1
  188. package/lib-commonjs/MenuItemRadio.js +5 -4
  189. package/lib-commonjs/MenuItemRadio.js.map +1 -1
  190. package/lib-commonjs/MenuList.js +5 -4
  191. package/lib-commonjs/MenuList.js.map +1 -1
  192. package/lib-commonjs/MenuPopover.js +5 -4
  193. package/lib-commonjs/MenuPopover.js.map +1 -1
  194. package/lib-commonjs/MenuSplitGroup.js +5 -4
  195. package/lib-commonjs/MenuSplitGroup.js.map +1 -1
  196. package/lib-commonjs/MenuTrigger.js +5 -4
  197. package/lib-commonjs/MenuTrigger.js.map +1 -1
  198. package/lib-commonjs/components/Menu/Menu.js +16 -15
  199. package/lib-commonjs/components/Menu/Menu.js.map +1 -1
  200. package/lib-commonjs/components/Menu/Menu.types.js +5 -2
  201. package/lib-commonjs/components/Menu/Menu.types.js.map +1 -1
  202. package/lib-commonjs/components/Menu/index.js +9 -8
  203. package/lib-commonjs/components/Menu/index.js.map +1 -1
  204. package/lib-commonjs/components/Menu/renderMenu.js +14 -14
  205. package/lib-commonjs/components/Menu/renderMenu.js.map +1 -1
  206. package/lib-commonjs/components/Menu/useMenu.js +252 -256
  207. package/lib-commonjs/components/Menu/useMenu.js.map +1 -1
  208. package/lib-commonjs/components/Menu/useMenuContextValues.js +29 -43
  209. package/lib-commonjs/components/Menu/useMenuContextValues.js.map +1 -1
  210. package/lib-commonjs/components/MenuDivider/MenuDivider.js +19 -20
  211. package/lib-commonjs/components/MenuDivider/MenuDivider.js.map +1 -1
  212. package/lib-commonjs/components/MenuDivider/MenuDivider.types.js +3 -2
  213. package/lib-commonjs/components/MenuDivider/MenuDivider.types.js.map +1 -1
  214. package/lib-commonjs/components/MenuDivider/index.js +9 -8
  215. package/lib-commonjs/components/MenuDivider/index.js.map +1 -1
  216. package/lib-commonjs/components/MenuDivider/renderMenuDivider.js +13 -19
  217. package/lib-commonjs/components/MenuDivider/renderMenuDivider.js.map +1 -1
  218. package/lib-commonjs/components/MenuDivider/useMenuDivider.js +22 -21
  219. package/lib-commonjs/components/MenuDivider/useMenuDivider.js.map +1 -1
  220. package/lib-commonjs/components/MenuDivider/useMenuDividerStyles.js +47 -25
  221. package/lib-commonjs/components/MenuDivider/useMenuDividerStyles.js.map +1 -1
  222. package/lib-commonjs/components/MenuGroup/MenuGroup.js +21 -22
  223. package/lib-commonjs/components/MenuGroup/MenuGroup.js.map +1 -1
  224. package/lib-commonjs/components/MenuGroup/MenuGroup.types.js +3 -2
  225. package/lib-commonjs/components/MenuGroup/MenuGroup.types.js.map +1 -1
  226. package/lib-commonjs/components/MenuGroup/index.js +10 -9
  227. package/lib-commonjs/components/MenuGroup/index.js.map +1 -1
  228. package/lib-commonjs/components/MenuGroup/renderMenuGroup.js +16 -22
  229. package/lib-commonjs/components/MenuGroup/renderMenuGroup.js.map +1 -1
  230. package/lib-commonjs/components/MenuGroup/useMenuGroup.js +23 -22
  231. package/lib-commonjs/components/MenuGroup/useMenuGroup.js.map +1 -1
  232. package/lib-commonjs/components/MenuGroup/useMenuGroupContextValues.js +18 -15
  233. package/lib-commonjs/components/MenuGroup/useMenuGroupContextValues.js.map +1 -1
  234. package/lib-commonjs/components/MenuGroup/useMenuGroupStyles.js +19 -11
  235. package/lib-commonjs/components/MenuGroup/useMenuGroupStyles.js.map +1 -1
  236. package/lib-commonjs/components/MenuGroupHeader/MenuGroupHeader.js +19 -20
  237. package/lib-commonjs/components/MenuGroupHeader/MenuGroupHeader.js.map +1 -1
  238. package/lib-commonjs/components/MenuGroupHeader/MenuGroupHeader.types.js +3 -2
  239. package/lib-commonjs/components/MenuGroupHeader/MenuGroupHeader.types.js.map +1 -1
  240. package/lib-commonjs/components/MenuGroupHeader/index.js +9 -8
  241. package/lib-commonjs/components/MenuGroupHeader/index.js.map +1 -1
  242. package/lib-commonjs/components/MenuGroupHeader/renderMenuGroupHeader.js +13 -19
  243. package/lib-commonjs/components/MenuGroupHeader/renderMenuGroupHeader.js.map +1 -1
  244. package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeader.js +22 -23
  245. package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeader.js.map +1 -1
  246. package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeaderStyles.js +47 -25
  247. package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeaderStyles.js.map +1 -1
  248. package/lib-commonjs/components/MenuItem/MenuItem.js +19 -20
  249. package/lib-commonjs/components/MenuItem/MenuItem.js.map +1 -1
  250. package/lib-commonjs/components/MenuItem/MenuItem.types.js +3 -2
  251. package/lib-commonjs/components/MenuItem/MenuItem.types.js.map +1 -1
  252. package/lib-commonjs/components/MenuItem/index.js +9 -8
  253. package/lib-commonjs/components/MenuItem/index.js.map +1 -1
  254. package/lib-commonjs/components/MenuItem/renderMenuItem.js +13 -28
  255. package/lib-commonjs/components/MenuItem/renderMenuItem.js.map +1 -1
  256. package/lib-commonjs/components/MenuItem/useCharacterSearch.js +23 -22
  257. package/lib-commonjs/components/MenuItem/useCharacterSearch.js.map +1 -1
  258. package/lib-commonjs/components/MenuItem/useMenuItem.js +94 -104
  259. package/lib-commonjs/components/MenuItem/useMenuItem.js.map +1 -1
  260. package/lib-commonjs/components/MenuItem/useMenuItemStyles.js +288 -137
  261. package/lib-commonjs/components/MenuItem/useMenuItemStyles.js.map +1 -1
  262. package/lib-commonjs/components/MenuItemCheckbox/MenuItemCheckbox.js +19 -20
  263. package/lib-commonjs/components/MenuItemCheckbox/MenuItemCheckbox.js.map +1 -1
  264. package/lib-commonjs/components/MenuItemCheckbox/MenuItemCheckbox.types.js +3 -2
  265. package/lib-commonjs/components/MenuItemCheckbox/MenuItemCheckbox.types.js.map +1 -1
  266. package/lib-commonjs/components/MenuItemCheckbox/index.js +9 -8
  267. package/lib-commonjs/components/MenuItemCheckbox/index.js.map +1 -1
  268. package/lib-commonjs/components/MenuItemCheckbox/renderMenuItemCheckbox.js +13 -24
  269. package/lib-commonjs/components/MenuItemCheckbox/renderMenuItemCheckbox.js.map +1 -1
  270. package/lib-commonjs/components/MenuItemCheckbox/useMenuItemCheckbox.js +42 -45
  271. package/lib-commonjs/components/MenuItemCheckbox/useMenuItemCheckbox.js.map +1 -1
  272. package/lib-commonjs/components/MenuItemCheckbox/useMenuItemCheckboxStyles.js +38 -30
  273. package/lib-commonjs/components/MenuItemCheckbox/useMenuItemCheckboxStyles.js.map +1 -1
  274. package/lib-commonjs/components/MenuItemRadio/MenuItemRadio.js +19 -20
  275. package/lib-commonjs/components/MenuItemRadio/MenuItemRadio.js.map +1 -1
  276. package/lib-commonjs/components/MenuItemRadio/MenuItemRadio.types.js +3 -2
  277. package/lib-commonjs/components/MenuItemRadio/MenuItemRadio.types.js.map +1 -1
  278. package/lib-commonjs/components/MenuItemRadio/index.js +9 -8
  279. package/lib-commonjs/components/MenuItemRadio/index.js.map +1 -1
  280. package/lib-commonjs/components/MenuItemRadio/renderMenuItemRadio.js +13 -27
  281. package/lib-commonjs/components/MenuItemRadio/renderMenuItemRadio.js.map +1 -1
  282. package/lib-commonjs/components/MenuItemRadio/useMenuItemRadio.js +40 -45
  283. package/lib-commonjs/components/MenuItemRadio/useMenuItemRadio.js.map +1 -1
  284. package/lib-commonjs/components/MenuItemRadio/useMenuItemRadioStyles.js +38 -30
  285. package/lib-commonjs/components/MenuItemRadio/useMenuItemRadioStyles.js.map +1 -1
  286. package/lib-commonjs/components/MenuList/MenuList.js +21 -22
  287. package/lib-commonjs/components/MenuList/MenuList.js.map +1 -1
  288. package/lib-commonjs/components/MenuList/MenuList.types.js +5 -2
  289. package/lib-commonjs/components/MenuList/MenuList.types.js.map +1 -1
  290. package/lib-commonjs/components/MenuList/index.js +10 -9
  291. package/lib-commonjs/components/MenuList/index.js.map +1 -1
  292. package/lib-commonjs/components/MenuList/renderMenuList.js +16 -21
  293. package/lib-commonjs/components/MenuList/renderMenuList.js.map +1 -1
  294. package/lib-commonjs/components/MenuList/useMenuList.js +138 -137
  295. package/lib-commonjs/components/MenuList/useMenuList.js.map +1 -1
  296. package/lib-commonjs/components/MenuList/useMenuListContextValues.js +20 -25
  297. package/lib-commonjs/components/MenuList/useMenuListContextValues.js.map +1 -1
  298. package/lib-commonjs/components/MenuList/useMenuListStyles.js +33 -23
  299. package/lib-commonjs/components/MenuList/useMenuListStyles.js.map +1 -1
  300. package/lib-commonjs/components/MenuPopover/MenuPopover.js +19 -20
  301. package/lib-commonjs/components/MenuPopover/MenuPopover.js.map +1 -1
  302. package/lib-commonjs/components/MenuPopover/MenuPopover.types.js +3 -2
  303. package/lib-commonjs/components/MenuPopover/MenuPopover.types.js.map +1 -1
  304. package/lib-commonjs/components/MenuPopover/index.js +9 -8
  305. package/lib-commonjs/components/MenuPopover/index.js.map +1 -1
  306. package/lib-commonjs/components/MenuPopover/renderMenuPopover.js +19 -26
  307. package/lib-commonjs/components/MenuPopover/renderMenuPopover.js.map +1 -1
  308. package/lib-commonjs/components/MenuPopover/useMenuPopover.js +100 -110
  309. package/lib-commonjs/components/MenuPopover/useMenuPopover.js.map +1 -1
  310. package/lib-commonjs/components/MenuPopover/useMenuPopoverStyles.js +121 -50
  311. package/lib-commonjs/components/MenuPopover/useMenuPopoverStyles.js.map +1 -1
  312. package/lib-commonjs/components/MenuSplitGroup/MenuSplitGroup.js +19 -20
  313. package/lib-commonjs/components/MenuSplitGroup/MenuSplitGroup.js.map +1 -1
  314. package/lib-commonjs/components/MenuSplitGroup/MenuSplitGroup.types.js +3 -2
  315. package/lib-commonjs/components/MenuSplitGroup/MenuSplitGroup.types.js.map +1 -1
  316. package/lib-commonjs/components/MenuSplitGroup/index.js +9 -8
  317. package/lib-commonjs/components/MenuSplitGroup/index.js.map +1 -1
  318. package/lib-commonjs/components/MenuSplitGroup/renderMenuSplitGroup.js +13 -18
  319. package/lib-commonjs/components/MenuSplitGroup/renderMenuSplitGroup.js.map +1 -1
  320. package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroup.js +57 -64
  321. package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroup.js.map +1 -1
  322. package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroupStyles.js +61 -32
  323. package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroupStyles.js.map +1 -1
  324. package/lib-commonjs/components/MenuTrigger/MenuTrigger.js +15 -15
  325. package/lib-commonjs/components/MenuTrigger/MenuTrigger.js.map +1 -1
  326. package/lib-commonjs/components/MenuTrigger/MenuTrigger.types.js +5 -2
  327. package/lib-commonjs/components/MenuTrigger/MenuTrigger.types.js.map +1 -1
  328. package/lib-commonjs/components/MenuTrigger/index.js +8 -7
  329. package/lib-commonjs/components/MenuTrigger/index.js.map +1 -1
  330. package/lib-commonjs/components/MenuTrigger/renderMenuTrigger.js +14 -16
  331. package/lib-commonjs/components/MenuTrigger/renderMenuTrigger.js.map +1 -1
  332. package/lib-commonjs/components/MenuTrigger/useMenuTrigger.js +163 -170
  333. package/lib-commonjs/components/MenuTrigger/useMenuTrigger.js.map +1 -1
  334. package/lib-commonjs/components/index.js +6 -5
  335. package/lib-commonjs/components/index.js.map +1 -1
  336. package/lib-commonjs/contexts/menuContext.js +38 -27
  337. package/lib-commonjs/contexts/menuContext.js.map +1 -1
  338. package/lib-commonjs/contexts/menuGroupContext.js +18 -12
  339. package/lib-commonjs/contexts/menuGroupContext.js.map +1 -1
  340. package/lib-commonjs/contexts/menuListContext.js +25 -14
  341. package/lib-commonjs/contexts/menuListContext.js.map +1 -1
  342. package/lib-commonjs/contexts/menuTriggerContext.js +17 -12
  343. package/lib-commonjs/contexts/menuTriggerContext.js.map +1 -1
  344. package/lib-commonjs/index.js +91 -399
  345. package/lib-commonjs/index.js.map +1 -1
  346. package/lib-commonjs/selectable/index.js +6 -5
  347. package/lib-commonjs/selectable/index.js.map +1 -1
  348. package/lib-commonjs/selectable/types.js +5 -2
  349. package/lib-commonjs/selectable/types.js.map +1 -1
  350. package/lib-commonjs/selectable/useCheckmarkStyles.js +28 -26
  351. package/lib-commonjs/selectable/useCheckmarkStyles.js.map +1 -1
  352. package/lib-commonjs/utils/index.js +5 -4
  353. package/lib-commonjs/utils/index.js.map +1 -1
  354. package/lib-commonjs/utils/useIsSubmenu.js +13 -19
  355. package/lib-commonjs/utils/useIsSubmenu.js.map +1 -1
  356. package/lib-commonjs/utils/useOnMenuEnter.js +56 -68
  357. package/lib-commonjs/utils/useOnMenuEnter.js.map +1 -1
  358. package/package.json +13 -13
@@ -1,15 +1,15 @@
1
- import * as React from 'react';
2
- import { usePositioningMouseTarget, usePositioning, resolvePositioningShorthand } from '@fluentui/react-positioning';
3
- import { useControllableState, useId, useOnClickOutside, useEventCallback, useOnScrollOutside } from '@fluentui/react-utilities';
4
- import { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';
5
- import { elementContains } from '@fluentui/react-portal';
6
- import { useFocusFinders } from '@fluentui/react-tabster';
7
- import { useMenuContext_unstable } from '../../contexts/menuContext';
8
- import { MENU_ENTER_EVENT, useOnMenuMouseEnter } from '../../utils/index';
9
- import { useIsSubmenu } from '../../utils/useIsSubmenu';
1
+ import * as React from "react";
2
+ import { usePositioningMouseTarget, usePositioning, resolvePositioningShorthand } from "@fluentui/react-positioning";
3
+ import { useControllableState, useId, useOnClickOutside, useEventCallback, useOnScrollOutside } from "@fluentui/react-utilities";
4
+ import { useFluent_unstable as useFluent } from "@fluentui/react-shared-contexts";
5
+ import { elementContains } from "@fluentui/react-portal";
6
+ import { useFocusFinders } from "@fluentui/react-tabster";
7
+ import { useMenuContext_unstable } from "../../contexts/menuContext";
8
+ import { MENU_ENTER_EVENT, useOnMenuMouseEnter } from "../../utils/index";
9
+ import { useIsSubmenu } from "../../utils/useIsSubmenu";
10
10
  // If it's not possible to position the submenu in smaller viewports, try
11
11
  // and fallback to this order of positions
12
- const submenuFallbackPositions = ['after', 'after-bottom', 'before-top', 'before', 'before-bottom', 'above'];
12
+ const submenuFallbackPositions = ["after", "after-bottom", "before-top", "before", "before-bottom", "above"];
13
13
  /**
14
14
  * Create the state required to render Menu.
15
15
  *
@@ -32,24 +32,24 @@ export const useMenu_unstable = props => {
32
32
  defaultCheckedValues,
33
33
  mountNode = null
34
34
  } = props;
35
- const triggerId = useId('menu');
35
+ const triggerId = useId("menu");
36
36
  const [contextTarget, setContextTarget] = usePositioningMouseTarget();
37
37
  const positioningState = {
38
- position: isSubmenu ? 'after' : 'below',
39
- align: isSubmenu ? 'top' : 'start',
38
+ position: isSubmenu ? "after" : "below",
39
+ align: isSubmenu ? "top" : "start",
40
40
  target: props.openOnContext ? contextTarget : undefined,
41
41
  fallbackPositions: isSubmenu ? submenuFallbackPositions : undefined,
42
42
  ...resolvePositioningShorthand(props.positioning)
43
43
  };
44
44
  const children = React.Children.toArray(props.children);
45
- if (process.env.NODE_ENV !== 'production') {
45
+ if (process.env.NODE_ENV !== "production") {
46
46
  if (children.length === 0) {
47
47
  // eslint-disable-next-line no-console
48
- console.warn('Menu must contain at least one child');
48
+ console.warn("Menu must contain at least one child");
49
49
  }
50
50
  if (children.length > 2) {
51
51
  // eslint-disable-next-line no-console
52
- console.warn('Menu must contain at most two children');
52
+ console.warn("Menu must contain at most two children");
53
53
  }
54
54
  }
55
55
  let menuTrigger = undefined;
@@ -121,8 +121,7 @@ const useMenuSelectableState = props => {
121
121
  name,
122
122
  checkedItems
123
123
  }) => {
124
- var _a;
125
- (_a = props.onCheckedValueChange) === null || _a === void 0 ? void 0 : _a.call(props, e, {
124
+ props.onCheckedValueChange?.(e, {
126
125
  name,
127
126
  checkedItems
128
127
  });
@@ -138,10 +137,7 @@ const useMenuOpenState = state => {
138
137
  targetDocument
139
138
  } = useFluent();
140
139
  const parentSetOpen = useMenuContext_unstable(context => context.setOpen);
141
- const onOpenChange = useEventCallback((e, data) => {
142
- var _a;
143
- return (_a = state.onOpenChange) === null || _a === void 0 ? void 0 : _a.call(state, e, data);
144
- });
140
+ const onOpenChange = useEventCallback((e, data) => state.onOpenChange?.(e, data));
145
141
  const shouldHandleCloseRef = React.useRef(false);
146
142
  const setOpenTimeout = React.useRef(0);
147
143
  const enteringTriggerRef = React.useRef(false);
@@ -152,10 +148,10 @@ const useMenuOpenState = state => {
152
148
  });
153
149
  const trySetOpen = useEventCallback((e, data) => {
154
150
  const event = e instanceof CustomEvent && e.type === MENU_ENTER_EVENT ? e.detail.nativeEvent : e;
155
- onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(event, {
151
+ onOpenChange?.(event, {
156
152
  ...data
157
153
  });
158
- if (data.open && e.type === 'contextmenu') {
154
+ if (data.open && e.type === "contextmenu") {
159
155
  state.setContextTarget(e);
160
156
  }
161
157
  if (!data.open) {
@@ -170,15 +166,14 @@ const useMenuOpenState = state => {
170
166
  setOpenState(data.open);
171
167
  });
172
168
  const setOpen = useEventCallback((e, data) => {
173
- var _a;
174
169
  clearTimeout(setOpenTimeout.current);
175
170
  if (!(e instanceof Event) && e.persist) {
176
171
  // < React 17 still uses pooled synthetic events
177
172
  e.persist();
178
173
  }
179
- if (e.type === 'mouseleave' || e.type === 'mouseenter' || e.type === 'mousemove' || e.type === MENU_ENTER_EVENT) {
180
- if ((_a = state.triggerRef.current) === null || _a === void 0 ? void 0 : _a.contains(e.target)) {
181
- enteringTriggerRef.current = e.type === 'mouseenter' || e.type === 'mousemove';
174
+ if (e.type === "mouseleave" || e.type === "mouseenter" || e.type === "mousemove" || e.type === MENU_ENTER_EVENT) {
175
+ if (state.triggerRef.current?.contains(e.target)) {
176
+ enteringTriggerRef.current = e.type === "mouseenter" || e.type === "mousemove";
182
177
  }
183
178
  // FIXME leaking Node timeout type
184
179
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
@@ -195,7 +190,7 @@ const useMenuOpenState = state => {
195
190
  refs: [state.menuPopoverRef, !state.openOnContext && state.triggerRef].filter(Boolean),
196
191
  callback: event => setOpen(event, {
197
192
  open: false,
198
- type: 'clickOutside',
193
+ type: "clickOutside",
199
194
  event
200
195
  })
201
196
  });
@@ -206,7 +201,7 @@ const useMenuOpenState = state => {
206
201
  element: targetDocument,
207
202
  callback: event => setOpen(event, {
208
203
  open: false,
209
- type: 'scrollOutside',
204
+ type: "scrollOutside",
210
205
  event
211
206
  }),
212
207
  refs: [state.menuPopoverRef, !state.openOnContext && state.triggerRef].filter(Boolean),
@@ -220,7 +215,7 @@ const useMenuOpenState = state => {
220
215
  if (!enteringTriggerRef.current) {
221
216
  setOpen(event, {
222
217
  open: false,
223
- type: 'menuMouseEnter',
218
+ type: "menuMouseEnter",
224
219
  event
225
220
  });
226
221
  }
@@ -241,10 +236,9 @@ const useMenuOpenState = state => {
241
236
  } = useFocusFinders();
242
237
  const focusFirst = React.useCallback(() => {
243
238
  const firstFocusable = findFirstFocusable(state.menuPopoverRef.current);
244
- firstFocusable === null || firstFocusable === void 0 ? void 0 : firstFocusable.focus();
239
+ firstFocusable?.focus();
245
240
  }, [findFirstFocusable, state.menuPopoverRef]);
246
241
  React.useEffect(() => {
247
- var _a;
248
242
  if (open) {
249
243
  focusFirst();
250
244
  } else {
@@ -255,7 +249,7 @@ const useMenuOpenState = state => {
255
249
  // keyboard events have fully bubbled up the window, the browser will move
256
250
  // focus to the next tabbable element before/after the trigger if needed.
257
251
  // If the Tab key was not pressed, focus will remain on the trigger as expected.
258
- (_a = state.triggerRef.current) === null || _a === void 0 ? void 0 : _a.focus();
252
+ state.triggerRef.current?.focus();
259
253
  }
260
254
  }
261
255
  shouldHandleCloseRef.current = false;
@@ -1 +1 @@
1
- {"version":3,"names":["React","usePositioningMouseTarget","usePositioning","resolvePositioningShorthand","useControllableState","useId","useOnClickOutside","useEventCallback","useOnScrollOutside","useFluent_unstable","useFluent","elementContains","useFocusFinders","useMenuContext_unstable","MENU_ENTER_EVENT","useOnMenuMouseEnter","useIsSubmenu","submenuFallbackPositions","useMenu_unstable","props","isSubmenu","hoverDelay","inline","hasCheckmarks","hasIcons","closeOnScroll","openOnContext","persistOnItemClick","openOnHover","defaultCheckedValues","mountNode","triggerId","contextTarget","setContextTarget","positioningState","position","align","target","undefined","fallbackPositions","positioning","children","Children","toArray","process","env","NODE_ENV","length","console","warn","menuTrigger","menuPopover","targetRef","triggerRef","containerRef","menuPopoverRef","open","setOpen","useMenuOpenState","defaultOpen","onOpenChange","checkedValues","onCheckedValueChange","useMenuSelectableState","components","setCheckedValues","state","defaultState","initialState","e","name","checkedItems","_a","call","currentValue","targetDocument","parentSetOpen","context","data","shouldHandleCloseRef","useRef","setOpenTimeout","enteringTriggerRef","setOpenState","trySetOpen","event","CustomEvent","type","detail","nativeEvent","current","bubble","clearTimeout","Event","persist","contains","setTimeout","disabled","element","refs","filter","Boolean","callback","useEffect","findFirstFocusable","focusFirst","useCallback","firstFocusable","focus"],"sources":["../../../../../../../../../packages/react-components/react-menu/src/components/Menu/useMenu.tsx"],"sourcesContent":["import * as React from 'react';\nimport {\n usePositioningMouseTarget,\n usePositioning,\n resolvePositioningShorthand,\n PositioningShorthandValue,\n} from '@fluentui/react-positioning';\nimport {\n useControllableState,\n useId,\n useOnClickOutside,\n useEventCallback,\n useOnScrollOutside,\n} from '@fluentui/react-utilities';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\nimport { elementContains } from '@fluentui/react-portal';\nimport { useFocusFinders } from '@fluentui/react-tabster';\nimport { useMenuContext_unstable } from '../../contexts/menuContext';\nimport { MENU_ENTER_EVENT, useOnMenuMouseEnter } from '../../utils/index';\nimport { useIsSubmenu } from '../../utils/useIsSubmenu';\nimport type { MenuOpenChangeData, MenuOpenEvent, MenuProps, MenuState } from './Menu.types';\n\n// If it's not possible to position the submenu in smaller viewports, try\n// and fallback to this order of positions\nconst submenuFallbackPositions: PositioningShorthandValue[] = [\n 'after',\n 'after-bottom',\n 'before-top',\n 'before',\n 'before-bottom',\n 'above',\n];\n\n/**\n * Create the state required to render Menu.\n *\n * The returned state can be modified with hooks such as useMenuStyles,\n * before being passed to renderMenu_unstable.\n *\n * @param props - props from this instance of Menu\n */\nexport const useMenu_unstable = (props: MenuProps): MenuState => {\n const isSubmenu = useIsSubmenu();\n const {\n hoverDelay = 500,\n inline = false,\n hasCheckmarks = false,\n hasIcons = false,\n closeOnScroll = false,\n openOnContext = false,\n persistOnItemClick = false,\n openOnHover = isSubmenu,\n defaultCheckedValues,\n mountNode = null,\n } = props;\n const triggerId = useId('menu');\n const [contextTarget, setContextTarget] = usePositioningMouseTarget();\n\n const positioningState = {\n position: isSubmenu ? 'after' : 'below',\n align: isSubmenu ? 'top' : 'start',\n target: props.openOnContext ? contextTarget : undefined,\n fallbackPositions: isSubmenu ? submenuFallbackPositions : undefined,\n ...resolvePositioningShorthand(props.positioning),\n } as const;\n\n const children = React.Children.toArray(props.children) as React.ReactElement[];\n\n if (process.env.NODE_ENV !== 'production') {\n if (children.length === 0) {\n // eslint-disable-next-line no-console\n console.warn('Menu must contain at least one child');\n }\n\n if (children.length > 2) {\n // eslint-disable-next-line no-console\n console.warn('Menu must contain at most two children');\n }\n }\n\n let menuTrigger: React.ReactElement | undefined = undefined;\n let menuPopover: React.ReactElement | undefined = undefined;\n if (children.length === 2) {\n menuTrigger = children[0];\n menuPopover = children[1];\n } else if (children.length === 1) {\n menuPopover = children[0];\n }\n\n const { targetRef: triggerRef, containerRef: menuPopoverRef } = usePositioning(positioningState);\n\n // TODO Better way to narrow types ?\n const [open, setOpen] = useMenuOpenState({\n hoverDelay,\n isSubmenu,\n setContextTarget,\n closeOnScroll,\n menuPopoverRef,\n triggerRef,\n open: props.open,\n defaultOpen: props.defaultOpen,\n onOpenChange: props.onOpenChange,\n openOnContext,\n });\n\n const [checkedValues, onCheckedValueChange] = useMenuSelectableState({\n checkedValues: props.checkedValues,\n defaultCheckedValues,\n onCheckedValueChange: props.onCheckedValueChange,\n });\n\n return {\n inline,\n hoverDelay,\n triggerId,\n isSubmenu,\n openOnHover,\n contextTarget,\n setContextTarget,\n hasCheckmarks,\n hasIcons,\n closeOnScroll,\n menuTrigger,\n menuPopover,\n mountNode,\n triggerRef,\n menuPopoverRef,\n components: {},\n openOnContext,\n open,\n setOpen,\n checkedValues,\n onCheckedValueChange,\n persistOnItemClick,\n };\n};\n\n/**\n * Adds appropriate state values and handlers for selectable items\n * i.e checkboxes and radios\n */\nconst useMenuSelectableState = (\n props: Pick<MenuProps, 'checkedValues' | 'defaultCheckedValues' | 'onCheckedValueChange'>,\n) => {\n const [checkedValues, setCheckedValues] = useControllableState({\n state: props.checkedValues,\n defaultState: props.defaultCheckedValues,\n initialState: {},\n });\n const onCheckedValueChange: MenuState['onCheckedValueChange'] = useEventCallback((e, { name, checkedItems }) => {\n props.onCheckedValueChange?.(e, { name, checkedItems });\n\n setCheckedValues(currentValue => ({\n ...currentValue,\n [name]: checkedItems,\n }));\n });\n\n return [checkedValues, onCheckedValueChange] as const;\n};\n\nconst useMenuOpenState = (\n state: Pick<\n MenuState,\n | 'isSubmenu'\n | 'menuPopoverRef'\n | 'setContextTarget'\n | 'triggerRef'\n | 'openOnContext'\n | 'closeOnScroll'\n | 'hoverDelay'\n > &\n Pick<MenuProps, 'open' | 'defaultOpen' | 'onOpenChange'>,\n) => {\n const { targetDocument } = useFluent();\n const parentSetOpen = useMenuContext_unstable(context => context.setOpen);\n const onOpenChange: MenuProps['onOpenChange'] = useEventCallback((e, data) => state.onOpenChange?.(e, data));\n\n const shouldHandleCloseRef = React.useRef(false);\n const setOpenTimeout = React.useRef(0);\n const enteringTriggerRef = React.useRef(false);\n\n const [open, setOpenState] = useControllableState({\n state: state.open,\n defaultState: state.defaultOpen,\n initialState: false,\n });\n\n const trySetOpen = useEventCallback((e: MenuOpenEvent, data: MenuOpenChangeData) => {\n const event = e instanceof CustomEvent && e.type === MENU_ENTER_EVENT ? e.detail.nativeEvent : e;\n onOpenChange?.(event, { ...data });\n if (data.open && e.type === 'contextmenu') {\n state.setContextTarget(e as React.MouseEvent);\n }\n\n if (!data.open) {\n state.setContextTarget(undefined);\n shouldHandleCloseRef.current = true;\n }\n\n if (data.bubble) {\n parentSetOpen(e, { ...data });\n }\n\n setOpenState(data.open);\n });\n\n const setOpen = useEventCallback((e: MenuOpenEvent, data: MenuOpenChangeData) => {\n clearTimeout(setOpenTimeout.current);\n if (!(e instanceof Event) && e.persist) {\n // < React 17 still uses pooled synthetic events\n e.persist();\n }\n\n if (e.type === 'mouseleave' || e.type === 'mouseenter' || e.type === 'mousemove' || e.type === MENU_ENTER_EVENT) {\n if (state.triggerRef.current?.contains(e.target as HTMLElement)) {\n enteringTriggerRef.current = e.type === 'mouseenter' || e.type === 'mousemove';\n }\n\n // FIXME leaking Node timeout type\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n setOpenTimeout.current = setTimeout(() => trySetOpen(e, data), state.hoverDelay);\n } else {\n trySetOpen(e, data);\n }\n });\n\n useOnClickOutside({\n contains: elementContains,\n disabled: !open,\n element: targetDocument,\n refs: [state.menuPopoverRef, !state.openOnContext && state.triggerRef].filter(\n Boolean,\n ) as React.MutableRefObject<HTMLElement>[],\n callback: event => setOpen(event, { open: false, type: 'clickOutside', event }),\n });\n\n // only close on scroll for context, or when closeOnScroll is specified\n const closeOnScroll = state.openOnContext || state.closeOnScroll;\n useOnScrollOutside({\n contains: elementContains,\n element: targetDocument,\n callback: event => setOpen(event, { open: false, type: 'scrollOutside', event }),\n refs: [state.menuPopoverRef, !state.openOnContext && state.triggerRef].filter(\n Boolean,\n ) as React.MutableRefObject<HTMLElement>[],\n disabled: !open || !closeOnScroll,\n });\n\n useOnMenuMouseEnter({\n element: targetDocument,\n callback: event => {\n // When moving from a menu directly back to its trigger, this handler can close the menu\n // Explicitly check a flag to see if this situation happens\n if (!enteringTriggerRef.current) {\n setOpen(event, { open: false, type: 'menuMouseEnter', event });\n }\n },\n disabled: !open,\n refs: [state.menuPopoverRef],\n });\n\n // Clear timeout on unmount\n // Setting state after a component unmounts can cause memory leaks\n React.useEffect(() => {\n return () => {\n clearTimeout(setOpenTimeout.current);\n };\n }, []);\n\n // Manage focus for open state\n const { findFirstFocusable } = useFocusFinders();\n const focusFirst = React.useCallback(() => {\n const firstFocusable = findFirstFocusable(state.menuPopoverRef.current);\n firstFocusable?.focus();\n }, [findFirstFocusable, state.menuPopoverRef]);\n\n React.useEffect(() => {\n if (open) {\n focusFirst();\n } else {\n if (shouldHandleCloseRef.current) {\n // We know that React effects are sync so we focus the trigger here\n // after any event handler (event handlers will update state and re-render).\n // Since the browser only performs the default behaviour for the Tab key once\n // keyboard events have fully bubbled up the window, the browser will move\n // focus to the next tabbable element before/after the trigger if needed.\n // If the Tab key was not pressed, focus will remain on the trigger as expected.\n state.triggerRef.current?.focus();\n }\n }\n\n shouldHandleCloseRef.current = false;\n }, [state.triggerRef, state.isSubmenu, open, focusFirst]);\n\n return [open, setOpen] as const;\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","usePositioningMouseTarget","usePositioning","resolvePositioningShorthand","useControllableState","useId","useOnClickOutside","useEventCallback","useOnScrollOutside","useFluent_unstable","useFluent","elementContains","useFocusFinders","useMenuContext_unstable","MENU_ENTER_EVENT","useOnMenuMouseEnter","useIsSubmenu","submenuFallbackPositions","useMenu_unstable","props","isSubmenu","hoverDelay","inline","hasCheckmarks","hasIcons","closeOnScroll","openOnContext","persistOnItemClick","openOnHover","defaultCheckedValues","mountNode","triggerId","contextTarget","setContextTarget","positioningState","position","align","target","undefined","fallbackPositions","positioning","children","Children","toArray","process","env","NODE_ENV","length","console","warn","menuTrigger","menuPopover","targetRef","triggerRef","containerRef","menuPopoverRef","open","setOpen","useMenuOpenState","defaultOpen","onOpenChange","checkedValues","onCheckedValueChange","useMenuSelectableState","components","setCheckedValues","state","defaultState","initialState","e","name","checkedItems","currentValue","targetDocument","parentSetOpen","context","data","shouldHandleCloseRef","useRef","setOpenTimeout","enteringTriggerRef","setOpenState","trySetOpen","event","CustomEvent","type","detail","nativeEvent","current","bubble","clearTimeout","Event","persist","contains","setTimeout","disabled","element","refs","filter","Boolean","callback","useEffect","findFirstFocusable","focusFirst","useCallback","firstFocusable","focus"],"sources":["../../../src/components/Menu/useMenu.tsx"],"sourcesContent":["import * as React from 'react';\nimport {\n usePositioningMouseTarget,\n usePositioning,\n resolvePositioningShorthand,\n PositioningShorthandValue,\n} from '@fluentui/react-positioning';\nimport {\n useControllableState,\n useId,\n useOnClickOutside,\n useEventCallback,\n useOnScrollOutside,\n} from '@fluentui/react-utilities';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\nimport { elementContains } from '@fluentui/react-portal';\nimport { useFocusFinders } from '@fluentui/react-tabster';\nimport { useMenuContext_unstable } from '../../contexts/menuContext';\nimport { MENU_ENTER_EVENT, useOnMenuMouseEnter } from '../../utils/index';\nimport { useIsSubmenu } from '../../utils/useIsSubmenu';\nimport type { MenuOpenChangeData, MenuOpenEvent, MenuProps, MenuState } from './Menu.types';\n\n// If it's not possible to position the submenu in smaller viewports, try\n// and fallback to this order of positions\nconst submenuFallbackPositions: PositioningShorthandValue[] = [\n 'after',\n 'after-bottom',\n 'before-top',\n 'before',\n 'before-bottom',\n 'above',\n];\n\n/**\n * Create the state required to render Menu.\n *\n * The returned state can be modified with hooks such as useMenuStyles,\n * before being passed to renderMenu_unstable.\n *\n * @param props - props from this instance of Menu\n */\nexport const useMenu_unstable = (props: MenuProps): MenuState => {\n const isSubmenu = useIsSubmenu();\n const {\n hoverDelay = 500,\n inline = false,\n hasCheckmarks = false,\n hasIcons = false,\n closeOnScroll = false,\n openOnContext = false,\n persistOnItemClick = false,\n openOnHover = isSubmenu,\n defaultCheckedValues,\n mountNode = null,\n } = props;\n const triggerId = useId('menu');\n const [contextTarget, setContextTarget] = usePositioningMouseTarget();\n\n const positioningState = {\n position: isSubmenu ? 'after' : 'below',\n align: isSubmenu ? 'top' : 'start',\n target: props.openOnContext ? contextTarget : undefined,\n fallbackPositions: isSubmenu ? submenuFallbackPositions : undefined,\n ...resolvePositioningShorthand(props.positioning),\n } as const;\n\n const children = React.Children.toArray(props.children) as React.ReactElement[];\n\n if (process.env.NODE_ENV !== 'production') {\n if (children.length === 0) {\n // eslint-disable-next-line no-console\n console.warn('Menu must contain at least one child');\n }\n\n if (children.length > 2) {\n // eslint-disable-next-line no-console\n console.warn('Menu must contain at most two children');\n }\n }\n\n let menuTrigger: React.ReactElement | undefined = undefined;\n let menuPopover: React.ReactElement | undefined = undefined;\n if (children.length === 2) {\n menuTrigger = children[0];\n menuPopover = children[1];\n } else if (children.length === 1) {\n menuPopover = children[0];\n }\n\n const { targetRef: triggerRef, containerRef: menuPopoverRef } = usePositioning(positioningState);\n\n // TODO Better way to narrow types ?\n const [open, setOpen] = useMenuOpenState({\n hoverDelay,\n isSubmenu,\n setContextTarget,\n closeOnScroll,\n menuPopoverRef,\n triggerRef,\n open: props.open,\n defaultOpen: props.defaultOpen,\n onOpenChange: props.onOpenChange,\n openOnContext,\n });\n\n const [checkedValues, onCheckedValueChange] = useMenuSelectableState({\n checkedValues: props.checkedValues,\n defaultCheckedValues,\n onCheckedValueChange: props.onCheckedValueChange,\n });\n\n return {\n inline,\n hoverDelay,\n triggerId,\n isSubmenu,\n openOnHover,\n contextTarget,\n setContextTarget,\n hasCheckmarks,\n hasIcons,\n closeOnScroll,\n menuTrigger,\n menuPopover,\n mountNode,\n triggerRef,\n menuPopoverRef,\n components: {},\n openOnContext,\n open,\n setOpen,\n checkedValues,\n onCheckedValueChange,\n persistOnItemClick,\n };\n};\n\n/**\n * Adds appropriate state values and handlers for selectable items\n * i.e checkboxes and radios\n */\nconst useMenuSelectableState = (\n props: Pick<MenuProps, 'checkedValues' | 'defaultCheckedValues' | 'onCheckedValueChange'>,\n) => {\n const [checkedValues, setCheckedValues] = useControllableState({\n state: props.checkedValues,\n defaultState: props.defaultCheckedValues,\n initialState: {},\n });\n const onCheckedValueChange: MenuState['onCheckedValueChange'] = useEventCallback((e, { name, checkedItems }) => {\n props.onCheckedValueChange?.(e, { name, checkedItems });\n\n setCheckedValues(currentValue => ({\n ...currentValue,\n [name]: checkedItems,\n }));\n });\n\n return [checkedValues, onCheckedValueChange] as const;\n};\n\nconst useMenuOpenState = (\n state: Pick<\n MenuState,\n | 'isSubmenu'\n | 'menuPopoverRef'\n | 'setContextTarget'\n | 'triggerRef'\n | 'openOnContext'\n | 'closeOnScroll'\n | 'hoverDelay'\n > &\n Pick<MenuProps, 'open' | 'defaultOpen' | 'onOpenChange'>,\n) => {\n const { targetDocument } = useFluent();\n const parentSetOpen = useMenuContext_unstable(context => context.setOpen);\n const onOpenChange: MenuProps['onOpenChange'] = useEventCallback((e, data) => state.onOpenChange?.(e, data));\n\n const shouldHandleCloseRef = React.useRef(false);\n const setOpenTimeout = React.useRef(0);\n const enteringTriggerRef = React.useRef(false);\n\n const [open, setOpenState] = useControllableState({\n state: state.open,\n defaultState: state.defaultOpen,\n initialState: false,\n });\n\n const trySetOpen = useEventCallback((e: MenuOpenEvent, data: MenuOpenChangeData) => {\n const event = e instanceof CustomEvent && e.type === MENU_ENTER_EVENT ? e.detail.nativeEvent : e;\n onOpenChange?.(event, { ...data });\n if (data.open && e.type === 'contextmenu') {\n state.setContextTarget(e as React.MouseEvent);\n }\n\n if (!data.open) {\n state.setContextTarget(undefined);\n shouldHandleCloseRef.current = true;\n }\n\n if (data.bubble) {\n parentSetOpen(e, { ...data });\n }\n\n setOpenState(data.open);\n });\n\n const setOpen = useEventCallback((e: MenuOpenEvent, data: MenuOpenChangeData) => {\n clearTimeout(setOpenTimeout.current);\n if (!(e instanceof Event) && e.persist) {\n // < React 17 still uses pooled synthetic events\n e.persist();\n }\n\n if (e.type === 'mouseleave' || e.type === 'mouseenter' || e.type === 'mousemove' || e.type === MENU_ENTER_EVENT) {\n if (state.triggerRef.current?.contains(e.target as HTMLElement)) {\n enteringTriggerRef.current = e.type === 'mouseenter' || e.type === 'mousemove';\n }\n\n // FIXME leaking Node timeout type\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n setOpenTimeout.current = setTimeout(() => trySetOpen(e, data), state.hoverDelay);\n } else {\n trySetOpen(e, data);\n }\n });\n\n useOnClickOutside({\n contains: elementContains,\n disabled: !open,\n element: targetDocument,\n refs: [state.menuPopoverRef, !state.openOnContext && state.triggerRef].filter(\n Boolean,\n ) as React.MutableRefObject<HTMLElement>[],\n callback: event => setOpen(event, { open: false, type: 'clickOutside', event }),\n });\n\n // only close on scroll for context, or when closeOnScroll is specified\n const closeOnScroll = state.openOnContext || state.closeOnScroll;\n useOnScrollOutside({\n contains: elementContains,\n element: targetDocument,\n callback: event => setOpen(event, { open: false, type: 'scrollOutside', event }),\n refs: [state.menuPopoverRef, !state.openOnContext && state.triggerRef].filter(\n Boolean,\n ) as React.MutableRefObject<HTMLElement>[],\n disabled: !open || !closeOnScroll,\n });\n\n useOnMenuMouseEnter({\n element: targetDocument,\n callback: event => {\n // When moving from a menu directly back to its trigger, this handler can close the menu\n // Explicitly check a flag to see if this situation happens\n if (!enteringTriggerRef.current) {\n setOpen(event, { open: false, type: 'menuMouseEnter', event });\n }\n },\n disabled: !open,\n refs: [state.menuPopoverRef],\n });\n\n // Clear timeout on unmount\n // Setting state after a component unmounts can cause memory leaks\n React.useEffect(() => {\n return () => {\n clearTimeout(setOpenTimeout.current);\n };\n }, []);\n\n // Manage focus for open state\n const { findFirstFocusable } = useFocusFinders();\n const focusFirst = React.useCallback(() => {\n const firstFocusable = findFirstFocusable(state.menuPopoverRef.current);\n firstFocusable?.focus();\n }, [findFirstFocusable, state.menuPopoverRef]);\n\n React.useEffect(() => {\n if (open) {\n focusFirst();\n } else {\n if (shouldHandleCloseRef.current) {\n // We know that React effects are sync so we focus the trigger here\n // after any event handler (event handlers will update state and re-render).\n // Since the browser only performs the default behaviour for the Tab key once\n // keyboard events have fully bubbled up the window, the browser will move\n // focus to the next tabbable element before/after the trigger if needed.\n // If the Tab key was not pressed, focus will remain on the trigger as expected.\n state.triggerRef.current?.focus();\n }\n }\n\n shouldHandleCloseRef.current = false;\n }, [state.triggerRef, state.isSubmenu, open, focusFirst]);\n\n return [open, setOpen] as const;\n};\n"],"mappings":"AAAA,YAAYA,KAAA,MAAW;AACvB,SACEC,yBAAyB,EACzBC,cAAc,EACdC,2BAA2B,QAEtB;AACP,SACEC,oBAAoB,EACpBC,KAAK,EACLC,iBAAiB,EACjBC,gBAAgB,EAChBC,kBAAkB,QACb;AACP,SAASC,kBAAA,IAAsBC,SAAS,QAAQ;AAChD,SAASC,eAAe,QAAQ;AAChC,SAASC,eAAe,QAAQ;AAChC,SAASC,uBAAuB,QAAQ;AACxC,SAASC,gBAAgB,EAAEC,mBAAmB,QAAQ;AACtD,SAASC,YAAY,QAAQ;AAG7B;AACA;AACA,MAAMC,wBAAA,GAAwD,CAC5D,SACA,gBACA,cACA,UACA,iBACA,QACD;AAED;;;;;;;;AAQA,OAAO,MAAMC,gBAAA,GAAoBC,KAAA,IAAgC;EAC/D,MAAMC,SAAA,GAAYJ,YAAA;EAClB,MAAM;IACJK,UAAA,GAAa;IACbC,MAAA,GAAS,KAAK;IACdC,aAAA,GAAgB,KAAK;IACrBC,QAAA,GAAW,KAAK;IAChBC,aAAA,GAAgB,KAAK;IACrBC,aAAA,GAAgB,KAAK;IACrBC,kBAAA,GAAqB,KAAK;IAC1BC,WAAA,GAAcR,SAAA;IACdS,oBAAA;IACAC,SAAA,GAAY;EAAI,CACjB,GAAGX,KAAA;EACJ,MAAMY,SAAA,GAAY1B,KAAA,CAAM;EACxB,MAAM,CAAC2B,aAAA,EAAeC,gBAAA,CAAiB,GAAGhC,yBAAA;EAE1C,MAAMiC,gBAAA,GAAmB;IACvBC,QAAA,EAAUf,SAAA,GAAY,UAAU,OAAO;IACvCgB,KAAA,EAAOhB,SAAA,GAAY,QAAQ,OAAO;IAClCiB,MAAA,EAAQlB,KAAA,CAAMO,aAAa,GAAGM,aAAA,GAAgBM,SAAS;IACvDC,iBAAA,EAAmBnB,SAAA,GAAYH,wBAAA,GAA2BqB,SAAS;IACnE,GAAGnC,2BAAA,CAA4BgB,KAAA,CAAMqB,WAAW;EAClD;EAEA,MAAMC,QAAA,GAAWzC,KAAA,CAAM0C,QAAQ,CAACC,OAAO,CAACxB,KAAA,CAAMsB,QAAQ;EAEtD,IAAIG,OAAA,CAAQC,GAAG,CAACC,QAAQ,KAAK,cAAc;IACzC,IAAIL,QAAA,CAASM,MAAM,KAAK,GAAG;MACzB;MACAC,OAAA,CAAQC,IAAI,CAAC;IACf;IAEA,IAAIR,QAAA,CAASM,MAAM,GAAG,GAAG;MACvB;MACAC,OAAA,CAAQC,IAAI,CAAC;IACf;EACF;EAEA,IAAIC,WAAA,GAA8CZ,SAAA;EAClD,IAAIa,WAAA,GAA8Cb,SAAA;EAClD,IAAIG,QAAA,CAASM,MAAM,KAAK,GAAG;IACzBG,WAAA,GAAcT,QAAQ,CAAC,EAAE;IACzBU,WAAA,GAAcV,QAAQ,CAAC,EAAE;EAC3B,OAAO,IAAIA,QAAA,CAASM,MAAM,KAAK,GAAG;IAChCI,WAAA,GAAcV,QAAQ,CAAC,EAAE;EAC3B;EAEA,MAAM;IAAEW,SAAA,EAAWC,UAAA;IAAYC,YAAA,EAAcC;EAAc,CAAE,GAAGrD,cAAA,CAAegC,gBAAA;EAE/E;EACA,MAAM,CAACsB,IAAA,EAAMC,OAAA,CAAQ,GAAGC,gBAAA,CAAiB;IACvCrC,UAAA;IACAD,SAAA;IACAa,gBAAA;IACAR,aAAA;IACA8B,cAAA;IACAF,UAAA;IACAG,IAAA,EAAMrC,KAAA,CAAMqC,IAAI;IAChBG,WAAA,EAAaxC,KAAA,CAAMwC,WAAW;IAC9BC,YAAA,EAAczC,KAAA,CAAMyC,YAAY;IAChClC;EACF;EAEA,MAAM,CAACmC,aAAA,EAAeC,oBAAA,CAAqB,GAAGC,sBAAA,CAAuB;IACnEF,aAAA,EAAe1C,KAAA,CAAM0C,aAAa;IAClChC,oBAAA;IACAiC,oBAAA,EAAsB3C,KAAA,CAAM2C;EAC9B;EAEA,OAAO;IACLxC,MAAA;IACAD,UAAA;IACAU,SAAA;IACAX,SAAA;IACAQ,WAAA;IACAI,aAAA;IACAC,gBAAA;IACAV,aAAA;IACAC,QAAA;IACAC,aAAA;IACAyB,WAAA;IACAC,WAAA;IACArB,SAAA;IACAuB,UAAA;IACAE,cAAA;IACAS,UAAA,EAAY,CAAC;IACbtC,aAAA;IACA8B,IAAA;IACAC,OAAA;IACAI,aAAA;IACAC,oBAAA;IACAnC;EACF;AACF;AAEA;;;;AAIA,MAAMoC,sBAAA,GACJ5C,KAAA,IACG;EACH,MAAM,CAAC0C,aAAA,EAAeI,gBAAA,CAAiB,GAAG7D,oBAAA,CAAqB;IAC7D8D,KAAA,EAAO/C,KAAA,CAAM0C,aAAa;IAC1BM,YAAA,EAAchD,KAAA,CAAMU,oBAAoB;IACxCuC,YAAA,EAAc,CAAC;EACjB;EACA,MAAMN,oBAAA,GAA0DvD,gBAAA,CAAiB,CAAC8D,CAAA,EAAG;IAAEC,IAAA;IAAMC;EAAY,CAAE,KAAK;IAC9GpD,KAAA,CAAM2C,oBAAoB,GAAGO,CAAA,EAAG;MAAEC,IAAA;MAAMC;IAAa;IAErDN,gBAAA,CAAiBO,YAAA,KAAiB;MAChC,GAAGA,YAAY;MACf,CAACF,IAAA,GAAOC;IACV;EACF;EAEA,OAAO,CAACV,aAAA,EAAeC,oBAAA,CAAqB;AAC9C;AAEA,MAAMJ,gBAAA,GACJQ,KAAA,IAWG;EACH,MAAM;IAAEO;EAAc,CAAE,GAAG/D,SAAA;EAC3B,MAAMgE,aAAA,GAAgB7D,uBAAA,CAAwB8D,OAAA,IAAWA,OAAA,CAAQlB,OAAO;EACxE,MAAMG,YAAA,GAA0CrD,gBAAA,CAAiB,CAAC8D,CAAA,EAAGO,IAAA,KAASV,KAAA,CAAMN,YAAY,GAAGS,CAAA,EAAGO,IAAA;EAEtG,MAAMC,oBAAA,GAAuB7E,KAAA,CAAM8E,MAAM,CAAC,KAAK;EAC/C,MAAMC,cAAA,GAAiB/E,KAAA,CAAM8E,MAAM,CAAC;EACpC,MAAME,kBAAA,GAAqBhF,KAAA,CAAM8E,MAAM,CAAC,KAAK;EAE7C,MAAM,CAACtB,IAAA,EAAMyB,YAAA,CAAa,GAAG7E,oBAAA,CAAqB;IAChD8D,KAAA,EAAOA,KAAA,CAAMV,IAAI;IACjBW,YAAA,EAAcD,KAAA,CAAMP,WAAW;IAC/BS,YAAA,EAAc;EAChB;EAEA,MAAMc,UAAA,GAAa3E,gBAAA,CAAiB,CAAC8D,CAAA,EAAkBO,IAAA,KAA6B;IAClF,MAAMO,KAAA,GAAQd,CAAA,YAAae,WAAA,IAAef,CAAA,CAAEgB,IAAI,KAAKvE,gBAAA,GAAmBuD,CAAA,CAAEiB,MAAM,CAACC,WAAW,GAAGlB,CAAC;IAChGT,YAAA,GAAeuB,KAAA,EAAO;MAAE,GAAGP;IAAK;IAChC,IAAIA,IAAA,CAAKpB,IAAI,IAAIa,CAAA,CAAEgB,IAAI,KAAK,eAAe;MACzCnB,KAAA,CAAMjC,gBAAgB,CAACoC,CAAA;IACzB;IAEA,IAAI,CAACO,IAAA,CAAKpB,IAAI,EAAE;MACdU,KAAA,CAAMjC,gBAAgB,CAACK,SAAA;MACvBuC,oBAAA,CAAqBW,OAAO,GAAG,IAAI;IACrC;IAEA,IAAIZ,IAAA,CAAKa,MAAM,EAAE;MACff,aAAA,CAAcL,CAAA,EAAG;QAAE,GAAGO;MAAK;IAC7B;IAEAK,YAAA,CAAaL,IAAA,CAAKpB,IAAI;EACxB;EAEA,MAAMC,OAAA,GAAUlD,gBAAA,CAAiB,CAAC8D,CAAA,EAAkBO,IAAA,KAA6B;IAC/Ec,YAAA,CAAaX,cAAA,CAAeS,OAAO;IACnC,IAAI,EAAEnB,CAAA,YAAasB,KAAI,KAAMtB,CAAA,CAAEuB,OAAO,EAAE;MACtC;MACAvB,CAAA,CAAEuB,OAAO;IACX;IAEA,IAAIvB,CAAA,CAAEgB,IAAI,KAAK,gBAAgBhB,CAAA,CAAEgB,IAAI,KAAK,gBAAgBhB,CAAA,CAAEgB,IAAI,KAAK,eAAehB,CAAA,CAAEgB,IAAI,KAAKvE,gBAAA,EAAkB;MAC/G,IAAIoD,KAAA,CAAMb,UAAU,CAACmC,OAAO,EAAEK,QAAA,CAASxB,CAAA,CAAEhC,MAAM,GAAkB;QAC/D2C,kBAAA,CAAmBQ,OAAO,GAAGnB,CAAA,CAAEgB,IAAI,KAAK,gBAAgBhB,CAAA,CAAEgB,IAAI,KAAK;MACrE;MAEA;MACA;MACA;MACAN,cAAA,CAAeS,OAAO,GAAGM,UAAA,CAAW,MAAMZ,UAAA,CAAWb,CAAA,EAAGO,IAAA,GAAOV,KAAA,CAAM7C,UAAU;IACjF,OAAO;MACL6D,UAAA,CAAWb,CAAA,EAAGO,IAAA;IAChB;EACF;EAEAtE,iBAAA,CAAkB;IAChBuF,QAAA,EAAUlF,eAAA;IACVoF,QAAA,EAAU,CAACvC,IAAA;IACXwC,OAAA,EAASvB,cAAA;IACTwB,IAAA,EAAM,CAAC/B,KAAA,CAAMX,cAAc,EAAE,CAACW,KAAA,CAAMxC,aAAa,IAAIwC,KAAA,CAAMb,UAAU,CAAC,CAAC6C,MAAM,CAC3EC,OAAA;IAEFC,QAAA,EAAUjB,KAAA,IAAS1B,OAAA,CAAQ0B,KAAA,EAAO;MAAE3B,IAAA,EAAM,KAAK;MAAE6B,IAAA,EAAM;MAAgBF;IAAM;EAC/E;EAEA;EACA,MAAM1D,aAAA,GAAgByC,KAAA,CAAMxC,aAAa,IAAIwC,KAAA,CAAMzC,aAAa;EAChEjB,kBAAA,CAAmB;IACjBqF,QAAA,EAAUlF,eAAA;IACVqF,OAAA,EAASvB,cAAA;IACT2B,QAAA,EAAUjB,KAAA,IAAS1B,OAAA,CAAQ0B,KAAA,EAAO;MAAE3B,IAAA,EAAM,KAAK;MAAE6B,IAAA,EAAM;MAAiBF;IAAM;IAC9Ec,IAAA,EAAM,CAAC/B,KAAA,CAAMX,cAAc,EAAE,CAACW,KAAA,CAAMxC,aAAa,IAAIwC,KAAA,CAAMb,UAAU,CAAC,CAAC6C,MAAM,CAC3EC,OAAA;IAEFJ,QAAA,EAAU,CAACvC,IAAA,IAAQ,CAAC/B;EACtB;EAEAV,mBAAA,CAAoB;IAClBiF,OAAA,EAASvB,cAAA;IACT2B,QAAA,EAAUjB,KAAA,IAAS;MACjB;MACA;MACA,IAAI,CAACH,kBAAA,CAAmBQ,OAAO,EAAE;QAC/B/B,OAAA,CAAQ0B,KAAA,EAAO;UAAE3B,IAAA,EAAM,KAAK;UAAE6B,IAAA,EAAM;UAAkBF;QAAM;MAC9D;IACF;IACAY,QAAA,EAAU,CAACvC,IAAA;IACXyC,IAAA,EAAM,CAAC/B,KAAA,CAAMX,cAAc;EAC7B;EAEA;EACA;EACAvD,KAAA,CAAMqG,SAAS,CAAC,MAAM;IACpB,OAAO,MAAM;MACXX,YAAA,CAAaX,cAAA,CAAeS,OAAO;IACrC;EACF,GAAG,EAAE;EAEL;EACA,MAAM;IAAEc;EAAkB,CAAE,GAAG1F,eAAA;EAC/B,MAAM2F,UAAA,GAAavG,KAAA,CAAMwG,WAAW,CAAC,MAAM;IACzC,MAAMC,cAAA,GAAiBH,kBAAA,CAAmBpC,KAAA,CAAMX,cAAc,CAACiC,OAAO;IACtEiB,cAAA,EAAgBC,KAAA;EAClB,GAAG,CAACJ,kBAAA,EAAoBpC,KAAA,CAAMX,cAAc,CAAC;EAE7CvD,KAAA,CAAMqG,SAAS,CAAC,MAAM;IACpB,IAAI7C,IAAA,EAAM;MACR+C,UAAA;IACF,OAAO;MACL,IAAI1B,oBAAA,CAAqBW,OAAO,EAAE;QAChC;QACA;QACA;QACA;QACA;QACA;QACAtB,KAAA,CAAMb,UAAU,CAACmC,OAAO,EAAEkB,KAAA;MAC5B;IACF;IAEA7B,oBAAA,CAAqBW,OAAO,GAAG,KAAK;EACtC,GAAG,CAACtB,KAAA,CAAMb,UAAU,EAAEa,KAAA,CAAM9C,SAAS,EAAEoC,IAAA,EAAM+C,UAAA,CAAW;EAExD,OAAO,CAAC/C,IAAA,EAAMC,OAAA,CAAQ;AACxB"}
@@ -1 +1 @@
1
- {"version":3,"names":["useMenuContextValues_unstable","state","checkedValues","hasCheckmarks","hasIcons","inline","isSubmenu","menuPopoverRef","mountNode","onCheckedValueChange","open","openOnContext","openOnHover","persistOnItemClick","setOpen","triggerId","triggerRef","menu"],"sources":["../../../../../../../../../packages/react-components/react-menu/src/components/Menu/useMenuContextValues.ts"],"sourcesContent":["import type { MenuContextValues, MenuState } from './Menu.types';\n\nexport function useMenuContextValues_unstable(state: MenuState): MenuContextValues {\n const {\n checkedValues,\n hasCheckmarks,\n hasIcons,\n inline,\n isSubmenu,\n menuPopoverRef,\n mountNode,\n onCheckedValueChange,\n open,\n openOnContext,\n openOnHover,\n persistOnItemClick,\n setOpen,\n triggerId,\n triggerRef,\n } = state;\n\n // This context is created with \"@fluentui/react-context-selector\", these is no sense to memoize it\n const menu = {\n checkedValues,\n hasCheckmarks,\n hasIcons,\n inline,\n isSubmenu,\n menuPopoverRef,\n mountNode,\n onCheckedValueChange,\n open,\n openOnContext,\n openOnHover,\n persistOnItemClick,\n setOpen,\n triggerId,\n triggerRef,\n };\n\n return { menu };\n}\n"],"mappings":"AAEA,OAAM,SAAUA,6BAA6BA,CAACC,KAAgB;EAC5D,MAAM;IACJC,aAAa;IACbC,aAAa;IACbC,QAAQ;IACRC,MAAM;IACNC,SAAS;IACTC,cAAc;IACdC,SAAS;IACTC,oBAAoB;IACpBC,IAAI;IACJC,aAAa;IACbC,WAAW;IACXC,kBAAkB;IAClBC,OAAO;IACPC,SAAS;IACTC;EAAU,CACX,GAAGf,KAAK;EAET;EACA,MAAMgB,IAAI,GAAG;IACXf,aAAa;IACbC,aAAa;IACbC,QAAQ;IACRC,MAAM;IACNC,SAAS;IACTC,cAAc;IACdC,SAAS;IACTC,oBAAoB;IACpBC,IAAI;IACJC,aAAa;IACbC,WAAW;IACXC,kBAAkB;IAClBC,OAAO;IACPC,SAAS;IACTC;GACD;EAED,OAAO;IAAEC;EAAI,CAAE;AACjB"}
1
+ {"version":3,"names":["useMenuContextValues_unstable","state","checkedValues","hasCheckmarks","hasIcons","inline","isSubmenu","menuPopoverRef","mountNode","onCheckedValueChange","open","openOnContext","openOnHover","persistOnItemClick","setOpen","triggerId","triggerRef","menu"],"sources":["../../../src/components/Menu/useMenuContextValues.ts"],"sourcesContent":["import type { MenuContextValues, MenuState } from './Menu.types';\n\nexport function useMenuContextValues_unstable(state: MenuState): MenuContextValues {\n const {\n checkedValues,\n hasCheckmarks,\n hasIcons,\n inline,\n isSubmenu,\n menuPopoverRef,\n mountNode,\n onCheckedValueChange,\n open,\n openOnContext,\n openOnHover,\n persistOnItemClick,\n setOpen,\n triggerId,\n triggerRef,\n } = state;\n\n // This context is created with \"@fluentui/react-context-selector\", these is no sense to memoize it\n const menu = {\n checkedValues,\n hasCheckmarks,\n hasIcons,\n inline,\n isSubmenu,\n menuPopoverRef,\n mountNode,\n onCheckedValueChange,\n open,\n openOnContext,\n openOnHover,\n persistOnItemClick,\n setOpen,\n triggerId,\n triggerRef,\n };\n\n return { menu };\n}\n"],"mappings":"AAEA,OAAO,SAASA,8BAA8BC,KAAgB,EAAqB;EACjF,MAAM;IACJC,aAAA;IACAC,aAAA;IACAC,QAAA;IACAC,MAAA;IACAC,SAAA;IACAC,cAAA;IACAC,SAAA;IACAC,oBAAA;IACAC,IAAA;IACAC,aAAA;IACAC,WAAA;IACAC,kBAAA;IACAC,OAAA;IACAC,SAAA;IACAC;EAAU,CACX,GAAGf,KAAA;EAEJ;EACA,MAAMgB,IAAA,GAAO;IACXf,aAAA;IACAC,aAAA;IACAC,QAAA;IACAC,MAAA;IACAC,SAAA;IACAC,cAAA;IACAC,SAAA;IACAC,oBAAA;IACAC,IAAA;IACAC,aAAA;IACAC,WAAA;IACAC,kBAAA;IACAC,OAAA;IACAC,SAAA;IACAC;EACF;EAEA,OAAO;IAAEC;EAAK;AAChB"}
@@ -1,8 +1,8 @@
1
- import * as React from 'react';
2
- import { useMenuDivider_unstable } from './useMenuDivider';
3
- import { useMenuDividerStyles_unstable } from './useMenuDividerStyles';
4
- import { renderMenuDivider_unstable } from './renderMenuDivider';
5
- import { useCustomStyleHooks_unstable } from '@fluentui/react-shared-contexts';
1
+ import * as React from "react";
2
+ import { useMenuDivider_unstable } from "./useMenuDivider";
3
+ import { useMenuDividerStyles_unstable } from "./useMenuDividerStyles";
4
+ import { renderMenuDivider_unstable } from "./renderMenuDivider";
5
+ import { useCustomStyleHooks_unstable } from "@fluentui/react-shared-contexts";
6
6
  /**
7
7
  * Define a styled MenuDivider, using the `useMenuDivider_unstable` hook.
8
8
  */
@@ -15,5 +15,5 @@ export const MenuDivider = /*#__PURE__*/React.forwardRef((props, ref) => {
15
15
  useCustomStyles(state);
16
16
  return renderMenuDivider_unstable(state);
17
17
  });
18
- MenuDivider.displayName = 'MenuDivider';
18
+ MenuDivider.displayName = "MenuDivider";
19
19
  //# sourceMappingURL=MenuDivider.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","useMenuDivider_unstable","useMenuDividerStyles_unstable","renderMenuDivider_unstable","useCustomStyleHooks_unstable","MenuDivider","forwardRef","props","ref","state","useCustomStyles","displayName"],"sources":["../../../../../../../../../packages/react-components/react-menu/src/components/MenuDivider/MenuDivider.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useMenuDivider_unstable } from './useMenuDivider';\nimport { useMenuDividerStyles_unstable } from './useMenuDividerStyles';\nimport { renderMenuDivider_unstable } from './renderMenuDivider';\nimport type { MenuDividerProps } from './MenuDivider.types';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\nimport { useCustomStyleHooks_unstable } from '@fluentui/react-shared-contexts';\n\n/**\n * Define a styled MenuDivider, using the `useMenuDivider_unstable` hook.\n */\nexport const MenuDivider: ForwardRefComponent<MenuDividerProps> = React.forwardRef((props, ref) => {\n const state = useMenuDivider_unstable(props, ref);\n\n useMenuDividerStyles_unstable(state);\n\n const { useMenuDividerStyles_unstable: useCustomStyles } = useCustomStyleHooks_unstable();\n useCustomStyles(state);\n\n return renderMenuDivider_unstable(state);\n});\n\nMenuDivider.displayName = 'MenuDivider';\n"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,uBAAuB,QAAQ,kBAAkB;AAC1D,SAASC,6BAA6B,QAAQ,wBAAwB;AACtE,SAASC,0BAA0B,QAAQ,qBAAqB;AAGhE,SAASC,4BAA4B,QAAQ,iCAAiC;AAE9E;;;AAGA,OAAO,MAAMC,WAAW,gBAA0CL,KAAK,CAACM,UAAU,CAAC,CAACC,KAAK,EAAEC,GAAG,KAAI;EAChG,MAAMC,KAAK,GAAGR,uBAAuB,CAACM,KAAK,EAAEC,GAAG,CAAC;EAEjDN,6BAA6B,CAACO,KAAK,CAAC;EAEpC,MAAM;IAAEP,6BAA6B,EAAEQ;EAAe,CAAE,GAAGN,4BAA4B,EAAE;EACzFM,eAAe,CAACD,KAAK,CAAC;EAEtB,OAAON,0BAA0B,CAACM,KAAK,CAAC;AAC1C,CAAC,CAAC;AAEFJ,WAAW,CAACM,WAAW,GAAG,aAAa"}
1
+ {"version":3,"names":["React","useMenuDivider_unstable","useMenuDividerStyles_unstable","renderMenuDivider_unstable","useCustomStyleHooks_unstable","MenuDivider","forwardRef","props","ref","state","useCustomStyles","displayName"],"sources":["../../../src/components/MenuDivider/MenuDivider.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useMenuDivider_unstable } from './useMenuDivider';\nimport { useMenuDividerStyles_unstable } from './useMenuDividerStyles';\nimport { renderMenuDivider_unstable } from './renderMenuDivider';\nimport type { MenuDividerProps } from './MenuDivider.types';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\nimport { useCustomStyleHooks_unstable } from '@fluentui/react-shared-contexts';\n\n/**\n * Define a styled MenuDivider, using the `useMenuDivider_unstable` hook.\n */\nexport const MenuDivider: ForwardRefComponent<MenuDividerProps> = React.forwardRef((props, ref) => {\n const state = useMenuDivider_unstable(props, ref);\n\n useMenuDividerStyles_unstable(state);\n\n const { useMenuDividerStyles_unstable: useCustomStyles } = useCustomStyleHooks_unstable();\n useCustomStyles(state);\n\n return renderMenuDivider_unstable(state);\n});\n\nMenuDivider.displayName = 'MenuDivider';\n"],"mappings":"AAAA,YAAYA,KAAA,MAAW;AACvB,SAASC,uBAAuB,QAAQ;AACxC,SAASC,6BAA6B,QAAQ;AAC9C,SAASC,0BAA0B,QAAQ;AAG3C,SAASC,4BAA4B,QAAQ;AAE7C;;;AAGA,OAAO,MAAMC,WAAA,gBAAqDL,KAAA,CAAMM,UAAU,CAAC,CAACC,KAAA,EAAOC,GAAA,KAAQ;EACjG,MAAMC,KAAA,GAAQR,uBAAA,CAAwBM,KAAA,EAAOC,GAAA;EAE7CN,6BAAA,CAA8BO,KAAA;EAE9B,MAAM;IAAEP,6BAAA,EAA+BQ;EAAe,CAAE,GAAGN,4BAAA;EAC3DM,eAAA,CAAgBD,KAAA;EAEhB,OAAON,0BAAA,CAA2BM,KAAA;AACpC;AAEAJ,WAAA,CAAYM,WAAW,GAAG"}
@@ -1 +1 @@
1
- {"version":3,"file":"MenuDivider.types.js","sourceRoot":"","sources":["../../../../../../../../../packages/react-components/react-menu/src/components/MenuDivider/MenuDivider.types.ts"],"names":[],"mappings":"","sourcesContent":["import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\n\nexport type MenuDividerSlots = {\n root: Slot<'div'>;\n};\n\nexport type MenuDividerProps = ComponentProps<MenuDividerSlots>;\n\nexport type MenuDividerState = ComponentState<MenuDividerSlots>;\n"]}
1
+ {"version":3,"names":[],"sources":["../../../src/components/MenuDivider/MenuDivider.types.ts"],"sourcesContent":["import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\n\nexport type MenuDividerSlots = {\n root: Slot<'div'>;\n};\n\nexport type MenuDividerProps = ComponentProps<MenuDividerSlots>;\n\nexport type MenuDividerState = ComponentState<MenuDividerSlots>;\n"],"mappings":"AAAA"}
@@ -1,6 +1,6 @@
1
- export * from './MenuDivider.types';
2
- export * from './MenuDivider';
3
- export * from './renderMenuDivider';
4
- export * from './useMenuDivider';
5
- export * from './useMenuDividerStyles';
1
+ export * from "./MenuDivider.types";
2
+ export * from "./MenuDivider";
3
+ export * from "./renderMenuDivider";
4
+ export * from "./useMenuDivider";
5
+ export * from "./useMenuDividerStyles";
6
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../../packages/react-components/react-menu/src/components/MenuDivider/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC","sourcesContent":["export * from './MenuDivider.types';\nexport * from './MenuDivider';\nexport * from './renderMenuDivider';\nexport * from './useMenuDivider';\nexport * from './useMenuDividerStyles';\n"]}
1
+ {"version":3,"names":[],"sources":["../../../src/components/MenuDivider/index.ts"],"sourcesContent":["export * from './MenuDivider.types';\nexport * from './MenuDivider';\nexport * from './renderMenuDivider';\nexport * from './useMenuDivider';\nexport * from './useMenuDividerStyles';\n"],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc"}
@@ -1,5 +1,5 @@
1
- import * as React from 'react';
2
- import { getSlots } from '@fluentui/react-utilities';
1
+ import * as React from "react";
2
+ import { getSlots } from "@fluentui/react-utilities";
3
3
  /**
4
4
  * Redefine the render function to add slots. Reuse the menudivider structure but add
5
5
  * slots to children.
@@ -9,8 +9,6 @@ export const renderMenuDivider_unstable = state => {
9
9
  slots,
10
10
  slotProps
11
11
  } = getSlots(state);
12
- return /*#__PURE__*/React.createElement(slots.root, {
13
- ...slotProps.root
14
- });
12
+ return /*#__PURE__*/React.createElement(slots.root, slotProps.root);
15
13
  };
16
14
  //# sourceMappingURL=renderMenuDivider.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","getSlots","renderMenuDivider_unstable","state","slots","slotProps","createElement","root"],"sources":["../../../../../../../../../packages/react-components/react-menu/src/components/MenuDivider/renderMenuDivider.tsx"],"sourcesContent":["import * as React from 'react';\nimport { getSlots } from '@fluentui/react-utilities';\nimport { MenuDividerSlots, MenuDividerState } from './MenuDivider.types';\n\n/**\n * Redefine the render function to add slots. Reuse the menudivider structure but add\n * slots to children.\n */\nexport const renderMenuDivider_unstable = (state: MenuDividerState) => {\n const { slots, slotProps } = getSlots<MenuDividerSlots>(state);\n\n return <slots.root {...slotProps.root} />;\n};\n"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,QAAQ,QAAQ,2BAA2B;AAGpD;;;;AAIA,OAAO,MAAMC,0BAA0B,GAAIC,KAAuB,IAAI;EACpE,MAAM;IAAEC,KAAK;IAAEC;EAAS,CAAE,GAAGJ,QAAQ,CAAmBE,KAAK,CAAC;EAE9D,oBAAOH,KAAA,CAAAM,aAAA,CAACF,KAAK,CAACG,IAAI;IAAA,GAAKF,SAAS,CAACE;EAAI,EAAI;AAC3C,CAAC"}
1
+ {"version":3,"names":["React","getSlots","renderMenuDivider_unstable","state","slots","slotProps","createElement","root"],"sources":["../../../src/components/MenuDivider/renderMenuDivider.tsx"],"sourcesContent":["import * as React from 'react';\nimport { getSlots } from '@fluentui/react-utilities';\nimport { MenuDividerSlots, MenuDividerState } from './MenuDivider.types';\n\n/**\n * Redefine the render function to add slots. Reuse the menudivider structure but add\n * slots to children.\n */\nexport const renderMenuDivider_unstable = (state: MenuDividerState) => {\n const { slots, slotProps } = getSlots<MenuDividerSlots>(state);\n\n return <slots.root {...slotProps.root} />;\n};\n"],"mappings":"AAAA,YAAYA,KAAA,MAAW;AACvB,SAASC,QAAQ,QAAQ;AAGzB;;;;AAIA,OAAO,MAAMC,0BAAA,GAA8BC,KAAA,IAA4B;EACrE,MAAM;IAAEC,KAAA;IAAOC;EAAS,CAAE,GAAGJ,QAAA,CAA2BE,KAAA;EAExD,oBAAOH,KAAA,CAAAM,aAAA,CAACF,KAAA,CAAMG,IAAI,EAAKF,SAAA,CAAUE,IAAI;AACvC"}
@@ -1,15 +1,16 @@
1
- import { getNativeElementProps } from '@fluentui/react-utilities';
1
+ import { getNativeElementProps } from "@fluentui/react-utilities";
2
+ import * as React from "react";
2
3
  /**
3
4
  * Given user props, returns state and render function for a MenuDivider.
4
5
  */
5
6
  export const useMenuDivider_unstable = (props, ref) => {
6
7
  return {
7
8
  components: {
8
- root: 'div'
9
+ root: "div"
9
10
  },
10
- root: getNativeElementProps('div', {
11
- role: 'presentation',
12
- 'aria-hidden': true,
11
+ root: getNativeElementProps("div", {
12
+ role: "presentation",
13
+ "aria-hidden": true,
13
14
  ...props,
14
15
  ref
15
16
  })
@@ -1 +1 @@
1
- {"version":3,"names":["getNativeElementProps","useMenuDivider_unstable","props","ref","components","root","role"],"sources":["../../../../../../../../../packages/react-components/react-menu/src/components/MenuDivider/useMenuDivider.ts"],"sourcesContent":["import { getNativeElementProps } from '@fluentui/react-utilities';\nimport * as React from 'react';\nimport type { MenuDividerProps, MenuDividerState } from './MenuDivider.types';\n\n/**\n * Given user props, returns state and render function for a MenuDivider.\n */\nexport const useMenuDivider_unstable = (props: MenuDividerProps, ref: React.Ref<HTMLElement>): MenuDividerState => {\n return {\n components: {\n root: 'div',\n },\n root: getNativeElementProps('div', {\n role: 'presentation',\n 'aria-hidden': true,\n ...props,\n ref,\n }),\n };\n};\n"],"mappings":"AAAA,SAASA,qBAAqB,QAAQ,2BAA2B;AAIjE;;;AAGA,OAAO,MAAMC,uBAAuB,GAAGA,CAACC,KAAuB,EAAEC,GAA2B,KAAsB;EAChH,OAAO;IACLC,UAAU,EAAE;MACVC,IAAI,EAAE;KACP;IACDA,IAAI,EAAEL,qBAAqB,CAAC,KAAK,EAAE;MACjCM,IAAI,EAAE,cAAc;MACpB,aAAa,EAAE,IAAI;MACnB,GAAGJ,KAAK;MACRC;KACD;GACF;AACH,CAAC"}
1
+ {"version":3,"names":["getNativeElementProps","React","useMenuDivider_unstable","props","ref","components","root","role"],"sources":["../../../src/components/MenuDivider/useMenuDivider.ts"],"sourcesContent":["import { getNativeElementProps } from '@fluentui/react-utilities';\nimport * as React from 'react';\nimport type { MenuDividerProps, MenuDividerState } from './MenuDivider.types';\n\n/**\n * Given user props, returns state and render function for a MenuDivider.\n */\nexport const useMenuDivider_unstable = (props: MenuDividerProps, ref: React.Ref<HTMLElement>): MenuDividerState => {\n return {\n components: {\n root: 'div',\n },\n root: getNativeElementProps('div', {\n role: 'presentation',\n 'aria-hidden': true,\n ...props,\n ref,\n }),\n };\n};\n"],"mappings":"AAAA,SAASA,qBAAqB,QAAQ;AACtC,YAAYC,KAAA,MAAW;AAGvB;;;AAGA,OAAO,MAAMC,uBAAA,GAA0BA,CAACC,KAAA,EAAyBC,GAAA,KAAkD;EACjH,OAAO;IACLC,UAAA,EAAY;MACVC,IAAA,EAAM;IACR;IACAA,IAAA,EAAMN,qBAAA,CAAsB,OAAO;MACjCO,IAAA,EAAM;MACN,eAAe,IAAI;MACnB,GAAGJ,KAAK;MACRC;IACF;EACF;AACF"}
@@ -1,7 +1,7 @@
1
- import { shorthands, mergeClasses, __styles } from '@griffel/react';
2
- import { tokens } from '@fluentui/react-theme';
1
+ import { shorthands, mergeClasses, __styles } from "@griffel/react";
2
+ import { tokens } from "@fluentui/react-theme";
3
3
  export const menuDividerClassNames = {
4
- root: 'fui-MenuDivider'
4
+ root: "fui-MenuDivider"
5
5
  };
6
6
  const useStyles = /*#__PURE__*/__styles({
7
7
  root: {
@@ -1 +1 @@
1
- {"version":3,"names":["shorthands","mergeClasses","__styles","tokens","menuDividerClassNames","root","useStyles","B6of3ja","t21cq0","jrapky","Frg6f3","a9b677","Bn0qgzm","oivjwe","B9xav0g","d","useMenuDividerStyles_unstable","state","styles","className"],"sources":["../../../../../../../../../packages/react-components/react-menu/src/components/MenuDivider/useMenuDividerStyles.ts"],"sourcesContent":["import { shorthands, mergeClasses, makeStyles } from '@griffel/react';\nimport { tokens } from '@fluentui/react-theme';\nimport type { MenuDividerSlots, MenuDividerState } from './MenuDivider.types';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\n\nexport const menuDividerClassNames: SlotClassNames<MenuDividerSlots> = {\n root: 'fui-MenuDivider',\n};\n\nconst useStyles = makeStyles({\n root: {\n ...shorthands.margin('4px', '-5px', '4px', '-5px'),\n width: 'auto',\n ...shorthands.borderBottom(tokens.strokeWidthThin, 'solid', tokens.colorNeutralStroke2),\n },\n});\n\nexport const useMenuDividerStyles_unstable = (state: MenuDividerState) => {\n const styles = useStyles();\n state.root.className = mergeClasses(menuDividerClassNames.root, styles.root, state.root.className);\n\n return state;\n};\n"],"mappings":"AAAA,SAASA,UAAU,EAAEC,YAAY,EAAAC,QAAA,QAAoB,gBAAgB;AACrE,SAASC,MAAM,QAAQ,uBAAuB;AAI9C,OAAO,MAAMC,qBAAqB,GAAqC;EACrEC,IAAI,EAAE;CACP;AAED,MAAMC,SAAS,gBAAGJ,QAAA;EAAAG,IAAA;IAAAE,OAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,OAAA;EAAA;AAAA;EAAAC,CAAA;AAAA,EAMhB;AAEF,OAAO,MAAMC,6BAA6B,GAAIC,KAAuB,IAAI;EACvE,MAAMC,MAAM,GAAGZ,SAAS,EAAE;EAC1BW,KAAK,CAACZ,IAAI,CAACc,SAAS,GAAGlB,YAAY,CAACG,qBAAqB,CAACC,IAAI,EAAEa,MAAM,CAACb,IAAI,EAAEY,KAAK,CAACZ,IAAI,CAACc,SAAS,CAAC;EAElG,OAAOF,KAAK;AACd,CAAC"}
1
+ {"version":3,"names":["shorthands","mergeClasses","__styles","tokens","menuDividerClassNames","root","useStyles","B6of3ja","t21cq0","jrapky","Frg6f3","a9b677","Bn0qgzm","oivjwe","B9xav0g","d","useMenuDividerStyles_unstable","state","styles","className"],"sources":["../../../src/components/MenuDivider/useMenuDividerStyles.ts"],"sourcesContent":["import { shorthands, mergeClasses, makeStyles } from '@griffel/react';\nimport { tokens } from '@fluentui/react-theme';\nimport type { MenuDividerSlots, MenuDividerState } from './MenuDivider.types';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\n\nexport const menuDividerClassNames: SlotClassNames<MenuDividerSlots> = {\n root: 'fui-MenuDivider',\n};\n\nconst useStyles = makeStyles({\n root: {\n ...shorthands.margin('4px', '-5px', '4px', '-5px'),\n width: 'auto',\n ...shorthands.borderBottom(tokens.strokeWidthThin, 'solid', tokens.colorNeutralStroke2),\n },\n});\n\nexport const useMenuDividerStyles_unstable = (state: MenuDividerState) => {\n const styles = useStyles();\n state.root.className = mergeClasses(menuDividerClassNames.root, styles.root, state.root.className);\n\n return state;\n};\n"],"mappings":"AAAA,SAASA,UAAU,EAAEC,YAAY,EAAAC,QAAA,QAAoB;AACrD,SAASC,MAAM,QAAQ;AAIvB,OAAO,MAAMC,qBAAA,GAA0D;EACrEC,IAAA,EAAM;AACR;AAEA,MAAMC,SAAA,gBAAYJ,QAAA;EAAAG,IAAA;IAAAE,OAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC,OAAA;IAAAC,MAAA;IAAAC,OAAA;EAAA;AAAA;EAAAC,CAAA;AAAA,EAMlB;AAEA,OAAO,MAAMC,6BAAA,GAAiCC,KAAA,IAA4B;EACxE,MAAMC,MAAA,GAASZ,SAAA;EACfW,KAAA,CAAMZ,IAAI,CAACc,SAAS,GAAGlB,YAAA,CAAaG,qBAAA,CAAsBC,IAAI,EAAEa,MAAA,CAAOb,IAAI,EAAEY,KAAA,CAAMZ,IAAI,CAACc,SAAS;EAEjG,OAAOF,KAAA;AACT"}
@@ -1,9 +1,9 @@
1
- import * as React from 'react';
2
- import { useMenuGroup_unstable } from './useMenuGroup';
3
- import { renderMenuGroup_unstable } from './renderMenuGroup';
4
- import { useMenuGroupContextValues_unstable } from './useMenuGroupContextValues';
5
- import { useMenuGroupStyles_unstable } from './useMenuGroupStyles';
6
- import { useCustomStyleHooks_unstable } from '@fluentui/react-shared-contexts';
1
+ import * as React from "react";
2
+ import { useMenuGroup_unstable } from "./useMenuGroup";
3
+ import { renderMenuGroup_unstable } from "./renderMenuGroup";
4
+ import { useMenuGroupContextValues_unstable } from "./useMenuGroupContextValues";
5
+ import { useMenuGroupStyles_unstable } from "./useMenuGroupStyles";
6
+ import { useCustomStyleHooks_unstable } from "@fluentui/react-shared-contexts";
7
7
  /**
8
8
  * Define a styled MenuGroup, using the `useMenuGroup_unstable` hook.
9
9
  */
@@ -17,5 +17,5 @@ export const MenuGroup = /*#__PURE__*/React.forwardRef((props, ref) => {
17
17
  useCustomStyles(state);
18
18
  return renderMenuGroup_unstable(state, contextValues);
19
19
  });
20
- MenuGroup.displayName = 'MenuGroup';
20
+ MenuGroup.displayName = "MenuGroup";
21
21
  //# sourceMappingURL=MenuGroup.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","useMenuGroup_unstable","renderMenuGroup_unstable","useMenuGroupContextValues_unstable","useMenuGroupStyles_unstable","useCustomStyleHooks_unstable","MenuGroup","forwardRef","props","ref","state","contextValues","useCustomStyles","displayName"],"sources":["../../../../../../../../../packages/react-components/react-menu/src/components/MenuGroup/MenuGroup.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useMenuGroup_unstable } from './useMenuGroup';\nimport { renderMenuGroup_unstable } from './renderMenuGroup';\nimport { useMenuGroupContextValues_unstable } from './useMenuGroupContextValues';\nimport type { MenuGroupProps } from './MenuGroup.types';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\nimport { useMenuGroupStyles_unstable } from './useMenuGroupStyles';\nimport { useCustomStyleHooks_unstable } from '@fluentui/react-shared-contexts';\n\n/**\n * Define a styled MenuGroup, using the `useMenuGroup_unstable` hook.\n */\nexport const MenuGroup: ForwardRefComponent<MenuGroupProps> = React.forwardRef((props, ref) => {\n const state = useMenuGroup_unstable(props, ref);\n const contextValues = useMenuGroupContextValues_unstable(state);\n\n useMenuGroupStyles_unstable(state);\n\n const { useMenuGroupStyles_unstable: useCustomStyles } = useCustomStyleHooks_unstable();\n useCustomStyles(state);\n\n return renderMenuGroup_unstable(state, contextValues);\n});\n\nMenuGroup.displayName = 'MenuGroup';\n"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,qBAAqB,QAAQ,gBAAgB;AACtD,SAASC,wBAAwB,QAAQ,mBAAmB;AAC5D,SAASC,kCAAkC,QAAQ,6BAA6B;AAGhF,SAASC,2BAA2B,QAAQ,sBAAsB;AAClE,SAASC,4BAA4B,QAAQ,iCAAiC;AAE9E;;;AAGA,OAAO,MAAMC,SAAS,gBAAwCN,KAAK,CAACO,UAAU,CAAC,CAACC,KAAK,EAAEC,GAAG,KAAI;EAC5F,MAAMC,KAAK,GAAGT,qBAAqB,CAACO,KAAK,EAAEC,GAAG,CAAC;EAC/C,MAAME,aAAa,GAAGR,kCAAkC,CAACO,KAAK,CAAC;EAE/DN,2BAA2B,CAACM,KAAK,CAAC;EAElC,MAAM;IAAEN,2BAA2B,EAAEQ;EAAe,CAAE,GAAGP,4BAA4B,EAAE;EACvFO,eAAe,CAACF,KAAK,CAAC;EAEtB,OAAOR,wBAAwB,CAACQ,KAAK,EAAEC,aAAa,CAAC;AACvD,CAAC,CAAC;AAEFL,SAAS,CAACO,WAAW,GAAG,WAAW"}
1
+ {"version":3,"names":["React","useMenuGroup_unstable","renderMenuGroup_unstable","useMenuGroupContextValues_unstable","useMenuGroupStyles_unstable","useCustomStyleHooks_unstable","MenuGroup","forwardRef","props","ref","state","contextValues","useCustomStyles","displayName"],"sources":["../../../src/components/MenuGroup/MenuGroup.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useMenuGroup_unstable } from './useMenuGroup';\nimport { renderMenuGroup_unstable } from './renderMenuGroup';\nimport { useMenuGroupContextValues_unstable } from './useMenuGroupContextValues';\nimport type { MenuGroupProps } from './MenuGroup.types';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\nimport { useMenuGroupStyles_unstable } from './useMenuGroupStyles';\nimport { useCustomStyleHooks_unstable } from '@fluentui/react-shared-contexts';\n\n/**\n * Define a styled MenuGroup, using the `useMenuGroup_unstable` hook.\n */\nexport const MenuGroup: ForwardRefComponent<MenuGroupProps> = React.forwardRef((props, ref) => {\n const state = useMenuGroup_unstable(props, ref);\n const contextValues = useMenuGroupContextValues_unstable(state);\n\n useMenuGroupStyles_unstable(state);\n\n const { useMenuGroupStyles_unstable: useCustomStyles } = useCustomStyleHooks_unstable();\n useCustomStyles(state);\n\n return renderMenuGroup_unstable(state, contextValues);\n});\n\nMenuGroup.displayName = 'MenuGroup';\n"],"mappings":"AAAA,YAAYA,KAAA,MAAW;AACvB,SAASC,qBAAqB,QAAQ;AACtC,SAASC,wBAAwB,QAAQ;AACzC,SAASC,kCAAkC,QAAQ;AAGnD,SAASC,2BAA2B,QAAQ;AAC5C,SAASC,4BAA4B,QAAQ;AAE7C;;;AAGA,OAAO,MAAMC,SAAA,gBAAiDN,KAAA,CAAMO,UAAU,CAAC,CAACC,KAAA,EAAOC,GAAA,KAAQ;EAC7F,MAAMC,KAAA,GAAQT,qBAAA,CAAsBO,KAAA,EAAOC,GAAA;EAC3C,MAAME,aAAA,GAAgBR,kCAAA,CAAmCO,KAAA;EAEzDN,2BAAA,CAA4BM,KAAA;EAE5B,MAAM;IAAEN,2BAAA,EAA6BQ;EAAe,CAAE,GAAGP,4BAAA;EACzDO,eAAA,CAAgBF,KAAA;EAEhB,OAAOR,wBAAA,CAAyBQ,KAAA,EAAOC,aAAA;AACzC;AAEAL,SAAA,CAAUO,WAAW,GAAG"}
@@ -1 +1 @@
1
- {"version":3,"file":"MenuGroup.types.js","sourceRoot":"","sources":["../../../../../../../../../packages/react-components/react-menu/src/components/MenuGroup/MenuGroup.types.ts"],"names":[],"mappings":"","sourcesContent":["import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\nimport type { MenuGroupContextValue } from '../../contexts/menuGroupContext';\n\nexport type MenuGroupSlots = {\n root: Slot<'div'>;\n};\n\nexport type MenuGroupProps = ComponentProps<MenuGroupSlots>;\n\nexport type MenuGroupState = ComponentState<MenuGroupSlots> & {\n /**\n * id applied to the DOM element of `MenuGroupHeader`\n */\n headerId: string;\n};\n\nexport type MenuGroupContextValues = {\n menuGroup: MenuGroupContextValue;\n};\n"]}
1
+ {"version":3,"names":[],"sources":["../../../src/components/MenuGroup/MenuGroup.types.ts"],"sourcesContent":["import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\nimport type { MenuGroupContextValue } from '../../contexts/menuGroupContext';\n\nexport type MenuGroupSlots = {\n root: Slot<'div'>;\n};\n\nexport type MenuGroupProps = ComponentProps<MenuGroupSlots>;\n\nexport type MenuGroupState = ComponentState<MenuGroupSlots> & {\n /**\n * id applied to the DOM element of `MenuGroupHeader`\n */\n headerId: string;\n};\n\nexport type MenuGroupContextValues = {\n menuGroup: MenuGroupContextValue;\n};\n"],"mappings":"AAAA"}
@@ -1,7 +1,7 @@
1
- export * from './MenuGroup.types';
2
- export * from './MenuGroup';
3
- export * from './renderMenuGroup';
4
- export * from './useMenuGroup';
5
- export * from './useMenuGroupContextValues';
6
- export * from './useMenuGroupStyles';
1
+ export * from "./MenuGroup.types";
2
+ export * from "./MenuGroup";
3
+ export * from "./renderMenuGroup";
4
+ export * from "./useMenuGroup";
5
+ export * from "./useMenuGroupContextValues";
6
+ export * from "./useMenuGroupStyles";
7
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../../packages/react-components/react-menu/src/components/MenuGroup/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sBAAsB,CAAC","sourcesContent":["export * from './MenuGroup.types';\nexport * from './MenuGroup';\nexport * from './renderMenuGroup';\nexport * from './useMenuGroup';\nexport * from './useMenuGroupContextValues';\nexport * from './useMenuGroupStyles';\n"]}
1
+ {"version":3,"names":[],"sources":["../../../src/components/MenuGroup/index.ts"],"sourcesContent":["export * from './MenuGroup.types';\nexport * from './MenuGroup';\nexport * from './renderMenuGroup';\nexport * from './useMenuGroup';\nexport * from './useMenuGroupContextValues';\nexport * from './useMenuGroupStyles';\n"],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc"}
@@ -1,6 +1,6 @@
1
- import * as React from 'react';
2
- import { getSlots } from '@fluentui/react-utilities';
3
- import { MenuGroupContextProvider } from '../../contexts/menuGroupContext';
1
+ import * as React from "react";
2
+ import { getSlots } from "@fluentui/react-utilities";
3
+ import { MenuGroupContextProvider } from "../../contexts/menuGroupContext";
4
4
  /**
5
5
  * Redefine the render function to add slots. Reuse the menugroup structure but add
6
6
  * slots to children.
@@ -12,8 +12,6 @@ export const renderMenuGroup_unstable = (state, contextValues) => {
12
12
  } = getSlots(state);
13
13
  return /*#__PURE__*/React.createElement(MenuGroupContextProvider, {
14
14
  value: contextValues.menuGroup
15
- }, /*#__PURE__*/React.createElement(slots.root, {
16
- ...slotProps.root
17
- }));
15
+ }, /*#__PURE__*/React.createElement(slots.root, slotProps.root));
18
16
  };
19
17
  //# sourceMappingURL=renderMenuGroup.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","getSlots","MenuGroupContextProvider","renderMenuGroup_unstable","state","contextValues","slots","slotProps","createElement","value","menuGroup","root"],"sources":["../../../../../../../../../packages/react-components/react-menu/src/components/MenuGroup/renderMenuGroup.tsx"],"sourcesContent":["import * as React from 'react';\nimport { getSlots } from '@fluentui/react-utilities';\nimport { MenuGroupContextValues, MenuGroupSlots, MenuGroupState } from './MenuGroup.types';\nimport { MenuGroupContextProvider } from '../../contexts/menuGroupContext';\n\n/**\n * Redefine the render function to add slots. Reuse the menugroup structure but add\n * slots to children.\n */\nexport const renderMenuGroup_unstable = (state: MenuGroupState, contextValues: MenuGroupContextValues) => {\n const { slots, slotProps } = getSlots<MenuGroupSlots>(state);\n\n return (\n <MenuGroupContextProvider value={contextValues.menuGroup}>\n <slots.root {...slotProps.root} />\n </MenuGroupContextProvider>\n );\n};\n"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,QAAQ,QAAQ,2BAA2B;AAEpD,SAASC,wBAAwB,QAAQ,iCAAiC;AAE1E;;;;AAIA,OAAO,MAAMC,wBAAwB,GAAGA,CAACC,KAAqB,EAAEC,aAAqC,KAAI;EACvG,MAAM;IAAEC,KAAK;IAAEC;EAAS,CAAE,GAAGN,QAAQ,CAAiBG,KAAK,CAAC;EAE5D,oBACEJ,KAAA,CAAAQ,aAAA,CAACN,wBAAwB;IAACO,KAAK,EAAEJ,aAAa,CAACK;EAAS,gBACtDV,KAAA,CAAAQ,aAAA,CAACF,KAAK,CAACK,IAAI;IAAA,GAAKJ,SAAS,CAACI;EAAI,EAAI,CACT;AAE/B,CAAC"}
1
+ {"version":3,"names":["React","getSlots","MenuGroupContextProvider","renderMenuGroup_unstable","state","contextValues","slots","slotProps","createElement","value","menuGroup","root"],"sources":["../../../src/components/MenuGroup/renderMenuGroup.tsx"],"sourcesContent":["import * as React from 'react';\nimport { getSlots } from '@fluentui/react-utilities';\nimport { MenuGroupContextValues, MenuGroupSlots, MenuGroupState } from './MenuGroup.types';\nimport { MenuGroupContextProvider } from '../../contexts/menuGroupContext';\n\n/**\n * Redefine the render function to add slots. Reuse the menugroup structure but add\n * slots to children.\n */\nexport const renderMenuGroup_unstable = (state: MenuGroupState, contextValues: MenuGroupContextValues) => {\n const { slots, slotProps } = getSlots<MenuGroupSlots>(state);\n\n return (\n <MenuGroupContextProvider value={contextValues.menuGroup}>\n <slots.root {...slotProps.root} />\n </MenuGroupContextProvider>\n );\n};\n"],"mappings":"AAAA,YAAYA,KAAA,MAAW;AACvB,SAASC,QAAQ,QAAQ;AAEzB,SAASC,wBAAwB,QAAQ;AAEzC;;;;AAIA,OAAO,MAAMC,wBAAA,GAA2BA,CAACC,KAAA,EAAuBC,aAAA,KAA0C;EACxG,MAAM;IAAEC,KAAA;IAAOC;EAAS,CAAE,GAAGN,QAAA,CAAyBG,KAAA;EAEtD,oBACEJ,KAAA,CAAAQ,aAAA,CAACN,wBAAA;IAAyBO,KAAA,EAAOJ,aAAA,CAAcK;kBAC7CV,KAAA,CAAAQ,aAAA,CAACF,KAAA,CAAMK,IAAI,EAAKJ,SAAA,CAAUI,IAAI;AAGpC"}
@@ -1,17 +1,18 @@
1
- import { getNativeElementProps, useId } from '@fluentui/react-utilities';
1
+ import * as React from "react";
2
+ import { getNativeElementProps, useId } from "@fluentui/react-utilities";
2
3
  /**
3
4
  * Given user props, returns state and render function for a MenuGroup.
4
5
  */
5
6
  export function useMenuGroup_unstable(props, ref) {
6
- const headerId = useId('menu-group');
7
+ const headerId = useId("menu-group");
7
8
  return {
8
9
  components: {
9
- root: 'div'
10
+ root: "div"
10
11
  },
11
- root: getNativeElementProps('div', {
12
+ root: getNativeElementProps("div", {
12
13
  ref,
13
- 'aria-labelledby': headerId,
14
- role: 'group',
14
+ "aria-labelledby": headerId,
15
+ role: "group",
15
16
  ...props
16
17
  }),
17
18
  headerId
@@ -1 +1 @@
1
- {"version":3,"names":["getNativeElementProps","useId","useMenuGroup_unstable","props","ref","headerId","components","root","role"],"sources":["../../../../../../../../../packages/react-components/react-menu/src/components/MenuGroup/useMenuGroup.ts"],"sourcesContent":["import * as React from 'react';\nimport { getNativeElementProps, useId } from '@fluentui/react-utilities';\nimport { MenuGroupProps, MenuGroupState } from './MenuGroup.types';\n\n/**\n * Given user props, returns state and render function for a MenuGroup.\n */\nexport function useMenuGroup_unstable(props: MenuGroupProps, ref: React.Ref<HTMLElement>): MenuGroupState {\n const headerId = useId('menu-group');\n\n return {\n components: {\n root: 'div',\n },\n root: getNativeElementProps('div', {\n ref,\n 'aria-labelledby': headerId,\n role: 'group',\n ...props,\n }),\n headerId,\n };\n}\n"],"mappings":"AACA,SAASA,qBAAqB,EAAEC,KAAK,QAAQ,2BAA2B;AAGxE;;;AAGA,OAAM,SAAUC,qBAAqBA,CAACC,KAAqB,EAAEC,GAA2B;EACtF,MAAMC,QAAQ,GAAGJ,KAAK,CAAC,YAAY,CAAC;EAEpC,OAAO;IACLK,UAAU,EAAE;MACVC,IAAI,EAAE;KACP;IACDA,IAAI,EAAEP,qBAAqB,CAAC,KAAK,EAAE;MACjCI,GAAG;MACH,iBAAiB,EAAEC,QAAQ;MAC3BG,IAAI,EAAE,OAAO;MACb,GAAGL;KACJ,CAAC;IACFE;GACD;AACH"}
1
+ {"version":3,"names":["React","getNativeElementProps","useId","useMenuGroup_unstable","props","ref","headerId","components","root","role"],"sources":["../../../src/components/MenuGroup/useMenuGroup.ts"],"sourcesContent":["import * as React from 'react';\nimport { getNativeElementProps, useId } from '@fluentui/react-utilities';\nimport { MenuGroupProps, MenuGroupState } from './MenuGroup.types';\n\n/**\n * Given user props, returns state and render function for a MenuGroup.\n */\nexport function useMenuGroup_unstable(props: MenuGroupProps, ref: React.Ref<HTMLElement>): MenuGroupState {\n const headerId = useId('menu-group');\n\n return {\n components: {\n root: 'div',\n },\n root: getNativeElementProps('div', {\n ref,\n 'aria-labelledby': headerId,\n role: 'group',\n ...props,\n }),\n headerId,\n };\n}\n"],"mappings":"AAAA,YAAYA,KAAA,MAAW;AACvB,SAASC,qBAAqB,EAAEC,KAAK,QAAQ;AAG7C;;;AAGA,OAAO,SAASC,sBAAsBC,KAAqB,EAAEC,GAA2B,EAAkB;EACxG,MAAMC,QAAA,GAAWJ,KAAA,CAAM;EAEvB,OAAO;IACLK,UAAA,EAAY;MACVC,IAAA,EAAM;IACR;IACAA,IAAA,EAAMP,qBAAA,CAAsB,OAAO;MACjCI,GAAA;MACA,mBAAmBC,QAAA;MACnBG,IAAA,EAAM;MACN,GAAGL;IACL;IACAE;EACF;AACF"}
@@ -1,4 +1,4 @@
1
- import * as React from 'react';
1
+ import * as React from "react";
2
2
  export function useMenuGroupContextValues_unstable(state) {
3
3
  const {
4
4
  headerId
@@ -1 +1 @@
1
- {"version":3,"names":["React","useMenuGroupContextValues_unstable","state","headerId","menuGroup","useMemo"],"sources":["../../../../../../../../../packages/react-components/react-menu/src/components/MenuGroup/useMenuGroupContextValues.ts"],"sourcesContent":["import * as React from 'react';\nimport type { MenuGroupContextValues, MenuGroupState } from './MenuGroup.types';\n\nexport function useMenuGroupContextValues_unstable(state: MenuGroupState): MenuGroupContextValues {\n const { headerId } = state;\n const menuGroup = React.useMemo(() => ({ headerId }), [headerId]);\n\n return { menuGroup };\n}\n"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAG9B,OAAM,SAAUC,kCAAkCA,CAACC,KAAqB;EACtE,MAAM;IAAEC;EAAQ,CAAE,GAAGD,KAAK;EAC1B,MAAME,SAAS,GAAGJ,KAAK,CAACK,OAAO,CAAC,OAAO;IAAEF;EAAQ,CAAE,CAAC,EAAE,CAACA,QAAQ,CAAC,CAAC;EAEjE,OAAO;IAAEC;EAAS,CAAE;AACtB"}
1
+ {"version":3,"names":["React","useMenuGroupContextValues_unstable","state","headerId","menuGroup","useMemo"],"sources":["../../../src/components/MenuGroup/useMenuGroupContextValues.ts"],"sourcesContent":["import * as React from 'react';\nimport type { MenuGroupContextValues, MenuGroupState } from './MenuGroup.types';\n\nexport function useMenuGroupContextValues_unstable(state: MenuGroupState): MenuGroupContextValues {\n const { headerId } = state;\n const menuGroup = React.useMemo(() => ({ headerId }), [headerId]);\n\n return { menuGroup };\n}\n"],"mappings":"AAAA,YAAYA,KAAA,MAAW;AAGvB,OAAO,SAASC,mCAAmCC,KAAqB,EAA0B;EAChG,MAAM;IAAEC;EAAQ,CAAE,GAAGD,KAAA;EACrB,MAAME,SAAA,GAAYJ,KAAA,CAAMK,OAAO,CAAC,OAAO;IAAEF;EAAS,IAAI,CAACA,QAAA,CAAS;EAEhE,OAAO;IAAEC;EAAU;AACrB"}
@@ -1,6 +1,6 @@
1
- import { mergeClasses } from '@griffel/react';
1
+ import { mergeClasses } from "@griffel/react";
2
2
  export const menuGroupClassNames = {
3
- root: 'fui-MenuGroup'
3
+ root: "fui-MenuGroup"
4
4
  };
5
5
  export const useMenuGroupStyles_unstable = state => {
6
6
  state.root.className = mergeClasses(menuGroupClassNames.root, state.root.className);
@@ -1 +1 @@
1
- {"version":3,"names":["mergeClasses","menuGroupClassNames","root","useMenuGroupStyles_unstable","state","className"],"sources":["../../../../../../../../../packages/react-components/react-menu/src/components/MenuGroup/useMenuGroupStyles.ts"],"sourcesContent":["import type { SlotClassNames } from '@fluentui/react-utilities';\nimport { mergeClasses } from '@griffel/react';\nimport type { MenuGroupSlots, MenuGroupState } from './MenuGroup.types';\n\nexport const menuGroupClassNames: SlotClassNames<MenuGroupSlots> = {\n root: 'fui-MenuGroup',\n};\n\nexport const useMenuGroupStyles_unstable = (state: MenuGroupState): MenuGroupState => {\n state.root.className = mergeClasses(menuGroupClassNames.root, state.root.className);\n\n return state;\n};\n"],"mappings":"AACA,SAASA,YAAY,QAAQ,gBAAgB;AAG7C,OAAO,MAAMC,mBAAmB,GAAmC;EACjEC,IAAI,EAAE;CACP;AAED,OAAO,MAAMC,2BAA2B,GAAIC,KAAqB,IAAoB;EACnFA,KAAK,CAACF,IAAI,CAACG,SAAS,GAAGL,YAAY,CAACC,mBAAmB,CAACC,IAAI,EAAEE,KAAK,CAACF,IAAI,CAACG,SAAS,CAAC;EAEnF,OAAOD,KAAK;AACd,CAAC"}
1
+ {"version":3,"names":["mergeClasses","menuGroupClassNames","root","useMenuGroupStyles_unstable","state","className"],"sources":["../../../src/components/MenuGroup/useMenuGroupStyles.ts"],"sourcesContent":["import type { SlotClassNames } from '@fluentui/react-utilities';\nimport { mergeClasses } from '@griffel/react';\nimport type { MenuGroupSlots, MenuGroupState } from './MenuGroup.types';\n\nexport const menuGroupClassNames: SlotClassNames<MenuGroupSlots> = {\n root: 'fui-MenuGroup',\n};\n\nexport const useMenuGroupStyles_unstable = (state: MenuGroupState): MenuGroupState => {\n state.root.className = mergeClasses(menuGroupClassNames.root, state.root.className);\n\n return state;\n};\n"],"mappings":"AACA,SAASA,YAAY,QAAQ;AAG7B,OAAO,MAAMC,mBAAA,GAAsD;EACjEC,IAAA,EAAM;AACR;AAEA,OAAO,MAAMC,2BAAA,GAA+BC,KAAA,IAA0C;EACpFA,KAAA,CAAMF,IAAI,CAACG,SAAS,GAAGL,YAAA,CAAaC,mBAAA,CAAoBC,IAAI,EAAEE,KAAA,CAAMF,IAAI,CAACG,SAAS;EAElF,OAAOD,KAAA;AACT"}