@fluentui-react-native/menu 1.4.33 → 1.5.0

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 (297) hide show
  1. package/CHANGELOG.json +67 -1
  2. package/CHANGELOG.md +24 -2
  3. package/lib/Menu/Menu.d.ts.map +1 -1
  4. package/lib/Menu/Menu.js +2 -6
  5. package/lib/Menu/Menu.js.map +1 -1
  6. package/lib/Menu/Menu.types.d.ts +20 -1
  7. package/lib/Menu/Menu.types.d.ts.map +1 -1
  8. package/lib/Menu/Menu.types.js +6 -0
  9. package/lib/Menu/Menu.types.js.map +1 -1
  10. package/lib/Menu/renderMenu.android.d.ts +5 -0
  11. package/lib/Menu/renderMenu.android.d.ts.map +1 -0
  12. package/lib/Menu/renderMenu.android.js +14 -0
  13. package/lib/Menu/renderMenu.android.js.map +1 -0
  14. package/lib/Menu/renderMenu.d.ts +5 -0
  15. package/lib/Menu/renderMenu.d.ts.map +1 -0
  16. package/lib/Menu/renderMenu.js +10 -0
  17. package/lib/Menu/renderMenu.js.map +1 -0
  18. package/lib/Menu/useMenu.android.d.ts +3 -0
  19. package/lib/Menu/useMenu.android.d.ts.map +1 -0
  20. package/lib/Menu/useMenu.android.js +257 -0
  21. package/lib/Menu/useMenu.android.js.map +1 -0
  22. package/lib/MenuCallout/MenuCallout.android.d.ts +4 -0
  23. package/lib/MenuCallout/MenuCallout.android.d.ts.map +1 -0
  24. package/lib/MenuCallout/MenuCallout.android.js +33 -0
  25. package/lib/MenuCallout/MenuCallout.android.js.map +1 -0
  26. package/lib/MenuCallout/MenuCallout.d.ts +4 -0
  27. package/lib/MenuCallout/MenuCallout.d.ts.map +1 -0
  28. package/lib/MenuCallout/MenuCallout.js +15 -0
  29. package/lib/MenuCallout/MenuCallout.js.map +1 -0
  30. package/lib/MenuCallout/MenuCallout.types.d.ts +18 -0
  31. package/lib/MenuCallout/MenuCallout.types.d.ts.map +1 -0
  32. package/lib/MenuCallout/MenuCallout.types.js +2 -0
  33. package/lib/MenuCallout/MenuCallout.types.js.map +1 -0
  34. package/lib/MenuCallout/index.d.ts +4 -0
  35. package/lib/MenuCallout/index.d.ts.map +1 -0
  36. package/lib/MenuCallout/index.js +3 -0
  37. package/lib/MenuCallout/index.js.map +1 -0
  38. package/lib/MenuDivider/MenuDivider.d.ts +2 -1
  39. package/lib/MenuDivider/MenuDivider.d.ts.map +1 -1
  40. package/lib/MenuDivider/MenuDivider.styling.d.ts.map +1 -1
  41. package/lib/MenuDivider/MenuDivider.styling.js +4 -8
  42. package/lib/MenuDivider/MenuDivider.styling.js.map +1 -1
  43. package/lib/MenuDivider/MenuDivider.types.d.ts +6 -1
  44. package/lib/MenuDivider/MenuDivider.types.d.ts.map +1 -1
  45. package/lib/MenuDivider/MenuDivider.types.js +1 -0
  46. package/lib/MenuDivider/MenuDivider.types.js.map +1 -1
  47. package/lib/MenuDivider/MenuDividerTokens.android.d.ts +5 -0
  48. package/lib/MenuDivider/MenuDividerTokens.android.d.ts.map +1 -0
  49. package/lib/MenuDivider/MenuDividerTokens.android.js +7 -0
  50. package/lib/MenuDivider/MenuDividerTokens.android.js.map +1 -0
  51. package/lib/MenuDivider/index.d.ts +1 -1
  52. package/lib/MenuDivider/index.d.ts.map +1 -1
  53. package/lib/MenuItem/MenuItem.styling.d.ts.map +1 -1
  54. package/lib/MenuItem/MenuItem.styling.js +2 -1
  55. package/lib/MenuItem/MenuItem.styling.js.map +1 -1
  56. package/lib/MenuItem/MenuItem.types.d.ts +4 -0
  57. package/lib/MenuItem/MenuItem.types.d.ts.map +1 -1
  58. package/lib/MenuItem/MenuItemTokens.android.d.ts +5 -0
  59. package/lib/MenuItem/MenuItemTokens.android.d.ts.map +1 -0
  60. package/lib/MenuItem/MenuItemTokens.android.js +20 -0
  61. package/lib/MenuItem/MenuItemTokens.android.js.map +1 -0
  62. package/lib/MenuItem/useMenuItem.d.ts.map +1 -1
  63. package/lib/MenuItem/useMenuItem.js.map +1 -1
  64. package/lib/MenuItemCheckbox/MenuItemCheckbox.d.ts.map +1 -1
  65. package/lib/MenuItemCheckbox/MenuItemCheckbox.js +5 -10
  66. package/lib/MenuItemCheckbox/MenuItemCheckbox.js.map +1 -1
  67. package/lib/MenuItemCheckbox/MenuItemCheckbox.styling.d.ts.map +1 -1
  68. package/lib/MenuItemCheckbox/MenuItemCheckbox.styling.js +25 -20
  69. package/lib/MenuItemCheckbox/MenuItemCheckbox.styling.js.map +1 -1
  70. package/lib/MenuItemCheckbox/MenuItemCheckbox.types.d.ts +40 -0
  71. package/lib/MenuItemCheckbox/MenuItemCheckbox.types.d.ts.map +1 -1
  72. package/lib/MenuItemCheckbox/MenuItemCheckboxTokens.android.d.ts +5 -0
  73. package/lib/MenuItemCheckbox/MenuItemCheckboxTokens.android.d.ts.map +1 -0
  74. package/lib/MenuItemCheckbox/MenuItemCheckboxTokens.android.js +41 -0
  75. package/lib/MenuItemCheckbox/MenuItemCheckboxTokens.android.js.map +1 -0
  76. package/lib/MenuItemRadio/MenuItemRadio.d.ts +6 -3
  77. package/lib/MenuItemRadio/MenuItemRadio.d.ts.map +1 -1
  78. package/lib/MenuItemRadio/MenuItemRadio.js +37 -9
  79. package/lib/MenuItemRadio/MenuItemRadio.js.map +1 -1
  80. package/lib/MenuItemRadio/MenuItemRadio.styling.android.d.ts +6 -0
  81. package/lib/MenuItemRadio/MenuItemRadio.styling.android.d.ts.map +1 -0
  82. package/lib/MenuItemRadio/MenuItemRadio.styling.android.js +57 -0
  83. package/lib/MenuItemRadio/MenuItemRadio.styling.android.js.map +1 -0
  84. package/lib/MenuItemRadio/MenuItemRadio.styling.d.ts +5 -0
  85. package/lib/MenuItemRadio/MenuItemRadio.styling.d.ts.map +1 -0
  86. package/lib/MenuItemRadio/MenuItemRadio.styling.js +37 -0
  87. package/lib/MenuItemRadio/MenuItemRadio.styling.js.map +1 -0
  88. package/lib/MenuItemRadio/MenuItemRadio.types.d.ts +162 -0
  89. package/lib/MenuItemRadio/MenuItemRadio.types.d.ts.map +1 -0
  90. package/lib/MenuItemRadio/MenuItemRadio.types.js +2 -0
  91. package/lib/MenuItemRadio/MenuItemRadio.types.js.map +1 -0
  92. package/lib/MenuItemRadio/MenuItemRadioTokens.android.d.ts +5 -0
  93. package/lib/MenuItemRadio/MenuItemRadioTokens.android.d.ts.map +1 -0
  94. package/lib/MenuItemRadio/MenuItemRadioTokens.android.js +44 -0
  95. package/lib/MenuItemRadio/MenuItemRadioTokens.android.js.map +1 -0
  96. package/lib/MenuItemRadio/MenuItemRadioTokens.d.ts +5 -0
  97. package/lib/MenuItemRadio/MenuItemRadioTokens.d.ts.map +1 -0
  98. package/lib/MenuItemRadio/MenuItemRadioTokens.js +52 -0
  99. package/lib/MenuItemRadio/MenuItemRadioTokens.js.map +1 -0
  100. package/lib/MenuItemRadio/index.d.ts +2 -1
  101. package/lib/MenuItemRadio/index.d.ts.map +1 -1
  102. package/lib/MenuItemRadio/index.js +1 -1
  103. package/lib/MenuItemRadio/index.js.map +1 -1
  104. package/lib/MenuItemRadio/useMenuItemRadio.d.ts +2 -2
  105. package/lib/MenuItemRadio/useMenuItemRadio.d.ts.map +1 -1
  106. package/lib/MenuItemRadio/useMenuItemRadio.js.map +1 -1
  107. package/lib/MenuList/MenuList.styling.d.ts.map +1 -1
  108. package/lib/MenuList/MenuList.styling.js +2 -1
  109. package/lib/MenuList/MenuList.styling.js.map +1 -1
  110. package/lib/MenuList/MenuList.types.d.ts +4 -0
  111. package/lib/MenuList/MenuList.types.d.ts.map +1 -1
  112. package/lib/MenuList/MenuListTokens.android.d.ts +5 -0
  113. package/lib/MenuList/MenuListTokens.android.d.ts.map +1 -0
  114. package/lib/MenuList/MenuListTokens.android.js +7 -0
  115. package/lib/MenuList/MenuListTokens.android.js.map +1 -0
  116. package/lib/MenuPopover/MenuPopover.d.ts +4 -2
  117. package/lib/MenuPopover/MenuPopover.d.ts.map +1 -1
  118. package/lib/MenuPopover/MenuPopover.js +2 -2
  119. package/lib/MenuPopover/MenuPopover.js.map +1 -1
  120. package/lib/MenuPopover/MenuPopover.types.d.ts +12 -1
  121. package/lib/MenuPopover/MenuPopover.types.d.ts.map +1 -1
  122. package/lib/MenuPopover/MenuPopoverTokens.android.d.ts +5 -0
  123. package/lib/MenuPopover/MenuPopoverTokens.android.d.ts.map +1 -0
  124. package/lib/MenuPopover/MenuPopoverTokens.android.js +14 -0
  125. package/lib/MenuPopover/MenuPopoverTokens.android.js.map +1 -0
  126. package/lib/MenuPopover/MenuPopoverTokens.d.ts +4 -2
  127. package/lib/MenuPopover/MenuPopoverTokens.d.ts.map +1 -1
  128. package/lib/index.d.ts +1 -1
  129. package/lib/index.d.ts.map +1 -1
  130. package/lib/index.js +1 -1
  131. package/lib/index.js.map +1 -1
  132. package/lib-commonjs/Menu/Menu.d.ts.map +1 -1
  133. package/lib-commonjs/Menu/Menu.js +2 -6
  134. package/lib-commonjs/Menu/Menu.js.map +1 -1
  135. package/lib-commonjs/Menu/Menu.types.d.ts +20 -1
  136. package/lib-commonjs/Menu/Menu.types.d.ts.map +1 -1
  137. package/lib-commonjs/Menu/Menu.types.js +7 -1
  138. package/lib-commonjs/Menu/Menu.types.js.map +1 -1
  139. package/lib-commonjs/Menu/renderMenu.android.d.ts +5 -0
  140. package/lib-commonjs/Menu/renderMenu.android.d.ts.map +1 -0
  141. package/lib-commonjs/Menu/renderMenu.android.js +19 -0
  142. package/lib-commonjs/Menu/renderMenu.android.js.map +1 -0
  143. package/lib-commonjs/Menu/renderMenu.d.ts +5 -0
  144. package/lib-commonjs/Menu/renderMenu.d.ts.map +1 -0
  145. package/lib-commonjs/Menu/renderMenu.js +15 -0
  146. package/lib-commonjs/Menu/renderMenu.js.map +1 -0
  147. package/lib-commonjs/Menu/useMenu.android.d.ts +3 -0
  148. package/lib-commonjs/Menu/useMenu.android.d.ts.map +1 -0
  149. package/lib-commonjs/Menu/useMenu.android.js +261 -0
  150. package/lib-commonjs/Menu/useMenu.android.js.map +1 -0
  151. package/lib-commonjs/MenuCallout/MenuCallout.android.d.ts +4 -0
  152. package/lib-commonjs/MenuCallout/MenuCallout.android.d.ts.map +1 -0
  153. package/lib-commonjs/MenuCallout/MenuCallout.android.js +36 -0
  154. package/lib-commonjs/MenuCallout/MenuCallout.android.js.map +1 -0
  155. package/lib-commonjs/MenuCallout/MenuCallout.d.ts +4 -0
  156. package/lib-commonjs/MenuCallout/MenuCallout.d.ts.map +1 -0
  157. package/lib-commonjs/MenuCallout/MenuCallout.js +18 -0
  158. package/lib-commonjs/MenuCallout/MenuCallout.js.map +1 -0
  159. package/lib-commonjs/MenuCallout/MenuCallout.types.d.ts +18 -0
  160. package/lib-commonjs/MenuCallout/MenuCallout.types.d.ts.map +1 -0
  161. package/lib-commonjs/MenuCallout/MenuCallout.types.js +5 -0
  162. package/lib-commonjs/MenuCallout/MenuCallout.types.js.map +1 -0
  163. package/lib-commonjs/MenuCallout/index.d.ts +4 -0
  164. package/lib-commonjs/MenuCallout/index.d.ts.map +1 -0
  165. package/lib-commonjs/MenuCallout/index.js +8 -0
  166. package/lib-commonjs/MenuCallout/index.js.map +1 -0
  167. package/lib-commonjs/MenuDivider/MenuDivider.d.ts +2 -1
  168. package/lib-commonjs/MenuDivider/MenuDivider.d.ts.map +1 -1
  169. package/lib-commonjs/MenuDivider/MenuDivider.styling.d.ts.map +1 -1
  170. package/lib-commonjs/MenuDivider/MenuDivider.styling.js +4 -8
  171. package/lib-commonjs/MenuDivider/MenuDivider.styling.js.map +1 -1
  172. package/lib-commonjs/MenuDivider/MenuDivider.types.d.ts +6 -1
  173. package/lib-commonjs/MenuDivider/MenuDivider.types.d.ts.map +1 -1
  174. package/lib-commonjs/MenuDivider/MenuDivider.types.js +2 -1
  175. package/lib-commonjs/MenuDivider/MenuDivider.types.js.map +1 -1
  176. package/lib-commonjs/MenuDivider/MenuDividerTokens.android.d.ts +5 -0
  177. package/lib-commonjs/MenuDivider/MenuDividerTokens.android.d.ts.map +1 -0
  178. package/lib-commonjs/MenuDivider/MenuDividerTokens.android.js +11 -0
  179. package/lib-commonjs/MenuDivider/MenuDividerTokens.android.js.map +1 -0
  180. package/lib-commonjs/MenuDivider/index.d.ts +1 -1
  181. package/lib-commonjs/MenuDivider/index.d.ts.map +1 -1
  182. package/lib-commonjs/MenuItem/MenuItem.styling.d.ts.map +1 -1
  183. package/lib-commonjs/MenuItem/MenuItem.styling.js +2 -1
  184. package/lib-commonjs/MenuItem/MenuItem.styling.js.map +1 -1
  185. package/lib-commonjs/MenuItem/MenuItem.types.d.ts +4 -0
  186. package/lib-commonjs/MenuItem/MenuItem.types.d.ts.map +1 -1
  187. package/lib-commonjs/MenuItem/MenuItemTokens.android.d.ts +5 -0
  188. package/lib-commonjs/MenuItem/MenuItemTokens.android.d.ts.map +1 -0
  189. package/lib-commonjs/MenuItem/MenuItemTokens.android.js +24 -0
  190. package/lib-commonjs/MenuItem/MenuItemTokens.android.js.map +1 -0
  191. package/lib-commonjs/MenuItem/useMenuItem.d.ts.map +1 -1
  192. package/lib-commonjs/MenuItem/useMenuItem.js.map +1 -1
  193. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.d.ts.map +1 -1
  194. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.js +4 -9
  195. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.js.map +1 -1
  196. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.styling.d.ts.map +1 -1
  197. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.styling.js +25 -20
  198. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.styling.js.map +1 -1
  199. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.types.d.ts +40 -0
  200. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.types.d.ts.map +1 -1
  201. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckboxTokens.android.d.ts +5 -0
  202. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckboxTokens.android.d.ts.map +1 -0
  203. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckboxTokens.android.js +45 -0
  204. package/lib-commonjs/MenuItemCheckbox/MenuItemCheckboxTokens.android.js.map +1 -0
  205. package/lib-commonjs/MenuItemRadio/MenuItemRadio.d.ts +6 -3
  206. package/lib-commonjs/MenuItemRadio/MenuItemRadio.d.ts.map +1 -1
  207. package/lib-commonjs/MenuItemRadio/MenuItemRadio.js +39 -10
  208. package/lib-commonjs/MenuItemRadio/MenuItemRadio.js.map +1 -1
  209. package/lib-commonjs/MenuItemRadio/MenuItemRadio.styling.android.d.ts +6 -0
  210. package/lib-commonjs/MenuItemRadio/MenuItemRadio.styling.android.d.ts.map +1 -0
  211. package/lib-commonjs/MenuItemRadio/MenuItemRadio.styling.android.js +60 -0
  212. package/lib-commonjs/MenuItemRadio/MenuItemRadio.styling.android.js.map +1 -0
  213. package/lib-commonjs/MenuItemRadio/MenuItemRadio.styling.d.ts +5 -0
  214. package/lib-commonjs/MenuItemRadio/MenuItemRadio.styling.d.ts.map +1 -0
  215. package/lib-commonjs/MenuItemRadio/MenuItemRadio.styling.js +40 -0
  216. package/lib-commonjs/MenuItemRadio/MenuItemRadio.styling.js.map +1 -0
  217. package/lib-commonjs/MenuItemRadio/MenuItemRadio.types.d.ts +162 -0
  218. package/lib-commonjs/MenuItemRadio/MenuItemRadio.types.d.ts.map +1 -0
  219. package/lib-commonjs/MenuItemRadio/MenuItemRadio.types.js +5 -0
  220. package/lib-commonjs/MenuItemRadio/MenuItemRadio.types.js.map +1 -0
  221. package/lib-commonjs/MenuItemRadio/MenuItemRadioTokens.android.d.ts +5 -0
  222. package/lib-commonjs/MenuItemRadio/MenuItemRadioTokens.android.d.ts.map +1 -0
  223. package/lib-commonjs/MenuItemRadio/MenuItemRadioTokens.android.js +48 -0
  224. package/lib-commonjs/MenuItemRadio/MenuItemRadioTokens.android.js.map +1 -0
  225. package/lib-commonjs/MenuItemRadio/MenuItemRadioTokens.d.ts +5 -0
  226. package/lib-commonjs/MenuItemRadio/MenuItemRadioTokens.d.ts.map +1 -0
  227. package/lib-commonjs/MenuItemRadio/MenuItemRadioTokens.js +56 -0
  228. package/lib-commonjs/MenuItemRadio/MenuItemRadioTokens.js.map +1 -0
  229. package/lib-commonjs/MenuItemRadio/index.d.ts +2 -1
  230. package/lib-commonjs/MenuItemRadio/index.d.ts.map +1 -1
  231. package/lib-commonjs/MenuItemRadio/index.js +1 -2
  232. package/lib-commonjs/MenuItemRadio/index.js.map +1 -1
  233. package/lib-commonjs/MenuItemRadio/useMenuItemRadio.d.ts +2 -2
  234. package/lib-commonjs/MenuItemRadio/useMenuItemRadio.d.ts.map +1 -1
  235. package/lib-commonjs/MenuItemRadio/useMenuItemRadio.js.map +1 -1
  236. package/lib-commonjs/MenuList/MenuList.styling.d.ts.map +1 -1
  237. package/lib-commonjs/MenuList/MenuList.styling.js +2 -1
  238. package/lib-commonjs/MenuList/MenuList.styling.js.map +1 -1
  239. package/lib-commonjs/MenuList/MenuList.types.d.ts +4 -0
  240. package/lib-commonjs/MenuList/MenuList.types.d.ts.map +1 -1
  241. package/lib-commonjs/MenuList/MenuListTokens.android.d.ts +5 -0
  242. package/lib-commonjs/MenuList/MenuListTokens.android.d.ts.map +1 -0
  243. package/lib-commonjs/MenuList/MenuListTokens.android.js +11 -0
  244. package/lib-commonjs/MenuList/MenuListTokens.android.js.map +1 -0
  245. package/lib-commonjs/MenuPopover/MenuPopover.d.ts +4 -2
  246. package/lib-commonjs/MenuPopover/MenuPopover.d.ts.map +1 -1
  247. package/lib-commonjs/MenuPopover/MenuPopover.js +2 -2
  248. package/lib-commonjs/MenuPopover/MenuPopover.js.map +1 -1
  249. package/lib-commonjs/MenuPopover/MenuPopover.types.d.ts +12 -1
  250. package/lib-commonjs/MenuPopover/MenuPopover.types.d.ts.map +1 -1
  251. package/lib-commonjs/MenuPopover/MenuPopoverTokens.android.d.ts +5 -0
  252. package/lib-commonjs/MenuPopover/MenuPopoverTokens.android.d.ts.map +1 -0
  253. package/lib-commonjs/MenuPopover/MenuPopoverTokens.android.js +17 -0
  254. package/lib-commonjs/MenuPopover/MenuPopoverTokens.android.js.map +1 -0
  255. package/lib-commonjs/MenuPopover/MenuPopoverTokens.d.ts +4 -2
  256. package/lib-commonjs/MenuPopover/MenuPopoverTokens.d.ts.map +1 -1
  257. package/lib-commonjs/index.d.ts +1 -1
  258. package/lib-commonjs/index.d.ts.map +1 -1
  259. package/lib-commonjs/index.js +1 -2
  260. package/lib-commonjs/index.js.map +1 -1
  261. package/package.json +7 -7
  262. package/src/Menu/Menu.tsx +3 -13
  263. package/src/Menu/Menu.types.ts +22 -1
  264. package/src/Menu/renderMenu.android.tsx +26 -0
  265. package/src/Menu/renderMenu.tsx +18 -0
  266. package/src/Menu/useMenu.android.ts +325 -0
  267. package/src/MenuCallout/MenuCallout.android.tsx +60 -0
  268. package/src/MenuCallout/MenuCallout.tsx +20 -0
  269. package/src/MenuCallout/MenuCallout.types.ts +22 -0
  270. package/src/MenuCallout/index.ts +3 -0
  271. package/src/MenuDivider/MenuDivider.styling.ts +4 -0
  272. package/src/MenuDivider/MenuDivider.types.ts +7 -1
  273. package/src/MenuDivider/MenuDividerTokens.android.ts +11 -0
  274. package/src/MenuDivider/index.ts +1 -1
  275. package/src/MenuItem/MenuItem.styling.ts +3 -1
  276. package/src/MenuItem/MenuItem.types.ts +5 -0
  277. package/src/MenuItem/MenuItemTokens.android.ts +24 -0
  278. package/src/MenuItem/useMenuItem.ts +0 -1
  279. package/src/MenuItemCheckbox/MenuItemCheckbox.styling.ts +29 -2
  280. package/src/MenuItemCheckbox/MenuItemCheckbox.tsx +15 -2
  281. package/src/MenuItemCheckbox/MenuItemCheckbox.types.ts +47 -0
  282. package/src/MenuItemCheckbox/MenuItemCheckboxTokens.android.ts +46 -0
  283. package/src/MenuItemRadio/MenuItemRadio.styling.android.ts +98 -0
  284. package/src/MenuItemRadio/MenuItemRadio.styling.ts +75 -0
  285. package/src/MenuItemRadio/MenuItemRadio.tsx +68 -9
  286. package/src/MenuItemRadio/MenuItemRadio.types.ts +190 -0
  287. package/src/MenuItemRadio/MenuItemRadioTokens.android.ts +51 -0
  288. package/src/MenuItemRadio/MenuItemRadioTokens.ts +56 -0
  289. package/src/MenuItemRadio/index.ts +9 -1
  290. package/src/MenuItemRadio/useMenuItemRadio.ts +2 -2
  291. package/src/MenuList/MenuList.styling.ts +3 -0
  292. package/src/MenuList/MenuList.types.ts +5 -0
  293. package/src/MenuList/MenuListTokens.android.ts +11 -0
  294. package/src/MenuPopover/MenuPopover.tsx +6 -2
  295. package/src/MenuPopover/MenuPopover.types.ts +14 -1
  296. package/src/MenuPopover/MenuPopoverTokens.android.ts +21 -0
  297. package/src/index.ts +10 -1
package/CHANGELOG.json CHANGED
@@ -2,7 +2,73 @@
2
2
  "name": "@fluentui-react-native/menu",
3
3
  "entries": [
4
4
  {
5
- "date": "Fri, 24 Mar 2023 15:52:17 GMT",
5
+ "date": "Wed, 12 Apr 2023 18:41:19 GMT",
6
+ "tag": "@fluentui-react-native/menu_v1.5.0",
7
+ "version": "1.5.0",
8
+ "comments": {
9
+ "minor": [
10
+ {
11
+ "author": "rohanpd.work@gmail.com",
12
+ "package": "@fluentui-react-native/menu",
13
+ "commit": "34d89fc8baf0f1438c6e5420a0ef75bf3be3fc49",
14
+ "comment": "menu radio strcutured"
15
+ },
16
+ {
17
+ "author": "beachball",
18
+ "package": "@fluentui-react-native/menu",
19
+ "comment": "Bump @fluentui-react-native/button to v0.32.50",
20
+ "commit": "42f64ddb244764adf58f95b463b2638d0989b148"
21
+ }
22
+ ]
23
+ }
24
+ },
25
+ {
26
+ "date": "Mon, 10 Apr 2023 19:48:24 GMT",
27
+ "tag": "@fluentui-react-native/menu_v1.4.34",
28
+ "version": "1.4.34",
29
+ "comments": {
30
+ "patch": [
31
+ {
32
+ "author": "beachball",
33
+ "package": "@fluentui-react-native/menu",
34
+ "comment": "Bump @fluentui-react-native/callout to v0.23.12",
35
+ "commit": "fd67dc8a7f2d938086f0b5d3eebd13b12a8d0f7c"
36
+ },
37
+ {
38
+ "author": "beachball",
39
+ "package": "@fluentui-react-native/menu",
40
+ "comment": "Bump @fluentui-react-native/focus-zone to v0.11.41",
41
+ "commit": "fd67dc8a7f2d938086f0b5d3eebd13b12a8d0f7c"
42
+ },
43
+ {
44
+ "author": "beachball",
45
+ "package": "@fluentui-react-native/menu",
46
+ "comment": "Bump @fluentui-react-native/icon to v0.17.25",
47
+ "commit": "fd67dc8a7f2d938086f0b5d3eebd13b12a8d0f7c"
48
+ },
49
+ {
50
+ "author": "beachball",
51
+ "package": "@fluentui-react-native/menu",
52
+ "comment": "Bump @fluentui-react-native/interactive-hooks to v0.22.29",
53
+ "commit": "fd67dc8a7f2d938086f0b5d3eebd13b12a8d0f7c"
54
+ },
55
+ {
56
+ "author": "beachball",
57
+ "package": "@fluentui-react-native/menu",
58
+ "comment": "Bump @fluentui-react-native/text to v0.19.31",
59
+ "commit": "fd67dc8a7f2d938086f0b5d3eebd13b12a8d0f7c"
60
+ },
61
+ {
62
+ "author": "beachball",
63
+ "package": "@fluentui-react-native/menu",
64
+ "comment": "Bump @fluentui-react-native/button to v0.32.49",
65
+ "commit": "fd67dc8a7f2d938086f0b5d3eebd13b12a8d0f7c"
66
+ }
67
+ ]
68
+ }
69
+ },
70
+ {
71
+ "date": "Fri, 24 Mar 2023 15:52:40 GMT",
6
72
  "tag": "@fluentui-react-native/menu_v1.4.33",
7
73
  "version": "1.4.33",
8
74
  "comments": {
package/CHANGELOG.md CHANGED
@@ -1,12 +1,34 @@
1
1
  # Change Log - @fluentui-react-native/menu
2
2
 
3
- This log was last generated on Fri, 24 Mar 2023 15:52:17 GMT and should not be manually modified.
3
+ This log was last generated on Wed, 12 Apr 2023 18:41:19 GMT and should not be manually modified.
4
4
 
5
5
  <!-- Start content -->
6
6
 
7
+ ## 1.5.0
8
+
9
+ Wed, 12 Apr 2023 18:41:19 GMT
10
+
11
+ ### Minor changes
12
+
13
+ - menu radio strcutured (rohanpd.work@gmail.com)
14
+ - Bump @fluentui-react-native/button to v0.32.50
15
+
16
+ ## 1.4.34
17
+
18
+ Mon, 10 Apr 2023 19:48:24 GMT
19
+
20
+ ### Patches
21
+
22
+ - Bump @fluentui-react-native/callout to v0.23.12
23
+ - Bump @fluentui-react-native/focus-zone to v0.11.41
24
+ - Bump @fluentui-react-native/icon to v0.17.25
25
+ - Bump @fluentui-react-native/interactive-hooks to v0.22.29
26
+ - Bump @fluentui-react-native/text to v0.19.31
27
+ - Bump @fluentui-react-native/button to v0.32.49
28
+
7
29
  ## 1.4.33
8
30
 
9
- Fri, 24 Mar 2023 15:52:17 GMT
31
+ Fri, 24 Mar 2023 15:52:40 GMT
10
32
 
11
33
  ### Patches
12
34
 
@@ -1 +1 @@
1
- {"version":3,"file":"Menu.d.ts","sourceRoot":"","sources":["../../src/Menu/Menu.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAM9C,eAAO,MAAM,IAAI,0EA0Bf,CAAC;AAGH,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"Menu.d.ts","sourceRoot":"","sources":["../../src/Menu/Menu.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAM9C,eAAO,MAAM,IAAI,0EAef,CAAC;AAIH,eAAe,IAAI,CAAC"}
package/lib/Menu/Menu.js CHANGED
@@ -1,9 +1,9 @@
1
1
  import React from 'react';
2
2
  import { stagedComponent } from '@fluentui-react-native/framework';
3
3
  import { menuName } from './Menu.types';
4
+ import { renderFinalMenu } from './renderMenu';
4
5
  import { useMenu } from './useMenu';
5
6
  import { useMenuContextValue } from './useMenuContextValue';
6
- import { MenuProvider } from '../context/menuContext';
7
7
  export var Menu = stagedComponent(function (props) {
8
8
  var state = useMenu(props);
9
9
  var contextValue = useMenuContextValue(state);
@@ -15,11 +15,7 @@ export var Menu = stagedComponent(function (props) {
15
15
  console.warn('Menu must contain two children');
16
16
  }
17
17
  }
18
- var menuTrigger = childrenArray[0];
19
- var menuPopover = childrenArray[1];
20
- return (React.createElement(MenuProvider, { value: contextValue },
21
- menuTrigger,
22
- state.open && state.shouldFocusOnContainer !== undefined && menuPopover));
18
+ return renderFinalMenu(childrenArray, contextValue, state);
23
19
  };
24
20
  });
25
21
  Menu.displayName = menuName;
@@ -1 +1 @@
1
- {"version":3,"file":"Menu.js","sourceRoot":"","sources":["../../src/Menu/Menu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAGnE,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,MAAM,CAAC,IAAM,IAAI,GAAG,eAAe,CAAC,UAAC,KAAgB;IACnD,IAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAC7B,IAAM,YAAY,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAEhD,OAAO,UAAC,KAAgB,EAAE,QAAyB;QACjD,IAAM,aAAa,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAyB,CAAC;QAE/E,IAAI,OAAO,EAAE;YACX,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC9B,sCAAsC;gBACtC,OAAO,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;aAChD;SACF;QAED,IAAM,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QACrC,IAAM,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QAErC,OAAO,CACL,oBAAC,YAAY,IAAC,KAAK,EAAE,YAAY;YAC9B,WAAW;YAGX,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,sBAAsB,KAAK,SAAS,IAAI,WAAW,CAC3D,CAChB,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AACH,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC;AAE5B,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"Menu.js","sourceRoot":"","sources":["../../src/Menu/Menu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAGnE,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,CAAC,IAAM,IAAI,GAAG,eAAe,CAAC,UAAC,KAAgB;IACnD,IAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAC7B,IAAM,YAAY,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAEhD,OAAO,UAAC,KAAgB,EAAE,QAAyB;QACjD,IAAM,aAAa,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAyB,CAAC;QAE/E,IAAI,OAAO,EAAE;YACX,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC9B,sCAAsC;gBACtC,OAAO,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;aAChD;SACF;QACD,OAAO,eAAe,CAAC,aAAa,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;IAC7D,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC;AAE5B,eAAe,IAAI,CAAC"}
@@ -1,6 +1,6 @@
1
1
  /// <reference types="node" />
2
2
  import type React from 'react';
3
- import type { View } from 'react-native';
3
+ import type { Animated, LayoutChangeEvent, View } from 'react-native';
4
4
  import type { InteractionEvent } from '@fluentui-react-native/interactive-hooks';
5
5
  import type { MenuListProps } from '../MenuList/MenuList.types';
6
6
  export declare const menuName = "Menu";
@@ -27,6 +27,10 @@ export interface MenuProps extends MenuListProps {
27
27
  */
28
28
  persistOnItemClick?: boolean;
29
29
  }
30
+ export type MenuSizeType = {
31
+ width: Animated.Value;
32
+ height: Animated.Value;
33
+ };
30
34
  export interface MenuState extends MenuProps {
31
35
  isControlled: boolean;
32
36
  isSubmenu: boolean;
@@ -36,5 +40,20 @@ export interface MenuState extends MenuProps {
36
40
  triggerRef: React.RefObject<View>;
37
41
  hasMaxHeight?: boolean;
38
42
  hasMaxWidth?: boolean;
43
+ setAnchorWidth?: (value: null | number | ((prevState: null | number) => null | number)) => void;
44
+ shadowMenuContainerStyle?: object;
45
+ _container?: React.MutableRefObject<View>;
46
+ onRequestClose?: (e: InteractionEvent) => void;
47
+ onMenuLayout?: (e: LayoutChangeEvent) => void;
48
+ menuHeight?: number;
49
+ maxMenuHeight?: number;
50
+ animationStarted?: boolean;
51
+ menuSize?: MenuSizeType;
52
+ testID?: string;
53
+ }
54
+ export declare enum AndroidMenuStates {
55
+ Hidden = 0,
56
+ Animating = 1,
57
+ Shown = 2
39
58
  }
40
59
  //# sourceMappingURL=Menu.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Menu.types.d.ts","sourceRoot":"","sources":["../../src/Menu/Menu.types.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAEjF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAEhE,eAAO,MAAM,QAAQ,SAAS,CAAC;AAE/B,MAAM,WAAW,SAAU,SAAQ,aAAa;IAC9C;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,gBAAgB,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IAK9D,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;OAEG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,SAAU,SAAQ,SAAS;IAC1C,YAAY,EAAE,OAAO,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,0BAA0B,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC;IAC5C,OAAO,EAAE,CAAC,CAAC,EAAE,gBAAgB,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1E,sBAAsB,EAAE,OAAO,CAAC;IAChC,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAClC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB"}
1
+ {"version":3,"file":"Menu.types.d.ts","sourceRoot":"","sources":["../../src/Menu/Menu.types.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,QAAQ,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEtE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAEjF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAEhE,eAAO,MAAM,QAAQ,SAAS,CAAC;AAE/B,MAAM,WAAW,SAAU,SAAQ,aAAa;IAC9C;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,gBAAgB,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IAK9D,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;OAEG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC;IACtB,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC;CACxB,CAAC;AAEF,MAAM,WAAW,SAAU,SAAQ,SAAS;IAC1C,YAAY,EAAE,OAAO,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,0BAA0B,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC;IAC5C,OAAO,EAAE,CAAC,CAAC,EAAE,gBAAgB,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1E,sBAAsB,EAAE,OAAO,CAAC;IAChC,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAClC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,GAAG,MAAM,GAAG,CAAC,CAAC,SAAS,EAAE,IAAI,GAAG,MAAM,KAAK,IAAI,GAAG,MAAM,CAAC,KAAK,IAAI,CAAC;IAChG,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,UAAU,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAC1C,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC/C,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC9C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,oBAAY,iBAAiB;IAC3B,MAAM,IAAA;IACN,SAAS,IAAA;IACT,KAAK,IAAA;CACN"}
@@ -1,2 +1,8 @@
1
1
  export var menuName = 'Menu';
2
+ export var AndroidMenuStates;
3
+ (function (AndroidMenuStates) {
4
+ AndroidMenuStates[AndroidMenuStates["Hidden"] = 0] = "Hidden";
5
+ AndroidMenuStates[AndroidMenuStates["Animating"] = 1] = "Animating";
6
+ AndroidMenuStates[AndroidMenuStates["Shown"] = 2] = "Shown";
7
+ })(AndroidMenuStates || (AndroidMenuStates = {}));
2
8
  //# sourceMappingURL=Menu.types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Menu.types.js","sourceRoot":"","sources":["../../src/Menu/Menu.types.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,IAAM,QAAQ,GAAG,MAAM,CAAC"}
1
+ {"version":3,"file":"Menu.types.js","sourceRoot":"","sources":["../../src/Menu/Menu.types.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,IAAM,QAAQ,GAAG,MAAM,CAAC;AA4D/B,MAAM,CAAN,IAAY,iBAIX;AAJD,WAAY,iBAAiB;IAC3B,6DAAM,CAAA;IACN,mEAAS,CAAA;IACT,2DAAK,CAAA;AACP,CAAC,EAJW,iBAAiB,KAAjB,iBAAiB,QAI5B"}
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ import type { MenuState } from './Menu.types';
3
+ import type { MenuContextValue } from '../context';
4
+ export declare const renderFinalMenu: (childrenArray: React.ReactElement[], contextValue: MenuContextValue, state: MenuState) => JSX.Element;
5
+ //# sourceMappingURL=renderMenu.android.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderMenu.android.d.ts","sourceRoot":"","sources":["../../src/Menu/renderMenu.android.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAGnD,eAAO,MAAM,eAAe,kBAAmB,MAAM,YAAY,EAAE,gBAAgB,gBAAgB,SAAS,SAAS,gBAkBpH,CAAC"}
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ import { View } from 'react-native';
3
+ import { MenuProvider } from '../context';
4
+ export var renderFinalMenu = function (childrenArray, contextValue, state) {
5
+ var menuTrigger = childrenArray[0];
6
+ var menuPopover = childrenArray[1];
7
+ return (React.createElement(MenuProvider, { value: contextValue },
8
+ React.createElement(View, { onLayout: function (event) {
9
+ var width = event.nativeEvent.layout.width;
10
+ state.setAnchorWidth(width);
11
+ } }, menuTrigger),
12
+ React.createElement(View, { ref: state._container, collapsable: false, testID: state.testID }, state.open && menuPopover)));
13
+ };
14
+ //# sourceMappingURL=renderMenu.android.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderMenu.android.js","sourceRoot":"","sources":["../../src/Menu/renderMenu.android.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAIpC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,MAAM,CAAC,IAAM,eAAe,GAAG,UAAC,aAAmC,EAAE,YAA8B,EAAE,KAAgB;IACnH,IAAM,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;IACrC,IAAM,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;IACrC,OAAO,CACL,oBAAC,YAAY,IAAC,KAAK,EAAE,YAAY;QAC/B,oBAAC,IAAI,IACH,QAAQ,EAAE,UAAC,KAAK;gBACN,IAAA,KAAK,GAAK,KAAK,CAAC,WAAW,CAAC,MAAM,MAA7B,CAA8B;gBAC3C,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YAC9B,CAAC,IAEA,WAAW,CACP;QACP,oBAAC,IAAI,IAAC,GAAG,EAAE,KAAK,CAAC,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,IAClE,KAAK,CAAC,IAAI,IAAI,WAAW,CACrB,CACM,CAChB,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ import type { MenuState } from './Menu.types';
3
+ import type { MenuContextValue } from '../context';
4
+ export declare const renderFinalMenu: (childrenArray: React.ReactElement[], contextValue: MenuContextValue, state: MenuState) => JSX.Element;
5
+ //# sourceMappingURL=renderMenu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderMenu.d.ts","sourceRoot":"","sources":["../../src/Menu/renderMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAGnD,eAAO,MAAM,eAAe,kBAAmB,MAAM,YAAY,EAAE,gBAAgB,gBAAgB,SAAS,SAAS,gBAWpH,CAAC"}
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import { MenuProvider } from '../context';
3
+ export var renderFinalMenu = function (childrenArray, contextValue, state) {
4
+ var menuTrigger = childrenArray[0];
5
+ var menuPopover = childrenArray[1];
6
+ return (React.createElement(MenuProvider, { value: contextValue },
7
+ menuTrigger,
8
+ state.open && state.shouldFocusOnContainer !== undefined && menuPopover));
9
+ };
10
+ //# sourceMappingURL=renderMenu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderMenu.js","sourceRoot":"","sources":["../../src/Menu/renderMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,MAAM,CAAC,IAAM,eAAe,GAAG,UAAC,aAAmC,EAAE,YAA8B,EAAE,KAAgB;IACnH,IAAM,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;IACrC,IAAM,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;IACrC,OAAO,CACL,oBAAC,YAAY,IAAC,KAAK,EAAE,YAAY;QAC9B,WAAW;QAGX,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,sBAAsB,KAAK,SAAS,IAAI,WAAW,CAC3D,CAChB,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { MenuProps, MenuState } from './Menu.types';
2
+ export declare const useMenu: (props: MenuProps) => MenuState;
3
+ //# sourceMappingURL=useMenu.android.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMenu.android.d.ts","sourceRoot":"","sources":["../../src/Menu/useMenu.android.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAsBzD,eAAO,MAAM,OAAO,UAAW,SAAS,KAAG,SAoO1C,CAAC"}
@@ -0,0 +1,257 @@
1
+ import { __assign } from "tslib";
2
+ import React, { useEffect, useMemo, useRef, useState } from 'react';
3
+ import { Animated, Dimensions, Easing, I18nManager, StatusBar } from 'react-native';
4
+ import { AndroidMenuStates } from './Menu.types';
5
+ import { useMenuContext } from '../context/menuContext';
6
+ // Due to how events get fired we get double notifications
7
+ // for the same event causing us to immediately reopen
8
+ // a menu when we close it. Adding in a delay to prevent
9
+ // this behavior.
10
+ // This are use when show() function is called to show the Menu
11
+ var delayOpen = 150;
12
+ var lastCloseTimestamp = -1;
13
+ /**
14
+ * Values related to Screen Width and Animation Easing
15
+ */
16
+ // Animated easing value for Menu transitions(close and open)
17
+ var EASING = Easing.bezier(0.4, 0, 0.2, 1);
18
+ // Screen indent is the fixed value according to Android guidelines which depicts the minimum distance from screen edge Menu should have
19
+ var SCREEN_INDENT = 16;
20
+ export var useMenu = function (props) {
21
+ /**
22
+ * State , Ref and Context Values for Menu Container and Anchor
23
+ */
24
+ var triggerRef = React.useRef();
25
+ var context = useMenuContext();
26
+ var isSubmenu = context.triggerRef !== null;
27
+ var isOpenControlled = typeof props.open !== 'undefined';
28
+ var _container = useRef(null);
29
+ var _a = React.useState(AndroidMenuStates.Hidden), menuState = _a[0], setMenuState = _a[1];
30
+ /**
31
+ * Call for useMenuCheckedState for identifying if any MenuItemCheckbox is checked or not
32
+ */
33
+ var _b = useMenuCheckedState(props), checked = _b[0], onCheckedChange = _b[1];
34
+ /**
35
+ * State Variables related to Height,Width and Position of the Menu Popover
36
+ */
37
+ var maxMenuHeight = useState(250)[0];
38
+ var _c = React.useState(0), anchorWidth = _c[0], setAnchorWidth = _c[1];
39
+ var _d = React.useState(0), left = _d[0], setLeft = _d[1];
40
+ var _e = React.useState(0), menuHeight = _e[0], setMenuHeight = _e[1];
41
+ var _f = React.useState(0), menuWidth = _f[0], setMenuWidth = _f[1];
42
+ var _g = React.useState(0), top = _g[0], setTop = _g[1];
43
+ /**
44
+ * Animation value for the Menu popover show,hide and opacity values
45
+ */
46
+ var _h = React.useState(new Animated.ValueXY({ x: 0, y: 0 })), menuSizeAnimation = _h[0], setMenuSizeAnimation = _h[1];
47
+ var _j = React.useState(new Animated.Value(0)), opacityAnimation = _j[0], setOpacityAnimation = _j[1];
48
+ /**
49
+ * RTL for the MenuItem needs to taken care as well.
50
+ */
51
+ var isRTL = I18nManager.isRTL;
52
+ /**
53
+ * Calcualations related to Menu Popver position and dimensions
54
+ */
55
+ var dimensions = Dimensions.get('screen');
56
+ var windowWidth = dimensions.width;
57
+ var windowHeight = dimensions.height - (StatusBar.currentHeight || 0);
58
+ var menuSize = {
59
+ width: menuSizeAnimation.x,
60
+ height: menuSizeAnimation.y,
61
+ };
62
+ /**
63
+ * show function handles the opening of the Menu , it calcuates the position of the Anchor in the screen.
64
+ * It also sets the Anchor width and change the state of the Popover
65
+ */ /**
66
+ * show function handles the opening of the Menu , it calcuates the position of the Anchor in the screen.
67
+ * It also sets the Anchor width and change the state of the Popover
68
+ */
69
+ var show = React.useCallback(function () {
70
+ var _a;
71
+ (_a = _container.current) === null || _a === void 0 ? void 0 : _a.measureInWindow(function (left, top, buttonWidth, buttonHeight) {
72
+ setAnchorWidth(buttonWidth);
73
+ setLeft(left);
74
+ setMenuState(AndroidMenuStates.Shown);
75
+ setTop(top + buttonHeight);
76
+ });
77
+ }, []);
78
+ /**
79
+ * hide function handles the hiding of the Menu when user clicks on the scrim outside Menu or MenuItems such as (MenuItemRadio, MenuItem)
80
+ */
81
+ var hide = React.useCallback(function () {
82
+ Animated.timing(opacityAnimation, {
83
+ toValue: 0,
84
+ duration: 250,
85
+ easing: EASING,
86
+ useNativeDriver: false,
87
+ }).start(function () {
88
+ // Reset state
89
+ setMenuState(AndroidMenuStates.Hidden);
90
+ setMenuSizeAnimation(new Animated.ValueXY({ x: 0, y: 0 }));
91
+ setOpacityAnimation(new Animated.Value(0));
92
+ });
93
+ }, [opacityAnimation]);
94
+ // Hook to maintain the state of the Menu for non controlled and controlled components.
95
+ var _k = useMenuOpenState(isOpenControlled, props, context.setOpen, hide, show), open = _k[0], shouldFocusOnContainer = _k[1], setOpen = _k[2];
96
+ /**
97
+ * Checks the value of the open props and show the menu accordingly
98
+ */
99
+ useEffect(function () {
100
+ if (props.open) {
101
+ show();
102
+ }
103
+ }, [props.open]);
104
+ /**
105
+ * onMenuLayout handles the start of the Animation when anchor is clicked
106
+ */
107
+ var onMenuLayout = React.useCallback(function (e) {
108
+ if (menuState === AndroidMenuStates.Animating) {
109
+ return;
110
+ }
111
+ var _a = e.nativeEvent.layout, width = _a.width, height = _a.height;
112
+ setMenuHeight(height);
113
+ setMenuWidth(width);
114
+ setMenuState(AndroidMenuStates.Animating);
115
+ Animated.parallel([
116
+ Animated.timing(menuSizeAnimation, {
117
+ toValue: { x: width, y: height },
118
+ duration: 100,
119
+ easing: EASING,
120
+ useNativeDriver: false,
121
+ }),
122
+ Animated.timing(opacityAnimation, {
123
+ toValue: 1,
124
+ duration: 100,
125
+ easing: EASING,
126
+ useNativeDriver: false,
127
+ }),
128
+ ]).start();
129
+ }, [menuSizeAnimation, menuState, opacityAnimation]);
130
+ /**
131
+ * onRequestClose handles the closing of the Menu when the MenuItem or scrim or outside is clicked
132
+ */
133
+ var onRequestClose = function (e) {
134
+ setOpen(e, false, false);
135
+ };
136
+ // Adjust position of menu
137
+ var transforms = [];
138
+ useMemo(function () {
139
+ /**
140
+ * If the Menu width and SCREEN_INDENT cross the screen width then the Menu will be adjusted to the oppostion left side of the screen
141
+ */
142
+ if ((isRTL && left + anchorWidth - menuWidth > SCREEN_INDENT) || (!isRTL && left + menuWidth > windowWidth - SCREEN_INDENT)) {
143
+ transforms.push({
144
+ translateX: Animated.multiply(menuSizeAnimation.x, -1),
145
+ });
146
+ }
147
+ else if (left < SCREEN_INDENT) {
148
+ // Setting the left podition of the Menu if the left positon is less than screen indent
149
+ setLeft(SCREEN_INDENT);
150
+ }
151
+ // Flip by Y axis if menu hits bottom screen border
152
+ if (top + menuHeight + SCREEN_INDENT > windowHeight) {
153
+ if (menuHeight > maxMenuHeight) {
154
+ transforms.push({
155
+ translateY: Animated.multiply(menuSizeAnimation.y, -1),
156
+ });
157
+ }
158
+ else {
159
+ transforms.push({
160
+ translateY: Animated.multiply(menuSizeAnimation.y, -1),
161
+ });
162
+ }
163
+ }
164
+ else if (top < SCREEN_INDENT) {
165
+ setTop(SCREEN_INDENT);
166
+ }
167
+ }, [
168
+ anchorWidth,
169
+ isRTL,
170
+ left,
171
+ maxMenuHeight,
172
+ menuHeight,
173
+ menuSizeAnimation.x,
174
+ menuSizeAnimation.y,
175
+ menuWidth,
176
+ top,
177
+ transforms,
178
+ windowHeight,
179
+ windowWidth,
180
+ ]);
181
+ /**
182
+ * Styles to be applied on the Modal Popover Animated.View
183
+ */
184
+ var shadowMenuContainerStyle = useMemo(function () {
185
+ return __assign({ opacity: opacityAnimation, transform: transforms, top: top }, (isRTL ? { right: left } : { left: left }));
186
+ }, [isRTL, left, opacityAnimation, top, transforms]);
187
+ /**
188
+ * handles the state when menu is opening or closing with Animation
189
+ */
190
+ var animationStarted = menuState === AndroidMenuStates.Animating;
191
+ var testID = props.testID;
192
+ // Default behavior for submenu is to open on hover
193
+ // the ...props line below will override this behavior for a submenu
194
+ // or apply openOnHover if passed into a root Menu.
195
+ var openOnHover = isSubmenu;
196
+ // We need to be able to cancel the timer that gets set on
197
+ // hover out of the parent popover if the parent popover
198
+ // is also set to open/close on hover out. Otherwise
199
+ // the parent menu will close when the timeout passes.
200
+ var parentPopoverHoverOutTimer = isSubmenu ? context.popoverHoverOutTimer : undefined;
201
+ return __assign(__assign({ openOnHover: openOnHover }, props), { open: open, setOpen: setOpen, shouldFocusOnContainer: shouldFocusOnContainer, triggerRef: triggerRef, isSubmenu: isSubmenu, isControlled: isOpenControlled, parentPopoverHoverOutTimer: parentPopoverHoverOutTimer, setAnchorWidth: setAnchorWidth, shadowMenuContainerStyle: shadowMenuContainerStyle, _container: _container, onRequestClose: onRequestClose, onMenuLayout: onMenuLayout, checked: checked, onCheckedChange: onCheckedChange, menuHeight: menuHeight, maxMenuHeight: maxMenuHeight, animationStarted: animationStarted, menuSize: menuSize, testID: testID });
202
+ };
203
+ /**
204
+ * useMenuOpenState handles the open and closing of the Menu based on the click
205
+ * It also takes care of Controlled Menu component by checking open variable
206
+ *
207
+ */
208
+ var useMenuOpenState = function (isControlled, props, parentSetOpen, hide, show) {
209
+ var defaultOpen = props.defaultOpen, onOpenChange = props.onOpenChange, open = props.open;
210
+ var initialState = typeof defaultOpen !== 'undefined' ? defaultOpen : !!open;
211
+ var _a = React.useState(initialState), openInternal = _a[0], setOpenInternal = _a[1];
212
+ var _b = React.useState(undefined), shouldFocusOnContainer = _b[0], setShouldFocusOnContainer = _b[1];
213
+ var state = isControlled ? open : openInternal;
214
+ /**
215
+ * setOpen handles the open of the Menu and setting focus on the Popover container
216
+ */
217
+ var setOpen = React.useCallback(function (e, isOpen, bubble) {
218
+ var openPrev = state;
219
+ if (!isControlled && (!isOpen || lastCloseTimestamp + delayOpen <= Date.now())) {
220
+ setOpenInternal(isOpen);
221
+ }
222
+ if (isOpen) {
223
+ show();
224
+ setShouldFocusOnContainer(true);
225
+ }
226
+ if (!isOpen) {
227
+ setShouldFocusOnContainer(undefined);
228
+ lastCloseTimestamp = Date.now();
229
+ hide();
230
+ }
231
+ if (onOpenChange && openPrev !== isOpen) {
232
+ onOpenChange(e, isOpen);
233
+ }
234
+ if (bubble && parentSetOpen && !isControlled) {
235
+ parentSetOpen(e, isOpen, bubble);
236
+ }
237
+ }, [state, onOpenChange, parentSetOpen, show, hide]);
238
+ return [state, shouldFocusOnContainer, setOpen];
239
+ };
240
+ /**
241
+ * Call for useMenuCheckedState for identifying if any MenuItemCheckbox is checked or not
242
+ */
243
+ var useMenuCheckedState = function (props) {
244
+ var _a;
245
+ var checked = props.checked, defaultChecked = props.defaultChecked, onCheckedChangeOriginal = props.onCheckedChange;
246
+ var _b = React.useState((_a = defaultChecked !== null && defaultChecked !== void 0 ? defaultChecked : checked) !== null && _a !== void 0 ? _a : []), checkedInternal = _b[0], setCheckedInternal = _b[1];
247
+ var isControlled = typeof checked !== 'undefined';
248
+ var state = isControlled ? checked : checkedInternal;
249
+ var onCheckedChange = React.useCallback(function (e, checked) {
250
+ if (!isControlled) {
251
+ setCheckedInternal(checked);
252
+ }
253
+ onCheckedChangeOriginal === null || onCheckedChangeOriginal === void 0 ? void 0 : onCheckedChangeOriginal(e, checked);
254
+ }, [isControlled, setCheckedInternal, onCheckedChangeOriginal]);
255
+ return [state, onCheckedChange];
256
+ };
257
+ //# sourceMappingURL=useMenu.android.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMenu.android.js","sourceRoot":"","sources":["../../src/Menu/useMenu.android.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { MenuCalloutProps } from './MenuCallout.types';
2
+ export declare const MenuCallout: import("@fluentui-react-native/framework").ComposableFunction<MenuCalloutProps>;
3
+ export default MenuCallout;
4
+ //# sourceMappingURL=MenuCallout.android.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuCallout.android.d.ts","sourceRoot":"","sources":["../../src/MenuCallout/MenuCallout.android.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAM5D,eAAO,MAAM,WAAW,iFA2CtB,CAAC;AAIH,eAAe,WAAW,CAAC"}
@@ -0,0 +1,33 @@
1
+ import { __assign } from "tslib";
2
+ import React from 'react';
3
+ import { Animated, Modal, TouchableWithoutFeedback, View, StyleSheet, ScrollView } from 'react-native';
4
+ import { stagedComponent } from '@fluentui-react-native/framework';
5
+ import { mergeProps } from '@fluentui-react-native/framework';
6
+ import { menuCalloutName } from './MenuCallout.types';
7
+ import { useMenuContext } from '../context';
8
+ var AnimatedScrollView = Animated.createAnimatedComponent(ScrollView);
9
+ export var MenuCallout = stagedComponent(function (props) {
10
+ var context = useMenuContext();
11
+ return function (_rest, children) {
12
+ var mergedProps = mergeProps(props, _rest);
13
+ var tokens = props.tokens;
14
+ return (React.createElement(Modal, __assign({}, mergedProps, { visible: context.open, onRequestClose: context.onRequestClose, supportedOrientations: ['portrait', 'portrait-upside-down', 'landscape', 'landscape-left', 'landscape-right'], transparent: true }),
15
+ React.createElement(TouchableWithoutFeedback, { onPress: context.onRequestClose, accessible: false },
16
+ React.createElement(View, { style: [StyleSheet.absoluteFill] },
17
+ React.createElement(Animated.View, { onLayout: context.onMenuLayout, style: [
18
+ context.shadowMenuContainerStyle,
19
+ {
20
+ maxHeight: mergedProps.maxHeight ? mergedProps.maxHeight : tokens.maxHeight,
21
+ maxWidth: tokens.maxWidth,
22
+ position: 'absolute',
23
+ borderRadius: tokens.cornerRadius,
24
+ elevation: tokens.elevation,
25
+ overflow: 'hidden',
26
+ },
27
+ ] }, context.menuHeight + tokens.minPadding >= tokens.maxHeight ||
28
+ context.menuHeight + tokens.minPadding >= mergedProps.maxHeight ? (React.createElement(AnimatedScrollView, { style: [context.animationStarted && context.menuSize] }, children)) : (React.createElement(Animated.View, { style: [context.animationStarted && context.menuSize] }, children)))))));
29
+ };
30
+ });
31
+ MenuCallout.displayName = menuCalloutName;
32
+ export default MenuCallout;
33
+ //# sourceMappingURL=MenuCallout.android.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuCallout.android.js","sourceRoot":"","sources":["../../src/MenuCallout/MenuCallout.android.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,wBAAwB,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAEvG,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAG9D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,IAAM,kBAAkB,GAAG,QAAQ,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC;AAExE,MAAM,CAAC,IAAM,WAAW,GAAG,eAAe,CAAC,UAAC,KAAuB;IACjE,IAAM,OAAO,GAAG,cAAc,EAAE,CAAC;IAEjC,OAAO,UAAC,KAAuB,EAAE,QAAyB;QACxD,IAAM,WAAW,GAAG,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC7C,IAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAE5B,OAAO,CACL,oBAAC,KAAK,eACA,WAAW,IACf,OAAO,EAAE,OAAO,CAAC,IAAI,EACrB,cAAc,EAAE,OAAO,CAAC,cAAc,EACtC,qBAAqB,EAAE,CAAC,UAAU,EAAE,sBAAsB,EAAE,WAAW,EAAE,gBAAgB,EAAE,iBAAiB,CAAC,EAC7G,WAAW;YAEX,oBAAC,wBAAwB,IAAC,OAAO,EAAE,OAAO,CAAC,cAAc,EAAE,UAAU,EAAE,KAAK;gBAC1E,oBAAC,IAAI,IAAC,KAAK,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC;oBACpC,oBAAC,QAAQ,CAAC,IAAI,IACZ,QAAQ,EAAE,OAAO,CAAC,YAAY,EAC9B,KAAK,EAAE;4BACL,OAAO,CAAC,wBAAwB;4BAChC;gCACE,SAAS,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS;gCAC3E,QAAQ,EAAE,MAAM,CAAC,QAAQ;gCACzB,QAAQ,EAAE,UAAU;gCACpB,YAAY,EAAE,MAAM,CAAC,YAAY;gCACjC,SAAS,EAAE,MAAM,CAAC,SAAS;gCAC3B,QAAQ,EAAE,QAAQ;6BACnB;yBACF,IAEA,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,SAAS;wBAC3D,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAChE,oBAAC,kBAAkB,IAAC,KAAK,EAAE,CAAC,OAAO,CAAC,gBAAgB,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAG,QAAQ,CAAsB,CAC3G,CAAC,CAAC,CAAC,CACF,oBAAC,QAAQ,CAAC,IAAI,IAAC,KAAK,EAAE,CAAC,OAAO,CAAC,gBAAgB,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAG,QAAQ,CAAiB,CACjG,CACa,CACX,CACkB,CACrB,CACT,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,WAAW,CAAC,WAAW,GAAG,eAAe,CAAC;AAE1C,eAAe,WAAW,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { MenuCalloutProps } from './MenuCallout.types';
2
+ export declare const MenuCallout: import("@fluentui-react-native/framework").ComposableFunction<MenuCalloutProps>;
3
+ export default MenuCallout;
4
+ //# sourceMappingURL=MenuCallout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuCallout.d.ts","sourceRoot":"","sources":["../../src/MenuCallout/MenuCallout.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAG5D,eAAO,MAAM,WAAW,iFAMtB,CAAC;AAIH,eAAe,WAAW,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { __assign } from "tslib";
2
+ import React from 'react';
3
+ import { Callout } from '@fluentui-react-native/callout';
4
+ import { stagedComponent } from '@fluentui-react-native/framework';
5
+ import { mergeProps } from '@fluentui-react-native/framework';
6
+ import { menuCalloutName } from './MenuCallout.types';
7
+ export var MenuCallout = stagedComponent(function (props) {
8
+ return function (_rest, children) {
9
+ var mergedProps = mergeProps(props, _rest);
10
+ return React.createElement(Callout, __assign({}, mergedProps), children);
11
+ };
12
+ });
13
+ MenuCallout.displayName = menuCalloutName;
14
+ export default MenuCallout;
15
+ //# sourceMappingURL=MenuCallout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuCallout.js","sourceRoot":"","sources":["../../src/MenuCallout/MenuCallout.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAG9D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,MAAM,CAAC,IAAM,WAAW,GAAG,eAAe,CAAC,UAAC,KAAuB;IACjE,OAAO,UAAC,KAAuB,EAAE,QAAyB;QACxD,IAAM,WAAW,GAAG,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAE7C,OAAO,oBAAC,OAAO,eAAK,WAAW,GAAG,QAAQ,CAAW,CAAC;IACxD,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,WAAW,CAAC,WAAW,GAAG,eAAe,CAAC;AAE1C,eAAe,WAAW,CAAC"}