@fluentui/react-menu 0.0.0-nightly-20230223-2115.1 → 0.0.0-nightly-20230228-0425.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 (308) hide show
  1. package/CHANGELOG.json +23 -23
  2. package/CHANGELOG.md +14 -14
  3. package/lib/Menu.js.map +1 -1
  4. package/lib/MenuDivider.js.map +1 -1
  5. package/lib/MenuGroup.js.map +1 -1
  6. package/lib/MenuGroupHeader.js.map +1 -1
  7. package/lib/MenuItem.js.map +1 -1
  8. package/lib/MenuItemCheckbox.js.map +1 -1
  9. package/lib/MenuItemRadio.js.map +1 -1
  10. package/lib/MenuList.js.map +1 -1
  11. package/lib/MenuPopover.js.map +1 -1
  12. package/lib/MenuSplitGroup.js.map +1 -1
  13. package/lib/MenuTrigger.js.map +1 -1
  14. package/lib/components/Menu/Menu.js +0 -1
  15. package/lib/components/Menu/Menu.js.map +1 -1
  16. package/lib/components/Menu/Menu.types.js +1 -1
  17. package/lib/components/Menu/Menu.types.js.map +1 -1
  18. package/lib/components/Menu/index.js.map +1 -1
  19. package/lib/components/Menu/renderMenu.js.map +1 -1
  20. package/lib/components/Menu/useMenu.js +12 -14
  21. package/lib/components/Menu/useMenu.js.map +1 -1
  22. package/lib/components/Menu/useMenuContextValues.js.map +1 -1
  23. package/lib/components/MenuDivider/MenuDivider.js.map +1 -1
  24. package/lib/components/MenuDivider/MenuDivider.types.js.map +1 -1
  25. package/lib/components/MenuDivider/index.js.map +1 -1
  26. package/lib/components/MenuDivider/renderMenuDivider.js +3 -2
  27. package/lib/components/MenuDivider/renderMenuDivider.js.map +1 -1
  28. package/lib/components/MenuDivider/useMenuDivider.js +0 -1
  29. package/lib/components/MenuDivider/useMenuDivider.js.map +1 -1
  30. package/lib/components/MenuDivider/useMenuDividerStyles.js.map +1 -1
  31. package/lib/components/MenuGroup/MenuGroup.js.map +1 -1
  32. package/lib/components/MenuGroup/MenuGroup.types.js.map +1 -1
  33. package/lib/components/MenuGroup/index.js.map +1 -1
  34. package/lib/components/MenuGroup/renderMenuGroup.js +3 -2
  35. package/lib/components/MenuGroup/renderMenuGroup.js.map +1 -1
  36. package/lib/components/MenuGroup/useMenuGroup.js +0 -1
  37. package/lib/components/MenuGroup/useMenuGroup.js.map +1 -1
  38. package/lib/components/MenuGroup/useMenuGroupContextValues.js.map +1 -1
  39. package/lib/components/MenuGroup/useMenuGroupStyles.js.map +1 -1
  40. package/lib/components/MenuGroupHeader/MenuGroupHeader.js.map +1 -1
  41. package/lib/components/MenuGroupHeader/MenuGroupHeader.types.js.map +1 -1
  42. package/lib/components/MenuGroupHeader/index.js.map +1 -1
  43. package/lib/components/MenuGroupHeader/renderMenuGroupHeader.js +3 -2
  44. package/lib/components/MenuGroupHeader/renderMenuGroupHeader.js.map +1 -1
  45. package/lib/components/MenuGroupHeader/useMenuGroupHeader.js +0 -1
  46. package/lib/components/MenuGroupHeader/useMenuGroupHeader.js.map +1 -1
  47. package/lib/components/MenuGroupHeader/useMenuGroupHeaderStyles.js.map +1 -1
  48. package/lib/components/MenuItem/MenuItem.js.map +1 -1
  49. package/lib/components/MenuItem/MenuItem.types.js.map +1 -1
  50. package/lib/components/MenuItem/index.js.map +1 -1
  51. package/lib/components/MenuItem/renderMenuItem.js +13 -2
  52. package/lib/components/MenuItem/renderMenuItem.js.map +1 -1
  53. package/lib/components/MenuItem/useCharacterSearch.js +2 -3
  54. package/lib/components/MenuItem/useCharacterSearch.js.map +1 -1
  55. package/lib/components/MenuItem/useMenuItem.js +7 -7
  56. package/lib/components/MenuItem/useMenuItem.js.map +1 -1
  57. package/lib/components/MenuItem/useMenuItemStyles.js.map +1 -1
  58. package/lib/components/MenuItemCheckbox/MenuItemCheckbox.js.map +1 -1
  59. package/lib/components/MenuItemCheckbox/MenuItemCheckbox.types.js.map +1 -1
  60. package/lib/components/MenuItemCheckbox/index.js.map +1 -1
  61. package/lib/components/MenuItemCheckbox/renderMenuItemCheckbox.js +11 -2
  62. package/lib/components/MenuItemCheckbox/renderMenuItemCheckbox.js.map +1 -1
  63. package/lib/components/MenuItemCheckbox/useMenuItemCheckbox.js +4 -4
  64. package/lib/components/MenuItemCheckbox/useMenuItemCheckbox.js.map +1 -1
  65. package/lib/components/MenuItemCheckbox/useMenuItemCheckboxStyles.js.map +1 -1
  66. package/lib/components/MenuItemRadio/MenuItemRadio.js.map +1 -1
  67. package/lib/components/MenuItemRadio/MenuItemRadio.types.js.map +1 -1
  68. package/lib/components/MenuItemRadio/index.js.map +1 -1
  69. package/lib/components/MenuItemRadio/renderMenuItemRadio.js +11 -2
  70. package/lib/components/MenuItemRadio/renderMenuItemRadio.js.map +1 -1
  71. package/lib/components/MenuItemRadio/useMenuItemRadio.js +4 -4
  72. package/lib/components/MenuItemRadio/useMenuItemRadio.js.map +1 -1
  73. package/lib/components/MenuItemRadio/useMenuItemRadioStyles.js.map +1 -1
  74. package/lib/components/MenuList/MenuList.js.map +1 -1
  75. package/lib/components/MenuList/MenuList.types.js +1 -1
  76. package/lib/components/MenuList/MenuList.types.js.map +1 -1
  77. package/lib/components/MenuList/index.js.map +1 -1
  78. package/lib/components/MenuList/renderMenuList.js +3 -2
  79. package/lib/components/MenuList/renderMenuList.js.map +1 -1
  80. package/lib/components/MenuList/useMenuList.js +5 -4
  81. package/lib/components/MenuList/useMenuList.js.map +1 -1
  82. package/lib/components/MenuList/useMenuListContextValues.js.map +1 -1
  83. package/lib/components/MenuList/useMenuListStyles.js.map +1 -1
  84. package/lib/components/MenuPopover/MenuPopover.js.map +1 -1
  85. package/lib/components/MenuPopover/MenuPopover.types.js.map +1 -1
  86. package/lib/components/MenuPopover/index.js.map +1 -1
  87. package/lib/components/MenuPopover/renderMenuPopover.js +6 -3
  88. package/lib/components/MenuPopover/renderMenuPopover.js.map +1 -1
  89. package/lib/components/MenuPopover/useMenuPopover.js +4 -3
  90. package/lib/components/MenuPopover/useMenuPopover.js.map +1 -1
  91. package/lib/components/MenuPopover/useMenuPopoverStyles.js.map +1 -1
  92. package/lib/components/MenuSplitGroup/MenuSplitGroup.js.map +1 -1
  93. package/lib/components/MenuSplitGroup/MenuSplitGroup.types.js.map +1 -1
  94. package/lib/components/MenuSplitGroup/index.js.map +1 -1
  95. package/lib/components/MenuSplitGroup/renderMenuSplitGroup.js +3 -2
  96. package/lib/components/MenuSplitGroup/renderMenuSplitGroup.js.map +1 -1
  97. package/lib/components/MenuSplitGroup/useMenuSplitGroup.js +2 -2
  98. package/lib/components/MenuSplitGroup/useMenuSplitGroup.js.map +1 -1
  99. package/lib/components/MenuSplitGroup/useMenuSplitGroupStyles.js.map +1 -1
  100. package/lib/components/MenuTrigger/MenuTrigger.js +0 -1
  101. package/lib/components/MenuTrigger/MenuTrigger.js.map +1 -1
  102. package/lib/components/MenuTrigger/MenuTrigger.types.js +1 -1
  103. package/lib/components/MenuTrigger/MenuTrigger.types.js.map +1 -1
  104. package/lib/components/MenuTrigger/index.js.map +1 -1
  105. package/lib/components/MenuTrigger/renderMenuTrigger.js.map +1 -1
  106. package/lib/components/MenuTrigger/useMenuTrigger.js.map +1 -1
  107. package/lib/components/index.js.map +1 -1
  108. package/lib/contexts/menuContext.js +1 -5
  109. package/lib/contexts/menuContext.js.map +1 -1
  110. package/lib/contexts/menuGroupContext.js +4 -1
  111. package/lib/contexts/menuGroupContext.js.map +1 -1
  112. package/lib/contexts/menuListContext.js +1 -5
  113. package/lib/contexts/menuListContext.js.map +1 -1
  114. package/lib/contexts/menuTriggerContext.js +4 -1
  115. package/lib/contexts/menuTriggerContext.js.map +1 -1
  116. package/lib/index.js.map +1 -1
  117. package/lib/selectable/index.js.map +1 -1
  118. package/lib/selectable/types.js +1 -1
  119. package/lib/selectable/types.js.map +1 -1
  120. package/lib/selectable/useCheckmarkStyles.js.map +1 -1
  121. package/lib/utils/index.js.map +1 -1
  122. package/lib/utils/useIsSubmenu.js.map +1 -1
  123. package/lib/utils/useOnMenuEnter.js +2 -1
  124. package/lib/utils/useOnMenuEnter.js.map +1 -1
  125. package/lib-commonjs/Menu.js +4 -5
  126. package/lib-commonjs/Menu.js.map +1 -1
  127. package/lib-commonjs/MenuDivider.js +4 -5
  128. package/lib-commonjs/MenuDivider.js.map +1 -1
  129. package/lib-commonjs/MenuGroup.js +4 -5
  130. package/lib-commonjs/MenuGroup.js.map +1 -1
  131. package/lib-commonjs/MenuGroupHeader.js +4 -5
  132. package/lib-commonjs/MenuGroupHeader.js.map +1 -1
  133. package/lib-commonjs/MenuItem.js +4 -5
  134. package/lib-commonjs/MenuItem.js.map +1 -1
  135. package/lib-commonjs/MenuItemCheckbox.js +4 -5
  136. package/lib-commonjs/MenuItemCheckbox.js.map +1 -1
  137. package/lib-commonjs/MenuItemRadio.js +4 -5
  138. package/lib-commonjs/MenuItemRadio.js.map +1 -1
  139. package/lib-commonjs/MenuList.js +4 -5
  140. package/lib-commonjs/MenuList.js.map +1 -1
  141. package/lib-commonjs/MenuPopover.js +4 -5
  142. package/lib-commonjs/MenuPopover.js.map +1 -1
  143. package/lib-commonjs/MenuSplitGroup.js +4 -5
  144. package/lib-commonjs/MenuSplitGroup.js.map +1 -1
  145. package/lib-commonjs/MenuTrigger.js +4 -5
  146. package/lib-commonjs/MenuTrigger.js.map +1 -1
  147. package/lib-commonjs/components/Menu/Menu.js +15 -16
  148. package/lib-commonjs/components/Menu/Menu.js.map +1 -1
  149. package/lib-commonjs/components/Menu/Menu.types.js +2 -5
  150. package/lib-commonjs/components/Menu/Menu.types.js.map +1 -1
  151. package/lib-commonjs/components/Menu/index.js +8 -9
  152. package/lib-commonjs/components/Menu/index.js.map +1 -1
  153. package/lib-commonjs/components/Menu/renderMenu.js +14 -14
  154. package/lib-commonjs/components/Menu/renderMenu.js.map +1 -1
  155. package/lib-commonjs/components/Menu/useMenu.js +252 -249
  156. package/lib-commonjs/components/Menu/useMenu.js.map +1 -1
  157. package/lib-commonjs/components/Menu/useMenuContextValues.js +41 -28
  158. package/lib-commonjs/components/Menu/useMenuContextValues.js.map +1 -1
  159. package/lib-commonjs/components/MenuDivider/MenuDivider.js +15 -16
  160. package/lib-commonjs/components/MenuDivider/MenuDivider.js.map +1 -1
  161. package/lib-commonjs/components/MenuDivider/MenuDivider.types.js +2 -3
  162. package/lib-commonjs/components/MenuDivider/MenuDivider.types.js.map +1 -1
  163. package/lib-commonjs/components/MenuDivider/index.js +8 -9
  164. package/lib-commonjs/components/MenuDivider/index.js.map +1 -1
  165. package/lib-commonjs/components/MenuDivider/renderMenuDivider.js +19 -15
  166. package/lib-commonjs/components/MenuDivider/renderMenuDivider.js.map +1 -1
  167. package/lib-commonjs/components/MenuDivider/useMenuDivider.js +21 -22
  168. package/lib-commonjs/components/MenuDivider/useMenuDivider.js.map +1 -1
  169. package/lib-commonjs/components/MenuDivider/useMenuDividerStyles.js +25 -47
  170. package/lib-commonjs/components/MenuDivider/useMenuDividerStyles.js.map +1 -1
  171. package/lib-commonjs/components/MenuGroup/MenuGroup.js +17 -18
  172. package/lib-commonjs/components/MenuGroup/MenuGroup.js.map +1 -1
  173. package/lib-commonjs/components/MenuGroup/MenuGroup.types.js +2 -3
  174. package/lib-commonjs/components/MenuGroup/MenuGroup.types.js.map +1 -1
  175. package/lib-commonjs/components/MenuGroup/index.js +9 -10
  176. package/lib-commonjs/components/MenuGroup/index.js.map +1 -1
  177. package/lib-commonjs/components/MenuGroup/renderMenuGroup.js +22 -18
  178. package/lib-commonjs/components/MenuGroup/renderMenuGroup.js.map +1 -1
  179. package/lib-commonjs/components/MenuGroup/useMenuGroup.js +22 -23
  180. package/lib-commonjs/components/MenuGroup/useMenuGroup.js.map +1 -1
  181. package/lib-commonjs/components/MenuGroup/useMenuGroupContextValues.js +15 -18
  182. package/lib-commonjs/components/MenuGroup/useMenuGroupContextValues.js.map +1 -1
  183. package/lib-commonjs/components/MenuGroup/useMenuGroupStyles.js +11 -19
  184. package/lib-commonjs/components/MenuGroup/useMenuGroupStyles.js.map +1 -1
  185. package/lib-commonjs/components/MenuGroupHeader/MenuGroupHeader.js +15 -16
  186. package/lib-commonjs/components/MenuGroupHeader/MenuGroupHeader.js.map +1 -1
  187. package/lib-commonjs/components/MenuGroupHeader/MenuGroupHeader.types.js +2 -3
  188. package/lib-commonjs/components/MenuGroupHeader/MenuGroupHeader.types.js.map +1 -1
  189. package/lib-commonjs/components/MenuGroupHeader/index.js +8 -9
  190. package/lib-commonjs/components/MenuGroupHeader/index.js.map +1 -1
  191. package/lib-commonjs/components/MenuGroupHeader/renderMenuGroupHeader.js +19 -15
  192. package/lib-commonjs/components/MenuGroupHeader/renderMenuGroupHeader.js.map +1 -1
  193. package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeader.js +23 -22
  194. package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeader.js.map +1 -1
  195. package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeaderStyles.js +25 -47
  196. package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeaderStyles.js.map +1 -1
  197. package/lib-commonjs/components/MenuItem/MenuItem.js +15 -16
  198. package/lib-commonjs/components/MenuItem/MenuItem.js.map +1 -1
  199. package/lib-commonjs/components/MenuItem/MenuItem.types.js +2 -3
  200. package/lib-commonjs/components/MenuItem/MenuItem.types.js.map +1 -1
  201. package/lib-commonjs/components/MenuItem/index.js +8 -9
  202. package/lib-commonjs/components/MenuItem/index.js.map +1 -1
  203. package/lib-commonjs/components/MenuItem/renderMenuItem.js +28 -15
  204. package/lib-commonjs/components/MenuItem/renderMenuItem.js.map +1 -1
  205. package/lib-commonjs/components/MenuItem/useCharacterSearch.js +22 -24
  206. package/lib-commonjs/components/MenuItem/useCharacterSearch.js.map +1 -1
  207. package/lib-commonjs/components/MenuItem/useMenuItem.js +104 -97
  208. package/lib-commonjs/components/MenuItem/useMenuItem.js.map +1 -1
  209. package/lib-commonjs/components/MenuItem/useMenuItemStyles.js +134 -282
  210. package/lib-commonjs/components/MenuItem/useMenuItemStyles.js.map +1 -1
  211. package/lib-commonjs/components/MenuItemCheckbox/MenuItemCheckbox.js +15 -16
  212. package/lib-commonjs/components/MenuItemCheckbox/MenuItemCheckbox.js.map +1 -1
  213. package/lib-commonjs/components/MenuItemCheckbox/MenuItemCheckbox.types.js +2 -3
  214. package/lib-commonjs/components/MenuItemCheckbox/MenuItemCheckbox.types.js.map +1 -1
  215. package/lib-commonjs/components/MenuItemCheckbox/index.js +8 -9
  216. package/lib-commonjs/components/MenuItemCheckbox/index.js.map +1 -1
  217. package/lib-commonjs/components/MenuItemCheckbox/renderMenuItemCheckbox.js +24 -15
  218. package/lib-commonjs/components/MenuItemCheckbox/renderMenuItemCheckbox.js.map +1 -1
  219. package/lib-commonjs/components/MenuItemCheckbox/useMenuItemCheckbox.js +45 -44
  220. package/lib-commonjs/components/MenuItemCheckbox/useMenuItemCheckbox.js.map +1 -1
  221. package/lib-commonjs/components/MenuItemCheckbox/useMenuItemCheckboxStyles.js +30 -38
  222. package/lib-commonjs/components/MenuItemCheckbox/useMenuItemCheckboxStyles.js.map +1 -1
  223. package/lib-commonjs/components/MenuItemRadio/MenuItemRadio.js +15 -16
  224. package/lib-commonjs/components/MenuItemRadio/MenuItemRadio.js.map +1 -1
  225. package/lib-commonjs/components/MenuItemRadio/MenuItemRadio.types.js +2 -3
  226. package/lib-commonjs/components/MenuItemRadio/MenuItemRadio.types.js.map +1 -1
  227. package/lib-commonjs/components/MenuItemRadio/index.js +8 -9
  228. package/lib-commonjs/components/MenuItemRadio/index.js.map +1 -1
  229. package/lib-commonjs/components/MenuItemRadio/renderMenuItemRadio.js +27 -15
  230. package/lib-commonjs/components/MenuItemRadio/renderMenuItemRadio.js.map +1 -1
  231. package/lib-commonjs/components/MenuItemRadio/useMenuItemRadio.js +45 -42
  232. package/lib-commonjs/components/MenuItemRadio/useMenuItemRadio.js.map +1 -1
  233. package/lib-commonjs/components/MenuItemRadio/useMenuItemRadioStyles.js +30 -38
  234. package/lib-commonjs/components/MenuItemRadio/useMenuItemRadioStyles.js.map +1 -1
  235. package/lib-commonjs/components/MenuList/MenuList.js +17 -18
  236. package/lib-commonjs/components/MenuList/MenuList.js.map +1 -1
  237. package/lib-commonjs/components/MenuList/MenuList.types.js +2 -5
  238. package/lib-commonjs/components/MenuList/MenuList.types.js.map +1 -1
  239. package/lib-commonjs/components/MenuList/index.js +9 -10
  240. package/lib-commonjs/components/MenuList/index.js.map +1 -1
  241. package/lib-commonjs/components/MenuList/renderMenuList.js +21 -18
  242. package/lib-commonjs/components/MenuList/renderMenuList.js.map +1 -1
  243. package/lib-commonjs/components/MenuList/useMenuList.js +137 -141
  244. package/lib-commonjs/components/MenuList/useMenuList.js.map +1 -1
  245. package/lib-commonjs/components/MenuList/useMenuListContextValues.js +25 -20
  246. package/lib-commonjs/components/MenuList/useMenuListContextValues.js.map +1 -1
  247. package/lib-commonjs/components/MenuList/useMenuListStyles.js +23 -33
  248. package/lib-commonjs/components/MenuList/useMenuListStyles.js.map +1 -1
  249. package/lib-commonjs/components/MenuPopover/MenuPopover.js +15 -16
  250. package/lib-commonjs/components/MenuPopover/MenuPopover.js.map +1 -1
  251. package/lib-commonjs/components/MenuPopover/MenuPopover.types.js +2 -3
  252. package/lib-commonjs/components/MenuPopover/MenuPopover.types.js.map +1 -1
  253. package/lib-commonjs/components/MenuPopover/index.js +8 -9
  254. package/lib-commonjs/components/MenuPopover/index.js.map +1 -1
  255. package/lib-commonjs/components/MenuPopover/renderMenuPopover.js +24 -19
  256. package/lib-commonjs/components/MenuPopover/renderMenuPopover.js.map +1 -1
  257. package/lib-commonjs/components/MenuPopover/useMenuPopover.js +108 -99
  258. package/lib-commonjs/components/MenuPopover/useMenuPopover.js.map +1 -1
  259. package/lib-commonjs/components/MenuPopover/useMenuPopoverStyles.js +50 -121
  260. package/lib-commonjs/components/MenuPopover/useMenuPopoverStyles.js.map +1 -1
  261. package/lib-commonjs/components/MenuSplitGroup/MenuSplitGroup.js +15 -16
  262. package/lib-commonjs/components/MenuSplitGroup/MenuSplitGroup.js.map +1 -1
  263. package/lib-commonjs/components/MenuSplitGroup/MenuSplitGroup.types.js +2 -3
  264. package/lib-commonjs/components/MenuSplitGroup/MenuSplitGroup.types.js.map +1 -1
  265. package/lib-commonjs/components/MenuSplitGroup/index.js +8 -9
  266. package/lib-commonjs/components/MenuSplitGroup/index.js.map +1 -1
  267. package/lib-commonjs/components/MenuSplitGroup/renderMenuSplitGroup.js +18 -15
  268. package/lib-commonjs/components/MenuSplitGroup/renderMenuSplitGroup.js.map +1 -1
  269. package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroup.js +64 -58
  270. package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroup.js.map +1 -1
  271. package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroupStyles.js +32 -61
  272. package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroupStyles.js.map +1 -1
  273. package/lib-commonjs/components/MenuTrigger/MenuTrigger.js +15 -15
  274. package/lib-commonjs/components/MenuTrigger/MenuTrigger.js.map +1 -1
  275. package/lib-commonjs/components/MenuTrigger/MenuTrigger.types.js +2 -5
  276. package/lib-commonjs/components/MenuTrigger/MenuTrigger.types.js.map +1 -1
  277. package/lib-commonjs/components/MenuTrigger/index.js +7 -8
  278. package/lib-commonjs/components/MenuTrigger/index.js.map +1 -1
  279. package/lib-commonjs/components/MenuTrigger/renderMenuTrigger.js +16 -14
  280. package/lib-commonjs/components/MenuTrigger/renderMenuTrigger.js.map +1 -1
  281. package/lib-commonjs/components/MenuTrigger/useMenuTrigger.js +170 -163
  282. package/lib-commonjs/components/MenuTrigger/useMenuTrigger.js.map +1 -1
  283. package/lib-commonjs/components/index.js +5 -6
  284. package/lib-commonjs/components/index.js.map +1 -1
  285. package/lib-commonjs/contexts/menuContext.js +26 -40
  286. package/lib-commonjs/contexts/menuContext.js.map +1 -1
  287. package/lib-commonjs/contexts/menuGroupContext.js +12 -18
  288. package/lib-commonjs/contexts/menuGroupContext.js.map +1 -1
  289. package/lib-commonjs/contexts/menuListContext.js +14 -28
  290. package/lib-commonjs/contexts/menuListContext.js.map +1 -1
  291. package/lib-commonjs/contexts/menuTriggerContext.js +12 -17
  292. package/lib-commonjs/contexts/menuTriggerContext.js.map +1 -1
  293. package/lib-commonjs/index.js +399 -91
  294. package/lib-commonjs/index.js.map +1 -1
  295. package/lib-commonjs/selectable/index.js +5 -6
  296. package/lib-commonjs/selectable/index.js.map +1 -1
  297. package/lib-commonjs/selectable/types.js +2 -5
  298. package/lib-commonjs/selectable/types.js.map +1 -1
  299. package/lib-commonjs/selectable/useCheckmarkStyles.js +26 -28
  300. package/lib-commonjs/selectable/useCheckmarkStyles.js.map +1 -1
  301. package/lib-commonjs/utils/index.js +4 -5
  302. package/lib-commonjs/utils/index.js.map +1 -1
  303. package/lib-commonjs/utils/useIsSubmenu.js +19 -13
  304. package/lib-commonjs/utils/useIsSubmenu.js.map +1 -1
  305. package/lib-commonjs/utils/useOnMenuEnter.js +68 -56
  306. package/lib-commonjs/utils/useOnMenuEnter.js.map +1 -1
  307. package/package.json +13 -13
  308. package/.swcrc +0 -33
@@ -1,19 +1,32 @@
1
1
  "use strict";
2
+
2
3
  Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "renderMenuItem_unstable", {
6
- enumerable: true,
7
- get: ()=>renderMenuItem_unstable
4
+ value: true
8
5
  });
9
- const _interopRequireDefault = require("@swc/helpers/lib/_interop_require_default.js").default;
10
- const _interopRequireWildcard = require("@swc/helpers/lib/_interop_require_wildcard.js").default;
11
- const _extends = require("@swc/helpers/lib/_extends.js").default;
12
- const _react = /*#__PURE__*/ _interopRequireWildcard(require("react"));
13
- const _reactUtilities = require("@fluentui/react-utilities");
14
- const renderMenuItem_unstable = (state)=>{
15
- const { slots , slotProps } = (0, _reactUtilities.getSlots)(state);
16
- return /*#__PURE__*/ _react.createElement(slots.root, _extends({}, slotProps.root), slots.checkmark && /*#__PURE__*/ _react.createElement(slots.checkmark, _extends({}, slotProps.checkmark)), slots.icon && /*#__PURE__*/ _react.createElement(slots.icon, _extends({}, slotProps.icon)), slots.content && /*#__PURE__*/ _react.createElement(slots.content, _extends({}, slotProps.content)), slots.secondaryContent && /*#__PURE__*/ _react.createElement(slots.secondaryContent, _extends({}, slotProps.secondaryContent)), slots.submenuIndicator && /*#__PURE__*/ _react.createElement(slots.submenuIndicator, _extends({}, slotProps.submenuIndicator)));
17
- }; //# sourceMappingURL=renderMenuItem.js.map
18
-
6
+ exports.renderMenuItem_unstable = void 0;
7
+ const React = /*#__PURE__*/require("react");
8
+ const react_utilities_1 = /*#__PURE__*/require("@fluentui/react-utilities");
9
+ /**
10
+ * Function that renders the final JSX of the component
11
+ */
12
+ const renderMenuItem_unstable = state => {
13
+ const {
14
+ slots,
15
+ slotProps
16
+ } = react_utilities_1.getSlots(state);
17
+ return React.createElement(slots.root, {
18
+ ...slotProps.root
19
+ }, slots.checkmark && React.createElement(slots.checkmark, {
20
+ ...slotProps.checkmark
21
+ }), slots.icon && React.createElement(slots.icon, {
22
+ ...slotProps.icon
23
+ }), slots.content && React.createElement(slots.content, {
24
+ ...slotProps.content
25
+ }), slots.secondaryContent && React.createElement(slots.secondaryContent, {
26
+ ...slotProps.secondaryContent
27
+ }), slots.submenuIndicator && React.createElement(slots.submenuIndicator, {
28
+ ...slotProps.submenuIndicator
29
+ }));
30
+ };
31
+ exports.renderMenuItem_unstable = renderMenuItem_unstable;
19
32
  //# sourceMappingURL=renderMenuItem.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../lib/components/MenuItem/renderMenuItem.js"],"sourcesContent":["import _extends from \"@swc/helpers/src/_extends.mjs\";\nimport * as React from 'react';\nimport { getSlots } from '@fluentui/react-utilities';\n/**\n * Function that renders the final JSX of the component\n */\nexport const renderMenuItem_unstable = state => {\n const {\n slots,\n slotProps\n } = getSlots(state);\n return /*#__PURE__*/React.createElement(slots.root, _extends({}, slotProps.root), slots.checkmark && /*#__PURE__*/React.createElement(slots.checkmark, _extends({}, slotProps.checkmark)), slots.icon && /*#__PURE__*/React.createElement(slots.icon, _extends({}, slotProps.icon)), slots.content && /*#__PURE__*/React.createElement(slots.content, _extends({}, slotProps.content)), slots.secondaryContent && /*#__PURE__*/React.createElement(slots.secondaryContent, _extends({}, slotProps.secondaryContent)), slots.submenuIndicator && /*#__PURE__*/React.createElement(slots.submenuIndicator, _extends({}, slotProps.submenuIndicator)));\n};\n//# sourceMappingURL=renderMenuItem.js.map"],"names":["renderMenuItem_unstable","state","slots","slotProps","getSlots","React","createElement","root","_extends","checkmark","icon","content","secondaryContent","submenuIndicator"],"mappings":";;;;+BAMaA;;aAAAA;;;;yBANQ;6DACE;gCACE;AAIlB,MAAMA,0BAA0BC,CAAAA,QAAS;IAC9C,MAAM,EACJC,MAAK,EACLC,UAAS,EACV,GAAGC,IAAAA,wBAAQ,EAACH;IACb,OAAO,WAAW,GAAEI,OAAMC,aAAa,CAACJ,MAAMK,IAAI,EAAEC,SAAS,CAAC,GAAGL,UAAUI,IAAI,GAAGL,MAAMO,SAAS,IAAI,WAAW,GAAEJ,OAAMC,aAAa,CAACJ,MAAMO,SAAS,EAAED,SAAS,CAAC,GAAGL,UAAUM,SAAS,IAAIP,MAAMQ,IAAI,IAAI,WAAW,GAAEL,OAAMC,aAAa,CAACJ,MAAMQ,IAAI,EAAEF,SAAS,CAAC,GAAGL,UAAUO,IAAI,IAAIR,MAAMS,OAAO,IAAI,WAAW,GAAEN,OAAMC,aAAa,CAACJ,MAAMS,OAAO,EAAEH,SAAS,CAAC,GAAGL,UAAUQ,OAAO,IAAIT,MAAMU,gBAAgB,IAAI,WAAW,GAAEP,OAAMC,aAAa,CAACJ,MAAMU,gBAAgB,EAAEJ,SAAS,CAAC,GAAGL,UAAUS,gBAAgB,IAAIV,MAAMW,gBAAgB,IAAI,WAAW,GAAER,OAAMC,aAAa,CAACJ,MAAMW,gBAAgB,EAAEL,SAAS,CAAC,GAAGL,UAAUU,gBAAgB;AAClnB,GACA,0CAA0C"}
1
+ {"version":3,"mappings":";;;;;;AAAA;AACA;AAGA;;;AAGO,MAAMA,uBAAuB,GAAIC,KAAoB,IAAI;EAC9D,MAAM;IAAEC,KAAK;IAAEC;EAAS,CAAE,GAAGC,0BAAQ,CAAgBH,KAAK,CAAC;EAE3D,OACEI,oBAACH,KAAK,CAACI,IAAI;IAAA,GAAKH,SAAS,CAACG;EAAI,GAC3BJ,KAAK,CAACK,SAAS,IAAIF,oBAACH,KAAK,CAACK,SAAS;IAAA,GAAKJ,SAAS,CAACI;EAAS,EAAI,EAC/DL,KAAK,CAACM,IAAI,IAAIH,oBAACH,KAAK,CAACM,IAAI;IAAA,GAAKL,SAAS,CAACK;EAAI,EAAI,EAChDN,KAAK,CAACO,OAAO,IAAIJ,oBAACH,KAAK,CAACO,OAAO;IAAA,GAAKN,SAAS,CAACM;EAAO,EAAI,EACzDP,KAAK,CAACQ,gBAAgB,IAAIL,oBAACH,KAAK,CAACQ,gBAAgB;IAAA,GAAKP,SAAS,CAACO;EAAgB,EAAI,EACpFR,KAAK,CAACS,gBAAgB,IAAIN,oBAACH,KAAK,CAACS,gBAAgB;IAAA,GAAKR,SAAS,CAACQ;EAAgB,EAAI,CAC1E;AAEjB,CAAC;AAZYC,+BAAuB","names":["renderMenuItem_unstable","state","slots","slotProps","react_utilities_1","React","root","checkmark","icon","content","secondaryContent","submenuIndicator","exports"],"sourceRoot":"","sources":["../../../../../../../../../packages/react-components/react-menu/src/components/MenuItem/renderMenuItem.tsx"],"sourcesContent":["import * as React from 'react';\nimport { getSlots } from '@fluentui/react-utilities';\nimport type { MenuItemSlots, MenuItemState } from './MenuItem.types';\n\n/**\n * Function that renders the final JSX of the component\n */\nexport const renderMenuItem_unstable = (state: MenuItemState) => {\n const { slots, slotProps } = getSlots<MenuItemSlots>(state);\n\n return (\n <slots.root {...slotProps.root}>\n {slots.checkmark && <slots.checkmark {...slotProps.checkmark} />}\n {slots.icon && <slots.icon {...slotProps.icon} />}\n {slots.content && <slots.content {...slotProps.content} />}\n {slots.secondaryContent && <slots.secondaryContent {...slotProps.secondaryContent} />}\n {slots.submenuIndicator && <slots.submenuIndicator {...slotProps.submenuIndicator} />}\n </slots.root>\n );\n};\n"]}
@@ -1,28 +1,26 @@
1
1
  "use strict";
2
+
2
3
  Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "useCharacterSearch", {
6
- enumerable: true,
7
- get: ()=>useCharacterSearch
4
+ value: true
8
5
  });
9
- const _interopRequireWildcard = require("@swc/helpers/lib/_interop_require_wildcard.js").default;
10
- const _react = /*#__PURE__*/ _interopRequireWildcard(require("react"));
11
- const _menuListContext = require("../../contexts/menuListContext");
12
- const useCharacterSearch = (state, ref)=>{
13
- const setFocusByFirstCharacter = (0, _menuListContext.useMenuListContext_unstable)((context)=>context.setFocusByFirstCharacter);
14
- const { onKeyDown: originalOnKeyDown } = state.root;
15
- state.root.onKeyDown = (e)=>{
16
- var _e_key;
17
- originalOnKeyDown === null || originalOnKeyDown === void 0 ? void 0 : originalOnKeyDown(e);
18
- if (((_e_key = e.key) === null || _e_key === void 0 ? void 0 : _e_key.length) > 1) {
19
- return;
20
- }
21
- if (ref.current) {
22
- setFocusByFirstCharacter === null || setFocusByFirstCharacter === void 0 ? void 0 : setFocusByFirstCharacter(e, ref.current);
23
- }
24
- };
25
- return state;
26
- }; //# sourceMappingURL=useCharacterSearch.js.map
27
-
6
+ exports.useCharacterSearch = void 0;
7
+ const menuListContext_1 = /*#__PURE__*/require("../../contexts/menuListContext");
8
+ const useCharacterSearch = (state, ref) => {
9
+ const setFocusByFirstCharacter = menuListContext_1.useMenuListContext_unstable(context => context.setFocusByFirstCharacter);
10
+ const {
11
+ onKeyDown: originalOnKeyDown
12
+ } = state.root;
13
+ state.root.onKeyDown = e => {
14
+ var _a;
15
+ originalOnKeyDown === null || originalOnKeyDown === void 0 ? void 0 : originalOnKeyDown(e);
16
+ if (((_a = e.key) === null || _a === void 0 ? void 0 : _a.length) > 1) {
17
+ return;
18
+ }
19
+ if (ref.current) {
20
+ setFocusByFirstCharacter === null || setFocusByFirstCharacter === void 0 ? void 0 : setFocusByFirstCharacter(e, ref.current);
21
+ }
22
+ };
23
+ return state;
24
+ };
25
+ exports.useCharacterSearch = useCharacterSearch;
28
26
  //# sourceMappingURL=useCharacterSearch.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../lib/components/MenuItem/useCharacterSearch.js"],"sourcesContent":["import * as React from 'react';\nimport { useMenuListContext_unstable } from '../../contexts/menuListContext';\nexport const useCharacterSearch = (state, ref) => {\n const setFocusByFirstCharacter = useMenuListContext_unstable(context => context.setFocusByFirstCharacter);\n const {\n onKeyDown: originalOnKeyDown\n } = state.root;\n state.root.onKeyDown = e => {\n var _e_key;\n originalOnKeyDown === null || originalOnKeyDown === void 0 ? void 0 : originalOnKeyDown(e);\n if (((_e_key = e.key) === null || _e_key === void 0 ? void 0 : _e_key.length) > 1) {\n return;\n }\n if (ref.current) {\n setFocusByFirstCharacter === null || setFocusByFirstCharacter === void 0 ? void 0 : setFocusByFirstCharacter(e, ref.current);\n }\n };\n return state;\n};\n//# sourceMappingURL=useCharacterSearch.js.map"],"names":["useCharacterSearch","state","ref","setFocusByFirstCharacter","useMenuListContext_unstable","context","onKeyDown","originalOnKeyDown","root","e","_e_key","key","length","current"],"mappings":";;;;+BAEaA;;aAAAA;;;6DAFU;iCACqB;AACrC,MAAMA,qBAAqB,CAACC,OAAOC,MAAQ;IAChD,MAAMC,2BAA2BC,IAAAA,4CAA2B,EAACC,CAAAA,UAAWA,QAAQF,wBAAwB;IACxG,MAAM,EACJG,WAAWC,kBAAiB,EAC7B,GAAGN,MAAMO,IAAI;IACdP,MAAMO,IAAI,CAACF,SAAS,GAAGG,CAAAA,IAAK;QAC1B,IAAIC;QACJH,sBAAsB,IAAI,IAAIA,sBAAsB,KAAK,IAAI,KAAK,IAAIA,kBAAkBE,EAAE;QAC1F,IAAI,AAAC,CAAA,AAACC,CAAAA,SAASD,EAAEE,GAAG,AAAD,MAAO,IAAI,IAAID,WAAW,KAAK,IAAI,KAAK,IAAIA,OAAOE,MAAM,AAAD,IAAK,GAAG;YACjF;QACF,CAAC;QACD,IAAIV,IAAIW,OAAO,EAAE;YACfV,6BAA6B,IAAI,IAAIA,6BAA6B,KAAK,IAAI,KAAK,IAAIA,yBAAyBM,GAAGP,IAAIW,OAAO,CAAC;QAC9H,CAAC;IACH;IACA,OAAOZ;AACT,GACA,8CAA8C"}
1
+ {"version":3,"mappings":";;;;;;AACA;AAIO,MAAMA,kBAAkB,GAAG,CAACC,KAAoB,EAAEC,GAAiC,KAAI;EAC5F,MAAMC,wBAAwB,GAAGC,6CAA2B,CAACC,OAAO,IAAIA,OAAO,CAACF,wBAAwB,CAAC;EAEzG,MAAM;IAAEG,SAAS,EAAEC;EAAiB,CAAE,GAAGN,KAAK,CAACO,IAAI;EAEnDP,KAAK,CAACO,IAAI,CAACF,SAAS,GAAIG,CAAqD,IAAI;;IAC/EF,iBAAiB,aAAjBA,iBAAiB,uBAAjBA,iBAAiB,CAAGE,CAAC,CAAC;IAEtB,IAAI,QAAC,CAACC,GAAG,0CAAEC,MAAM,IAAG,CAAC,EAAE;MACrB;;IAGF,IAAIT,GAAG,CAACU,OAAO,EAAE;MACfT,wBAAwB,aAAxBA,wBAAwB,uBAAxBA,wBAAwB,CAAGM,CAAC,EAAEP,GAAG,CAACU,OAAO,CAAC;;EAE9C,CAAC;EAED,OAAOX,KAAK;AACd,CAAC;AAlBYY,0BAAkB","names":["useCharacterSearch","state","ref","setFocusByFirstCharacter","menuListContext_1","context","onKeyDown","originalOnKeyDown","root","e","key","length","current","exports"],"sourceRoot":"","sources":["../../../../../../../../../packages/react-components/react-menu/src/components/MenuItem/useCharacterSearch.ts"],"sourcesContent":["import * as React from 'react';\nimport { useMenuListContext_unstable } from '../../contexts/menuListContext';\nimport type { MenuItemState } from '../../components/index';\nimport type { ARIAButtonElementIntersection } from '@fluentui/react-aria';\n\nexport const useCharacterSearch = (state: MenuItemState, ref: React.RefObject<HTMLElement>) => {\n const setFocusByFirstCharacter = useMenuListContext_unstable(context => context.setFocusByFirstCharacter);\n\n const { onKeyDown: originalOnKeyDown } = state.root;\n\n state.root.onKeyDown = (e: React.KeyboardEvent<ARIAButtonElementIntersection>) => {\n originalOnKeyDown?.(e);\n\n if (e.key?.length > 1) {\n return;\n }\n\n if (ref.current) {\n setFocusByFirstCharacter?.(e, ref.current);\n }\n };\n\n return state;\n};\n"]}
@@ -1,101 +1,108 @@
1
1
  "use strict";
2
+
2
3
  Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "useMenuItem_unstable", {
6
- enumerable: true,
7
- get: ()=>useMenuItem_unstable
4
+ value: true
8
5
  });
9
- const _interopRequireWildcard = require("@swc/helpers/lib/_interop_require_wildcard.js").default;
10
- const _react = /*#__PURE__*/ _interopRequireWildcard(require("react"));
11
- const _reactUtilities = require("@fluentui/react-utilities");
12
- const _reactSharedContexts = require("@fluentui/react-shared-contexts");
13
- const _useCharacterSearch = require("./useCharacterSearch");
14
- const _menuTriggerContext = require("../../contexts/menuTriggerContext");
15
- const _reactIcons = require("@fluentui/react-icons");
16
- const _menuListContext = require("../../contexts/menuListContext");
17
- const _menuContext = require("../../contexts/menuContext");
18
- const _reactAria = require("@fluentui/react-aria");
19
- const _keyboardKeys = require("@fluentui/keyboard-keys");
20
- const ChevronRightIcon = /*#__PURE__*/ (0, _reactIcons.bundleIcon)(_reactIcons.ChevronRightFilled, _reactIcons.ChevronRightRegular);
21
- const ChevronLeftIcon = /*#__PURE__*/ (0, _reactIcons.bundleIcon)(_reactIcons.ChevronLeftFilled, _reactIcons.ChevronLeftRegular);
22
- const useMenuItem_unstable = (props, ref)=>{
23
- const isSubmenuTrigger = (0, _menuTriggerContext.useMenuTriggerContext_unstable)();
24
- const persistOnClickContext = (0, _menuContext.useMenuContext_unstable)((context)=>context.persistOnItemClick);
25
- const { as ='div' , disabled =false , hasSubmenu =isSubmenuTrigger , persistOnClick =persistOnClickContext } = props;
26
- const hasIcons = (0, _menuListContext.useMenuListContext_unstable)((context)=>context.hasIcons);
27
- const hasCheckmarks = (0, _menuListContext.useMenuListContext_unstable)((context)=>context.hasCheckmarks);
28
- const setOpen = (0, _menuContext.useMenuContext_unstable)((context)=>context.setOpen);
29
- const { dir } = (0, _reactSharedContexts.useFluent_unstable)();
30
- const innerRef = _react.useRef(null);
31
- const dismissedWithKeyboardRef = _react.useRef(false);
32
- const state = {
33
- hasSubmenu,
34
- disabled,
35
- persistOnClick,
36
- components: {
37
- root: 'div',
38
- icon: 'span',
39
- checkmark: 'span',
40
- submenuIndicator: 'span',
41
- content: 'span',
42
- secondaryContent: 'span'
43
- },
44
- root: (0, _reactUtilities.getNativeElementProps)(as, (0, _reactAria.useARIAButtonProps)(as, {
45
- role: 'menuitem',
46
- ...props,
47
- disabled: false,
48
- disabledFocusable: disabled,
49
- ref: (0, _reactUtilities.useMergedRefs)(ref, innerRef),
50
- onKeyDown: (0, _reactUtilities.useEventCallback)((event)=>{
51
- var _props_onKeyDown;
52
- (_props_onKeyDown = props.onKeyDown) === null || _props_onKeyDown === void 0 ? void 0 : _props_onKeyDown.call(props, event);
53
- if (!event.isDefaultPrevented() && (event.key === _keyboardKeys.Space || event.key === _keyboardKeys.Enter)) {
54
- dismissedWithKeyboardRef.current = true;
55
- }
56
- }),
57
- onMouseEnter: (0, _reactUtilities.useEventCallback)((event)=>{
58
- var _innerRef_current, _props_onMouseEnter;
59
- (_innerRef_current = innerRef.current) === null || _innerRef_current === void 0 ? void 0 : _innerRef_current.focus();
60
- (_props_onMouseEnter = props.onMouseEnter) === null || _props_onMouseEnter === void 0 ? void 0 : _props_onMouseEnter.call(props, event);
61
- }),
62
- onClick: (0, _reactUtilities.useEventCallback)((event)=>{
63
- var _props_onClick;
64
- if (!hasSubmenu && !persistOnClick) {
65
- setOpen(event, {
66
- open: false,
67
- keyboard: dismissedWithKeyboardRef.current,
68
- bubble: true,
69
- type: 'menuItemClick',
70
- event
71
- });
72
- dismissedWithKeyboardRef.current = false;
73
- }
74
- (_props_onClick = props.onClick) === null || _props_onClick === void 0 ? void 0 : _props_onClick.call(props, event);
75
- })
76
- })),
77
- icon: (0, _reactUtilities.resolveShorthand)(props.icon, {
78
- required: hasIcons
79
- }),
80
- checkmark: (0, _reactUtilities.resolveShorthand)(props.checkmark, {
81
- required: hasCheckmarks
82
- }),
83
- submenuIndicator: (0, _reactUtilities.resolveShorthand)(props.submenuIndicator, {
84
- required: hasSubmenu,
85
- defaultProps: {
86
- children: dir === 'ltr' ? /*#__PURE__*/ _react.createElement(ChevronRightIcon, null) : /*#__PURE__*/ _react.createElement(ChevronLeftIcon, null)
87
- }
88
- }),
89
- content: (0, _reactUtilities.resolveShorthand)(props.content, {
90
- required: !!props.children,
91
- defaultProps: {
92
- children: props.children
93
- }
94
- }),
95
- secondaryContent: (0, _reactUtilities.resolveShorthand)(props.secondaryContent)
96
- };
97
- (0, _useCharacterSearch.useCharacterSearch)(state, innerRef);
98
- return state;
99
- }; //# sourceMappingURL=useMenuItem.js.map
100
-
6
+ exports.useMenuItem_unstable = void 0;
7
+ const React = /*#__PURE__*/require("react");
8
+ const react_utilities_1 = /*#__PURE__*/require("@fluentui/react-utilities");
9
+ const react_shared_contexts_1 = /*#__PURE__*/require("@fluentui/react-shared-contexts");
10
+ const useCharacterSearch_1 = /*#__PURE__*/require("./useCharacterSearch");
11
+ const menuTriggerContext_1 = /*#__PURE__*/require("../../contexts/menuTriggerContext");
12
+ const react_icons_1 = /*#__PURE__*/require("@fluentui/react-icons");
13
+ const menuListContext_1 = /*#__PURE__*/require("../../contexts/menuListContext");
14
+ const menuContext_1 = /*#__PURE__*/require("../../contexts/menuContext");
15
+ const react_aria_1 = /*#__PURE__*/require("@fluentui/react-aria");
16
+ const keyboard_keys_1 = /*#__PURE__*/require("@fluentui/keyboard-keys");
17
+ const ChevronRightIcon = /*#__PURE__*/react_icons_1.bundleIcon(react_icons_1.ChevronRightFilled, react_icons_1.ChevronRightRegular);
18
+ const ChevronLeftIcon = /*#__PURE__*/react_icons_1.bundleIcon(react_icons_1.ChevronLeftFilled, react_icons_1.ChevronLeftRegular);
19
+ /**
20
+ * Returns the props and state required to render the component
21
+ */
22
+ const useMenuItem_unstable = (props, ref) => {
23
+ const isSubmenuTrigger = menuTriggerContext_1.useMenuTriggerContext_unstable();
24
+ const persistOnClickContext = menuContext_1.useMenuContext_unstable(context => context.persistOnItemClick);
25
+ const {
26
+ as = 'div',
27
+ disabled = false,
28
+ hasSubmenu = isSubmenuTrigger,
29
+ persistOnClick = persistOnClickContext
30
+ } = props;
31
+ const hasIcons = menuListContext_1.useMenuListContext_unstable(context => context.hasIcons);
32
+ const hasCheckmarks = menuListContext_1.useMenuListContext_unstable(context => context.hasCheckmarks);
33
+ const setOpen = menuContext_1.useMenuContext_unstable(context => context.setOpen);
34
+ const {
35
+ dir
36
+ } = react_shared_contexts_1.useFluent_unstable();
37
+ const innerRef = React.useRef(null);
38
+ const dismissedWithKeyboardRef = React.useRef(false);
39
+ const state = {
40
+ hasSubmenu,
41
+ disabled,
42
+ persistOnClick,
43
+ components: {
44
+ root: 'div',
45
+ icon: 'span',
46
+ checkmark: 'span',
47
+ submenuIndicator: 'span',
48
+ content: 'span',
49
+ secondaryContent: 'span'
50
+ },
51
+ root: react_utilities_1.getNativeElementProps(as, react_aria_1.useARIAButtonProps(as, {
52
+ role: 'menuitem',
53
+ ...props,
54
+ disabled: false,
55
+ disabledFocusable: disabled,
56
+ ref: react_utilities_1.useMergedRefs(ref, innerRef),
57
+ onKeyDown: react_utilities_1.useEventCallback(event => {
58
+ var _a;
59
+ (_a = props.onKeyDown) === null || _a === void 0 ? void 0 : _a.call(props, event);
60
+ if (!event.isDefaultPrevented() && (event.key === keyboard_keys_1.Space || event.key === keyboard_keys_1.Enter)) {
61
+ dismissedWithKeyboardRef.current = true;
62
+ }
63
+ }),
64
+ onMouseEnter: react_utilities_1.useEventCallback(event => {
65
+ var _a, _b;
66
+ (_a = innerRef.current) === null || _a === void 0 ? void 0 : _a.focus();
67
+ (_b = props.onMouseEnter) === null || _b === void 0 ? void 0 : _b.call(props, event);
68
+ }),
69
+ onClick: react_utilities_1.useEventCallback(event => {
70
+ var _a;
71
+ if (!hasSubmenu && !persistOnClick) {
72
+ setOpen(event, {
73
+ open: false,
74
+ keyboard: dismissedWithKeyboardRef.current,
75
+ bubble: true,
76
+ type: 'menuItemClick',
77
+ event
78
+ });
79
+ dismissedWithKeyboardRef.current = false;
80
+ }
81
+ (_a = props.onClick) === null || _a === void 0 ? void 0 : _a.call(props, event);
82
+ })
83
+ })),
84
+ icon: react_utilities_1.resolveShorthand(props.icon, {
85
+ required: hasIcons
86
+ }),
87
+ checkmark: react_utilities_1.resolveShorthand(props.checkmark, {
88
+ required: hasCheckmarks
89
+ }),
90
+ submenuIndicator: react_utilities_1.resolveShorthand(props.submenuIndicator, {
91
+ required: hasSubmenu,
92
+ defaultProps: {
93
+ children: dir === 'ltr' ? React.createElement(ChevronRightIcon, null) : React.createElement(ChevronLeftIcon, null)
94
+ }
95
+ }),
96
+ content: react_utilities_1.resolveShorthand(props.content, {
97
+ required: !!props.children,
98
+ defaultProps: {
99
+ children: props.children
100
+ }
101
+ }),
102
+ secondaryContent: react_utilities_1.resolveShorthand(props.secondaryContent)
103
+ };
104
+ useCharacterSearch_1.useCharacterSearch(state, innerRef);
105
+ return state;
106
+ };
107
+ exports.useMenuItem_unstable = useMenuItem_unstable;
101
108
  //# sourceMappingURL=useMenuItem.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../lib/components/MenuItem/useMenuItem.js"],"sourcesContent":["import * as React from 'react';\nimport { useEventCallback, resolveShorthand, useMergedRefs, getNativeElementProps } from '@fluentui/react-utilities';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\nimport { useCharacterSearch } from './useCharacterSearch';\nimport { useMenuTriggerContext_unstable } from '../../contexts/menuTriggerContext';\nimport { ChevronRightFilled, ChevronRightRegular, ChevronLeftFilled, ChevronLeftRegular, bundleIcon } from '@fluentui/react-icons';\nimport { useMenuListContext_unstable } from '../../contexts/menuListContext';\nimport { useMenuContext_unstable } from '../../contexts/menuContext';\nimport { useARIAButtonProps } from '@fluentui/react-aria';\nimport { Enter, Space } from '@fluentui/keyboard-keys';\nconst ChevronRightIcon = /*#__PURE__*/bundleIcon(ChevronRightFilled, ChevronRightRegular);\nconst ChevronLeftIcon = /*#__PURE__*/bundleIcon(ChevronLeftFilled, ChevronLeftRegular);\n/**\n * Returns the props and state required to render the component\n */\nexport const useMenuItem_unstable = (props, ref) => {\n const isSubmenuTrigger = useMenuTriggerContext_unstable();\n const persistOnClickContext = useMenuContext_unstable(context => context.persistOnItemClick);\n const {\n as = 'div',\n disabled = false,\n hasSubmenu = isSubmenuTrigger,\n persistOnClick = persistOnClickContext\n } = props;\n const hasIcons = useMenuListContext_unstable(context => context.hasIcons);\n const hasCheckmarks = useMenuListContext_unstable(context => context.hasCheckmarks);\n const setOpen = useMenuContext_unstable(context => context.setOpen);\n const {\n dir\n } = useFluent();\n const innerRef = React.useRef(null);\n const dismissedWithKeyboardRef = React.useRef(false);\n const state = {\n hasSubmenu,\n disabled,\n persistOnClick,\n components: {\n root: 'div',\n icon: 'span',\n checkmark: 'span',\n submenuIndicator: 'span',\n content: 'span',\n secondaryContent: 'span'\n },\n root: getNativeElementProps(as, useARIAButtonProps(as, {\n role: 'menuitem',\n ...props,\n disabled: false,\n disabledFocusable: disabled,\n ref: useMergedRefs(ref, innerRef),\n onKeyDown: useEventCallback(event => {\n var _props_onKeyDown;\n (_props_onKeyDown = props.onKeyDown) === null || _props_onKeyDown === void 0 ? void 0 : _props_onKeyDown.call(props, event);\n if (!event.isDefaultPrevented() && (event.key === Space || event.key === Enter)) {\n dismissedWithKeyboardRef.current = true;\n }\n }),\n onMouseEnter: useEventCallback(event => {\n var _innerRef_current, _props_onMouseEnter;\n (_innerRef_current = innerRef.current) === null || _innerRef_current === void 0 ? void 0 : _innerRef_current.focus();\n (_props_onMouseEnter = props.onMouseEnter) === null || _props_onMouseEnter === void 0 ? void 0 : _props_onMouseEnter.call(props, event);\n }),\n onClick: useEventCallback(event => {\n var _props_onClick;\n if (!hasSubmenu && !persistOnClick) {\n setOpen(event, {\n open: false,\n keyboard: dismissedWithKeyboardRef.current,\n bubble: true,\n type: 'menuItemClick',\n event\n });\n dismissedWithKeyboardRef.current = false;\n }\n (_props_onClick = props.onClick) === null || _props_onClick === void 0 ? void 0 : _props_onClick.call(props, event);\n })\n })),\n icon: resolveShorthand(props.icon, {\n required: hasIcons\n }),\n checkmark: resolveShorthand(props.checkmark, {\n required: hasCheckmarks\n }),\n submenuIndicator: resolveShorthand(props.submenuIndicator, {\n required: hasSubmenu,\n defaultProps: {\n children: dir === 'ltr' ? /*#__PURE__*/React.createElement(ChevronRightIcon, null) : /*#__PURE__*/React.createElement(ChevronLeftIcon, null)\n }\n }),\n content: resolveShorthand(props.content, {\n required: !!props.children,\n defaultProps: {\n children: props.children\n }\n }),\n secondaryContent: resolveShorthand(props.secondaryContent)\n };\n useCharacterSearch(state, innerRef);\n return state;\n};\n//# sourceMappingURL=useMenuItem.js.map"],"names":["useMenuItem_unstable","ChevronRightIcon","bundleIcon","ChevronRightFilled","ChevronRightRegular","ChevronLeftIcon","ChevronLeftFilled","ChevronLeftRegular","props","ref","isSubmenuTrigger","useMenuTriggerContext_unstable","persistOnClickContext","useMenuContext_unstable","context","persistOnItemClick","as","disabled","hasSubmenu","persistOnClick","hasIcons","useMenuListContext_unstable","hasCheckmarks","setOpen","dir","useFluent","innerRef","React","useRef","dismissedWithKeyboardRef","state","components","root","icon","checkmark","submenuIndicator","content","secondaryContent","getNativeElementProps","useARIAButtonProps","role","disabledFocusable","useMergedRefs","onKeyDown","useEventCallback","event","_props_onKeyDown","call","isDefaultPrevented","key","Space","Enter","current","onMouseEnter","_innerRef_current","_props_onMouseEnter","focus","onClick","_props_onClick","open","keyboard","bubble","type","resolveShorthand","required","defaultProps","children","createElement","useCharacterSearch"],"mappings":"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"}
1
+ {"version":3,"mappings":"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","names":["ChevronRightIcon","react_icons_1","ChevronLeftIcon","useMenuItem_unstable","props","ref","isSubmenuTrigger","menuTriggerContext_1","persistOnClickContext","menuContext_1","context","persistOnItemClick","as","disabled","hasSubmenu","persistOnClick","hasIcons","menuListContext_1","hasCheckmarks","setOpen","dir","react_shared_contexts_1","innerRef","React","useRef","dismissedWithKeyboardRef","state","components","root","icon","checkmark","submenuIndicator","content","secondaryContent","react_utilities_1","react_aria_1","role","disabledFocusable","onKeyDown","event","isDefaultPrevented","key","keyboard_keys_1","current","onMouseEnter","focus","onClick","open","keyboard","bubble","type","required","defaultProps","children","useCharacterSearch_1","exports"],"sourceRoot":"","sources":["../../../../../../../../../packages/react-components/react-menu/src/components/MenuItem/useMenuItem.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useEventCallback, resolveShorthand, useMergedRefs, getNativeElementProps } from '@fluentui/react-utilities';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\nimport { useCharacterSearch } from './useCharacterSearch';\nimport { useMenuTriggerContext_unstable } from '../../contexts/menuTriggerContext';\nimport {\n ChevronRightFilled,\n ChevronRightRegular,\n ChevronLeftFilled,\n ChevronLeftRegular,\n bundleIcon,\n} from '@fluentui/react-icons';\nimport { useMenuListContext_unstable } from '../../contexts/menuListContext';\nimport { useMenuContext_unstable } from '../../contexts/menuContext';\nimport type { MenuItemProps, MenuItemState } from './MenuItem.types';\nimport { ARIAButtonElement, ARIAButtonElementIntersection, useARIAButtonProps } from '@fluentui/react-aria';\nimport { Enter, Space } from '@fluentui/keyboard-keys';\n\nconst ChevronRightIcon = bundleIcon(ChevronRightFilled, ChevronRightRegular);\nconst ChevronLeftIcon = bundleIcon(ChevronLeftFilled, ChevronLeftRegular);\n\n/**\n * Returns the props and state required to render the component\n */\nexport const useMenuItem_unstable = (props: MenuItemProps, ref: React.Ref<ARIAButtonElement<'div'>>): MenuItemState => {\n const isSubmenuTrigger = useMenuTriggerContext_unstable();\n const persistOnClickContext = useMenuContext_unstable(context => context.persistOnItemClick);\n const { as = 'div', disabled = false, hasSubmenu = isSubmenuTrigger, persistOnClick = persistOnClickContext } = props;\n const hasIcons = useMenuListContext_unstable(context => context.hasIcons);\n const hasCheckmarks = useMenuListContext_unstable(context => context.hasCheckmarks);\n const setOpen = useMenuContext_unstable(context => context.setOpen);\n\n const { dir } = useFluent();\n const innerRef = React.useRef<ARIAButtonElementIntersection<'div'>>(null);\n const dismissedWithKeyboardRef = React.useRef(false);\n\n const state: MenuItemState = {\n hasSubmenu,\n disabled,\n persistOnClick,\n components: {\n root: 'div',\n icon: 'span',\n checkmark: 'span',\n submenuIndicator: 'span',\n content: 'span',\n secondaryContent: 'span',\n },\n root: getNativeElementProps(\n as,\n useARIAButtonProps(as, {\n role: 'menuitem',\n ...props,\n disabled: false,\n disabledFocusable: disabled,\n ref: useMergedRefs(ref, innerRef) as React.Ref<ARIAButtonElementIntersection<'div'>>,\n onKeyDown: useEventCallback(event => {\n props.onKeyDown?.(event);\n if (!event.isDefaultPrevented() && (event.key === Space || event.key === Enter)) {\n dismissedWithKeyboardRef.current = true;\n }\n }),\n onMouseEnter: useEventCallback(event => {\n innerRef.current?.focus();\n\n props.onMouseEnter?.(event);\n }),\n onClick: useEventCallback(event => {\n if (!hasSubmenu && !persistOnClick) {\n setOpen(event, {\n open: false,\n keyboard: dismissedWithKeyboardRef.current,\n bubble: true,\n type: 'menuItemClick',\n event,\n });\n dismissedWithKeyboardRef.current = false;\n }\n\n props.onClick?.(event);\n }),\n }),\n ),\n icon: resolveShorthand(props.icon, { required: hasIcons }),\n checkmark: resolveShorthand(props.checkmark, { required: hasCheckmarks }),\n submenuIndicator: resolveShorthand(props.submenuIndicator, {\n required: hasSubmenu,\n defaultProps: {\n children: dir === 'ltr' ? <ChevronRightIcon /> : <ChevronLeftIcon />,\n },\n }),\n content: resolveShorthand(props.content, {\n required: !!props.children,\n defaultProps: { children: props.children },\n }),\n secondaryContent: resolveShorthand(props.secondaryContent),\n };\n useCharacterSearch(state, innerRef);\n return state;\n};\n"]}