@fluentui-react-native/menu 1.15.0 → 1.15.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (369) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/SPEC.md +8 -4
  3. package/lib/Menu/Menu.d.ts +2 -2
  4. package/lib/Menu/Menu.js +12 -12
  5. package/lib/Menu/Menu.types.d.ts +47 -47
  6. package/lib/Menu/Menu.types.js +4 -4
  7. package/lib/Menu/index.d.ts +1 -1
  8. package/lib/Menu/index.js +1 -1
  9. package/lib/Menu/renderMenu.android.d.ts +2 -6
  10. package/lib/Menu/renderMenu.android.js +10 -17
  11. package/lib/Menu/renderMenu.d.ts +2 -6
  12. package/lib/Menu/renderMenu.js +5 -8
  13. package/lib/Menu/useMenu.android.d.ts +1 -1
  14. package/lib/Menu/useMenu.android.js +245 -251
  15. package/lib/Menu/useMenu.d.ts +1 -1
  16. package/lib/Menu/useMenu.js +70 -75
  17. package/lib/Menu/useMenuContextValue.d.ts +1 -1
  18. package/lib/Menu/useMenuContextValue.js +4 -4
  19. package/lib/MenuCallout/MenuCallout.android.d.ts +2 -2
  20. package/lib/MenuCallout/MenuCallout.android.js +19 -39
  21. package/lib/MenuCallout/MenuCallout.d.ts +2 -2
  22. package/lib/MenuCallout/MenuCallout.js +7 -7
  23. package/lib/MenuCallout/MenuCallout.types.d.ts +13 -13
  24. package/lib/MenuCallout/MenuCallout.types.d.ts.map +1 -1
  25. package/lib/MenuCallout/MenuCallout.types.js +1 -1
  26. package/lib/MenuCallout/index.d.ts +1 -1
  27. package/lib/MenuCallout/index.js +1 -1
  28. package/lib/MenuDivider/MenuDivider.d.ts +2 -7
  29. package/lib/MenuDivider/MenuDivider.js +13 -13
  30. package/lib/MenuDivider/MenuDivider.styling.d.ts +1 -1
  31. package/lib/MenuDivider/MenuDivider.styling.js +16 -19
  32. package/lib/MenuDivider/MenuDivider.types.d.ts +12 -12
  33. package/lib/MenuDivider/MenuDivider.types.js +1 -1
  34. package/lib/MenuDivider/MenuDividerTokens.android.d.ts +1 -1
  35. package/lib/MenuDivider/MenuDividerTokens.android.js +4 -4
  36. package/lib/MenuDivider/MenuDividerTokens.d.ts +1 -1
  37. package/lib/MenuDivider/MenuDividerTokens.js +4 -4
  38. package/lib/MenuDivider/MenuDividerTokens.macos.d.ts +1 -1
  39. package/lib/MenuDivider/MenuDividerTokens.macos.js +4 -4
  40. package/lib/MenuDivider/MenuDividerTokens.win32.d.ts +1 -1
  41. package/lib/MenuDivider/MenuDividerTokens.win32.js +4 -4
  42. package/lib/MenuDivider/index.d.ts +1 -1
  43. package/lib/MenuDivider/index.js +1 -1
  44. package/lib/MenuGroup/MenuGroup.d.ts +2 -7
  45. package/lib/MenuGroup/MenuGroup.js +51 -63
  46. package/lib/MenuGroup/MenuGroup.types.d.ts +7 -7
  47. package/lib/MenuGroup/MenuGroup.types.js +1 -1
  48. package/lib/MenuGroup/index.d.ts +1 -1
  49. package/lib/MenuGroup/index.js +1 -1
  50. package/lib/MenuGroupHeader/MenuGroupHeader.d.ts +2 -7
  51. package/lib/MenuGroupHeader/MenuGroupHeader.js +14 -14
  52. package/lib/MenuGroupHeader/MenuGroupHeader.styling.d.ts +1 -1
  53. package/lib/MenuGroupHeader/MenuGroupHeader.styling.js +13 -16
  54. package/lib/MenuGroupHeader/MenuGroupHeader.types.d.ts +7 -7
  55. package/lib/MenuGroupHeader/MenuGroupHeader.types.js +1 -1
  56. package/lib/MenuGroupHeader/MenuGroupHeaderTokens.d.ts +1 -1
  57. package/lib/MenuGroupHeader/MenuGroupHeaderTokens.js +7 -7
  58. package/lib/MenuGroupHeader/MenuGroupHeaderTokens.macos.d.ts +1 -1
  59. package/lib/MenuGroupHeader/MenuGroupHeaderTokens.macos.js +8 -8
  60. package/lib/MenuGroupHeader/index.d.ts +1 -1
  61. package/lib/MenuGroupHeader/index.js +1 -1
  62. package/lib/MenuItem/MenuItem.d.ts +2 -7
  63. package/lib/MenuItem/MenuItem.js +41 -63
  64. package/lib/MenuItem/MenuItem.styling.d.ts +1 -1
  65. package/lib/MenuItem/MenuItem.styling.js +52 -70
  66. package/lib/MenuItem/MenuItem.types.d.ts +83 -83
  67. package/lib/MenuItem/MenuItem.types.js +1 -1
  68. package/lib/MenuItem/MenuItemTokens.android.d.ts +1 -1
  69. package/lib/MenuItem/MenuItemTokens.android.js +17 -17
  70. package/lib/MenuItem/MenuItemTokens.d.ts +1 -1
  71. package/lib/MenuItem/MenuItemTokens.js +35 -35
  72. package/lib/MenuItem/MenuItemTokens.macos.d.ts +1 -1
  73. package/lib/MenuItem/MenuItemTokens.macos.js +34 -34
  74. package/lib/MenuItem/MenuItemTokens.win32.d.ts +1 -1
  75. package/lib/MenuItem/MenuItemTokens.win32.js +36 -36
  76. package/lib/MenuItem/index.d.ts +1 -1
  77. package/lib/MenuItem/index.js +1 -1
  78. package/lib/MenuItem/useMenuItem.d.ts +1 -1
  79. package/lib/MenuItem/useMenuItem.js +101 -111
  80. package/lib/MenuItemCheckbox/MenuItemCheckbox.d.ts +3 -11
  81. package/lib/MenuItemCheckbox/MenuItemCheckbox.js +26 -54
  82. package/lib/MenuItemCheckbox/MenuItemCheckbox.styling.d.ts +1 -1
  83. package/lib/MenuItemCheckbox/MenuItemCheckbox.styling.js +62 -81
  84. package/lib/MenuItemCheckbox/MenuItemCheckbox.types.d.ts +89 -90
  85. package/lib/MenuItemCheckbox/MenuItemCheckbox.types.d.ts.map +1 -1
  86. package/lib/MenuItemCheckbox/MenuItemCheckbox.types.js +1 -1
  87. package/lib/MenuItemCheckbox/MenuItemCheckboxTokens.android.d.ts +1 -1
  88. package/lib/MenuItemCheckbox/MenuItemCheckboxTokens.android.js +35 -35
  89. package/lib/MenuItemCheckbox/MenuItemCheckboxTokens.d.ts +1 -1
  90. package/lib/MenuItemCheckbox/MenuItemCheckboxTokens.js +44 -44
  91. package/lib/MenuItemCheckbox/MenuItemCheckboxTokens.macos.d.ts +1 -1
  92. package/lib/MenuItemCheckbox/MenuItemCheckboxTokens.macos.js +42 -42
  93. package/lib/MenuItemCheckbox/MenuItemCheckboxTokens.win32.d.ts +1 -1
  94. package/lib/MenuItemCheckbox/MenuItemCheckboxTokens.win32.js +45 -45
  95. package/lib/MenuItemCheckbox/index.d.ts +2 -8
  96. package/lib/MenuItemCheckbox/index.js +1 -1
  97. package/lib/MenuItemCheckbox/useMenuItemCheckbox.d.ts +2 -5
  98. package/lib/MenuItemCheckbox/useMenuItemCheckbox.js +104 -129
  99. package/lib/MenuItemRadio/MenuItemRadio.d.ts +3 -11
  100. package/lib/MenuItemRadio/MenuItemRadio.js +26 -54
  101. package/lib/MenuItemRadio/MenuItemRadio.styling.android.d.ts +1 -1
  102. package/lib/MenuItemRadio/MenuItemRadio.styling.android.js +60 -78
  103. package/lib/MenuItemRadio/MenuItemRadio.styling.d.ts +1 -1
  104. package/lib/MenuItemRadio/MenuItemRadio.styling.js +44 -59
  105. package/lib/MenuItemRadio/MenuItemRadio.types.d.ts +120 -121
  106. package/lib/MenuItemRadio/MenuItemRadio.types.d.ts.map +1 -1
  107. package/lib/MenuItemRadio/MenuItemRadio.types.js +1 -1
  108. package/lib/MenuItemRadio/MenuItemRadioTokens.android.d.ts +1 -1
  109. package/lib/MenuItemRadio/MenuItemRadioTokens.android.js +38 -38
  110. package/lib/MenuItemRadio/MenuItemRadioTokens.d.ts +1 -1
  111. package/lib/MenuItemRadio/MenuItemRadioTokens.js +45 -45
  112. package/lib/MenuItemRadio/MenuItemRadioTokens.macos.d.ts +1 -1
  113. package/lib/MenuItemRadio/MenuItemRadioTokens.macos.js +43 -43
  114. package/lib/MenuItemRadio/index.d.ts +2 -8
  115. package/lib/MenuItemRadio/index.js +1 -1
  116. package/lib/MenuItemRadio/useMenuItemRadio.d.ts +1 -1
  117. package/lib/MenuItemRadio/useMenuItemRadio.js +23 -26
  118. package/lib/MenuList/MenuList.d.ts +2 -7
  119. package/lib/MenuList/MenuList.js +54 -70
  120. package/lib/MenuList/MenuList.styling.d.ts +1 -1
  121. package/lib/MenuList/MenuList.styling.js +21 -27
  122. package/lib/MenuList/MenuList.types.d.ts +72 -72
  123. package/lib/MenuList/MenuList.types.js +1 -1
  124. package/lib/MenuList/MenuListTokens.android.d.ts +1 -1
  125. package/lib/MenuList/MenuListTokens.android.js +4 -4
  126. package/lib/MenuList/MenuListTokens.d.ts +1 -1
  127. package/lib/MenuList/MenuListTokens.js +6 -6
  128. package/lib/MenuList/MenuListTokens.macos.d.ts +1 -1
  129. package/lib/MenuList/MenuListTokens.macos.js +4 -4
  130. package/lib/MenuList/MenuListTokens.win32.d.ts +1 -1
  131. package/lib/MenuList/MenuListTokens.win32.js +9 -9
  132. package/lib/MenuList/index.d.ts +1 -1
  133. package/lib/MenuList/index.js +1 -1
  134. package/lib/MenuList/useMenuList.d.ts +1 -1
  135. package/lib/MenuList/useMenuList.js +142 -159
  136. package/lib/MenuList/useMenuListContextValue.d.ts +1 -1
  137. package/lib/MenuList/useMenuListContextValue.js +2 -2
  138. package/lib/MenuPopover/MenuPopover.d.ts +3 -9
  139. package/lib/MenuPopover/MenuPopover.d.ts.map +1 -1
  140. package/lib/MenuPopover/MenuPopover.js +35 -35
  141. package/lib/MenuPopover/MenuPopover.types.d.ts +14 -14
  142. package/lib/MenuPopover/MenuPopover.types.d.ts.map +1 -1
  143. package/lib/MenuPopover/MenuPopover.types.js +1 -1
  144. package/lib/MenuPopover/MenuPopoverTokens.android.d.ts +3 -7
  145. package/lib/MenuPopover/MenuPopoverTokens.android.d.ts.map +1 -1
  146. package/lib/MenuPopover/MenuPopoverTokens.android.js +3 -6
  147. package/lib/MenuPopover/MenuPopoverTokens.d.ts +3 -7
  148. package/lib/MenuPopover/MenuPopoverTokens.d.ts.map +1 -1
  149. package/lib/MenuPopover/MenuPopoverTokens.js +2 -5
  150. package/lib/MenuPopover/MenuPopoverTokens.macos.d.ts +3 -7
  151. package/lib/MenuPopover/MenuPopoverTokens.macos.d.ts.map +1 -1
  152. package/lib/MenuPopover/MenuPopoverTokens.macos.js +7 -10
  153. package/lib/MenuPopover/MenuPopoverTokens.macos.js.map +1 -1
  154. package/lib/MenuPopover/index.d.ts +1 -1
  155. package/lib/MenuPopover/index.js +1 -1
  156. package/lib/MenuPopover/useMenuPopover.d.ts +2 -2
  157. package/lib/MenuPopover/useMenuPopover.js +79 -96
  158. package/lib/MenuPopover/useMenuPopover.js.map +1 -1
  159. package/lib/MenuTrigger/MenuTrigger.d.ts +3 -3
  160. package/lib/MenuTrigger/MenuTrigger.js +16 -16
  161. package/lib/MenuTrigger/MenuTrigger.types.d.ts +13 -13
  162. package/lib/MenuTrigger/MenuTrigger.types.js +1 -1
  163. package/lib/MenuTrigger/index.d.ts +1 -1
  164. package/lib/MenuTrigger/index.js +1 -1
  165. package/lib/MenuTrigger/useMenuTrigger.d.ts +1 -1
  166. package/lib/MenuTrigger/useMenuTrigger.js +70 -99
  167. package/lib/MenuTrigger/useMergeRefs.d.ts +1 -1
  168. package/lib/MenuTrigger/useMergeRefs.js +14 -16
  169. package/lib/__tests__/Menu.test.d.ts +1 -1
  170. package/lib/__tests__/Menu.test.js +122 -230
  171. package/lib/consts.d.ts +1 -1
  172. package/lib/consts.js +3 -3
  173. package/lib/context/index.d.ts +1 -1
  174. package/lib/context/index.js +1 -1
  175. package/lib/context/menuContext.d.ts +5 -5
  176. package/lib/context/menuContext.js +15 -15
  177. package/lib/context/menuListContext.d.ts +4 -4
  178. package/lib/context/menuListContext.js +12 -12
  179. package/lib/context/menuTriggerContext.d.ts +1 -1
  180. package/lib/context/menuTriggerContext.js +1 -1
  181. package/lib/index.d.ts +4 -26
  182. package/lib/index.js +2 -12
  183. package/lib-commonjs/Menu/Menu.d.ts +2 -2
  184. package/lib-commonjs/Menu/Menu.js +23 -25
  185. package/lib-commonjs/Menu/Menu.types.d.ts +47 -47
  186. package/lib-commonjs/Menu/Menu.types.js +6 -6
  187. package/lib-commonjs/Menu/index.d.ts +1 -1
  188. package/lib-commonjs/Menu/index.js +11 -31
  189. package/lib-commonjs/Menu/renderMenu.android.d.ts +2 -6
  190. package/lib-commonjs/Menu/renderMenu.android.js +14 -26
  191. package/lib-commonjs/Menu/renderMenu.d.ts +2 -6
  192. package/lib-commonjs/Menu/renderMenu.js +8 -11
  193. package/lib-commonjs/Menu/useMenu.android.d.ts +1 -1
  194. package/lib-commonjs/Menu/useMenu.android.js +280 -303
  195. package/lib-commonjs/Menu/useMenu.d.ts +1 -1
  196. package/lib-commonjs/Menu/useMenu.js +79 -86
  197. package/lib-commonjs/Menu/useMenuContextValue.d.ts +1 -1
  198. package/lib-commonjs/Menu/useMenuContextValue.js +10 -12
  199. package/lib-commonjs/MenuCallout/MenuCallout.android.d.ts +2 -2
  200. package/lib-commonjs/MenuCallout/MenuCallout.android.js +25 -48
  201. package/lib-commonjs/MenuCallout/MenuCallout.d.ts +2 -2
  202. package/lib-commonjs/MenuCallout/MenuCallout.js +12 -12
  203. package/lib-commonjs/MenuCallout/MenuCallout.types.d.ts +13 -13
  204. package/lib-commonjs/MenuCallout/MenuCallout.types.d.ts.map +1 -1
  205. package/lib-commonjs/MenuCallout/MenuCallout.types.js +3 -3
  206. package/lib-commonjs/MenuCallout/index.d.ts +1 -1
  207. package/lib-commonjs/MenuCallout/index.js +7 -17
  208. package/lib-commonjs/MenuDivider/MenuDivider.d.ts +2 -7
  209. package/lib-commonjs/MenuDivider/MenuDivider.js +19 -19
  210. package/lib-commonjs/MenuDivider/MenuDivider.styling.d.ts +1 -1
  211. package/lib-commonjs/MenuDivider/MenuDivider.styling.js +22 -25
  212. package/lib-commonjs/MenuDivider/MenuDivider.types.d.ts +12 -12
  213. package/lib-commonjs/MenuDivider/MenuDivider.types.js +3 -3
  214. package/lib-commonjs/MenuDivider/MenuDividerTokens.android.d.ts +1 -1
  215. package/lib-commonjs/MenuDivider/MenuDividerTokens.android.js +7 -7
  216. package/lib-commonjs/MenuDivider/MenuDividerTokens.d.ts +1 -1
  217. package/lib-commonjs/MenuDivider/MenuDividerTokens.js +7 -7
  218. package/lib-commonjs/MenuDivider/MenuDividerTokens.macos.d.ts +1 -1
  219. package/lib-commonjs/MenuDivider/MenuDividerTokens.macos.js +7 -7
  220. package/lib-commonjs/MenuDivider/MenuDividerTokens.win32.d.ts +1 -1
  221. package/lib-commonjs/MenuDivider/MenuDividerTokens.win32.js +7 -7
  222. package/lib-commonjs/MenuDivider/index.d.ts +1 -1
  223. package/lib-commonjs/MenuDivider/index.js +7 -17
  224. package/lib-commonjs/MenuGroup/MenuGroup.d.ts +2 -7
  225. package/lib-commonjs/MenuGroup/MenuGroup.js +62 -78
  226. package/lib-commonjs/MenuGroup/MenuGroup.types.d.ts +7 -7
  227. package/lib-commonjs/MenuGroup/MenuGroup.types.js +3 -3
  228. package/lib-commonjs/MenuGroup/index.d.ts +1 -1
  229. package/lib-commonjs/MenuGroup/index.js +7 -17
  230. package/lib-commonjs/MenuGroupHeader/MenuGroupHeader.d.ts +2 -7
  231. package/lib-commonjs/MenuGroupHeader/MenuGroupHeader.js +20 -20
  232. package/lib-commonjs/MenuGroupHeader/MenuGroupHeader.styling.d.ts +1 -1
  233. package/lib-commonjs/MenuGroupHeader/MenuGroupHeader.styling.js +19 -22
  234. package/lib-commonjs/MenuGroupHeader/MenuGroupHeader.types.d.ts +7 -7
  235. package/lib-commonjs/MenuGroupHeader/MenuGroupHeader.types.js +3 -3
  236. package/lib-commonjs/MenuGroupHeader/MenuGroupHeaderTokens.d.ts +1 -1
  237. package/lib-commonjs/MenuGroupHeader/MenuGroupHeaderTokens.js +10 -10
  238. package/lib-commonjs/MenuGroupHeader/MenuGroupHeaderTokens.macos.d.ts +1 -1
  239. package/lib-commonjs/MenuGroupHeader/MenuGroupHeaderTokens.macos.js +11 -11
  240. package/lib-commonjs/MenuGroupHeader/index.d.ts +1 -1
  241. package/lib-commonjs/MenuGroupHeader/index.js +7 -17
  242. package/lib-commonjs/MenuItem/MenuItem.d.ts +2 -7
  243. package/lib-commonjs/MenuItem/MenuItem.js +51 -73
  244. package/lib-commonjs/MenuItem/MenuItem.styling.d.ts +1 -1
  245. package/lib-commonjs/MenuItem/MenuItem.styling.js +59 -80
  246. package/lib-commonjs/MenuItem/MenuItem.types.d.ts +83 -83
  247. package/lib-commonjs/MenuItem/MenuItem.types.js +3 -3
  248. package/lib-commonjs/MenuItem/MenuItemTokens.android.d.ts +1 -1
  249. package/lib-commonjs/MenuItem/MenuItemTokens.android.js +20 -20
  250. package/lib-commonjs/MenuItem/MenuItemTokens.d.ts +1 -1
  251. package/lib-commonjs/MenuItem/MenuItemTokens.js +38 -38
  252. package/lib-commonjs/MenuItem/MenuItemTokens.macos.d.ts +1 -1
  253. package/lib-commonjs/MenuItem/MenuItemTokens.macos.js +37 -37
  254. package/lib-commonjs/MenuItem/MenuItemTokens.win32.d.ts +1 -1
  255. package/lib-commonjs/MenuItem/MenuItemTokens.win32.js +39 -39
  256. package/lib-commonjs/MenuItem/index.d.ts +1 -1
  257. package/lib-commonjs/MenuItem/index.js +9 -24
  258. package/lib-commonjs/MenuItem/useMenuItem.d.ts +1 -1
  259. package/lib-commonjs/MenuItem/useMenuItem.js +140 -169
  260. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.d.ts +3 -11
  261. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.js +37 -65
  262. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.styling.d.ts +1 -1
  263. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.styling.js +69 -91
  264. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.types.d.ts +89 -90
  265. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.types.d.ts.map +1 -1
  266. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.types.js +3 -3
  267. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckboxTokens.android.d.ts +1 -1
  268. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckboxTokens.android.js +38 -38
  269. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckboxTokens.d.ts +1 -1
  270. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckboxTokens.js +47 -47
  271. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckboxTokens.macos.d.ts +1 -1
  272. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckboxTokens.macos.js +45 -45
  273. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckboxTokens.win32.d.ts +1 -1
  274. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckboxTokens.win32.js +48 -48
  275. package/lib-commonjs/MenuItemCheckbox/index.d.ts +2 -8
  276. package/lib-commonjs/MenuItemCheckbox/index.js +10 -30
  277. package/lib-commonjs/MenuItemCheckbox/useMenuItemCheckbox.d.ts +2 -5
  278. package/lib-commonjs/MenuItemCheckbox/useMenuItemCheckbox.js +143 -185
  279. package/lib-commonjs/MenuItemRadio/MenuItemRadio.d.ts +3 -11
  280. package/lib-commonjs/MenuItemRadio/MenuItemRadio.js +37 -65
  281. package/lib-commonjs/MenuItemRadio/MenuItemRadio.styling.android.d.ts +1 -1
  282. package/lib-commonjs/MenuItemRadio/MenuItemRadio.styling.android.js +67 -88
  283. package/lib-commonjs/MenuItemRadio/MenuItemRadio.styling.d.ts +1 -1
  284. package/lib-commonjs/MenuItemRadio/MenuItemRadio.styling.js +51 -69
  285. package/lib-commonjs/MenuItemRadio/MenuItemRadio.types.d.ts +120 -121
  286. package/lib-commonjs/MenuItemRadio/MenuItemRadio.types.d.ts.map +1 -1
  287. package/lib-commonjs/MenuItemRadio/MenuItemRadio.types.js +3 -3
  288. package/lib-commonjs/MenuItemRadio/MenuItemRadioTokens.android.d.ts +1 -1
  289. package/lib-commonjs/MenuItemRadio/MenuItemRadioTokens.android.js +41 -41
  290. package/lib-commonjs/MenuItemRadio/MenuItemRadioTokens.d.ts +1 -1
  291. package/lib-commonjs/MenuItemRadio/MenuItemRadioTokens.js +48 -48
  292. package/lib-commonjs/MenuItemRadio/MenuItemRadioTokens.macos.d.ts +1 -1
  293. package/lib-commonjs/MenuItemRadio/MenuItemRadioTokens.macos.js +46 -46
  294. package/lib-commonjs/MenuItemRadio/index.d.ts +2 -8
  295. package/lib-commonjs/MenuItemRadio/index.js +9 -24
  296. package/lib-commonjs/MenuItemRadio/useMenuItemRadio.d.ts +1 -1
  297. package/lib-commonjs/MenuItemRadio/useMenuItemRadio.js +58 -78
  298. package/lib-commonjs/MenuList/MenuList.d.ts +2 -7
  299. package/lib-commonjs/MenuList/MenuList.js +69 -87
  300. package/lib-commonjs/MenuList/MenuList.styling.d.ts +1 -1
  301. package/lib-commonjs/MenuList/MenuList.styling.js +28 -34
  302. package/lib-commonjs/MenuList/MenuList.types.d.ts +72 -72
  303. package/lib-commonjs/MenuList/MenuList.types.js +3 -3
  304. package/lib-commonjs/MenuList/MenuListTokens.android.d.ts +1 -1
  305. package/lib-commonjs/MenuList/MenuListTokens.android.js +7 -7
  306. package/lib-commonjs/MenuList/MenuListTokens.d.ts +1 -1
  307. package/lib-commonjs/MenuList/MenuListTokens.js +9 -9
  308. package/lib-commonjs/MenuList/MenuListTokens.macos.d.ts +1 -1
  309. package/lib-commonjs/MenuList/MenuListTokens.macos.js +7 -7
  310. package/lib-commonjs/MenuList/MenuListTokens.win32.d.ts +1 -1
  311. package/lib-commonjs/MenuList/MenuListTokens.win32.js +12 -12
  312. package/lib-commonjs/MenuList/index.d.ts +1 -1
  313. package/lib-commonjs/MenuList/index.js +11 -31
  314. package/lib-commonjs/MenuList/useMenuList.d.ts +1 -1
  315. package/lib-commonjs/MenuList/useMenuList.js +151 -170
  316. package/lib-commonjs/MenuList/useMenuListContextValue.d.ts +1 -1
  317. package/lib-commonjs/MenuList/useMenuListContextValue.js +4 -4
  318. package/lib-commonjs/MenuPopover/MenuPopover.d.ts +3 -9
  319. package/lib-commonjs/MenuPopover/MenuPopover.d.ts.map +1 -1
  320. package/lib-commonjs/MenuPopover/MenuPopover.js +48 -50
  321. package/lib-commonjs/MenuPopover/MenuPopover.types.d.ts +14 -14
  322. package/lib-commonjs/MenuPopover/MenuPopover.types.d.ts.map +1 -1
  323. package/lib-commonjs/MenuPopover/MenuPopover.types.js +3 -3
  324. package/lib-commonjs/MenuPopover/MenuPopoverTokens.android.d.ts +3 -7
  325. package/lib-commonjs/MenuPopover/MenuPopoverTokens.android.d.ts.map +1 -1
  326. package/lib-commonjs/MenuPopover/MenuPopoverTokens.android.js +9 -12
  327. package/lib-commonjs/MenuPopover/MenuPopoverTokens.d.ts +3 -7
  328. package/lib-commonjs/MenuPopover/MenuPopoverTokens.d.ts.map +1 -1
  329. package/lib-commonjs/MenuPopover/MenuPopoverTokens.js +6 -9
  330. package/lib-commonjs/MenuPopover/MenuPopoverTokens.macos.d.ts +3 -7
  331. package/lib-commonjs/MenuPopover/MenuPopoverTokens.macos.d.ts.map +1 -1
  332. package/lib-commonjs/MenuPopover/MenuPopoverTokens.macos.js +12 -15
  333. package/lib-commonjs/MenuPopover/MenuPopoverTokens.macos.js.map +1 -1
  334. package/lib-commonjs/MenuPopover/index.d.ts +1 -1
  335. package/lib-commonjs/MenuPopover/index.js +9 -24
  336. package/lib-commonjs/MenuPopover/useMenuPopover.d.ts +2 -2
  337. package/lib-commonjs/MenuPopover/useMenuPopover.js +87 -106
  338. package/lib-commonjs/MenuPopover/useMenuPopover.js.map +1 -1
  339. package/lib-commonjs/MenuTrigger/MenuTrigger.d.ts +3 -3
  340. package/lib-commonjs/MenuTrigger/MenuTrigger.js +52 -69
  341. package/lib-commonjs/MenuTrigger/MenuTrigger.types.d.ts +13 -13
  342. package/lib-commonjs/MenuTrigger/MenuTrigger.types.js +3 -3
  343. package/lib-commonjs/MenuTrigger/index.d.ts +1 -1
  344. package/lib-commonjs/MenuTrigger/index.js +9 -24
  345. package/lib-commonjs/MenuTrigger/useMenuTrigger.d.ts +1 -1
  346. package/lib-commonjs/MenuTrigger/useMenuTrigger.js +80 -111
  347. package/lib-commonjs/MenuTrigger/useMergeRefs.d.ts +1 -1
  348. package/lib-commonjs/MenuTrigger/useMergeRefs.js +46 -65
  349. package/lib-commonjs/__tests__/Menu.test.d.ts +1 -1
  350. package/lib-commonjs/__tests__/Menu.test.js +169 -333
  351. package/lib-commonjs/consts.d.ts +1 -1
  352. package/lib-commonjs/consts.js +6 -6
  353. package/lib-commonjs/context/index.d.ts +1 -1
  354. package/lib-commonjs/context/index.js +16 -70
  355. package/lib-commonjs/context/menuContext.d.ts +5 -5
  356. package/lib-commonjs/context/menuContext.js +47 -64
  357. package/lib-commonjs/context/menuListContext.d.ts +4 -4
  358. package/lib-commonjs/context/menuListContext.js +44 -61
  359. package/lib-commonjs/context/menuTriggerContext.d.ts +1 -1
  360. package/lib-commonjs/context/menuTriggerContext.js +7 -9
  361. package/lib-commonjs/index.d.ts +4 -26
  362. package/lib-commonjs/index.js +56 -296
  363. package/package.json +28 -27
  364. package/src/MenuCallout/MenuCallout.types.ts +12 -13
  365. package/src/MenuItemCheckbox/MenuItemCheckbox.types.ts +4 -2
  366. package/src/MenuItemRadio/MenuItemRadio.types.ts +4 -2
  367. package/src/MenuPopover/MenuPopover.types.ts +12 -13
  368. package/src/MenuPopover/MenuPopoverTokens.macos.ts +2 -2
  369. package/src/MenuPopover/useMenuPopover.ts +1 -1
@@ -9,120 +9,110 @@ import { useMenuItemTracking } from '../MenuList/useMenuList';
9
9
  export const triggerKeys = [' ', 'Enter'];
10
10
  export const submenuTriggerKeys = ['ArrowLeft', 'ArrowRight', ...triggerKeys];
11
11
  export const useMenuItem = (props) => {
12
- // attach the pressable state handlers
13
- const defaultComponentRef = React.useRef(null);
14
- const { accessible, onClick, accessibilityState, componentRef = defaultComponentRef, disabled = false, persistOnClick, ...rest } = props;
15
- const { isSubmenu, persistOnItemClick, setOpen } = useMenuContext();
16
- const { hasCheckmarks, hasIcons, hasTooltips, onArrowClose } = useMenuListContext();
17
- const isTrigger = useMenuTriggerContext();
18
- const shouldPersist = persistOnClick ?? persistOnItemClick;
19
- const hasSubmenu = isSubmenu && isTrigger;
20
- const onInvoke = React.useCallback(
21
- (e) => {
22
- const isRtl = I18nManager.isRTL;
23
- const isArrowKey = isKeyPressEvent(e) && (e.nativeEvent.key === 'ArrowLeft' || e.nativeEvent.key === 'ArrowRight');
24
- const isArrowOpen =
25
- hasSubmenu &&
26
- isKeyPressEvent(e) &&
27
- ((isRtl && e.nativeEvent.key === 'ArrowLeft') || (!isRtl && e.nativeEvent.key === 'ArrowRight'));
28
- if (!disabled && (!isArrowKey || isArrowOpen)) {
29
- componentRef?.current?.blur();
30
- onClick?.(e);
31
- // For RN, ENTER / SPACE keypresses are handled by both the `onKey` event handlers and `onPress` handler. Because we
32
- // pass this callback into both `onKeyDown` and `onPress` props, we need to mark the event as handled for ENTER / SPACE
33
- // key presses so that we don't have duplicate `onClick` calls.
34
- e.preventDefault();
35
- }
36
- if (!hasSubmenu && !isArrowKey && !shouldPersist) {
37
- setOpen(e, false /*isOpen*/, true /*bubble*/);
38
- }
39
- const isArrowClose =
40
- isKeyPressEvent(e) && ((isRtl && e.nativeEvent.key === 'ArrowRight') || (!isRtl && e.nativeEvent.key === 'ArrowLeft'));
41
- if (isArrowClose) {
42
- onArrowClose?.(e);
43
- }
44
- },
45
- [componentRef, disabled, hasSubmenu, onArrowClose, onClick, setOpen, shouldPersist],
46
- );
47
- const pressable = usePressableState({ ...rest, onPress: onInvoke });
48
- const itemRef = useViewCommandFocus(componentRef);
49
- const keys = disabled ? [] : isSubmenu ? submenuTriggerKeys : triggerKeys;
50
- // Explicitly override onKeyDown to override the native behavior of moving focus with arrow keys.
51
- const onKeyDownProps = useKeyDownProps(onInvoke, ...keys);
52
- useHoverFocusEffect(pressable.state.hovered, componentRef);
53
- const [enableFocusRing, setEnableFocusRing] = React.useState(!pressable.state.hovered);
54
- const onHoverIn = React.useCallback(
55
- (e) => {
56
- pressable.props.onHoverIn(e);
57
- // when it's a hover focus, set enableFocusRing explicitly to false
58
- if (!pressable.state.focused) {
59
- setEnableFocusRing(false);
60
- }
61
- },
62
- [pressable],
63
- );
64
- const onFocus = React.useCallback(
65
- (e) => {
66
- pressable.props.onFocus(e);
67
- // when it's not a hover focus, set enableFocusRing explicitly to true
68
- if (!pressable.state.focused) {
69
- setEnableFocusRing(true);
70
- }
71
- },
72
- [pressable],
73
- );
74
- // Track the ref and disabled props on this menu item so the MenuList can handle Home and End keypresses.
75
- useMenuItemTracking(componentRef, disabled);
76
- return {
77
- props: {
78
- ...pressable.props,
79
- onHoverIn: Platform.select({
80
- macos: pressable.props.onHoverIn,
81
- default: onHoverIn, // win32
82
- }),
83
- onFocus: Platform.select({
84
- macos: pressable.props.onFocus,
85
- default: onFocus, // win32
86
- }),
87
- accessible: accessible ?? true,
88
- accessibilityRole: 'menuitem',
89
- onAccessibilityTap: props.onAccessibilityTap || onInvoke,
90
- accessibilityState: getAccessibilityState(disabled, accessibilityState),
91
- disabled,
92
- enableFocusRing: Platform.select({
93
- macos: false,
94
- default: enableFocusRing, // win32
95
- }),
96
- focusable: Platform.select({
97
- macos: !disabled,
98
- default: true, // win32
99
- }),
100
- ref: itemRef,
101
- ...onKeyDownProps,
102
- },
103
- state: {
104
- ...pressable.state,
105
- hasSubmenu,
106
- hasIcons,
107
- hasCheckmarks,
108
- hasTooltips,
109
- },
110
- };
12
+ // attach the pressable state handlers
13
+ const defaultComponentRef = React.useRef(null);
14
+ const { accessible, onClick, accessibilityState, componentRef = defaultComponentRef, disabled = false, persistOnClick, ...rest } = props;
15
+ const { isSubmenu, persistOnItemClick, setOpen } = useMenuContext();
16
+ const { hasCheckmarks, hasIcons, hasTooltips, onArrowClose } = useMenuListContext();
17
+ const isTrigger = useMenuTriggerContext();
18
+ const shouldPersist = persistOnClick ?? persistOnItemClick;
19
+ const hasSubmenu = isSubmenu && isTrigger;
20
+ const onInvoke = React.useCallback((e) => {
21
+ const isRtl = I18nManager.isRTL;
22
+ const isArrowKey = isKeyPressEvent(e) && (e.nativeEvent.key === 'ArrowLeft' || e.nativeEvent.key === 'ArrowRight');
23
+ const isArrowOpen = hasSubmenu &&
24
+ isKeyPressEvent(e) &&
25
+ ((isRtl && e.nativeEvent.key === 'ArrowLeft') || (!isRtl && e.nativeEvent.key === 'ArrowRight'));
26
+ if (!disabled && (!isArrowKey || isArrowOpen)) {
27
+ componentRef?.current?.blur();
28
+ onClick?.(e);
29
+ // For RN, ENTER / SPACE keypresses are handled by both the `onKey` event handlers and `onPress` handler. Because we
30
+ // pass this callback into both `onKeyDown` and `onPress` props, we need to mark the event as handled for ENTER / SPACE
31
+ // key presses so that we don't have duplicate `onClick` calls.
32
+ e.preventDefault();
33
+ }
34
+ if (!hasSubmenu && !isArrowKey && !shouldPersist) {
35
+ setOpen(e, false /*isOpen*/, true /*bubble*/);
36
+ }
37
+ const isArrowClose = isKeyPressEvent(e) && ((isRtl && e.nativeEvent.key === 'ArrowRight') || (!isRtl && e.nativeEvent.key === 'ArrowLeft'));
38
+ if (isArrowClose) {
39
+ onArrowClose?.(e);
40
+ }
41
+ }, [componentRef, disabled, hasSubmenu, onArrowClose, onClick, setOpen, shouldPersist]);
42
+ const pressable = usePressableState({ ...rest, onPress: onInvoke });
43
+ const itemRef = useViewCommandFocus(componentRef);
44
+ const keys = disabled ? [] : isSubmenu ? submenuTriggerKeys : triggerKeys;
45
+ // Explicitly override onKeyDown to override the native behavior of moving focus with arrow keys.
46
+ const onKeyDownProps = useKeyDownProps(onInvoke, ...keys);
47
+ useHoverFocusEffect(pressable.state.hovered, componentRef);
48
+ const [enableFocusRing, setEnableFocusRing] = React.useState(!pressable.state.hovered);
49
+ const onHoverIn = React.useCallback((e) => {
50
+ pressable.props.onHoverIn(e);
51
+ // when it's a hover focus, set enableFocusRing explicitly to false
52
+ if (!pressable.state.focused) {
53
+ setEnableFocusRing(false);
54
+ }
55
+ }, [pressable]);
56
+ const onFocus = React.useCallback((e) => {
57
+ pressable.props.onFocus(e);
58
+ // when it's not a hover focus, set enableFocusRing explicitly to true
59
+ if (!pressable.state.focused) {
60
+ setEnableFocusRing(true);
61
+ }
62
+ }, [pressable]);
63
+ // Track the ref and disabled props on this menu item so the MenuList can handle Home and End keypresses.
64
+ useMenuItemTracking(componentRef, disabled);
65
+ return {
66
+ props: {
67
+ ...pressable.props,
68
+ onHoverIn: Platform.select({
69
+ macos: pressable.props.onHoverIn,
70
+ default: onHoverIn, // win32
71
+ }),
72
+ onFocus: Platform.select({
73
+ macos: pressable.props.onFocus,
74
+ default: onFocus, // win32
75
+ }),
76
+ accessible: accessible ?? true,
77
+ accessibilityRole: 'menuitem',
78
+ onAccessibilityTap: props.onAccessibilityTap || onInvoke,
79
+ accessibilityState: getAccessibilityState(disabled, accessibilityState),
80
+ disabled,
81
+ enableFocusRing: Platform.select({
82
+ macos: false,
83
+ default: enableFocusRing, // win32
84
+ }),
85
+ focusable: Platform.select({
86
+ macos: !disabled,
87
+ default: true, // win32
88
+ }),
89
+ ref: itemRef,
90
+ ...onKeyDownProps,
91
+ },
92
+ state: {
93
+ ...pressable.state,
94
+ hasSubmenu,
95
+ hasIcons,
96
+ hasCheckmarks,
97
+ hasTooltips,
98
+ },
99
+ };
111
100
  };
112
101
  const getAccessibilityState = memoize(getAccessibilityStateWorker);
113
102
  function getAccessibilityStateWorker(disabled, accessibilityState) {
114
- if (accessibilityState) {
115
- return { disabled, ...accessibilityState };
116
- }
117
- return { disabled };
103
+ if (accessibilityState) {
104
+ return { disabled, ...accessibilityState };
105
+ }
106
+ return { disabled };
118
107
  }
119
108
  export const useHoverFocusEffect = (hovered, componentRef) => {
120
- React.useLayoutEffect(() => {
121
- if (hovered) {
122
- componentRef?.current?.focus();
123
- } else {
124
- componentRef?.current?.blur();
125
- }
126
- }, [hovered, componentRef]);
109
+ React.useLayoutEffect(() => {
110
+ if (hovered) {
111
+ componentRef?.current?.focus();
112
+ }
113
+ else {
114
+ componentRef?.current?.blur();
115
+ }
116
+ }, [hovered, componentRef]);
127
117
  };
128
- //# sourceMappingURL=useMenuItem.js.map
118
+ //# sourceMappingURL=useMenuItem.js.map
@@ -1,13 +1,5 @@
1
1
  import type { Slots, FinalRender } from '@fluentui-react-native/framework';
2
2
  import type { MenuItemCheckboxProps, MenuItemCheckboxSlotProps, MenuItemCheckboxInfo } from './MenuItemCheckbox.types';
3
- export declare const MenuItemCheckbox: import('@fluentui-react-native/framework').ComposableComponent<
4
- MenuItemCheckboxProps,
5
- MenuItemCheckboxSlotProps,
6
- import('./MenuItemCheckbox.types').MenuItemCheckboxTokens,
7
- import('@fluentui-react-native/framework-base').ObjectBase
8
- >;
9
- export declare const menuItemFinalRender: (
10
- menuItem: MenuItemCheckboxInfo,
11
- Slots: Slots<MenuItemCheckboxSlotProps>,
12
- ) => FinalRender<MenuItemCheckboxProps>;
13
- //# sourceMappingURL=MenuItemCheckbox.d.ts.map
3
+ export declare const MenuItemCheckbox: import("@fluentui-react-native/framework").ComposableComponent<MenuItemCheckboxProps, MenuItemCheckboxSlotProps, import("./MenuItemCheckbox.types").MenuItemCheckboxTokens, import("@fluentui-react-native/framework-base").ObjectBase>;
4
+ export declare const menuItemFinalRender: (menuItem: MenuItemCheckboxInfo, Slots: Slots<MenuItemCheckboxSlotProps>) => FinalRender<MenuItemCheckboxProps>;
5
+ //# sourceMappingURL=MenuItemCheckbox.d.ts.map
@@ -1,4 +1,4 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from '@fluentui-react-native/framework-base/jsx-runtime';
1
+ import { jsx as _jsx, jsxs as _jsxs } from "@fluentui-react-native/framework-base/jsx-runtime";
2
2
  import { Image, Platform, Pressable, View } from 'react-native';
3
3
  import { compose, mergeProps } from '@fluentui-react-native/framework';
4
4
  import { IconV1 as Icon } from '@fluentui-react-native/icon';
@@ -9,65 +9,37 @@ import { menuItemCheckboxName } from './MenuItemCheckbox.types';
9
9
  import { useMenuItemCheckbox } from './useMenuItemCheckbox';
10
10
  import { getAccessibilityLabel, getTooltip } from '../MenuItem/MenuItem';
11
11
  export const MenuItemCheckbox = compose({
12
- displayName: menuItemCheckboxName,
13
- ...stylingSettings,
14
- slots: {
15
- root: Pressable,
16
- ...(Platform.OS === 'android' && { checkbox: Pressable }),
17
- checkmark: SvgXml,
18
- content: Text,
19
- iconPlaceholder: View,
20
- imgIcon: Image,
21
- fontOrSvgIcon: Icon,
22
- },
23
- useRender: (userProps, useSlots) => {
24
- const menuItem = useMenuItemCheckbox(userProps);
25
- const Slots = useSlots(userProps, (layer) => menuItem.state[layer] || userProps[layer]);
26
- return menuItemFinalRender(menuItem, Slots);
27
- },
12
+ displayName: menuItemCheckboxName,
13
+ ...stylingSettings,
14
+ slots: {
15
+ root: Pressable,
16
+ ...(Platform.OS === 'android' && { checkbox: Pressable }),
17
+ checkmark: SvgXml,
18
+ content: Text,
19
+ iconPlaceholder: View,
20
+ imgIcon: Image,
21
+ fontOrSvgIcon: Icon,
22
+ },
23
+ useRender: (userProps, useSlots) => {
24
+ const menuItem = useMenuItemCheckbox(userProps);
25
+ const Slots = useSlots(userProps, (layer) => menuItem.state[layer] || userProps[layer]);
26
+ return menuItemFinalRender(menuItem, Slots);
27
+ },
28
28
  });
29
29
  export const menuItemFinalRender = (menuItem, Slots) => {
30
- return (final, ...children) => {
31
- const { accessibilityLabel, icon, tooltip, ...mergedProps } = mergeProps(menuItem.props, final);
32
- const checkmarkXml = `
30
+ return (final, ...children) => {
31
+ const { accessibilityLabel, icon, tooltip, ...mergedProps } = mergeProps(menuItem.props, final);
32
+ const checkmarkXml = `
33
33
  <svg>
34
34
  <path fill='currentColor' d='M9.85355 3.14645C10.0488 3.34171 10.0488 3.65829 9.85355 3.85355L5.35355 8.35355C5.15829 8.54882 4.84171 8.54882 4.64645 8.35355L2.64645 6.35355C2.45118 6.15829 2.45118 5.84171 2.64645 5.64645C2.84171 5.45118 3.15829 5.45118 3.35355 5.64645L5 7.29289L9.14645 3.14645C9.34171 2.95118 9.65829 2.95118 9.85355 3.14645Z' />
35
35
  </svg>`;
36
- const androidCheckmarkPath = `
36
+ const androidCheckmarkPath = `
37
37
  <svg>
38
38
  <path fill='currentColor' d='M9.76497 3.20474C10.0661 3.48915 10.0797 3.96383 9.79526 4.26497L5.54526 8.76497C5.40613 8.91228 5.21332 8.99703 5.01071 8.99993C4.8081 9.00282 4.61295 8.92361 4.46967 8.78033L2.21967 6.53033C1.92678 6.23744 1.92678 5.76257 2.21967 5.46967C2.51256 5.17678 2.98744 5.17678 3.28033 5.46967L4.98463 7.17397L8.70474 3.23503C8.98915 2.9339 9.46383 2.92033 9.76497 3.20474Z' />
39
39
  </svg>`;
40
- const label = getAccessibilityLabel(accessibilityLabel, children[0]);
41
- const tooltipResult = getTooltip(tooltip, menuItem.state.hasTooltips, children[0]);
42
- return _jsxs(Slots.root, {
43
- ...mergedProps,
44
- accessibilityLabel: label,
45
- children: [
46
- Platform.OS === 'android'
47
- ? _jsx(Slots.checkbox, {
48
- onPress: mergedProps.onPress,
49
- accessible: false,
50
- focusable: false,
51
- children: _jsx(Slots.checkmark, { xml: androidCheckmarkPath }),
52
- })
53
- : _jsx(Slots.checkmark, { accessible: false, xml: checkmarkXml }),
54
- (icon || menuItem.state.hasIcons) &&
55
- _jsxs(Slots.iconPlaceholder, {
56
- accessible: false,
57
- children: [
58
- icon && icon.source && _jsx(Slots.imgIcon, { accessible: false, ...icon }),
59
- icon && (icon.svgSource || icon.fontSource) && _jsx(Slots.fontOrSvgIcon, { accessible: false, ...icon }),
60
- ],
61
- }),
62
- children &&
63
- _jsx(Slots.content, {
64
- accessible: false,
65
- tooltip: tooltipResult,
66
- ...(tooltipResult && { alwaysShowToolTip: true }),
67
- children: children,
68
- }),
69
- ],
70
- });
71
- };
40
+ const label = getAccessibilityLabel(accessibilityLabel, children[0]);
41
+ const tooltipResult = getTooltip(tooltip, menuItem.state.hasTooltips, children[0]);
42
+ return (_jsxs(Slots.root, { ...mergedProps, accessibilityLabel: label, children: [Platform.OS === 'android' ? (_jsx(Slots.checkbox, { onPress: mergedProps.onPress, accessible: false, focusable: false, children: _jsx(Slots.checkmark, { xml: androidCheckmarkPath }) })) : (_jsx(Slots.checkmark, { accessible: false, xml: checkmarkXml })), (icon || menuItem.state.hasIcons) && (_jsxs(Slots.iconPlaceholder, { accessible: false, children: [icon && icon.source && _jsx(Slots.imgIcon, { accessible: false, ...icon }), icon && (icon.svgSource || icon.fontSource) && _jsx(Slots.fontOrSvgIcon, { accessible: false, ...icon })] })), children && (_jsx(Slots.content, { accessible: false, tooltip: tooltipResult, ...(tooltipResult && { alwaysShowToolTip: true }), children: children }))] }));
43
+ };
72
44
  };
73
- //# sourceMappingURL=MenuItemCheckbox.js.map
45
+ //# sourceMappingURL=MenuItemCheckbox.js.map
@@ -2,4 +2,4 @@ import type { UseStylingOptions } from '@fluentui-react-native/framework';
2
2
  import type { MenuItemCheckboxProps, MenuItemCheckboxTokens, MenuItemCheckboxSlotProps } from './MenuItemCheckbox.types';
3
3
  export declare const menuItemCheckboxStates: (keyof MenuItemCheckboxTokens)[];
4
4
  export declare const stylingSettings: UseStylingOptions<MenuItemCheckboxProps, MenuItemCheckboxSlotProps, MenuItemCheckboxTokens>;
5
- //# sourceMappingURL=MenuItemCheckbox.styling.d.ts.map
5
+ //# sourceMappingURL=MenuItemCheckbox.styling.d.ts.map
@@ -6,86 +6,67 @@ import { defaultMenuItemCheckboxTokens } from './MenuItemCheckboxTokens';
6
6
  export const menuItemCheckboxStates = ['hovered', 'focused', 'pressed', 'disabled', 'checked'];
7
7
  const hasPressRententionForA11y = Platform.OS === 'android';
8
8
  export const stylingSettings = {
9
- tokens: [defaultMenuItemCheckboxTokens, menuItemCheckboxName],
10
- states: menuItemCheckboxStates,
11
- slotProps: {
12
- root: buildProps(
13
- (tokens, theme) => ({
14
- style: {
15
- alignItems: 'center',
16
- backgroundColor: tokens.backgroundColor,
17
- display: 'flex',
18
- flexDirection: 'row',
19
- ...layoutStyles.from(tokens, theme),
20
- ...borderStyles.from(tokens, theme),
21
- },
22
- }),
23
- ['backgroundColor', ...borderStyles.keys, ...layoutStyles.keys],
24
- ),
25
- ...(Platform.OS === 'android' && {
26
- checkbox: buildProps(
27
- (tokens) => ({
28
- style: {
29
- height: tokens.checkboxSize,
30
- marginEnd: tokens.paddingHorizontal,
31
- width: tokens.checkboxSize,
32
- backgroundColor: tokens.checkboxBackgroundColor,
33
- borderColor: tokens.checkboxBorderColor,
34
- borderRadius: tokens.checkboxBorderRadius,
35
- borderWidth: tokens.checkboxBorderWidth,
36
- alignItems: 'center',
37
- justifyContent: 'center',
38
- },
39
- ...(hasPressRententionForA11y && {
40
- pressRetentionOffset:
41
- typeof tokens.padding === 'number' ? tokens.padding : typeof tokens.padding === 'string' ? parseFloat(tokens.padding) : 0, /// Retention of the press area outside of the checkbox equal to padding to match accessibility requirement
42
- }),
43
- android_ripple: { color: tokens.rippleColor, radius: tokens.checkmarkSize, foreground: true },
9
+ tokens: [defaultMenuItemCheckboxTokens, menuItemCheckboxName],
10
+ states: menuItemCheckboxStates,
11
+ slotProps: {
12
+ root: buildProps((tokens, theme) => ({
13
+ style: {
14
+ alignItems: 'center',
15
+ backgroundColor: tokens.backgroundColor,
16
+ display: 'flex',
17
+ flexDirection: 'row',
18
+ ...layoutStyles.from(tokens, theme),
19
+ ...borderStyles.from(tokens, theme),
20
+ },
21
+ }), ['backgroundColor', ...borderStyles.keys, ...layoutStyles.keys]),
22
+ ...(Platform.OS === 'android' && {
23
+ checkbox: buildProps((tokens) => ({
24
+ style: {
25
+ height: tokens.checkboxSize,
26
+ marginEnd: tokens.paddingHorizontal,
27
+ width: tokens.checkboxSize,
28
+ backgroundColor: tokens.checkboxBackgroundColor,
29
+ borderColor: tokens.checkboxBorderColor,
30
+ borderRadius: tokens.checkboxBorderRadius,
31
+ borderWidth: tokens.checkboxBorderWidth,
32
+ alignItems: 'center',
33
+ justifyContent: 'center',
34
+ },
35
+ ...(hasPressRententionForA11y && {
36
+ pressRetentionOffset: typeof tokens.padding === 'number' ? tokens.padding : typeof tokens.padding === 'string' ? parseFloat(tokens.padding) : 0, /// Retention of the press area outside of the checkbox equal to padding to match accessibility requirement
37
+ }),
38
+ android_ripple: { color: tokens.rippleColor, radius: tokens.checkmarkSize, foreground: true },
39
+ }), ['checkboxBackgroundColor', 'checkboxBorderColor', 'checkboxBorderRadius', 'checkboxBorderWidth', 'checkboxSize', 'rippleColor']),
44
40
  }),
45
- ['checkboxBackgroundColor', 'checkboxBorderColor', 'checkboxBorderRadius', 'checkboxBorderWidth', 'checkboxSize', 'rippleColor'],
46
- ),
47
- }),
48
- checkmark: buildProps(
49
- (tokens) => ({
50
- opacity: tokens.checkmarkVisibility,
51
- color: tokens.checkmarkColor ?? tokens.color,
52
- height: tokens.checkmarkSize,
53
- width: tokens.checkmarkSize,
54
- viewBox: '0 0 ' + (tokens.checkmarkSize - tokens.checkmarkPadding * 2) + ' ' + (tokens.checkmarkSize - tokens.checkmarkPadding * 2),
55
- ...(Platform.OS !== 'android' && { style: { marginEnd: tokens.gap } }),
56
- }),
57
- ['checkmarkPadding', 'checkmarkSize', 'checkmarkVisibility', 'color', 'gap'],
58
- ),
59
- content: buildProps(
60
- (tokens, theme) => ({
61
- style: {
62
- flexGrow: 1,
63
- color: tokens.color,
64
- ...(Platform.OS === 'android' && { flexShrink: 1 }),
65
- ...fontStyles.from(tokens, theme),
66
- },
67
- }),
68
- ['color', ...fontStyles.keys],
69
- ),
70
- iconPlaceholder: buildProps(
71
- (tokens) => ({
72
- style: {
73
- minHeight: tokens.iconSize,
74
- minWidth: tokens.iconSize,
75
- alignItems: 'center',
76
- justifyContent: 'center',
77
- marginEnd: tokens.gap,
78
- },
79
- }),
80
- ['checkmarkSize', 'gap'],
81
- ),
82
- imgIcon: buildProps(
83
- (tokens) => ({
84
- style: { tintColor: tokens.iconColor, height: tokens.iconSize, width: tokens.iconSize },
85
- }),
86
- ['gap', 'iconColor', 'iconSize'],
87
- ),
88
- fontOrSvgIcon: buildProps((tokens) => ({ color: tokens.iconColor, size: tokens.iconSize }), ['gap', 'iconColor', 'iconSize']),
89
- },
41
+ checkmark: buildProps((tokens) => ({
42
+ opacity: tokens.checkmarkVisibility,
43
+ color: tokens.checkmarkColor ?? tokens.color,
44
+ height: tokens.checkmarkSize,
45
+ width: tokens.checkmarkSize,
46
+ viewBox: '0 0 ' + (tokens.checkmarkSize - tokens.checkmarkPadding * 2) + ' ' + (tokens.checkmarkSize - tokens.checkmarkPadding * 2),
47
+ ...(Platform.OS !== 'android' && { style: { marginEnd: tokens.gap } }),
48
+ }), ['checkmarkPadding', 'checkmarkSize', 'checkmarkVisibility', 'color', 'gap']),
49
+ content: buildProps((tokens, theme) => ({
50
+ style: {
51
+ flexGrow: 1,
52
+ color: tokens.color,
53
+ ...(Platform.OS === 'android' && { flexShrink: 1 }),
54
+ ...fontStyles.from(tokens, theme),
55
+ },
56
+ }), ['color', ...fontStyles.keys]),
57
+ iconPlaceholder: buildProps((tokens) => ({
58
+ style: {
59
+ minHeight: tokens.iconSize,
60
+ minWidth: tokens.iconSize,
61
+ alignItems: 'center',
62
+ justifyContent: 'center',
63
+ marginEnd: tokens.gap,
64
+ },
65
+ }), ['checkmarkSize', 'gap']),
66
+ imgIcon: buildProps((tokens) => ({
67
+ style: { tintColor: tokens.iconColor, height: tokens.iconSize, width: tokens.iconSize },
68
+ }), ['gap', 'iconColor', 'iconSize']),
69
+ fontOrSvgIcon: buildProps((tokens) => ({ color: tokens.iconColor, size: tokens.iconSize }), ['gap', 'iconColor', 'iconSize']),
70
+ },
90
71
  };
91
- //# sourceMappingURL=MenuItemCheckbox.styling.js.map
72
+ //# sourceMappingURL=MenuItemCheckbox.styling.js.map