@tamagui/create-menu 2.7.7 → 3.0.0-beta.1091.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 +1032 -1247
  2. package/dist/cjs/createBaseMenu.native.cjs +1207 -0
  3. package/dist/cjs/createBaseMenu.native.js +1149 -1391
  4. package/dist/cjs/createBaseMenu.native.js.map +1 -1
  5. package/dist/cjs/createNativeMenu/createNativeMenu.cjs +345 -377
  6. package/dist/cjs/createNativeMenu/createNativeMenu.native.cjs +438 -0
  7. package/dist/cjs/createNativeMenu/createNativeMenu.native.js +404 -439
  8. package/dist/cjs/createNativeMenu/createNativeMenu.native.js.map +1 -1
  9. package/dist/cjs/createNativeMenu/createNativeMenuTypes.cjs +9 -11
  10. package/dist/cjs/createNativeMenu/createNativeMenuTypes.native.cjs +18 -0
  11. package/dist/cjs/createNativeMenu/createNativeMenuTypes.native.js +9 -10
  12. package/dist/cjs/createNativeMenu/createNativeMenuTypes.native.js.map +1 -1
  13. package/dist/cjs/createNativeMenu/utils.cjs +75 -86
  14. package/dist/cjs/createNativeMenu/utils.native.cjs +106 -0
  15. package/dist/cjs/createNativeMenu/utils.native.js +81 -92
  16. package/dist/cjs/createNativeMenu/utils.native.js.map +1 -1
  17. package/dist/cjs/createNativeMenu/withNativeMenu.cjs +30 -35
  18. package/dist/cjs/createNativeMenu/withNativeMenu.native.cjs +45 -0
  19. package/dist/cjs/createNativeMenu/withNativeMenu.native.js +30 -34
  20. package/dist/cjs/createNativeMenu/withNativeMenu.native.js.map +1 -1
  21. package/dist/cjs/index.cjs +8 -20
  22. package/dist/cjs/index.native.cjs +22 -0
  23. package/dist/cjs/index.native.js +9 -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 +1138 -1370
  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 +18 -17
  40. package/dist/esm/createNativeMenu/withNativeMenu.mjs.map +1 -1
  41. package/dist/esm/createNativeMenu/withNativeMenu.native.js +19 -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 +1207 -0
  49. package/dist/jsx/createBaseMenu.native.js +1149 -1391
  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 +438 -0
  54. package/dist/jsx/createNativeMenu/createNativeMenu.native.js +404 -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 +18 -0
  58. package/dist/jsx/createNativeMenu/createNativeMenuTypes.native.js +9 -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 +106 -0
  63. package/dist/jsx/createNativeMenu/utils.native.js +81 -92
  64. package/dist/jsx/createNativeMenu/utils.native.js.map +1 -1
  65. package/dist/jsx/createNativeMenu/withNativeMenu.mjs +18 -17
  66. package/dist/jsx/createNativeMenu/withNativeMenu.mjs.map +1 -1
  67. package/dist/jsx/createNativeMenu/withNativeMenu.native.cjs +45 -0
  68. package/dist/jsx/createNativeMenu/withNativeMenu.native.js +30 -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 +22 -0
  73. package/dist/jsx/index.native.js +9 -20
  74. package/dist/jsx/index.native.js.map +1 -1
  75. package/package.json +26 -23
  76. package/src/createBaseMenu.tsx +214 -232
  77. package/src/createNativeMenu/createNativeMenuTypes.ts +1 -7
  78. package/src/createNativeMenu/utils.tsx +6 -6
  79. package/src/createNativeMenu/withNativeMenu.tsx +8 -2
  80. package/src/index.tsx +0 -1
  81. package/types/createBaseMenu.d.ts +36 -124
  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 +1 -7
  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,438 @@
1
+ "use strict";
2
+
3
+ var __create = Object.create;
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __getProtoOf = Object.getPrototypeOf;
8
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
9
+ var __export = (target, all) => {
10
+ for (var name in all) __defProp(target, name, {
11
+ get: all[name],
12
+ enumerable: true
13
+ });
14
+ };
15
+ var __copyProps = (to, from, except, desc) => {
16
+ if (from && typeof from === "object" || typeof from === "function") {
17
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
18
+ get: () => from[key],
19
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
20
+ });
21
+ }
22
+ return to;
23
+ };
24
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
25
+ value: mod,
26
+ enumerable: true
27
+ }) : target, mod));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var createNativeMenu_exports = {};
30
+ __export(createNativeMenu_exports, { createNativeMenu: () => createNativeMenu });
31
+ module.exports = __toCommonJS(createNativeMenu_exports);
32
+ var import_jsx_runtime = require("react/jsx-runtime");
33
+ var import_native = require("@tamagui/native");
34
+ var import_web = require("@tamagui/web");
35
+ var import_react = __toESM(require("react"), 1);
36
+ var MAPPED_TYPES = [
37
+ "SubContent",
38
+ "SubTrigger",
39
+ "Content",
40
+ "Sub",
41
+ "Group",
42
+ "Item",
43
+ "ItemTitle",
44
+ "ItemSubtitle",
45
+ "ItemIcon",
46
+ "ItemImage",
47
+ "ItemIndicator",
48
+ "Label",
49
+ "Separator",
50
+ "CheckboxItem",
51
+ "Preview",
52
+ "Auxiliary"
53
+ ];
54
+ var CONTAINER_TYPES = [
55
+ "SubContent",
56
+ "SubTrigger",
57
+ "Content",
58
+ "Sub",
59
+ "Group",
60
+ "Item"
61
+ ];
62
+ function getComponentType(displayName) {
63
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
64
+ try {
65
+ for (var _iterator = MAPPED_TYPES[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
66
+ var type = _step.value;
67
+ if (displayName === type || displayName === `Menu${type}` || displayName === `ContextMenu${type}` || displayName.includes(`(${type})`)) {
68
+ return type;
69
+ }
70
+ }
71
+ } catch (err) {
72
+ _didIteratorError = true;
73
+ _iteratorError = err;
74
+ } finally {
75
+ try {
76
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
77
+ _iterator.return();
78
+ }
79
+ } finally {
80
+ if (_didIteratorError) {
81
+ throw _iteratorError;
82
+ }
83
+ }
84
+ }
85
+ return null;
86
+ }
87
+ function isItemLike(props, displayName) {
88
+ if (getComponentType(displayName)) return false;
89
+ return "onSelect" in props || "textValue" in props;
90
+ }
91
+ function isPortalLike(displayName) {
92
+ return displayName === "Portal" || displayName.includes("Portal");
93
+ }
94
+ function isTriggerLike(displayName) {
95
+ return displayName === "Trigger" || displayName.includes("(Trigger)");
96
+ }
97
+ function composeHandlers(first, second) {
98
+ return function() {
99
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
100
+ args[_key] = arguments[_key];
101
+ }
102
+ first === null || first === void 0 ? void 0 : first(...args);
103
+ second === null || second === void 0 ? void 0 : second(...args);
104
+ };
105
+ }
106
+ function getTriggerDebugName(menuType, props) {
107
+ var childProps = /* @__PURE__ */ import_react.default.isValidElement(props.children) && props.children.props ? props.children.props : null;
108
+ var prefix = menuType === "ContextMenu" ? "ContextMenuTrigger" : "MenuTrigger";
109
+ var _childProps_testID, _ref;
110
+ 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;
111
+ return [prefix, detail].filter(Boolean).join(":") || prefix;
112
+ }
113
+ var emptyStub = function() {
114
+ return null;
115
+ };
116
+ function createWebStubs() {
117
+ return { Menu: (0, import_web.withStaticProperties)(emptyStub, {
118
+ Trigger: emptyStub,
119
+ Content: emptyStub,
120
+ Item: emptyStub,
121
+ ItemTitle: emptyStub,
122
+ ItemSubtitle: emptyStub,
123
+ SubTrigger: emptyStub,
124
+ Group: emptyStub,
125
+ ItemIcon: emptyStub,
126
+ Separator: emptyStub,
127
+ CheckboxItem: emptyStub,
128
+ ItemIndicator: emptyStub,
129
+ ItemImage: emptyStub,
130
+ Label: emptyStub,
131
+ Arrow: emptyStub,
132
+ Sub: emptyStub,
133
+ SubContent: emptyStub,
134
+ Preview: emptyStub,
135
+ Portal: emptyStub,
136
+ RadioGroup: emptyStub,
137
+ RadioItem: emptyStub,
138
+ Auxiliary: emptyStub
139
+ }) };
140
+ }
141
+ var createNativeMenu = function(MenuType) {
142
+ if (import_web.isWeb) {
143
+ return createWebStubs();
144
+ }
145
+ var isContextMenu = MenuType === "ContextMenu";
146
+ var isAndroid = !import_web.isIos && !import_web.isWeb;
147
+ var resolved = null;
148
+ var warned = false;
149
+ function resolve() {
150
+ if (resolved) return resolved;
151
+ var adapter = (0, import_native.getNativeMenuAdapter)();
152
+ if (!adapter) {
153
+ if (!warned) {
154
+ warned = true;
155
+ console.warn(`Warning: Register a native menu adapter before rendering Tamagui native menus`);
156
+ }
157
+ return null;
158
+ }
159
+ var menu = isContextMenu ? adapter.ContextMenu : adapter.Menu;
160
+ resolved = {
161
+ menu,
162
+ componentMap: {
163
+ SubContent: menu.SubContent,
164
+ SubTrigger: menu.SubTrigger,
165
+ Content: menu.Content,
166
+ Sub: menu.Sub,
167
+ Group: menu.Group,
168
+ Item: menu.Item,
169
+ ItemTitle: menu.ItemTitle,
170
+ ItemSubtitle: menu.ItemSubtitle,
171
+ ItemIcon: menu.ItemIcon,
172
+ ItemImage: menu.ItemImage,
173
+ ItemIndicator: menu.ItemIndicator,
174
+ Label: menu.Label,
175
+ Separator: menu.Separator,
176
+ CheckboxItem: menu.CheckboxItem,
177
+ Preview: menu.Preview,
178
+ Auxiliary: menu.Auxiliary
179
+ }
180
+ };
181
+ return resolved;
182
+ }
183
+ function transformChildren(menu, map, children) {
184
+ 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;
185
+ var result = [];
186
+ import_react.default.Children.forEach(children, function(child) {
187
+ var _child_type;
188
+ if (!/* @__PURE__ */ import_react.default.isValidElement(child)) {
189
+ result.push(child);
190
+ return;
191
+ }
192
+ var displayName = ((_child_type = child.type) === null || _child_type === void 0 ? void 0 : _child_type.displayName) || "";
193
+ var props = child.props;
194
+ if (isPortalLike(displayName)) {
195
+ var inner = transformChildren(menu, map, props.children, false, triggerBoundaryHandlers, radioContext);
196
+ import_react.default.Children.forEach(inner, function(c) {
197
+ return result.push(c);
198
+ });
199
+ return;
200
+ }
201
+ if (displayName.includes("ScrollView")) {
202
+ var inner1 = transformChildren(menu, map, props.children, false, triggerBoundaryHandlers, radioContext);
203
+ import_react.default.Children.forEach(inner1, function(c) {
204
+ return result.push(c);
205
+ });
206
+ return;
207
+ }
208
+ if (isTriggerLike(displayName)) {
209
+ var debugName = getTriggerDebugName(MenuType, props);
210
+ var claim = function() {
211
+ return triggerBoundaryHandlers === null || triggerBoundaryHandlers === void 0 ? void 0 : triggerBoundaryHandlers.claim(debugName);
212
+ };
213
+ var release = function() {
214
+ return triggerBoundaryHandlers === null || triggerBoundaryHandlers === void 0 ? void 0 : triggerBoundaryHandlers.release(debugName);
215
+ };
216
+ var { children: triggerChildren, ...triggerProps } = props;
217
+ result.push(/* @__PURE__ */ import_react.default.createElement(menu.Trigger, {
218
+ ...triggerProps,
219
+ key: child.key,
220
+ onTouchStart: composeHandlers(claim, props.onTouchStart),
221
+ onTouchEnd: composeHandlers(props.onTouchEnd, release),
222
+ onTouchCancel: composeHandlers(props.onTouchCancel, release),
223
+ onResponderGrant: composeHandlers(claim, props.onResponderGrant),
224
+ onResponderRelease: composeHandlers(props.onResponderRelease, release),
225
+ onResponderTerminate: composeHandlers(props.onResponderTerminate, release),
226
+ onPressIn: composeHandlers(claim, props.onPressIn),
227
+ onPressOut: composeHandlers(props.onPressOut, release)
228
+ }, triggerChildren));
229
+ return;
230
+ }
231
+ if (displayName.includes("RadioGroup")) {
232
+ var { value: rgValue, onValueChange: rgOnValueChange, children: rgChildren, ...rest } = props;
233
+ result.push(/* @__PURE__ */ import_react.default.createElement(menu.Group, {
234
+ ...rest,
235
+ key: child.key
236
+ }, transformChildren(menu, map, rgChildren, false, triggerBoundaryHandlers, {
237
+ value: rgValue,
238
+ onValueChange: rgOnValueChange
239
+ })));
240
+ return;
241
+ }
242
+ if (displayName.includes("RadioItem") && radioContext) {
243
+ var { value: itemValue, children: rChildren, ...rest1 } = props;
244
+ var cleanChildren = import_react.default.Children.map(rChildren, function(c) {
245
+ var _c_type;
246
+ if (!/* @__PURE__ */ import_react.default.isValidElement(c)) return c;
247
+ var dn = ((_c_type = c.type) === null || _c_type === void 0 ? void 0 : _c_type.displayName) || "";
248
+ if (dn.includes("ItemIndicator")) return null;
249
+ return c;
250
+ });
251
+ result.push(/* @__PURE__ */ import_react.default.createElement(menu.CheckboxItem, {
252
+ ...rest1,
253
+ key: child.key,
254
+ value: itemValue === radioContext.value ? "on" : "off",
255
+ onValueChange: function() {
256
+ var _radioContext_onValueChange;
257
+ return (_radioContext_onValueChange = radioContext.onValueChange) === null || _radioContext_onValueChange === void 0 ? void 0 : _radioContext_onValueChange.call(radioContext, itemValue);
258
+ }
259
+ }, transformChildren(menu, map, cleanChildren, false, triggerBoundaryHandlers, radioContext)));
260
+ return;
261
+ }
262
+ var componentType = getComponentType(displayName);
263
+ if (componentType === "CheckboxItem") {
264
+ var { checked, onCheckedChange, value, onValueChange, children: cbChildren, ...rest2 } = props;
265
+ var finalValue = value !== null && value !== void 0 ? value : checked ? "on" : "off";
266
+ var finalOnValueChange = onValueChange !== null && onValueChange !== void 0 ? onValueChange : onCheckedChange && function(v) {
267
+ return onCheckedChange(v === "on");
268
+ };
269
+ var cleanChildren1 = import_react.default.Children.map(cbChildren, function(c) {
270
+ var _c_type;
271
+ if (!/* @__PURE__ */ import_react.default.isValidElement(c)) return c;
272
+ var dn = ((_c_type = c.type) === null || _c_type === void 0 ? void 0 : _c_type.displayName) || "";
273
+ if (dn.includes("ItemIndicator")) return null;
274
+ return c;
275
+ });
276
+ result.push(/* @__PURE__ */ import_react.default.createElement(menu.CheckboxItem, {
277
+ ...rest2,
278
+ key: child.key,
279
+ value: finalValue,
280
+ onValueChange: finalOnValueChange
281
+ }, transformChildren(menu, map, cleanChildren1, false, triggerBoundaryHandlers, radioContext)));
282
+ return;
283
+ }
284
+ if (componentType) {
285
+ var { children: childChildren, ...restProps } = props;
286
+ var AdapterComponent = map[componentType];
287
+ var isContainer = CONTAINER_TYPES.includes(componentType);
288
+ var shouldReverse = componentType === "Content" || componentType === "SubContent";
289
+ result.push(/* @__PURE__ */ import_react.default.createElement(AdapterComponent, {
290
+ ...restProps,
291
+ key: child.key
292
+ }, isContainer ? transformChildren(menu, map, childChildren, shouldReverse, triggerBoundaryHandlers, radioContext) : childChildren));
293
+ return;
294
+ }
295
+ if (isItemLike(props, displayName)) {
296
+ var { children: itemChildren, ...itemProps } = props;
297
+ result.push(/* @__PURE__ */ import_react.default.createElement(menu.Item, {
298
+ ...itemProps,
299
+ key: child.key
300
+ }, transformChildren(menu, map, itemChildren, false, triggerBoundaryHandlers, radioContext)));
301
+ return;
302
+ }
303
+ result.push(child);
304
+ });
305
+ if (import_web.isIos && shouldReverseOnIos && !isContextMenu) {
306
+ result.reverse();
307
+ }
308
+ return result;
309
+ }
310
+ function lazyAdapter(name, displayName) {
311
+ var Comp = function(props) {
312
+ var z = resolve();
313
+ if (!z) return null;
314
+ return /* @__PURE__ */ import_react.default.createElement(z.menu[name], props);
315
+ };
316
+ Comp.displayName = displayName || name;
317
+ return Comp;
318
+ }
319
+ var Trigger = lazyAdapter("Trigger");
320
+ var Content = lazyAdapter("Content");
321
+ var Item = lazyAdapter("Item");
322
+ var ItemTitle = lazyAdapter("ItemTitle");
323
+ var ItemSubtitle = lazyAdapter("ItemSubtitle");
324
+ var ItemIcon = lazyAdapter("ItemIcon");
325
+ var ItemImage = lazyAdapter("ItemImage");
326
+ var ItemIndicator = lazyAdapter("ItemIndicator");
327
+ var Group = lazyAdapter("Group");
328
+ var Label = lazyAdapter("Label");
329
+ var Separator = lazyAdapter("Separator");
330
+ var Sub = lazyAdapter("Sub");
331
+ var SubTrigger = lazyAdapter("SubTrigger");
332
+ var SubContent = lazyAdapter("SubContent");
333
+ var Portal = function(param) {
334
+ var { children } = param;
335
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children });
336
+ };
337
+ Portal.displayName = "Portal";
338
+ var Arrow = function() {
339
+ return null;
340
+ };
341
+ Arrow.displayName = "Arrow";
342
+ var RadioGroup = function(param) {
343
+ var { children } = param;
344
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children });
345
+ };
346
+ RadioGroup.displayName = `${MenuType}RadioGroup`;
347
+ var RadioItem = function(param) {
348
+ var { children } = param;
349
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children });
350
+ };
351
+ RadioItem.displayName = `${MenuType}RadioItem`;
352
+ var CheckboxItem = function() {
353
+ return null;
354
+ };
355
+ CheckboxItem.displayName = "CheckboxItem";
356
+ var Preview = isContextMenu ? lazyAdapter("Preview", `${MenuType}Preview`) : function() {
357
+ return null;
358
+ };
359
+ Preview.displayName = `${MenuType}Preview`;
360
+ var Auxiliary = isContextMenu ? lazyAdapter("Auxiliary", `${MenuType}Auxiliary`) : function() {
361
+ return null;
362
+ };
363
+ Auxiliary.displayName = `${MenuType}Auxiliary`;
364
+ var Menu = function(param) {
365
+ var { children, onOpenChange, onOpenWillChange } = param;
366
+ var triggerOwnerRef = import_react.default.useRef(null);
367
+ var claimTriggerBoundary = import_react.default.useCallback(function(debugName) {
368
+ if (triggerOwnerRef.current) {
369
+ (0, import_native.unstable_releaseExternalPressOwnership)(triggerOwnerRef.current, debugName);
370
+ }
371
+ triggerOwnerRef.current = (0, import_native.unstable_claimExternalPressOwnership)(debugName);
372
+ }, []);
373
+ var releaseTriggerBoundary = import_react.default.useCallback(function(debugName) {
374
+ if (!triggerOwnerRef.current) return;
375
+ (0, import_native.unstable_releaseExternalPressOwnership)(triggerOwnerRef.current, debugName);
376
+ triggerOwnerRef.current = null;
377
+ }, []);
378
+ import_react.default.useEffect(function() {
379
+ return releaseTriggerBoundary;
380
+ }, [releaseTriggerBoundary]);
381
+ var z = resolve();
382
+ if (!z) return null;
383
+ var handleOpenChange = import_react.default.useCallback(function(isOpen) {
384
+ if (!isOpen) {
385
+ releaseTriggerBoundary();
386
+ }
387
+ onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(isOpen);
388
+ }, [onOpenChange, releaseTriggerBoundary]);
389
+ var handleOpenWillChange = import_react.default.useCallback(function(willOpen) {
390
+ if (!willOpen) {
391
+ releaseTriggerBoundary();
392
+ }
393
+ onOpenWillChange === null || onOpenWillChange === void 0 ? void 0 : onOpenWillChange(willOpen);
394
+ }, [onOpenWillChange, releaseTriggerBoundary]);
395
+ var rootProps = { onOpenChange: handleOpenChange };
396
+ if (isContextMenu && onOpenWillChange) {
397
+ rootProps.onOpenWillChange = handleOpenWillChange;
398
+ }
399
+ var content = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(z.menu.Root, {
400
+ ...rootProps,
401
+ children: transformChildren(z.menu, z.componentMap, children, false, {
402
+ claim: claimTriggerBoundary,
403
+ release: releaseTriggerBoundary
404
+ })
405
+ });
406
+ if (isAndroid) {
407
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_native.NativeMenuContext.Provider, {
408
+ value: true,
409
+ children: content
410
+ });
411
+ }
412
+ return content;
413
+ };
414
+ Menu.displayName = MenuType;
415
+ return { Menu: (0, import_web.withStaticProperties)(Menu, {
416
+ Trigger,
417
+ Content,
418
+ Item,
419
+ ItemTitle,
420
+ ItemSubtitle,
421
+ ItemIcon,
422
+ ItemImage,
423
+ ItemIndicator,
424
+ Group,
425
+ Label,
426
+ Separator,
427
+ Sub,
428
+ SubTrigger,
429
+ SubContent,
430
+ CheckboxItem,
431
+ Portal,
432
+ RadioGroup,
433
+ RadioItem,
434
+ Arrow,
435
+ Preview,
436
+ Auxiliary
437
+ }) };
438
+ };