@fluentui-react-native/menu 1.4.9 → 1.4.11

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 (262) hide show
  1. package/CHANGELOG.json +91 -1
  2. package/CHANGELOG.md +28 -2
  3. package/lib/Menu/Menu.d.ts.map +1 -1
  4. package/lib/Menu/Menu.js +1 -1
  5. package/lib/Menu/Menu.js.map +1 -1
  6. package/lib/Menu/Menu.types.d.ts +1 -1
  7. package/lib/Menu/Menu.types.d.ts.map +1 -1
  8. package/lib/Menu/Menu.types.js.map +1 -1
  9. package/lib/Menu/useMenu.d.ts.map +1 -1
  10. package/lib/Menu/useMenu.js +1 -1
  11. package/lib/Menu/useMenu.js.map +1 -1
  12. package/lib/Menu/useMenuContextValue.d.ts +1 -1
  13. package/lib/Menu/useMenuContextValue.d.ts.map +1 -1
  14. package/lib/Menu/useMenuContextValue.js.map +1 -1
  15. package/lib/MenuDivider/MenuDivider.d.ts.map +1 -1
  16. package/lib/MenuDivider/MenuDivider.js +1 -1
  17. package/lib/MenuDivider/MenuDivider.js.map +1 -1
  18. package/lib/MenuDivider/MenuDivider.styling.d.ts.map +1 -1
  19. package/lib/MenuDivider/MenuDivider.styling.js +1 -1
  20. package/lib/MenuDivider/MenuDivider.styling.js.map +1 -1
  21. package/lib/MenuDivider/MenuDivider.types.d.ts.map +1 -1
  22. package/lib/MenuDivider/MenuDivider.types.js.map +1 -1
  23. package/lib/MenuDivider/MenuDividerTokens.d.ts.map +1 -1
  24. package/lib/MenuDivider/MenuDividerTokens.js.map +1 -1
  25. package/lib/MenuDivider/MenuDividerTokens.macos.d.ts.map +1 -1
  26. package/lib/MenuDivider/MenuDividerTokens.macos.js.map +1 -1
  27. package/lib/MenuDivider/MenuDividerTokens.win32.d.ts.map +1 -1
  28. package/lib/MenuDivider/MenuDividerTokens.win32.js.map +1 -1
  29. package/lib/MenuItem/MenuItem.d.ts +2 -1
  30. package/lib/MenuItem/MenuItem.d.ts.map +1 -1
  31. package/lib/MenuItem/MenuItem.js +2 -3
  32. package/lib/MenuItem/MenuItem.js.map +1 -1
  33. package/lib/MenuItem/MenuItem.styling.d.ts.map +1 -1
  34. package/lib/MenuItem/MenuItem.styling.js +1 -1
  35. package/lib/MenuItem/MenuItem.styling.js.map +1 -1
  36. package/lib/MenuItem/MenuItem.types.d.ts +2 -2
  37. package/lib/MenuItem/MenuItem.types.d.ts.map +1 -1
  38. package/lib/MenuItem/MenuItem.types.js.map +1 -1
  39. package/lib/MenuItem/MenuItemTokens.d.ts.map +1 -1
  40. package/lib/MenuItem/MenuItemTokens.js.map +1 -1
  41. package/lib/MenuItem/MenuItemTokens.macos.d.ts.map +1 -1
  42. package/lib/MenuItem/MenuItemTokens.macos.js.map +1 -1
  43. package/lib/MenuItem/MenuItemTokens.win32.d.ts.map +1 -1
  44. package/lib/MenuItem/MenuItemTokens.win32.js.map +1 -1
  45. package/lib/MenuItem/useMenuItem.d.ts.map +1 -1
  46. package/lib/MenuItem/useMenuItem.js.map +1 -1
  47. package/lib/MenuItemCheckbox/MenuItemCheckbox.d.ts +2 -1
  48. package/lib/MenuItemCheckbox/MenuItemCheckbox.d.ts.map +1 -1
  49. package/lib/MenuItemCheckbox/MenuItemCheckbox.js +2 -3
  50. package/lib/MenuItemCheckbox/MenuItemCheckbox.js.map +1 -1
  51. package/lib/MenuItemCheckbox/MenuItemCheckbox.styling.d.ts.map +1 -1
  52. package/lib/MenuItemCheckbox/MenuItemCheckbox.styling.js +1 -1
  53. package/lib/MenuItemCheckbox/MenuItemCheckbox.styling.js.map +1 -1
  54. package/lib/MenuItemCheckbox/MenuItemCheckbox.types.d.ts +2 -2
  55. package/lib/MenuItemCheckbox/MenuItemCheckbox.types.d.ts.map +1 -1
  56. package/lib/MenuItemCheckbox/MenuItemCheckbox.types.js.map +1 -1
  57. package/lib/MenuItemCheckbox/MenuItemCheckboxTokens.d.ts.map +1 -1
  58. package/lib/MenuItemCheckbox/MenuItemCheckboxTokens.js.map +1 -1
  59. package/lib/MenuItemCheckbox/MenuItemCheckboxTokens.macos.d.ts.map +1 -1
  60. package/lib/MenuItemCheckbox/MenuItemCheckboxTokens.macos.js.map +1 -1
  61. package/lib/MenuItemCheckbox/MenuItemCheckboxTokens.win32.d.ts.map +1 -1
  62. package/lib/MenuItemCheckbox/MenuItemCheckboxTokens.win32.js.map +1 -1
  63. package/lib/MenuItemCheckbox/useMenuItemCheckbox.d.ts +1 -1
  64. package/lib/MenuItemCheckbox/useMenuItemCheckbox.d.ts.map +1 -1
  65. package/lib/MenuItemCheckbox/useMenuItemCheckbox.js +1 -1
  66. package/lib/MenuItemCheckbox/useMenuItemCheckbox.js.map +1 -1
  67. package/lib/MenuItemRadio/MenuItemRadio.d.ts.map +1 -1
  68. package/lib/MenuItemRadio/MenuItemRadio.js.map +1 -1
  69. package/lib/MenuItemRadio/useMenuItemRadio.d.ts.map +1 -1
  70. package/lib/MenuItemRadio/useMenuItemRadio.js +1 -1
  71. package/lib/MenuItemRadio/useMenuItemRadio.js.map +1 -1
  72. package/lib/MenuList/MenuList.d.ts.map +1 -1
  73. package/lib/MenuList/MenuList.js +3 -3
  74. package/lib/MenuList/MenuList.js.map +1 -1
  75. package/lib/MenuList/MenuList.styling.d.ts.map +1 -1
  76. package/lib/MenuList/MenuList.styling.js +1 -1
  77. package/lib/MenuList/MenuList.styling.js.map +1 -1
  78. package/lib/MenuList/MenuList.types.d.ts +2 -2
  79. package/lib/MenuList/MenuList.types.d.ts.map +1 -1
  80. package/lib/MenuList/MenuList.types.js.map +1 -1
  81. package/lib/MenuList/MenuListTokens.d.ts.map +1 -1
  82. package/lib/MenuList/MenuListTokens.js.map +1 -1
  83. package/lib/MenuList/MenuListTokens.macos.d.ts.map +1 -1
  84. package/lib/MenuList/MenuListTokens.macos.js.map +1 -1
  85. package/lib/MenuList/MenuListTokens.win32.d.ts.map +1 -1
  86. package/lib/MenuList/MenuListTokens.win32.js.map +1 -1
  87. package/lib/MenuList/useMenuList.d.ts.map +1 -1
  88. package/lib/MenuList/useMenuList.js.map +1 -1
  89. package/lib/MenuList/useMenuListContextValue.d.ts +1 -1
  90. package/lib/MenuList/useMenuListContextValue.d.ts.map +1 -1
  91. package/lib/MenuPopover/MenuPopover.d.ts.map +1 -1
  92. package/lib/MenuPopover/MenuPopover.js +3 -3
  93. package/lib/MenuPopover/MenuPopover.js.map +1 -1
  94. package/lib/MenuPopover/MenuPopoverTokens.d.ts.map +1 -1
  95. package/lib/MenuPopover/MenuPopoverTokens.js.map +1 -1
  96. package/lib/MenuPopover/useMenuPopover.d.ts.map +1 -1
  97. package/lib/MenuPopover/useMenuPopover.js.map +1 -1
  98. package/lib/MenuTrigger/MenuTrigger.d.ts.map +1 -1
  99. package/lib/MenuTrigger/MenuTrigger.js.map +1 -1
  100. package/lib/MenuTrigger/MenuTrigger.types.d.ts.map +1 -1
  101. package/lib/MenuTrigger/MenuTrigger.types.js.map +1 -1
  102. package/lib/MenuTrigger/useMenuTrigger.d.ts.map +1 -1
  103. package/lib/MenuTrigger/useMenuTrigger.js +3 -3
  104. package/lib/MenuTrigger/useMenuTrigger.js.map +1 -1
  105. package/lib/__tests__/Menu.test.js +6 -6
  106. package/lib/__tests__/Menu.test.js.map +1 -1
  107. package/lib/context/menuContext.d.ts.map +1 -1
  108. package/lib/context/menuContext.js.map +1 -1
  109. package/lib/context/menuListContext.d.ts.map +1 -1
  110. package/lib/context/menuListContext.js.map +1 -1
  111. package/lib-commonjs/Menu/Menu.d.ts.map +1 -1
  112. package/lib-commonjs/Menu/Menu.js +1 -1
  113. package/lib-commonjs/Menu/Menu.js.map +1 -1
  114. package/lib-commonjs/Menu/Menu.types.d.ts +1 -1
  115. package/lib-commonjs/Menu/Menu.types.d.ts.map +1 -1
  116. package/lib-commonjs/Menu/Menu.types.js.map +1 -1
  117. package/lib-commonjs/Menu/useMenu.d.ts.map +1 -1
  118. package/lib-commonjs/Menu/useMenu.js +1 -1
  119. package/lib-commonjs/Menu/useMenu.js.map +1 -1
  120. package/lib-commonjs/Menu/useMenuContextValue.d.ts +1 -1
  121. package/lib-commonjs/Menu/useMenuContextValue.d.ts.map +1 -1
  122. package/lib-commonjs/Menu/useMenuContextValue.js.map +1 -1
  123. package/lib-commonjs/MenuDivider/MenuDivider.d.ts.map +1 -1
  124. package/lib-commonjs/MenuDivider/MenuDivider.js +1 -1
  125. package/lib-commonjs/MenuDivider/MenuDivider.js.map +1 -1
  126. package/lib-commonjs/MenuDivider/MenuDivider.styling.d.ts.map +1 -1
  127. package/lib-commonjs/MenuDivider/MenuDivider.styling.js +1 -1
  128. package/lib-commonjs/MenuDivider/MenuDivider.styling.js.map +1 -1
  129. package/lib-commonjs/MenuDivider/MenuDivider.types.d.ts.map +1 -1
  130. package/lib-commonjs/MenuDivider/MenuDivider.types.js.map +1 -1
  131. package/lib-commonjs/MenuDivider/MenuDividerTokens.d.ts.map +1 -1
  132. package/lib-commonjs/MenuDivider/MenuDividerTokens.js.map +1 -1
  133. package/lib-commonjs/MenuDivider/MenuDividerTokens.macos.d.ts.map +1 -1
  134. package/lib-commonjs/MenuDivider/MenuDividerTokens.macos.js.map +1 -1
  135. package/lib-commonjs/MenuDivider/MenuDividerTokens.win32.d.ts.map +1 -1
  136. package/lib-commonjs/MenuDivider/MenuDividerTokens.win32.js.map +1 -1
  137. package/lib-commonjs/MenuItem/MenuItem.d.ts +2 -1
  138. package/lib-commonjs/MenuItem/MenuItem.d.ts.map +1 -1
  139. package/lib-commonjs/MenuItem/MenuItem.js +2 -3
  140. package/lib-commonjs/MenuItem/MenuItem.js.map +1 -1
  141. package/lib-commonjs/MenuItem/MenuItem.styling.d.ts.map +1 -1
  142. package/lib-commonjs/MenuItem/MenuItem.styling.js +1 -1
  143. package/lib-commonjs/MenuItem/MenuItem.styling.js.map +1 -1
  144. package/lib-commonjs/MenuItem/MenuItem.types.d.ts +2 -2
  145. package/lib-commonjs/MenuItem/MenuItem.types.d.ts.map +1 -1
  146. package/lib-commonjs/MenuItem/MenuItem.types.js.map +1 -1
  147. package/lib-commonjs/MenuItem/MenuItemTokens.d.ts.map +1 -1
  148. package/lib-commonjs/MenuItem/MenuItemTokens.js.map +1 -1
  149. package/lib-commonjs/MenuItem/MenuItemTokens.macos.d.ts.map +1 -1
  150. package/lib-commonjs/MenuItem/MenuItemTokens.macos.js.map +1 -1
  151. package/lib-commonjs/MenuItem/MenuItemTokens.win32.d.ts.map +1 -1
  152. package/lib-commonjs/MenuItem/MenuItemTokens.win32.js.map +1 -1
  153. package/lib-commonjs/MenuItem/useMenuItem.d.ts.map +1 -1
  154. package/lib-commonjs/MenuItem/useMenuItem.js.map +1 -1
  155. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.d.ts +2 -1
  156. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.d.ts.map +1 -1
  157. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.js +2 -3
  158. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.js.map +1 -1
  159. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.styling.d.ts.map +1 -1
  160. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.styling.js +1 -1
  161. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.styling.js.map +1 -1
  162. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.types.d.ts +2 -2
  163. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.types.d.ts.map +1 -1
  164. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.types.js.map +1 -1
  165. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckboxTokens.d.ts.map +1 -1
  166. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckboxTokens.js.map +1 -1
  167. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckboxTokens.macos.d.ts.map +1 -1
  168. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckboxTokens.macos.js.map +1 -1
  169. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckboxTokens.win32.d.ts.map +1 -1
  170. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckboxTokens.win32.js.map +1 -1
  171. package/lib-commonjs/MenuItemCheckbox/useMenuItemCheckbox.d.ts +1 -1
  172. package/lib-commonjs/MenuItemCheckbox/useMenuItemCheckbox.d.ts.map +1 -1
  173. package/lib-commonjs/MenuItemCheckbox/useMenuItemCheckbox.js +1 -1
  174. package/lib-commonjs/MenuItemCheckbox/useMenuItemCheckbox.js.map +1 -1
  175. package/lib-commonjs/MenuItemRadio/MenuItemRadio.d.ts.map +1 -1
  176. package/lib-commonjs/MenuItemRadio/MenuItemRadio.js.map +1 -1
  177. package/lib-commonjs/MenuItemRadio/useMenuItemRadio.d.ts.map +1 -1
  178. package/lib-commonjs/MenuItemRadio/useMenuItemRadio.js +1 -1
  179. package/lib-commonjs/MenuItemRadio/useMenuItemRadio.js.map +1 -1
  180. package/lib-commonjs/MenuList/MenuList.d.ts.map +1 -1
  181. package/lib-commonjs/MenuList/MenuList.js +3 -3
  182. package/lib-commonjs/MenuList/MenuList.js.map +1 -1
  183. package/lib-commonjs/MenuList/MenuList.styling.d.ts.map +1 -1
  184. package/lib-commonjs/MenuList/MenuList.styling.js +1 -1
  185. package/lib-commonjs/MenuList/MenuList.styling.js.map +1 -1
  186. package/lib-commonjs/MenuList/MenuList.types.d.ts +2 -2
  187. package/lib-commonjs/MenuList/MenuList.types.d.ts.map +1 -1
  188. package/lib-commonjs/MenuList/MenuList.types.js.map +1 -1
  189. package/lib-commonjs/MenuList/MenuListTokens.d.ts.map +1 -1
  190. package/lib-commonjs/MenuList/MenuListTokens.js.map +1 -1
  191. package/lib-commonjs/MenuList/MenuListTokens.macos.d.ts.map +1 -1
  192. package/lib-commonjs/MenuList/MenuListTokens.macos.js.map +1 -1
  193. package/lib-commonjs/MenuList/MenuListTokens.win32.d.ts.map +1 -1
  194. package/lib-commonjs/MenuList/MenuListTokens.win32.js.map +1 -1
  195. package/lib-commonjs/MenuList/useMenuList.d.ts.map +1 -1
  196. package/lib-commonjs/MenuList/useMenuList.js.map +1 -1
  197. package/lib-commonjs/MenuList/useMenuListContextValue.d.ts +1 -1
  198. package/lib-commonjs/MenuList/useMenuListContextValue.d.ts.map +1 -1
  199. package/lib-commonjs/MenuPopover/MenuPopover.d.ts.map +1 -1
  200. package/lib-commonjs/MenuPopover/MenuPopover.js +3 -3
  201. package/lib-commonjs/MenuPopover/MenuPopover.js.map +1 -1
  202. package/lib-commonjs/MenuPopover/MenuPopoverTokens.d.ts.map +1 -1
  203. package/lib-commonjs/MenuPopover/MenuPopoverTokens.js.map +1 -1
  204. package/lib-commonjs/MenuPopover/useMenuPopover.d.ts.map +1 -1
  205. package/lib-commonjs/MenuPopover/useMenuPopover.js.map +1 -1
  206. package/lib-commonjs/MenuTrigger/MenuTrigger.d.ts.map +1 -1
  207. package/lib-commonjs/MenuTrigger/MenuTrigger.js.map +1 -1
  208. package/lib-commonjs/MenuTrigger/MenuTrigger.types.d.ts.map +1 -1
  209. package/lib-commonjs/MenuTrigger/MenuTrigger.types.js.map +1 -1
  210. package/lib-commonjs/MenuTrigger/useMenuTrigger.d.ts.map +1 -1
  211. package/lib-commonjs/MenuTrigger/useMenuTrigger.js +3 -3
  212. package/lib-commonjs/MenuTrigger/useMenuTrigger.js.map +1 -1
  213. package/lib-commonjs/__tests__/Menu.test.js +6 -6
  214. package/lib-commonjs/__tests__/Menu.test.js.map +1 -1
  215. package/lib-commonjs/context/menuContext.d.ts.map +1 -1
  216. package/lib-commonjs/context/menuContext.js.map +1 -1
  217. package/lib-commonjs/context/menuListContext.d.ts.map +1 -1
  218. package/lib-commonjs/context/menuListContext.js.map +1 -1
  219. package/package.json +11 -11
  220. package/src/Menu/Menu.tsx +3 -1
  221. package/src/Menu/Menu.types.ts +3 -1
  222. package/src/Menu/useMenu.ts +5 -3
  223. package/src/Menu/useMenuContextValue.ts +2 -1
  224. package/src/MenuDivider/MenuDivider.styling.ts +2 -1
  225. package/src/MenuDivider/MenuDivider.tsx +3 -1
  226. package/src/MenuDivider/MenuDivider.types.ts +1 -0
  227. package/src/MenuDivider/MenuDividerTokens.macos.ts +1 -0
  228. package/src/MenuDivider/MenuDividerTokens.ts +1 -0
  229. package/src/MenuDivider/MenuDividerTokens.win32.ts +1 -0
  230. package/src/MenuItem/MenuItem.styling.ts +2 -1
  231. package/src/MenuItem/MenuItem.tsx +5 -3
  232. package/src/MenuItem/MenuItem.types.ts +3 -2
  233. package/src/MenuItem/MenuItemTokens.macos.ts +1 -0
  234. package/src/MenuItem/MenuItemTokens.ts +1 -0
  235. package/src/MenuItem/MenuItemTokens.win32.ts +1 -0
  236. package/src/MenuItem/useMenuItem.ts +3 -1
  237. package/src/MenuItemCheckbox/MenuItemCheckbox.styling.ts +2 -1
  238. package/src/MenuItemCheckbox/MenuItemCheckbox.tsx +5 -3
  239. package/src/MenuItemCheckbox/MenuItemCheckbox.types.ts +4 -2
  240. package/src/MenuItemCheckbox/MenuItemCheckboxTokens.macos.ts +1 -0
  241. package/src/MenuItemCheckbox/MenuItemCheckboxTokens.ts +1 -0
  242. package/src/MenuItemCheckbox/MenuItemCheckboxTokens.win32.ts +1 -0
  243. package/src/MenuItemCheckbox/useMenuItemCheckbox.ts +4 -2
  244. package/src/MenuItemRadio/MenuItemRadio.tsx +1 -0
  245. package/src/MenuItemRadio/useMenuItemRadio.ts +3 -1
  246. package/src/MenuList/MenuList.styling.ts +2 -1
  247. package/src/MenuList/MenuList.tsx +6 -4
  248. package/src/MenuList/MenuList.types.ts +3 -2
  249. package/src/MenuList/MenuListTokens.macos.ts +1 -0
  250. package/src/MenuList/MenuListTokens.ts +1 -0
  251. package/src/MenuList/MenuListTokens.win32.ts +1 -0
  252. package/src/MenuList/useMenuList.ts +4 -2
  253. package/src/MenuList/useMenuListContextValue.ts +1 -1
  254. package/src/MenuPopover/MenuPopover.tsx +5 -3
  255. package/src/MenuPopover/MenuPopoverTokens.ts +1 -0
  256. package/src/MenuPopover/useMenuPopover.ts +3 -1
  257. package/src/MenuTrigger/MenuTrigger.tsx +1 -0
  258. package/src/MenuTrigger/MenuTrigger.types.ts +1 -0
  259. package/src/MenuTrigger/useMenuTrigger.ts +7 -5
  260. package/src/__tests__/Menu.test.tsx +8 -6
  261. package/src/context/menuContext.ts +1 -0
  262. package/src/context/menuListContext.ts +1 -0
@@ -1,9 +1,10 @@
1
1
  import type { Theme, UseStylingOptions } from '@fluentui-react-native/framework';
2
2
  import { buildProps } from '@fluentui-react-native/framework';
3
3
  import { borderStyles, fontStyles, layoutStyles } from '@fluentui-react-native/tokens';
4
- import { defaultMenuItemTokens } from './MenuItemTokens';
4
+
5
5
  import type { MenuItemProps, MenuItemTokens, MenuItemSlotProps } from './MenuItem.types';
6
6
  import { menuItemName } from './MenuItem.types';
7
+ import { defaultMenuItemTokens } from './MenuItemTokens';
7
8
 
8
9
  export const menuItemStates: (keyof MenuItemTokens)[] = ['hovered', 'focused', 'pressed', 'disabled'];
9
10
 
@@ -1,14 +1,16 @@
1
1
  /** @jsx withSlots */
2
+ import React from 'react';
2
3
  import { I18nManager, Pressable, View } from 'react-native';
3
- import { SvgXml } from 'react-native-svg';
4
+
4
5
  import type { UseSlots } from '@fluentui-react-native/framework';
5
6
  import { compose, memoize, mergeProps, withSlots } from '@fluentui-react-native/framework';
6
7
  import { TextV1 as Text } from '@fluentui-react-native/text';
8
+ import { SvgXml } from 'react-native-svg';
9
+
10
+ import { stylingSettings } from './MenuItem.styling';
7
11
  import type { MenuItemProps, MenuItemType } from './MenuItem.types';
8
12
  import { menuItemName } from './MenuItem.types';
9
13
  import { useMenuItem } from './useMenuItem';
10
- import { stylingSettings } from './MenuItem.styling';
11
- import React from 'react';
12
14
 
13
15
  export const MenuItem = compose<MenuItemType>({
14
16
  displayName: menuItemName,
@@ -1,10 +1,11 @@
1
1
  import type * as React from 'react';
2
2
  import type { ColorValue } from 'react-native';
3
- import type { XmlProps } from 'react-native-svg';
3
+
4
4
  import type { IViewProps } from '@fluentui-react-native/adapters';
5
- import type { TextProps } from '@fluentui-react-native/text';
6
5
  import type { IFocusable, InteractionEvent, PressablePropsExtended, PressableState } from '@fluentui-react-native/interactive-hooks';
6
+ import type { TextProps } from '@fluentui-react-native/text';
7
7
  import type { FontTokens, IBorderTokens, IColorTokens, LayoutTokens } from '@fluentui-react-native/tokens';
8
+ import type { XmlProps } from 'react-native-svg';
8
9
 
9
10
  export const menuItemName = 'MenuItem';
10
11
 
@@ -1,6 +1,7 @@
1
1
  import type { FontWeightValue, Theme } from '@fluentui-react-native/framework';
2
2
  import { globalTokens } from '@fluentui-react-native/theme-tokens';
3
3
  import type { TokenSettings } from '@fluentui-react-native/use-styling';
4
+
4
5
  import type { MenuItemTokens } from './MenuItem.types';
5
6
 
6
7
  export const defaultMenuItemTokens: TokenSettings<MenuItemTokens, Theme> = (t: Theme): MenuItemTokens => ({
@@ -1,6 +1,7 @@
1
1
  import type { FontWeightValue, Theme } from '@fluentui-react-native/framework';
2
2
  import { globalTokens } from '@fluentui-react-native/theme-tokens';
3
3
  import type { TokenSettings } from '@fluentui-react-native/use-styling';
4
+
4
5
  import type { MenuItemTokens } from './MenuItem.types';
5
6
 
6
7
  export const defaultMenuItemTokens: TokenSettings<MenuItemTokens, Theme> = (t: Theme): MenuItemTokens => ({
@@ -1,6 +1,7 @@
1
1
  import type { FontWeightValue, Theme } from '@fluentui-react-native/framework';
2
2
  import { globalTokens } from '@fluentui-react-native/theme-tokens';
3
3
  import type { TokenSettings } from '@fluentui-react-native/use-styling';
4
+
4
5
  import type { MenuItemTokens } from './MenuItem.types';
5
6
 
6
7
  export const defaultMenuItemTokens: TokenSettings<MenuItemTokens, Theme> = (t: Theme): MenuItemTokens => ({
@@ -1,10 +1,12 @@
1
1
  import * as React from 'react';
2
2
  import type { AccessibilityState } from 'react-native';
3
3
  import { I18nManager, Platform } from 'react-native';
4
- import type { MenuItemProps, MenuItemInfo } from './MenuItem.types';
4
+
5
5
  import { memoize } from '@fluentui-react-native/framework';
6
6
  import type { InteractionEvent } from '@fluentui-react-native/interactive-hooks';
7
7
  import { isKeyPressEvent, usePressableState, useKeyDownProps, useViewCommandFocus } from '@fluentui-react-native/interactive-hooks';
8
+
9
+ import type { MenuItemProps, MenuItemInfo } from './MenuItem.types';
8
10
  import { useMenuContext } from '../context/menuContext';
9
11
  import { useMenuListContext } from '../context/menuListContext';
10
12
  import { useMenuTriggerContext } from '../context/menuTriggerContext';
@@ -1,9 +1,10 @@
1
1
  import type { Theme, UseStylingOptions } from '@fluentui-react-native/framework';
2
2
  import { buildProps } from '@fluentui-react-native/framework';
3
3
  import { borderStyles, fontStyles, layoutStyles } from '@fluentui-react-native/tokens';
4
- import { defaultMenuItemCheckboxTokens } from './MenuItemCheckboxTokens';
4
+
5
5
  import type { MenuItemCheckboxProps, MenuItemCheckboxTokens, MenuItemCheckboxSlotProps } from './MenuItemCheckbox.types';
6
6
  import { menuItemCheckboxName } from './MenuItemCheckbox.types';
7
+ import { defaultMenuItemCheckboxTokens } from './MenuItemCheckboxTokens';
7
8
 
8
9
  export const menuItemCheckboxStates: (keyof MenuItemCheckboxTokens)[] = ['hovered', 'focused', 'pressed', 'disabled', 'checked'];
9
10
 
@@ -1,9 +1,13 @@
1
1
  /** @jsx withSlots */
2
+ import React from 'react';
2
3
  import { Pressable } from 'react-native';
3
- import { SvgXml } from 'react-native-svg';
4
+
4
5
  import type { Slots, UseSlots } from '@fluentui-react-native/framework';
5
6
  import { compose, mergeProps, withSlots } from '@fluentui-react-native/framework';
6
7
  import { TextV1 as Text } from '@fluentui-react-native/text';
8
+ import { SvgXml } from 'react-native-svg';
9
+
10
+ import { stylingSettings } from './MenuItemCheckbox.styling';
7
11
  import type {
8
12
  MenuItemCheckboxProps,
9
13
  MenuItemCheckboxSlotProps,
@@ -12,9 +16,7 @@ import type {
12
16
  } from './MenuItemCheckbox.types';
13
17
  import { menuItemCheckboxName } from './MenuItemCheckbox.types';
14
18
  import { useMenuItemCheckbox } from './useMenuItemCheckbox';
15
- import { stylingSettings } from './MenuItemCheckbox.styling';
16
19
  import { getAccessibilityLabel, getTooltip } from '../MenuItem/MenuItem';
17
- import React from 'react';
18
20
 
19
21
  export const MenuItemCheckbox = compose<MenuItemCheckboxType>({
20
22
  displayName: menuItemCheckboxName,
@@ -1,8 +1,10 @@
1
1
  import type * as React from 'react';
2
2
  import type { ColorValue } from 'react-native';
3
- import type { XmlProps } from 'react-native-svg';
4
- import type { TextProps } from '@fluentui-react-native/text';
3
+
5
4
  import type { PressablePropsExtended, PressableState } from '@fluentui-react-native/interactive-hooks';
5
+ import type { TextProps } from '@fluentui-react-native/text';
6
+ import type { XmlProps } from 'react-native-svg';
7
+
6
8
  import type { MenuItemProps, MenuItemTokens } from '../MenuItem/MenuItem.types';
7
9
 
8
10
  export const menuItemCheckboxName = 'MenuItemCheckbox';
@@ -1,6 +1,7 @@
1
1
  import type { FontWeightValue, Theme } from '@fluentui-react-native/framework';
2
2
  import { globalTokens } from '@fluentui-react-native/theme-tokens';
3
3
  import type { TokenSettings } from '@fluentui-react-native/use-styling';
4
+
4
5
  import type { MenuItemCheckboxTokens } from './MenuItemCheckbox.types';
5
6
 
6
7
  export const defaultMenuItemCheckboxTokens: TokenSettings<MenuItemCheckboxTokens, Theme> = (t: Theme): MenuItemCheckboxTokens => ({
@@ -1,6 +1,7 @@
1
1
  import type { FontWeightValue, Theme } from '@fluentui-react-native/framework';
2
2
  import { globalTokens } from '@fluentui-react-native/theme-tokens';
3
3
  import type { TokenSettings } from '@fluentui-react-native/use-styling';
4
+
4
5
  import type { MenuItemCheckboxTokens } from './MenuItemCheckbox.types';
5
6
 
6
7
  export const defaultMenuItemCheckboxTokens: TokenSettings<MenuItemCheckboxTokens, Theme> = (t: Theme): MenuItemCheckboxTokens => ({
@@ -1,6 +1,7 @@
1
1
  import type { FontWeightValue, Theme } from '@fluentui-react-native/framework';
2
2
  import { globalTokens } from '@fluentui-react-native/theme-tokens';
3
3
  import type { TokenSettings } from '@fluentui-react-native/use-styling';
4
+
4
5
  import type { MenuItemCheckboxTokens } from './MenuItemCheckbox.types';
5
6
 
6
7
  export const defaultMenuItemCheckboxTokens: TokenSettings<MenuItemCheckboxTokens, Theme> = (t: Theme): MenuItemCheckboxTokens => ({
@@ -1,13 +1,15 @@
1
1
  import * as React from 'react';
2
2
  import type { AccessibilityActionEvent, AccessibilityState } from 'react-native';
3
3
  import { I18nManager, Platform } from 'react-native';
4
- import type { MenuItemCheckboxProps, MenuItemCheckboxInfo } from './MenuItemCheckbox.types';
4
+
5
5
  import { memoize } from '@fluentui-react-native/framework';
6
6
  import type { InteractionEvent, KeyPressEvent } from '@fluentui-react-native/interactive-hooks';
7
7
  import { usePressableState, useKeyDownProps, useOnPressWithFocus, useViewCommandFocus } from '@fluentui-react-native/interactive-hooks';
8
+
9
+ import type { MenuItemCheckboxProps, MenuItemCheckboxInfo } from './MenuItemCheckbox.types';
10
+ import { useMenuContext } from '../context/menuContext';
8
11
  import { useMenuListContext } from '../context/menuListContext';
9
12
  import { submenuTriggerKeys, triggerKeys, useHoverFocusEffect } from '../MenuItem/useMenuItem';
10
- import { useMenuContext } from '../context/menuContext';
11
13
 
12
14
  const defaultAccessibilityActions = [{ name: 'Toggle' }];
13
15
 
@@ -1,4 +1,5 @@
1
1
  import type { UseSlots } from '@fluentui-react-native/framework';
2
+
2
3
  import { useMenuItemRadio } from './useMenuItemRadio';
3
4
  import { MenuItemCheckbox, menuItemFinalRender } from '../MenuItemCheckbox/MenuItemCheckbox';
4
5
  import type { MenuItemCheckboxProps, MenuItemCheckboxType } from '../MenuItemCheckbox/MenuItemCheckbox.types';
@@ -1,9 +1,11 @@
1
1
  import * as React from 'react';
2
+
2
3
  import type { InteractionEvent } from '@fluentui-react-native/interactive-hooks';
4
+
5
+ import { useMenuContext } from '../context/menuContext';
3
6
  import { useMenuListContext } from '../context/menuListContext';
4
7
  import type { MenuItemCheckboxProps, MenuItemCheckboxInfo } from '../MenuItemCheckbox/MenuItemCheckbox.types';
5
8
  import { useMenuCheckboxInteraction } from '../MenuItemCheckbox/useMenuItemCheckbox';
6
- import { useMenuContext } from '../context/menuContext';
7
9
 
8
10
  export const useMenuItemRadio = (props: MenuItemCheckboxProps): MenuItemCheckboxInfo => {
9
11
  const { disabled, name, persistOnClick } = props;
@@ -1,9 +1,10 @@
1
1
  import type { Theme, UseStylingOptions } from '@fluentui-react-native/framework';
2
2
  import { buildProps } from '@fluentui-react-native/framework';
3
3
  import { layoutStyles } from '@fluentui-react-native/tokens';
4
- import { defaultMenuListTokens } from './MenuListTokens';
4
+
5
5
  import type { MenuListProps, MenuListTokens, MenuListSlotProps } from './MenuList.types';
6
6
  import { menuListName } from './MenuList.types';
7
+ import { defaultMenuListTokens } from './MenuListTokens';
7
8
 
8
9
  export const menuListStates: (keyof MenuListTokens)[] = ['hasMaxHeight'];
9
10
 
@@ -1,17 +1,19 @@
1
1
  /** @jsx withSlots */
2
2
  import React from 'react';
3
3
  import { Platform, ScrollView, View } from 'react-native';
4
+
5
+ import type { IViewProps } from '@fluentui-react-native/adapters';
6
+ import { FocusZone } from '@fluentui-react-native/focus-zone';
4
7
  import type { UseSlots } from '@fluentui-react-native/framework';
5
8
  import { compose, mergeProps, stagedComponent, withSlots } from '@fluentui-react-native/framework';
9
+
10
+ import { stylingSettings } from './MenuList.styling';
6
11
  import type { MenuListProps, MenuListState, MenuListType } from './MenuList.types';
7
12
  import { menuListName } from './MenuList.types';
8
- import { stylingSettings } from './MenuList.styling';
9
- import { MenuListProvider } from '../context/menuListContext';
10
13
  import { useMenuList } from './useMenuList';
11
14
  import { useMenuListContextValue } from './useMenuListContextValue';
12
- import type { IViewProps } from '@fluentui-react-native/adapters';
13
- import { FocusZone } from '@fluentui-react-native/focus-zone';
14
15
  import { useMenuContext } from '../context';
16
+ import { MenuListProvider } from '../context/menuListContext';
15
17
 
16
18
  const MenuStack = stagedComponent((props: React.PropsWithRef<IViewProps> & { gap?: number }) => {
17
19
  const { gap, ...rest } = props;
@@ -1,9 +1,10 @@
1
+ import type React from 'react';
2
+ import type { ScrollViewProps } from 'react-native';
3
+
1
4
  import type { IViewProps } from '@fluentui-react-native/adapters';
2
5
  import type { FocusZoneProps } from '@fluentui-react-native/focus-zone';
3
6
  import type { InteractionEvent } from '@fluentui-react-native/interactive-hooks';
4
7
  import type { IBackgroundColorTokens, LayoutTokens } from '@fluentui-react-native/tokens';
5
- import type React from 'react';
6
- import type { ScrollViewProps } from 'react-native';
7
8
 
8
9
  export const menuListName = 'MenuList';
9
10
 
@@ -1,6 +1,7 @@
1
1
  import type { Theme } from '@fluentui-react-native/framework';
2
2
  import { globalTokens } from '@fluentui-react-native/theme-tokens';
3
3
  import type { TokenSettings } from '@fluentui-react-native/use-styling';
4
+
4
5
  import type { MenuListTokens } from './MenuList.types';
5
6
 
6
7
  export const defaultMenuListTokens: TokenSettings<MenuListTokens, Theme> = (t: Theme): MenuListTokens => ({
@@ -1,6 +1,7 @@
1
1
  import type { Theme } from '@fluentui-react-native/framework';
2
2
  import { globalTokens } from '@fluentui-react-native/theme-tokens';
3
3
  import type { TokenSettings } from '@fluentui-react-native/use-styling';
4
+
4
5
  import type { MenuListTokens } from './MenuList.types';
5
6
 
6
7
  export const defaultMenuListTokens: TokenSettings<MenuListTokens, Theme> = (t: Theme): MenuListTokens => ({
@@ -1,6 +1,7 @@
1
1
  import type { Theme } from '@fluentui-react-native/framework';
2
2
  import { globalTokens } from '@fluentui-react-native/theme-tokens';
3
3
  import type { TokenSettings } from '@fluentui-react-native/use-styling';
4
+
4
5
  import type { MenuListTokens } from './MenuList.types';
5
6
 
6
7
  export const defaultMenuListTokens: TokenSettings<MenuListTokens, Theme> = (t: Theme): MenuListTokens => ({
@@ -1,7 +1,9 @@
1
- import type { InteractionEvent } from '@fluentui-react-native/interactive-hooks';
2
1
  import React from 'react';
3
- import { useMenuContext } from '../context/menuContext';
2
+
3
+ import type { InteractionEvent } from '@fluentui-react-native/interactive-hooks';
4
+
4
5
  import type { MenuListProps, MenuListState } from './MenuList.types';
6
+ import { useMenuContext } from '../context/menuContext';
5
7
 
6
8
  // Track the radio items so we know what to clear selection from when selectRadio is called
7
9
  // Purposefully left out of the hook because
@@ -1,5 +1,5 @@
1
- import type { MenuListContextValue } from '../context/menuListContext';
2
1
  import type { MenuListState } from './MenuList.types';
2
+ import type { MenuListContextValue } from '../context/menuListContext';
3
3
 
4
4
  export const useMenuListContextValue = (state: MenuListState): MenuListContextValue => {
5
5
  return { hasCheckmarks: state.props.hasCheckmarks, hasTooltips: state.props.hasTooltips, ...state };
@@ -1,12 +1,14 @@
1
1
  import React from 'react';
2
+ import { Platform, View } from 'react-native';
3
+
4
+ import { Callout } from '@fluentui-react-native/callout';
2
5
  import type { UseTokens } from '@fluentui-react-native/framework';
3
6
  import { compressible, mergeProps, patchTokens, useFluentTheme } from '@fluentui-react-native/framework';
4
- import { Callout } from '@fluentui-react-native/callout';
7
+
5
8
  import type { MenuPopoverProps, MenuPopoverTokens } from './MenuPopover.types';
6
9
  import { menuPopoverName } from './MenuPopover.types';
7
- import { useMenuPopover } from './useMenuPopover';
8
10
  import { useMenuPopoverTokens } from './MenuPopoverTokens';
9
- import { Platform, View } from 'react-native';
11
+ import { useMenuPopover } from './useMenuPopover';
10
12
  import { useMenuContext } from '../context';
11
13
 
12
14
  export const MenuPopover = compressible<MenuPopoverProps, MenuPopoverTokens>(
@@ -1,5 +1,6 @@
1
1
  import type { Theme } from '@fluentui-react-native/framework';
2
2
  import { buildUseTokens } from '@fluentui-react-native/framework';
3
+
3
4
  import type { MenuPopoverTokens } from './MenuPopover.types';
4
5
  import { menuPopoverName } from './MenuPopover.types';
5
6
 
@@ -1,8 +1,10 @@
1
1
  import React from 'react';
2
2
  import { I18nManager, Platform } from 'react-native';
3
+
3
4
  import type { DirectionalHint, DismissBehaviors } from '@fluentui-react-native/callout';
4
- import { useMenuContext } from '../context/menuContext';
5
+
5
6
  import type { MenuPopoverProps, MenuPopoverState } from './MenuPopover.types';
7
+ import { useMenuContext } from '../context/menuContext';
6
8
 
7
9
  const controlledDismissBehaviors = ['preventDismissOnKeyDown', 'preventDismissOnClickOutside'] as DismissBehaviors[];
8
10
 
@@ -1,4 +1,5 @@
1
1
  import * as React from 'react';
2
+
2
3
  import type { MenuTriggerProps } from './MenuTrigger.types';
3
4
  import { menuTriggerName } from './MenuTrigger.types';
4
5
  import { useMenuTrigger } from './useMenuTrigger';
@@ -1,4 +1,5 @@
1
1
  import type * as React from 'react';
2
+
2
3
  import type { InteractionEvent, PressablePropsExtended } from '@fluentui-react-native/interactive-hooks';
3
4
 
4
5
  export const menuTriggerName = 'MenuTrigger';
@@ -1,11 +1,13 @@
1
- import { useMenuContext } from '../context/menuContext';
2
- import type { InteractionEvent } from '@fluentui-react-native/interactive-hooks';
3
- import type { MenuTriggerChildProps, MenuTriggerState } from './MenuTrigger.types';
1
+ import React from 'react';
4
2
  import type { AccessibilityActionEvent, AccessibilityActionName } from 'react-native';
5
3
  import { Platform } from 'react-native';
6
- import React from 'react';
7
- import { hoverDelayDefault } from '../consts';
4
+
5
+ import type { InteractionEvent } from '@fluentui-react-native/interactive-hooks';
6
+
7
+ import type { MenuTriggerChildProps, MenuTriggerState } from './MenuTrigger.types';
8
8
  import { useMergedRefs } from './useMergeRefs';
9
+ import { hoverDelayDefault } from '../consts';
10
+ import { useMenuContext } from '../context/menuContext';
9
11
 
10
12
  const baseAccessibilityActions =
11
13
  Platform.OS === ('win32' as any) ? [{ name: 'Expand' as AccessibilityActionName }, { name: 'Collapse' as AccessibilityActionName }] : [];
@@ -1,16 +1,18 @@
1
1
  import * as React from 'react';
2
2
  import type { AccessibilityActionName } from 'react-native';
3
+
4
+ import { ButtonV1 as Button } from '@fluentui-react-native/button';
5
+ import { checkReRender } from '@fluentui-react-native/test-tools';
3
6
  import * as renderer from 'react-test-renderer';
7
+
4
8
  import { Menu } from '../Menu/Menu';
5
- import { checkReRender } from '@fluentui-react-native/test-tools';
6
- import MenuTrigger from '../MenuTrigger/MenuTrigger';
7
- import { ButtonV1 as Button } from '@fluentui-react-native/button';
8
- import MenuPopover from '../MenuPopover/MenuPopover';
9
- import { MenuList } from '../MenuList/MenuList';
9
+ import { MenuDivider } from '../MenuDivider/MenuDivider';
10
10
  import { MenuItem } from '../MenuItem/MenuItem';
11
11
  import { MenuItemCheckbox } from '../MenuItemCheckbox/MenuItemCheckbox';
12
- import { MenuDivider } from '../MenuDivider/MenuDivider';
13
12
  import { MenuItemRadio } from '../MenuItemRadio/MenuItemRadio';
13
+ import { MenuList } from '../MenuList/MenuList';
14
+ import MenuPopover from '../MenuPopover/MenuPopover';
15
+ import MenuTrigger from '../MenuTrigger/MenuTrigger';
14
16
 
15
17
  describe('Menu component tests', () => {
16
18
  it('Menu default', () => {
@@ -1,4 +1,5 @@
1
1
  import * as React from 'react';
2
+
2
3
  import type { MenuState } from '../Menu/Menu.types';
3
4
 
4
5
  /**
@@ -1,4 +1,5 @@
1
1
  import * as React from 'react';
2
+
2
3
  import type { MenuListState } from '../MenuList/MenuList.types';
3
4
 
4
5
  /**