@fluentui/react-menu 9.5.2 → 9.5.4

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 (276) hide show
  1. package/CHANGELOG.json +111 -1
  2. package/CHANGELOG.md +31 -2
  3. package/lib/components/Menu/Menu.js +0 -1
  4. package/lib/components/Menu/Menu.js.map +1 -1
  5. package/lib/components/Menu/renderMenu.js +0 -1
  6. package/lib/components/Menu/renderMenu.js.map +1 -1
  7. package/lib/components/Menu/useMenu.js +16 -34
  8. package/lib/components/Menu/useMenu.js.map +1 -1
  9. package/lib/components/Menu/useMenuContextValues.js +2 -2
  10. package/lib/components/Menu/useMenuContextValues.js.map +1 -1
  11. package/lib/components/MenuDivider/MenuDivider.js +0 -1
  12. package/lib/components/MenuDivider/MenuDivider.js.map +1 -1
  13. package/lib/components/MenuDivider/renderMenuDivider.js +2 -2
  14. package/lib/components/MenuDivider/renderMenuDivider.js.map +1 -1
  15. package/lib/components/MenuDivider/useMenuDivider.js +0 -1
  16. package/lib/components/MenuDivider/useMenuDivider.js.map +1 -1
  17. package/lib/components/MenuDivider/useMenuDividerStyles.js +10 -12
  18. package/lib/components/MenuDivider/useMenuDividerStyles.js.map +1 -1
  19. package/lib/components/MenuGroup/MenuGroup.js +0 -1
  20. package/lib/components/MenuGroup/MenuGroup.js.map +1 -1
  21. package/lib/components/MenuGroup/renderMenuGroup.js +2 -2
  22. package/lib/components/MenuGroup/renderMenuGroup.js.map +1 -1
  23. package/lib/components/MenuGroup/useMenuGroup.js +0 -1
  24. package/lib/components/MenuGroup/useMenuGroup.js.map +1 -1
  25. package/lib/components/MenuGroup/useMenuGroupContextValues.js.map +1 -1
  26. package/lib/components/MenuGroup/useMenuGroupStyles.js.map +1 -1
  27. package/lib/components/MenuGroupHeader/MenuGroupHeader.js +0 -1
  28. package/lib/components/MenuGroupHeader/MenuGroupHeader.js.map +1 -1
  29. package/lib/components/MenuGroupHeader/renderMenuGroupHeader.js +2 -2
  30. package/lib/components/MenuGroupHeader/renderMenuGroupHeader.js.map +1 -1
  31. package/lib/components/MenuGroupHeader/useMenuGroupHeader.js +0 -1
  32. package/lib/components/MenuGroupHeader/useMenuGroupHeader.js.map +1 -1
  33. package/lib/components/MenuGroupHeader/useMenuGroupHeaderStyles.js +10 -12
  34. package/lib/components/MenuGroupHeader/useMenuGroupHeaderStyles.js.map +1 -1
  35. package/lib/components/MenuItem/MenuItem.js +0 -1
  36. package/lib/components/MenuItem/MenuItem.js.map +1 -1
  37. package/lib/components/MenuItem/renderMenuItem.js +12 -7
  38. package/lib/components/MenuItem/renderMenuItem.js.map +1 -1
  39. package/lib/components/MenuItem/useCharacterSearch.js +0 -5
  40. package/lib/components/MenuItem/useCharacterSearch.js.map +1 -1
  41. package/lib/components/MenuItem/useMenuItem.js +0 -6
  42. package/lib/components/MenuItem/useMenuItem.js.map +1 -1
  43. package/lib/components/MenuItem/useMenuItemStyles.js +108 -117
  44. package/lib/components/MenuItem/useMenuItemStyles.js.map +1 -1
  45. package/lib/components/MenuItemCheckbox/MenuItemCheckbox.js +0 -1
  46. package/lib/components/MenuItemCheckbox/MenuItemCheckbox.js.map +1 -1
  47. package/lib/components/MenuItemCheckbox/renderMenuItemCheckbox.js +10 -6
  48. package/lib/components/MenuItemCheckbox/renderMenuItemCheckbox.js.map +1 -1
  49. package/lib/components/MenuItemCheckbox/useMenuItemCheckbox.js +2 -4
  50. package/lib/components/MenuItemCheckbox/useMenuItemCheckbox.js.map +1 -1
  51. package/lib/components/MenuItemCheckbox/useMenuItemCheckboxStyles.js +0 -5
  52. package/lib/components/MenuItemCheckbox/useMenuItemCheckboxStyles.js.map +1 -1
  53. package/lib/components/MenuItemRadio/MenuItemRadio.js +0 -1
  54. package/lib/components/MenuItemRadio/MenuItemRadio.js.map +1 -1
  55. package/lib/components/MenuItemRadio/renderMenuItemRadio.js +10 -6
  56. package/lib/components/MenuItemRadio/renderMenuItemRadio.js.map +1 -1
  57. package/lib/components/MenuItemRadio/useMenuItemRadio.js +3 -4
  58. package/lib/components/MenuItemRadio/useMenuItemRadio.js.map +1 -1
  59. package/lib/components/MenuItemRadio/useMenuItemRadioStyles.js +0 -5
  60. package/lib/components/MenuItemRadio/useMenuItemRadioStyles.js.map +1 -1
  61. package/lib/components/MenuList/MenuList.js +0 -1
  62. package/lib/components/MenuList/MenuList.js.map +1 -1
  63. package/lib/components/MenuList/renderMenuList.js +2 -2
  64. package/lib/components/MenuList/renderMenuList.js.map +1 -1
  65. package/lib/components/MenuList/useMenuList.js +10 -27
  66. package/lib/components/MenuList/useMenuList.js.map +1 -1
  67. package/lib/components/MenuList/useMenuListContextValues.js +2 -2
  68. package/lib/components/MenuList/useMenuListContextValues.js.map +1 -1
  69. package/lib/components/MenuList/useMenuListStyles.js +6 -9
  70. package/lib/components/MenuList/useMenuListStyles.js.map +1 -1
  71. package/lib/components/MenuPopover/MenuPopover.js +0 -1
  72. package/lib/components/MenuPopover/MenuPopover.js.map +1 -1
  73. package/lib/components/MenuPopover/renderMenuPopover.js +4 -5
  74. package/lib/components/MenuPopover/renderMenuPopover.js.map +1 -1
  75. package/lib/components/MenuPopover/useMenuPopover.js +6 -13
  76. package/lib/components/MenuPopover/useMenuPopover.js.map +1 -1
  77. package/lib/components/MenuPopover/useMenuPopoverStyles.js +32 -35
  78. package/lib/components/MenuPopover/useMenuPopoverStyles.js.map +1 -1
  79. package/lib/components/MenuSplitGroup/MenuSplitGroup.js +0 -1
  80. package/lib/components/MenuSplitGroup/MenuSplitGroup.js.map +1 -1
  81. package/lib/components/MenuSplitGroup/renderMenuSplitGroup.js +2 -2
  82. package/lib/components/MenuSplitGroup/renderMenuSplitGroup.js.map +1 -1
  83. package/lib/components/MenuSplitGroup/useMenuSplitGroup.js +0 -6
  84. package/lib/components/MenuSplitGroup/useMenuSplitGroup.js.map +1 -1
  85. package/lib/components/MenuSplitGroup/useMenuSplitGroupStyles.js +12 -15
  86. package/lib/components/MenuSplitGroup/useMenuSplitGroupStyles.js.map +1 -1
  87. package/lib/components/MenuTrigger/MenuTrigger.js +2 -3
  88. package/lib/components/MenuTrigger/MenuTrigger.js.map +1 -1
  89. package/lib/components/MenuTrigger/renderMenuTrigger.js +0 -1
  90. package/lib/components/MenuTrigger/renderMenuTrigger.js.map +1 -1
  91. package/lib/components/MenuTrigger/useMenuTrigger.js +4 -24
  92. package/lib/components/MenuTrigger/useMenuTrigger.js.map +1 -1
  93. package/lib/contexts/menuContext.js.map +1 -1
  94. package/lib/contexts/menuGroupContext.js +0 -1
  95. package/lib/contexts/menuGroupContext.js.map +1 -1
  96. package/lib/contexts/menuListContext.js.map +1 -1
  97. package/lib/contexts/menuTriggerContext.js +0 -2
  98. package/lib/contexts/menuTriggerContext.js.map +1 -1
  99. package/lib/index.js.map +1 -1
  100. package/lib/selectable/useCheckmarkStyles.js +7 -11
  101. package/lib/selectable/useCheckmarkStyles.js.map +1 -1
  102. package/lib/utils/useIsSubmenu.js +0 -1
  103. package/lib/utils/useIsSubmenu.js.map +1 -1
  104. package/lib/utils/useOnMenuEnter.js +4 -11
  105. package/lib/utils/useOnMenuEnter.js.map +1 -1
  106. package/lib-commonjs/Menu.js +0 -2
  107. package/lib-commonjs/Menu.js.map +1 -1
  108. package/lib-commonjs/MenuDivider.js +0 -2
  109. package/lib-commonjs/MenuDivider.js.map +1 -1
  110. package/lib-commonjs/MenuGroup.js +0 -2
  111. package/lib-commonjs/MenuGroup.js.map +1 -1
  112. package/lib-commonjs/MenuGroupHeader.js +0 -2
  113. package/lib-commonjs/MenuGroupHeader.js.map +1 -1
  114. package/lib-commonjs/MenuItem.js +0 -2
  115. package/lib-commonjs/MenuItem.js.map +1 -1
  116. package/lib-commonjs/MenuItemCheckbox.js +0 -2
  117. package/lib-commonjs/MenuItemCheckbox.js.map +1 -1
  118. package/lib-commonjs/MenuItemRadio.js +0 -2
  119. package/lib-commonjs/MenuItemRadio.js.map +1 -1
  120. package/lib-commonjs/MenuList.js +0 -2
  121. package/lib-commonjs/MenuList.js.map +1 -1
  122. package/lib-commonjs/MenuPopover.js +0 -2
  123. package/lib-commonjs/MenuPopover.js.map +1 -1
  124. package/lib-commonjs/MenuSplitGroup.js +0 -2
  125. package/lib-commonjs/MenuSplitGroup.js.map +1 -1
  126. package/lib-commonjs/MenuTrigger.js +0 -2
  127. package/lib-commonjs/MenuTrigger.js.map +1 -1
  128. package/lib-commonjs/components/Menu/Menu.js +0 -6
  129. package/lib-commonjs/components/Menu/Menu.js.map +1 -1
  130. package/lib-commonjs/components/Menu/Menu.types.js.map +1 -1
  131. package/lib-commonjs/components/Menu/index.js +0 -6
  132. package/lib-commonjs/components/Menu/index.js.map +1 -1
  133. package/lib-commonjs/components/Menu/renderMenu.js +0 -5
  134. package/lib-commonjs/components/Menu/renderMenu.js.map +1 -1
  135. package/lib-commonjs/components/Menu/useMenu.js +16 -46
  136. package/lib-commonjs/components/Menu/useMenu.js.map +1 -1
  137. package/lib-commonjs/components/Menu/useMenuContextValues.js +2 -4
  138. package/lib-commonjs/components/Menu/useMenuContextValues.js.map +1 -1
  139. package/lib-commonjs/components/MenuDivider/MenuDivider.js +0 -6
  140. package/lib-commonjs/components/MenuDivider/MenuDivider.js.map +1 -1
  141. package/lib-commonjs/components/MenuDivider/MenuDivider.types.js.map +1 -1
  142. package/lib-commonjs/components/MenuDivider/index.js +0 -6
  143. package/lib-commonjs/components/MenuDivider/index.js.map +1 -1
  144. package/lib-commonjs/components/MenuDivider/renderMenuDivider.js +2 -6
  145. package/lib-commonjs/components/MenuDivider/renderMenuDivider.js.map +1 -1
  146. package/lib-commonjs/components/MenuDivider/useMenuDivider.js +0 -4
  147. package/lib-commonjs/components/MenuDivider/useMenuDivider.js.map +1 -1
  148. package/lib-commonjs/components/MenuDivider/useMenuDividerStyles.js +10 -16
  149. package/lib-commonjs/components/MenuDivider/useMenuDividerStyles.js.map +1 -1
  150. package/lib-commonjs/components/MenuGroup/MenuGroup.js +0 -7
  151. package/lib-commonjs/components/MenuGroup/MenuGroup.js.map +1 -1
  152. package/lib-commonjs/components/MenuGroup/MenuGroup.types.js.map +1 -1
  153. package/lib-commonjs/components/MenuGroup/index.js +0 -7
  154. package/lib-commonjs/components/MenuGroup/index.js.map +1 -1
  155. package/lib-commonjs/components/MenuGroup/renderMenuGroup.js +2 -7
  156. package/lib-commonjs/components/MenuGroup/renderMenuGroup.js.map +1 -1
  157. package/lib-commonjs/components/MenuGroup/useMenuGroup.js +0 -4
  158. package/lib-commonjs/components/MenuGroup/useMenuGroup.js.map +1 -1
  159. package/lib-commonjs/components/MenuGroup/useMenuGroupContextValues.js +0 -3
  160. package/lib-commonjs/components/MenuGroup/useMenuGroupContextValues.js.map +1 -1
  161. package/lib-commonjs/components/MenuGroup/useMenuGroupStyles.js +0 -4
  162. package/lib-commonjs/components/MenuGroup/useMenuGroupStyles.js.map +1 -1
  163. package/lib-commonjs/components/MenuGroupHeader/MenuGroupHeader.js +0 -6
  164. package/lib-commonjs/components/MenuGroupHeader/MenuGroupHeader.js.map +1 -1
  165. package/lib-commonjs/components/MenuGroupHeader/MenuGroupHeader.types.js.map +1 -1
  166. package/lib-commonjs/components/MenuGroupHeader/index.js +0 -6
  167. package/lib-commonjs/components/MenuGroupHeader/index.js.map +1 -1
  168. package/lib-commonjs/components/MenuGroupHeader/renderMenuGroupHeader.js +2 -6
  169. package/lib-commonjs/components/MenuGroupHeader/renderMenuGroupHeader.js.map +1 -1
  170. package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeader.js +0 -5
  171. package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeader.js.map +1 -1
  172. package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeaderStyles.js +10 -16
  173. package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeaderStyles.js.map +1 -1
  174. package/lib-commonjs/components/MenuItem/MenuItem.js +0 -6
  175. package/lib-commonjs/components/MenuItem/MenuItem.js.map +1 -1
  176. package/lib-commonjs/components/MenuItem/MenuItem.types.js.map +1 -1
  177. package/lib-commonjs/components/MenuItem/index.js +0 -6
  178. package/lib-commonjs/components/MenuItem/index.js.map +1 -1
  179. package/lib-commonjs/components/MenuItem/renderMenuItem.js +12 -11
  180. package/lib-commonjs/components/MenuItem/renderMenuItem.js.map +1 -1
  181. package/lib-commonjs/components/MenuItem/useCharacterSearch.js +0 -8
  182. package/lib-commonjs/components/MenuItem/useCharacterSearch.js.map +1 -1
  183. package/lib-commonjs/components/MenuItem/useMenuItem.js +0 -18
  184. package/lib-commonjs/components/MenuItem/useMenuItem.js.map +1 -1
  185. package/lib-commonjs/components/MenuItem/useMenuItemStyles.js +108 -124
  186. package/lib-commonjs/components/MenuItem/useMenuItemStyles.js.map +1 -1
  187. package/lib-commonjs/components/MenuItemCheckbox/MenuItemCheckbox.js +0 -6
  188. package/lib-commonjs/components/MenuItemCheckbox/MenuItemCheckbox.js.map +1 -1
  189. package/lib-commonjs/components/MenuItemCheckbox/MenuItemCheckbox.types.js.map +1 -1
  190. package/lib-commonjs/components/MenuItemCheckbox/index.js +0 -6
  191. package/lib-commonjs/components/MenuItemCheckbox/index.js.map +1 -1
  192. package/lib-commonjs/components/MenuItemCheckbox/renderMenuItemCheckbox.js +10 -10
  193. package/lib-commonjs/components/MenuItemCheckbox/renderMenuItemCheckbox.js.map +1 -1
  194. package/lib-commonjs/components/MenuItemCheckbox/useMenuItemCheckbox.js +2 -11
  195. package/lib-commonjs/components/MenuItemCheckbox/useMenuItemCheckbox.js.map +1 -1
  196. package/lib-commonjs/components/MenuItemCheckbox/useMenuItemCheckboxStyles.js +0 -11
  197. package/lib-commonjs/components/MenuItemCheckbox/useMenuItemCheckboxStyles.js.map +1 -1
  198. package/lib-commonjs/components/MenuItemRadio/MenuItemRadio.js +0 -6
  199. package/lib-commonjs/components/MenuItemRadio/MenuItemRadio.js.map +1 -1
  200. package/lib-commonjs/components/MenuItemRadio/MenuItemRadio.types.js.map +1 -1
  201. package/lib-commonjs/components/MenuItemRadio/index.js +0 -6
  202. package/lib-commonjs/components/MenuItemRadio/index.js.map +1 -1
  203. package/lib-commonjs/components/MenuItemRadio/renderMenuItemRadio.js +10 -10
  204. package/lib-commonjs/components/MenuItemRadio/renderMenuItemRadio.js.map +1 -1
  205. package/lib-commonjs/components/MenuItemRadio/useMenuItemRadio.js +3 -11
  206. package/lib-commonjs/components/MenuItemRadio/useMenuItemRadio.js.map +1 -1
  207. package/lib-commonjs/components/MenuItemRadio/useMenuItemRadioStyles.js +0 -11
  208. package/lib-commonjs/components/MenuItemRadio/useMenuItemRadioStyles.js.map +1 -1
  209. package/lib-commonjs/components/MenuList/MenuList.js +0 -7
  210. package/lib-commonjs/components/MenuList/MenuList.js.map +1 -1
  211. package/lib-commonjs/components/MenuList/MenuList.types.js.map +1 -1
  212. package/lib-commonjs/components/MenuList/index.js +0 -7
  213. package/lib-commonjs/components/MenuList/index.js.map +1 -1
  214. package/lib-commonjs/components/MenuList/renderMenuList.js +2 -7
  215. package/lib-commonjs/components/MenuList/renderMenuList.js.map +1 -1
  216. package/lib-commonjs/components/MenuList/useMenuList.js +10 -35
  217. package/lib-commonjs/components/MenuList/useMenuList.js.map +1 -1
  218. package/lib-commonjs/components/MenuList/useMenuListContextValues.js +2 -4
  219. package/lib-commonjs/components/MenuList/useMenuListContextValues.js.map +1 -1
  220. package/lib-commonjs/components/MenuList/useMenuListStyles.js +6 -12
  221. package/lib-commonjs/components/MenuList/useMenuListStyles.js.map +1 -1
  222. package/lib-commonjs/components/MenuPopover/MenuPopover.js +0 -6
  223. package/lib-commonjs/components/MenuPopover/MenuPopover.js.map +1 -1
  224. package/lib-commonjs/components/MenuPopover/MenuPopover.types.js.map +1 -1
  225. package/lib-commonjs/components/MenuPopover/index.js +0 -6
  226. package/lib-commonjs/components/MenuPopover/index.js.map +1 -1
  227. package/lib-commonjs/components/MenuPopover/renderMenuPopover.js +4 -10
  228. package/lib-commonjs/components/MenuPopover/renderMenuPopover.js.map +1 -1
  229. package/lib-commonjs/components/MenuPopover/useMenuPopover.js +6 -22
  230. package/lib-commonjs/components/MenuPopover/useMenuPopover.js.map +1 -1
  231. package/lib-commonjs/components/MenuPopover/useMenuPopoverStyles.js +32 -39
  232. package/lib-commonjs/components/MenuPopover/useMenuPopoverStyles.js.map +1 -1
  233. package/lib-commonjs/components/MenuSplitGroup/MenuSplitGroup.js +0 -6
  234. package/lib-commonjs/components/MenuSplitGroup/MenuSplitGroup.js.map +1 -1
  235. package/lib-commonjs/components/MenuSplitGroup/MenuSplitGroup.types.js.map +1 -1
  236. package/lib-commonjs/components/MenuSplitGroup/index.js +0 -6
  237. package/lib-commonjs/components/MenuSplitGroup/index.js.map +1 -1
  238. package/lib-commonjs/components/MenuSplitGroup/renderMenuSplitGroup.js +2 -6
  239. package/lib-commonjs/components/MenuSplitGroup/renderMenuSplitGroup.js.map +1 -1
  240. package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroup.js +0 -13
  241. package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroup.js.map +1 -1
  242. package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroupStyles.js +12 -20
  243. package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroupStyles.js.map +1 -1
  244. package/lib-commonjs/components/MenuTrigger/MenuTrigger.js +2 -7
  245. package/lib-commonjs/components/MenuTrigger/MenuTrigger.js.map +1 -1
  246. package/lib-commonjs/components/MenuTrigger/MenuTrigger.types.js.map +1 -1
  247. package/lib-commonjs/components/MenuTrigger/index.js +0 -5
  248. package/lib-commonjs/components/MenuTrigger/index.js.map +1 -1
  249. package/lib-commonjs/components/MenuTrigger/renderMenuTrigger.js +0 -5
  250. package/lib-commonjs/components/MenuTrigger/renderMenuTrigger.js.map +1 -1
  251. package/lib-commonjs/components/MenuTrigger/useMenuTrigger.js +4 -34
  252. package/lib-commonjs/components/MenuTrigger/useMenuTrigger.js.map +1 -1
  253. package/lib-commonjs/components/index.js +0 -3
  254. package/lib-commonjs/components/index.js.map +1 -1
  255. package/lib-commonjs/contexts/menuContext.js +0 -4
  256. package/lib-commonjs/contexts/menuContext.js.map +1 -1
  257. package/lib-commonjs/contexts/menuGroupContext.js +0 -5
  258. package/lib-commonjs/contexts/menuGroupContext.js.map +1 -1
  259. package/lib-commonjs/contexts/menuListContext.js +0 -4
  260. package/lib-commonjs/contexts/menuListContext.js.map +1 -1
  261. package/lib-commonjs/contexts/menuTriggerContext.js +0 -6
  262. package/lib-commonjs/contexts/menuTriggerContext.js.map +1 -1
  263. package/lib-commonjs/index.js +0 -32
  264. package/lib-commonjs/index.js.map +1 -1
  265. package/lib-commonjs/selectable/index.js +0 -3
  266. package/lib-commonjs/selectable/index.js.map +1 -1
  267. package/lib-commonjs/selectable/types.js.map +1 -1
  268. package/lib-commonjs/selectable/useCheckmarkStyles.js +7 -13
  269. package/lib-commonjs/selectable/useCheckmarkStyles.js.map +1 -1
  270. package/lib-commonjs/utils/index.js +0 -2
  271. package/lib-commonjs/utils/index.js.map +1 -1
  272. package/lib-commonjs/utils/useIsSubmenu.js +0 -6
  273. package/lib-commonjs/utils/useIsSubmenu.js.map +1 -1
  274. package/lib-commonjs/utils/useOnMenuEnter.js +4 -17
  275. package/lib-commonjs/utils/useOnMenuEnter.js.map +1 -1
  276. package/package.json +12 -12
package/CHANGELOG.json CHANGED
@@ -2,7 +2,117 @@
2
2
  "name": "@fluentui/react-menu",
3
3
  "entries": [
4
4
  {
5
- "date": "Tue, 20 Dec 2022 14:55:50 GMT",
5
+ "date": "Wed, 04 Jan 2023 01:35:34 GMT",
6
+ "tag": "@fluentui/react-menu_v9.5.4",
7
+ "version": "9.5.4",
8
+ "comments": {
9
+ "none": [
10
+ {
11
+ "author": "martinhochel@microsoft.com",
12
+ "package": "@fluentui/react-menu",
13
+ "commit": "194b0cf0cc27c1c1233aa945f09b3ad29778d8ca",
14
+ "comment": "chore(scripts): use for @fluentui/scripts version within all package.json"
15
+ },
16
+ {
17
+ "author": "martinhochel@microsoft.com",
18
+ "package": "@fluentui/react-menu",
19
+ "commit": "4ec2b998b294d6d9c3196d3d82893bdd97d0c105",
20
+ "comment": "chore(scripts): move index.ts to to follow sub-folder domain packaging"
21
+ }
22
+ ],
23
+ "patch": [
24
+ {
25
+ "author": "olfedias@microsoft.com",
26
+ "package": "@fluentui/react-menu",
27
+ "commit": "2c38f1e4ae07b2b60df596efe11015a68f166dbf",
28
+ "comment": "chore: Update Griffel to latest version"
29
+ },
30
+ {
31
+ "author": "beachball",
32
+ "package": "@fluentui/react-menu",
33
+ "comment": "Bump @fluentui/react-aria to v9.3.4",
34
+ "commit": "3e322d15529451be153e97298873253e21af4082"
35
+ },
36
+ {
37
+ "author": "beachball",
38
+ "package": "@fluentui/react-menu",
39
+ "comment": "Bump @fluentui/react-context-selector to v9.1.4",
40
+ "commit": "3e322d15529451be153e97298873253e21af4082"
41
+ },
42
+ {
43
+ "author": "beachball",
44
+ "package": "@fluentui/react-menu",
45
+ "comment": "Bump @fluentui/react-portal to v9.0.15",
46
+ "commit": "3e322d15529451be153e97298873253e21af4082"
47
+ },
48
+ {
49
+ "author": "beachball",
50
+ "package": "@fluentui/react-menu",
51
+ "comment": "Bump @fluentui/react-positioning to v9.3.6",
52
+ "commit": "3e322d15529451be153e97298873253e21af4082"
53
+ },
54
+ {
55
+ "author": "beachball",
56
+ "package": "@fluentui/react-menu",
57
+ "comment": "Bump @fluentui/react-tabster to v9.3.5",
58
+ "commit": "3e322d15529451be153e97298873253e21af4082"
59
+ },
60
+ {
61
+ "author": "beachball",
62
+ "package": "@fluentui/react-menu",
63
+ "comment": "Bump @fluentui/react-utilities to v9.3.1",
64
+ "commit": "3e322d15529451be153e97298873253e21af4082"
65
+ },
66
+ {
67
+ "author": "beachball",
68
+ "package": "@fluentui/react-menu",
69
+ "comment": "Bump @fluentui/react-conformance-griffel to v9.0.0-beta.19",
70
+ "commit": "3e322d15529451be153e97298873253e21af4082"
71
+ }
72
+ ]
73
+ }
74
+ },
75
+ {
76
+ "date": "Wed, 21 Dec 2022 10:20:33 GMT",
77
+ "tag": "@fluentui/react-menu_v9.5.3",
78
+ "version": "9.5.3",
79
+ "comments": {
80
+ "patch": [
81
+ {
82
+ "author": "beachball",
83
+ "package": "@fluentui/react-menu",
84
+ "comment": "Bump @fluentui/react-portal to v9.0.14",
85
+ "commit": "66bf89f634cad4a275e957d7a2214c7e73ff8c2e"
86
+ },
87
+ {
88
+ "author": "beachball",
89
+ "package": "@fluentui/react-menu",
90
+ "comment": "Bump @fluentui/react-positioning to v9.3.5",
91
+ "commit": "66bf89f634cad4a275e957d7a2214c7e73ff8c2e"
92
+ },
93
+ {
94
+ "author": "beachball",
95
+ "package": "@fluentui/react-menu",
96
+ "comment": "Bump @fluentui/react-shared-contexts to v9.1.4",
97
+ "commit": "66bf89f634cad4a275e957d7a2214c7e73ff8c2e"
98
+ },
99
+ {
100
+ "author": "beachball",
101
+ "package": "@fluentui/react-menu",
102
+ "comment": "Bump @fluentui/react-tabster to v9.3.4",
103
+ "commit": "66bf89f634cad4a275e957d7a2214c7e73ff8c2e"
104
+ },
105
+ {
106
+ "author": "beachball",
107
+ "package": "@fluentui/react-menu",
108
+ "comment": "Bump @fluentui/react-theme to v9.1.5",
109
+ "commit": "66bf89f634cad4a275e957d7a2214c7e73ff8c2e"
110
+ }
111
+ ]
112
+ }
113
+ },
114
+ {
115
+ "date": "Tue, 20 Dec 2022 14:59:25 GMT",
6
116
  "tag": "@fluentui/react-menu_v9.5.2",
7
117
  "version": "9.5.2",
8
118
  "comments": {
package/CHANGELOG.md CHANGED
@@ -1,12 +1,41 @@
1
1
  # Change Log - @fluentui/react-menu
2
2
 
3
- This log was last generated on Tue, 20 Dec 2022 14:55:50 GMT and should not be manually modified.
3
+ This log was last generated on Wed, 04 Jan 2023 01:35:34 GMT and should not be manually modified.
4
4
 
5
5
  <!-- Start content -->
6
6
 
7
+ ## [9.5.4](https://github.com/microsoft/fluentui/tree/@fluentui/react-menu_v9.5.4)
8
+
9
+ Wed, 04 Jan 2023 01:35:34 GMT
10
+ [Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-menu_v9.5.3..@fluentui/react-menu_v9.5.4)
11
+
12
+ ### Patches
13
+
14
+ - chore: Update Griffel to latest version ([PR #26045](https://github.com/microsoft/fluentui/pull/26045) by olfedias@microsoft.com)
15
+ - Bump @fluentui/react-aria to v9.3.4 ([PR #26114](https://github.com/microsoft/fluentui/pull/26114) by beachball)
16
+ - Bump @fluentui/react-context-selector to v9.1.4 ([PR #26114](https://github.com/microsoft/fluentui/pull/26114) by beachball)
17
+ - Bump @fluentui/react-portal to v9.0.15 ([PR #26114](https://github.com/microsoft/fluentui/pull/26114) by beachball)
18
+ - Bump @fluentui/react-positioning to v9.3.6 ([PR #26114](https://github.com/microsoft/fluentui/pull/26114) by beachball)
19
+ - Bump @fluentui/react-tabster to v9.3.5 ([PR #26114](https://github.com/microsoft/fluentui/pull/26114) by beachball)
20
+ - Bump @fluentui/react-utilities to v9.3.1 ([PR #26114](https://github.com/microsoft/fluentui/pull/26114) by beachball)
21
+ - Bump @fluentui/react-conformance-griffel to v9.0.0-beta.19 ([PR #26114](https://github.com/microsoft/fluentui/pull/26114) by beachball)
22
+
23
+ ## [9.5.3](https://github.com/microsoft/fluentui/tree/@fluentui/react-menu_v9.5.3)
24
+
25
+ Wed, 21 Dec 2022 10:20:33 GMT
26
+ [Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-menu_v9.5.2..@fluentui/react-menu_v9.5.3)
27
+
28
+ ### Patches
29
+
30
+ - Bump @fluentui/react-portal to v9.0.14 ([commit](https://github.com/microsoft/fluentui/commit/66bf89f634cad4a275e957d7a2214c7e73ff8c2e) by beachball)
31
+ - Bump @fluentui/react-positioning to v9.3.5 ([commit](https://github.com/microsoft/fluentui/commit/66bf89f634cad4a275e957d7a2214c7e73ff8c2e) by beachball)
32
+ - Bump @fluentui/react-shared-contexts to v9.1.4 ([commit](https://github.com/microsoft/fluentui/commit/66bf89f634cad4a275e957d7a2214c7e73ff8c2e) by beachball)
33
+ - Bump @fluentui/react-tabster to v9.3.4 ([commit](https://github.com/microsoft/fluentui/commit/66bf89f634cad4a275e957d7a2214c7e73ff8c2e) by beachball)
34
+ - Bump @fluentui/react-theme to v9.1.5 ([commit](https://github.com/microsoft/fluentui/commit/66bf89f634cad4a275e957d7a2214c7e73ff8c2e) by beachball)
35
+
7
36
  ## [9.5.2](https://github.com/microsoft/fluentui/tree/@fluentui/react-menu_v9.5.2)
8
37
 
9
- Tue, 20 Dec 2022 14:55:50 GMT
38
+ Tue, 20 Dec 2022 14:59:25 GMT
10
39
  [Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-menu_v9.5.1..@fluentui/react-menu_v9.5.2)
11
40
 
12
41
  ### Patches
@@ -4,7 +4,6 @@ import { renderMenu_unstable } from './renderMenu';
4
4
  /**
5
5
  * Wrapper component that manages state for a popup MenuList and a MenuTrigger
6
6
  */
7
-
8
7
  export const Menu = props => {
9
8
  const state = useMenu_unstable(props);
10
9
  const contextValues = useMenuContextValues_unstable(state);
@@ -1 +1 @@
1
- {"version":3,"sources":["packages/react-components/react-menu/src/components/Menu/Menu.tsx"],"names":[],"mappings":"AACA,SAAS,gBAAT,QAAiC,WAAjC;AACA,SAAS,6BAAT,QAA8C,wBAA9C;AACA,SAAS,mBAAT,QAAoC,cAApC;AAGA;;AAEG;;AACH,OAAO,MAAM,IAAI,GAAwB,KAAK,IAAG;EAC/C,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAD,CAA9B;EACA,MAAM,aAAa,GAAG,6BAA6B,CAAC,KAAD,CAAnD;EAEA,OAAO,mBAAmB,CAAC,KAAD,EAAQ,aAAR,CAA1B;AACD,CALM;AAOP,IAAI,CAAC,WAAL,GAAmB,MAAnB","sourcesContent":["import * as React from 'react';\nimport { useMenu_unstable } from './useMenu';\nimport { useMenuContextValues_unstable } from './useMenuContextValues';\nimport { renderMenu_unstable } from './renderMenu';\nimport type { MenuProps } from './Menu.types';\n\n/**\n * Wrapper component that manages state for a popup MenuList and a MenuTrigger\n */\nexport const Menu: React.FC<MenuProps> = props => {\n const state = useMenu_unstable(props);\n const contextValues = useMenuContextValues_unstable(state);\n\n return renderMenu_unstable(state, contextValues);\n};\n\nMenu.displayName = 'Menu';\n"],"sourceRoot":"../src/"}
1
+ {"version":3,"mappings":"AACA,SAASA,gBAAgB,QAAQ,WAAW;AAC5C,SAASC,6BAA6B,QAAQ,wBAAwB;AACtE,SAASC,mBAAmB,QAAQ,cAAc;AAGlD;;;AAGA,OAAO,MAAMC,IAAI,GAAwBC,KAAK,IAAG;EAC/C,MAAMC,KAAK,GAAGL,gBAAgB,CAACI,KAAK,CAAC;EACrC,MAAME,aAAa,GAAGL,6BAA6B,CAACI,KAAK,CAAC;EAE1D,OAAOH,mBAAmB,CAACG,KAAK,EAAEC,aAAa,CAAC;AAClD,CAAC;AAEDH,IAAI,CAACI,WAAW,GAAG,MAAM","names":["useMenu_unstable","useMenuContextValues_unstable","renderMenu_unstable","Menu","props","state","contextValues","displayName"],"sourceRoot":"../src/","sources":["packages/react-components/react-menu/src/components/Menu/Menu.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useMenu_unstable } from './useMenu';\nimport { useMenuContextValues_unstable } from './useMenuContextValues';\nimport { renderMenu_unstable } from './renderMenu';\nimport type { MenuProps } from './Menu.types';\n\n/**\n * Wrapper component that manages state for a popup MenuList and a MenuTrigger\n */\nexport const Menu: React.FC<MenuProps> = props => {\n const state = useMenu_unstable(props);\n const contextValues = useMenuContextValues_unstable(state);\n\n return renderMenu_unstable(state, contextValues);\n};\n\nMenu.displayName = 'Menu';\n"]}
@@ -3,7 +3,6 @@ import { MenuProvider } from '../../contexts/menuContext';
3
3
  /**
4
4
  * Render the final JSX of Menu
5
5
  */
6
-
7
6
  export const renderMenu_unstable = (state, contextValues) => {
8
7
  return /*#__PURE__*/React.createElement(MenuProvider, {
9
8
  value: contextValues.menu
@@ -1 +1 @@
1
- {"version":3,"sources":["packages/react-components/react-menu/src/components/Menu/renderMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,YAAT,QAA6B,4BAA7B;AAGA;;AAEG;;AACH,OAAO,MAAM,mBAAmB,GAAG,CAAC,KAAD,EAAmB,aAAnB,KAAuD;EACxF,oBACE,KAAA,CAAA,aAAA,CAAC,YAAD,EAAa;IAAC,KAAK,EAAE,aAAa,CAAC;EAAtB,CAAb,EACG,KAAK,CAAC,WADT,EAEG,KAAK,CAAC,IAAN,IAAc,KAAK,CAAC,WAFvB,CADF;AAMD,CAPM","sourcesContent":["import * as React from 'react';\nimport { MenuProvider } from '../../contexts/menuContext';\nimport type { MenuContextValues, MenuState } from './Menu.types';\n\n/**\n * Render the final JSX of Menu\n */\nexport const renderMenu_unstable = (state: MenuState, contextValues: MenuContextValues) => {\n return (\n <MenuProvider value={contextValues.menu}>\n {state.menuTrigger}\n {state.open && state.menuPopover}\n </MenuProvider>\n );\n};\n"],"sourceRoot":"../src/"}
1
+ {"version":3,"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,YAAY,QAAQ,4BAA4B;AAGzD;;;AAGA,OAAO,MAAMC,mBAAmB,GAAG,CAACC,KAAgB,EAAEC,aAAgC,KAAI;EACxF,oBACEJ,oBAACC,YAAY;IAACI,KAAK,EAAED,aAAa,CAACE;EAAI,GACpCH,KAAK,CAACI,WAAW,EACjBJ,KAAK,CAACK,IAAI,IAAIL,KAAK,CAACM,WAAW,CACnB;AAEnB,CAAC","names":["React","MenuProvider","renderMenu_unstable","state","contextValues","value","menu","menuTrigger","open","menuPopover"],"sourceRoot":"../src/","sources":["packages/react-components/react-menu/src/components/Menu/renderMenu.tsx"],"sourcesContent":["import * as React from 'react';\nimport { MenuProvider } from '../../contexts/menuContext';\nimport type { MenuContextValues, MenuState } from './Menu.types';\n\n/**\n * Render the final JSX of Menu\n */\nexport const renderMenu_unstable = (state: MenuState, contextValues: MenuContextValues) => {\n return (\n <MenuProvider value={contextValues.menu}>\n {state.menuTrigger}\n {state.open && state.menuPopover}\n </MenuProvider>\n );\n};\n"]}
@@ -16,7 +16,6 @@ import { Tab } from '@fluentui/keyboard-keys';
16
16
  *
17
17
  * @param props - props from this instance of Menu
18
18
  */
19
-
20
19
  export const useMenu_unstable = props => {
21
20
  const isSubmenu = useIsSubmenu();
22
21
  const {
@@ -39,34 +38,29 @@ export const useMenu_unstable = props => {
39
38
  ...resolvePositioningShorthand(props.positioning)
40
39
  };
41
40
  const children = React.Children.toArray(props.children);
42
-
43
41
  if (process.env.NODE_ENV !== 'production') {
44
42
  if (children.length === 0) {
45
43
  // eslint-disable-next-line no-console
46
44
  console.warn('Menu must contain at least one child');
47
45
  }
48
-
49
46
  if (children.length > 2) {
50
47
  // eslint-disable-next-line no-console
51
48
  console.warn('Menu must contain at most two children');
52
49
  }
53
50
  }
54
-
55
51
  let menuTrigger = undefined;
56
52
  let menuPopover = undefined;
57
-
58
53
  if (children.length === 2) {
59
54
  menuTrigger = children[0];
60
55
  menuPopover = children[1];
61
56
  } else if (children.length === 1) {
62
57
  menuPopover = children[0];
63
58
  }
64
-
65
59
  const {
66
60
  targetRef: triggerRef,
67
61
  containerRef: menuPopoverRef
68
- } = usePositioning(positioningState); // TODO Better way to narrow types ?
69
-
62
+ } = usePositioning(positioningState);
63
+ // TODO Better way to narrow types ?
70
64
  const [open, setOpen] = useMenuOpenState({
71
65
  hoverDelay,
72
66
  isSubmenu,
@@ -112,7 +106,6 @@ export const useMenu_unstable = props => {
112
106
  * Adds appropriate state values and handlers for selectable items
113
107
  * i.e checkboxes and radios
114
108
  */
115
-
116
109
  const useMenuSelectableState = props => {
117
110
  const [checkedValues, setCheckedValues] = useControllableState({
118
111
  state: props.checkedValues,
@@ -124,18 +117,17 @@ const useMenuSelectableState = props => {
124
117
  checkedItems
125
118
  }) => {
126
119
  var _a;
127
-
128
120
  (_a = props.onCheckedValueChange) === null || _a === void 0 ? void 0 : _a.call(props, e, {
129
121
  name,
130
122
  checkedItems
131
123
  });
132
- setCheckedValues(currentValue => ({ ...currentValue,
124
+ setCheckedValues(currentValue => ({
125
+ ...currentValue,
133
126
  [name]: checkedItems
134
127
  }));
135
128
  });
136
129
  return [checkedValues, onCheckedValueChange];
137
130
  };
138
-
139
131
  const useMenuOpenState = state => {
140
132
  const {
141
133
  targetDocument
@@ -143,7 +135,6 @@ const useMenuOpenState = state => {
143
135
  const parentSetOpen = useMenuContext_unstable(context => context.setOpen);
144
136
  const onOpenChange = useEventCallback((e, data) => {
145
137
  var _a;
146
-
147
138
  return (_a = state.onOpenChange) === null || _a === void 0 ? void 0 : _a.call(state, e, data);
148
139
  });
149
140
  const shouldHandleCloseRef = React.useRef(false);
@@ -158,50 +149,43 @@ const useMenuOpenState = state => {
158
149
  });
159
150
  const trySetOpen = useEventCallback((e, data) => {
160
151
  const event = e instanceof CustomEvent && e.type === MENU_ENTER_EVENT ? e.detail.nativeEvent : e;
161
- onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(event, { ...data
152
+ onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(event, {
153
+ ...data
162
154
  });
163
-
164
155
  if (data.open && e.type === 'contextmenu') {
165
156
  state.setContextTarget(e);
166
157
  }
167
-
168
158
  if (!data.open) {
169
159
  state.setContextTarget(undefined);
170
160
  shouldHandleCloseRef.current = true;
171
161
  }
172
-
173
162
  if (e.type === 'keydown') {
174
163
  if (e.key === Tab) {
175
164
  shouldHandleTabRef.current = true;
176
165
  pressedShiftRef.current = e.shiftKey;
177
166
  }
178
167
  }
179
-
180
168
  if (data.bubble) {
181
- parentSetOpen(e, { ...data
169
+ parentSetOpen(e, {
170
+ ...data
182
171
  });
183
172
  }
184
-
185
173
  setOpenState(data.open);
186
174
  });
187
175
  const setOpen = useEventCallback((e, data) => {
188
176
  var _a;
189
-
190
177
  clearTimeout(setOpenTimeout.current);
191
-
192
178
  if (!(e instanceof Event) && e.persist) {
193
179
  // < React 17 still uses pooled synthetic events
194
180
  e.persist();
195
181
  }
196
-
197
182
  if (e.type === 'mouseleave' || e.type === 'mouseenter' || e.type === 'mousemove' || e.type === MENU_ENTER_EVENT) {
198
183
  if ((_a = state.triggerRef.current) === null || _a === void 0 ? void 0 : _a.contains(e.target)) {
199
184
  enteringTriggerRef.current = e.type === 'mouseenter' || e.type === 'mousemove';
200
- } // FIXME leaking Node timeout type
185
+ }
186
+ // FIXME leaking Node timeout type
201
187
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
202
188
  // @ts-ignore
203
-
204
-
205
189
  setOpenTimeout.current = setTimeout(() => trySetOpen(e, data), state.hoverDelay);
206
190
  } else {
207
191
  trySetOpen(e, data);
@@ -217,8 +201,8 @@ const useMenuOpenState = state => {
217
201
  type: 'clickOutside',
218
202
  event
219
203
  })
220
- }); // only close on scroll for context, or when closeOnScroll is specified
221
-
204
+ });
205
+ // only close on scroll for context, or when closeOnScroll is specified
222
206
  const closeOnScroll = state.openOnContext || state.closeOnScroll;
223
207
  useOnScrollOutside({
224
208
  contains: elementContains,
@@ -246,15 +230,15 @@ const useMenuOpenState = state => {
246
230
  },
247
231
  disabled: !open,
248
232
  refs: [state.menuPopoverRef]
249
- }); // Clear timeout on unmount
233
+ });
234
+ // Clear timeout on unmount
250
235
  // Setting state after a component unmounts can cause memory leaks
251
-
252
236
  React.useEffect(() => {
253
237
  return () => {
254
238
  clearTimeout(setOpenTimeout.current);
255
239
  };
256
- }, []); // Manage focus for open state
257
-
240
+ }, []);
241
+ // Manage focus for open state
258
242
  const {
259
243
  findFirstFocusable,
260
244
  findNextFocusable,
@@ -274,7 +258,6 @@ const useMenuOpenState = state => {
274
258
  }, [findPrevFocusable, state.triggerRef]);
275
259
  React.useEffect(() => {
276
260
  var _a;
277
-
278
261
  if (open) {
279
262
  focusFirst();
280
263
  } else {
@@ -286,7 +269,6 @@ const useMenuOpenState = state => {
286
269
  }
287
270
  }
288
271
  }
289
-
290
272
  shouldHandleCloseRef.current = false;
291
273
  shouldHandleTabRef.current = false;
292
274
  pressedShiftRef.current = false;
@@ -1 +1 @@
1
- {"version":3,"sources":["packages/react-components/react-menu/src/components/Menu/useMenu.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { usePositioningMouseTarget, usePositioning, resolvePositioningShorthand } from '@fluentui/react-positioning';\nimport {\n useControllableState,\n useId,\n useOnClickOutside,\n useEventCallback,\n useOnScrollOutside,\n} from '@fluentui/react-utilities';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\nimport { elementContains } from '@fluentui/react-portal';\nimport { useFocusFinders } from '@fluentui/react-tabster';\nimport { useMenuContext_unstable } from '../../contexts/menuContext';\nimport { MENU_ENTER_EVENT, useOnMenuMouseEnter } from '../../utils/index';\nimport { useIsSubmenu } from '../../utils/useIsSubmenu';\nimport type { MenuOpenChangeData, MenuOpenEvent, MenuProps, MenuState } from './Menu.types';\nimport { Tab } from '@fluentui/keyboard-keys';\n\n/**\n * Create the state required to render Menu.\n *\n * The returned state can be modified with hooks such as useMenuStyles,\n * before being passed to renderMenu_unstable.\n *\n * @param props - props from this instance of Menu\n */\nexport const useMenu_unstable = (props: MenuProps): MenuState => {\n const isSubmenu = useIsSubmenu();\n const {\n hoverDelay = 500,\n inline = false,\n hasCheckmarks = false,\n hasIcons = false,\n closeOnScroll = false,\n openOnContext = false,\n persistOnItemClick = false,\n openOnHover = isSubmenu,\n defaultCheckedValues,\n } = props;\n const triggerId = useId('menu');\n const [contextTarget, setContextTarget] = usePositioningMouseTarget();\n\n const positioningState = {\n position: isSubmenu ? 'after' : 'below',\n align: isSubmenu ? 'top' : 'start',\n target: props.openOnContext ? contextTarget : undefined,\n ...resolvePositioningShorthand(props.positioning),\n } as const;\n\n const children = React.Children.toArray(props.children) as React.ReactElement[];\n\n if (process.env.NODE_ENV !== 'production') {\n if (children.length === 0) {\n // eslint-disable-next-line no-console\n console.warn('Menu must contain at least one child');\n }\n\n if (children.length > 2) {\n // eslint-disable-next-line no-console\n console.warn('Menu must contain at most two children');\n }\n }\n\n let menuTrigger: React.ReactElement | undefined = undefined;\n let menuPopover: React.ReactElement | undefined = undefined;\n if (children.length === 2) {\n menuTrigger = children[0];\n menuPopover = children[1];\n } else if (children.length === 1) {\n menuPopover = children[0];\n }\n\n const { targetRef: triggerRef, containerRef: menuPopoverRef } = usePositioning(positioningState);\n\n // TODO Better way to narrow types ?\n const [open, setOpen] = useMenuOpenState({\n hoverDelay,\n isSubmenu,\n setContextTarget,\n closeOnScroll,\n menuPopoverRef,\n triggerRef,\n open: props.open,\n defaultOpen: props.defaultOpen,\n onOpenChange: props.onOpenChange,\n openOnContext,\n });\n\n const [checkedValues, onCheckedValueChange] = useMenuSelectableState({\n checkedValues: props.checkedValues,\n defaultCheckedValues,\n onCheckedValueChange: props.onCheckedValueChange,\n });\n\n return {\n inline,\n hoverDelay,\n triggerId,\n isSubmenu,\n openOnHover,\n contextTarget,\n setContextTarget,\n hasCheckmarks,\n hasIcons,\n closeOnScroll,\n menuTrigger,\n menuPopover,\n triggerRef,\n menuPopoverRef,\n components: {},\n openOnContext,\n open,\n setOpen,\n checkedValues,\n onCheckedValueChange,\n persistOnItemClick,\n };\n};\n\n/**\n * Adds appropriate state values and handlers for selectable items\n * i.e checkboxes and radios\n */\nconst useMenuSelectableState = (\n props: Pick<MenuProps, 'checkedValues' | 'defaultCheckedValues' | 'onCheckedValueChange'>,\n) => {\n const [checkedValues, setCheckedValues] = useControllableState({\n state: props.checkedValues,\n defaultState: props.defaultCheckedValues,\n initialState: {},\n });\n const onCheckedValueChange: MenuState['onCheckedValueChange'] = useEventCallback((e, { name, checkedItems }) => {\n props.onCheckedValueChange?.(e, { name, checkedItems });\n\n setCheckedValues(currentValue => ({\n ...currentValue,\n [name]: checkedItems,\n }));\n });\n\n return [checkedValues, onCheckedValueChange] as const;\n};\n\nconst useMenuOpenState = (\n state: Pick<\n MenuState,\n | 'isSubmenu'\n | 'menuPopoverRef'\n | 'setContextTarget'\n | 'triggerRef'\n | 'openOnContext'\n | 'closeOnScroll'\n | 'hoverDelay'\n > &\n Pick<MenuProps, 'open' | 'defaultOpen' | 'onOpenChange'>,\n) => {\n const { targetDocument } = useFluent();\n const parentSetOpen = useMenuContext_unstable(context => context.setOpen);\n const onOpenChange: MenuProps['onOpenChange'] = useEventCallback((e, data) => state.onOpenChange?.(e, data));\n\n const shouldHandleCloseRef = React.useRef(false);\n const shouldHandleTabRef = React.useRef(false);\n const pressedShiftRef = React.useRef(false);\n const setOpenTimeout = React.useRef(0);\n const enteringTriggerRef = React.useRef(false);\n\n const [open, setOpenState] = useControllableState({\n state: state.open,\n defaultState: state.defaultOpen,\n initialState: false,\n });\n\n const trySetOpen = useEventCallback((e: MenuOpenEvent, data: MenuOpenChangeData) => {\n const event = e instanceof CustomEvent && e.type === MENU_ENTER_EVENT ? e.detail.nativeEvent : e;\n onOpenChange?.(event, { ...data });\n if (data.open && e.type === 'contextmenu') {\n state.setContextTarget(e as React.MouseEvent);\n }\n\n if (!data.open) {\n state.setContextTarget(undefined);\n shouldHandleCloseRef.current = true;\n }\n\n if (e.type === 'keydown') {\n if ((e as React.KeyboardEvent<HTMLElement>).key === Tab) {\n shouldHandleTabRef.current = true;\n pressedShiftRef.current = (e as React.KeyboardEvent<HTMLElement>).shiftKey;\n }\n }\n\n if (data.bubble) {\n parentSetOpen(e, { ...data });\n }\n\n setOpenState(data.open);\n });\n\n const setOpen = useEventCallback((e: MenuOpenEvent, data: MenuOpenChangeData) => {\n clearTimeout(setOpenTimeout.current);\n if (!(e instanceof Event) && e.persist) {\n // < React 17 still uses pooled synthetic events\n e.persist();\n }\n\n if (e.type === 'mouseleave' || e.type === 'mouseenter' || e.type === 'mousemove' || e.type === MENU_ENTER_EVENT) {\n if (state.triggerRef.current?.contains(e.target as HTMLElement)) {\n enteringTriggerRef.current = e.type === 'mouseenter' || e.type === 'mousemove';\n }\n\n // FIXME leaking Node timeout type\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n setOpenTimeout.current = setTimeout(() => trySetOpen(e, data), state.hoverDelay);\n } else {\n trySetOpen(e, data);\n }\n });\n\n useOnClickOutside({\n contains: elementContains,\n disabled: !open,\n element: targetDocument,\n refs: [state.menuPopoverRef, !state.openOnContext && state.triggerRef].filter(\n Boolean,\n ) as React.MutableRefObject<HTMLElement>[],\n callback: event => setOpen(event, { open: false, type: 'clickOutside', event }),\n });\n\n // only close on scroll for context, or when closeOnScroll is specified\n const closeOnScroll = state.openOnContext || state.closeOnScroll;\n useOnScrollOutside({\n contains: elementContains,\n element: targetDocument,\n callback: event => setOpen(event, { open: false, type: 'scrollOutside', event }),\n refs: [state.menuPopoverRef, !state.openOnContext && state.triggerRef].filter(\n Boolean,\n ) as React.MutableRefObject<HTMLElement>[],\n disabled: !open || !closeOnScroll,\n });\n\n useOnMenuMouseEnter({\n element: targetDocument,\n callback: event => {\n // When moving from a menu directly back to its trigger, this handler can close the menu\n // Explicitly check a flag to see if this situation happens\n if (!enteringTriggerRef.current) {\n setOpen(event, { open: false, type: 'menuMouseEnter', event });\n }\n },\n disabled: !open,\n refs: [state.menuPopoverRef],\n });\n\n // Clear timeout on unmount\n // Setting state after a component unmounts can cause memory leaks\n React.useEffect(() => {\n return () => {\n clearTimeout(setOpenTimeout.current);\n };\n }, []);\n\n // Manage focus for open state\n const { findFirstFocusable, findNextFocusable, findPrevFocusable } = useFocusFinders();\n const focusFirst = React.useCallback(() => {\n const firstFocusable = findFirstFocusable(state.menuPopoverRef.current);\n firstFocusable?.focus();\n }, [findFirstFocusable, state.menuPopoverRef]);\n\n const focusAfterMenuTrigger = React.useCallback(() => {\n const nextFocusable = findNextFocusable(state.triggerRef.current);\n nextFocusable?.focus();\n }, [findNextFocusable, state.triggerRef]);\n\n const focusBeforeMenuTrigger = React.useCallback(() => {\n const prevFocusable = findPrevFocusable(state.triggerRef.current);\n prevFocusable?.focus();\n }, [findPrevFocusable, state.triggerRef]);\n\n React.useEffect(() => {\n if (open) {\n focusFirst();\n } else {\n if (shouldHandleCloseRef.current) {\n if (shouldHandleTabRef.current && !state.isSubmenu) {\n pressedShiftRef.current ? focusBeforeMenuTrigger() : focusAfterMenuTrigger();\n } else {\n state.triggerRef.current?.focus();\n }\n }\n }\n\n shouldHandleCloseRef.current = false;\n shouldHandleTabRef.current = false;\n pressedShiftRef.current = false;\n }, [state.triggerRef, state.isSubmenu, open, focusFirst, focusAfterMenuTrigger, focusBeforeMenuTrigger]);\n\n return [open, setOpen] as const;\n};\n"],"sourceRoot":"../src/"}
1
+ {"version":3,"mappings":"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","names":["React","usePositioningMouseTarget","usePositioning","resolvePositioningShorthand","useControllableState","useId","useOnClickOutside","useEventCallback","useOnScrollOutside","useFluent_unstable","useFluent","elementContains","useFocusFinders","useMenuContext_unstable","MENU_ENTER_EVENT","useOnMenuMouseEnter","useIsSubmenu","Tab","useMenu_unstable","props","isSubmenu","hoverDelay","inline","hasCheckmarks","hasIcons","closeOnScroll","openOnContext","persistOnItemClick","openOnHover","defaultCheckedValues","triggerId","contextTarget","setContextTarget","positioningState","position","align","target","undefined","positioning","children","Children","toArray","process","env","NODE_ENV","length","console","warn","menuTrigger","menuPopover","targetRef","triggerRef","containerRef","menuPopoverRef","open","setOpen","useMenuOpenState","defaultOpen","onOpenChange","checkedValues","onCheckedValueChange","useMenuSelectableState","components","setCheckedValues","state","defaultState","initialState","e","name","checkedItems","currentValue","targetDocument","parentSetOpen","context","data","shouldHandleCloseRef","useRef","shouldHandleTabRef","pressedShiftRef","setOpenTimeout","enteringTriggerRef","setOpenState","trySetOpen","event","CustomEvent","type","detail","nativeEvent","current","key","shiftKey","bubble","clearTimeout","Event","persist","contains","setTimeout","disabled","element","refs","filter","Boolean","callback","useEffect","findFirstFocusable","findNextFocusable","findPrevFocusable","focusFirst","useCallback","firstFocusable","focus","focusAfterMenuTrigger","nextFocusable","focusBeforeMenuTrigger","prevFocusable"],"sourceRoot":"../src/","sources":["packages/react-components/react-menu/src/components/Menu/useMenu.tsx"],"sourcesContent":["import * as React from 'react';\nimport { usePositioningMouseTarget, usePositioning, resolvePositioningShorthand } from '@fluentui/react-positioning';\nimport {\n useControllableState,\n useId,\n useOnClickOutside,\n useEventCallback,\n useOnScrollOutside,\n} from '@fluentui/react-utilities';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\nimport { elementContains } from '@fluentui/react-portal';\nimport { useFocusFinders } from '@fluentui/react-tabster';\nimport { useMenuContext_unstable } from '../../contexts/menuContext';\nimport { MENU_ENTER_EVENT, useOnMenuMouseEnter } from '../../utils/index';\nimport { useIsSubmenu } from '../../utils/useIsSubmenu';\nimport type { MenuOpenChangeData, MenuOpenEvent, MenuProps, MenuState } from './Menu.types';\nimport { Tab } from '@fluentui/keyboard-keys';\n\n/**\n * Create the state required to render Menu.\n *\n * The returned state can be modified with hooks such as useMenuStyles,\n * before being passed to renderMenu_unstable.\n *\n * @param props - props from this instance of Menu\n */\nexport const useMenu_unstable = (props: MenuProps): MenuState => {\n const isSubmenu = useIsSubmenu();\n const {\n hoverDelay = 500,\n inline = false,\n hasCheckmarks = false,\n hasIcons = false,\n closeOnScroll = false,\n openOnContext = false,\n persistOnItemClick = false,\n openOnHover = isSubmenu,\n defaultCheckedValues,\n } = props;\n const triggerId = useId('menu');\n const [contextTarget, setContextTarget] = usePositioningMouseTarget();\n\n const positioningState = {\n position: isSubmenu ? 'after' : 'below',\n align: isSubmenu ? 'top' : 'start',\n target: props.openOnContext ? contextTarget : undefined,\n ...resolvePositioningShorthand(props.positioning),\n } as const;\n\n const children = React.Children.toArray(props.children) as React.ReactElement[];\n\n if (process.env.NODE_ENV !== 'production') {\n if (children.length === 0) {\n // eslint-disable-next-line no-console\n console.warn('Menu must contain at least one child');\n }\n\n if (children.length > 2) {\n // eslint-disable-next-line no-console\n console.warn('Menu must contain at most two children');\n }\n }\n\n let menuTrigger: React.ReactElement | undefined = undefined;\n let menuPopover: React.ReactElement | undefined = undefined;\n if (children.length === 2) {\n menuTrigger = children[0];\n menuPopover = children[1];\n } else if (children.length === 1) {\n menuPopover = children[0];\n }\n\n const { targetRef: triggerRef, containerRef: menuPopoverRef } = usePositioning(positioningState);\n\n // TODO Better way to narrow types ?\n const [open, setOpen] = useMenuOpenState({\n hoverDelay,\n isSubmenu,\n setContextTarget,\n closeOnScroll,\n menuPopoverRef,\n triggerRef,\n open: props.open,\n defaultOpen: props.defaultOpen,\n onOpenChange: props.onOpenChange,\n openOnContext,\n });\n\n const [checkedValues, onCheckedValueChange] = useMenuSelectableState({\n checkedValues: props.checkedValues,\n defaultCheckedValues,\n onCheckedValueChange: props.onCheckedValueChange,\n });\n\n return {\n inline,\n hoverDelay,\n triggerId,\n isSubmenu,\n openOnHover,\n contextTarget,\n setContextTarget,\n hasCheckmarks,\n hasIcons,\n closeOnScroll,\n menuTrigger,\n menuPopover,\n triggerRef,\n menuPopoverRef,\n components: {},\n openOnContext,\n open,\n setOpen,\n checkedValues,\n onCheckedValueChange,\n persistOnItemClick,\n };\n};\n\n/**\n * Adds appropriate state values and handlers for selectable items\n * i.e checkboxes and radios\n */\nconst useMenuSelectableState = (\n props: Pick<MenuProps, 'checkedValues' | 'defaultCheckedValues' | 'onCheckedValueChange'>,\n) => {\n const [checkedValues, setCheckedValues] = useControllableState({\n state: props.checkedValues,\n defaultState: props.defaultCheckedValues,\n initialState: {},\n });\n const onCheckedValueChange: MenuState['onCheckedValueChange'] = useEventCallback((e, { name, checkedItems }) => {\n props.onCheckedValueChange?.(e, { name, checkedItems });\n\n setCheckedValues(currentValue => ({\n ...currentValue,\n [name]: checkedItems,\n }));\n });\n\n return [checkedValues, onCheckedValueChange] as const;\n};\n\nconst useMenuOpenState = (\n state: Pick<\n MenuState,\n | 'isSubmenu'\n | 'menuPopoverRef'\n | 'setContextTarget'\n | 'triggerRef'\n | 'openOnContext'\n | 'closeOnScroll'\n | 'hoverDelay'\n > &\n Pick<MenuProps, 'open' | 'defaultOpen' | 'onOpenChange'>,\n) => {\n const { targetDocument } = useFluent();\n const parentSetOpen = useMenuContext_unstable(context => context.setOpen);\n const onOpenChange: MenuProps['onOpenChange'] = useEventCallback((e, data) => state.onOpenChange?.(e, data));\n\n const shouldHandleCloseRef = React.useRef(false);\n const shouldHandleTabRef = React.useRef(false);\n const pressedShiftRef = React.useRef(false);\n const setOpenTimeout = React.useRef(0);\n const enteringTriggerRef = React.useRef(false);\n\n const [open, setOpenState] = useControllableState({\n state: state.open,\n defaultState: state.defaultOpen,\n initialState: false,\n });\n\n const trySetOpen = useEventCallback((e: MenuOpenEvent, data: MenuOpenChangeData) => {\n const event = e instanceof CustomEvent && e.type === MENU_ENTER_EVENT ? e.detail.nativeEvent : e;\n onOpenChange?.(event, { ...data });\n if (data.open && e.type === 'contextmenu') {\n state.setContextTarget(e as React.MouseEvent);\n }\n\n if (!data.open) {\n state.setContextTarget(undefined);\n shouldHandleCloseRef.current = true;\n }\n\n if (e.type === 'keydown') {\n if ((e as React.KeyboardEvent<HTMLElement>).key === Tab) {\n shouldHandleTabRef.current = true;\n pressedShiftRef.current = (e as React.KeyboardEvent<HTMLElement>).shiftKey;\n }\n }\n\n if (data.bubble) {\n parentSetOpen(e, { ...data });\n }\n\n setOpenState(data.open);\n });\n\n const setOpen = useEventCallback((e: MenuOpenEvent, data: MenuOpenChangeData) => {\n clearTimeout(setOpenTimeout.current);\n if (!(e instanceof Event) && e.persist) {\n // < React 17 still uses pooled synthetic events\n e.persist();\n }\n\n if (e.type === 'mouseleave' || e.type === 'mouseenter' || e.type === 'mousemove' || e.type === MENU_ENTER_EVENT) {\n if (state.triggerRef.current?.contains(e.target as HTMLElement)) {\n enteringTriggerRef.current = e.type === 'mouseenter' || e.type === 'mousemove';\n }\n\n // FIXME leaking Node timeout type\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n setOpenTimeout.current = setTimeout(() => trySetOpen(e, data), state.hoverDelay);\n } else {\n trySetOpen(e, data);\n }\n });\n\n useOnClickOutside({\n contains: elementContains,\n disabled: !open,\n element: targetDocument,\n refs: [state.menuPopoverRef, !state.openOnContext && state.triggerRef].filter(\n Boolean,\n ) as React.MutableRefObject<HTMLElement>[],\n callback: event => setOpen(event, { open: false, type: 'clickOutside', event }),\n });\n\n // only close on scroll for context, or when closeOnScroll is specified\n const closeOnScroll = state.openOnContext || state.closeOnScroll;\n useOnScrollOutside({\n contains: elementContains,\n element: targetDocument,\n callback: event => setOpen(event, { open: false, type: 'scrollOutside', event }),\n refs: [state.menuPopoverRef, !state.openOnContext && state.triggerRef].filter(\n Boolean,\n ) as React.MutableRefObject<HTMLElement>[],\n disabled: !open || !closeOnScroll,\n });\n\n useOnMenuMouseEnter({\n element: targetDocument,\n callback: event => {\n // When moving from a menu directly back to its trigger, this handler can close the menu\n // Explicitly check a flag to see if this situation happens\n if (!enteringTriggerRef.current) {\n setOpen(event, { open: false, type: 'menuMouseEnter', event });\n }\n },\n disabled: !open,\n refs: [state.menuPopoverRef],\n });\n\n // Clear timeout on unmount\n // Setting state after a component unmounts can cause memory leaks\n React.useEffect(() => {\n return () => {\n clearTimeout(setOpenTimeout.current);\n };\n }, []);\n\n // Manage focus for open state\n const { findFirstFocusable, findNextFocusable, findPrevFocusable } = useFocusFinders();\n const focusFirst = React.useCallback(() => {\n const firstFocusable = findFirstFocusable(state.menuPopoverRef.current);\n firstFocusable?.focus();\n }, [findFirstFocusable, state.menuPopoverRef]);\n\n const focusAfterMenuTrigger = React.useCallback(() => {\n const nextFocusable = findNextFocusable(state.triggerRef.current);\n nextFocusable?.focus();\n }, [findNextFocusable, state.triggerRef]);\n\n const focusBeforeMenuTrigger = React.useCallback(() => {\n const prevFocusable = findPrevFocusable(state.triggerRef.current);\n prevFocusable?.focus();\n }, [findPrevFocusable, state.triggerRef]);\n\n React.useEffect(() => {\n if (open) {\n focusFirst();\n } else {\n if (shouldHandleCloseRef.current) {\n if (shouldHandleTabRef.current && !state.isSubmenu) {\n pressedShiftRef.current ? focusBeforeMenuTrigger() : focusAfterMenuTrigger();\n } else {\n state.triggerRef.current?.focus();\n }\n }\n }\n\n shouldHandleCloseRef.current = false;\n shouldHandleTabRef.current = false;\n pressedShiftRef.current = false;\n }, [state.triggerRef, state.isSubmenu, open, focusFirst, focusAfterMenuTrigger, focusBeforeMenuTrigger]);\n\n return [open, setOpen] as const;\n};\n"]}
@@ -14,8 +14,8 @@ export function useMenuContextValues_unstable(state) {
14
14
  setOpen,
15
15
  triggerId,
16
16
  triggerRef
17
- } = state; // This context is created with "@fluentui/react-context-selector", these is no sense to memoize it
18
-
17
+ } = state;
18
+ // This context is created with "@fluentui/react-context-selector", these is no sense to memoize it
19
19
  const menu = {
20
20
  checkedValues,
21
21
  hasCheckmarks,
@@ -1 +1 @@
1
- {"version":3,"sources":["packages/react-components/react-menu/src/components/Menu/useMenuContextValues.ts"],"names":[],"mappings":"AAEA,OAAM,SAAU,6BAAV,CAAwC,KAAxC,EAAwD;EAC5D,MAAM;IACJ,aADI;IAEJ,aAFI;IAGJ,QAHI;IAIJ,MAJI;IAKJ,SALI;IAMJ,cANI;IAOJ,oBAPI;IAQJ,IARI;IASJ,aATI;IAUJ,WAVI;IAWJ,kBAXI;IAYJ,OAZI;IAaJ,SAbI;IAcJ;EAdI,IAeF,KAfJ,CAD4D,CAkB5D;;EACA,MAAM,IAAI,GAAG;IACX,aADW;IAEX,aAFW;IAGX,QAHW;IAIX,MAJW;IAKX,SALW;IAMX,cANW;IAOX,oBAPW;IAQX,IARW;IASX,aATW;IAUX,WAVW;IAWX,kBAXW;IAYX,OAZW;IAaX,SAbW;IAcX;EAdW,CAAb;EAiBA,OAAO;IAAE;EAAF,CAAP;AACD","sourcesContent":["import type { MenuContextValues, MenuState } from './Menu.types';\n\nexport function useMenuContextValues_unstable(state: MenuState): MenuContextValues {\n const {\n checkedValues,\n hasCheckmarks,\n hasIcons,\n inline,\n isSubmenu,\n menuPopoverRef,\n onCheckedValueChange,\n open,\n openOnContext,\n openOnHover,\n persistOnItemClick,\n setOpen,\n triggerId,\n triggerRef,\n } = state;\n\n // This context is created with \"@fluentui/react-context-selector\", these is no sense to memoize it\n const menu = {\n checkedValues,\n hasCheckmarks,\n hasIcons,\n inline,\n isSubmenu,\n menuPopoverRef,\n onCheckedValueChange,\n open,\n openOnContext,\n openOnHover,\n persistOnItemClick,\n setOpen,\n triggerId,\n triggerRef,\n };\n\n return { menu };\n}\n"],"sourceRoot":"../src/"}
1
+ {"version":3,"mappings":"AAEA,OAAM,SAAUA,6BAA6B,CAACC,KAAgB;EAC5D,MAAM;IACJC,aAAa;IACbC,aAAa;IACbC,QAAQ;IACRC,MAAM;IACNC,SAAS;IACTC,cAAc;IACdC,oBAAoB;IACpBC,IAAI;IACJC,aAAa;IACbC,WAAW;IACXC,kBAAkB;IAClBC,OAAO;IACPC,SAAS;IACTC;EAAU,CACX,GAAGd,KAAK;EAET;EACA,MAAMe,IAAI,GAAG;IACXd,aAAa;IACbC,aAAa;IACbC,QAAQ;IACRC,MAAM;IACNC,SAAS;IACTC,cAAc;IACdC,oBAAoB;IACpBC,IAAI;IACJC,aAAa;IACbC,WAAW;IACXC,kBAAkB;IAClBC,OAAO;IACPC,SAAS;IACTC;GACD;EAED,OAAO;IAAEC;EAAI,CAAE;AACjB","names":["useMenuContextValues_unstable","state","checkedValues","hasCheckmarks","hasIcons","inline","isSubmenu","menuPopoverRef","onCheckedValueChange","open","openOnContext","openOnHover","persistOnItemClick","setOpen","triggerId","triggerRef","menu"],"sourceRoot":"../src/","sources":["packages/react-components/react-menu/src/components/Menu/useMenuContextValues.ts"],"sourcesContent":["import type { MenuContextValues, MenuState } from './Menu.types';\n\nexport function useMenuContextValues_unstable(state: MenuState): MenuContextValues {\n const {\n checkedValues,\n hasCheckmarks,\n hasIcons,\n inline,\n isSubmenu,\n menuPopoverRef,\n onCheckedValueChange,\n open,\n openOnContext,\n openOnHover,\n persistOnItemClick,\n setOpen,\n triggerId,\n triggerRef,\n } = state;\n\n // This context is created with \"@fluentui/react-context-selector\", these is no sense to memoize it\n const menu = {\n checkedValues,\n hasCheckmarks,\n hasIcons,\n inline,\n isSubmenu,\n menuPopoverRef,\n onCheckedValueChange,\n open,\n openOnContext,\n openOnHover,\n persistOnItemClick,\n setOpen,\n triggerId,\n triggerRef,\n };\n\n return { menu };\n}\n"]}
@@ -5,7 +5,6 @@ import { renderMenuDivider_unstable } from './renderMenuDivider';
5
5
  /**
6
6
  * Define a styled MenuDivider, using the `useMenuDivider_unstable` hook.
7
7
  */
8
-
9
8
  export const MenuDivider = /*#__PURE__*/React.forwardRef((props, ref) => {
10
9
  const state = useMenuDivider_unstable(props, ref);
11
10
  useMenuDividerStyles_unstable(state);
@@ -1 +1 @@
1
- {"version":3,"sources":["packages/react-components/react-menu/src/components/MenuDivider/MenuDivider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,uBAAT,QAAwC,kBAAxC;AACA,SAAS,6BAAT,QAA8C,wBAA9C;AACA,SAAS,0BAAT,QAA2C,qBAA3C;AAIA;;AAEG;;AACH,OAAO,MAAM,WAAW,gBAA0C,KAAK,CAAC,UAAN,CAAiB,CAAC,KAAD,EAAQ,GAAR,KAAe;EAChG,MAAM,KAAK,GAAG,uBAAuB,CAAC,KAAD,EAAQ,GAAR,CAArC;EACA,6BAA6B,CAAC,KAAD,CAA7B;EAEA,OAAO,0BAA0B,CAAC,KAAD,CAAjC;AACD,CALiE,CAA3D;AAOP,WAAW,CAAC,WAAZ,GAA0B,aAA1B","sourcesContent":["import * as React from 'react';\nimport { useMenuDivider_unstable } from './useMenuDivider';\nimport { useMenuDividerStyles_unstable } from './useMenuDividerStyles';\nimport { renderMenuDivider_unstable } from './renderMenuDivider';\nimport type { MenuDividerProps } from './MenuDivider.types';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\n\n/**\n * Define a styled MenuDivider, using the `useMenuDivider_unstable` hook.\n */\nexport const MenuDivider: ForwardRefComponent<MenuDividerProps> = React.forwardRef((props, ref) => {\n const state = useMenuDivider_unstable(props, ref);\n useMenuDividerStyles_unstable(state);\n\n return renderMenuDivider_unstable(state);\n});\n\nMenuDivider.displayName = 'MenuDivider';\n"],"sourceRoot":"../src/"}
1
+ {"version":3,"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,uBAAuB,QAAQ,kBAAkB;AAC1D,SAASC,6BAA6B,QAAQ,wBAAwB;AACtE,SAASC,0BAA0B,QAAQ,qBAAqB;AAIhE;;;AAGA,OAAO,MAAMC,WAAW,gBAA0CJ,KAAK,CAACK,UAAU,CAAC,CAACC,KAAK,EAAEC,GAAG,KAAI;EAChG,MAAMC,KAAK,GAAGP,uBAAuB,CAACK,KAAK,EAAEC,GAAG,CAAC;EACjDL,6BAA6B,CAACM,KAAK,CAAC;EAEpC,OAAOL,0BAA0B,CAACK,KAAK,CAAC;AAC1C,CAAC,CAAC;AAEFJ,WAAW,CAACK,WAAW,GAAG,aAAa","names":["React","useMenuDivider_unstable","useMenuDividerStyles_unstable","renderMenuDivider_unstable","MenuDivider","forwardRef","props","ref","state","displayName"],"sourceRoot":"../src/","sources":["packages/react-components/react-menu/src/components/MenuDivider/MenuDivider.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useMenuDivider_unstable } from './useMenuDivider';\nimport { useMenuDividerStyles_unstable } from './useMenuDividerStyles';\nimport { renderMenuDivider_unstable } from './renderMenuDivider';\nimport type { MenuDividerProps } from './MenuDivider.types';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\n\n/**\n * Define a styled MenuDivider, using the `useMenuDivider_unstable` hook.\n */\nexport const MenuDivider: ForwardRefComponent<MenuDividerProps> = React.forwardRef((props, ref) => {\n const state = useMenuDivider_unstable(props, ref);\n useMenuDividerStyles_unstable(state);\n\n return renderMenuDivider_unstable(state);\n});\n\nMenuDivider.displayName = 'MenuDivider';\n"]}
@@ -4,13 +4,13 @@ import { getSlots } from '@fluentui/react-utilities';
4
4
  * Redefine the render function to add slots. Reuse the menudivider structure but add
5
5
  * slots to children.
6
6
  */
7
-
8
7
  export const renderMenuDivider_unstable = state => {
9
8
  const {
10
9
  slots,
11
10
  slotProps
12
11
  } = getSlots(state);
13
- return /*#__PURE__*/React.createElement(slots.root, { ...slotProps.root
12
+ return /*#__PURE__*/React.createElement(slots.root, {
13
+ ...slotProps.root
14
14
  });
15
15
  };
16
16
  //# sourceMappingURL=renderMenuDivider.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["packages/react-components/react-menu/src/components/MenuDivider/renderMenuDivider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,QAAT,QAAyB,2BAAzB;AAGA;;;AAGG;;AACH,OAAO,MAAM,0BAA0B,GAAI,KAAD,IAA4B;EACpE,MAAM;IAAE,KAAF;IAAS;EAAT,IAAuB,QAAQ,CAAmB,KAAnB,CAArC;EAEA,oBAAO,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,IAAP,EAAW,EAAA,GAAK,SAAS,CAAC;EAAf,CAAX,CAAP;AACD,CAJM","sourcesContent":["import * as React from 'react';\nimport { getSlots } from '@fluentui/react-utilities';\nimport { MenuDividerSlots, MenuDividerState } from './MenuDivider.types';\n\n/**\n * Redefine the render function to add slots. Reuse the menudivider structure but add\n * slots to children.\n */\nexport const renderMenuDivider_unstable = (state: MenuDividerState) => {\n const { slots, slotProps } = getSlots<MenuDividerSlots>(state);\n\n return <slots.root {...slotProps.root} />;\n};\n"],"sourceRoot":"../src/"}
1
+ {"version":3,"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,QAAQ,QAAQ,2BAA2B;AAGpD;;;;AAIA,OAAO,MAAMC,0BAA0B,GAAIC,KAAuB,IAAI;EACpE,MAAM;IAAEC,KAAK;IAAEC;EAAS,CAAE,GAAGJ,QAAQ,CAAmBE,KAAK,CAAC;EAE9D,oBAAOH,oBAACI,KAAK,CAACE,IAAI;IAAA,GAAKD,SAAS,CAACC;EAAI,EAAI;AAC3C,CAAC","names":["React","getSlots","renderMenuDivider_unstable","state","slots","slotProps","root"],"sourceRoot":"../src/","sources":["packages/react-components/react-menu/src/components/MenuDivider/renderMenuDivider.tsx"],"sourcesContent":["import * as React from 'react';\nimport { getSlots } from '@fluentui/react-utilities';\nimport { MenuDividerSlots, MenuDividerState } from './MenuDivider.types';\n\n/**\n * Redefine the render function to add slots. Reuse the menudivider structure but add\n * slots to children.\n */\nexport const renderMenuDivider_unstable = (state: MenuDividerState) => {\n const { slots, slotProps } = getSlots<MenuDividerSlots>(state);\n\n return <slots.root {...slotProps.root} />;\n};\n"]}
@@ -2,7 +2,6 @@ import { getNativeElementProps } from '@fluentui/react-utilities';
2
2
  /**
3
3
  * Given user props, returns state and render function for a MenuDivider.
4
4
  */
5
-
6
5
  export const useMenuDivider_unstable = (props, ref) => {
7
6
  return {
8
7
  components: {
@@ -1 +1 @@
1
- {"version":3,"sources":["packages/react-components/react-menu/src/components/MenuDivider/useMenuDivider.ts"],"names":[],"mappings":"AAAA,SAAS,qBAAT,QAAsC,2BAAtC;AAIA;;AAEG;;AACH,OAAO,MAAM,uBAAuB,GAAG,CAAC,KAAD,EAA0B,GAA1B,KAA2E;EAChH,OAAO;IACL,UAAU,EAAE;MACV,IAAI,EAAE;IADI,CADP;IAIL,IAAI,EAAE,qBAAqB,CAAC,KAAD,EAAQ;MACjC,IAAI,EAAE,cAD2B;MAEjC,eAAe,IAFkB;MAGjC,GAAG,KAH8B;MAIjC;IAJiC,CAAR;EAJtB,CAAP;AAWD,CAZM","sourcesContent":["import { getNativeElementProps } from '@fluentui/react-utilities';\nimport * as React from 'react';\nimport type { MenuDividerProps, MenuDividerState } from './MenuDivider.types';\n\n/**\n * Given user props, returns state and render function for a MenuDivider.\n */\nexport const useMenuDivider_unstable = (props: MenuDividerProps, ref: React.Ref<HTMLElement>): MenuDividerState => {\n return {\n components: {\n root: 'div',\n },\n root: getNativeElementProps('div', {\n role: 'presentation',\n 'aria-hidden': true,\n ...props,\n ref,\n }),\n };\n};\n"],"sourceRoot":"../src/"}
1
+ {"version":3,"mappings":"AAAA,SAASA,qBAAqB,QAAQ,2BAA2B;AAIjE;;;AAGA,OAAO,MAAMC,uBAAuB,GAAG,CAACC,KAAuB,EAAEC,GAA2B,KAAsB;EAChH,OAAO;IACLC,UAAU,EAAE;MACVC,IAAI,EAAE;KACP;IACDA,IAAI,EAAEL,qBAAqB,CAAC,KAAK,EAAE;MACjCM,IAAI,EAAE,cAAc;MACpB,aAAa,EAAE,IAAI;MACnB,GAAGJ,KAAK;MACRC;KACD;GACF;AACH,CAAC","names":["getNativeElementProps","useMenuDivider_unstable","props","ref","components","root","role"],"sourceRoot":"../src/","sources":["packages/react-components/react-menu/src/components/MenuDivider/useMenuDivider.ts"],"sourcesContent":["import { getNativeElementProps } from '@fluentui/react-utilities';\nimport * as React from 'react';\nimport type { MenuDividerProps, MenuDividerState } from './MenuDivider.types';\n\n/**\n * Given user props, returns state and render function for a MenuDivider.\n */\nexport const useMenuDivider_unstable = (props: MenuDividerProps, ref: React.Ref<HTMLElement>): MenuDividerState => {\n return {\n components: {\n root: 'div',\n },\n root: getNativeElementProps('div', {\n role: 'presentation',\n 'aria-hidden': true,\n ...props,\n ref,\n }),\n };\n};\n"]}
@@ -3,22 +3,20 @@ import { tokens } from '@fluentui/react-theme';
3
3
  export const menuDividerClassNames = {
4
4
  root: 'fui-MenuDivider'
5
5
  };
6
-
7
6
  const useStyles = /*#__PURE__*/__styles({
8
- "root": {
9
- "B6of3ja": "fvjh0tl",
10
- "t21cq0": ["f1rnx978", "f1q7jvqi"],
11
- "jrapky": "fd1gkq",
12
- "Frg6f3": ["f1q7jvqi", "f1rnx978"],
13
- "a9b677": "f14z66ap",
14
- "Bn0qgzm": "f1vxd6vx",
15
- "oivjwe": "fg706s2",
16
- "B9xav0g": "frpde29"
7
+ root: {
8
+ B6of3ja: "fvjh0tl",
9
+ t21cq0: ["f1rnx978", "f1q7jvqi"],
10
+ jrapky: "fd1gkq",
11
+ Frg6f3: ["f1q7jvqi", "f1rnx978"],
12
+ a9b677: "f14z66ap",
13
+ Bn0qgzm: "f1vxd6vx",
14
+ oivjwe: "fg706s2",
15
+ B9xav0g: "frpde29"
17
16
  }
18
17
  }, {
19
- "d": [".fvjh0tl{margin-top:4px;}", ".f1rnx978{margin-right:-5px;}", ".f1q7jvqi{margin-left:-5px;}", ".fd1gkq{margin-bottom:4px;}", ".f14z66ap{width:auto;}", ".f1vxd6vx{border-bottom-width:var(--strokeWidthThin);}", ".fg706s2{border-bottom-style:solid;}", ".frpde29{border-bottom-color:var(--colorNeutralStroke2);}"]
18
+ d: [".fvjh0tl{margin-top:4px;}", ".f1rnx978{margin-right:-5px;}", ".f1q7jvqi{margin-left:-5px;}", ".fd1gkq{margin-bottom:4px;}", ".f14z66ap{width:auto;}", ".f1vxd6vx{border-bottom-width:var(--strokeWidthThin);}", ".fg706s2{border-bottom-style:solid;}", ".frpde29{border-bottom-color:var(--colorNeutralStroke2);}"]
20
19
  });
21
-
22
20
  export const useMenuDividerStyles_unstable = state => {
23
21
  const styles = useStyles();
24
22
  state.root.className = mergeClasses(menuDividerClassNames.root, styles.root, state.root.className);
@@ -1 +1 @@
1
- {"version":3,"sources":["packages/react-components/react-menu/src/components/MenuDivider/useMenuDividerStyles.ts"],"names":[],"mappings":"AAAA,SAAS,UAAT,EAAqB,YAArB,kBAAqD,gBAArD;AACA,SAAS,MAAT,QAAuB,uBAAvB;AAIA,OAAO,MAAM,qBAAqB,GAAqC;EACrE,IAAI,EAAE;AAD+D,CAAhE;;AAIP,MAAM,SAAS,gBAAG;EAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;EAAA;AAAA;EAAA;AAAA,EAAlB;;AAQA,OAAO,MAAM,6BAA6B,GAAI,KAAD,IAA4B;EACvE,MAAM,MAAM,GAAG,SAAS,EAAxB;EACA,KAAK,CAAC,IAAN,CAAW,SAAX,GAAuB,YAAY,CAAC,qBAAqB,CAAC,IAAvB,EAA6B,MAAM,CAAC,IAApC,EAA0C,KAAK,CAAC,IAAN,CAAW,SAArD,CAAnC;EAEA,OAAO,KAAP;AACD,CALM","sourcesContent":["import { shorthands, mergeClasses, makeStyles } from '@griffel/react';\nimport { tokens } from '@fluentui/react-theme';\nimport type { MenuDividerSlots, MenuDividerState } from './MenuDivider.types';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\n\nexport const menuDividerClassNames: SlotClassNames<MenuDividerSlots> = {\n root: 'fui-MenuDivider',\n};\n\nconst useStyles = makeStyles({\n root: {\n ...shorthands.margin('4px', '-5px', '4px', '-5px'),\n width: 'auto',\n ...shorthands.borderBottom(tokens.strokeWidthThin, 'solid', tokens.colorNeutralStroke2),\n },\n});\n\nexport const useMenuDividerStyles_unstable = (state: MenuDividerState) => {\n const styles = useStyles();\n state.root.className = mergeClasses(menuDividerClassNames.root, styles.root, state.root.className);\n\n return state;\n};\n"],"sourceRoot":"../src/"}
1
+ {"version":3,"mappings":"AAAA,SAASA,UAAU,EAAEC,YAAY,kBAAoB,gBAAgB;AACrE,SAASC,MAAM,QAAQ,uBAAuB;AAI9C,OAAO,MAAMC,qBAAqB,GAAqC;EACrEC,IAAI,EAAE;CACP;AAED,MAAMC,SAAS,gBAAG;EAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;EAAA;AAAA;EAAA;AAAA,EAMhB;AAEF,OAAO,MAAMC,6BAA6B,GAAIC,KAAuB,IAAI;EACvE,MAAMC,MAAM,GAAGH,SAAS,EAAE;EAC1BE,KAAK,CAACH,IAAI,CAACK,SAAS,GAAGR,YAAY,CAACE,qBAAqB,CAACC,IAAI,EAAEI,MAAM,CAACJ,IAAI,EAAEG,KAAK,CAACH,IAAI,CAACK,SAAS,CAAC;EAElG,OAAOF,KAAK;AACd,CAAC","names":["shorthands","mergeClasses","tokens","menuDividerClassNames","root","useStyles","useMenuDividerStyles_unstable","state","styles","className"],"sourceRoot":"../src/","sources":["packages/react-components/react-menu/src/components/MenuDivider/useMenuDividerStyles.ts"],"sourcesContent":["import { shorthands, mergeClasses, makeStyles } from '@griffel/react';\nimport { tokens } from '@fluentui/react-theme';\nimport type { MenuDividerSlots, MenuDividerState } from './MenuDivider.types';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\n\nexport const menuDividerClassNames: SlotClassNames<MenuDividerSlots> = {\n root: 'fui-MenuDivider',\n};\n\nconst useStyles = makeStyles({\n root: {\n ...shorthands.margin('4px', '-5px', '4px', '-5px'),\n width: 'auto',\n ...shorthands.borderBottom(tokens.strokeWidthThin, 'solid', tokens.colorNeutralStroke2),\n },\n});\n\nexport const useMenuDividerStyles_unstable = (state: MenuDividerState) => {\n const styles = useStyles();\n state.root.className = mergeClasses(menuDividerClassNames.root, styles.root, state.root.className);\n\n return state;\n};\n"]}
@@ -6,7 +6,6 @@ import { useMenuGroupStyles_unstable } from './useMenuGroupStyles';
6
6
  /**
7
7
  * Define a styled MenuGroup, using the `useMenuGroup_unstable` hook.
8
8
  */
9
-
10
9
  export const MenuGroup = /*#__PURE__*/React.forwardRef((props, ref) => {
11
10
  const state = useMenuGroup_unstable(props, ref);
12
11
  const contextValues = useMenuGroupContextValues_unstable(state);