@fluentui/react-menu 9.0.0-nightly.f81b28ceb3.1 → 9.0.0-rc.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (480) hide show
  1. package/CHANGELOG.json +578 -27
  2. package/CHANGELOG.md +132 -18
  3. package/Spec.md +21 -16
  4. package/dist/react-menu.d.ts +143 -72
  5. package/lib/Menu.js.map +1 -1
  6. package/lib/MenuDivider.js.map +1 -1
  7. package/lib/MenuGroup.js.map +1 -1
  8. package/lib/MenuGroupHeader.js.map +1 -1
  9. package/lib/MenuItem.js.map +1 -1
  10. package/lib/MenuItemCheckbox.js.map +1 -1
  11. package/lib/MenuItemRadio.js.map +1 -1
  12. package/lib/MenuList.js.map +1 -1
  13. package/lib/MenuPopover.js.map +1 -1
  14. package/lib/MenuSplitGroup.d.ts +1 -0
  15. package/lib/MenuSplitGroup.js +2 -0
  16. package/lib/MenuSplitGroup.js.map +1 -0
  17. package/lib/MenuTrigger.js.map +1 -1
  18. package/lib/components/Menu/Menu.js +7 -7
  19. package/lib/components/Menu/Menu.js.map +1 -1
  20. package/lib/components/Menu/Menu.types.d.ts +3 -2
  21. package/lib/components/Menu/Menu.types.js.map +1 -1
  22. package/lib/components/Menu/index.js.map +1 -1
  23. package/lib/components/Menu/renderMenu.d.ts +1 -1
  24. package/lib/components/Menu/renderMenu.js +1 -1
  25. package/lib/components/Menu/renderMenu.js.map +1 -1
  26. package/lib/components/Menu/useMenu.d.ts +2 -2
  27. package/lib/components/Menu/useMenu.js +119 -128
  28. package/lib/components/Menu/useMenu.js.map +1 -1
  29. package/lib/components/Menu/useMenuContextValues.d.ts +1 -1
  30. package/lib/components/Menu/useMenuContextValues.js +35 -33
  31. package/lib/components/Menu/useMenuContextValues.js.map +1 -1
  32. package/lib/components/MenuDivider/MenuDivider.d.ts +1 -1
  33. package/lib/components/MenuDivider/MenuDivider.js +8 -8
  34. package/lib/components/MenuDivider/MenuDivider.js.map +1 -1
  35. package/lib/components/MenuDivider/MenuDivider.types.d.ts +2 -2
  36. package/lib/components/MenuDivider/MenuDivider.types.js.map +1 -1
  37. package/lib/components/MenuDivider/index.js.map +1 -1
  38. package/lib/components/MenuDivider/renderMenuDivider.d.ts +1 -1
  39. package/lib/components/MenuDivider/renderMenuDivider.js +7 -7
  40. package/lib/components/MenuDivider/renderMenuDivider.js.map +1 -1
  41. package/lib/components/MenuDivider/useMenuDivider.d.ts +1 -1
  42. package/lib/components/MenuDivider/useMenuDivider.js +9 -7
  43. package/lib/components/MenuDivider/useMenuDivider.js.map +1 -1
  44. package/lib/components/MenuDivider/useMenuDividerStyles.d.ts +2 -1
  45. package/lib/components/MenuDivider/useMenuDividerStyles.js +7 -5
  46. package/lib/components/MenuDivider/useMenuDividerStyles.js.map +1 -1
  47. package/lib/components/MenuGroup/MenuGroup.d.ts +1 -1
  48. package/lib/components/MenuGroup/MenuGroup.js +10 -8
  49. package/lib/components/MenuGroup/MenuGroup.js.map +1 -1
  50. package/lib/components/MenuGroup/MenuGroup.types.d.ts +3 -3
  51. package/lib/components/MenuGroup/MenuGroup.types.js.map +1 -1
  52. package/lib/components/MenuGroup/index.d.ts +1 -0
  53. package/lib/components/MenuGroup/index.js +1 -0
  54. package/lib/components/MenuGroup/index.js.map +1 -1
  55. package/lib/components/MenuGroup/renderMenuGroup.d.ts +1 -1
  56. package/lib/components/MenuGroup/renderMenuGroup.js +7 -7
  57. package/lib/components/MenuGroup/renderMenuGroup.js.map +1 -1
  58. package/lib/components/MenuGroup/useMenuGroup.d.ts +1 -1
  59. package/lib/components/MenuGroup/useMenuGroup.js +10 -7
  60. package/lib/components/MenuGroup/useMenuGroup.js.map +1 -1
  61. package/lib/components/MenuGroup/useMenuGroupContextValues.d.ts +1 -1
  62. package/lib/components/MenuGroup/useMenuGroupContextValues.js +8 -8
  63. package/lib/components/MenuGroup/useMenuGroupContextValues.js.map +1 -1
  64. package/lib/components/MenuGroup/useMenuGroupStyles.d.ts +3 -0
  65. package/lib/components/MenuGroup/useMenuGroupStyles.js +7 -0
  66. package/lib/components/MenuGroup/useMenuGroupStyles.js.map +1 -0
  67. package/lib/components/MenuGroupHeader/MenuGroupHeader.d.ts +1 -1
  68. package/lib/components/MenuGroupHeader/MenuGroupHeader.js +8 -8
  69. package/lib/components/MenuGroupHeader/MenuGroupHeader.js.map +1 -1
  70. package/lib/components/MenuGroupHeader/MenuGroupHeader.types.d.ts +2 -2
  71. package/lib/components/MenuGroupHeader/MenuGroupHeader.types.js.map +1 -1
  72. package/lib/components/MenuGroupHeader/index.js.map +1 -1
  73. package/lib/components/MenuGroupHeader/renderMenuGroupHeader.d.ts +1 -1
  74. package/lib/components/MenuGroupHeader/renderMenuGroupHeader.js +7 -7
  75. package/lib/components/MenuGroupHeader/renderMenuGroupHeader.js.map +1 -1
  76. package/lib/components/MenuGroupHeader/useMenuGroupHeader.d.ts +1 -1
  77. package/lib/components/MenuGroupHeader/useMenuGroupHeader.js +13 -8
  78. package/lib/components/MenuGroupHeader/useMenuGroupHeader.js.map +1 -1
  79. package/lib/components/MenuGroupHeader/useMenuGroupHeaderStyles.d.ts +2 -1
  80. package/lib/components/MenuGroupHeader/useMenuGroupHeaderStyles.js +7 -5
  81. package/lib/components/MenuGroupHeader/useMenuGroupHeaderStyles.js.map +1 -1
  82. package/lib/components/MenuItem/MenuItem.d.ts +1 -1
  83. package/lib/components/MenuItem/MenuItem.js +8 -10
  84. package/lib/components/MenuItem/MenuItem.js.map +1 -1
  85. package/lib/components/MenuItem/MenuItem.types.d.ts +7 -7
  86. package/lib/components/MenuItem/MenuItem.types.js.map +1 -1
  87. package/lib/components/MenuItem/index.js.map +1 -1
  88. package/lib/components/MenuItem/renderMenuItem.d.ts +1 -1
  89. package/lib/components/MenuItem/renderMenuItem.js +12 -8
  90. package/lib/components/MenuItem/renderMenuItem.js.map +1 -1
  91. package/lib/components/MenuItem/useCharacterSearch.js +7 -7
  92. package/lib/components/MenuItem/useCharacterSearch.js.map +1 -1
  93. package/lib/components/MenuItem/useMenuItem.d.ts +2 -6
  94. package/lib/components/MenuItem/useMenuItem.js +37 -44
  95. package/lib/components/MenuItem/useMenuItem.js.map +1 -1
  96. package/lib/components/MenuItem/useMenuItemStyles.d.ts +2 -1
  97. package/lib/components/MenuItem/useMenuItemStyles.js +31 -27
  98. package/lib/components/MenuItem/useMenuItemStyles.js.map +1 -1
  99. package/lib/components/MenuItemCheckbox/MenuItemCheckbox.d.ts +1 -1
  100. package/lib/components/MenuItemCheckbox/MenuItemCheckbox.js +8 -8
  101. package/lib/components/MenuItemCheckbox/MenuItemCheckbox.js.map +1 -1
  102. package/lib/components/MenuItemCheckbox/MenuItemCheckbox.types.js.map +1 -1
  103. package/lib/components/MenuItemCheckbox/index.d.ts +1 -0
  104. package/lib/components/MenuItemCheckbox/index.js +1 -0
  105. package/lib/components/MenuItemCheckbox/index.js.map +1 -1
  106. package/lib/components/MenuItemCheckbox/renderMenuItemCheckbox.d.ts +1 -1
  107. package/lib/components/MenuItemCheckbox/renderMenuItemCheckbox.js +11 -8
  108. package/lib/components/MenuItemCheckbox/renderMenuItemCheckbox.js.map +1 -1
  109. package/lib/components/MenuItemCheckbox/useMenuItemCheckbox.d.ts +1 -1
  110. package/lib/components/MenuItemCheckbox/useMenuItemCheckbox.js +14 -15
  111. package/lib/components/MenuItemCheckbox/useMenuItemCheckbox.js.map +1 -1
  112. package/lib/components/MenuItemCheckbox/useMenuItemCheckboxStyles.d.ts +2 -1
  113. package/lib/components/MenuItemCheckbox/useMenuItemCheckboxStyles.js +8 -5
  114. package/lib/components/MenuItemCheckbox/useMenuItemCheckboxStyles.js.map +1 -1
  115. package/lib/components/MenuItemRadio/MenuItemRadio.d.ts +1 -1
  116. package/lib/components/MenuItemRadio/MenuItemRadio.js +8 -8
  117. package/lib/components/MenuItemRadio/MenuItemRadio.js.map +1 -1
  118. package/lib/components/MenuItemRadio/MenuItemRadio.types.js.map +1 -1
  119. package/lib/components/MenuItemRadio/index.d.ts +1 -0
  120. package/lib/components/MenuItemRadio/index.js +1 -0
  121. package/lib/components/MenuItemRadio/index.js.map +1 -1
  122. package/lib/components/MenuItemRadio/renderMenuItemRadio.d.ts +1 -1
  123. package/lib/components/MenuItemRadio/renderMenuItemRadio.js +11 -8
  124. package/lib/components/MenuItemRadio/renderMenuItemRadio.js.map +1 -1
  125. package/lib/components/MenuItemRadio/useMenuItemRadio.d.ts +1 -1
  126. package/lib/components/MenuItemRadio/useMenuItemRadio.js +14 -14
  127. package/lib/components/MenuItemRadio/useMenuItemRadio.js.map +1 -1
  128. package/lib/components/MenuItemRadio/useMenuItemRadioStyles.d.ts +2 -1
  129. package/lib/components/MenuItemRadio/useMenuItemRadioStyles.js +8 -5
  130. package/lib/components/MenuItemRadio/useMenuItemRadioStyles.js.map +1 -1
  131. package/lib/components/MenuList/MenuList.d.ts +1 -1
  132. package/lib/components/MenuList/MenuList.js +10 -10
  133. package/lib/components/MenuList/MenuList.js.map +1 -1
  134. package/lib/components/MenuList/MenuList.types.d.ts +12 -10
  135. package/lib/components/MenuList/MenuList.types.js.map +1 -1
  136. package/lib/components/MenuList/index.d.ts +1 -1
  137. package/lib/components/MenuList/index.js +0 -1
  138. package/lib/components/MenuList/index.js.map +1 -1
  139. package/lib/components/MenuList/renderMenuList.d.ts +1 -1
  140. package/lib/components/MenuList/renderMenuList.js +7 -7
  141. package/lib/components/MenuList/renderMenuList.js.map +1 -1
  142. package/lib/components/MenuList/useMenuList.d.ts +1 -1
  143. package/lib/components/MenuList/useMenuList.js +70 -87
  144. package/lib/components/MenuList/useMenuList.js.map +1 -1
  145. package/lib/components/MenuList/useMenuListContextValues.d.ts +1 -1
  146. package/lib/components/MenuList/useMenuListContextValues.js +19 -17
  147. package/lib/components/MenuList/useMenuListContextValues.js.map +1 -1
  148. package/lib/components/MenuList/useMenuListStyles.d.ts +2 -1
  149. package/lib/components/MenuList/useMenuListStyles.js +9 -7
  150. package/lib/components/MenuList/useMenuListStyles.js.map +1 -1
  151. package/lib/components/MenuPopover/MenuPopover.js +7 -7
  152. package/lib/components/MenuPopover/MenuPopover.js.map +1 -1
  153. package/lib/components/MenuPopover/MenuPopover.types.d.ts +2 -2
  154. package/lib/components/MenuPopover/MenuPopover.types.js.map +1 -1
  155. package/lib/components/MenuPopover/index.js.map +1 -1
  156. package/lib/components/MenuPopover/renderMenuPopover.d.ts +1 -1
  157. package/lib/components/MenuPopover/renderMenuPopover.js +9 -7
  158. package/lib/components/MenuPopover/renderMenuPopover.js.map +1 -1
  159. package/lib/components/MenuPopover/useMenuPopover.d.ts +3 -3
  160. package/lib/components/MenuPopover/useMenuPopover.js +35 -41
  161. package/lib/components/MenuPopover/useMenuPopover.js.map +1 -1
  162. package/lib/components/MenuPopover/useMenuPopoverStyles.d.ts +2 -1
  163. package/lib/components/MenuPopover/useMenuPopoverStyles.js +13 -8
  164. package/lib/components/MenuPopover/useMenuPopoverStyles.js.map +1 -1
  165. package/lib/components/MenuSplitGroup/MenuSplitGroup.d.ts +6 -0
  166. package/lib/components/MenuSplitGroup/MenuSplitGroup.js +15 -0
  167. package/lib/components/MenuSplitGroup/MenuSplitGroup.js.map +1 -0
  168. package/lib/components/MenuSplitGroup/MenuSplitGroup.types.d.ts +14 -0
  169. package/lib/components/MenuSplitGroup/MenuSplitGroup.types.js +2 -0
  170. package/lib/components/MenuSplitGroup/MenuSplitGroup.types.js.map +1 -0
  171. package/lib/components/MenuSplitGroup/index.d.ts +5 -0
  172. package/lib/components/MenuSplitGroup/index.js +6 -0
  173. package/lib/components/MenuSplitGroup/index.js.map +1 -0
  174. package/lib/components/MenuSplitGroup/renderMenuSplitGroup.d.ts +5 -0
  175. package/lib/components/MenuSplitGroup/renderMenuSplitGroup.js +15 -0
  176. package/lib/components/MenuSplitGroup/renderMenuSplitGroup.js.map +1 -0
  177. package/lib/components/MenuSplitGroup/useMenuSplitGroup.d.ts +12 -0
  178. package/lib/components/MenuSplitGroup/useMenuSplitGroup.js +67 -0
  179. package/lib/components/MenuSplitGroup/useMenuSplitGroup.js.map +1 -0
  180. package/lib/components/MenuSplitGroup/useMenuSplitGroupStyles.d.ts +6 -0
  181. package/lib/components/MenuSplitGroup/useMenuSplitGroupStyles.js +35 -0
  182. package/lib/components/MenuSplitGroup/useMenuSplitGroupStyles.js.map +1 -0
  183. package/lib/components/MenuTrigger/MenuTrigger.d.ts +2 -1
  184. package/lib/components/MenuTrigger/MenuTrigger.js +6 -5
  185. package/lib/components/MenuTrigger/MenuTrigger.js.map +1 -1
  186. package/lib/components/MenuTrigger/MenuTrigger.types.d.ts +7 -3
  187. package/lib/components/MenuTrigger/MenuTrigger.types.js.map +1 -1
  188. package/lib/components/MenuTrigger/index.js.map +1 -1
  189. package/lib/components/MenuTrigger/renderMenuTrigger.d.ts +1 -1
  190. package/lib/components/MenuTrigger/renderMenuTrigger.js +2 -2
  191. package/lib/components/MenuTrigger/renderMenuTrigger.js.map +1 -1
  192. package/lib/components/MenuTrigger/useMenuTrigger.d.ts +2 -2
  193. package/lib/components/MenuTrigger/useMenuTrigger.js +167 -5
  194. package/lib/components/MenuTrigger/useMenuTrigger.js.map +1 -1
  195. package/lib/components/index.js.map +1 -1
  196. package/lib/contexts/menuContext.d.ts +1 -1
  197. package/lib/contexts/menuContext.js +5 -11
  198. package/lib/contexts/menuContext.js.map +1 -1
  199. package/lib/contexts/menuGroupContext.d.ts +1 -1
  200. package/lib/contexts/menuGroupContext.js +3 -5
  201. package/lib/contexts/menuGroupContext.js.map +1 -1
  202. package/lib/contexts/menuListContext.d.ts +1 -1
  203. package/lib/contexts/menuListContext.js +7 -17
  204. package/lib/contexts/menuListContext.js.map +1 -1
  205. package/lib/contexts/menuTriggerContext.d.ts +1 -1
  206. package/lib/contexts/menuTriggerContext.js +4 -6
  207. package/lib/contexts/menuTriggerContext.js.map +1 -1
  208. package/lib/index.d.ts +11 -10
  209. package/lib/index.js +11 -10
  210. package/lib/index.js.map +1 -1
  211. package/lib/selectable/index.js.map +1 -1
  212. package/lib/selectable/types.js.map +1 -1
  213. package/lib/selectable/useCheckmarkStyles.d.ts +2 -2
  214. package/lib/selectable/useCheckmarkStyles.js +4 -4
  215. package/lib/selectable/useCheckmarkStyles.js.map +1 -1
  216. package/lib/utils/index.js.map +1 -1
  217. package/lib/utils/useIsSubmenu.js +3 -5
  218. package/lib/utils/useIsSubmenu.js.map +1 -1
  219. package/lib/utils/useOnMenuEnter.js +16 -14
  220. package/lib/utils/useOnMenuEnter.js.map +1 -1
  221. package/lib-commonjs/Menu.js +1 -1
  222. package/lib-commonjs/Menu.js.map +1 -1
  223. package/lib-commonjs/MenuDivider.js +1 -1
  224. package/lib-commonjs/MenuDivider.js.map +1 -1
  225. package/lib-commonjs/MenuGroup.js +1 -1
  226. package/lib-commonjs/MenuGroup.js.map +1 -1
  227. package/lib-commonjs/MenuGroupHeader.js +1 -1
  228. package/lib-commonjs/MenuGroupHeader.js.map +1 -1
  229. package/lib-commonjs/MenuItem.js +1 -1
  230. package/lib-commonjs/MenuItem.js.map +1 -1
  231. package/lib-commonjs/MenuItemCheckbox.js +1 -1
  232. package/lib-commonjs/MenuItemCheckbox.js.map +1 -1
  233. package/lib-commonjs/MenuItemRadio.js +1 -1
  234. package/lib-commonjs/MenuItemRadio.js.map +1 -1
  235. package/lib-commonjs/MenuList.js +1 -1
  236. package/lib-commonjs/MenuList.js.map +1 -1
  237. package/lib-commonjs/MenuPopover.js +1 -1
  238. package/lib-commonjs/MenuPopover.js.map +1 -1
  239. package/lib-commonjs/MenuSplitGroup.d.ts +1 -0
  240. package/lib-commonjs/MenuSplitGroup.js +10 -0
  241. package/lib-commonjs/MenuSplitGroup.js.map +1 -0
  242. package/lib-commonjs/MenuTrigger.js +1 -1
  243. package/lib-commonjs/MenuTrigger.js.map +1 -1
  244. package/lib-commonjs/components/Menu/Menu.js +7 -7
  245. package/lib-commonjs/components/Menu/Menu.js.map +1 -1
  246. package/lib-commonjs/components/Menu/Menu.types.d.ts +3 -2
  247. package/lib-commonjs/components/Menu/Menu.types.js.map +1 -1
  248. package/lib-commonjs/components/Menu/index.js +1 -1
  249. package/lib-commonjs/components/Menu/index.js.map +1 -1
  250. package/lib-commonjs/components/Menu/renderMenu.d.ts +1 -1
  251. package/lib-commonjs/components/Menu/renderMenu.js +5 -5
  252. package/lib-commonjs/components/Menu/renderMenu.js.map +1 -1
  253. package/lib-commonjs/components/Menu/useMenu.d.ts +2 -2
  254. package/lib-commonjs/components/Menu/useMenu.js +130 -141
  255. package/lib-commonjs/components/Menu/useMenu.js.map +1 -1
  256. package/lib-commonjs/components/Menu/useMenuContextValues.d.ts +1 -1
  257. package/lib-commonjs/components/Menu/useMenuContextValues.js +37 -35
  258. package/lib-commonjs/components/Menu/useMenuContextValues.js.map +1 -1
  259. package/lib-commonjs/components/MenuDivider/MenuDivider.d.ts +1 -1
  260. package/lib-commonjs/components/MenuDivider/MenuDivider.js +9 -9
  261. package/lib-commonjs/components/MenuDivider/MenuDivider.js.map +1 -1
  262. package/lib-commonjs/components/MenuDivider/MenuDivider.types.d.ts +2 -2
  263. package/lib-commonjs/components/MenuDivider/MenuDivider.types.js.map +1 -1
  264. package/lib-commonjs/components/MenuDivider/index.js +1 -1
  265. package/lib-commonjs/components/MenuDivider/index.js.map +1 -1
  266. package/lib-commonjs/components/MenuDivider/renderMenuDivider.d.ts +1 -1
  267. package/lib-commonjs/components/MenuDivider/renderMenuDivider.js +11 -12
  268. package/lib-commonjs/components/MenuDivider/renderMenuDivider.js.map +1 -1
  269. package/lib-commonjs/components/MenuDivider/useMenuDivider.d.ts +1 -1
  270. package/lib-commonjs/components/MenuDivider/useMenuDivider.js +12 -11
  271. package/lib-commonjs/components/MenuDivider/useMenuDivider.js.map +1 -1
  272. package/lib-commonjs/components/MenuDivider/useMenuDividerStyles.d.ts +2 -1
  273. package/lib-commonjs/components/MenuDivider/useMenuDividerStyles.js +11 -7
  274. package/lib-commonjs/components/MenuDivider/useMenuDividerStyles.js.map +1 -1
  275. package/lib-commonjs/components/MenuGroup/MenuGroup.d.ts +1 -1
  276. package/lib-commonjs/components/MenuGroup/MenuGroup.js +12 -9
  277. package/lib-commonjs/components/MenuGroup/MenuGroup.js.map +1 -1
  278. package/lib-commonjs/components/MenuGroup/MenuGroup.types.d.ts +3 -3
  279. package/lib-commonjs/components/MenuGroup/MenuGroup.types.js.map +1 -1
  280. package/lib-commonjs/components/MenuGroup/index.d.ts +1 -0
  281. package/lib-commonjs/components/MenuGroup/index.js +3 -1
  282. package/lib-commonjs/components/MenuGroup/index.js.map +1 -1
  283. package/lib-commonjs/components/MenuGroup/renderMenuGroup.d.ts +1 -1
  284. package/lib-commonjs/components/MenuGroup/renderMenuGroup.js +12 -13
  285. package/lib-commonjs/components/MenuGroup/renderMenuGroup.js.map +1 -1
  286. package/lib-commonjs/components/MenuGroup/useMenuGroup.d.ts +1 -1
  287. package/lib-commonjs/components/MenuGroup/useMenuGroup.js +13 -11
  288. package/lib-commonjs/components/MenuGroup/useMenuGroup.js.map +1 -1
  289. package/lib-commonjs/components/MenuGroup/useMenuGroupContextValues.d.ts +1 -1
  290. package/lib-commonjs/components/MenuGroup/useMenuGroupContextValues.js +11 -11
  291. package/lib-commonjs/components/MenuGroup/useMenuGroupContextValues.js.map +1 -1
  292. package/lib-commonjs/components/MenuGroup/useMenuGroupStyles.d.ts +3 -0
  293. package/lib-commonjs/components/MenuGroup/useMenuGroupStyles.js +18 -0
  294. package/lib-commonjs/components/MenuGroup/useMenuGroupStyles.js.map +1 -0
  295. package/lib-commonjs/components/MenuGroupHeader/MenuGroupHeader.d.ts +1 -1
  296. package/lib-commonjs/components/MenuGroupHeader/MenuGroupHeader.js +9 -9
  297. package/lib-commonjs/components/MenuGroupHeader/MenuGroupHeader.js.map +1 -1
  298. package/lib-commonjs/components/MenuGroupHeader/MenuGroupHeader.types.d.ts +2 -2
  299. package/lib-commonjs/components/MenuGroupHeader/MenuGroupHeader.types.js.map +1 -1
  300. package/lib-commonjs/components/MenuGroupHeader/index.js +1 -1
  301. package/lib-commonjs/components/MenuGroupHeader/index.js.map +1 -1
  302. package/lib-commonjs/components/MenuGroupHeader/renderMenuGroupHeader.d.ts +1 -1
  303. package/lib-commonjs/components/MenuGroupHeader/renderMenuGroupHeader.js +11 -12
  304. package/lib-commonjs/components/MenuGroupHeader/renderMenuGroupHeader.js.map +1 -1
  305. package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeader.d.ts +1 -1
  306. package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeader.js +16 -12
  307. package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeader.js.map +1 -1
  308. package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeaderStyles.d.ts +2 -1
  309. package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeaderStyles.js +11 -7
  310. package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeaderStyles.js.map +1 -1
  311. package/lib-commonjs/components/MenuItem/MenuItem.d.ts +1 -1
  312. package/lib-commonjs/components/MenuItem/MenuItem.js +9 -12
  313. package/lib-commonjs/components/MenuItem/MenuItem.js.map +1 -1
  314. package/lib-commonjs/components/MenuItem/MenuItem.types.d.ts +7 -7
  315. package/lib-commonjs/components/MenuItem/MenuItem.types.js.map +1 -1
  316. package/lib-commonjs/components/MenuItem/index.js +1 -1
  317. package/lib-commonjs/components/MenuItem/index.js.map +1 -1
  318. package/lib-commonjs/components/MenuItem/renderMenuItem.d.ts +1 -1
  319. package/lib-commonjs/components/MenuItem/renderMenuItem.js +16 -14
  320. package/lib-commonjs/components/MenuItem/renderMenuItem.js.map +1 -1
  321. package/lib-commonjs/components/MenuItem/useCharacterSearch.js +7 -7
  322. package/lib-commonjs/components/MenuItem/useCharacterSearch.js.map +1 -1
  323. package/lib-commonjs/components/MenuItem/useMenuItem.d.ts +2 -6
  324. package/lib-commonjs/components/MenuItem/useMenuItem.js +45 -53
  325. package/lib-commonjs/components/MenuItem/useMenuItem.js.map +1 -1
  326. package/lib-commonjs/components/MenuItem/useMenuItemStyles.d.ts +2 -1
  327. package/lib-commonjs/components/MenuItem/useMenuItemStyles.js +40 -33
  328. package/lib-commonjs/components/MenuItem/useMenuItemStyles.js.map +1 -1
  329. package/lib-commonjs/components/MenuItemCheckbox/MenuItemCheckbox.d.ts +1 -1
  330. package/lib-commonjs/components/MenuItemCheckbox/MenuItemCheckbox.js +9 -9
  331. package/lib-commonjs/components/MenuItemCheckbox/MenuItemCheckbox.js.map +1 -1
  332. package/lib-commonjs/components/MenuItemCheckbox/MenuItemCheckbox.types.js.map +1 -1
  333. package/lib-commonjs/components/MenuItemCheckbox/index.d.ts +1 -0
  334. package/lib-commonjs/components/MenuItemCheckbox/index.js +3 -1
  335. package/lib-commonjs/components/MenuItemCheckbox/index.js.map +1 -1
  336. package/lib-commonjs/components/MenuItemCheckbox/renderMenuItemCheckbox.d.ts +1 -1
  337. package/lib-commonjs/components/MenuItemCheckbox/renderMenuItemCheckbox.js +15 -14
  338. package/lib-commonjs/components/MenuItemCheckbox/renderMenuItemCheckbox.js.map +1 -1
  339. package/lib-commonjs/components/MenuItemCheckbox/useMenuItemCheckbox.d.ts +1 -1
  340. package/lib-commonjs/components/MenuItemCheckbox/useMenuItemCheckbox.js +19 -21
  341. package/lib-commonjs/components/MenuItemCheckbox/useMenuItemCheckbox.js.map +1 -1
  342. package/lib-commonjs/components/MenuItemCheckbox/useMenuItemCheckboxStyles.d.ts +2 -1
  343. package/lib-commonjs/components/MenuItemCheckbox/useMenuItemCheckboxStyles.js +12 -7
  344. package/lib-commonjs/components/MenuItemCheckbox/useMenuItemCheckboxStyles.js.map +1 -1
  345. package/lib-commonjs/components/MenuItemRadio/MenuItemRadio.d.ts +1 -1
  346. package/lib-commonjs/components/MenuItemRadio/MenuItemRadio.js +9 -9
  347. package/lib-commonjs/components/MenuItemRadio/MenuItemRadio.js.map +1 -1
  348. package/lib-commonjs/components/MenuItemRadio/MenuItemRadio.types.js.map +1 -1
  349. package/lib-commonjs/components/MenuItemRadio/index.d.ts +1 -0
  350. package/lib-commonjs/components/MenuItemRadio/index.js +3 -1
  351. package/lib-commonjs/components/MenuItemRadio/index.js.map +1 -1
  352. package/lib-commonjs/components/MenuItemRadio/renderMenuItemRadio.d.ts +1 -1
  353. package/lib-commonjs/components/MenuItemRadio/renderMenuItemRadio.js +15 -14
  354. package/lib-commonjs/components/MenuItemRadio/renderMenuItemRadio.js.map +1 -1
  355. package/lib-commonjs/components/MenuItemRadio/useMenuItemRadio.d.ts +1 -1
  356. package/lib-commonjs/components/MenuItemRadio/useMenuItemRadio.js +19 -20
  357. package/lib-commonjs/components/MenuItemRadio/useMenuItemRadio.js.map +1 -1
  358. package/lib-commonjs/components/MenuItemRadio/useMenuItemRadioStyles.d.ts +2 -1
  359. package/lib-commonjs/components/MenuItemRadio/useMenuItemRadioStyles.js +12 -7
  360. package/lib-commonjs/components/MenuItemRadio/useMenuItemRadioStyles.js.map +1 -1
  361. package/lib-commonjs/components/MenuList/MenuList.d.ts +1 -1
  362. package/lib-commonjs/components/MenuList/MenuList.js +11 -11
  363. package/lib-commonjs/components/MenuList/MenuList.js.map +1 -1
  364. package/lib-commonjs/components/MenuList/MenuList.types.d.ts +12 -10
  365. package/lib-commonjs/components/MenuList/MenuList.types.js.map +1 -1
  366. package/lib-commonjs/components/MenuList/index.d.ts +1 -1
  367. package/lib-commonjs/components/MenuList/index.js +1 -3
  368. package/lib-commonjs/components/MenuList/index.js.map +1 -1
  369. package/lib-commonjs/components/MenuList/renderMenuList.d.ts +1 -1
  370. package/lib-commonjs/components/MenuList/renderMenuList.js +12 -13
  371. package/lib-commonjs/components/MenuList/renderMenuList.js.map +1 -1
  372. package/lib-commonjs/components/MenuList/useMenuList.d.ts +1 -1
  373. package/lib-commonjs/components/MenuList/useMenuList.js +77 -95
  374. package/lib-commonjs/components/MenuList/useMenuList.js.map +1 -1
  375. package/lib-commonjs/components/MenuList/useMenuListContextValues.d.ts +1 -1
  376. package/lib-commonjs/components/MenuList/useMenuListContextValues.js +21 -19
  377. package/lib-commonjs/components/MenuList/useMenuListContextValues.js.map +1 -1
  378. package/lib-commonjs/components/MenuList/useMenuListStyles.d.ts +2 -1
  379. package/lib-commonjs/components/MenuList/useMenuListStyles.js +12 -9
  380. package/lib-commonjs/components/MenuList/useMenuListStyles.js.map +1 -1
  381. package/lib-commonjs/components/MenuPopover/MenuPopover.js +8 -8
  382. package/lib-commonjs/components/MenuPopover/MenuPopover.js.map +1 -1
  383. package/lib-commonjs/components/MenuPopover/MenuPopover.types.d.ts +2 -2
  384. package/lib-commonjs/components/MenuPopover/MenuPopover.types.js.map +1 -1
  385. package/lib-commonjs/components/MenuPopover/index.js +1 -1
  386. package/lib-commonjs/components/MenuPopover/index.js.map +1 -1
  387. package/lib-commonjs/components/MenuPopover/renderMenuPopover.d.ts +1 -1
  388. package/lib-commonjs/components/MenuPopover/renderMenuPopover.js +14 -13
  389. package/lib-commonjs/components/MenuPopover/renderMenuPopover.js.map +1 -1
  390. package/lib-commonjs/components/MenuPopover/useMenuPopover.d.ts +3 -3
  391. package/lib-commonjs/components/MenuPopover/useMenuPopover.js +43 -50
  392. package/lib-commonjs/components/MenuPopover/useMenuPopover.js.map +1 -1
  393. package/lib-commonjs/components/MenuPopover/useMenuPopoverStyles.d.ts +2 -1
  394. package/lib-commonjs/components/MenuPopover/useMenuPopoverStyles.js +17 -10
  395. package/lib-commonjs/components/MenuPopover/useMenuPopoverStyles.js.map +1 -1
  396. package/lib-commonjs/components/MenuSplitGroup/MenuSplitGroup.d.ts +6 -0
  397. package/lib-commonjs/components/MenuSplitGroup/MenuSplitGroup.js +26 -0
  398. package/lib-commonjs/components/MenuSplitGroup/MenuSplitGroup.js.map +1 -0
  399. package/lib-commonjs/components/MenuSplitGroup/MenuSplitGroup.types.d.ts +14 -0
  400. package/lib-commonjs/components/MenuSplitGroup/MenuSplitGroup.types.js +6 -0
  401. package/lib-commonjs/components/MenuSplitGroup/MenuSplitGroup.types.js.map +1 -0
  402. package/lib-commonjs/components/MenuSplitGroup/index.d.ts +5 -0
  403. package/lib-commonjs/components/MenuSplitGroup/index.js +18 -0
  404. package/lib-commonjs/components/MenuSplitGroup/index.js.map +1 -0
  405. package/lib-commonjs/components/MenuSplitGroup/renderMenuSplitGroup.d.ts +5 -0
  406. package/lib-commonjs/components/MenuSplitGroup/renderMenuSplitGroup.js +26 -0
  407. package/lib-commonjs/components/MenuSplitGroup/renderMenuSplitGroup.js.map +1 -0
  408. package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroup.d.ts +12 -0
  409. package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroup.js +81 -0
  410. package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroup.js.map +1 -0
  411. package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroupStyles.d.ts +6 -0
  412. package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroupStyles.js +47 -0
  413. package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroupStyles.js.map +1 -0
  414. package/lib-commonjs/components/MenuTrigger/MenuTrigger.d.ts +2 -1
  415. package/lib-commonjs/components/MenuTrigger/MenuTrigger.js +6 -5
  416. package/lib-commonjs/components/MenuTrigger/MenuTrigger.js.map +1 -1
  417. package/lib-commonjs/components/MenuTrigger/MenuTrigger.types.d.ts +7 -3
  418. package/lib-commonjs/components/MenuTrigger/MenuTrigger.types.js.map +1 -1
  419. package/lib-commonjs/components/MenuTrigger/index.js +1 -1
  420. package/lib-commonjs/components/MenuTrigger/index.js.map +1 -1
  421. package/lib-commonjs/components/MenuTrigger/renderMenuTrigger.d.ts +1 -1
  422. package/lib-commonjs/components/MenuTrigger/renderMenuTrigger.js +6 -6
  423. package/lib-commonjs/components/MenuTrigger/renderMenuTrigger.js.map +1 -1
  424. package/lib-commonjs/components/MenuTrigger/useMenuTrigger.d.ts +2 -2
  425. package/lib-commonjs/components/MenuTrigger/useMenuTrigger.js +175 -7
  426. package/lib-commonjs/components/MenuTrigger/useMenuTrigger.js.map +1 -1
  427. package/lib-commonjs/components/index.js +1 -1
  428. package/lib-commonjs/components/index.js.map +1 -1
  429. package/lib-commonjs/contexts/menuContext.d.ts +1 -1
  430. package/lib-commonjs/contexts/menuContext.js +6 -12
  431. package/lib-commonjs/contexts/menuContext.js.map +1 -1
  432. package/lib-commonjs/contexts/menuGroupContext.d.ts +1 -1
  433. package/lib-commonjs/contexts/menuGroupContext.js +5 -7
  434. package/lib-commonjs/contexts/menuGroupContext.js.map +1 -1
  435. package/lib-commonjs/contexts/menuListContext.d.ts +1 -1
  436. package/lib-commonjs/contexts/menuListContext.js +8 -18
  437. package/lib-commonjs/contexts/menuListContext.js.map +1 -1
  438. package/lib-commonjs/contexts/menuTriggerContext.d.ts +1 -1
  439. package/lib-commonjs/contexts/menuTriggerContext.js +6 -8
  440. package/lib-commonjs/contexts/menuTriggerContext.js.map +1 -1
  441. package/lib-commonjs/index.d.ts +11 -10
  442. package/lib-commonjs/index.js +17 -15
  443. package/lib-commonjs/index.js.map +1 -1
  444. package/lib-commonjs/selectable/index.js +1 -1
  445. package/lib-commonjs/selectable/index.js.map +1 -1
  446. package/lib-commonjs/selectable/types.js.map +1 -1
  447. package/lib-commonjs/selectable/useCheckmarkStyles.d.ts +2 -2
  448. package/lib-commonjs/selectable/useCheckmarkStyles.js +7 -7
  449. package/lib-commonjs/selectable/useCheckmarkStyles.js.map +1 -1
  450. package/lib-commonjs/utils/index.js +1 -1
  451. package/lib-commonjs/utils/index.js.map +1 -1
  452. package/lib-commonjs/utils/useIsSubmenu.js +5 -7
  453. package/lib-commonjs/utils/useIsSubmenu.js.map +1 -1
  454. package/lib-commonjs/utils/useOnMenuEnter.js +18 -16
  455. package/lib-commonjs/utils/useOnMenuEnter.js.map +1 -1
  456. package/package.json +16 -17
  457. package/lib/common/isConformant.d.ts +0 -4
  458. package/lib/common/isConformant.js +0 -12
  459. package/lib/common/isConformant.js.map +0 -1
  460. package/lib/common/mockUseMenuContext.d.ts +0 -7
  461. package/lib/common/mockUseMenuContext.js +0 -36
  462. package/lib/common/mockUseMenuContext.js.map +0 -1
  463. package/lib/components/MenuTrigger/useTriggerElement.d.ts +0 -5
  464. package/lib/components/MenuTrigger/useTriggerElement.js +0 -179
  465. package/lib/components/MenuTrigger/useTriggerElement.js.map +0 -1
  466. package/lib/utils/DefaultIcons.d.ts +0 -7
  467. package/lib/utils/DefaultIcons.js +0 -88
  468. package/lib/utils/DefaultIcons.js.map +0 -1
  469. package/lib-commonjs/common/isConformant.d.ts +0 -4
  470. package/lib-commonjs/common/isConformant.js +0 -23
  471. package/lib-commonjs/common/isConformant.js.map +0 -1
  472. package/lib-commonjs/common/mockUseMenuContext.d.ts +0 -7
  473. package/lib-commonjs/common/mockUseMenuContext.js +0 -47
  474. package/lib-commonjs/common/mockUseMenuContext.js.map +0 -1
  475. package/lib-commonjs/components/MenuTrigger/useTriggerElement.d.ts +0 -5
  476. package/lib-commonjs/components/MenuTrigger/useTriggerElement.js +0 -195
  477. package/lib-commonjs/components/MenuTrigger/useTriggerElement.js.map +0 -1
  478. package/lib-commonjs/utils/DefaultIcons.d.ts +0 -7
  479. package/lib-commonjs/utils/DefaultIcons.js +0 -100
  480. package/lib-commonjs/utils/DefaultIcons.js.map +0 -1
@@ -4,7 +4,7 @@ import { MenuProvider } from '../../contexts/menuContext';
4
4
  * Render the final JSX of Menu
5
5
  */
6
6
 
7
- export var renderMenu = function (state, contextValues) {
7
+ export const renderMenu_unstable = (state, contextValues) => {
8
8
  return /*#__PURE__*/React.createElement(MenuProvider, {
9
9
  value: contextValues.menu
10
10
  }, state.menuTrigger, state.open && state.menuPopover);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Menu/renderMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,YAAT,QAA6B,4BAA7B;AAGA;;AAEG;;AACH,OAAO,IAAM,UAAU,GAAG,UAAC,KAAD,EAAmB,aAAnB,EAAmD;AAC3E,sBACE,KAAA,CAAA,aAAA,CAAC,YAAD,EAAa;AAAC,IAAA,KAAK,EAAE,aAAa,CAAC;AAAtB,GAAb,EACG,KAAK,CAAC,WADT,EAEG,KAAK,CAAC,IAAN,IAAc,KAAK,CAAC,WAFvB,CADF;AAMD,CAPM","sourceRoot":""}
1
+ {"version":3,"sources":["components/Menu/renderMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,YAAT,QAA6B,4BAA7B;AAGA;;AAEG;;AACH,OAAO,MAAM,mBAAmB,GAAG,CAAC,KAAD,EAAmB,aAAnB,KAAuD;AACxF,sBACE,KAAA,CAAA,aAAA,CAAC,YAAD,EAAa;AAAC,IAAA,KAAK,EAAE,aAAa,CAAC;AAAtB,GAAb,EACG,KAAK,CAAC,WADT,EAEG,KAAK,CAAC,IAAN,IAAc,KAAK,CAAC,WAFvB,CADF;AAMD,CAPM","sourcesContent":["import * as React from 'react';\nimport { MenuProvider } from '../../contexts/menuContext';\nimport type { MenuContextValues, MenuState } from './Menu.types';\n\n/**\n * Render the final JSX of Menu\n */\nexport const renderMenu_unstable = (state: MenuState, contextValues: MenuContextValues) => {\n return (\n <MenuProvider value={contextValues.menu}>\n {state.menuTrigger}\n {state.open && state.menuPopover}\n </MenuProvider>\n );\n};\n"],"sourceRoot":"../src/"}
@@ -3,8 +3,8 @@ import type { MenuProps, MenuState } from './Menu.types';
3
3
  * Create the state required to render Menu.
4
4
  *
5
5
  * The returned state can be modified with hooks such as useMenuStyles,
6
- * before being passed to renderMenu.
6
+ * before being passed to renderMenu_unstable.
7
7
  *
8
8
  * @param props - props from this instance of Menu
9
9
  */
10
- export declare const useMenu: (props: MenuProps) => MenuState;
10
+ export declare const useMenu_unstable: (props: MenuProps) => MenuState;
@@ -1,152 +1,143 @@
1
- import { __assign } from "tslib";
2
1
  import * as React from 'react';
3
2
  import { usePopperMouseTarget, usePopper, resolvePositioningShorthand } from '@fluentui/react-positioning';
4
3
  import { useControllableState, useId, useOnClickOutside, useEventCallback } from '@fluentui/react-utilities';
5
- import { useFluent } from '@fluentui/react-provider';
4
+ import { useFluent } from '@fluentui/react-shared-contexts';
6
5
  import { elementContains } from '@fluentui/react-portal';
7
6
  import { useFocusFinders } from '@fluentui/react-tabster';
8
- import { MenuTrigger } from '../MenuTrigger/index';
9
- import { useMenuContext } from '../../contexts/menuContext';
7
+ import { useMenuContext_unstable } from '../../contexts/menuContext';
10
8
  import { MENU_ENTER_EVENT, useOnMenuMouseEnter } from '../../utils/index';
11
9
  import { useIsSubmenu } from '../../utils/useIsSubmenu';
12
10
  /**
13
11
  * Create the state required to render Menu.
14
12
  *
15
13
  * The returned state can be modified with hooks such as useMenuStyles,
16
- * before being passed to renderMenu.
14
+ * before being passed to renderMenu_unstable.
17
15
  *
18
16
  * @param props - props from this instance of Menu
19
17
  */
20
18
 
21
- export var useMenu = function (props) {
22
- var triggerId = useId('menu');
23
- var isSubmenu = useIsSubmenu();
24
-
25
- var _a = usePopperMouseTarget(),
26
- contextTarget = _a[0],
27
- setContextTarget = _a[1];
28
-
29
- var popperState = __assign({
19
+ export const useMenu_unstable = props => {
20
+ const triggerId = useId('menu');
21
+ const isSubmenu = useIsSubmenu();
22
+ const [contextTarget, setContextTarget] = usePopperMouseTarget();
23
+ const popperState = {
30
24
  position: isSubmenu ? 'after' : 'below',
31
25
  align: isSubmenu ? 'top' : 'start',
32
- target: props.openOnContext ? contextTarget : undefined
33
- }, resolvePositioningShorthand(props.positioning));
34
-
35
- var children = React.Children.toArray(props.children);
36
-
37
- if (children.length !== 2 && process.env.NODE_ENV !== 'production') {
38
- // eslint-disable-next-line no-console
39
- console.warn('Menu can only take one MenuTrigger and one MenuList as children');
40
- }
26
+ target: props.openOnContext ? contextTarget : undefined,
27
+ ...resolvePositioningShorthand(props.positioning)
28
+ };
29
+ const children = React.Children.toArray(props.children);
30
+
31
+ if (process.env.NODE_ENV !== 'production') {
32
+ if (children.length === 0) {
33
+ // eslint-disable-next-line no-console
34
+ console.warn('Menu must contain at least one child');
35
+ }
41
36
 
42
- var _b = children.reduce(function (acc, child) {
43
- if (child.type === MenuTrigger) {
44
- acc.menuTrigger = child;
45
- } else {
46
- acc.menuPopover = child;
37
+ if (children.length > 2) {
38
+ // eslint-disable-next-line no-console
39
+ console.warn('Menu must contain at most two children');
47
40
  }
41
+ }
48
42
 
49
- return acc;
50
- }, {}),
51
- menuTrigger = _b.menuTrigger,
52
- menuPopover = _b.menuPopover;
43
+ let menuTrigger = undefined;
44
+ let menuPopover = undefined;
53
45
 
54
- var _c = usePopper(popperState),
55
- triggerRef = _c.targetRef,
56
- menuPopoverRef = _c.containerRef;
46
+ if (children.length === 2) {
47
+ menuTrigger = children[0];
48
+ menuPopover = children[1];
49
+ } else if (children.length === 1) {
50
+ menuPopover = children[0];
51
+ }
57
52
 
58
- var initialState = __assign(__assign({
53
+ const {
54
+ targetRef: triggerRef,
55
+ containerRef: menuPopoverRef
56
+ } = usePopper(popperState);
57
+ const initialState = {
59
58
  hoverDelay: 500,
60
- triggerId: triggerId,
59
+ triggerId,
61
60
  isSubmenu: !!isSubmenu,
62
61
  openOnHover: !!isSubmenu,
63
- contextTarget: contextTarget,
64
- setContextTarget: setContextTarget
65
- }, props), {
66
- menuTrigger: menuTrigger,
67
- menuPopover: menuPopover,
68
- triggerRef: triggerRef,
69
- menuPopoverRef: menuPopoverRef
70
- }); // TODO Better way to narrow types ?
71
-
72
-
73
- var _d = useMenuOpenState(initialState),
74
- open = _d[0],
75
- setOpen = _d[1];
76
-
77
- var _e = useMenuSelectableState(initialState),
78
- checkedValues = _e[0],
79
- onCheckedValueChange = _e[1];
80
-
81
- return __assign(__assign({}, initialState), {
82
- open: open,
83
- setOpen: setOpen,
84
- checkedValues: checkedValues,
85
- onCheckedValueChange: onCheckedValueChange
86
- });
62
+ contextTarget,
63
+ setContextTarget,
64
+ ...props,
65
+ menuTrigger,
66
+ menuPopover,
67
+ triggerRef,
68
+ menuPopoverRef,
69
+ components: {}
70
+ }; // TODO Better way to narrow types ?
71
+
72
+ const [open, setOpen] = useMenuOpenState(initialState);
73
+ const [checkedValues, onCheckedValueChange] = useMenuSelectableState(initialState);
74
+ return { ...initialState,
75
+ open,
76
+ setOpen,
77
+ checkedValues,
78
+ onCheckedValueChange
79
+ };
87
80
  };
88
81
  /**
89
82
  * Adds appropriate state values and handlers for selectable items
90
83
  * i.e checkboxes and radios
91
84
  */
92
85
 
93
- var useMenuSelectableState = function (state) {
94
- var _a = useControllableState({
86
+ const useMenuSelectableState = state => {
87
+ const [checkedValues, setCheckedValues] = useControllableState({
95
88
  state: state.checkedValues,
96
89
  defaultState: state.defaultCheckedValues,
97
90
  initialState: {}
98
- }),
99
- checkedValues = _a[0],
100
- setCheckedValues = _a[1];
101
-
102
- var onCheckedValueChangeOriginal = state.onCheckedValueChange;
103
- var onCheckedValueChange = useEventCallback(function (e, _a) {
104
- var name = _a.name,
105
- checkedItems = _a.checkedItems;
106
-
91
+ });
92
+ const {
93
+ onCheckedValueChange: onCheckedValueChangeOriginal
94
+ } = state;
95
+ const onCheckedValueChange = useEventCallback((e, {
96
+ name,
97
+ checkedItems
98
+ }) => {
107
99
  if (onCheckedValueChangeOriginal) {
108
100
  onCheckedValueChangeOriginal(e, {
109
- name: name,
110
- checkedItems: checkedItems
101
+ name,
102
+ checkedItems
111
103
  });
112
104
  }
113
105
 
114
- setCheckedValues(function (s) {
115
- var _a, _b;
116
-
117
- return s ? __assign(__assign({}, s), (_a = {}, _a[name] = checkedItems, _a)) : (_b = {}, _b[name] = checkedItems, _b);
106
+ setCheckedValues(s => {
107
+ return s ? { ...s,
108
+ [name]: checkedItems
109
+ } : {
110
+ [name]: checkedItems
111
+ };
118
112
  });
119
113
  });
120
114
  return [checkedValues, onCheckedValueChange];
121
115
  };
122
116
 
123
- var useMenuOpenState = function (state) {
124
- var targetDocument = useFluent().targetDocument;
125
- var parentSetOpen = useMenuContext(function (context) {
126
- return context.setOpen;
127
- });
128
- var onOpenChange = useEventCallback(function (e, data) {
117
+ const useMenuOpenState = state => {
118
+ const {
119
+ targetDocument
120
+ } = useFluent();
121
+ const parentSetOpen = useMenuContext_unstable(context => context.setOpen);
122
+ const onOpenChange = useEventCallback((e, data) => {
129
123
  var _a;
130
124
 
131
125
  return (_a = state.onOpenChange) === null || _a === void 0 ? void 0 : _a.call(state, e, data);
132
126
  });
133
- var shouldHandleKeyboardRef = React.useRef(false);
134
- var shouldHandleTabRef = React.useRef(false);
135
- var pressedShiftRef = React.useRef(false);
136
- var setOpenTimeout = React.useRef(0);
137
- var enteringTriggerRef = React.useRef(false);
138
-
139
- var _a = useControllableState({
127
+ const shouldHandleKeyboardRef = React.useRef(false);
128
+ const shouldHandleTabRef = React.useRef(false);
129
+ const pressedShiftRef = React.useRef(false);
130
+ const setOpenTimeout = React.useRef(0);
131
+ const enteringTriggerRef = React.useRef(false);
132
+ const [open, setOpenState] = useControllableState({
140
133
  state: state.open,
141
134
  defaultState: state.defaultOpen,
142
135
  initialState: false
143
- }),
144
- open = _a[0],
145
- setOpenState = _a[1];
146
-
147
- var trySetOpen = useEventCallback(function (e, data) {
148
- var event = e instanceof CustomEvent && e.type === MENU_ENTER_EVENT ? e.detail.nativeEvent : e;
149
- onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(event, __assign({}, data));
136
+ });
137
+ const trySetOpen = useEventCallback((e, data) => {
138
+ const event = e instanceof CustomEvent && e.type === MENU_ENTER_EVENT ? e.detail.nativeEvent : e;
139
+ onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(event, { ...data
140
+ });
150
141
 
151
142
  if (data.open && e.type === 'contextmenu') {
152
143
  state.setContextTarget(e);
@@ -163,12 +154,13 @@ var useMenuOpenState = function (state) {
163
154
  }
164
155
 
165
156
  if (data.bubble) {
166
- parentSetOpen(e, __assign({}, data));
157
+ parentSetOpen(e, { ...data
158
+ });
167
159
  }
168
160
 
169
161
  setOpenState(data.open);
170
162
  });
171
- var setOpen = useEventCallback(function (e, data) {
163
+ const setOpen = useEventCallback((e, data) => {
172
164
  var _a;
173
165
 
174
166
  clearTimeout(setOpenTimeout.current);
@@ -186,9 +178,7 @@ var useMenuOpenState = function (state) {
186
178
  // @ts-ignore
187
179
 
188
180
 
189
- setOpenTimeout.current = setTimeout(function () {
190
- return trySetOpen(e, data);
191
- }, state.hoverDelay);
181
+ setOpenTimeout.current = setTimeout(() => trySetOpen(e, data), state.hoverDelay);
192
182
  } else {
193
183
  trySetOpen(e, data);
194
184
  }
@@ -198,15 +188,13 @@ var useMenuOpenState = function (state) {
198
188
  disabled: !open,
199
189
  element: targetDocument,
200
190
  refs: [state.menuPopoverRef, state.triggerRef],
201
- callback: function (e) {
202
- return setOpen(e, {
203
- open: false
204
- });
205
- }
191
+ callback: e => setOpen(e, {
192
+ open: false
193
+ })
206
194
  });
207
195
  useOnMenuMouseEnter({
208
196
  element: targetDocument,
209
- callback: function (e) {
197
+ callback: e => {
210
198
  // When moving from a menu directly back to its trigger, this handler can close the menu
211
199
  // Explicitly check a flag to see if this situation happens
212
200
  if (!enteringTriggerRef.current) {
@@ -220,39 +208,42 @@ var useMenuOpenState = function (state) {
220
208
  }); // Clear timeout on unmount
221
209
  // Setting state after a component unmounts can cause memory leaks
222
210
 
223
- React.useEffect(function () {
224
- return function () {
211
+ React.useEffect(() => {
212
+ return () => {
225
213
  clearTimeout(setOpenTimeout.current);
226
214
  };
227
215
  }, []); // Manage focus for open state
228
216
 
229
- var _b = useFocusFinders(),
230
- findFirstFocusable = _b.findFirstFocusable,
231
- findNextFocusable = _b.findNextFocusable,
232
- findPrevFocusable = _b.findPrevFocusable;
233
-
234
- var focusFirst = React.useCallback(function () {
235
- var firstFocusable = findFirstFocusable(state.menuPopoverRef.current);
217
+ const {
218
+ findFirstFocusable,
219
+ findNextFocusable,
220
+ findPrevFocusable
221
+ } = useFocusFinders();
222
+ const focusFirst = React.useCallback(() => {
223
+ const firstFocusable = findFirstFocusable(state.menuPopoverRef.current);
236
224
  firstFocusable === null || firstFocusable === void 0 ? void 0 : firstFocusable.focus();
237
225
  }, [findFirstFocusable, state.menuPopoverRef]);
238
- var focusAfterMenuTrigger = React.useCallback(function () {
239
- var nextFocusable = findNextFocusable(state.triggerRef.current);
226
+ const focusAfterMenuTrigger = React.useCallback(() => {
227
+ const nextFocusable = findNextFocusable(state.triggerRef.current);
240
228
  nextFocusable === null || nextFocusable === void 0 ? void 0 : nextFocusable.focus();
241
229
  }, [findNextFocusable, state.triggerRef]);
242
- var focusBeforeMenuTrigger = React.useCallback(function () {
243
- var prevFocusable = findPrevFocusable(state.triggerRef.current);
230
+ const focusBeforeMenuTrigger = React.useCallback(() => {
231
+ const prevFocusable = findPrevFocusable(state.triggerRef.current);
244
232
  prevFocusable === null || prevFocusable === void 0 ? void 0 : prevFocusable.focus();
245
233
  }, [findPrevFocusable, state.triggerRef]);
246
- React.useEffect(function () {
247
- var _a;
248
-
249
- if (!shouldHandleKeyboardRef.current) {
250
- return;
234
+ React.useEffect(() => {
235
+ if (open) {
236
+ focusFirst();
251
237
  }
238
+ }, [open, focusFirst]);
239
+ React.useEffect(() => {
240
+ var _a;
252
241
 
253
242
  if (open) {
254
243
  focusFirst();
255
- } else {
244
+ }
245
+
246
+ if (shouldHandleKeyboardRef.current && !open) {
256
247
  if (shouldHandleTabRef.current && !state.isSubmenu) {
257
248
  pressedShiftRef.current ? focusBeforeMenuTrigger() : focusAfterMenuTrigger();
258
249
  } else {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Menu/useMenu.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,oBAAT,EAA+B,SAA/B,EAA0C,2BAA1C,QAA6E,6BAA7E;AACA,SAAS,oBAAT,EAA+B,KAA/B,EAAsC,iBAAtC,EAAyD,gBAAzD,QAAiF,2BAAjF;AACA,SAAS,SAAT,QAA0B,0BAA1B;AACA,SAAS,eAAT,QAAgC,wBAAhC;AACA,SAAS,eAAT,QAAgC,yBAAhC;AACA,SAAS,WAAT,QAA4B,sBAA5B;AACA,SAAS,cAAT,QAA+B,4BAA/B;AACA,SAAS,gBAAT,EAA2B,mBAA3B,QAAsD,mBAAtD;AACA,SAAS,YAAT,QAA6B,0BAA7B;AAGA;;;;;;;AAOG;;AACH,OAAO,IAAM,OAAO,GAAG,UAAC,KAAD,EAAiB;AACtC,MAAM,SAAS,GAAG,KAAK,CAAC,MAAD,CAAvB;AACA,MAAM,SAAS,GAAG,YAAY,EAA9B;;AACM,MAAA,EAAA,GAAoC,oBAAoB,EAAxD;AAAA,MAAC,aAAa,GAAA,EAAA,CAAA,CAAA,CAAd;AAAA,MAAgB,gBAAgB,GAAA,EAAA,CAAA,CAAA,CAAhC;;AAEN,MAAM,WAAW,GAAA,QAAA,CAAA;AACf,IAAA,QAAQ,EAAE,SAAS,GAAI,OAAJ,GAAyB,OAD7B;AAEf,IAAA,KAAK,EAAE,SAAS,GAAI,KAAJ,GAAuB,OAFxB;AAGf,IAAA,MAAM,EAAE,KAAK,CAAC,aAAN,GAAsB,aAAtB,GAAsC;AAH/B,GAAA,EAIZ,2BAA2B,CAAC,KAAK,CAAC,WAAP,CAJf,CAAjB;;AAOA,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAN,CAAe,OAAf,CAAuB,KAAK,CAAC,QAA7B,CAAjB;;AAEA,MAAI,QAAQ,CAAC,MAAT,KAAoB,CAApB,IAAyB,OAAO,CAAC,GAAR,CAAY,QAAZ,KAAyB,YAAtD,EAAoE;AAClE;AACA,IAAA,OAAO,CAAC,IAAR,CAAa,iEAAb;AACD;;AAEK,MAAA,EAAA,GAA+B,QAAQ,CAAC,MAAT,CAAgB,UAAC,GAAD,EAAM,KAAN,EAAW;AAC9D,QAAI,KAAK,CAAC,IAAN,KAAe,WAAnB,EAAgC;AAC9B,MAAA,GAAG,CAAC,WAAJ,GAAkB,KAAlB;AACD,KAFD,MAEO;AACL,MAAA,GAAG,CAAC,WAAJ,GAAkB,KAAlB;AACD;;AAED,WAAO,GAAP;AACD,GARoC,EAQlC,EARkC,CAA/B;AAAA,MAAE,WAAW,GAAA,EAAA,CAAA,WAAb;AAAA,MAAe,WAAW,GAAA,EAAA,CAAA,WAA1B;;AASA,MAAA,EAAA,GAA0D,SAAS,CAAC,WAAD,CAAnE;AAAA,MAAa,UAAU,GAAA,EAAA,CAAA,SAAvB;AAAA,MAAuC,cAAc,GAAA,EAAA,CAAA,YAArD;;AAEN,MAAM,YAAY,GAAG,QAAA,CAAA,QAAA,CAAA;AACnB,IAAA,UAAU,EAAE,GADO;AAEnB,IAAA,SAAS,EAAA,SAFU;AAGnB,IAAA,SAAS,EAAE,CAAC,CAAC,SAHM;AAInB,IAAA,WAAW,EAAE,CAAC,CAAC,SAJI;AAKnB,IAAA,aAAa,EAAA,aALM;AAMnB,IAAA,gBAAgB,EAAA;AANG,GAAA,EAOhB,KAPgB,CAAA,EAOX;AACR,IAAA,WAAW,EAAA,WADH;AAER,IAAA,WAAW,EAAA,WAFH;AAGR,IAAA,UAAU,EAAA,UAHF;AAIR,IAAA,cAAc,EAAA;AAJN,GAPW,CAArB,CA9BsC,CA4CtC;;;AAEM,MAAA,EAAA,GAAkB,gBAAgB,CAAC,YAAD,CAAlC;AAAA,MAAC,IAAI,GAAA,EAAA,CAAA,CAAA,CAAL;AAAA,MAAO,OAAO,GAAA,EAAA,CAAA,CAAA,CAAd;;AACA,MAAA,EAAA,GAAwC,sBAAsB,CAAC,YAAD,CAA9D;AAAA,MAAC,aAAa,GAAA,EAAA,CAAA,CAAA,CAAd;AAAA,MAAgB,oBAAoB,GAAA,EAAA,CAAA,CAAA,CAApC;;AAEN,SAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EACK,YADL,CAAA,EACiB;AACf,IAAA,IAAI,EAAA,IADW;AAEf,IAAA,OAAO,EAAA,OAFQ;AAGf,IAAA,aAAa,EAAA,aAHE;AAIf,IAAA,oBAAoB,EAAA;AAJL,GADjB,CAAA;AAOD,CAxDM;AA0DP;;;AAGG;;AACH,IAAM,sBAAsB,GAAG,UAC7B,KAD6B,EAC4D;AAEnF,MAAA,EAAA,GAAoC,oBAAoB,CAAC;AAC7D,IAAA,KAAK,EAAE,KAAK,CAAC,aADgD;AAE7D,IAAA,YAAY,EAAE,KAAK,CAAC,oBAFyC;AAG7D,IAAA,YAAY,EAAE;AAH+C,GAAD,CAAxD;AAAA,MAAC,aAAa,GAAA,EAAA,CAAA,CAAA,CAAd;AAAA,MAAgB,gBAAgB,GAAA,EAAA,CAAA,CAAA,CAAhC;;AAKE,MAAsB,4BAA4B,GAAK,KAAK,CAAV,oBAAlD;AACR,MAAM,oBAAoB,GAAsC,gBAAgB,CAAC,UAAC,CAAD,EAAI,EAAJ,EAA0B;QAApB,IAAI,GAAA,EAAA,CAAA,I;QAAE,YAAY,GAAA,EAAA,CAAA,Y;;AACvG,QAAI,4BAAJ,EAAkC;AAChC,MAAA,4BAA4B,CAAC,CAAD,EAAI;AAAE,QAAA,IAAI,EAAA,IAAN;AAAQ,QAAA,YAAY,EAAA;AAApB,OAAJ,CAA5B;AACD;;AAED,IAAA,gBAAgB,CAAC,UAAA,CAAA,EAAC;;;AAChB,aAAO,CAAC,GAAE,QAAA,CAAA,QAAA,CAAA,EAAA,EAAM,CAAN,CAAA,GAAO,EAAA,GAAA,EAAA,EAAA,EAAA,CAAG,IAAH,CAAA,GAAU,YAAV,EAAsB,EAA7B,EAAF,IAAmC,EAAA,GAAA,EAAA,EAAG,EAAA,CAAC,IAAD,CAAA,GAAQ,YAAX,EAAuB,EAA1D,CAAR;AACD,KAFe,CAAhB;AAGD,GAR+E,CAAhF;AAUA,SAAO,CAAC,aAAD,EAAgB,oBAAhB,CAAP;AACD,CApBD;;AAsBA,IAAM,gBAAgB,GAAG,UACvB,KADuB,EAEkB;AAEjC,MAAA,cAAc,GAAK,SAAS,GAAd,cAAd;AACR,MAAM,aAAa,GAAG,cAAc,CAAC,UAAA,OAAA,EAAO;AAAI,WAAA,OAAO,CAAP,OAAA;AAAe,GAA3B,CAApC;AACA,MAAM,YAAY,GAA8B,gBAAgB,CAAC,UAAC,CAAD,EAAI,IAAJ,EAAQ;AAAA,QAAA,EAAA;;AAAA,WAAA,CAAA,EAAA,GAAK,KAAK,CAAC,YAAX,MAAuB,IAAvB,IAAuB,EAAA,KAAA,KAAA,CAAvB,GAAuB,KAAA,CAAvB,GAAuB,EAAA,CAAA,IAAA,CAAlB,KAAkB,EAAG,CAAH,EAAM,IAAN,CAAvB;AAAkC,GAA3C,CAAhE;AAEA,MAAM,uBAAuB,GAAG,KAAK,CAAC,MAAN,CAAa,KAAb,CAAhC;AACA,MAAM,kBAAkB,GAAG,KAAK,CAAC,MAAN,CAAa,KAAb,CAA3B;AACA,MAAM,eAAe,GAAG,KAAK,CAAC,MAAN,CAAa,KAAb,CAAxB;AACA,MAAM,cAAc,GAAG,KAAK,CAAC,MAAN,CAAa,CAAb,CAAvB;AACA,MAAM,kBAAkB,GAAG,KAAK,CAAC,MAAN,CAAa,KAAb,CAA3B;;AAEM,MAAA,EAAA,GAAuB,oBAAoB,CAAC;AAChD,IAAA,KAAK,EAAE,KAAK,CAAC,IADmC;AAEhD,IAAA,YAAY,EAAE,KAAK,CAAC,WAF4B;AAGhD,IAAA,YAAY,EAAE;AAHkC,GAAD,CAA3C;AAAA,MAAC,IAAI,GAAA,EAAA,CAAA,CAAA,CAAL;AAAA,MAAO,YAAY,GAAA,EAAA,CAAA,CAAA,CAAnB;;AAMN,MAAM,UAAU,GAAG,gBAAgB,CAAC,UAAC,CAAD,EAAoB,IAApB,EAA4C;AAC9E,QAAM,KAAK,GAAG,CAAC,YAAY,WAAb,IAA4B,CAAC,CAAC,IAAF,KAAW,gBAAvC,GAA0D,CAAC,CAAC,MAAF,CAAS,WAAnE,GAAiF,CAA/F;AACA,IAAA,YAAY,KAAA,IAAZ,IAAA,YAAY,KAAA,KAAA,CAAZ,GAAY,KAAA,CAAZ,GAAA,YAAY,CAAG,KAAH,EAAQ,QAAA,CAAA,EAAA,EAAO,IAAP,CAAR,CAAZ;;AACA,QAAI,IAAI,CAAC,IAAL,IAAa,CAAC,CAAC,IAAF,KAAW,aAA5B,EAA2C;AACzC,MAAA,KAAK,CAAC,gBAAN,CAAuB,CAAvB;AACD;;AAED,QAAI,CAAC,IAAI,CAAC,IAAV,EAAgB;AACd,MAAA,KAAK,CAAC,gBAAN,CAAuB,SAAvB;AACD;;AAED,QAAI,IAAI,CAAC,QAAT,EAAmB;AACjB,MAAA,uBAAuB,CAAC,OAAxB,GAAkC,IAAlC;AACA,MAAA,kBAAkB,CAAC,OAAnB,GAA8B,CAAyB,CAAC,GAA1B,KAAkC,KAAhE;AACA,MAAA,eAAe,CAAC,OAAhB,GAA2B,CAAyB,CAAC,QAArD;AACD;;AAED,QAAI,IAAI,CAAC,MAAT,EAAiB;AACf,MAAA,aAAa,CAAC,CAAD,EAAE,QAAA,CAAA,EAAA,EAAO,IAAP,CAAF,CAAb;AACD;;AAED,IAAA,YAAY,CAAC,IAAI,CAAC,IAAN,CAAZ;AACD,GAtBkC,CAAnC;AAwBA,MAAM,OAAO,GAAG,gBAAgB,CAAC,UAAC,CAAD,EAAoB,IAApB,EAA4C;;;AAC3E,IAAA,YAAY,CAAC,cAAc,CAAC,OAAhB,CAAZ;;AACA,QAAI,EAAE,CAAC,YAAY,KAAf,KAAyB,CAAC,CAAC,OAA/B,EAAwC;AACtC;AACA,MAAA,CAAC,CAAC,OAAF;AACD;;AAED,QAAI,CAAC,CAAC,IAAF,KAAW,YAAX,IAA2B,CAAC,CAAC,IAAF,KAAW,YAAtC,IAAsD,CAAC,CAAC,IAAF,KAAW,WAAjE,IAAgF,CAAC,CAAC,IAAF,KAAW,gBAA/F,EAAiH;AAC/G,UAAA,CAAA,EAAA,GAAI,KAAK,CAAC,UAAN,CAAiB,OAArB,MAA4B,IAA5B,IAA4B,EAAA,KAAA,KAAA,CAA5B,GAA4B,KAAA,CAA5B,GAA4B,EAAA,CAAE,QAAF,CAAW,CAAC,CAAC,MAAb,CAA5B,EAAiE;AAC/D,QAAA,kBAAkB,CAAC,OAAnB,GAA6B,CAAC,CAAC,IAAF,KAAW,YAAX,IAA2B,CAAC,CAAC,IAAF,KAAW,WAAnE;AACD,OAH8G,CAK/G;AACA;AACA;;;AACA,MAAA,cAAc,CAAC,OAAf,GAAyB,UAAU,CAAC,YAAA;AAAM,eAAA,UAAU,CAAC,CAAD,EAAV,IAAU,CAAV;AAAmB,OAA1B,EAA4B,KAAK,CAAC,UAAlC,CAAnC;AACD,KATD,MASO;AACL,MAAA,UAAU,CAAC,CAAD,EAAI,IAAJ,CAAV;AACD;AACF,GAnB+B,CAAhC;AAqBA,EAAA,iBAAiB,CAAC;AAChB,IAAA,QAAQ,EAAE,eADM;AAEhB,IAAA,QAAQ,EAAE,CAAC,IAFK;AAGhB,IAAA,OAAO,EAAE,cAHO;AAIhB,IAAA,IAAI,EAAE,CAAC,KAAK,CAAC,cAAP,EAAuB,KAAK,CAAC,UAA7B,CAJU;AAKhB,IAAA,QAAQ,EAAE,UAAA,CAAA,EAAC;AAAI,aAAA,OAAO,CAAC,CAAD,EAAI;AAAE,QAAA,IAAI,EAAjB;AAAW,OAAJ,CAAP;AAA2B;AAL1B,GAAD,CAAjB;AAOA,EAAA,mBAAmB,CAAC;AAClB,IAAA,OAAO,EAAE,cADS;AAElB,IAAA,QAAQ,EAAE,UAAA,CAAA,EAAC;AACT;AACA;AACA,UAAI,CAAC,kBAAkB,CAAC,OAAxB,EAAiC;AAC/B,QAAA,OAAO,CAAC,CAAD,EAAI;AAAE,UAAA,IAAI,EAAE;AAAR,SAAJ,CAAP;AACD;AACF,KARiB;AASlB,IAAA,QAAQ,EAAE,CAAC,IATO;AAUlB,IAAA,IAAI,EAAE,CAAC,KAAK,CAAC,cAAP;AAVY,GAAD,CAAnB,CAtEyC,CAmFzC;AACA;;AACA,EAAA,KAAK,CAAC,SAAN,CAAgB,YAAA;AACd,WAAO,YAAA;AACL,MAAA,YAAY,CAAC,cAAc,CAAC,OAAhB,CAAZ;AACD,KAFD;AAGD,GAJD,EAIG,EAJH,EArFyC,CA2FzC;;AACM,MAAA,EAAA,GAA+D,eAAe,EAA9E;AAAA,MAAE,kBAAkB,GAAA,EAAA,CAAA,kBAApB;AAAA,MAAsB,iBAAiB,GAAA,EAAA,CAAA,iBAAvC;AAAA,MAAyC,iBAAiB,GAAA,EAAA,CAAA,iBAA1D;;AACN,MAAM,UAAU,GAAG,KAAK,CAAC,WAAN,CAAkB,YAAA;AACnC,QAAM,cAAc,GAAG,kBAAkB,CAAC,KAAK,CAAC,cAAN,CAAqB,OAAtB,CAAzC;AACA,IAAA,cAAc,KAAA,IAAd,IAAA,cAAc,KAAA,KAAA,CAAd,GAAc,KAAA,CAAd,GAAA,cAAc,CAAE,KAAhB,EAAA;AACD,GAHkB,EAGhB,CAAC,kBAAD,EAAqB,KAAK,CAAC,cAA3B,CAHgB,CAAnB;AAKA,MAAM,qBAAqB,GAAG,KAAK,CAAC,WAAN,CAAkB,YAAA;AAC9C,QAAM,aAAa,GAAG,iBAAiB,CAAC,KAAK,CAAC,UAAN,CAAiB,OAAlB,CAAvC;AACA,IAAA,aAAa,KAAA,IAAb,IAAA,aAAa,KAAA,KAAA,CAAb,GAAa,KAAA,CAAb,GAAA,aAAa,CAAE,KAAf,EAAA;AACD,GAH6B,EAG3B,CAAC,iBAAD,EAAoB,KAAK,CAAC,UAA1B,CAH2B,CAA9B;AAKA,MAAM,sBAAsB,GAAG,KAAK,CAAC,WAAN,CAAkB,YAAA;AAC/C,QAAM,aAAa,GAAG,iBAAiB,CAAC,KAAK,CAAC,UAAN,CAAiB,OAAlB,CAAvC;AACA,IAAA,aAAa,KAAA,IAAb,IAAA,aAAa,KAAA,KAAA,CAAb,GAAa,KAAA,CAAb,GAAA,aAAa,CAAE,KAAf,EAAA;AACD,GAH8B,EAG5B,CAAC,iBAAD,EAAoB,KAAK,CAAC,UAA1B,CAH4B,CAA/B;AAKA,EAAA,KAAK,CAAC,SAAN,CAAgB,YAAA;;;AACd,QAAI,CAAC,uBAAuB,CAAC,OAA7B,EAAsC;AACpC;AACD;;AAED,QAAI,IAAJ,EAAU;AACR,MAAA,UAAU;AACX,KAFD,MAEO;AACL,UAAI,kBAAkB,CAAC,OAAnB,IAA8B,CAAC,KAAK,CAAC,SAAzC,EAAoD;AAClD,QAAA,eAAe,CAAC,OAAhB,GAA0B,sBAAsB,EAAhD,GAAqD,qBAAqB,EAA1E;AACD,OAFD,MAEO;AACL,SAAA,EAAA,GAAA,KAAK,CAAC,UAAN,CAAiB,OAAjB,MAAwB,IAAxB,IAAwB,EAAA,KAAA,KAAA,CAAxB,GAAwB,KAAA,CAAxB,GAAwB,EAAA,CAAE,KAAF,EAAxB;AACD;AACF;;AAED,IAAA,uBAAuB,CAAC,OAAxB,GAAkC,KAAlC;AACA,IAAA,kBAAkB,CAAC,OAAnB,GAA6B,KAA7B;AACA,IAAA,eAAe,CAAC,OAAhB,GAA0B,KAA1B;AACD,GAlBD,EAkBG,CAAC,KAAK,CAAC,UAAP,EAAmB,KAAK,CAAC,SAAzB,EAAoC,IAApC,EAA0C,UAA1C,EAAsD,qBAAtD,EAA6E,sBAA7E,CAlBH;AAoBA,SAAO,CAAC,IAAI,KAAA,IAAJ,IAAA,IAAI,KAAA,KAAA,CAAJ,GAAA,IAAA,GAAQ,KAAT,EAAgB,OAAhB,CAAP;AACD,CAnID","sourceRoot":""}
1
+ {"version":3,"sources":["components/Menu/useMenu.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { usePopperMouseTarget, usePopper, resolvePositioningShorthand } from '@fluentui/react-positioning';\nimport { useControllableState, useId, useOnClickOutside, useEventCallback } from '@fluentui/react-utilities';\nimport { 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, MenuOpenEvents, MenuProps, MenuState } from './Menu.types';\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 triggerId = useId('menu');\n const isSubmenu = useIsSubmenu();\n const [contextTarget, setContextTarget] = usePopperMouseTarget();\n\n const popperState = {\n position: isSubmenu ? ('after' as const) : ('below' as const),\n align: isSubmenu ? ('top' as const) : ('start' as const),\n target: props.openOnContext ? contextTarget : undefined,\n ...resolvePositioningShorthand(props.positioning),\n };\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 const { targetRef: triggerRef, containerRef: menuPopoverRef } = usePopper(popperState);\n\n const initialState = {\n hoverDelay: 500,\n triggerId,\n isSubmenu: !!isSubmenu,\n openOnHover: !!isSubmenu,\n contextTarget,\n setContextTarget,\n ...props,\n menuTrigger,\n menuPopover,\n triggerRef,\n menuPopoverRef,\n components: {},\n } as const;\n\n // TODO Better way to narrow types ?\n\n const [open, setOpen] = useMenuOpenState(initialState);\n const [checkedValues, onCheckedValueChange] = useMenuSelectableState(initialState);\n\n return {\n ...initialState,\n open,\n setOpen,\n checkedValues,\n onCheckedValueChange,\n };\n};\n\n/**\n * Adds appropriate state values and handlers for selectable items\n * i.e checkboxes and radios\n */\nconst useMenuSelectableState = (\n state: Pick<MenuProps, 'checkedValues' | 'defaultCheckedValues' | 'onCheckedValueChange'>,\n) => {\n const [checkedValues, setCheckedValues] = useControllableState({\n state: state.checkedValues,\n defaultState: state.defaultCheckedValues,\n initialState: {},\n });\n const { onCheckedValueChange: onCheckedValueChangeOriginal } = state;\n const onCheckedValueChange: MenuState['onCheckedValueChange'] = useEventCallback((e, { name, checkedItems }) => {\n if (onCheckedValueChangeOriginal) {\n onCheckedValueChangeOriginal(e, { name, checkedItems });\n }\n\n setCheckedValues(s => {\n return s ? { ...s, [name]: checkedItems } : { [name]: checkedItems };\n });\n });\n\n return [checkedValues, onCheckedValueChange] as const;\n};\n\nconst useMenuOpenState = (\n state: Pick<MenuState, 'onOpenChange' | 'setContextTarget' | 'triggerRef' | 'menuPopoverRef' | 'isSubmenu'> &\n Pick<MenuProps, 'open' | 'defaultOpen'>,\n) => {\n const { targetDocument } = useFluent();\n const parentSetOpen = useMenuContext_unstable(context => context.setOpen);\n const onOpenChange: MenuState['onOpenChange'] = useEventCallback((e, data) => state.onOpenChange?.(e, data));\n\n const shouldHandleKeyboardRef = React.useRef(false);\n const shouldHandleTabRef = React.useRef(false);\n const pressedShiftRef = 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: MenuOpenEvents, 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 }\n\n if (data.keyboard) {\n shouldHandleKeyboardRef.current = true;\n shouldHandleTabRef.current = (e as React.KeyboardEvent).key === 'Tab';\n pressedShiftRef.current = (e as React.KeyboardEvent).shiftKey;\n }\n\n if (data.bubble) {\n parentSetOpen(e, { ...data });\n }\n\n setOpenState(data.open);\n });\n\n const setOpen = useEventCallback((e: MenuOpenEvents, 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.triggerRef],\n callback: e => setOpen(e, { open: false }),\n });\n useOnMenuMouseEnter({\n element: targetDocument,\n callback: e => {\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(e, { open: false });\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, findNextFocusable, findPrevFocusable } = useFocusFinders();\n const focusFirst = React.useCallback(() => {\n const firstFocusable = findFirstFocusable(state.menuPopoverRef.current);\n firstFocusable?.focus();\n }, [findFirstFocusable, state.menuPopoverRef]);\n\n const focusAfterMenuTrigger = React.useCallback(() => {\n const nextFocusable = findNextFocusable(state.triggerRef.current);\n nextFocusable?.focus();\n }, [findNextFocusable, state.triggerRef]);\n\n const focusBeforeMenuTrigger = React.useCallback(() => {\n const prevFocusable = findPrevFocusable(state.triggerRef.current);\n prevFocusable?.focus();\n }, [findPrevFocusable, state.triggerRef]);\n\n React.useEffect(() => {\n if (open) {\n focusFirst();\n }\n }, [open, focusFirst]);\n\n React.useEffect(() => {\n if (open) {\n focusFirst();\n }\n\n if (shouldHandleKeyboardRef.current && !open) {\n if (shouldHandleTabRef.current && !state.isSubmenu) {\n pressedShiftRef.current ? focusBeforeMenuTrigger() : focusAfterMenuTrigger();\n } else {\n state.triggerRef.current?.focus();\n }\n }\n\n shouldHandleKeyboardRef.current = false;\n shouldHandleTabRef.current = false;\n pressedShiftRef.current = false;\n }, [state.triggerRef, state.isSubmenu, open, focusFirst, focusAfterMenuTrigger, focusBeforeMenuTrigger]);\n\n return [open ?? false, setOpen] as const;\n};\n"],"sourceRoot":"../src/"}
@@ -1,2 +1,2 @@
1
1
  import type { MenuContextValues, MenuState } from './Menu.types';
2
- export declare function useMenuContextValues(state: MenuState): MenuContextValues;
2
+ export declare function useMenuContextValues_unstable(state: MenuState): MenuContextValues;
@@ -1,39 +1,41 @@
1
- export function useMenuContextValues(state) {
2
- var open = state.open,
3
- setOpen = state.setOpen,
4
- onCheckedValueChange = state.onCheckedValueChange,
5
- checkedValues = state.checkedValues,
6
- defaultCheckedValues = state.defaultCheckedValues,
7
- openOnHover = state.openOnHover,
8
- openOnContext = state.openOnContext,
9
- triggerRef = state.triggerRef,
10
- triggerId = state.triggerId,
11
- menuPopoverRef = state.menuPopoverRef,
12
- isSubmenu = state.isSubmenu,
13
- hasCheckmarks = state.hasCheckmarks,
14
- hasIcons = state.hasIcons,
15
- persistOnItemClick = state.persistOnItemClick,
16
- inline = state.inline; // This context is created with "@fluentui/react-context-selector", these is no sense to memoize it
1
+ export function useMenuContextValues_unstable(state) {
2
+ const {
3
+ open,
4
+ setOpen,
5
+ onCheckedValueChange,
6
+ checkedValues,
7
+ defaultCheckedValues,
8
+ openOnHover,
9
+ openOnContext,
10
+ triggerRef,
11
+ triggerId,
12
+ menuPopoverRef,
13
+ isSubmenu,
14
+ hasCheckmarks,
15
+ hasIcons,
16
+ persistOnItemClick,
17
+ inline
18
+ } = state; // This context is created with "@fluentui/react-context-selector", these is no sense to memoize it
17
19
 
18
- var menu = {
19
- open: open,
20
- setOpen: setOpen,
21
- onCheckedValueChange: onCheckedValueChange,
22
- checkedValues: checkedValues,
23
- defaultCheckedValues: defaultCheckedValues,
24
- triggerRef: triggerRef,
25
- openOnHover: openOnHover,
26
- openOnContext: openOnContext,
27
- triggerId: triggerId,
28
- menuPopoverRef: menuPopoverRef,
29
- isSubmenu: isSubmenu,
30
- hasCheckmarks: hasCheckmarks,
31
- hasIcons: hasIcons,
32
- persistOnItemClick: persistOnItemClick,
33
- inline: inline
20
+ const menu = {
21
+ open,
22
+ setOpen,
23
+ onCheckedValueChange,
24
+ checkedValues,
25
+ defaultCheckedValues,
26
+ triggerRef,
27
+ openOnHover,
28
+ openOnContext,
29
+ triggerId,
30
+ menuPopoverRef,
31
+ isSubmenu,
32
+ hasCheckmarks,
33
+ hasIcons,
34
+ persistOnItemClick,
35
+ inline
34
36
  };
35
37
  return {
36
- menu: menu
38
+ menu
37
39
  };
38
40
  }
39
41
  //# sourceMappingURL=useMenuContextValues.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Menu/useMenuContextValues.ts"],"names":[],"mappings":"AAEA,OAAM,SAAU,oBAAV,CAA+B,KAA/B,EAA+C;AAEjD,MAAA,IAAI,GAeF,KAAK,CAfH,IAAJ;AAAA,MACA,OAAO,GAcL,KAAK,CAdA,OADP;AAAA,MAEA,oBAAoB,GAalB,KAAK,CAba,oBAFpB;AAAA,MAGA,aAAa,GAYX,KAAK,CAZM,aAHb;AAAA,MAIA,oBAAoB,GAWlB,KAAK,CAXa,oBAJpB;AAAA,MAKA,WAAW,GAUT,KAAK,CAVI,WALX;AAAA,MAMA,aAAa,GASX,KAAK,CATM,aANb;AAAA,MAOA,UAAU,GAQR,KAAK,CARG,UAPV;AAAA,MAQA,SAAS,GAOP,KAAK,CAPE,SART;AAAA,MASA,cAAc,GAMZ,KAAK,CANO,cATd;AAAA,MAUA,SAAS,GAKP,KAAK,CALE,SAVT;AAAA,MAWA,aAAa,GAIX,KAAK,CAJM,aAXb;AAAA,MAYA,QAAQ,GAGN,KAAK,CAHC,QAZR;AAAA,MAaA,kBAAkB,GAEhB,KAAK,CAFW,kBAblB;AAAA,MAcA,MAAM,GACJ,KAAK,CADD,MAdN,CAFiD,CAmBnD;;AACA,MAAM,IAAI,GAAG;AACX,IAAA,IAAI,EAAA,IADO;AAEX,IAAA,OAAO,EAAA,OAFI;AAGX,IAAA,oBAAoB,EAAA,oBAHT;AAIX,IAAA,aAAa,EAAA,aAJF;AAKX,IAAA,oBAAoB,EAAA,oBALT;AAMX,IAAA,UAAU,EAAA,UANC;AAOX,IAAA,WAAW,EAAA,WAPA;AAQX,IAAA,aAAa,EAAA,aARF;AASX,IAAA,SAAS,EAAA,SATE;AAUX,IAAA,cAAc,EAAA,cAVH;AAWX,IAAA,SAAS,EAAA,SAXE;AAYX,IAAA,aAAa,EAAA,aAZF;AAaX,IAAA,QAAQ,EAAA,QAbG;AAcX,IAAA,kBAAkB,EAAA,kBAdP;AAeX,IAAA,MAAM,EAAA;AAfK,GAAb;AAkBA,SAAO;AAAE,IAAA,IAAI,EAAA;AAAN,GAAP;AACD","sourceRoot":""}
1
+ {"version":3,"sources":["components/Menu/useMenuContextValues.ts"],"names":[],"mappings":"AAEA,OAAM,SAAU,6BAAV,CAAwC,KAAxC,EAAwD;AAC5D,QAAM;AACJ,IAAA,IADI;AAEJ,IAAA,OAFI;AAGJ,IAAA,oBAHI;AAIJ,IAAA,aAJI;AAKJ,IAAA,oBALI;AAMJ,IAAA,WANI;AAOJ,IAAA,aAPI;AAQJ,IAAA,UARI;AASJ,IAAA,SATI;AAUJ,IAAA,cAVI;AAWJ,IAAA,SAXI;AAYJ,IAAA,aAZI;AAaJ,IAAA,QAbI;AAcJ,IAAA,kBAdI;AAeJ,IAAA;AAfI,MAgBF,KAhBJ,CAD4D,CAmB5D;;AACA,QAAM,IAAI,GAAG;AACX,IAAA,IADW;AAEX,IAAA,OAFW;AAGX,IAAA,oBAHW;AAIX,IAAA,aAJW;AAKX,IAAA,oBALW;AAMX,IAAA,UANW;AAOX,IAAA,WAPW;AAQX,IAAA,aARW;AASX,IAAA,SATW;AAUX,IAAA,cAVW;AAWX,IAAA,SAXW;AAYX,IAAA,aAZW;AAaX,IAAA,QAbW;AAcX,IAAA,kBAdW;AAeX,IAAA;AAfW,GAAb;AAkBA,SAAO;AAAE,IAAA;AAAF,GAAP;AACD","sourcesContent":["import type { MenuContextValues, MenuState } from './Menu.types';\n\nexport function useMenuContextValues_unstable(state: MenuState): MenuContextValues {\n const {\n open,\n setOpen,\n onCheckedValueChange,\n checkedValues,\n defaultCheckedValues,\n openOnHover,\n openOnContext,\n triggerRef,\n triggerId,\n menuPopoverRef,\n isSubmenu,\n hasCheckmarks,\n hasIcons,\n persistOnItemClick,\n inline,\n } = state;\n\n // This context is created with \"@fluentui/react-context-selector\", these is no sense to memoize it\n const menu = {\n open,\n setOpen,\n onCheckedValueChange,\n checkedValues,\n defaultCheckedValues,\n triggerRef,\n openOnHover,\n openOnContext,\n triggerId,\n menuPopoverRef,\n isSubmenu,\n hasCheckmarks,\n hasIcons,\n persistOnItemClick,\n inline,\n };\n\n return { menu };\n}\n"],"sourceRoot":"../src/"}
@@ -1,6 +1,6 @@
1
1
  import type { MenuDividerProps } from './MenuDivider.types';
2
2
  import type { ForwardRefComponent } from '@fluentui/react-utilities';
3
3
  /**
4
- * Define a styled MenuDivider, using the `useMenuDivider` hook.
4
+ * Define a styled MenuDivider, using the `useMenuDivider_unstable` hook.
5
5
  */
6
6
  export declare const MenuDivider: ForwardRefComponent<MenuDividerProps>;
@@ -1,15 +1,15 @@
1
1
  import * as React from 'react';
2
- import { useMenuDivider } from './useMenuDivider';
3
- import { useMenuDividerStyles } from './useMenuDividerStyles';
4
- import { renderMenuDivider } from './renderMenuDivider';
2
+ import { useMenuDivider_unstable } from './useMenuDivider';
3
+ import { useMenuDividerStyles_unstable } from './useMenuDividerStyles';
4
+ import { renderMenuDivider_unstable } from './renderMenuDivider';
5
5
  /**
6
- * Define a styled MenuDivider, using the `useMenuDivider` hook.
6
+ * Define a styled MenuDivider, using the `useMenuDivider_unstable` hook.
7
7
  */
8
8
 
9
- export var MenuDivider = /*#__PURE__*/React.forwardRef(function (props, ref) {
10
- var state = useMenuDivider(props, ref);
11
- useMenuDividerStyles(state);
12
- return renderMenuDivider(state);
9
+ export const MenuDivider = /*#__PURE__*/React.forwardRef((props, ref) => {
10
+ const state = useMenuDivider_unstable(props, ref);
11
+ useMenuDividerStyles_unstable(state);
12
+ return renderMenuDivider_unstable(state);
13
13
  });
14
14
  MenuDivider.displayName = 'MenuDivider';
15
15
  //# sourceMappingURL=MenuDivider.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/MenuDivider/MenuDivider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,cAAT,QAA+B,kBAA/B;AACA,SAAS,oBAAT,QAAqC,wBAArC;AACA,SAAS,iBAAT,QAAkC,qBAAlC;AAIA;;AAEG;;AACH,OAAO,IAAM,WAAW,gBAA0C,KAAK,CAAC,UAAN,CAAiB,UAAC,KAAD,EAAQ,GAAR,EAAW;AAC5F,MAAM,KAAK,GAAG,cAAc,CAAC,KAAD,EAAQ,GAAR,CAA5B;AACA,EAAA,oBAAoB,CAAC,KAAD,CAApB;AAEA,SAAO,iBAAiB,CAAC,KAAD,CAAxB;AACD,CALiE,CAA3D;AAOP,WAAW,CAAC,WAAZ,GAA0B,aAA1B","sourceRoot":""}
1
+ {"version":3,"sources":["components/MenuDivider/MenuDivider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,uBAAT,QAAwC,kBAAxC;AACA,SAAS,6BAAT,QAA8C,wBAA9C;AACA,SAAS,0BAAT,QAA2C,qBAA3C;AAIA;;AAEG;;AACH,OAAO,MAAM,WAAW,gBAA0C,KAAK,CAAC,UAAN,CAAiB,CAAC,KAAD,EAAQ,GAAR,KAAe;AAChG,QAAM,KAAK,GAAG,uBAAuB,CAAC,KAAD,EAAQ,GAAR,CAArC;AACA,EAAA,6BAA6B,CAAC,KAAD,CAA7B;AAEA,SAAO,0BAA0B,CAAC,KAAD,CAAjC;AACD,CALiE,CAA3D;AAOP,WAAW,CAAC,WAAZ,GAA0B,aAA1B","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';\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 useMenuDividerStyles_unstable(state);\n\n return renderMenuDivider_unstable(state);\n});\n\nMenuDivider.displayName = 'MenuDivider';\n"],"sourceRoot":"../src/"}
@@ -1,6 +1,6 @@
1
- import { ComponentProps, ComponentState, IntrinsicShorthandProps } from '@fluentui/react-utilities';
1
+ import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';
2
2
  export declare type MenuDividerSlots = {
3
- root: IntrinsicShorthandProps<'div'>;
3
+ root: Slot<'div'>;
4
4
  };
5
5
  export declare type MenuDividerProps = ComponentProps<MenuDividerSlots>;
6
6
  export declare type MenuDividerState = ComponentState<MenuDividerSlots>;
@@ -1 +1 @@
1
- {"version":3,"file":"MenuDivider.types.js","sourceRoot":"","sources":["../../../src/components/MenuDivider/MenuDivider.types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"MenuDivider.types.js","sourceRoot":"../src/","sources":["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 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"../src/","sources":["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"]}
@@ -3,4 +3,4 @@ import { MenuDividerState } from './MenuDivider.types';
3
3
  * Redefine the render function to add slots. Reuse the menudivider structure but add
4
4
  * slots to children.
5
5
  */
6
- export declare const renderMenuDivider: (state: MenuDividerState) => JSX.Element;
6
+ export declare const renderMenuDivider_unstable: (state: MenuDividerState) => JSX.Element;
@@ -1,4 +1,3 @@
1
- import { __assign } from "tslib";
2
1
  import * as React from 'react';
3
2
  import { getSlots } from '@fluentui/react-utilities';
4
3
  /**
@@ -6,11 +5,12 @@ import { getSlots } from '@fluentui/react-utilities';
6
5
  * slots to children.
7
6
  */
8
7
 
9
- export var renderMenuDivider = function (state) {
10
- var _a = getSlots(state),
11
- slots = _a.slots,
12
- slotProps = _a.slotProps;
13
-
14
- return /*#__PURE__*/React.createElement(slots.root, __assign({}, slotProps.root));
8
+ export const renderMenuDivider_unstable = state => {
9
+ const {
10
+ slots,
11
+ slotProps
12
+ } = getSlots(state);
13
+ return /*#__PURE__*/React.createElement(slots.root, { ...slotProps.root
14
+ });
15
15
  };
16
16
  //# sourceMappingURL=renderMenuDivider.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/MenuDivider/renderMenuDivider.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,QAAT,QAAyB,2BAAzB;AAGA;;;AAGG;;AACH,OAAO,IAAM,iBAAiB,GAAG,UAAC,KAAD,EAAwB;AACjD,MAAA,EAAA,GAAuB,QAAQ,CAAmB,KAAnB,CAA/B;AAAA,MAAE,KAAK,GAAA,EAAA,CAAA,KAAP;AAAA,MAAS,SAAS,GAAA,EAAA,CAAA,SAAlB;;AAEN,sBAAO,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,IAAP,EAAW,QAAA,CAAA,EAAA,EAAK,SAAS,CAAC,IAAf,CAAX,CAAP;AACD,CAJM","sourceRoot":""}
1
+ {"version":3,"sources":["components/MenuDivider/renderMenuDivider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,QAAT,QAAyB,2BAAzB;AAGA;;;AAGG;;AACH,OAAO,MAAM,0BAA0B,GAAI,KAAD,IAA4B;AACpE,QAAM;AAAE,IAAA,KAAF;AAAS,IAAA;AAAT,MAAuB,QAAQ,CAAmB,KAAnB,CAArC;AAEA,sBAAO,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,IAAP,EAAW,EAAA,GAAK,SAAS,CAAC;AAAf,GAAX,CAAP;AACD,CAJM","sourcesContent":["import * as React from 'react';\nimport { getSlots } from '@fluentui/react-utilities';\nimport { 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"],"sourceRoot":"../src/"}