@tamagui/create-menu 2.7.7 → 3.0.0-beta.643.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 (113) hide show
  1. package/dist/cjs/createBaseMenu.cjs +1033 -1247
  2. package/dist/cjs/createBaseMenu.native.cjs +1217 -0
  3. package/dist/cjs/createBaseMenu.native.js +1155 -1387
  4. package/dist/cjs/createBaseMenu.native.js.map +1 -1
  5. package/dist/cjs/createNativeMenu/createNativeMenu.cjs +346 -377
  6. package/dist/cjs/createNativeMenu/createNativeMenu.native.cjs +439 -0
  7. package/dist/cjs/createNativeMenu/createNativeMenu.native.js +405 -439
  8. package/dist/cjs/createNativeMenu/createNativeMenu.native.js.map +1 -1
  9. package/dist/cjs/createNativeMenu/createNativeMenuTypes.cjs +10 -11
  10. package/dist/cjs/createNativeMenu/createNativeMenuTypes.native.cjs +19 -0
  11. package/dist/cjs/createNativeMenu/createNativeMenuTypes.native.js +10 -10
  12. package/dist/cjs/createNativeMenu/createNativeMenuTypes.native.js.map +1 -1
  13. package/dist/cjs/createNativeMenu/utils.cjs +76 -86
  14. package/dist/cjs/createNativeMenu/utils.native.cjs +107 -0
  15. package/dist/cjs/createNativeMenu/utils.native.js +82 -92
  16. package/dist/cjs/createNativeMenu/utils.native.js.map +1 -1
  17. package/dist/cjs/createNativeMenu/withNativeMenu.cjs +27 -35
  18. package/dist/cjs/createNativeMenu/withNativeMenu.native.cjs +42 -0
  19. package/dist/cjs/createNativeMenu/withNativeMenu.native.js +27 -34
  20. package/dist/cjs/createNativeMenu/withNativeMenu.native.js.map +1 -1
  21. package/dist/cjs/index.cjs +9 -20
  22. package/dist/cjs/index.native.cjs +23 -0
  23. package/dist/cjs/index.native.js +10 -20
  24. package/dist/cjs/index.native.js.map +1 -1
  25. package/dist/esm/createBaseMenu.mjs +1021 -1225
  26. package/dist/esm/createBaseMenu.mjs.map +1 -1
  27. package/dist/esm/createBaseMenu.native.js +1144 -1367
  28. package/dist/esm/createBaseMenu.native.js.map +1 -1
  29. package/dist/esm/createNativeMenu/createNativeMenu.mjs +332 -353
  30. package/dist/esm/createNativeMenu/createNativeMenu.mjs.map +1 -1
  31. package/dist/esm/createNativeMenu/createNativeMenu.native.js +392 -417
  32. package/dist/esm/createNativeMenu/createNativeMenu.native.js.map +1 -1
  33. package/dist/esm/createNativeMenu/createNativeMenuTypes.mjs +0 -2
  34. package/dist/esm/createNativeMenu/createNativeMenuTypes.native.js +0 -2
  35. package/dist/esm/createNativeMenu/utils.mjs +55 -57
  36. package/dist/esm/createNativeMenu/utils.mjs.map +1 -1
  37. package/dist/esm/createNativeMenu/utils.native.js +62 -65
  38. package/dist/esm/createNativeMenu/utils.native.js.map +1 -1
  39. package/dist/esm/createNativeMenu/withNativeMenu.mjs +14 -17
  40. package/dist/esm/createNativeMenu/withNativeMenu.mjs.map +1 -1
  41. package/dist/esm/createNativeMenu/withNativeMenu.native.js +15 -18
  42. package/dist/esm/createNativeMenu/withNativeMenu.native.js.map +1 -1
  43. package/dist/esm/index.js +5 -6
  44. package/dist/esm/index.mjs +5 -6
  45. package/dist/esm/index.native.js +5 -6
  46. package/dist/jsx/createBaseMenu.mjs +1021 -1225
  47. package/dist/jsx/createBaseMenu.mjs.map +1 -1
  48. package/dist/jsx/createBaseMenu.native.cjs +1217 -0
  49. package/dist/jsx/createBaseMenu.native.js +1155 -1387
  50. package/dist/jsx/createBaseMenu.native.js.map +1 -1
  51. package/dist/jsx/createNativeMenu/createNativeMenu.mjs +332 -353
  52. package/dist/jsx/createNativeMenu/createNativeMenu.mjs.map +1 -1
  53. package/dist/jsx/createNativeMenu/createNativeMenu.native.cjs +439 -0
  54. package/dist/jsx/createNativeMenu/createNativeMenu.native.js +405 -439
  55. package/dist/jsx/createNativeMenu/createNativeMenu.native.js.map +1 -1
  56. package/dist/jsx/createNativeMenu/createNativeMenuTypes.mjs +0 -2
  57. package/dist/jsx/createNativeMenu/createNativeMenuTypes.native.cjs +19 -0
  58. package/dist/jsx/createNativeMenu/createNativeMenuTypes.native.js +10 -10
  59. package/dist/jsx/createNativeMenu/createNativeMenuTypes.native.js.map +1 -1
  60. package/dist/jsx/createNativeMenu/utils.mjs +55 -57
  61. package/dist/jsx/createNativeMenu/utils.mjs.map +1 -1
  62. package/dist/jsx/createNativeMenu/utils.native.cjs +107 -0
  63. package/dist/jsx/createNativeMenu/utils.native.js +82 -92
  64. package/dist/jsx/createNativeMenu/utils.native.js.map +1 -1
  65. package/dist/jsx/createNativeMenu/withNativeMenu.mjs +14 -17
  66. package/dist/jsx/createNativeMenu/withNativeMenu.mjs.map +1 -1
  67. package/dist/jsx/createNativeMenu/withNativeMenu.native.cjs +42 -0
  68. package/dist/jsx/createNativeMenu/withNativeMenu.native.js +27 -34
  69. package/dist/jsx/createNativeMenu/withNativeMenu.native.js.map +1 -1
  70. package/dist/jsx/index.js +5 -6
  71. package/dist/jsx/index.mjs +5 -6
  72. package/dist/jsx/index.native.cjs +23 -0
  73. package/dist/jsx/index.native.js +10 -20
  74. package/dist/jsx/index.native.js.map +1 -1
  75. package/package.json +23 -22
  76. package/src/createBaseMenu.tsx +211 -231
  77. package/src/createNativeMenu/createNativeMenuTypes.ts +0 -6
  78. package/src/createNativeMenu/utils.tsx +6 -6
  79. package/src/createNativeMenu/withNativeMenu.tsx +1 -2
  80. package/src/index.tsx +0 -1
  81. package/types/createBaseMenu.d.ts +38 -126
  82. package/types/createBaseMenu.d.ts.map +1 -1
  83. package/types/createNativeMenu/createNativeMenu.d.ts +1 -1
  84. package/types/createNativeMenu/createNativeMenu.d.ts.map +1 -1
  85. package/types/createNativeMenu/createNativeMenuTypes.d.ts +0 -6
  86. package/types/createNativeMenu/createNativeMenuTypes.d.ts.map +1 -1
  87. package/types/createNativeMenu/utils.d.ts +5 -5
  88. package/types/createNativeMenu/utils.d.ts.map +1 -1
  89. package/types/createNativeMenu/withNativeMenu.d.ts.map +1 -1
  90. package/types/index.d.ts +0 -1
  91. package/types/index.d.ts.map +1 -1
  92. package/dist/cjs/MenuPredefined.cjs +0 -191
  93. package/dist/cjs/MenuPredefined.native.js +0 -194
  94. package/dist/cjs/MenuPredefined.native.js.map +0 -1
  95. package/dist/esm/MenuPredefined.mjs +0 -166
  96. package/dist/esm/MenuPredefined.mjs.map +0 -1
  97. package/dist/esm/MenuPredefined.native.js +0 -166
  98. package/dist/esm/MenuPredefined.native.js.map +0 -1
  99. package/dist/esm/createNativeMenu/createNativeMenuTypes.mjs.map +0 -1
  100. package/dist/esm/createNativeMenu/createNativeMenuTypes.native.js.map +0 -1
  101. package/dist/esm/index.js.map +0 -1
  102. package/dist/esm/index.mjs.map +0 -1
  103. package/dist/esm/index.native.js.map +0 -1
  104. package/dist/jsx/MenuPredefined.mjs +0 -166
  105. package/dist/jsx/MenuPredefined.mjs.map +0 -1
  106. package/dist/jsx/MenuPredefined.native.js +0 -194
  107. package/dist/jsx/MenuPredefined.native.js.map +0 -1
  108. package/dist/jsx/createNativeMenu/createNativeMenuTypes.mjs.map +0 -1
  109. package/dist/jsx/index.js.map +0 -1
  110. package/dist/jsx/index.mjs.map +0 -1
  111. package/src/MenuPredefined.tsx +0 -204
  112. package/types/MenuPredefined.d.ts +0 -31
  113. package/types/MenuPredefined.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["getNativeMenuAdapter","NativeMenuContext","unstable_claimExternalPressOwnership","unstable_releaseExternalPressOwnership","isWeb","withStaticProperties","isIos","React","Fragment","jsx","MAPPED_TYPES","CONTAINER_TYPES","getComponentType","displayName","type","includes","isItemLike","props","isPortalLike","isTriggerLike","composeHandlers","first","second","args","getTriggerDebugName","menuType","childProps","isValidElement","children","prefix","detail","testID","accessibilityLabel","textValue","filter","Boolean","join","emptyStub","createWebStubs","Menu","Trigger","Content","Item","ItemTitle","ItemSubtitle","SubTrigger","Group","ItemIcon","Separator","CheckboxItem","ItemIndicator","ItemImage","Label","Arrow","Sub","SubContent","Preview","Portal","RadioGroup","RadioItem","Auxiliary","createNativeMenu","MenuType","isContextMenu","isAndroid","resolved","warned","resolve","adapter","console","warn","menu","ContextMenu","componentMap","transformChildren","map","shouldReverseOnIos","triggerBoundaryHandlers","radioContext","result","Children","forEach","child","push","inner","c","debugName","claim","release","triggerChildren","triggerProps","createElement","key","onTouchStart","onTouchEnd","onTouchCancel","onResponderGrant","onResponderRelease","onResponderTerminate","onPressIn","onPressOut","value","rgValue","onValueChange","rgOnValueChange","rgChildren","rest","itemValue","rChildren","cleanChildren","dn","componentType","checked","onCheckedChange","cbChildren","finalValue","finalOnValueChange","v","childChildren","restProps","AdapterComponent","isContainer","shouldReverse","itemChildren","itemProps","reverse","lazyAdapter","name","Comp","z","onOpenChange","onOpenWillChange","triggerOwnerRef","useRef","claimTriggerBoundary","useCallback","current","releaseTriggerBoundary","useEffect","handleOpenChange","isOpen","handleOpenWillChange","willOpen","rootProps","content","Root","Provider"],"sources":["../../../src/createNativeMenu/createNativeMenu.tsx"],"sourcesContent":[null],"mappings":"AAOA,SACEA,oBAAA,EACAC,iBAAA,EACAC,oCAAA,EACAC,sCAAA,QACK;AACP,SAASC,KAAA,EAAOC,oBAAA,EAAsBC,KAAA,QAAa;AAEnD,OAAOC,KAAA,MAAW;AA+hBoD,SAAAC,QAAA,EAAAC,GAAA;AA/dtE,MAAMC,YAAA,GAAsC,CAC1C,cACA,cACA,WACA,OACA,SACA,QACA,aACA,gBACA,YACA,aACA,iBACA,SACA,aACA,gBACA,WACA,YACF;AAGA,MAAMC,eAAA,GAAyC,CAC7C,cACA,cACA,WACA,OACA,SACA,OACF;AAqCA,SAASC,iBAAiBC,WAAA,EAAiD;EACzE,WAAWC,IAAA,IAAQJ,YAAA,EAAc;IAC/B,IACEG,WAAA,KAAgBC,IAAA,IAChBD,WAAA,KAAgB,OAAOC,IAAI,MAC3BD,WAAA,KAAgB,cAAcC,IAAI,MAClCD,WAAA,CAAYE,QAAA,CAAS,IAAID,IAAI,GAAG,GAChC;MACA,OAAOA,IAAA;IACT;EACF;EACA,OAAO;AACT;AAEA,SAASE,WAAWC,KAAA,EAAgCJ,WAAA,EAA8B;EAChF,IAAID,gBAAA,CAAiBC,WAAW,GAAG,OAAO;EAC1C,OAAO,cAAcI,KAAA,IAAS,eAAeA,KAAA;AAC/C;AAEA,SAASC,aAAaL,WAAA,EAA8B;EAClD,OAAOA,WAAA,KAAgB,YAAYA,WAAA,CAAYE,QAAA,CAAS,QAAQ;AAClE;AAEA,SAASI,cAAcN,WAAA,EAA8B;EACnD,OAAOA,WAAA,KAAgB,aAAaA,WAAA,CAAYE,QAAA,CAAS,WAAW;AACtE;AAEA,SAASK,gBAAoDC,KAAA,EAAWC,MAAA,EAAY;EAClF,OAAO,IAAIC,IAAA,KAAwB;IACjCF,KAAA,GAAQ,GAAGE,IAAI;IACfD,MAAA,GAAS,GAAGC,IAAI;EAClB;AACF;AAEA,SAASC,oBACPC,QAAA,EACAR,KAAA,EACA;EACA,MAAMS,UAAA,GACJnB,KAAA,CAAMoB,cAAA,CAAeV,KAAA,CAAMW,QAAQ,KAAKX,KAAA,CAAMW,QAAA,CAASX,KAAA,GAClDA,KAAA,CAAMW,QAAA,CAASX,KAAA,GAChB;EAEN,MAAMY,MAAA,GAASJ,QAAA,KAAa,gBAAgB,uBAAuB;EACnE,MAAMK,MAAA,GACJJ,UAAA,EAAYK,MAAA,IACZL,UAAA,EAAYM,kBAAA,KACX,OAAOf,KAAA,CAAMgB,SAAA,KAAc,WAAWhB,KAAA,CAAMgB,SAAA,GAAY;EAE3D,OAAO,CAACJ,MAAA,EAAQC,MAAM,EAAEI,MAAA,CAAOC,OAAO,EAAEC,IAAA,CAAK,GAAG,KAAKP,MAAA;AACvD;AAGA,MAAMQ,SAAA,GAAaA,CAAA,KAAM;AAEzB,SAASC,eAAA,EAAuC;EAC9C,OAAO;IACLC,IAAA,EAAMlC,oBAAA,CAAqBgC,SAAA,EAAkC;MAC3DG,OAAA,EAASH,SAAA;MACTI,OAAA,EAASJ,SAAA;MACTK,IAAA,EAAML,SAAA;MACNM,SAAA,EAAWN,SAAA;MACXO,YAAA,EAAcP,SAAA;MACdQ,UAAA,EAAYR,SAAA;MACZS,KAAA,EAAOT,SAAA;MACPU,QAAA,EAAUV,SAAA;MACVW,SAAA,EAAWX,SAAA;MACXY,YAAA,EAAcZ,SAAA;MACda,aAAA,EAAeb,SAAA;MACfc,SAAA,EAAWd,SAAA;MACXe,KAAA,EAAOf,SAAA;MACPgB,KAAA,EAAOhB,SAAA;MACPiB,GAAA,EAAKjB,SAAA;MACLkB,UAAA,EAAYlB,SAAA;MACZmB,OAAA,EAASnB,SAAA;MACToB,MAAA,EAAQpB,SAAA;MACRqB,UAAA,EAAYrB,SAAA;MACZsB,SAAA,EAAWtB,SAAA;MACXuB,SAAA,EAAWvB;IACb,CAAC;EACH;AACF;AAEO,MAAMwB,gBAAA,GACXC,QAAA,IACyB;EACzB,IAAI1D,KAAA,EAAO;IACT,OAAOkC,cAAA,CAAe;EACxB;EAMA,MAAMyB,aAAA,GAAgBD,QAAA,KAAa;EACnC,MAAME,SAAA,GAAY,CAAC1D,KAAA,IAAS,CAACF,KAAA;EAG7B,IAAI6D,QAAA,GAA0E;EAC9E,IAAIC,MAAA,GAAS;EAEb,SAASC,QAAA,EAA2B;IAClC,IAAIF,QAAA,EAAU,OAAOA,QAAA;IACrB,MAAMG,OAAA,GAAUpE,oBAAA,CAAqB;IACrC,IAAI,CAACoE,OAAA,EAAS;MACZ,IAAI,CAACF,MAAA,EAAQ;QACXA,MAAA,GAAS;QACTG,OAAA,CAAQC,IAAA,CACN,+EACF;MACF;MACA,OAAO;IACT;IACA,MAAMC,IAAA,GAAQR,aAAA,GAAgBK,OAAA,CAAQI,WAAA,GAAcJ,OAAA,CAAQ7B,IAAA;IAC5D0B,QAAA,GAAW;MACTM,IAAA;MACAE,YAAA,EAAc;QACZlB,UAAA,EAAYgB,IAAA,CAAKhB,UAAA;QACjBV,UAAA,EAAY0B,IAAA,CAAK1B,UAAA;QACjBJ,OAAA,EAAS8B,IAAA,CAAK9B,OAAA;QACda,GAAA,EAAKiB,IAAA,CAAKjB,GAAA;QACVR,KAAA,EAAOyB,IAAA,CAAKzB,KAAA;QACZJ,IAAA,EAAM6B,IAAA,CAAK7B,IAAA;QACXC,SAAA,EAAW4B,IAAA,CAAK5B,SAAA;QAChBC,YAAA,EAAc2B,IAAA,CAAK3B,YAAA;QACnBG,QAAA,EAAUwB,IAAA,CAAKxB,QAAA;QACfI,SAAA,EAAWoB,IAAA,CAAKpB,SAAA;QAChBD,aAAA,EAAeqB,IAAA,CAAKrB,aAAA;QACpBE,KAAA,EAAOmB,IAAA,CAAKnB,KAAA;QACZJ,SAAA,EAAWuB,IAAA,CAAKvB,SAAA;QAChBC,YAAA,EAAcsB,IAAA,CAAKtB,YAAA;QACnBO,OAAA,EAASe,IAAA,CAAKf,OAAA;QACdI,SAAA,EAAWW,IAAA,CAAKX;MAClB;IACF;IACA,OAAOK,QAAA;EACT;EAQA,SAASS,kBACPH,IAAA,EACAI,GAAA,EACA/C,QAAA,EACAgD,kBAAA,GAAqB,OACrBC,uBAAA,EACAC,YAAA,EACiB;IACjB,MAAMC,MAAA,GAA4B,EAAC;IAEnCxE,KAAA,CAAMyE,QAAA,CAASC,OAAA,CAAQrD,QAAA,EAAWsD,KAAA,IAAU;MAC1C,IAAI,CAAC3E,KAAA,CAAMoB,cAAA,CAAeuD,KAAK,GAAG;QAChCH,MAAA,CAAOI,IAAA,CAAKD,KAAK;QACjB;MACF;MAEA,MAAMrE,WAAA,GAAeqE,KAAA,CAAMpE,IAAA,EAAmCD,WAAA,IAAe;MAC7E,MAAMI,KAAA,GAAQiE,KAAA,CAAMjE,KAAA;MAGpB,IAAIC,YAAA,CAAaL,WAAW,GAAG;QAC7B,MAAMuE,KAAA,GAAQV,iBAAA,CACZH,IAAA,EACAI,GAAA,EACA1D,KAAA,CAAMW,QAAA,EACN,OACAiD,uBAAA,EACAC,YACF;QACAvE,KAAA,CAAMyE,QAAA,CAASC,OAAA,CAAQG,KAAA,EAAQC,CAAA,IAAMN,MAAA,CAAOI,IAAA,CAAKE,CAAC,CAAC;QACnD;MACF;MAGA,IAAIxE,WAAA,CAAYE,QAAA,CAAS,YAAY,GAAG;QACtC,MAAMqE,KAAA,GAAQV,iBAAA,CACZH,IAAA,EACAI,GAAA,EACA1D,KAAA,CAAMW,QAAA,EACN,OACAiD,uBAAA,EACAC,YACF;QACAvE,KAAA,CAAMyE,QAAA,CAASC,OAAA,CAAQG,KAAA,EAAQC,CAAA,IAAMN,MAAA,CAAOI,IAAA,CAAKE,CAAC,CAAC;QACnD;MACF;MAEA,IAAIlE,aAAA,CAAcN,WAAW,GAAG;QAC9B,MAAMyE,SAAA,GAAY9D,mBAAA,CAAoBsC,QAAA,EAAU7C,KAAK;QACrD,MAAMsE,KAAA,GAAQA,CAAA,KAAMV,uBAAA,EAAyBU,KAAA,CAAMD,SAAS;QAC5D,MAAME,OAAA,GAAUA,CAAA,KAAMX,uBAAA,EAAyBW,OAAA,CAAQF,SAAS;QAChE,MAAM;UAAE1D,QAAA,EAAU6D,eAAA;UAAiB,GAAGC;QAAa,IAAIzE,KAAA;QAEvD8D,MAAA,CAAOI,IAAA,CACL5E,KAAA,CAAMoF,aAAA,CACJpB,IAAA,CAAK/B,OAAA,EACL;UACE,GAAGkD,YAAA;UACHE,GAAA,EAAKV,KAAA,CAAMU,GAAA;UACXC,YAAA,EAAczE,eAAA,CAAgBmE,KAAA,EAAOtE,KAAA,CAAM4E,YAAY;UACvDC,UAAA,EAAY1E,eAAA,CAAgBH,KAAA,CAAM6E,UAAA,EAAYN,OAAO;UACrDO,aAAA,EAAe3E,eAAA,CAAgBH,KAAA,CAAM8E,aAAA,EAAeP,OAAO;UAC3DQ,gBAAA,EAAkB5E,eAAA,CAAgBmE,KAAA,EAAOtE,KAAA,CAAM+E,gBAAgB;UAC/DC,kBAAA,EAAoB7E,eAAA,CAAgBH,KAAA,CAAMgF,kBAAA,EAAoBT,OAAO;UACrEU,oBAAA,EAAsB9E,eAAA,CAAgBH,KAAA,CAAMiF,oBAAA,EAAsBV,OAAO;UACzEW,SAAA,EAAW/E,eAAA,CAAgBmE,KAAA,EAAOtE,KAAA,CAAMkF,SAAS;UACjDC,UAAA,EAAYhF,eAAA,CAAgBH,KAAA,CAAMmF,UAAA,EAAYZ,OAAO;QACvD,GACAC,eACF,CACF;QACA;MACF;MAIA,IAAI5E,WAAA,CAAYE,QAAA,CAAS,YAAY,GAAG;QACtC,MAAM;UACJsF,KAAA,EAAOC,OAAA;UACPC,aAAA,EAAeC,eAAA;UACf5E,QAAA,EAAU6E,UAAA;UACV,GAAGC;QACL,IAAIzF,KAAA;QAEJ8D,MAAA,CAAOI,IAAA,CACL5E,KAAA,CAAMoF,aAAA,CACJpB,IAAA,CAAKzB,KAAA,EACL;UAAE,GAAG4D,IAAA;UAAMd,GAAA,EAAKV,KAAA,CAAMU;QAAI,GAC1BlB,iBAAA,CACEH,IAAA,EACAI,GAAA,EACA8B,UAAA,EACA,OACA5B,uBAAA,EACA;UAAEwB,KAAA,EAAOC,OAAA;UAASC,aAAA,EAAeC;QAAgB,CACnD,CACF,CACF;QACA;MACF;MAIA,IAAI3F,WAAA,CAAYE,QAAA,CAAS,WAAW,KAAK+D,YAAA,EAAc;QACrD,MAAM;UACJuB,KAAA,EAAOM,SAAA;UACP/E,QAAA,EAAUgF,SAAA;UACV,GAAGF;QACL,IAAIzF,KAAA;QAEJ,MAAM4F,aAAA,GAAgBtG,KAAA,CAAMyE,QAAA,CAASL,GAAA,CAAIiC,SAAA,EAAYvB,CAAA,IAAM;UACzD,IAAI,CAAC9E,KAAA,CAAMoB,cAAA,CAAe0D,CAAC,GAAG,OAAOA,CAAA;UACrC,MAAMyB,EAAA,GAAMzB,CAAA,CAAEvE,IAAA,EAAmCD,WAAA,IAAe;UAChE,IAAIiG,EAAA,CAAG/F,QAAA,CAAS,eAAe,GAAG,OAAO;UACzC,OAAOsE,CAAA;QACT,CAAC;QAEDN,MAAA,CAAOI,IAAA,CACL5E,KAAA,CAAMoF,aAAA,CACJpB,IAAA,CAAKtB,YAAA,EACL;UACE,GAAGyD,IAAA;UACHd,GAAA,EAAKV,KAAA,CAAMU,GAAA;UACXS,KAAA,EAAOM,SAAA,KAAc7B,YAAA,CAAauB,KAAA,GAAQ,OAAO;UACjDE,aAAA,EAAeA,CAAA,KAAMzB,YAAA,CAAayB,aAAA,GAAgBI,SAAS;QAC7D,GACAjC,iBAAA,CACEH,IAAA,EACAI,GAAA,EACAkC,aAAA,EACA,OACAhC,uBAAA,EACAC,YACF,CACF,CACF;QACA;MACF;MAEA,MAAMiC,aAAA,GAAgBnG,gBAAA,CAAiBC,WAAW;MAGlD,IAAIkG,aAAA,KAAkB,gBAAgB;QACpC,MAAM;UACJC,OAAA;UACAC,eAAA;UACAZ,KAAA;UACAE,aAAA;UACA3E,QAAA,EAAUsF,UAAA;UACV,GAAGR;QACL,IAAIzF,KAAA;QAEJ,MAAMkG,UAAA,GAAad,KAAA,KAAUW,OAAA,GAAU,OAAO;QAC9C,MAAMI,kBAAA,GACJb,aAAA,KACCU,eAAA,KAAqBI,CAAA,IAAcJ,eAAA,CAAgBI,CAAA,KAAM,IAAI;QAEhE,MAAMR,aAAA,GAAgBtG,KAAA,CAAMyE,QAAA,CAASL,GAAA,CAAIuC,UAAA,EAAa7B,CAAA,IAAM;UAC1D,IAAI,CAAC9E,KAAA,CAAMoB,cAAA,CAAe0D,CAAC,GAAG,OAAOA,CAAA;UACrC,MAAMyB,EAAA,GAAMzB,CAAA,CAAEvE,IAAA,EAAmCD,WAAA,IAAe;UAChE,IAAIiG,EAAA,CAAG/F,QAAA,CAAS,eAAe,GAAG,OAAO;UACzC,OAAOsE,CAAA;QACT,CAAC;QAEDN,MAAA,CAAOI,IAAA,CACL5E,KAAA,CAAMoF,aAAA,CACJpB,IAAA,CAAKtB,YAAA,EACL;UACE,GAAGyD,IAAA;UACHd,GAAA,EAAKV,KAAA,CAAMU,GAAA;UACXS,KAAA,EAAOc,UAAA;UACPZ,aAAA,EAAea;QACjB,GACA1C,iBAAA,CACEH,IAAA,EACAI,GAAA,EACAkC,aAAA,EACA,OACAhC,uBAAA,EACAC,YACF,CACF,CACF;QACA;MACF;MAEA,IAAIiC,aAAA,EAAe;QACjB,MAAM;UAAEnF,QAAA,EAAU0F,aAAA;UAAe,GAAGC;QAAU,IAAItG,KAAA;QAClD,MAAMuG,gBAAA,GAA4B7C,GAAA,CAAIoC,aAAa;QACnD,MAAMU,WAAA,GAAc9G,eAAA,CAAgBI,QAAA,CAASgG,aAAa;QAC1D,MAAMW,aAAA,GACJX,aAAA,KAAkB,aAAaA,aAAA,KAAkB;QACnDhC,MAAA,CAAOI,IAAA,CACL5E,KAAA,CAAMoF,aAAA,CACJ6B,gBAAA,EACA;UAAE,GAAGD,SAAA;UAAW3B,GAAA,EAAKV,KAAA,CAAMU;QAAI,GAC/B6B,WAAA,GACI/C,iBAAA,CACEH,IAAA,EACAI,GAAA,EACA2C,aAAA,EACAI,aAAA,EACA7C,uBAAA,EACAC,YACF,IACAwC,aACN,CACF;QACA;MACF;MAGA,IAAItG,UAAA,CAAWC,KAAA,EAAOJ,WAAW,GAAG;QAClC,MAAM;UAAEe,QAAA,EAAU+F,YAAA;UAAc,GAAGC;QAAU,IAAI3G,KAAA;QACjD8D,MAAA,CAAOI,IAAA,CACL5E,KAAA,CAAMoF,aAAA,CACJpB,IAAA,CAAK7B,IAAA,EACL;UAAE,GAAGkF,SAAA;UAAWhC,GAAA,EAAKV,KAAA,CAAMU;QAAI,GAC/BlB,iBAAA,CACEH,IAAA,EACAI,GAAA,EACAgD,YAAA,EACA,OACA9C,uBAAA,EACAC,YACF,CACF,CACF;QACA;MACF;MAEAC,MAAA,CAAOI,IAAA,CAAKD,KAAK;IACnB,CAAC;IAGD,IAAI5E,KAAA,IAASsE,kBAAA,IAAsB,CAACb,aAAA,EAAe;MACjDgB,MAAA,CAAO8C,OAAA,CAAQ;IACjB;IAEA,OAAO9C,MAAA;EACT;EAGA,SAAS+C,YACPC,IAAA,EACAlH,WAAA,EACO;IACP,MAAMmH,IAAA,GAAe/G,KAAA,IAAU;MAC7B,MAAMgH,CAAA,GAAI9D,OAAA,CAAQ;MAClB,IAAI,CAAC8D,CAAA,EAAG,OAAO;MACf,OAAO1H,KAAA,CAAMoF,aAAA,CAAcsC,CAAA,CAAE1D,IAAA,CAAKwD,IAAI,GAAc9G,KAAK;IAC3D;IACA+G,IAAA,CAAKnH,WAAA,GAAcA,WAAA,IAAekH,IAAA;IAClC,OAAOC,IAAA;EACT;EAEA,MAAMxF,OAAA,GAAUsF,WAAA,CAA8B,SAAS;EACvD,MAAMrF,OAAA,GAAUqF,WAAA,CAAoC,SAAS;EAC7D,MAAMpF,IAAA,GAAOoF,WAAA,CAAiC,MAAM;EACpD,MAAMnF,SAAA,GAAYmF,WAAA,CAAsC,WAAW;EACnE,MAAMlF,YAAA,GAAekF,WAAA,CAAyC,cAAc;EAC5E,MAAM/E,QAAA,GAAW+E,WAAA,CAAqC,UAAU;EAChE,MAAM3E,SAAA,GAAY2E,WAAA,CAAsC,WAAW;EACnE,MAAM5E,aAAA,GAAgB4E,WAAA,CAA0C,eAAe;EAC/E,MAAMhF,KAAA,GAAQgF,WAAA,CAAkC,OAAO;EACvD,MAAM1E,KAAA,GAAQ0E,WAAA,CAAkC,OAAO;EACvD,MAAM9E,SAAA,GAAY8E,WAAA,CAAsC,WAAW;EACnE,MAAMxE,GAAA,GAAMwE,WAAA,CAAgC,KAAK;EACjD,MAAMjF,UAAA,GAAaiF,WAAA,CAAuC,YAAY;EACtE,MAAMvE,UAAA,GAAauE,WAAA,CAAuC,YAAY;EAEtE,MAAMrE,MAAA,GAA4CA,CAAC;IAAE7B;EAAS,MAAM,eAAAnB,GAAA,CAAAD,QAAA;IAAGoB;EAAA,CAAS;EAChF6B,MAAA,CAAO5C,WAAA,GAAc;EAErB,MAAMwC,KAAA,GAAkCA,CAAA,KAAM;EAC9CA,KAAA,CAAMxC,WAAA,GAAc;EAEpB,MAAM6C,UAAA,GAAgDA,CAAC;IAAE9B;EAAS,MAAM,eAAAnB,GAAA,CAAAD,QAAA;IAAGoB;EAAA,CAAS;EACpF8B,UAAA,CAAW7C,WAAA,GAAc,GAAGiD,QAAQ;EAEpC,MAAMH,SAAA,GAA+CA,CAAC;IAAE/B;EAAS,MAAM,eAAAnB,GAAA,CAAAD,QAAA;IAAGoB;EAAA,CAAS;EACnF+B,SAAA,CAAU9C,WAAA,GAAc,GAAGiD,QAAQ;EAEnC,MAAMb,YAAA,GAAgDA,CAAA,KAAM;EAC5DA,YAAA,CAAapC,WAAA,GAAc;EAE3B,MAAM2C,OAAA,GAAuCO,aAAA,GACzC+D,WAAA,CAAqC,WAAW,GAAGhE,QAAQ,SAAS,IACpE,MAAM;EACVN,OAAA,CAAQ3C,WAAA,GAAc,GAAGiD,QAAQ;EAEjC,MAAMF,SAAA,GAAiDG,aAAA,GACnD+D,WAAA,CAA6C,aAAa,GAAGhE,QAAQ,WAAW,IAChF,MAAM;EACVF,SAAA,CAAU/C,WAAA,GAAc,GAAGiD,QAAQ;EAInC,MAAMvB,IAAA,GAA4BA,CAAC;IAAEX,QAAA;IAAUsG,YAAA;IAAcC;EAAiB,MAAM;IAClF,MAAMC,eAAA,GAAkB7H,KAAA,CAAM8H,MAAA,CAAsB,IAAI;IACxD,MAAMC,oBAAA,GAAuB/H,KAAA,CAAMgI,WAAA,CAAajD,SAAA,IAA8B;MAC5E,IAAI8C,eAAA,CAAgBI,OAAA,EAAS;QAC3BrI,sCAAA,CAAuCiI,eAAA,CAAgBI,OAAA,EAASlD,SAAS;MAC3E;MACA8C,eAAA,CAAgBI,OAAA,GAAUtI,oCAAA,CAAqCoF,SAAS;IAC1E,GAAG,EAAE;IAEL,MAAMmD,sBAAA,GAAyBlI,KAAA,CAAMgI,WAAA,CAAajD,SAAA,IAA8B;MAC9E,IAAI,CAAC8C,eAAA,CAAgBI,OAAA,EAAS;MAC9BrI,sCAAA,CAAuCiI,eAAA,CAAgBI,OAAA,EAASlD,SAAS;MACzE8C,eAAA,CAAgBI,OAAA,GAAU;IAC5B,GAAG,EAAE;IAELjI,KAAA,CAAMmI,SAAA,CAAU,MAAMD,sBAAA,EAAwB,CAACA,sBAAsB,CAAC;IAEtE,MAAMR,CAAA,GAAI9D,OAAA,CAAQ;IAClB,IAAI,CAAC8D,CAAA,EAAG,OAAO;IAEf,MAAMU,gBAAA,GAAmBpI,KAAA,CAAMgI,WAAA,CAC5BK,MAAA,IAAoB;MACnB,IAAI,CAACA,MAAA,EAAQ;QACXH,sBAAA,CAAuB;MACzB;MACAP,YAAA,GAAeU,MAAM;IACvB,GACA,CAACV,YAAA,EAAcO,sBAAsB,CACvC;IAEA,MAAMI,oBAAA,GAAuBtI,KAAA,CAAMgI,WAAA,CAChCO,QAAA,IAAsB;MACrB,IAAI,CAACA,QAAA,EAAU;QACbL,sBAAA,CAAuB;MACzB;MACAN,gBAAA,GAAmBW,QAAQ;IAC7B,GACA,CAACX,gBAAA,EAAkBM,sBAAsB,CAC3C;IAEA,MAAMM,SAAA,GAAqC;MAAEb,YAAA,EAAcS;IAAiB;IAC5E,IAAI5E,aAAA,IAAiBoE,gBAAA,EAAkB;MACrCY,SAAA,CAAUZ,gBAAA,GAAmBU,oBAAA;IAC/B;IAEA,MAAMG,OAAA,GACJ,eAAAvI,GAAA,CAACwH,CAAA,CAAE1D,IAAA,CAAK0E,IAAA,EAAP;MAAa,GAAGF,SAAA;MACdnH,QAAA,EAAA8C,iBAAA,CAAkBuD,CAAA,CAAE1D,IAAA,EAAM0D,CAAA,CAAExD,YAAA,EAAc7C,QAAA,EAAU,OAAO;QAC1D2D,KAAA,EAAO+C,oBAAA;QACP9C,OAAA,EAASiD;MACX,CAAC;IAAA,CACH;IAGF,IAAIzE,SAAA,EAAW;MACb,OACE,eAAAvD,GAAA,CAACR,iBAAA,CAAkBiJ,QAAA,EAAlB;QAA2B7C,KAAA,EAAO;QAAOzE,QAAA,EAAAoH;MAAA,CAAQ;IAEtD;IAEA,OAAOA,OAAA;EACT;EACAzG,IAAA,CAAK1B,WAAA,GAAciD,QAAA;EAEnB,OAAO;IACLvB,IAAA,EAAMlC,oBAAA,CAAqBkC,IAAA,EAAM;MAC/BC,OAAA;MACAC,OAAA;MACAC,IAAA;MACAC,SAAA;MACAC,YAAA;MACAG,QAAA;MACAI,SAAA;MACAD,aAAA;MACAJ,KAAA;MACAM,KAAA;MACAJ,SAAA;MACAM,GAAA;MACAT,UAAA;MACAU,UAAA;MACAN,YAAA;MACAQ,MAAA;MACAC,UAAA;MACAC,SAAA;MACAN,KAAA;MACAG,OAAA;MACAI;IACF,CAAC;EACH;AACF","ignoreList":[]}
1
+ {"version":3,"file":"createNativeMenu.js","names":[],"sources":["jsx/createNativeMenu/createNativeMenu.js"],"sourcesContent":["import {\n getNativeMenuAdapter,\n NativeMenuContext,\n unstable_claimExternalPressOwnership,\n unstable_releaseExternalPressOwnership\n} from \"@tamagui/native\";\nimport { isWeb, withStaticProperties, isIos } from \"@tamagui/web\";\nimport React from \"react\";\nimport { Fragment, jsx } from \"react/jsx-runtime\";\nconst MAPPED_TYPES = [\n \"SubContent\",\n \"SubTrigger\",\n \"Content\",\n \"Sub\",\n \"Group\",\n \"Item\",\n \"ItemTitle\",\n \"ItemSubtitle\",\n \"ItemIcon\",\n \"ItemImage\",\n \"ItemIndicator\",\n \"Label\",\n \"Separator\",\n \"CheckboxItem\",\n \"Preview\",\n \"Auxiliary\"\n];\nconst CONTAINER_TYPES = [\n \"SubContent\",\n \"SubTrigger\",\n \"Content\",\n \"Sub\",\n \"Group\",\n \"Item\"\n];\nfunction getComponentType(displayName) {\n for (const type of MAPPED_TYPES) {\n if (displayName === type || displayName === `Menu${type}` || displayName === `ContextMenu${type}` || displayName.includes(`(${type})`)) {\n return type;\n }\n }\n return null;\n}\nfunction isItemLike(props, displayName) {\n if (getComponentType(displayName)) return false;\n return \"onSelect\" in props || \"textValue\" in props;\n}\nfunction isPortalLike(displayName) {\n return displayName === \"Portal\" || displayName.includes(\"Portal\");\n}\nfunction isTriggerLike(displayName) {\n return displayName === \"Trigger\" || displayName.includes(\"(Trigger)\");\n}\nfunction composeHandlers(first, second) {\n return (...args) => {\n first?.(...args);\n second?.(...args);\n };\n}\nfunction getTriggerDebugName(menuType, props) {\n const childProps = React.isValidElement(props.children) && props.children.props ? props.children.props : null;\n const prefix = menuType === \"ContextMenu\" ? \"ContextMenuTrigger\" : \"MenuTrigger\";\n const detail = childProps?.testID ?? childProps?.accessibilityLabel ?? (typeof props.textValue === \"string\" ? props.textValue : null);\n return [prefix, detail].filter(Boolean).join(\":\") || prefix;\n}\nconst emptyStub = (() => null);\nfunction createWebStubs() {\n return {\n Menu: withStaticProperties(emptyStub, {\n Trigger: emptyStub,\n Content: emptyStub,\n Item: emptyStub,\n ItemTitle: emptyStub,\n ItemSubtitle: emptyStub,\n SubTrigger: emptyStub,\n Group: emptyStub,\n ItemIcon: emptyStub,\n Separator: emptyStub,\n CheckboxItem: emptyStub,\n ItemIndicator: emptyStub,\n ItemImage: emptyStub,\n Label: emptyStub,\n Arrow: emptyStub,\n Sub: emptyStub,\n SubContent: emptyStub,\n Preview: emptyStub,\n Portal: emptyStub,\n RadioGroup: emptyStub,\n RadioItem: emptyStub,\n Auxiliary: emptyStub\n })\n };\n}\nconst createNativeMenu = (MenuType) => {\n if (isWeb) {\n return createWebStubs();\n }\n const isContextMenu = MenuType === \"ContextMenu\";\n const isAndroid = !isIos && !isWeb;\n let resolved = null;\n let warned = false;\n function resolve() {\n if (resolved) return resolved;\n const adapter = getNativeMenuAdapter();\n if (!adapter) {\n if (!warned) {\n warned = true;\n console.warn(\n `Warning: Register a native menu adapter before rendering Tamagui native menus`\n );\n }\n return null;\n }\n const menu = isContextMenu ? adapter.ContextMenu : adapter.Menu;\n resolved = {\n menu,\n componentMap: {\n SubContent: menu.SubContent,\n SubTrigger: menu.SubTrigger,\n Content: menu.Content,\n Sub: menu.Sub,\n Group: menu.Group,\n Item: menu.Item,\n ItemTitle: menu.ItemTitle,\n ItemSubtitle: menu.ItemSubtitle,\n ItemIcon: menu.ItemIcon,\n ItemImage: menu.ItemImage,\n ItemIndicator: menu.ItemIndicator,\n Label: menu.Label,\n Separator: menu.Separator,\n CheckboxItem: menu.CheckboxItem,\n Preview: menu.Preview,\n Auxiliary: menu.Auxiliary\n }\n };\n return resolved;\n }\n function transformChildren(menu, map, children, shouldReverseOnIos = false, triggerBoundaryHandlers, radioContext) {\n const result = [];\n React.Children.forEach(children, (child) => {\n if (!React.isValidElement(child)) {\n result.push(child);\n return;\n }\n const displayName = child.type?.displayName || \"\";\n const props = child.props;\n if (isPortalLike(displayName)) {\n const inner = transformChildren(\n menu,\n map,\n props.children,\n false,\n triggerBoundaryHandlers,\n radioContext\n );\n React.Children.forEach(inner, (c) => result.push(c));\n return;\n }\n if (displayName.includes(\"ScrollView\")) {\n const inner = transformChildren(\n menu,\n map,\n props.children,\n false,\n triggerBoundaryHandlers,\n radioContext\n );\n React.Children.forEach(inner, (c) => result.push(c));\n return;\n }\n if (isTriggerLike(displayName)) {\n const debugName = getTriggerDebugName(MenuType, props);\n const claim = () => triggerBoundaryHandlers?.claim(debugName);\n const release = () => triggerBoundaryHandlers?.release(debugName);\n const { children: triggerChildren, ...triggerProps } = props;\n result.push(\n React.createElement(\n menu.Trigger,\n {\n ...triggerProps,\n key: child.key,\n onTouchStart: composeHandlers(claim, props.onTouchStart),\n onTouchEnd: composeHandlers(props.onTouchEnd, release),\n onTouchCancel: composeHandlers(props.onTouchCancel, release),\n onResponderGrant: composeHandlers(claim, props.onResponderGrant),\n onResponderRelease: composeHandlers(props.onResponderRelease, release),\n onResponderTerminate: composeHandlers(props.onResponderTerminate, release),\n onPressIn: composeHandlers(claim, props.onPressIn),\n onPressOut: composeHandlers(props.onPressOut, release)\n },\n triggerChildren\n )\n );\n return;\n }\n if (displayName.includes(\"RadioGroup\")) {\n const {\n value: rgValue,\n onValueChange: rgOnValueChange,\n children: rgChildren,\n ...rest\n } = props;\n result.push(\n React.createElement(\n menu.Group,\n { ...rest, key: child.key },\n transformChildren(\n menu,\n map,\n rgChildren,\n false,\n triggerBoundaryHandlers,\n { value: rgValue, onValueChange: rgOnValueChange }\n )\n )\n );\n return;\n }\n if (displayName.includes(\"RadioItem\") && radioContext) {\n const {\n value: itemValue,\n children: rChildren,\n ...rest\n } = props;\n const cleanChildren = React.Children.map(rChildren, (c) => {\n if (!React.isValidElement(c)) return c;\n const dn = c.type?.displayName || \"\";\n if (dn.includes(\"ItemIndicator\")) return null;\n return c;\n });\n result.push(\n React.createElement(\n menu.CheckboxItem,\n {\n ...rest,\n key: child.key,\n value: itemValue === radioContext.value ? \"on\" : \"off\",\n onValueChange: () => radioContext.onValueChange?.(itemValue)\n },\n transformChildren(\n menu,\n map,\n cleanChildren,\n false,\n triggerBoundaryHandlers,\n radioContext\n )\n )\n );\n return;\n }\n const componentType = getComponentType(displayName);\n if (componentType === \"CheckboxItem\") {\n const {\n checked,\n onCheckedChange,\n value,\n onValueChange,\n children: cbChildren,\n ...rest\n } = props;\n const finalValue = value ?? (checked ? \"on\" : \"off\");\n const finalOnValueChange = onValueChange ?? (onCheckedChange && ((v) => onCheckedChange(v === \"on\")));\n const cleanChildren = React.Children.map(cbChildren, (c) => {\n if (!React.isValidElement(c)) return c;\n const dn = c.type?.displayName || \"\";\n if (dn.includes(\"ItemIndicator\")) return null;\n return c;\n });\n result.push(\n React.createElement(\n menu.CheckboxItem,\n {\n ...rest,\n key: child.key,\n value: finalValue,\n onValueChange: finalOnValueChange\n },\n transformChildren(\n menu,\n map,\n cleanChildren,\n false,\n triggerBoundaryHandlers,\n radioContext\n )\n )\n );\n return;\n }\n if (componentType) {\n const { children: childChildren, ...restProps } = props;\n const AdapterComponent = map[componentType];\n const isContainer = CONTAINER_TYPES.includes(componentType);\n const shouldReverse = componentType === \"Content\" || componentType === \"SubContent\";\n result.push(\n React.createElement(\n AdapterComponent,\n { ...restProps, key: child.key },\n isContainer ? transformChildren(\n menu,\n map,\n childChildren,\n shouldReverse,\n triggerBoundaryHandlers,\n radioContext\n ) : childChildren\n )\n );\n return;\n }\n if (isItemLike(props, displayName)) {\n const { children: itemChildren, ...itemProps } = props;\n result.push(\n React.createElement(\n menu.Item,\n { ...itemProps, key: child.key },\n transformChildren(\n menu,\n map,\n itemChildren,\n false,\n triggerBoundaryHandlers,\n radioContext\n )\n )\n );\n return;\n }\n result.push(child);\n });\n if (isIos && shouldReverseOnIos && !isContextMenu) {\n result.reverse();\n }\n return result;\n }\n function lazyAdapter(name, displayName) {\n const Comp = (props) => {\n const z = resolve();\n if (!z) return null;\n return React.createElement(z.menu[name], props);\n };\n Comp.displayName = displayName || name;\n return Comp;\n }\n const Trigger = lazyAdapter(\"Trigger\");\n const Content = lazyAdapter(\"Content\");\n const Item = lazyAdapter(\"Item\");\n const ItemTitle = lazyAdapter(\"ItemTitle\");\n const ItemSubtitle = lazyAdapter(\"ItemSubtitle\");\n const ItemIcon = lazyAdapter(\"ItemIcon\");\n const ItemImage = lazyAdapter(\"ItemImage\");\n const ItemIndicator = lazyAdapter(\"ItemIndicator\");\n const Group = lazyAdapter(\"Group\");\n const Label = lazyAdapter(\"Label\");\n const Separator = lazyAdapter(\"Separator\");\n const Sub = lazyAdapter(\"Sub\");\n const SubTrigger = lazyAdapter(\"SubTrigger\");\n const SubContent = lazyAdapter(\"SubContent\");\n const Portal = ({ children }) => /* @__PURE__ */ jsx(Fragment, { children });\n Portal.displayName = \"Portal\";\n const Arrow = () => null;\n Arrow.displayName = \"Arrow\";\n const RadioGroup = ({ children }) => /* @__PURE__ */ jsx(Fragment, { children });\n RadioGroup.displayName = `${MenuType}RadioGroup`;\n const RadioItem = ({ children }) => /* @__PURE__ */ jsx(Fragment, { children });\n RadioItem.displayName = `${MenuType}RadioItem`;\n const CheckboxItem = () => null;\n CheckboxItem.displayName = \"CheckboxItem\";\n const Preview = isContextMenu ? lazyAdapter(\"Preview\", `${MenuType}Preview`) : () => null;\n Preview.displayName = `${MenuType}Preview`;\n const Auxiliary = isContextMenu ? lazyAdapter(\"Auxiliary\", `${MenuType}Auxiliary`) : () => null;\n Auxiliary.displayName = `${MenuType}Auxiliary`;\n const Menu = ({ children, onOpenChange, onOpenWillChange }) => {\n const triggerOwnerRef = React.useRef(null);\n const claimTriggerBoundary = React.useCallback((debugName) => {\n if (triggerOwnerRef.current) {\n unstable_releaseExternalPressOwnership(triggerOwnerRef.current, debugName);\n }\n triggerOwnerRef.current = unstable_claimExternalPressOwnership(debugName);\n }, []);\n const releaseTriggerBoundary = React.useCallback((debugName) => {\n if (!triggerOwnerRef.current) return;\n unstable_releaseExternalPressOwnership(triggerOwnerRef.current, debugName);\n triggerOwnerRef.current = null;\n }, []);\n React.useEffect(() => releaseTriggerBoundary, [releaseTriggerBoundary]);\n const z = resolve();\n if (!z) return null;\n const handleOpenChange = React.useCallback(\n (isOpen) => {\n if (!isOpen) {\n releaseTriggerBoundary();\n }\n onOpenChange?.(isOpen);\n },\n [onOpenChange, releaseTriggerBoundary]\n );\n const handleOpenWillChange = React.useCallback(\n (willOpen) => {\n if (!willOpen) {\n releaseTriggerBoundary();\n }\n onOpenWillChange?.(willOpen);\n },\n [onOpenWillChange, releaseTriggerBoundary]\n );\n const rootProps = { onOpenChange: handleOpenChange };\n if (isContextMenu && onOpenWillChange) {\n rootProps.onOpenWillChange = handleOpenWillChange;\n }\n const content = /* @__PURE__ */ jsx(z.menu.Root, { ...rootProps, children: transformChildren(z.menu, z.componentMap, children, false, {\n claim: claimTriggerBoundary,\n release: releaseTriggerBoundary\n }) });\n if (isAndroid) {\n return /* @__PURE__ */ jsx(NativeMenuContext.Provider, { value: true, children: content });\n }\n return content;\n };\n Menu.displayName = MenuType;\n return {\n Menu: withStaticProperties(Menu, {\n Trigger,\n Content,\n Item,\n ItemTitle,\n ItemSubtitle,\n ItemIcon,\n ItemImage,\n ItemIndicator,\n Group,\n Label,\n Separator,\n Sub,\n SubTrigger,\n SubContent,\n CheckboxItem,\n Portal,\n RadioGroup,\n RadioItem,\n Arrow,\n Preview,\n Auxiliary\n })\n };\n};\nexport {\n createNativeMenu\n};\n//# sourceMappingURL=createNativeMenu.js.map\n"],"mappings":"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"}
@@ -0,0 +1,439 @@
1
+ "use strict";
2
+
3
+
4
+ var __create = Object.create;
5
+ var __defProp = Object.defineProperty;
6
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
7
+ var __getOwnPropNames = Object.getOwnPropertyNames;
8
+ var __getProtoOf = Object.getPrototypeOf;
9
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
10
+ var __export = (target, all) => {
11
+ for (var name in all) __defProp(target, name, {
12
+ get: all[name],
13
+ enumerable: true
14
+ });
15
+ };
16
+ var __copyProps = (to, from, except, desc) => {
17
+ if (from && typeof from === "object" || typeof from === "function") {
18
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
19
+ get: () => from[key],
20
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
21
+ });
22
+ }
23
+ return to;
24
+ };
25
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
26
+ value: mod,
27
+ enumerable: true
28
+ }) : target, mod));
29
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
30
+ var createNativeMenu_exports = {};
31
+ __export(createNativeMenu_exports, { createNativeMenu: () => createNativeMenu });
32
+ module.exports = __toCommonJS(createNativeMenu_exports);
33
+ var import_jsx_runtime = require("react/jsx-runtime");
34
+ var import_native = require("@tamagui/native");
35
+ var import_web = require("@tamagui/web");
36
+ var import_react = __toESM(require("react"), 1);
37
+ var MAPPED_TYPES = [
38
+ "SubContent",
39
+ "SubTrigger",
40
+ "Content",
41
+ "Sub",
42
+ "Group",
43
+ "Item",
44
+ "ItemTitle",
45
+ "ItemSubtitle",
46
+ "ItemIcon",
47
+ "ItemImage",
48
+ "ItemIndicator",
49
+ "Label",
50
+ "Separator",
51
+ "CheckboxItem",
52
+ "Preview",
53
+ "Auxiliary"
54
+ ];
55
+ var CONTAINER_TYPES = [
56
+ "SubContent",
57
+ "SubTrigger",
58
+ "Content",
59
+ "Sub",
60
+ "Group",
61
+ "Item"
62
+ ];
63
+ function getComponentType(displayName) {
64
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
65
+ try {
66
+ for (var _iterator = MAPPED_TYPES[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
67
+ var type = _step.value;
68
+ if (displayName === type || displayName === `Menu${type}` || displayName === `ContextMenu${type}` || displayName.includes(`(${type})`)) {
69
+ return type;
70
+ }
71
+ }
72
+ } catch (err) {
73
+ _didIteratorError = true;
74
+ _iteratorError = err;
75
+ } finally {
76
+ try {
77
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
78
+ _iterator.return();
79
+ }
80
+ } finally {
81
+ if (_didIteratorError) {
82
+ throw _iteratorError;
83
+ }
84
+ }
85
+ }
86
+ return null;
87
+ }
88
+ function isItemLike(props, displayName) {
89
+ if (getComponentType(displayName)) return false;
90
+ return "onSelect" in props || "textValue" in props;
91
+ }
92
+ function isPortalLike(displayName) {
93
+ return displayName === "Portal" || displayName.includes("Portal");
94
+ }
95
+ function isTriggerLike(displayName) {
96
+ return displayName === "Trigger" || displayName.includes("(Trigger)");
97
+ }
98
+ function composeHandlers(first, second) {
99
+ return function() {
100
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
101
+ args[_key] = arguments[_key];
102
+ }
103
+ first === null || first === void 0 ? void 0 : first(...args);
104
+ second === null || second === void 0 ? void 0 : second(...args);
105
+ };
106
+ }
107
+ function getTriggerDebugName(menuType, props) {
108
+ var childProps = /* @__PURE__ */ import_react.default.isValidElement(props.children) && props.children.props ? props.children.props : null;
109
+ var prefix = menuType === "ContextMenu" ? "ContextMenuTrigger" : "MenuTrigger";
110
+ var _childProps_testID, _ref;
111
+ var detail = (_ref = (_childProps_testID = childProps === null || childProps === void 0 ? void 0 : childProps.testID) !== null && _childProps_testID !== void 0 ? _childProps_testID : childProps === null || childProps === void 0 ? void 0 : childProps.accessibilityLabel) !== null && _ref !== void 0 ? _ref : typeof props.textValue === "string" ? props.textValue : null;
112
+ return [prefix, detail].filter(Boolean).join(":") || prefix;
113
+ }
114
+ var emptyStub = function() {
115
+ return null;
116
+ };
117
+ function createWebStubs() {
118
+ return { Menu: (0, import_web.withStaticProperties)(emptyStub, {
119
+ Trigger: emptyStub,
120
+ Content: emptyStub,
121
+ Item: emptyStub,
122
+ ItemTitle: emptyStub,
123
+ ItemSubtitle: emptyStub,
124
+ SubTrigger: emptyStub,
125
+ Group: emptyStub,
126
+ ItemIcon: emptyStub,
127
+ Separator: emptyStub,
128
+ CheckboxItem: emptyStub,
129
+ ItemIndicator: emptyStub,
130
+ ItemImage: emptyStub,
131
+ Label: emptyStub,
132
+ Arrow: emptyStub,
133
+ Sub: emptyStub,
134
+ SubContent: emptyStub,
135
+ Preview: emptyStub,
136
+ Portal: emptyStub,
137
+ RadioGroup: emptyStub,
138
+ RadioItem: emptyStub,
139
+ Auxiliary: emptyStub
140
+ }) };
141
+ }
142
+ var createNativeMenu = function(MenuType) {
143
+ if (import_web.isWeb) {
144
+ return createWebStubs();
145
+ }
146
+ var isContextMenu = MenuType === "ContextMenu";
147
+ var isAndroid = !import_web.isIos && !import_web.isWeb;
148
+ var resolved = null;
149
+ var warned = false;
150
+ function resolve() {
151
+ if (resolved) return resolved;
152
+ var adapter = (0, import_native.getNativeMenuAdapter)();
153
+ if (!adapter) {
154
+ if (!warned) {
155
+ warned = true;
156
+ console.warn(`Warning: Register a native menu adapter before rendering Tamagui native menus`);
157
+ }
158
+ return null;
159
+ }
160
+ var menu = isContextMenu ? adapter.ContextMenu : adapter.Menu;
161
+ resolved = {
162
+ menu,
163
+ componentMap: {
164
+ SubContent: menu.SubContent,
165
+ SubTrigger: menu.SubTrigger,
166
+ Content: menu.Content,
167
+ Sub: menu.Sub,
168
+ Group: menu.Group,
169
+ Item: menu.Item,
170
+ ItemTitle: menu.ItemTitle,
171
+ ItemSubtitle: menu.ItemSubtitle,
172
+ ItemIcon: menu.ItemIcon,
173
+ ItemImage: menu.ItemImage,
174
+ ItemIndicator: menu.ItemIndicator,
175
+ Label: menu.Label,
176
+ Separator: menu.Separator,
177
+ CheckboxItem: menu.CheckboxItem,
178
+ Preview: menu.Preview,
179
+ Auxiliary: menu.Auxiliary
180
+ }
181
+ };
182
+ return resolved;
183
+ }
184
+ function transformChildren(menu, map, children) {
185
+ var shouldReverseOnIos = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : false, triggerBoundaryHandlers = arguments.length > 4 ? arguments[4] : void 0, radioContext = arguments.length > 5 ? arguments[5] : void 0;
186
+ var result = [];
187
+ import_react.default.Children.forEach(children, function(child) {
188
+ var _child_type;
189
+ if (!/* @__PURE__ */ import_react.default.isValidElement(child)) {
190
+ result.push(child);
191
+ return;
192
+ }
193
+ var displayName = ((_child_type = child.type) === null || _child_type === void 0 ? void 0 : _child_type.displayName) || "";
194
+ var props = child.props;
195
+ if (isPortalLike(displayName)) {
196
+ var inner = transformChildren(menu, map, props.children, false, triggerBoundaryHandlers, radioContext);
197
+ import_react.default.Children.forEach(inner, function(c) {
198
+ return result.push(c);
199
+ });
200
+ return;
201
+ }
202
+ if (displayName.includes("ScrollView")) {
203
+ var inner1 = transformChildren(menu, map, props.children, false, triggerBoundaryHandlers, radioContext);
204
+ import_react.default.Children.forEach(inner1, function(c) {
205
+ return result.push(c);
206
+ });
207
+ return;
208
+ }
209
+ if (isTriggerLike(displayName)) {
210
+ var debugName = getTriggerDebugName(MenuType, props);
211
+ var claim = function() {
212
+ return triggerBoundaryHandlers === null || triggerBoundaryHandlers === void 0 ? void 0 : triggerBoundaryHandlers.claim(debugName);
213
+ };
214
+ var release = function() {
215
+ return triggerBoundaryHandlers === null || triggerBoundaryHandlers === void 0 ? void 0 : triggerBoundaryHandlers.release(debugName);
216
+ };
217
+ var { children: triggerChildren, ...triggerProps } = props;
218
+ result.push(/* @__PURE__ */ import_react.default.createElement(menu.Trigger, {
219
+ ...triggerProps,
220
+ key: child.key,
221
+ onTouchStart: composeHandlers(claim, props.onTouchStart),
222
+ onTouchEnd: composeHandlers(props.onTouchEnd, release),
223
+ onTouchCancel: composeHandlers(props.onTouchCancel, release),
224
+ onResponderGrant: composeHandlers(claim, props.onResponderGrant),
225
+ onResponderRelease: composeHandlers(props.onResponderRelease, release),
226
+ onResponderTerminate: composeHandlers(props.onResponderTerminate, release),
227
+ onPressIn: composeHandlers(claim, props.onPressIn),
228
+ onPressOut: composeHandlers(props.onPressOut, release)
229
+ }, triggerChildren));
230
+ return;
231
+ }
232
+ if (displayName.includes("RadioGroup")) {
233
+ var { value: rgValue, onValueChange: rgOnValueChange, children: rgChildren, ...rest } = props;
234
+ result.push(/* @__PURE__ */ import_react.default.createElement(menu.Group, {
235
+ ...rest,
236
+ key: child.key
237
+ }, transformChildren(menu, map, rgChildren, false, triggerBoundaryHandlers, {
238
+ value: rgValue,
239
+ onValueChange: rgOnValueChange
240
+ })));
241
+ return;
242
+ }
243
+ if (displayName.includes("RadioItem") && radioContext) {
244
+ var { value: itemValue, children: rChildren, ...rest1 } = props;
245
+ var cleanChildren = import_react.default.Children.map(rChildren, function(c) {
246
+ var _c_type;
247
+ if (!/* @__PURE__ */ import_react.default.isValidElement(c)) return c;
248
+ var dn = ((_c_type = c.type) === null || _c_type === void 0 ? void 0 : _c_type.displayName) || "";
249
+ if (dn.includes("ItemIndicator")) return null;
250
+ return c;
251
+ });
252
+ result.push(/* @__PURE__ */ import_react.default.createElement(menu.CheckboxItem, {
253
+ ...rest1,
254
+ key: child.key,
255
+ value: itemValue === radioContext.value ? "on" : "off",
256
+ onValueChange: function() {
257
+ var _radioContext_onValueChange;
258
+ return (_radioContext_onValueChange = radioContext.onValueChange) === null || _radioContext_onValueChange === void 0 ? void 0 : _radioContext_onValueChange.call(radioContext, itemValue);
259
+ }
260
+ }, transformChildren(menu, map, cleanChildren, false, triggerBoundaryHandlers, radioContext)));
261
+ return;
262
+ }
263
+ var componentType = getComponentType(displayName);
264
+ if (componentType === "CheckboxItem") {
265
+ var { checked, onCheckedChange, value, onValueChange, children: cbChildren, ...rest2 } = props;
266
+ var finalValue = value !== null && value !== void 0 ? value : checked ? "on" : "off";
267
+ var finalOnValueChange = onValueChange !== null && onValueChange !== void 0 ? onValueChange : onCheckedChange && function(v) {
268
+ return onCheckedChange(v === "on");
269
+ };
270
+ var cleanChildren1 = import_react.default.Children.map(cbChildren, function(c) {
271
+ var _c_type;
272
+ if (!/* @__PURE__ */ import_react.default.isValidElement(c)) return c;
273
+ var dn = ((_c_type = c.type) === null || _c_type === void 0 ? void 0 : _c_type.displayName) || "";
274
+ if (dn.includes("ItemIndicator")) return null;
275
+ return c;
276
+ });
277
+ result.push(/* @__PURE__ */ import_react.default.createElement(menu.CheckboxItem, {
278
+ ...rest2,
279
+ key: child.key,
280
+ value: finalValue,
281
+ onValueChange: finalOnValueChange
282
+ }, transformChildren(menu, map, cleanChildren1, false, triggerBoundaryHandlers, radioContext)));
283
+ return;
284
+ }
285
+ if (componentType) {
286
+ var { children: childChildren, ...restProps } = props;
287
+ var AdapterComponent = map[componentType];
288
+ var isContainer = CONTAINER_TYPES.includes(componentType);
289
+ var shouldReverse = componentType === "Content" || componentType === "SubContent";
290
+ result.push(/* @__PURE__ */ import_react.default.createElement(AdapterComponent, {
291
+ ...restProps,
292
+ key: child.key
293
+ }, isContainer ? transformChildren(menu, map, childChildren, shouldReverse, triggerBoundaryHandlers, radioContext) : childChildren));
294
+ return;
295
+ }
296
+ if (isItemLike(props, displayName)) {
297
+ var { children: itemChildren, ...itemProps } = props;
298
+ result.push(/* @__PURE__ */ import_react.default.createElement(menu.Item, {
299
+ ...itemProps,
300
+ key: child.key
301
+ }, transformChildren(menu, map, itemChildren, false, triggerBoundaryHandlers, radioContext)));
302
+ return;
303
+ }
304
+ result.push(child);
305
+ });
306
+ if (import_web.isIos && shouldReverseOnIos && !isContextMenu) {
307
+ result.reverse();
308
+ }
309
+ return result;
310
+ }
311
+ function lazyAdapter(name, displayName) {
312
+ var Comp = function(props) {
313
+ var z = resolve();
314
+ if (!z) return null;
315
+ return /* @__PURE__ */ import_react.default.createElement(z.menu[name], props);
316
+ };
317
+ Comp.displayName = displayName || name;
318
+ return Comp;
319
+ }
320
+ var Trigger = lazyAdapter("Trigger");
321
+ var Content = lazyAdapter("Content");
322
+ var Item = lazyAdapter("Item");
323
+ var ItemTitle = lazyAdapter("ItemTitle");
324
+ var ItemSubtitle = lazyAdapter("ItemSubtitle");
325
+ var ItemIcon = lazyAdapter("ItemIcon");
326
+ var ItemImage = lazyAdapter("ItemImage");
327
+ var ItemIndicator = lazyAdapter("ItemIndicator");
328
+ var Group = lazyAdapter("Group");
329
+ var Label = lazyAdapter("Label");
330
+ var Separator = lazyAdapter("Separator");
331
+ var Sub = lazyAdapter("Sub");
332
+ var SubTrigger = lazyAdapter("SubTrigger");
333
+ var SubContent = lazyAdapter("SubContent");
334
+ var Portal = function(param) {
335
+ var { children } = param;
336
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children });
337
+ };
338
+ Portal.displayName = "Portal";
339
+ var Arrow = function() {
340
+ return null;
341
+ };
342
+ Arrow.displayName = "Arrow";
343
+ var RadioGroup = function(param) {
344
+ var { children } = param;
345
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children });
346
+ };
347
+ RadioGroup.displayName = `${MenuType}RadioGroup`;
348
+ var RadioItem = function(param) {
349
+ var { children } = param;
350
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children });
351
+ };
352
+ RadioItem.displayName = `${MenuType}RadioItem`;
353
+ var CheckboxItem = function() {
354
+ return null;
355
+ };
356
+ CheckboxItem.displayName = "CheckboxItem";
357
+ var Preview = isContextMenu ? lazyAdapter("Preview", `${MenuType}Preview`) : function() {
358
+ return null;
359
+ };
360
+ Preview.displayName = `${MenuType}Preview`;
361
+ var Auxiliary = isContextMenu ? lazyAdapter("Auxiliary", `${MenuType}Auxiliary`) : function() {
362
+ return null;
363
+ };
364
+ Auxiliary.displayName = `${MenuType}Auxiliary`;
365
+ var Menu = function(param) {
366
+ var { children, onOpenChange, onOpenWillChange } = param;
367
+ var triggerOwnerRef = import_react.default.useRef(null);
368
+ var claimTriggerBoundary = import_react.default.useCallback(function(debugName) {
369
+ if (triggerOwnerRef.current) {
370
+ (0, import_native.unstable_releaseExternalPressOwnership)(triggerOwnerRef.current, debugName);
371
+ }
372
+ triggerOwnerRef.current = (0, import_native.unstable_claimExternalPressOwnership)(debugName);
373
+ }, []);
374
+ var releaseTriggerBoundary = import_react.default.useCallback(function(debugName) {
375
+ if (!triggerOwnerRef.current) return;
376
+ (0, import_native.unstable_releaseExternalPressOwnership)(triggerOwnerRef.current, debugName);
377
+ triggerOwnerRef.current = null;
378
+ }, []);
379
+ import_react.default.useEffect(function() {
380
+ return releaseTriggerBoundary;
381
+ }, [releaseTriggerBoundary]);
382
+ var z = resolve();
383
+ if (!z) return null;
384
+ var handleOpenChange = import_react.default.useCallback(function(isOpen) {
385
+ if (!isOpen) {
386
+ releaseTriggerBoundary();
387
+ }
388
+ onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(isOpen);
389
+ }, [onOpenChange, releaseTriggerBoundary]);
390
+ var handleOpenWillChange = import_react.default.useCallback(function(willOpen) {
391
+ if (!willOpen) {
392
+ releaseTriggerBoundary();
393
+ }
394
+ onOpenWillChange === null || onOpenWillChange === void 0 ? void 0 : onOpenWillChange(willOpen);
395
+ }, [onOpenWillChange, releaseTriggerBoundary]);
396
+ var rootProps = { onOpenChange: handleOpenChange };
397
+ if (isContextMenu && onOpenWillChange) {
398
+ rootProps.onOpenWillChange = handleOpenWillChange;
399
+ }
400
+ var content = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(z.menu.Root, {
401
+ ...rootProps,
402
+ children: transformChildren(z.menu, z.componentMap, children, false, {
403
+ claim: claimTriggerBoundary,
404
+ release: releaseTriggerBoundary
405
+ })
406
+ });
407
+ if (isAndroid) {
408
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_native.NativeMenuContext.Provider, {
409
+ value: true,
410
+ children: content
411
+ });
412
+ }
413
+ return content;
414
+ };
415
+ Menu.displayName = MenuType;
416
+ return { Menu: (0, import_web.withStaticProperties)(Menu, {
417
+ Trigger,
418
+ Content,
419
+ Item,
420
+ ItemTitle,
421
+ ItemSubtitle,
422
+ ItemIcon,
423
+ ItemImage,
424
+ ItemIndicator,
425
+ Group,
426
+ Label,
427
+ Separator,
428
+ Sub,
429
+ SubTrigger,
430
+ SubContent,
431
+ CheckboxItem,
432
+ Portal,
433
+ RadioGroup,
434
+ RadioItem,
435
+ Arrow,
436
+ Preview,
437
+ Auxiliary
438
+ }) };
439
+ };