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

Sign up to get free protection for your applications and to get access to all the features.
Files changed (518) hide show
  1. package/CHANGELOG.json +1053 -27
  2. package/CHANGELOG.md +371 -137
  3. package/Spec.md +21 -16
  4. package/dist/{react-menu.d.ts → index.d.ts} +249 -170
  5. package/{lib → dist}/tsdoc-metadata.json +0 -0
  6. package/lib/Menu.js.map +1 -1
  7. package/lib/MenuDivider.js.map +1 -1
  8. package/lib/MenuGroup.js.map +1 -1
  9. package/lib/MenuGroupHeader.js.map +1 -1
  10. package/lib/MenuItem.js.map +1 -1
  11. package/lib/MenuItemCheckbox.js.map +1 -1
  12. package/lib/MenuItemRadio.js.map +1 -1
  13. package/lib/MenuList.js.map +1 -1
  14. package/lib/MenuPopover.js.map +1 -1
  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.js.map +1 -1
  21. package/lib/components/Menu/index.js.map +1 -1
  22. package/lib/components/Menu/renderMenu.js +1 -1
  23. package/lib/components/Menu/renderMenu.js.map +1 -1
  24. package/lib/components/Menu/useMenu.js +121 -130
  25. package/lib/components/Menu/useMenu.js.map +1 -1
  26. package/lib/components/Menu/useMenuContextValues.js +35 -33
  27. package/lib/components/Menu/useMenuContextValues.js.map +1 -1
  28. package/lib/components/MenuDivider/MenuDivider.js +8 -8
  29. package/lib/components/MenuDivider/MenuDivider.js.map +1 -1
  30. package/lib/components/MenuDivider/MenuDivider.types.js.map +1 -1
  31. package/lib/components/MenuDivider/index.js.map +1 -1
  32. package/lib/components/MenuDivider/renderMenuDivider.js +7 -7
  33. package/lib/components/MenuDivider/renderMenuDivider.js.map +1 -1
  34. package/lib/components/MenuDivider/useMenuDivider.js +9 -7
  35. package/lib/components/MenuDivider/useMenuDivider.js.map +1 -1
  36. package/lib/components/MenuDivider/useMenuDividerStyles.js +9 -5
  37. package/lib/components/MenuDivider/useMenuDividerStyles.js.map +1 -1
  38. package/lib/components/MenuGroup/MenuGroup.js +10 -8
  39. package/lib/components/MenuGroup/MenuGroup.js.map +1 -1
  40. package/lib/components/MenuGroup/MenuGroup.types.js.map +1 -1
  41. package/lib/components/MenuGroup/index.js +1 -0
  42. package/lib/components/MenuGroup/index.js.map +1 -1
  43. package/lib/components/MenuGroup/renderMenuGroup.js +7 -7
  44. package/lib/components/MenuGroup/renderMenuGroup.js.map +1 -1
  45. package/lib/components/MenuGroup/useMenuGroup.js +10 -7
  46. package/lib/components/MenuGroup/useMenuGroup.js.map +1 -1
  47. package/lib/components/MenuGroup/useMenuGroupContextValues.js +8 -8
  48. package/lib/components/MenuGroup/useMenuGroupContextValues.js.map +1 -1
  49. package/lib/components/MenuGroup/useMenuGroupStyles.js +9 -0
  50. package/lib/components/MenuGroup/useMenuGroupStyles.js.map +1 -0
  51. package/lib/components/MenuGroupHeader/MenuGroupHeader.js +8 -8
  52. package/lib/components/MenuGroupHeader/MenuGroupHeader.js.map +1 -1
  53. package/lib/components/MenuGroupHeader/MenuGroupHeader.types.js.map +1 -1
  54. package/lib/components/MenuGroupHeader/index.js.map +1 -1
  55. package/lib/components/MenuGroupHeader/renderMenuGroupHeader.js +7 -7
  56. package/lib/components/MenuGroupHeader/renderMenuGroupHeader.js.map +1 -1
  57. package/lib/components/MenuGroupHeader/useMenuGroupHeader.js +13 -8
  58. package/lib/components/MenuGroupHeader/useMenuGroupHeader.js.map +1 -1
  59. package/lib/components/MenuGroupHeader/useMenuGroupHeaderStyles.js +9 -5
  60. package/lib/components/MenuGroupHeader/useMenuGroupHeaderStyles.js.map +1 -1
  61. package/lib/components/MenuItem/MenuItem.js +8 -10
  62. package/lib/components/MenuItem/MenuItem.js.map +1 -1
  63. package/lib/components/MenuItem/MenuItem.types.js.map +1 -1
  64. package/lib/components/MenuItem/index.js.map +1 -1
  65. package/lib/components/MenuItem/renderMenuItem.js +12 -8
  66. package/lib/components/MenuItem/renderMenuItem.js.map +1 -1
  67. package/lib/components/MenuItem/useCharacterSearch.js +7 -7
  68. package/lib/components/MenuItem/useCharacterSearch.js.map +1 -1
  69. package/lib/components/MenuItem/useMenuItem.js +37 -44
  70. package/lib/components/MenuItem/useMenuItem.js.map +1 -1
  71. package/lib/components/MenuItem/useMenuItemStyles.js +56 -17
  72. package/lib/components/MenuItem/useMenuItemStyles.js.map +1 -1
  73. package/lib/components/MenuItemCheckbox/MenuItemCheckbox.js +8 -8
  74. package/lib/components/MenuItemCheckbox/MenuItemCheckbox.js.map +1 -1
  75. package/lib/components/MenuItemCheckbox/MenuItemCheckbox.types.js.map +1 -1
  76. package/lib/components/MenuItemCheckbox/index.js +1 -0
  77. package/lib/components/MenuItemCheckbox/index.js.map +1 -1
  78. package/lib/components/MenuItemCheckbox/renderMenuItemCheckbox.js +11 -8
  79. package/lib/components/MenuItemCheckbox/renderMenuItemCheckbox.js.map +1 -1
  80. package/lib/components/MenuItemCheckbox/useMenuItemCheckbox.js +14 -15
  81. package/lib/components/MenuItemCheckbox/useMenuItemCheckbox.js.map +1 -1
  82. package/lib/components/MenuItemCheckbox/useMenuItemCheckboxStyles.js +31 -5
  83. package/lib/components/MenuItemCheckbox/useMenuItemCheckboxStyles.js.map +1 -1
  84. package/lib/components/MenuItemRadio/MenuItemRadio.js +8 -8
  85. package/lib/components/MenuItemRadio/MenuItemRadio.js.map +1 -1
  86. package/lib/components/MenuItemRadio/MenuItemRadio.types.js.map +1 -1
  87. package/lib/components/MenuItemRadio/index.js +1 -0
  88. package/lib/components/MenuItemRadio/index.js.map +1 -1
  89. package/lib/components/MenuItemRadio/renderMenuItemRadio.js +11 -8
  90. package/lib/components/MenuItemRadio/renderMenuItemRadio.js.map +1 -1
  91. package/lib/components/MenuItemRadio/useMenuItemRadio.js +14 -14
  92. package/lib/components/MenuItemRadio/useMenuItemRadio.js.map +1 -1
  93. package/lib/components/MenuItemRadio/useMenuItemRadioStyles.js +31 -5
  94. package/lib/components/MenuItemRadio/useMenuItemRadioStyles.js.map +1 -1
  95. package/lib/components/MenuList/MenuList.js +10 -10
  96. package/lib/components/MenuList/MenuList.js.map +1 -1
  97. package/lib/components/MenuList/MenuList.types.js.map +1 -1
  98. package/lib/components/MenuList/index.js.map +1 -1
  99. package/lib/components/MenuList/renderMenuList.js +7 -7
  100. package/lib/components/MenuList/renderMenuList.js.map +1 -1
  101. package/lib/components/MenuList/useMenuList.js +71 -88
  102. package/lib/components/MenuList/useMenuList.js.map +1 -1
  103. package/lib/components/MenuList/useMenuListContextValues.js +19 -17
  104. package/lib/components/MenuList/useMenuListContextValues.js.map +1 -1
  105. package/lib/components/MenuList/useMenuListStyles.js +11 -7
  106. package/lib/components/MenuList/useMenuListStyles.js.map +1 -1
  107. package/lib/components/MenuPopover/MenuPopover.js +7 -7
  108. package/lib/components/MenuPopover/MenuPopover.js.map +1 -1
  109. package/lib/components/MenuPopover/MenuPopover.types.js.map +1 -1
  110. package/lib/components/MenuPopover/index.js.map +1 -1
  111. package/lib/components/MenuPopover/renderMenuPopover.js +9 -7
  112. package/lib/components/MenuPopover/renderMenuPopover.js.map +1 -1
  113. package/lib/components/MenuPopover/useMenuPopover.js +35 -41
  114. package/lib/components/MenuPopover/useMenuPopover.js.map +1 -1
  115. package/lib/components/MenuPopover/useMenuPopoverStyles.js +15 -8
  116. package/lib/components/MenuPopover/useMenuPopoverStyles.js.map +1 -1
  117. package/lib/components/MenuSplitGroup/MenuSplitGroup.js +15 -0
  118. package/lib/components/MenuSplitGroup/MenuSplitGroup.js.map +1 -0
  119. package/lib/components/MenuSplitGroup/MenuSplitGroup.types.js +2 -0
  120. package/lib/components/MenuSplitGroup/MenuSplitGroup.types.js.map +1 -0
  121. package/lib/components/MenuSplitGroup/index.js +6 -0
  122. package/lib/components/MenuSplitGroup/index.js.map +1 -0
  123. package/lib/components/MenuSplitGroup/renderMenuSplitGroup.js +15 -0
  124. package/lib/components/MenuSplitGroup/renderMenuSplitGroup.js.map +1 -0
  125. package/lib/components/MenuSplitGroup/useMenuSplitGroup.js +67 -0
  126. package/lib/components/MenuSplitGroup/useMenuSplitGroup.js.map +1 -0
  127. package/lib/components/MenuSplitGroup/useMenuSplitGroupStyles.js +37 -0
  128. package/lib/components/MenuSplitGroup/useMenuSplitGroupStyles.js.map +1 -0
  129. package/lib/components/MenuTrigger/MenuTrigger.js +6 -5
  130. package/lib/components/MenuTrigger/MenuTrigger.js.map +1 -1
  131. package/lib/components/MenuTrigger/MenuTrigger.types.js.map +1 -1
  132. package/lib/components/MenuTrigger/index.js.map +1 -1
  133. package/lib/components/MenuTrigger/renderMenuTrigger.js +2 -2
  134. package/lib/components/MenuTrigger/renderMenuTrigger.js.map +1 -1
  135. package/lib/components/MenuTrigger/useMenuTrigger.js +167 -5
  136. package/lib/components/MenuTrigger/useMenuTrigger.js.map +1 -1
  137. package/lib/components/index.js.map +1 -1
  138. package/lib/contexts/menuContext.js +5 -11
  139. package/lib/contexts/menuContext.js.map +1 -1
  140. package/lib/contexts/menuGroupContext.js +3 -5
  141. package/lib/contexts/menuGroupContext.js.map +1 -1
  142. package/lib/contexts/menuListContext.js +7 -17
  143. package/lib/contexts/menuListContext.js.map +1 -1
  144. package/lib/contexts/menuTriggerContext.js +4 -6
  145. package/lib/contexts/menuTriggerContext.js.map +1 -1
  146. package/lib/index.js +16 -15
  147. package/lib/index.js.map +1 -1
  148. package/lib/selectable/index.js.map +1 -1
  149. package/lib/selectable/types.js.map +1 -1
  150. package/lib/selectable/useCheckmarkStyles.js +4 -4
  151. package/lib/selectable/useCheckmarkStyles.js.map +1 -1
  152. package/lib/utils/index.js.map +1 -1
  153. package/lib/utils/useIsSubmenu.js +3 -5
  154. package/lib/utils/useIsSubmenu.js.map +1 -1
  155. package/lib/utils/useOnMenuEnter.js +16 -14
  156. package/lib/utils/useOnMenuEnter.js.map +1 -1
  157. package/lib-commonjs/Menu.js +1 -1
  158. package/lib-commonjs/Menu.js.map +1 -1
  159. package/lib-commonjs/MenuDivider.js +1 -1
  160. package/lib-commonjs/MenuDivider.js.map +1 -1
  161. package/lib-commonjs/MenuGroup.js +1 -1
  162. package/lib-commonjs/MenuGroup.js.map +1 -1
  163. package/lib-commonjs/MenuGroupHeader.js +1 -1
  164. package/lib-commonjs/MenuGroupHeader.js.map +1 -1
  165. package/lib-commonjs/MenuItem.js +1 -1
  166. package/lib-commonjs/MenuItem.js.map +1 -1
  167. package/lib-commonjs/MenuItemCheckbox.js +1 -1
  168. package/lib-commonjs/MenuItemCheckbox.js.map +1 -1
  169. package/lib-commonjs/MenuItemRadio.js +1 -1
  170. package/lib-commonjs/MenuItemRadio.js.map +1 -1
  171. package/lib-commonjs/MenuList.js +1 -1
  172. package/lib-commonjs/MenuList.js.map +1 -1
  173. package/lib-commonjs/MenuPopover.js +1 -1
  174. package/lib-commonjs/MenuPopover.js.map +1 -1
  175. package/lib-commonjs/MenuSplitGroup.js +10 -0
  176. package/lib-commonjs/MenuSplitGroup.js.map +1 -0
  177. package/lib-commonjs/MenuTrigger.js +1 -1
  178. package/lib-commonjs/MenuTrigger.js.map +1 -1
  179. package/lib-commonjs/components/Menu/Menu.js +7 -7
  180. package/lib-commonjs/components/Menu/Menu.js.map +1 -1
  181. package/lib-commonjs/components/Menu/Menu.types.js.map +1 -1
  182. package/lib-commonjs/components/Menu/index.js +1 -1
  183. package/lib-commonjs/components/Menu/index.js.map +1 -1
  184. package/lib-commonjs/components/Menu/renderMenu.js +5 -5
  185. package/lib-commonjs/components/Menu/renderMenu.js.map +1 -1
  186. package/lib-commonjs/components/Menu/useMenu.js +131 -142
  187. package/lib-commonjs/components/Menu/useMenu.js.map +1 -1
  188. package/lib-commonjs/components/Menu/useMenuContextValues.js +37 -35
  189. package/lib-commonjs/components/Menu/useMenuContextValues.js.map +1 -1
  190. package/lib-commonjs/components/MenuDivider/MenuDivider.js +9 -9
  191. package/lib-commonjs/components/MenuDivider/MenuDivider.js.map +1 -1
  192. package/lib-commonjs/components/MenuDivider/MenuDivider.types.js.map +1 -1
  193. package/lib-commonjs/components/MenuDivider/index.js +1 -1
  194. package/lib-commonjs/components/MenuDivider/index.js.map +1 -1
  195. package/lib-commonjs/components/MenuDivider/renderMenuDivider.js +11 -12
  196. package/lib-commonjs/components/MenuDivider/renderMenuDivider.js.map +1 -1
  197. package/lib-commonjs/components/MenuDivider/useMenuDivider.js +12 -11
  198. package/lib-commonjs/components/MenuDivider/useMenuDivider.js.map +1 -1
  199. package/lib-commonjs/components/MenuDivider/useMenuDividerStyles.js +13 -7
  200. package/lib-commonjs/components/MenuDivider/useMenuDividerStyles.js.map +1 -1
  201. package/lib-commonjs/components/MenuGroup/MenuGroup.js +12 -9
  202. package/lib-commonjs/components/MenuGroup/MenuGroup.js.map +1 -1
  203. package/lib-commonjs/components/MenuGroup/MenuGroup.types.js.map +1 -1
  204. package/lib-commonjs/components/MenuGroup/index.js +3 -1
  205. package/lib-commonjs/components/MenuGroup/index.js.map +1 -1
  206. package/lib-commonjs/components/MenuGroup/renderMenuGroup.js +12 -13
  207. package/lib-commonjs/components/MenuGroup/renderMenuGroup.js.map +1 -1
  208. package/lib-commonjs/components/MenuGroup/useMenuGroup.js +13 -11
  209. package/lib-commonjs/components/MenuGroup/useMenuGroup.js.map +1 -1
  210. package/lib-commonjs/components/MenuGroup/useMenuGroupContextValues.js +11 -11
  211. package/lib-commonjs/components/MenuGroup/useMenuGroupContextValues.js.map +1 -1
  212. package/lib-commonjs/components/MenuGroup/useMenuGroupStyles.js +20 -0
  213. package/lib-commonjs/components/MenuGroup/useMenuGroupStyles.js.map +1 -0
  214. package/lib-commonjs/components/MenuGroupHeader/MenuGroupHeader.js +9 -9
  215. package/lib-commonjs/components/MenuGroupHeader/MenuGroupHeader.js.map +1 -1
  216. package/lib-commonjs/components/MenuGroupHeader/MenuGroupHeader.types.js.map +1 -1
  217. package/lib-commonjs/components/MenuGroupHeader/index.js +1 -1
  218. package/lib-commonjs/components/MenuGroupHeader/index.js.map +1 -1
  219. package/lib-commonjs/components/MenuGroupHeader/renderMenuGroupHeader.js +11 -12
  220. package/lib-commonjs/components/MenuGroupHeader/renderMenuGroupHeader.js.map +1 -1
  221. package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeader.js +16 -12
  222. package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeader.js.map +1 -1
  223. package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeaderStyles.js +13 -7
  224. package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeaderStyles.js.map +1 -1
  225. package/lib-commonjs/components/MenuItem/MenuItem.js +9 -12
  226. package/lib-commonjs/components/MenuItem/MenuItem.js.map +1 -1
  227. package/lib-commonjs/components/MenuItem/MenuItem.types.js.map +1 -1
  228. package/lib-commonjs/components/MenuItem/index.js +1 -1
  229. package/lib-commonjs/components/MenuItem/index.js.map +1 -1
  230. package/lib-commonjs/components/MenuItem/renderMenuItem.js +16 -14
  231. package/lib-commonjs/components/MenuItem/renderMenuItem.js.map +1 -1
  232. package/lib-commonjs/components/MenuItem/useCharacterSearch.js +7 -7
  233. package/lib-commonjs/components/MenuItem/useCharacterSearch.js.map +1 -1
  234. package/lib-commonjs/components/MenuItem/useMenuItem.js +45 -53
  235. package/lib-commonjs/components/MenuItem/useMenuItem.js.map +1 -1
  236. package/lib-commonjs/components/MenuItem/useMenuItemStyles.js +63 -20
  237. package/lib-commonjs/components/MenuItem/useMenuItemStyles.js.map +1 -1
  238. package/lib-commonjs/components/MenuItemCheckbox/MenuItemCheckbox.js +9 -9
  239. package/lib-commonjs/components/MenuItemCheckbox/MenuItemCheckbox.js.map +1 -1
  240. package/lib-commonjs/components/MenuItemCheckbox/MenuItemCheckbox.types.js.map +1 -1
  241. package/lib-commonjs/components/MenuItemCheckbox/index.js +3 -1
  242. package/lib-commonjs/components/MenuItemCheckbox/index.js.map +1 -1
  243. package/lib-commonjs/components/MenuItemCheckbox/renderMenuItemCheckbox.js +15 -14
  244. package/lib-commonjs/components/MenuItemCheckbox/renderMenuItemCheckbox.js.map +1 -1
  245. package/lib-commonjs/components/MenuItemCheckbox/useMenuItemCheckbox.js +19 -21
  246. package/lib-commonjs/components/MenuItemCheckbox/useMenuItemCheckbox.js.map +1 -1
  247. package/lib-commonjs/components/MenuItemCheckbox/useMenuItemCheckboxStyles.js +35 -7
  248. package/lib-commonjs/components/MenuItemCheckbox/useMenuItemCheckboxStyles.js.map +1 -1
  249. package/lib-commonjs/components/MenuItemRadio/MenuItemRadio.js +9 -9
  250. package/lib-commonjs/components/MenuItemRadio/MenuItemRadio.js.map +1 -1
  251. package/lib-commonjs/components/MenuItemRadio/MenuItemRadio.types.js.map +1 -1
  252. package/lib-commonjs/components/MenuItemRadio/index.js +3 -1
  253. package/lib-commonjs/components/MenuItemRadio/index.js.map +1 -1
  254. package/lib-commonjs/components/MenuItemRadio/renderMenuItemRadio.js +15 -14
  255. package/lib-commonjs/components/MenuItemRadio/renderMenuItemRadio.js.map +1 -1
  256. package/lib-commonjs/components/MenuItemRadio/useMenuItemRadio.js +19 -20
  257. package/lib-commonjs/components/MenuItemRadio/useMenuItemRadio.js.map +1 -1
  258. package/lib-commonjs/components/MenuItemRadio/useMenuItemRadioStyles.js +35 -7
  259. package/lib-commonjs/components/MenuItemRadio/useMenuItemRadioStyles.js.map +1 -1
  260. package/lib-commonjs/components/MenuList/MenuList.js +11 -11
  261. package/lib-commonjs/components/MenuList/MenuList.js.map +1 -1
  262. package/lib-commonjs/components/MenuList/MenuList.types.js.map +1 -1
  263. package/lib-commonjs/components/MenuList/index.js +1 -1
  264. package/lib-commonjs/components/MenuList/index.js.map +1 -1
  265. package/lib-commonjs/components/MenuList/renderMenuList.js +12 -13
  266. package/lib-commonjs/components/MenuList/renderMenuList.js.map +1 -1
  267. package/lib-commonjs/components/MenuList/useMenuList.js +78 -96
  268. package/lib-commonjs/components/MenuList/useMenuList.js.map +1 -1
  269. package/lib-commonjs/components/MenuList/useMenuListContextValues.js +21 -19
  270. package/lib-commonjs/components/MenuList/useMenuListContextValues.js.map +1 -1
  271. package/lib-commonjs/components/MenuList/useMenuListStyles.js +14 -9
  272. package/lib-commonjs/components/MenuList/useMenuListStyles.js.map +1 -1
  273. package/lib-commonjs/components/MenuPopover/MenuPopover.js +8 -8
  274. package/lib-commonjs/components/MenuPopover/MenuPopover.js.map +1 -1
  275. package/lib-commonjs/components/MenuPopover/MenuPopover.types.js.map +1 -1
  276. package/lib-commonjs/components/MenuPopover/index.js +1 -1
  277. package/lib-commonjs/components/MenuPopover/index.js.map +1 -1
  278. package/lib-commonjs/components/MenuPopover/renderMenuPopover.js +14 -13
  279. package/lib-commonjs/components/MenuPopover/renderMenuPopover.js.map +1 -1
  280. package/lib-commonjs/components/MenuPopover/useMenuPopover.js +43 -50
  281. package/lib-commonjs/components/MenuPopover/useMenuPopover.js.map +1 -1
  282. package/lib-commonjs/components/MenuPopover/useMenuPopoverStyles.js +19 -10
  283. package/lib-commonjs/components/MenuPopover/useMenuPopoverStyles.js.map +1 -1
  284. package/lib-commonjs/components/MenuSplitGroup/MenuSplitGroup.js +26 -0
  285. package/lib-commonjs/components/MenuSplitGroup/MenuSplitGroup.js.map +1 -0
  286. package/lib-commonjs/components/MenuSplitGroup/MenuSplitGroup.types.js +6 -0
  287. package/lib-commonjs/components/MenuSplitGroup/MenuSplitGroup.types.js.map +1 -0
  288. package/lib-commonjs/components/MenuSplitGroup/index.js +18 -0
  289. package/lib-commonjs/components/MenuSplitGroup/index.js.map +1 -0
  290. package/lib-commonjs/components/MenuSplitGroup/renderMenuSplitGroup.js +26 -0
  291. package/lib-commonjs/components/MenuSplitGroup/renderMenuSplitGroup.js.map +1 -0
  292. package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroup.js +81 -0
  293. package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroup.js.map +1 -0
  294. package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroupStyles.js +49 -0
  295. package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroupStyles.js.map +1 -0
  296. package/lib-commonjs/components/MenuTrigger/MenuTrigger.js +6 -5
  297. package/lib-commonjs/components/MenuTrigger/MenuTrigger.js.map +1 -1
  298. package/lib-commonjs/components/MenuTrigger/MenuTrigger.types.js.map +1 -1
  299. package/lib-commonjs/components/MenuTrigger/index.js +1 -1
  300. package/lib-commonjs/components/MenuTrigger/index.js.map +1 -1
  301. package/lib-commonjs/components/MenuTrigger/renderMenuTrigger.js +6 -6
  302. package/lib-commonjs/components/MenuTrigger/renderMenuTrigger.js.map +1 -1
  303. package/lib-commonjs/components/MenuTrigger/useMenuTrigger.js +175 -7
  304. package/lib-commonjs/components/MenuTrigger/useMenuTrigger.js.map +1 -1
  305. package/lib-commonjs/components/index.js +1 -1
  306. package/lib-commonjs/components/index.js.map +1 -1
  307. package/lib-commonjs/contexts/menuContext.js +6 -12
  308. package/lib-commonjs/contexts/menuContext.js.map +1 -1
  309. package/lib-commonjs/contexts/menuGroupContext.js +5 -7
  310. package/lib-commonjs/contexts/menuGroupContext.js.map +1 -1
  311. package/lib-commonjs/contexts/menuListContext.js +8 -18
  312. package/lib-commonjs/contexts/menuListContext.js.map +1 -1
  313. package/lib-commonjs/contexts/menuTriggerContext.js +6 -8
  314. package/lib-commonjs/contexts/menuTriggerContext.js.map +1 -1
  315. package/lib-commonjs/index.js +412 -16
  316. package/lib-commonjs/index.js.map +1 -1
  317. package/lib-commonjs/selectable/index.js +1 -1
  318. package/lib-commonjs/selectable/index.js.map +1 -1
  319. package/lib-commonjs/selectable/types.js.map +1 -1
  320. package/lib-commonjs/selectable/useCheckmarkStyles.js +7 -7
  321. package/lib-commonjs/selectable/useCheckmarkStyles.js.map +1 -1
  322. package/lib-commonjs/utils/index.js +1 -1
  323. package/lib-commonjs/utils/index.js.map +1 -1
  324. package/lib-commonjs/utils/useIsSubmenu.js +5 -7
  325. package/lib-commonjs/utils/useIsSubmenu.js.map +1 -1
  326. package/lib-commonjs/utils/useOnMenuEnter.js +18 -16
  327. package/lib-commonjs/utils/useOnMenuEnter.js.map +1 -1
  328. package/package.json +25 -29
  329. package/lib/Menu.d.ts +0 -1
  330. package/lib/MenuDivider.d.ts +0 -1
  331. package/lib/MenuGroup.d.ts +0 -1
  332. package/lib/MenuGroupHeader.d.ts +0 -1
  333. package/lib/MenuItem.d.ts +0 -1
  334. package/lib/MenuItemCheckbox.d.ts +0 -1
  335. package/lib/MenuItemRadio.d.ts +0 -1
  336. package/lib/MenuList.d.ts +0 -1
  337. package/lib/MenuPopover.d.ts +0 -1
  338. package/lib/MenuTrigger.d.ts +0 -1
  339. package/lib/common/isConformant.d.ts +0 -4
  340. package/lib/common/isConformant.js +0 -12
  341. package/lib/common/isConformant.js.map +0 -1
  342. package/lib/common/mockUseMenuContext.d.ts +0 -7
  343. package/lib/common/mockUseMenuContext.js +0 -36
  344. package/lib/common/mockUseMenuContext.js.map +0 -1
  345. package/lib/components/Menu/Menu.d.ts +0 -6
  346. package/lib/components/Menu/Menu.types.d.ts +0 -112
  347. package/lib/components/Menu/index.d.ts +0 -5
  348. package/lib/components/Menu/renderMenu.d.ts +0 -5
  349. package/lib/components/Menu/useMenu.d.ts +0 -10
  350. package/lib/components/Menu/useMenuContextValues.d.ts +0 -2
  351. package/lib/components/MenuDivider/MenuDivider.d.ts +0 -6
  352. package/lib/components/MenuDivider/MenuDivider.types.d.ts +0 -6
  353. package/lib/components/MenuDivider/index.d.ts +0 -5
  354. package/lib/components/MenuDivider/renderMenuDivider.d.ts +0 -6
  355. package/lib/components/MenuDivider/useMenuDivider.d.ts +0 -6
  356. package/lib/components/MenuDivider/useMenuDividerStyles.d.ts +0 -2
  357. package/lib/components/MenuGroup/MenuGroup.d.ts +0 -6
  358. package/lib/components/MenuGroup/MenuGroup.types.d.ts +0 -15
  359. package/lib/components/MenuGroup/index.d.ts +0 -5
  360. package/lib/components/MenuGroup/renderMenuGroup.d.ts +0 -6
  361. package/lib/components/MenuGroup/useMenuGroup.d.ts +0 -6
  362. package/lib/components/MenuGroup/useMenuGroupContextValues.d.ts +0 -2
  363. package/lib/components/MenuGroupHeader/MenuGroupHeader.d.ts +0 -6
  364. package/lib/components/MenuGroupHeader/MenuGroupHeader.types.d.ts +0 -6
  365. package/lib/components/MenuGroupHeader/index.d.ts +0 -5
  366. package/lib/components/MenuGroupHeader/renderMenuGroupHeader.d.ts +0 -6
  367. package/lib/components/MenuGroupHeader/useMenuGroupHeader.d.ts +0 -6
  368. package/lib/components/MenuGroupHeader/useMenuGroupHeaderStyles.d.ts +0 -2
  369. package/lib/components/MenuItem/MenuItem.d.ts +0 -6
  370. package/lib/components/MenuItem/MenuItem.types.d.ts +0 -43
  371. package/lib/components/MenuItem/index.d.ts +0 -5
  372. package/lib/components/MenuItem/renderMenuItem.d.ts +0 -5
  373. package/lib/components/MenuItem/useCharacterSearch.d.ts +0 -3
  374. package/lib/components/MenuItem/useMenuItem.d.ts +0 -10
  375. package/lib/components/MenuItem/useMenuItemStyles.d.ts +0 -3
  376. package/lib/components/MenuItemCheckbox/MenuItemCheckbox.d.ts +0 -6
  377. package/lib/components/MenuItemCheckbox/MenuItemCheckbox.types.d.ts +0 -4
  378. package/lib/components/MenuItemCheckbox/index.d.ts +0 -4
  379. package/lib/components/MenuItemCheckbox/renderMenuItemCheckbox.d.ts +0 -3
  380. package/lib/components/MenuItemCheckbox/useMenuItemCheckbox.d.ts +0 -4
  381. package/lib/components/MenuItemCheckbox/useMenuItemCheckboxStyles.d.ts +0 -2
  382. package/lib/components/MenuItemRadio/MenuItemRadio.d.ts +0 -6
  383. package/lib/components/MenuItemRadio/MenuItemRadio.types.d.ts +0 -4
  384. package/lib/components/MenuItemRadio/index.d.ts +0 -4
  385. package/lib/components/MenuItemRadio/renderMenuItemRadio.d.ts +0 -6
  386. package/lib/components/MenuItemRadio/useMenuItemRadio.d.ts +0 -6
  387. package/lib/components/MenuItemRadio/useMenuItemRadioStyles.d.ts +0 -2
  388. package/lib/components/MenuList/MenuList.d.ts +0 -6
  389. package/lib/components/MenuList/MenuList.types.d.ts +0 -53
  390. package/lib/components/MenuList/index.d.ts +0 -6
  391. package/lib/components/MenuList/renderMenuList.d.ts +0 -5
  392. package/lib/components/MenuList/useMenuList.d.ts +0 -6
  393. package/lib/components/MenuList/useMenuListContextValues.d.ts +0 -2
  394. package/lib/components/MenuList/useMenuListStyles.d.ts +0 -5
  395. package/lib/components/MenuPopover/MenuPopover.d.ts +0 -6
  396. package/lib/components/MenuPopover/MenuPopover.types.d.ts +0 -18
  397. package/lib/components/MenuPopover/index.d.ts +0 -5
  398. package/lib/components/MenuPopover/renderMenuPopover.d.ts +0 -5
  399. package/lib/components/MenuPopover/useMenuPopover.d.ts +0 -12
  400. package/lib/components/MenuPopover/useMenuPopoverStyles.d.ts +0 -5
  401. package/lib/components/MenuTrigger/MenuTrigger.d.ts +0 -7
  402. package/lib/components/MenuTrigger/MenuTrigger.types.d.ts +0 -16
  403. package/lib/components/MenuTrigger/index.d.ts +0 -4
  404. package/lib/components/MenuTrigger/renderMenuTrigger.d.ts +0 -7
  405. package/lib/components/MenuTrigger/useMenuTrigger.d.ts +0 -8
  406. package/lib/components/MenuTrigger/useTriggerElement.d.ts +0 -5
  407. package/lib/components/MenuTrigger/useTriggerElement.js +0 -179
  408. package/lib/components/MenuTrigger/useTriggerElement.js.map +0 -1
  409. package/lib/components/index.d.ts +0 -2
  410. package/lib/contexts/menuContext.d.ts +0 -16
  411. package/lib/contexts/menuGroupContext.d.ts +0 -13
  412. package/lib/contexts/menuListContext.d.ts +0 -15
  413. package/lib/contexts/menuTriggerContext.d.ts +0 -3
  414. package/lib/index.d.ts +0 -15
  415. package/lib/selectable/index.d.ts +0 -2
  416. package/lib/selectable/types.d.ts +0 -34
  417. package/lib/selectable/useCheckmarkStyles.d.ts +0 -8
  418. package/lib/utils/DefaultIcons.d.ts +0 -7
  419. package/lib/utils/DefaultIcons.js +0 -88
  420. package/lib/utils/DefaultIcons.js.map +0 -1
  421. package/lib/utils/index.d.ts +0 -1
  422. package/lib/utils/useIsSubmenu.d.ts +0 -9
  423. package/lib/utils/useOnMenuEnter.d.ts +0 -23
  424. package/lib-commonjs/Menu.d.ts +0 -1
  425. package/lib-commonjs/MenuDivider.d.ts +0 -1
  426. package/lib-commonjs/MenuGroup.d.ts +0 -1
  427. package/lib-commonjs/MenuGroupHeader.d.ts +0 -1
  428. package/lib-commonjs/MenuItem.d.ts +0 -1
  429. package/lib-commonjs/MenuItemCheckbox.d.ts +0 -1
  430. package/lib-commonjs/MenuItemRadio.d.ts +0 -1
  431. package/lib-commonjs/MenuList.d.ts +0 -1
  432. package/lib-commonjs/MenuPopover.d.ts +0 -1
  433. package/lib-commonjs/MenuTrigger.d.ts +0 -1
  434. package/lib-commonjs/common/isConformant.d.ts +0 -4
  435. package/lib-commonjs/common/isConformant.js +0 -23
  436. package/lib-commonjs/common/isConformant.js.map +0 -1
  437. package/lib-commonjs/common/mockUseMenuContext.d.ts +0 -7
  438. package/lib-commonjs/common/mockUseMenuContext.js +0 -47
  439. package/lib-commonjs/common/mockUseMenuContext.js.map +0 -1
  440. package/lib-commonjs/components/Menu/Menu.d.ts +0 -6
  441. package/lib-commonjs/components/Menu/Menu.types.d.ts +0 -112
  442. package/lib-commonjs/components/Menu/index.d.ts +0 -5
  443. package/lib-commonjs/components/Menu/renderMenu.d.ts +0 -5
  444. package/lib-commonjs/components/Menu/useMenu.d.ts +0 -10
  445. package/lib-commonjs/components/Menu/useMenuContextValues.d.ts +0 -2
  446. package/lib-commonjs/components/MenuDivider/MenuDivider.d.ts +0 -6
  447. package/lib-commonjs/components/MenuDivider/MenuDivider.types.d.ts +0 -6
  448. package/lib-commonjs/components/MenuDivider/index.d.ts +0 -5
  449. package/lib-commonjs/components/MenuDivider/renderMenuDivider.d.ts +0 -6
  450. package/lib-commonjs/components/MenuDivider/useMenuDivider.d.ts +0 -6
  451. package/lib-commonjs/components/MenuDivider/useMenuDividerStyles.d.ts +0 -2
  452. package/lib-commonjs/components/MenuGroup/MenuGroup.d.ts +0 -6
  453. package/lib-commonjs/components/MenuGroup/MenuGroup.types.d.ts +0 -15
  454. package/lib-commonjs/components/MenuGroup/index.d.ts +0 -5
  455. package/lib-commonjs/components/MenuGroup/renderMenuGroup.d.ts +0 -6
  456. package/lib-commonjs/components/MenuGroup/useMenuGroup.d.ts +0 -6
  457. package/lib-commonjs/components/MenuGroup/useMenuGroupContextValues.d.ts +0 -2
  458. package/lib-commonjs/components/MenuGroupHeader/MenuGroupHeader.d.ts +0 -6
  459. package/lib-commonjs/components/MenuGroupHeader/MenuGroupHeader.types.d.ts +0 -6
  460. package/lib-commonjs/components/MenuGroupHeader/index.d.ts +0 -5
  461. package/lib-commonjs/components/MenuGroupHeader/renderMenuGroupHeader.d.ts +0 -6
  462. package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeader.d.ts +0 -6
  463. package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeaderStyles.d.ts +0 -2
  464. package/lib-commonjs/components/MenuItem/MenuItem.d.ts +0 -6
  465. package/lib-commonjs/components/MenuItem/MenuItem.types.d.ts +0 -43
  466. package/lib-commonjs/components/MenuItem/index.d.ts +0 -5
  467. package/lib-commonjs/components/MenuItem/renderMenuItem.d.ts +0 -5
  468. package/lib-commonjs/components/MenuItem/useCharacterSearch.d.ts +0 -3
  469. package/lib-commonjs/components/MenuItem/useMenuItem.d.ts +0 -10
  470. package/lib-commonjs/components/MenuItem/useMenuItemStyles.d.ts +0 -3
  471. package/lib-commonjs/components/MenuItemCheckbox/MenuItemCheckbox.d.ts +0 -6
  472. package/lib-commonjs/components/MenuItemCheckbox/MenuItemCheckbox.types.d.ts +0 -4
  473. package/lib-commonjs/components/MenuItemCheckbox/index.d.ts +0 -4
  474. package/lib-commonjs/components/MenuItemCheckbox/renderMenuItemCheckbox.d.ts +0 -3
  475. package/lib-commonjs/components/MenuItemCheckbox/useMenuItemCheckbox.d.ts +0 -4
  476. package/lib-commonjs/components/MenuItemCheckbox/useMenuItemCheckboxStyles.d.ts +0 -2
  477. package/lib-commonjs/components/MenuItemRadio/MenuItemRadio.d.ts +0 -6
  478. package/lib-commonjs/components/MenuItemRadio/MenuItemRadio.types.d.ts +0 -4
  479. package/lib-commonjs/components/MenuItemRadio/index.d.ts +0 -4
  480. package/lib-commonjs/components/MenuItemRadio/renderMenuItemRadio.d.ts +0 -6
  481. package/lib-commonjs/components/MenuItemRadio/useMenuItemRadio.d.ts +0 -6
  482. package/lib-commonjs/components/MenuItemRadio/useMenuItemRadioStyles.d.ts +0 -2
  483. package/lib-commonjs/components/MenuList/MenuList.d.ts +0 -6
  484. package/lib-commonjs/components/MenuList/MenuList.types.d.ts +0 -53
  485. package/lib-commonjs/components/MenuList/index.d.ts +0 -6
  486. package/lib-commonjs/components/MenuList/renderMenuList.d.ts +0 -5
  487. package/lib-commonjs/components/MenuList/useMenuList.d.ts +0 -6
  488. package/lib-commonjs/components/MenuList/useMenuListContextValues.d.ts +0 -2
  489. package/lib-commonjs/components/MenuList/useMenuListStyles.d.ts +0 -5
  490. package/lib-commonjs/components/MenuPopover/MenuPopover.d.ts +0 -6
  491. package/lib-commonjs/components/MenuPopover/MenuPopover.types.d.ts +0 -18
  492. package/lib-commonjs/components/MenuPopover/index.d.ts +0 -5
  493. package/lib-commonjs/components/MenuPopover/renderMenuPopover.d.ts +0 -5
  494. package/lib-commonjs/components/MenuPopover/useMenuPopover.d.ts +0 -12
  495. package/lib-commonjs/components/MenuPopover/useMenuPopoverStyles.d.ts +0 -5
  496. package/lib-commonjs/components/MenuTrigger/MenuTrigger.d.ts +0 -7
  497. package/lib-commonjs/components/MenuTrigger/MenuTrigger.types.d.ts +0 -16
  498. package/lib-commonjs/components/MenuTrigger/index.d.ts +0 -4
  499. package/lib-commonjs/components/MenuTrigger/renderMenuTrigger.d.ts +0 -7
  500. package/lib-commonjs/components/MenuTrigger/useMenuTrigger.d.ts +0 -8
  501. package/lib-commonjs/components/MenuTrigger/useTriggerElement.d.ts +0 -5
  502. package/lib-commonjs/components/MenuTrigger/useTriggerElement.js +0 -195
  503. package/lib-commonjs/components/MenuTrigger/useTriggerElement.js.map +0 -1
  504. package/lib-commonjs/components/index.d.ts +0 -2
  505. package/lib-commonjs/contexts/menuContext.d.ts +0 -16
  506. package/lib-commonjs/contexts/menuGroupContext.d.ts +0 -13
  507. package/lib-commonjs/contexts/menuListContext.d.ts +0 -15
  508. package/lib-commonjs/contexts/menuTriggerContext.d.ts +0 -3
  509. package/lib-commonjs/index.d.ts +0 -15
  510. package/lib-commonjs/selectable/index.d.ts +0 -2
  511. package/lib-commonjs/selectable/types.d.ts +0 -34
  512. package/lib-commonjs/selectable/useCheckmarkStyles.d.ts +0 -8
  513. package/lib-commonjs/utils/DefaultIcons.d.ts +0 -7
  514. package/lib-commonjs/utils/DefaultIcons.js +0 -100
  515. package/lib-commonjs/utils/DefaultIcons.js.map +0 -1
  516. package/lib-commonjs/utils/index.d.ts +0 -1
  517. package/lib-commonjs/utils/useIsSubmenu.d.ts +0 -9
  518. package/lib-commonjs/utils/useOnMenuEnter.d.ts +0 -23
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/MenuItemRadio/MenuItemRadio.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,gBAAT,QAAiC,oBAAjC;AACA,SAAS,mBAAT,QAAoC,uBAApC;AACA,SAAS,sBAAT,QAAuC,0BAAvC;AAIA;;AAEG;;AACH,OAAO,IAAM,aAAa,gBAA4C,KAAK,CAAC,UAAN,CAAiB,UAAC,KAAD,EAAQ,GAAR,EAAW;AAChG,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAD,EAAQ,GAAR,CAA9B;AACA,EAAA,sBAAsB,CAAC,KAAD,CAAtB;AAEA,SAAO,mBAAmB,CAAC,KAAD,CAA1B;AACD,CALqE,CAA/D;AAOP,aAAa,CAAC,WAAd,GAA4B,eAA5B","sourceRoot":""}
1
+ {"version":3,"sources":["components/MenuItemRadio/MenuItemRadio.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,yBAAT,QAA0C,oBAA1C;AACA,SAAS,4BAAT,QAA6C,uBAA7C;AACA,SAAS,+BAAT,QAAgD,0BAAhD;AAIA;;AAEG;;AACH,OAAO,MAAM,aAAa,gBAA4C,KAAK,CAAC,UAAN,CAAiB,CAAC,KAAD,EAAQ,GAAR,KAAe;AACpG,QAAM,KAAK,GAAG,yBAAyB,CAAC,KAAD,EAAQ,GAAR,CAAvC;AACA,EAAA,+BAA+B,CAAC,KAAD,CAA/B;AAEA,SAAO,4BAA4B,CAAC,KAAD,CAAnC;AACD,CALqE,CAA/D;AAOP,aAAa,CAAC,WAAd,GAA4B,eAA5B","sourcesContent":["import * as React from 'react';\nimport { useMenuItemRadio_unstable } from './useMenuItemRadio';\nimport { renderMenuItemRadio_unstable } from './renderMenuItemRadio';\nimport { useMenuItemRadioStyles_unstable } from './useMenuItemRadioStyles';\nimport type { MenuItemRadioProps } from './MenuItemRadio.types';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\n\n/**\n * Define a styled MenuItemRadio, using the `useMenuItemRadio_unstable` hook.\n */\nexport const MenuItemRadio: ForwardRefComponent<MenuItemRadioProps> = React.forwardRef((props, ref) => {\n const state = useMenuItemRadio_unstable(props, ref);\n useMenuItemRadioStyles_unstable(state);\n\n return renderMenuItemRadio_unstable(state);\n});\n\nMenuItemRadio.displayName = 'MenuItemRadio';\n"],"sourceRoot":"../src/"}
@@ -1 +1 @@
1
- {"version":3,"file":"MenuItemRadio.types.js","sourceRoot":"","sources":["../../../src/components/MenuItemRadio/MenuItemRadio.types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"MenuItemRadio.types.js","sourceRoot":"../src/","sources":["components/MenuItemRadio/MenuItemRadio.types.ts"],"names":[],"mappings":"","sourcesContent":["import type { MenuItemSelectableProps, MenuItemSelectableState } from '../../selectable/index';\nimport type { MenuItemProps, MenuItemState } from '../MenuItem/MenuItem.types';\n\nexport type MenuItemRadioProps = MenuItemProps & MenuItemSelectableProps;\n\nexport type MenuItemRadioState = MenuItemState & MenuItemSelectableState;\n"]}
@@ -2,4 +2,5 @@ export * from './MenuItemRadio.types';
2
2
  export * from './MenuItemRadio';
3
3
  export * from './renderMenuItemRadio';
4
4
  export * from './useMenuItemRadio';
5
+ export * from './useMenuItemRadioStyles';
5
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/MenuItemRadio/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"../src/","sources":["components/MenuItemRadio/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC","sourcesContent":["export * from './MenuItemRadio.types';\nexport * from './MenuItemRadio';\nexport * from './renderMenuItemRadio';\nexport * from './useMenuItemRadio';\nexport * from './useMenuItemRadioStyles';\n"]}
@@ -1,17 +1,20 @@
1
- import { __assign } from "tslib";
2
1
  import * as React from 'react';
3
2
  import { getSlots } from '@fluentui/react-utilities';
4
- import { menuItemSlots } from '../MenuItem/index';
5
3
  /**
6
4
  * Redefine the render function to add slots. Reuse the menuitemradio structure but add
7
5
  * slots to children.
8
6
  */
9
7
 
10
- export var renderMenuItemRadio = function (state) {
11
- var _a = getSlots(state, menuItemSlots),
12
- slots = _a.slots,
13
- slotProps = _a.slotProps;
14
-
15
- return /*#__PURE__*/React.createElement(slots.root, __assign({}, slotProps.root), /*#__PURE__*/React.createElement(slots.checkmark, __assign({}, slotProps.checkmark)), /*#__PURE__*/React.createElement(slots.icon, __assign({}, slotProps.icon)), /*#__PURE__*/React.createElement(slots.content, __assign({}, slotProps.content)), /*#__PURE__*/React.createElement(slots.secondaryContent, __assign({}, slotProps.secondaryContent)));
8
+ export const renderMenuItemRadio_unstable = state => {
9
+ const {
10
+ slots,
11
+ slotProps
12
+ } = getSlots(state);
13
+ return /*#__PURE__*/React.createElement(slots.root, { ...slotProps.root
14
+ }, slots.checkmark && /*#__PURE__*/React.createElement(slots.checkmark, { ...slotProps.checkmark
15
+ }), slots.icon && /*#__PURE__*/React.createElement(slots.icon, { ...slotProps.icon
16
+ }), slots.content && /*#__PURE__*/React.createElement(slots.content, { ...slotProps.content
17
+ }), slots.secondaryContent && /*#__PURE__*/React.createElement(slots.secondaryContent, { ...slotProps.secondaryContent
18
+ }));
16
19
  };
17
20
  //# sourceMappingURL=renderMenuItemRadio.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/MenuItemRadio/renderMenuItemRadio.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,QAAT,QAAyB,2BAAzB;AACA,SAAS,aAAT,QAA8B,mBAA9B;AAIA;;;AAGG;;AACH,OAAO,IAAM,mBAAmB,GAAG,UAAC,KAAD,EAA0B;AACrD,MAAA,EAAA,GAAuB,QAAQ,CAAgB,KAAhB,EAAuB,aAAvB,CAA/B;AAAA,MAAE,KAAK,GAAA,EAAA,CAAA,KAAP;AAAA,MAAS,SAAS,GAAA,EAAA,CAAA,SAAlB;;AAEN,sBACE,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,IAAP,EAAW,QAAA,CAAA,EAAA,EAAK,SAAS,CAAC,IAAf,CAAX,eACE,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,SAAP,EAAgB,QAAA,CAAA,EAAA,EAAK,SAAS,CAAC,SAAf,CAAhB,CADF,eAEE,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,IAAP,EAAW,QAAA,CAAA,EAAA,EAAK,SAAS,CAAC,IAAf,CAAX,CAFF,eAGE,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,OAAP,EAAc,QAAA,CAAA,EAAA,EAAK,SAAS,CAAC,OAAf,CAAd,CAHF,eAIE,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,gBAAP,EAAuB,QAAA,CAAA,EAAA,EAAK,SAAS,CAAC,gBAAf,CAAvB,CAJF,CADF;AAQD,CAXM","sourceRoot":""}
1
+ {"version":3,"sources":["components/MenuItemRadio/renderMenuItemRadio.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,QAAT,QAAyB,2BAAzB;AAIA;;;AAGG;;AACH,OAAO,MAAM,4BAA4B,GAAI,KAAD,IAA8B;AACxE,QAAM;AAAE,IAAA,KAAF;AAAS,IAAA;AAAT,MAAuB,QAAQ,CAAgB,KAAhB,CAArC;AAEA,sBACE,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,IAAP,EAAW,EAAA,GAAK,SAAS,CAAC;AAAf,GAAX,EACG,KAAK,CAAC,SAAN,iBAAmB,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,SAAP,EAAgB,EAAA,GAAK,SAAS,CAAC;AAAf,GAAhB,CADtB,EAEG,KAAK,CAAC,IAAN,iBAAc,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,IAAP,EAAW,EAAA,GAAK,SAAS,CAAC;AAAf,GAAX,CAFjB,EAGG,KAAK,CAAC,OAAN,iBAAiB,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,OAAP,EAAc,EAAA,GAAK,SAAS,CAAC;AAAf,GAAd,CAHpB,EAIG,KAAK,CAAC,gBAAN,iBAA0B,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,gBAAP,EAAuB,EAAA,GAAK,SAAS,CAAC;AAAf,GAAvB,CAJ7B,CADF;AAQD,CAXM","sourcesContent":["import * as React from 'react';\nimport { getSlots } from '@fluentui/react-utilities';\nimport type { MenuItemRadioState } from './MenuItemRadio.types';\nimport type { MenuItemSlots } from '../MenuItem/MenuItem.types';\n\n/**\n * Redefine the render function to add slots. Reuse the menuitemradio structure but add\n * slots to children.\n */\nexport const renderMenuItemRadio_unstable = (state: MenuItemRadioState) => {\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.root>\n );\n};\n"],"sourceRoot":"../src/"}
@@ -1,39 +1,39 @@
1
- import { __assign } from "tslib";
2
1
  import * as React from 'react';
3
2
  import { resolveShorthand } from '@fluentui/react-utilities';
4
3
  import { Checkmark16Filled } from '@fluentui/react-icons';
5
- import { useMenuListContext } from '../../contexts/menuListContext';
6
- import { useMenuItem } from '../MenuItem/useMenuItem';
4
+ import { useMenuListContext_unstable } from '../../contexts/menuListContext';
5
+ import { useMenuItem_unstable } from '../MenuItem/useMenuItem';
7
6
  /**
8
7
  * Given user props, returns state and render function for a MenuItemRadio.
9
8
  */
10
9
 
11
- export var useMenuItemRadio = function (props, ref) {
12
- var radioProps = {
10
+ export const useMenuItemRadio_unstable = (props, ref) => {
11
+ const radioProps = {
13
12
  role: 'menuitemradio'
14
13
  };
15
- var state = useMenuItem(__assign(__assign(__assign({}, radioProps), props), {
14
+ const state = useMenuItem_unstable({ ...radioProps,
15
+ ...props,
16
16
  checkmark: resolveShorthand(props.checkmark, {
17
17
  defaultProps: {
18
18
  children: /*#__PURE__*/React.createElement(Checkmark16Filled, null)
19
19
  },
20
20
  required: true
21
21
  })
22
- }), ref);
23
- var selectRadio = useMenuListContext(function (context) {
24
- return context.selectRadio;
25
- });
26
- var onClickOriginal = state.root.onClick;
27
- var checked = useMenuListContext(function (context) {
22
+ }, ref);
23
+ const selectRadio = useMenuListContext_unstable(context => context.selectRadio);
24
+ const {
25
+ onClick: onClickOriginal
26
+ } = state.root;
27
+ const checked = useMenuListContext_unstable(context => {
28
28
  var _a;
29
29
 
30
- var checkedItems = ((_a = context.checkedValues) === null || _a === void 0 ? void 0 : _a[state.name]) || [];
30
+ const checkedItems = ((_a = context.checkedValues) === null || _a === void 0 ? void 0 : _a[state.name]) || [];
31
31
  return checkedItems.indexOf(state.value) !== -1;
32
32
  });
33
33
  state.checked = checked;
34
34
  state.root['aria-checked'] = state.checked; // MenuItem state already transforms keyDown to click events
35
35
 
36
- state.root.onClick = function (e) {
36
+ state.root.onClick = e => {
37
37
  if (state.disabled) {
38
38
  e.preventDefault();
39
39
  e.stopPropagation();
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/MenuItemRadio/useMenuItemRadio.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,gBAAT,QAAiC,2BAAjC;AACA,SAAS,iBAAT,QAAkC,uBAAlC;AACA,SAAS,kBAAT,QAAmC,gCAAnC;AACA,SAAS,WAAT,QAA4B,yBAA5B;AAGA;;AAEG;;AACH,OAAO,IAAM,gBAAgB,GAAG,UAAC,KAAD,EAA4B,GAA5B,EAAuD;AACrF,MAAM,UAAU,GAAG;AACjB,IAAA,IAAI,EAAE;AADW,GAAnB;AAIA,MAAM,KAAK,GAAG,WAAW,CAAA,QAAA,CAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EAElB,UAFkB,CAAA,EAGlB,KAHkB,CAAA,EAGb;AACR,IAAA,SAAS,EAAE,gBAAgB,CAAC,KAAK,CAAC,SAAP,EAAkB;AAC3C,MAAA,YAAY,EAAE;AAAE,QAAA,QAAQ,eAAE,KAAA,CAAA,aAAA,CAAC,iBAAD,EAAkB,IAAlB;AAAZ,OAD6B;AAE3C,MAAA,QAAQ,EAAE;AAFiC,KAAlB;AADnB,GAHa,CAAA,EASvB,GATuB,CAAzB;AAYA,MAAM,WAAW,GAAG,kBAAkB,CAAC,UAAA,OAAA,EAAO;AAAI,WAAA,OAAO,CAAP,WAAA;AAAmB,GAA/B,CAAtC;AACQ,MAAS,eAAe,GAAK,KAAK,CAAC,IAAN,CAAL,OAAxB;AACR,MAAM,OAAO,GAAG,kBAAkB,CAAC,UAAA,OAAA,EAAO;;;AACxC,QAAM,YAAY,GAAG,CAAA,CAAA,EAAA,GAAA,OAAO,CAAC,aAAR,MAAqB,IAArB,IAAqB,EAAA,KAAA,KAAA,CAArB,GAAqB,KAAA,CAArB,GAAqB,EAAA,CAAG,KAAK,CAAC,IAAT,CAArB,KAAuC,EAA5D;AACA,WAAO,YAAY,CAAC,OAAb,CAAqB,KAAK,CAAC,KAA3B,MAAsC,CAAC,CAA9C;AACD,GAHiC,CAAlC;AAKA,EAAA,KAAK,CAAC,OAAN,GAAgB,OAAhB;AACA,EAAA,KAAK,CAAC,IAAN,CAAW,cAAX,IAA6B,KAAK,CAAC,OAAnC,CAzBqF,CA2BrF;;AACA,EAAA,KAAK,CAAC,IAAN,CAAW,OAAX,GAAqB,UAAA,CAAA,EAAC;AACpB,QAAI,KAAK,CAAC,QAAV,EAAoB;AAClB,MAAA,CAAC,CAAC,cAAF;AACA,MAAA,CAAC,CAAC,eAAF;AACA;AACD;;AAED,IAAA,WAAW,KAAA,IAAX,IAAA,WAAW,KAAA,KAAA,CAAX,GAAW,KAAA,CAAX,GAAA,WAAW,CAAG,CAAH,EAAM,KAAK,CAAC,IAAZ,EAAkB,KAAK,CAAC,KAAxB,EAA+B,KAAK,CAAC,OAArC,CAAX;AACA,IAAA,eAAe,KAAA,IAAf,IAAA,eAAe,KAAA,KAAA,CAAf,GAAe,KAAA,CAAf,GAAA,eAAe,CAAG,CAAH,CAAf;AACD,GATD;;AAWA,SAAO,KAAP;AACD,CAxCM","sourceRoot":""}
1
+ {"version":3,"sources":["components/MenuItemRadio/useMenuItemRadio.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,gBAAT,QAAiC,2BAAjC;AACA,SAAS,iBAAT,QAAkC,uBAAlC;AACA,SAAS,2BAAT,QAA4C,gCAA5C;AACA,SAAS,oBAAT,QAAqC,yBAArC;AAGA;;AAEG;;AACH,OAAO,MAAM,yBAAyB,GAAG,CACvC,KADuC,EAEvC,GAFuC,KAGjB;AACtB,QAAM,UAAU,GAAG;AACjB,IAAA,IAAI,EAAE;AADW,GAAnB;AAIA,QAAM,KAAK,GAAG,oBAAoB,CAChC,EACE,GAAG,UADL;AAEE,OAAG,KAFL;AAGE,IAAA,SAAS,EAAE,gBAAgB,CAAC,KAAK,CAAC,SAAP,EAAkB;AAC3C,MAAA,YAAY,EAAE;AAAE,QAAA,QAAQ,eAAE,KAAA,CAAA,aAAA,CAAC,iBAAD,EAAkB,IAAlB;AAAZ,OAD6B;AAE3C,MAAA,QAAQ,EAAE;AAFiC,KAAlB;AAH7B,GADgC,EAShC,GATgC,CAAlC;AAYA,QAAM,WAAW,GAAG,2BAA2B,CAAC,OAAO,IAAI,OAAO,CAAC,WAApB,CAA/C;AACA,QAAM;AAAE,IAAA,OAAO,EAAE;AAAX,MAA+B,KAAK,CAAC,IAA3C;AACA,QAAM,OAAO,GAAG,2BAA2B,CAAC,OAAO,IAAG;;;AACpD,UAAM,YAAY,GAAG,CAAA,CAAA,EAAA,GAAA,OAAO,CAAC,aAAR,MAAqB,IAArB,IAAqB,EAAA,KAAA,KAAA,CAArB,GAAqB,KAAA,CAArB,GAAqB,EAAA,CAAG,KAAK,CAAC,IAAT,CAArB,KAAuC,EAA5D;AACA,WAAO,YAAY,CAAC,OAAb,CAAqB,KAAK,CAAC,KAA3B,MAAsC,CAAC,CAA9C;AACD,GAH0C,CAA3C;AAKA,EAAA,KAAK,CAAC,OAAN,GAAgB,OAAhB;AACA,EAAA,KAAK,CAAC,IAAN,CAAW,cAAX,IAA6B,KAAK,CAAC,OAAnC,CAzBsB,CA2BtB;;AACA,EAAA,KAAK,CAAC,IAAN,CAAW,OAAX,GAAqB,CAAC,IAAG;AACvB,QAAI,KAAK,CAAC,QAAV,EAAoB;AAClB,MAAA,CAAC,CAAC,cAAF;AACA,MAAA,CAAC,CAAC,eAAF;AACA;AACD;;AAED,IAAA,WAAW,KAAA,IAAX,IAAA,WAAW,KAAA,KAAA,CAAX,GAAW,KAAA,CAAX,GAAA,WAAW,CAAG,CAAH,EAAM,KAAK,CAAC,IAAZ,EAAkB,KAAK,CAAC,KAAxB,EAA+B,KAAK,CAAC,OAArC,CAAX;AACA,IAAA,eAAe,KAAA,IAAf,IAAA,eAAe,KAAA,KAAA,CAAf,GAAe,KAAA,CAAf,GAAA,eAAe,CAAG,CAAH,CAAf;AACD,GATD;;AAWA,SAAO,KAAP;AACD,CA3CM","sourcesContent":["import * as React from 'react';\nimport { resolveShorthand } from '@fluentui/react-utilities';\nimport { Checkmark16Filled } from '@fluentui/react-icons';\nimport { useMenuListContext_unstable } from '../../contexts/menuListContext';\nimport { useMenuItem_unstable } from '../MenuItem/useMenuItem';\nimport type { MenuItemRadioProps, MenuItemRadioState } from './MenuItemRadio.types';\n\n/**\n * Given user props, returns state and render function for a MenuItemRadio.\n */\nexport const useMenuItemRadio_unstable = (\n props: MenuItemRadioProps,\n ref: React.Ref<HTMLElement>,\n): MenuItemRadioState => {\n const radioProps = {\n role: 'menuitemradio',\n };\n\n const state = useMenuItem_unstable(\n {\n ...radioProps,\n ...props,\n checkmark: resolveShorthand(props.checkmark, {\n defaultProps: { children: <Checkmark16Filled /> },\n required: true,\n }),\n },\n ref,\n ) as MenuItemRadioState;\n\n const selectRadio = useMenuListContext_unstable(context => context.selectRadio);\n const { onClick: onClickOriginal } = state.root;\n const checked = useMenuListContext_unstable(context => {\n const checkedItems = context.checkedValues?.[state.name] || [];\n return checkedItems.indexOf(state.value) !== -1;\n });\n\n state.checked = checked;\n state.root['aria-checked'] = state.checked;\n\n // MenuItem state already transforms keyDown to click events\n state.root.onClick = e => {\n if (state.disabled) {\n e.preventDefault();\n e.stopPropagation();\n return;\n }\n\n selectRadio?.(e, state.name, state.value, state.checked);\n onClickOriginal?.(e);\n };\n\n return state;\n};\n"],"sourceRoot":"../src/"}
@@ -1,7 +1,33 @@
1
- import { useCheckmarkStyles } from '../../selectable/index';
2
- import { useMenuItemStyles } from '../MenuItem/useMenuItemStyles';
3
- export var useMenuItemRadioStyles = function (state) {
4
- useMenuItemStyles(state);
5
- useCheckmarkStyles(state);
1
+ import { mergeClasses } from '@griffel/react';
2
+ import { useCheckmarkStyles_unstable } from '../../selectable/index';
3
+ import { useMenuItemStyles_unstable } from '../MenuItem/useMenuItemStyles';
4
+ export const menuItemRadioClassNames = {
5
+ root: 'fui-MenuItemRadio',
6
+ icon: 'fui-MenuItemRadio__icon',
7
+ checkmark: 'fui-MenuItemRadio__checkmark',
8
+ content: 'fui-MenuItemRadio__content',
9
+ secondaryContent: 'fui-MenuItemRadio__secondaryContent'
10
+ };
11
+ export const useMenuItemRadioStyles_unstable = state => {
12
+ state.root.className = mergeClasses(menuItemRadioClassNames.root, state.root.className);
13
+
14
+ if (state.content) {
15
+ state.content.className = mergeClasses(menuItemRadioClassNames.content, state.content.className);
16
+ }
17
+
18
+ if (state.secondaryContent) {
19
+ state.secondaryContent.className = mergeClasses(menuItemRadioClassNames.secondaryContent, state.secondaryContent.className);
20
+ }
21
+
22
+ if (state.icon) {
23
+ state.icon.className = mergeClasses(menuItemRadioClassNames.icon, state.icon.className);
24
+ }
25
+
26
+ if (state.checkmark) {
27
+ state.checkmark.className = mergeClasses(menuItemRadioClassNames.checkmark, state.checkmark.className);
28
+ }
29
+
30
+ useMenuItemStyles_unstable(state);
31
+ useCheckmarkStyles_unstable(state);
6
32
  };
7
33
  //# sourceMappingURL=useMenuItemRadioStyles.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/MenuItemRadio/useMenuItemRadioStyles.ts"],"names":[],"mappings":"AAAA,SAAS,kBAAT,QAAmC,wBAAnC;AACA,SAAS,iBAAT,QAAkC,+BAAlC;AAGA,OAAO,IAAM,sBAAsB,GAAG,UAAC,KAAD,EAA0B;AAC9D,EAAA,iBAAiB,CAAC,KAAD,CAAjB;AACA,EAAA,kBAAkB,CAAC,KAAD,CAAlB;AACD,CAHM","sourceRoot":""}
1
+ {"version":3,"sources":["components/MenuItemRadio/useMenuItemRadioStyles.ts"],"names":[],"mappings":"AACA,SAAS,YAAT,QAA6B,gBAA7B;AACA,SAAS,2BAAT,QAA4C,wBAA5C;AAEA,SAAS,0BAAT,QAA2C,+BAA3C;AAGA,OAAO,MAAM,uBAAuB,GAA4D;AAC9F,EAAA,IAAI,EAAE,mBADwF;AAE9F,EAAA,IAAI,EAAE,yBAFwF;AAG9F,EAAA,SAAS,EAAE,8BAHmF;AAI9F,EAAA,OAAO,EAAE,4BAJqF;AAK9F,EAAA,gBAAgB,EAAE;AAL4E,CAAzF;AAQP,OAAO,MAAM,+BAA+B,GAAI,KAAD,IAA8B;AAC3E,EAAA,KAAK,CAAC,IAAN,CAAW,SAAX,GAAuB,YAAY,CAAC,uBAAuB,CAAC,IAAzB,EAA+B,KAAK,CAAC,IAAN,CAAW,SAA1C,CAAnC;;AAEA,MAAI,KAAK,CAAC,OAAV,EAAmB;AACjB,IAAA,KAAK,CAAC,OAAN,CAAc,SAAd,GAA0B,YAAY,CAAC,uBAAuB,CAAC,OAAzB,EAAkC,KAAK,CAAC,OAAN,CAAc,SAAhD,CAAtC;AACD;;AAED,MAAI,KAAK,CAAC,gBAAV,EAA4B;AAC1B,IAAA,KAAK,CAAC,gBAAN,CAAuB,SAAvB,GAAmC,YAAY,CAC7C,uBAAuB,CAAC,gBADqB,EAE7C,KAAK,CAAC,gBAAN,CAAuB,SAFsB,CAA/C;AAID;;AAED,MAAI,KAAK,CAAC,IAAV,EAAgB;AACd,IAAA,KAAK,CAAC,IAAN,CAAW,SAAX,GAAuB,YAAY,CAAC,uBAAuB,CAAC,IAAzB,EAA+B,KAAK,CAAC,IAAN,CAAW,SAA1C,CAAnC;AACD;;AAED,MAAI,KAAK,CAAC,SAAV,EAAqB;AACnB,IAAA,KAAK,CAAC,SAAN,CAAgB,SAAhB,GAA4B,YAAY,CAAC,uBAAuB,CAAC,SAAzB,EAAoC,KAAK,CAAC,SAAN,CAAgB,SAApD,CAAxC;AACD;;AAED,EAAA,0BAA0B,CAAC,KAAD,CAA1B;AACA,EAAA,2BAA2B,CAAC,KAAD,CAA3B;AACD,CAxBM","sourcesContent":["import type { SlotClassNames } from '@fluentui/react-utilities';\nimport { mergeClasses } from '@griffel/react';\nimport { useCheckmarkStyles_unstable } from '../../selectable/index';\nimport { MenuItemSlots } from '../index';\nimport { useMenuItemStyles_unstable } from '../MenuItem/useMenuItemStyles';\nimport type { MenuItemRadioState } from './MenuItemRadio.types';\n\nexport const menuItemRadioClassNames: SlotClassNames<Omit<MenuItemSlots, 'submenuIndicator'>> = {\n root: 'fui-MenuItemRadio',\n icon: 'fui-MenuItemRadio__icon',\n checkmark: 'fui-MenuItemRadio__checkmark',\n content: 'fui-MenuItemRadio__content',\n secondaryContent: 'fui-MenuItemRadio__secondaryContent',\n};\n\nexport const useMenuItemRadioStyles_unstable = (state: MenuItemRadioState) => {\n state.root.className = mergeClasses(menuItemRadioClassNames.root, state.root.className);\n\n if (state.content) {\n state.content.className = mergeClasses(menuItemRadioClassNames.content, state.content.className);\n }\n\n if (state.secondaryContent) {\n state.secondaryContent.className = mergeClasses(\n menuItemRadioClassNames.secondaryContent,\n state.secondaryContent.className,\n );\n }\n\n if (state.icon) {\n state.icon.className = mergeClasses(menuItemRadioClassNames.icon, state.icon.className);\n }\n\n if (state.checkmark) {\n state.checkmark.className = mergeClasses(menuItemRadioClassNames.checkmark, state.checkmark.className);\n }\n\n useMenuItemStyles_unstable(state);\n useCheckmarkStyles_unstable(state);\n};\n"],"sourceRoot":"../src/"}
@@ -1,17 +1,17 @@
1
1
  import * as React from 'react';
2
- import { useMenuList } from './useMenuList';
3
- import { renderMenuList } from './renderMenuList';
4
- import { useMenuListContextValues } from './useMenuListContextValues';
5
- import { useMenuListStyles } from './useMenuListStyles';
2
+ import { useMenuList_unstable } from './useMenuList';
3
+ import { renderMenuList_unstable } from './renderMenuList';
4
+ import { useMenuListContextValues_unstable } from './useMenuListContextValues';
5
+ import { useMenuListStyles_unstable } from './useMenuListStyles';
6
6
  /**
7
- * Define a styled MenuList, using the `useMenuList` hook.
7
+ * Define a styled MenuList, using the `useMenuList_unstable` hook.
8
8
  */
9
9
 
10
- export var MenuList = /*#__PURE__*/React.forwardRef(function (props, ref) {
11
- var state = useMenuList(props, ref);
12
- var contextValues = useMenuListContextValues(state);
13
- useMenuListStyles(state);
14
- return renderMenuList(state, contextValues);
10
+ export const MenuList = /*#__PURE__*/React.forwardRef((props, ref) => {
11
+ const state = useMenuList_unstable(props, ref);
12
+ const contextValues = useMenuListContextValues_unstable(state);
13
+ useMenuListStyles_unstable(state);
14
+ return renderMenuList_unstable(state, contextValues);
15
15
  });
16
16
  MenuList.displayName = 'MenuList';
17
17
  //# sourceMappingURL=MenuList.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/MenuList/MenuList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,WAAT,QAA4B,eAA5B;AACA,SAAS,cAAT,QAA+B,kBAA/B;AACA,SAAS,wBAAT,QAAyC,4BAAzC;AACA,SAAS,iBAAT,QAAkC,qBAAlC;AAIA;;AAEG;;AACH,OAAO,IAAM,QAAQ,gBAAuC,KAAK,CAAC,UAAN,CAAiB,UAAC,KAAD,EAAQ,GAAR,EAAW;AACtF,MAAM,KAAK,GAAG,WAAW,CAAC,KAAD,EAAQ,GAAR,CAAzB;AACA,MAAM,aAAa,GAAG,wBAAwB,CAAC,KAAD,CAA9C;AACA,EAAA,iBAAiB,CAAC,KAAD,CAAjB;AAEA,SAAO,cAAc,CAAC,KAAD,EAAQ,aAAR,CAArB;AACD,CAN2D,CAArD;AAQP,QAAQ,CAAC,WAAT,GAAuB,UAAvB","sourceRoot":""}
1
+ {"version":3,"sources":["components/MenuList/MenuList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,oBAAT,QAAqC,eAArC;AACA,SAAS,uBAAT,QAAwC,kBAAxC;AACA,SAAS,iCAAT,QAAkD,4BAAlD;AACA,SAAS,0BAAT,QAA2C,qBAA3C;AAIA;;AAEG;;AACH,OAAO,MAAM,QAAQ,gBAAuC,KAAK,CAAC,UAAN,CAAiB,CAAC,KAAD,EAAQ,GAAR,KAAe;AAC1F,QAAM,KAAK,GAAG,oBAAoB,CAAC,KAAD,EAAQ,GAAR,CAAlC;AACA,QAAM,aAAa,GAAG,iCAAiC,CAAC,KAAD,CAAvD;AACA,EAAA,0BAA0B,CAAC,KAAD,CAA1B;AAEA,SAAO,uBAAuB,CAAC,KAAD,EAAQ,aAAR,CAA9B;AACD,CAN2D,CAArD;AAQP,QAAQ,CAAC,WAAT,GAAuB,UAAvB","sourcesContent":["import * as React from 'react';\nimport { useMenuList_unstable } from './useMenuList';\nimport { renderMenuList_unstable } from './renderMenuList';\nimport { useMenuListContextValues_unstable } from './useMenuListContextValues';\nimport { useMenuListStyles_unstable } from './useMenuListStyles';\nimport type { MenuListProps } from './MenuList.types';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\n\n/**\n * Define a styled MenuList, using the `useMenuList_unstable` hook.\n */\nexport const MenuList: ForwardRefComponent<MenuListProps> = React.forwardRef((props, ref) => {\n const state = useMenuList_unstable(props, ref);\n const contextValues = useMenuListContextValues_unstable(state);\n useMenuListStyles_unstable(state);\n\n return renderMenuList_unstable(state, contextValues);\n});\n\nMenuList.displayName = 'MenuList';\n"],"sourceRoot":"../src/"}
@@ -1 +1 @@
1
- {"version":3,"file":"MenuList.types.js","sourceRoot":"","sources":["../../../src/components/MenuList/MenuList.types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"MenuList.types.js","sourceRoot":"../src/","sources":["components/MenuList/MenuList.types.ts"],"names":[],"mappings":"","sourcesContent":["import * as React from 'react';\nimport type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\nimport type { MenuListContextValue } from '../../contexts/menuListContext';\nimport type { SelectableHandler } from '../../selectable/index';\n\nexport type MenuCheckedValueChangeEvent = React.MouseEvent | React.KeyboardEvent;\n\nexport type MenuCheckedValueChangeData = {\n /** The items for this value that are checked */\n checkedItems: string[];\n /** The name of the value */\n name: string;\n};\n\nexport type MenuListSlots = {\n root: Slot<'div'>;\n};\n\nexport type MenuListProps = ComponentProps<MenuListSlots> & {\n /**\n * Map of all checked values\n */\n checkedValues?: Record<string, string[]>;\n\n /**\n * Default values to be checked on mount\n */\n defaultCheckedValues?: Record<string, string[]>;\n\n /**\n * States that menu items can contain selectable items and reserve slots for item alignment\n */\n hasCheckmarks?: boolean;\n\n /**\n * States that menu items can contain icons and reserve slots for item alignment\n */\n hasIcons?: boolean;\n\n /**\n * Callback when checked items change for value with a name\n *\n * @param event - React's original SyntheticEvent\n * @param data - A data object with relevant information\n */\n onCheckedValueChange?: (e: MenuCheckedValueChangeEvent, data: MenuCheckedValueChangeData) => void;\n};\n\nexport type MenuListState = ComponentState<MenuListSlots> &\n Pick<MenuListProps, 'defaultCheckedValues' | 'onCheckedValueChange'> &\n Required<Pick<MenuListProps, 'checkedValues' | 'hasCheckmarks' | 'hasIcons'>> & {\n /**\n * Selects a radio item, will de-select the currently selected ratio item\n */\n selectRadio: SelectableHandler;\n\n /**\n * Callback to set focus on the next menu item by first character\n */\n setFocusByFirstCharacter: NonNullable<MenuListContextValue['setFocusByFirstCharacter']>;\n\n /*\n * Toggles the state of a checkbox item\n */\n toggleCheckbox: SelectableHandler;\n };\n\nexport type MenuListContextValues = {\n menuList: MenuListContextValue;\n};\n\nexport type UninitializedMenuListState = Omit<\n MenuListState,\n 'checkedValues' | 'selectRadio' | 'setFocusByFirstCharacter' | 'toggleCheckbox'\n> &\n Partial<Pick<MenuListState, 'checkedValues'>>;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/MenuList/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"../src/","sources":["components/MenuList/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC","sourcesContent":["export * from './MenuList';\nexport * from './MenuList.types';\nexport * from './renderMenuList';\nexport * from './useMenuList';\nexport * from './useMenuListStyles';\nexport * from './useMenuListContextValues';\n"]}
@@ -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
  import { MenuListProvider } from '../../contexts/menuListContext';
@@ -6,13 +5,14 @@ import { MenuListProvider } from '../../contexts/menuListContext';
6
5
  * Function that renders the final JSX of the component
7
6
  */
8
7
 
9
- export var renderMenuList = function (state, contextValues) {
10
- var _a = getSlots(state),
11
- slots = _a.slots,
12
- slotProps = _a.slotProps;
13
-
8
+ export const renderMenuList_unstable = (state, contextValues) => {
9
+ const {
10
+ slots,
11
+ slotProps
12
+ } = getSlots(state);
14
13
  return /*#__PURE__*/React.createElement(MenuListProvider, {
15
14
  value: contextValues.menuList
16
- }, /*#__PURE__*/React.createElement(slots.root, __assign({}, slotProps.root)));
15
+ }, /*#__PURE__*/React.createElement(slots.root, { ...slotProps.root
16
+ }));
17
17
  };
18
18
  //# sourceMappingURL=renderMenuList.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/MenuList/renderMenuList.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,QAAT,QAAyB,2BAAzB;AAEA,SAAS,gBAAT,QAAiC,gCAAjC;AAEA;;AAEG;;AACH,OAAO,IAAM,cAAc,GAAG,UAAC,KAAD,EAAuB,aAAvB,EAA2D;AACjF,MAAA,EAAA,GAAuB,QAAQ,CAAgB,KAAhB,CAA/B;AAAA,MAAE,KAAK,GAAA,EAAA,CAAA,KAAP;AAAA,MAAS,SAAS,GAAA,EAAA,CAAA,SAAlB;;AAEN,sBACE,KAAA,CAAA,aAAA,CAAC,gBAAD,EAAiB;AAAC,IAAA,KAAK,EAAE,aAAa,CAAC;AAAtB,GAAjB,eACE,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,IAAP,EAAW,QAAA,CAAA,EAAA,EAAK,SAAS,CAAC,IAAf,CAAX,CADF,CADF;AAKD,CARM","sourceRoot":""}
1
+ {"version":3,"sources":["components/MenuList/renderMenuList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,QAAT,QAAyB,2BAAzB;AAEA,SAAS,gBAAT,QAAiC,gCAAjC;AAEA;;AAEG;;AACH,OAAO,MAAM,uBAAuB,GAAG,CAAC,KAAD,EAAuB,aAAvB,KAA+D;AACpG,QAAM;AAAE,IAAA,KAAF;AAAS,IAAA;AAAT,MAAuB,QAAQ,CAAgB,KAAhB,CAArC;AAEA,sBACE,KAAA,CAAA,aAAA,CAAC,gBAAD,EAAiB;AAAC,IAAA,KAAK,EAAE,aAAa,CAAC;AAAtB,GAAjB,eACE,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,IAAP,EAAW,EAAA,GAAK,SAAS,CAAC;AAAf,GAAX,CADF,CADF;AAKD,CARM","sourcesContent":["import * as React from 'react';\nimport { getSlots } from '@fluentui/react-utilities';\nimport { MenuListContextValues, MenuListSlots, MenuListState } from './MenuList.types';\nimport { MenuListProvider } from '../../contexts/menuListContext';\n\n/**\n * Function that renders the final JSX of the component\n */\nexport const renderMenuList_unstable = (state: MenuListState, contextValues: MenuListContextValues) => {\n const { slots, slotProps } = getSlots<MenuListSlots>(state);\n\n return (\n <MenuListProvider value={contextValues.menuList}>\n <slots.root {...slotProps.root} />\n </MenuListProvider>\n );\n};\n"],"sourceRoot":"../src/"}
@@ -1,21 +1,22 @@
1
- import { __assign, __spreadArrays } from "tslib";
2
1
  import * as React from 'react';
3
2
  import { useMergedRefs, useEventCallback, useControllableState, getNativeElementProps } from '@fluentui/react-utilities';
4
3
  import { useArrowNavigationGroup, useFocusFinders } from '@fluentui/react-tabster';
5
4
  import { useHasParentContext } from '@fluentui/react-context-selector';
6
- import { useMenuContext } from '../../contexts/menuContext';
5
+ import { useMenuContext_unstable } from '../../contexts/menuContext';
7
6
  import { MenuContext } from '../../contexts/menuContext';
8
7
  /**
9
8
  * Returns the props and state required to render the component
10
9
  */
11
10
 
12
- export var useMenuList = function (props, ref) {
13
- var focusAttributes = useArrowNavigationGroup({
11
+ export const useMenuList_unstable = (props, ref) => {
12
+ const focusAttributes = useArrowNavigationGroup({
14
13
  circular: true
15
14
  });
16
- var findAllFocusable = useFocusFinders().findAllFocusable;
17
- var menuContext = useMenuContextSelectors();
18
- var hasMenuContext = useHasParentContext(MenuContext);
15
+ const {
16
+ findAllFocusable
17
+ } = useFocusFinders();
18
+ const menuContext = useMenuContextSelectors();
19
+ const hasMenuContext = useHasParentContext(MenuContext);
19
20
 
20
21
  if (usingPropsAndMenuContext(props, menuContext, hasMenuContext)) {
21
22
  // TODO throw warnings in development safely
@@ -23,44 +24,47 @@ export var useMenuList = function (props, ref) {
23
24
  console.warn('You are using both MenuList and Menu props, we recommend you to use Menu props when available');
24
25
  }
25
26
 
26
- var innerRef = React.useRef(null);
27
-
28
- var initialState = __assign(__assign({
29
- root: getNativeElementProps('div', __assign(__assign({
27
+ const innerRef = React.useRef(null);
28
+ const initialState = {
29
+ components: {
30
+ root: 'div'
31
+ },
32
+ root: getNativeElementProps('div', {
30
33
  ref: useMergedRefs(ref, innerRef),
31
34
  role: 'menu',
32
- 'aria-labelledby': menuContext.triggerId
33
- }, focusAttributes), props)),
34
- hasIcons: menuContext.hasIcons,
35
- hasCheckmarks: menuContext.hasCheckmarks
36
- }, hasMenuContext && menuContext), props);
37
-
38
- var setFocusByFirstCharacter = React.useCallback(function (e, itemEl) {
35
+ 'aria-labelledby': menuContext.triggerId,
36
+ ...focusAttributes,
37
+ ...props
38
+ }),
39
+ hasIcons: menuContext.hasIcons || false,
40
+ hasCheckmarks: menuContext.hasCheckmarks || false,
41
+ ...(hasMenuContext && menuContext),
42
+ ...props
43
+ };
44
+ const setFocusByFirstCharacter = React.useCallback((e, itemEl) => {
39
45
  // TODO use some kind of children registration to reduce dependency on DOM roles
40
- var acceptedRoles = ['menuitem', 'menuitemcheckbox', 'menuitemradio'];
46
+ const acceptedRoles = ['menuitem', 'menuitemcheckbox', 'menuitemradio'];
41
47
 
42
48
  if (!innerRef.current) {
43
49
  return;
44
50
  }
45
51
 
46
- var menuItems = findAllFocusable(innerRef.current, function (el) {
47
- return el.hasAttribute('role') && acceptedRoles.indexOf(el.getAttribute('role')) !== -1;
48
- });
49
- var startIndex = menuItems.indexOf(itemEl) + 1;
52
+ const menuItems = findAllFocusable(innerRef.current, el => el.hasAttribute('role') && acceptedRoles.indexOf(el.getAttribute('role')) !== -1);
53
+ let startIndex = menuItems.indexOf(itemEl) + 1;
50
54
 
51
55
  if (startIndex === menuItems.length) {
52
56
  startIndex = 0;
53
57
  }
54
58
 
55
- var firstChars = menuItems.map(function (menuItem) {
59
+ const firstChars = menuItems.map(menuItem => {
56
60
  var _a;
57
61
 
58
62
  return (_a = menuItem.textContent) === null || _a === void 0 ? void 0 : _a.charAt(0).toLowerCase();
59
63
  });
60
- var char = e.key.toLowerCase();
64
+ const char = e.key.toLowerCase();
61
65
 
62
- var getIndexFirstChars = function (start, firstChar) {
63
- for (var i = start; i < firstChars.length; i++) {
66
+ const getIndexFirstChars = (start, firstChar) => {
67
+ for (let i = start; i < firstChars.length; i++) {
64
68
  if (char === firstChars[i]) {
65
69
  return i;
66
70
  }
@@ -70,7 +74,7 @@ export var useMenuList = function (props, ref) {
70
74
  }; // Check remaining slots in the menu
71
75
 
72
76
 
73
- var index = getIndexFirstChars(startIndex, char); // If not found in remaining slots, check from beginning
77
+ let index = getIndexFirstChars(startIndex, char); // If not found in remaining slots, check from beginning
74
78
 
75
79
  if (index === -1) {
76
80
  index = getIndexFirstChars(0, char);
@@ -81,20 +85,17 @@ export var useMenuList = function (props, ref) {
81
85
  menuItems[index].focus();
82
86
  }
83
87
  }, [findAllFocusable]);
84
-
85
- var _a = useControllableState({
88
+ const [checkedValues, setCheckedValues] = useControllableState({
86
89
  state: initialState.checkedValues,
87
90
  defaultState: initialState.defaultCheckedValues,
88
91
  initialState: {}
89
- }),
90
- checkedValues = _a[0],
91
- setCheckedValues = _a[1];
92
-
93
- var onCheckedValueChange = initialState.onCheckedValueChange;
94
- var toggleCheckbox = useEventCallback(function (e, name, value, checked) {
95
- var checkedItems = (checkedValues === null || checkedValues === void 0 ? void 0 : checkedValues[name]) || [];
96
-
97
- var newCheckedItems = __spreadArrays(checkedItems);
92
+ });
93
+ const {
94
+ onCheckedValueChange
95
+ } = initialState;
96
+ const toggleCheckbox = useEventCallback((e, name, value, checked) => {
97
+ const checkedItems = (checkedValues === null || checkedValues === void 0 ? void 0 : checkedValues[name]) || [];
98
+ const newCheckedItems = [...checkedItems];
98
99
 
99
100
  if (checked) {
100
101
  newCheckedItems.splice(newCheckedItems.indexOf(value), 1);
@@ -103,67 +104,49 @@ export var useMenuList = function (props, ref) {
103
104
  }
104
105
 
105
106
  onCheckedValueChange === null || onCheckedValueChange === void 0 ? void 0 : onCheckedValueChange(e, {
106
- name: name,
107
+ name,
107
108
  checkedItems: newCheckedItems
108
109
  });
109
- setCheckedValues(function (s) {
110
- var _a;
111
-
112
- return __assign(__assign({}, s), (_a = {}, _a[name] = newCheckedItems, _a));
113
- });
110
+ setCheckedValues(s => ({ ...s,
111
+ [name]: newCheckedItems
112
+ }));
114
113
  });
115
- var selectRadio = useEventCallback(function (e, name, value) {
116
- var newCheckedItems = [value];
117
- setCheckedValues(function (s) {
118
- var _a;
119
-
120
- return __assign(__assign({}, s), (_a = {}, _a[name] = newCheckedItems, _a));
121
- });
114
+ const selectRadio = useEventCallback((e, name, value) => {
115
+ const newCheckedItems = [value];
116
+ setCheckedValues(s => ({ ...s,
117
+ [name]: newCheckedItems
118
+ }));
122
119
  onCheckedValueChange === null || onCheckedValueChange === void 0 ? void 0 : onCheckedValueChange(e, {
123
- name: name,
120
+ name,
124
121
  checkedItems: newCheckedItems
125
122
  });
126
123
  });
127
-
128
- var state = __assign(__assign({}, initialState), {
129
- setFocusByFirstCharacter: setFocusByFirstCharacter,
130
- selectRadio: selectRadio,
131
- toggleCheckbox: toggleCheckbox,
124
+ const state = { ...initialState,
125
+ setFocusByFirstCharacter,
126
+ selectRadio,
127
+ toggleCheckbox,
132
128
  checkedValues: checkedValues !== null && checkedValues !== void 0 ? checkedValues : {}
133
- });
134
-
129
+ };
135
130
  return state;
136
131
  };
137
132
  /**
138
133
  * Adds some sugar to fetching multiple context selector values
139
134
  */
140
135
 
141
- var useMenuContextSelectors = function () {
142
- var checkedValues = useMenuContext(function (context) {
143
- return context.checkedValues;
144
- });
145
- var onCheckedValueChange = useMenuContext(function (context) {
146
- return context.onCheckedValueChange;
147
- });
148
- var defaultCheckedValues = useMenuContext(function (context) {
149
- return context.defaultCheckedValues;
150
- });
151
- var triggerId = useMenuContext(function (context) {
152
- return context.triggerId;
153
- });
154
- var hasIcons = useMenuContext(function (context) {
155
- return context.hasIcons;
156
- });
157
- var hasCheckmarks = useMenuContext(function (context) {
158
- return context.hasCheckmarks;
159
- });
136
+ const useMenuContextSelectors = () => {
137
+ const checkedValues = useMenuContext_unstable(context => context.checkedValues);
138
+ const onCheckedValueChange = useMenuContext_unstable(context => context.onCheckedValueChange);
139
+ const defaultCheckedValues = useMenuContext_unstable(context => context.defaultCheckedValues);
140
+ const triggerId = useMenuContext_unstable(context => context.triggerId);
141
+ const hasIcons = useMenuContext_unstable(context => context.hasIcons);
142
+ const hasCheckmarks = useMenuContext_unstable(context => context.hasCheckmarks);
160
143
  return {
161
- checkedValues: checkedValues,
162
- onCheckedValueChange: onCheckedValueChange,
163
- defaultCheckedValues: defaultCheckedValues,
164
- triggerId: triggerId,
165
- hasIcons: hasIcons,
166
- hasCheckmarks: hasCheckmarks
144
+ checkedValues,
145
+ onCheckedValueChange,
146
+ defaultCheckedValues,
147
+ triggerId,
148
+ hasIcons,
149
+ hasCheckmarks
167
150
  };
168
151
  };
169
152
  /**
@@ -171,10 +154,10 @@ var useMenuContextSelectors = function () {
171
154
  */
172
155
 
173
156
 
174
- var usingPropsAndMenuContext = function (props, contextValue, hasMenuContext) {
175
- var isUsingPropsAndContext = false;
157
+ const usingPropsAndMenuContext = (props, contextValue, hasMenuContext) => {
158
+ let isUsingPropsAndContext = false;
176
159
 
177
- for (var val in contextValue) {
160
+ for (const val in contextValue) {
178
161
  if (props[val]) {
179
162
  isUsingPropsAndContext = true;
180
163
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/MenuList/useMenuList.ts"],"names":[],"mappings":"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","sourceRoot":""}
1
+ {"version":3,"sources":["components/MenuList/useMenuList.ts"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport {\n useMergedRefs,\n useEventCallback,\n useControllableState,\n getNativeElementProps,\n} from '@fluentui/react-utilities';\nimport { useArrowNavigationGroup, useFocusFinders } from '@fluentui/react-tabster';\nimport { useHasParentContext } from '@fluentui/react-context-selector';\nimport { useMenuContext_unstable } from '../../contexts/menuContext';\nimport { MenuContext } from '../../contexts/menuContext';\nimport type { MenuListProps, MenuListState, UninitializedMenuListState } from './MenuList.types';\n\n/**\n * Returns the props and state required to render the component\n */\nexport const useMenuList_unstable = (props: MenuListProps, ref: React.Ref<HTMLElement>): MenuListState => {\n const focusAttributes = useArrowNavigationGroup({ circular: true });\n const { findAllFocusable } = useFocusFinders();\n const menuContext = useMenuContextSelectors();\n const hasMenuContext = useHasParentContext(MenuContext);\n\n if (usingPropsAndMenuContext(props, menuContext, hasMenuContext)) {\n // TODO throw warnings in development safely\n // eslint-disable-next-line no-console\n console.warn('You are using both MenuList and Menu props, we recommend you to use Menu props when available');\n }\n\n const innerRef = React.useRef<HTMLElement>(null);\n const initialState: UninitializedMenuListState = {\n components: {\n root: 'div',\n },\n root: getNativeElementProps('div', {\n ref: useMergedRefs(ref, innerRef),\n role: 'menu',\n 'aria-labelledby': menuContext.triggerId,\n ...focusAttributes,\n ...props,\n }),\n hasIcons: menuContext.hasIcons || false,\n hasCheckmarks: menuContext.hasCheckmarks || false,\n ...(hasMenuContext && menuContext),\n ...props,\n };\n\n const setFocusByFirstCharacter = React.useCallback(\n (e: React.KeyboardEvent<HTMLElement>, itemEl: HTMLElement) => {\n // TODO use some kind of children registration to reduce dependency on DOM roles\n const acceptedRoles = ['menuitem', 'menuitemcheckbox', 'menuitemradio'];\n if (!innerRef.current) {\n return;\n }\n\n const menuItems = findAllFocusable(\n innerRef.current,\n (el: HTMLElement) => el.hasAttribute('role') && acceptedRoles.indexOf(el.getAttribute('role')!) !== -1,\n );\n\n let startIndex = menuItems.indexOf(itemEl) + 1;\n if (startIndex === menuItems.length) {\n startIndex = 0;\n }\n\n const firstChars = menuItems.map(menuItem => menuItem.textContent?.charAt(0).toLowerCase());\n const char = e.key.toLowerCase();\n\n const getIndexFirstChars = (start: number, firstChar: string) => {\n for (let i = start; i < firstChars.length; i++) {\n if (char === firstChars[i]) {\n return i;\n }\n }\n return -1;\n };\n\n // Check remaining slots in the menu\n let index = getIndexFirstChars(startIndex, char);\n\n // If not found in remaining slots, check from beginning\n if (index === -1) {\n index = getIndexFirstChars(0, char);\n }\n\n // If match was found...\n if (index > -1) {\n menuItems[index].focus();\n }\n },\n [findAllFocusable],\n );\n\n const [checkedValues, setCheckedValues] = useControllableState({\n state: initialState.checkedValues,\n defaultState: initialState.defaultCheckedValues,\n initialState: {},\n });\n\n const { onCheckedValueChange } = initialState;\n const toggleCheckbox = useEventCallback(\n (e: React.MouseEvent | React.KeyboardEvent, name: string, value: string, checked: boolean) => {\n const checkedItems = checkedValues?.[name] || [];\n const newCheckedItems = [...checkedItems];\n if (checked) {\n newCheckedItems.splice(newCheckedItems.indexOf(value), 1);\n } else {\n newCheckedItems.push(value);\n }\n\n onCheckedValueChange?.(e, { name, checkedItems: newCheckedItems });\n setCheckedValues(s => ({ ...s, [name]: newCheckedItems }));\n },\n );\n\n const selectRadio = useEventCallback((e: React.MouseEvent | React.KeyboardEvent, name: string, value: string) => {\n const newCheckedItems = [value];\n setCheckedValues(s => ({ ...s, [name]: newCheckedItems }));\n onCheckedValueChange?.(e, { name, checkedItems: newCheckedItems });\n });\n\n const state = {\n ...initialState,\n setFocusByFirstCharacter,\n selectRadio,\n toggleCheckbox,\n checkedValues: checkedValues ?? {},\n };\n\n return state;\n};\n\n/**\n * Adds some sugar to fetching multiple context selector values\n */\nconst useMenuContextSelectors = () => {\n const checkedValues = useMenuContext_unstable(context => context.checkedValues);\n const onCheckedValueChange = useMenuContext_unstable(context => context.onCheckedValueChange);\n const defaultCheckedValues = useMenuContext_unstable(context => context.defaultCheckedValues);\n const triggerId = useMenuContext_unstable(context => context.triggerId);\n const hasIcons = useMenuContext_unstable(context => context.hasIcons);\n const hasCheckmarks = useMenuContext_unstable(context => context.hasCheckmarks);\n\n return {\n checkedValues,\n onCheckedValueChange,\n defaultCheckedValues,\n triggerId,\n hasIcons,\n hasCheckmarks,\n };\n};\n\n/**\n * Helper function to detect if props and MenuContext values are both used\n */\nconst usingPropsAndMenuContext = (\n props: MenuListProps,\n contextValue: ReturnType<typeof useMenuContextSelectors>,\n hasMenuContext: boolean,\n) => {\n let isUsingPropsAndContext = false;\n for (const val in contextValue) {\n if (props[val as keyof Omit<typeof contextValue, 'hasMenuContext' | 'onCheckedValueChange' | 'triggerId'>]) {\n isUsingPropsAndContext = true;\n }\n }\n\n return hasMenuContext && isUsingPropsAndContext;\n};\n"],"sourceRoot":"../src/"}
@@ -1,23 +1,25 @@
1
- export function useMenuListContextValues(state) {
2
- var onCheckedValueChange = state.onCheckedValueChange,
3
- checkedValues = state.checkedValues,
4
- toggleCheckbox = state.toggleCheckbox,
5
- selectRadio = state.selectRadio,
6
- setFocusByFirstCharacter = state.setFocusByFirstCharacter,
7
- hasIcons = state.hasIcons,
8
- hasCheckmarks = state.hasCheckmarks; // This context is created with "@fluentui/react-context-selector", these is no sense to memoize it
1
+ export function useMenuListContextValues_unstable(state) {
2
+ const {
3
+ checkedValues,
4
+ hasCheckmarks,
5
+ hasIcons,
6
+ onCheckedValueChange,
7
+ selectRadio,
8
+ setFocusByFirstCharacter,
9
+ toggleCheckbox
10
+ } = state; // This context is created with "@fluentui/react-context-selector", these is no sense to memoize it
9
11
 
10
- var menuList = {
11
- onCheckedValueChange: onCheckedValueChange,
12
- checkedValues: checkedValues,
13
- toggleCheckbox: toggleCheckbox,
14
- selectRadio: selectRadio,
15
- setFocusByFirstCharacter: setFocusByFirstCharacter,
16
- hasIcons: hasIcons,
17
- hasCheckmarks: hasCheckmarks
12
+ const menuList = {
13
+ checkedValues,
14
+ hasCheckmarks,
15
+ hasIcons,
16
+ onCheckedValueChange,
17
+ selectRadio,
18
+ setFocusByFirstCharacter,
19
+ toggleCheckbox
18
20
  };
19
21
  return {
20
- menuList: menuList
22
+ menuList
21
23
  };
22
24
  }
23
25
  //# sourceMappingURL=useMenuListContextValues.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/MenuList/useMenuListContextValues.ts"],"names":[],"mappings":"AAEA,OAAM,SAAU,wBAAV,CAAmC,KAAnC,EAAuD;AAEzD,MAAA,oBAAoB,GAOlB,KAAK,CAPa,oBAApB;AAAA,MACA,aAAa,GAMX,KAAK,CANM,aADb;AAAA,MAEA,cAAc,GAKZ,KAAK,CALO,cAFd;AAAA,MAGA,WAAW,GAIT,KAAK,CAJI,WAHX;AAAA,MAIA,wBAAwB,GAGtB,KAAK,CAHiB,wBAJxB;AAAA,MAKA,QAAQ,GAEN,KAAK,CAFC,QALR;AAAA,MAMA,aAAa,GACX,KAAK,CADM,aANb,CAFyD,CAW3D;;AACA,MAAM,QAAQ,GAAG;AACf,IAAA,oBAAoB,EAAA,oBADL;AAEf,IAAA,aAAa,EAAA,aAFE;AAGf,IAAA,cAAc,EAAA,cAHC;AAIf,IAAA,WAAW,EAAA,WAJI;AAKf,IAAA,wBAAwB,EAAA,wBALT;AAMf,IAAA,QAAQ,EAAA,QANO;AAOf,IAAA,aAAa,EAAA;AAPE,GAAjB;AAUA,SAAO;AAAE,IAAA,QAAQ,EAAA;AAAV,GAAP;AACD","sourceRoot":""}
1
+ {"version":3,"sources":["components/MenuList/useMenuListContextValues.ts"],"names":[],"mappings":"AAEA,OAAM,SAAU,iCAAV,CAA4C,KAA5C,EAAgE;AACpE,QAAM;AACJ,IAAA,aADI;AAEJ,IAAA,aAFI;AAGJ,IAAA,QAHI;AAIJ,IAAA,oBAJI;AAKJ,IAAA,WALI;AAMJ,IAAA,wBANI;AAOJ,IAAA;AAPI,MAQF,KARJ,CADoE,CAWpE;;AACA,QAAM,QAAQ,GAAG;AACf,IAAA,aADe;AAEf,IAAA,aAFe;AAGf,IAAA,QAHe;AAIf,IAAA,oBAJe;AAKf,IAAA,WALe;AAMf,IAAA,wBANe;AAOf,IAAA;AAPe,GAAjB;AAUA,SAAO;AAAE,IAAA;AAAF,GAAP;AACD","sourcesContent":["import type { MenuListContextValues, MenuListState } from './MenuList.types';\n\nexport function useMenuListContextValues_unstable(state: MenuListState): MenuListContextValues {\n const {\n checkedValues,\n hasCheckmarks,\n hasIcons,\n onCheckedValueChange,\n selectRadio,\n setFocusByFirstCharacter,\n toggleCheckbox,\n } = state;\n\n // This context is created with \"@fluentui/react-context-selector\", these is no sense to memoize it\n const menuList = {\n checkedValues,\n hasCheckmarks,\n hasIcons,\n onCheckedValueChange,\n selectRadio,\n setFocusByFirstCharacter,\n toggleCheckbox,\n };\n\n return { menuList };\n}\n"],"sourceRoot":"../src/"}